[itis itsit]tema iii metodolog as de desarrollo · software de manera sistemática, proporcionando...
TRANSCRIPT
TEMA 3:METODOLOGÍAS DE DESARROLLO
Profesora: Elisa Herrmann
Ingeniería del Software – 2010/2011 2
Índice3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma metodológica.
2
Ingeniería del Software – 2010/2011 3
Índice3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma metodológica.
3
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?
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
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.
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
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
Ingeniería del Software – 2010/2011 9
Proceso de DesarrolloDel
Software
Requisitos nuevos o modificados
Sistema nuevo o modificado
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
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
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
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
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
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
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
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
Ingeniería del Software – 2010/2011
Metodologías estructuradas
18
Yourdon: DFDs
Diagrama de contexto DFD de nivel medio
Ingeniería del Software – 2010/2011
Metodologías estructuradas
19
Gane y Sarson
DFD de nivel 0 DFD de nivel medio
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
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
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
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
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
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
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
Ingeniería del Software – 2010/2011
Metodologías orientadas a objeto
27
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
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
Ingeniería del Software – 2010/2011 30
Índice3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma metodológica.
30
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 .
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.
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
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.
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.
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.
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.
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.
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.
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.
TEMA 3:METODOLOGÍAS DE DESARROLLO
Profesora: Elisa Herrmann