Ingeniería del Software – 2009/2010 2
Índice
3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma
metodológica.
2
Ingeniería del Software – 2009/2010 3
Índice
3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma
metodológica.
3
Ingeniería del Software – 2009/2010
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 – 2009/2010
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 – 2009/2010 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.
Proceso
SW
Notación
Herramientas
Artefactos1
Roles
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
Metodologías estructuradas
18
Yourdon: DFDs
Diagrama de contexto DFD de nivel medio
Ingeniería del Software – 2009/2010
Metodologías estructuradas
19
Gane y Sarson
DFD de nivel 0 DFD de nivel medio
Ingeniería del Software – 2009/2010
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 – 2009/2010
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 21
Ingeniería del Software – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
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 – 2009/2010
Metodologías orientadas a objeto
El Proceso Unificado de Desarrollo
Fusió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 – 2009/2010
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 – 2009/2010
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 – 2009/2010 30
Índice
3.1. ¿Qué es una metodología?.
3.2. Implantación de una plataforma
metodológica.
30
Ingeniería del Software – 2009/2010 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 – 2009/2010 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 – 2009/2010 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ÓN
SOPORTE Y
MEJORA
Ingeniería del Software – 2009/2010 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 – 2009/2010 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 – 2009/2010 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 – 2009/2010 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 – 2009/2010 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 – 2009/2010 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 – 2009/2010 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.
Top Related