Metodologias
Ingeniería del Software de Gestión
Tema 3
Metodologías de Desarrollo de
Software
Félix Óscar García Rubio
Crescencio Bravo Santos
Índice
1.
2.
3.
4.
5.
6.
7.
8.
Definiciones
Objetivos
Conceptos Generales
Metodología vs Ciclo de Vida
Evolución Histórica de las Metodologías
Impacto de las Metodologías en el Entorno de Desarrollo
Clasificación de las Metodologías
Ejemplosde Metodologías de Desarrollo
Metodologías de Desarrollo de Software
2
1
Definiciones
• Metodología de Desarrollo:
1) Conjunto de pasos y procedimientos que deben seguirse
para el desarrollo de software.
2) Conjunto de filosofías, fases, procedimientos, reglas,
técnicas, herramientas, documentación y aspectos de
formación para los desarrolladores de SI [Maddison,
1983]
3) Conjunto deprocedimientos, técnicas, herramientas y
soporte documental que ayuda a los desarrolladores a
realizar nuevo software
Metodologías de Desarrollo de Software
3
Objetivos
• Un metodología de desarrollo por lo tanto representa el
camino a seguir para desarrollar software de manera
sistemática.
• Objetivos:
– Mejores Aplicaciones
– Un mejor Proceso de Desarrollo que identifique salidas (o
productosintermedios) de cada fase de forma que se pueda
planificar y controlar el proyecto
– Un Proceso Estándar en la organización
Metodologías de Desarrollo de Software
4
2
Conceptos Generales (i)
• Actividades y Tareas
– El Proceso se descompone hasta el nivel de Actividades y
Tareas (actividades elementales)
• Procedimientos
– Define la forma de llevar a cabo las Tareas
– Vínculo de Comunicaciónentre Usuarios y Desarrolladores
• Productos
– Obtenidos como resultado de seguir un Procedimiento
– Pueden ser Intermedios o Finales
Metodologías de Desarrollo de Software
5
Conceptos Generales (ii)
• Técnicas
– Se utilizan para aplicar un Procedimiento
– Pueden ser Gráficas y/o Textuales
– Determinan el formato de los Productos resultantes en cada
Tarea
• Herramientas Software
– Proporcionansoporte a la aplicación de las Técnicas
Metodologías de Desarrollo de Software
6
3
Metodología vs Ciclo de Vida
• Diferencias entre Metodología, Ciclo de Vida y Método
– Una Metodología puede seguir uno o varios modelos de
Ciclo de Vida
– Un Ciclo de Vida indica qué obtener, pero no cómo
– Una Metodología es un concepto más amplio que Método
Se puede considerar como un conjunto de métodos. Una metodología puede englobar un conjunto de métodos (de
análisis, diseño, programación, etc.) para abarcar el ciclo de vida
completo
Metodologías de Desarrollo de Software
7
Evolución Histórica Metodologías (i)
1. Desarrollo Convencional:
Años 50
Desarrollo artesanal y ausencia de Metodología
Enfocado en la Tarea de Programación
Inconvenientes:
/ Los resultados finales sonimpredecibles
/ No hay forma de controlar lo que está sucediendo en el
Proyecto
/ Los cambios organizativos afectan negativamente al proceso
de desarrollo
Metodologías de Desarrollo de Software
8
4
Evolución Histórica Metodologías (ii)
2. Desarrollo Estructurado:
Años 60 (entorno académico), mediados 70 (industria)
Evolución:
i.
Programación Estructurada:
9 Facilitar comprensión de Programas
9Normas para la aplicación de estructuras de datos y de control
ii. Diseño Estructurado
9 Mayor nivel abstracción (independencia del lenguaje
programación)
9 Elemento básico de diseño: Módulo
9 Modularidad. Medidas de Calidad de Programas
Metodologías de Desarrollo de Software
9
Evolución Histórica Metodologías (iii)
2. Desarrollo Estructurado:
Evolución:
iii. Análisis Estructurado
9Previamente: Descripción Narrativa Requisitos ÆEspecificaciones:
Monolíticas
Redundantes
Ambiguas
Imposibles de Mantener
9 Se
;
;
;
obtienen Especificaciones Funcionales:
Gráficas
Particionadas
Mínimamente redundantes
Metodologías de Desarrollo de Software
10
5
Evolución Histórica Metodologías (iv)
3. Desarrollo Orientado a Objetos:
Años 80
Trata Procesos y Datos de forma conjunta.
...
Regístrate para leer el documento completo.