[itis itsit]tema iii metodolog as de desarrollo · software de manera sistemática, proporcionando...

41
TEMA 3: METODOLOGÍAS DE DESARROLLO Profesora: Elisa Herrmann

Upload: others

Post on 22-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

TEMA 3:METODOLOGÍAS DE DESARROLLO

Profesora: Elisa Herrmann

Page 2: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 2

Índice3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma metodológica.

2

Page 3: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3

Índice3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma metodológica.

3

Page 4: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

� Es un conjunto de métodos , técnicas , herramientas y un soporte documental que ayuda a desarrollar software.

� Es decir:

� Una metodología establece un camino para desarrollar software de manera sistemática, proporcionando un estándar de trabajo a la organización.

� Debería definir con precisión los artefactos, roles y actividades involucrados, junto con prácticas y técnicas recomendadas, guías de adaptación de la metodología al proyecto, guías para uso de herramientas de apoyo, etc.

� Habitualmente se utiliza el término “método” para referirse a técnicas, notaciones y guías asociadas, que son aplicables a una (o algunas) actividades del proceso de desarrollo (métodos de análisis y/o diseño).

44

¿Qué es una metodología?

Page 5: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodología vs ciclo de vida

� Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo.

� La metodología indica cómo hay que obtener los distintos productos parciales y finales.

5

Page 6: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 66

¿Qué especifica una metodología?� En un proyecto de desarrollo de software la metodología

define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo.

ProcesoSW

Notación

Herramientas

Artefactos 1Roles

Actividades

Personas

1 Un artefacto es una pieza de información que es producida, modificada o usada por el proceso, define un área de responsabilidad para un rol y está sujeta a control de versiones. Un artefacto puede ser un modelo, un elemento de modelo o un documento.

Page 7: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

� No existe una metodología de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable.

� La metodología también está influenciada por consideraciones de tamaño y estructura de la organización.

7

Elección de una metodología

Page 8: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

� La organización de desarrollo tiene dos opciones:�Crear y desarrollar la metodología apropiada

(métodos de gestión, técnicas de desarrollo y soporte automatizado).

�Analizar y evaluar las metodologías existentes y adoptar la que más se ajuste a sus necesidades.

8

Elección de una metodología

Page 9: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 9

Proceso de DesarrolloDel

Software

Requisitos nuevos o modificados

Sistema nuevo o modificado

Page 10: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías de desarrollo

� Evolución histórica de las metodologías de desarrollo:

�Desarrollo convencional

�Desarrollo estructurado�Desarrollo orientado a objetos�Sistemas de tiempo real

10

Page 11: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías de desarrollo

� Evolución histórica de las metodologías de desarrollo:�Desarrollo convencional

�Desarrollo estructurado�Desarrollo orientado a objetos�Sistemas de tiempo real

Ingeniería del Software - 2008/2009 11

Page 12: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Comenzaron a desarrollarse a fines de los 70’s con la Programación Estructurada, luego a mediados de los 70’s aparecieron técnicas para el Diseño (por ejemplo: el diagrama de Estructura) primero y posteriormente para el Análisis (por ejemplo: Diagramas de Flujo de Datos).

� Ejemplos de metodologías estructuradas de ámbito gubernamental: MERISE (Francia), MÉTRICA(España), SSADM (Reino Unido).

� Ejemplos de propuestas de métodos estructurados en el ámbito académico: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e InformationEngineering.

12

Page 13: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

� Modelar el sistema en base a procesos, flujos y estructura de los datos.

� Se pasa de una visión más general a una más particular.

Idea: Salida = Función (Entradas)13

Metodologías estructuradas

Page 14: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Orientada a Datos:�Estructuras de datos jerárquicas.

�Estructuras de datos no jerárquicas.

� Orientada a procesos.� Mixtas

14

Page 15: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Orientadas a estructuras de datos jerárquicas:�Definición de las estructuras de datos de

entrada y salida.

�Estructura jerárquica procedimental para garantizar las estructuras de datos

�Warnier (1974) y Jackson (1975)

15

Page 16: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Orientadas a estructuras de datos no jerárquicas:�Los datos son el corazón del S.I. El modelo

esta formado por el conjunto de entidades básicas y las interrelaciones entre ellas.

�MARTIN y FINKELSTEIN�Etapas

� Planificación� Análisis� Diseño� Construcción

16

Page 17: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Orientadas a procesos:� Diagramas de Flujo de Datos (DFD)� Diccionario de Datos (DD)� Especificación de los procesos

�Descomposición funcional: especificando el software que debe mapear las entradas en salidas, desde “arriba” hacia “abajo”dividiendo cada función en sub-funciones.

�De Marco (1979), Gane y Sarson (1982) y Yourdon y Constantine (1979)

17

Page 18: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

18

Yourdon: DFDs

Diagrama de contexto DFD de nivel medio

Page 19: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

19

Gane y Sarson

DFD de nivel 0 DFD de nivel medio

Page 20: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías estructuradas

� Metodología MERISE, 1978�Mayor cobertura del ciclo de vida�Propone una serie de fases diferenciadas

� Metodología SSADM, 1981�Proporciona un conjunto de procedimientos

para realizar análisis y diseño

� Metodología METRICA, 1989� Incorpora una etapa de planificación de

sistemas.20

Page 21: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías de desarrollo

� Evolución histórica de las metodologías de desarrollo:�Desarrollo convencional

�Desarrollo estructurado�Desarrollo orientado a objetos�Sistemas de tiempo real

21

Page 22: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto� Su historia va unida a la evolución de los lenguajes de

programación orientada a objeto, los más representativos: a fines de los 60’s SIMULA, a fines de los 70’s Smalltalk-80, la primera versión de C++ por Bjarne Stroustrup en 1981 y actualmente Java o C#. A fines de los 80’s comenzaron a consolidarse algunos métodos Orientadas a Objeto

� En 1995 aparece el Método Unificado, que posteriormente se reorienta para dar lugar al Unified Modeling Language (UML), la notación OO más popular en la actualidad.

� Algunos métodos OO con notaciones predecesoras de UML: OOAD (Booch), OOSE (Jacobson), Coad & Yourdon, Shaler & Mellor y OMT (Rumbaugh)

� Algunas metodologías orientadas a objetos basadas en UML: Rational Unified .Process (RUP), OPEN, MÉTRICA 3.

22

Page 23: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� La esencia del desarrollo orientado a objetos es la identificación y organización de conceptos del dominio de la aplicación

� Es decir:� Centrado en los objetos del dominio del problema y

sus relaciones

23

Page 24: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� Análisis Orientado a Objeto : Identificar y definir los objetos (conceptos) dentro del dominio del problema.

� Diseño Orientado a Objetos: Definir los objetos lógicos de Software (con atributos y métodos) que serán programados el un lenguaje de programación idóneo.

� Diferencia con el modelo estructurado:El análisis y diseño estructurado son orientado a los procesos.

24

Page 25: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� UML (Booch et al., 1997)

�Lenguaje estándar de modelado propuesto por OMG

�Describe la semántica esencial de los diagramas y símbolos

�Extensible: Perfiles UML�NO representa un proceso de desarrollo

25

Page 26: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� El Proceso Unificado de DesarrolloFusión de:�OOSE (Object Oriented Software

Engineering), Jacobson et al. (1992)�OOD (Object Oriented Design),Booch (1991)

�OMT (Object Modeling Technique), centrado en el análisis, Rumbaugh, J.

26

Page 27: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

27

Page 28: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� Los flujos de trabajo se dividen en actividades y tareas

� Los casos de uso dirigen el proceso de desarrollo

� Así, los requisitos de usuarios se van transformando en productos software.

� Los productos (artefactos) más representativos son los modelos.

28

Page 29: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011

Metodologías orientadas a objeto

� MÉTRICA 3�Metodología de Planificación, Desarrollo y

Mantenimiento de sistemas de información

�Promovida por el Ministerio de Administraciones Públicas

�Enfoque estructurado y orientado a objetos.

29

Page 30: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 30

Índice3.1. ¿Qué es una metodología?.

3.2. Implantación de una plataforma metodológica.

30

Page 31: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3131

¿Qué es una plataforma metodológica?

� Es un conjunto formado por una o más metodologías. Lo normal es seguir sólo una .

� Y una o más herramientas que ayudan a la utilización automatizada de estas metodologías. Lo normal es utilizar varias .

Page 32: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3232

¿Qué factores se deben considerar a la hora de implementar una plataforma metodológica?

� Todas las personas relacionadas con el uso de la plataforma tienen que recibir una formación adecuada.

� Primero se debe aplicar a proyectos piloto.

� Es importante contar con la ayuda de un experto, interno o externo.

� Se debe empezar a aplicar en proyectos nuevos.

Page 33: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3333

Método de ImplantaciónINICIAR EL PY DE

IMPLANTACIÓN

REALIZAR LA

EVALUACIÓN

NORMALIZACIÓN Y

ADAPTACIÓN

PLAN DE FORMACIÓN

PROBAR EN

PROYECTOS PILOTO

INICIAR LA

IMPLANTACIÓNSOPORTE Y

MEJORA

Page 34: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3434

Iniciar el PY de implantación� Definir el equipo de trabajo para la implantación:

� Responsables del proyecto: jefe de departamento, jefe de proyecto.

� Consultores externos que ayudan a la implantación.� Integrantes del equipo de desarrollo.� Integrantes del equipo técnico.

� Decidir el alcance que tendrá la metodología:� Decidir qué procesos del ciclo de vida del Sw cubrirá la

metodología que se pretende implantar.

� Hacer la planificación:� Establecer tareas, recursos y tiempos necesarios.� Marcar hitos concretos de revisión y toma de decisiones.

Page 35: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3535

Realizar la evaluación

� Identificar la metodología más adecuada para cada proceso. Nos tenemos que basar en la experiencia pasada.

� Podemos elegir entre metodologías públicas o privadas que sean fáciles de aprender.

� Buscar la mejores herramientas que soporten la metodología.

Page 36: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3636

Plan de normalización y adaptación� Adaptar la metodología a nuestra empresa

teniendo en cuenta:� Factores de la organización (grande, pequeña…)� Factores técnicos. (Instalación, Hw…)� Factores profesionales. (Formación, experiencia…)� Objetivos de la empresa.

� Adaptar la metodología a los diferentes proyectos. Se tienen que normalizar:� Procesos.� Responsabilidades.� Documentos a generar y su formato.� Comunicaciones entre el equipo.

Page 37: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3737

Plan de formación

� Formación en las técnicas: Conocimientos específicos de cómo realizar las tareas que componen la metodología.

� Formación en la guía de uso: Dar a conocer todas las actividades que se tienen que llevar a cabo.

� Formación en las herramientas: Imprescindible. Debe ser impartida por profesionales.

Page 38: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3838

Iniciar el proyecto piloto

� Seleccionar el proyecto piloto: Se considera proyecto piloto aquel que aporta poco riesgo a la empresa (ni muy grande ni muy pequeño).

� Se utiliza este proyecto piloto para evaluar y modificar la metodología y adaptarla mejor a las necesidades de la empresa.

� Una vez acabado con el proyecto piloto debemos recolectar los resultados y conclusiones para una implantación futura.

Page 39: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 3939

Realizar la migración

� Diagnosticar la situación de los sistemas existentes: Hacer un inventario de los sistemas actuales de la empresa y un estudio de cada uno de ellos.

� Planificar la migración hacia la nueva plataforma.

Page 40: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

Ingeniería del Software – 2010/2011 4040

Iniciar el proceso de soporte y mejora

� Ya aplicamos la metodología a proyectos reales.

� Los diferentes componentes de la plataforma se deben refinar y ajustar: es habitual al principio.

� Tener en cuenta que hay elementos de la plataforma en constante evolución. Por ejemplo las herramientas. El equipo de trabajo necesita una formación continuada en las nuevas versiones.

Page 41: [ITIS ITSIT]TEMA III Metodolog as de desarrollo · software de manera sistemática, proporcionando un estándar de trabajo a la organización. Debería definir con precisión los

TEMA 3:METODOLOGÍAS DE DESARROLLO

Profesora: Elisa Herrmann