Este documento describe diferentes metodologías para el desarrollo de software, clasificándolas en estructuradas, orientadas a objetos y para sistemas en tiempo real. Explica que las metodologías buscan especificar cómo dividir un proyecto en etapas, las tareas de cada etapa, los resultados esperados y las herramientas a utilizar para maximizar las posibilidades de éxito. También presenta una visión histórica del desarrollo de las metodologías desde la década de 1970 hasta la actualidad.
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
Analisisdesistemasnucleo2 110604161723-phpapp01
1. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
1. Introducción y Conceptos generales
2. Visión histórica del desarrollo de metodologías
3. Características principales de las metodologías
4. Clasificación de las metodologías
5. Metodologías estructuradas
6. Metodologías orientadas a objetos
7. Metodologías para desarrollo de sistemas de tiempo real
2. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
1. Introducción y Conceptos generales
Procedimientos
FrameWork
Metodología Técnicas
(Marco de
Trabajo) Herramientas
Soporte Documental
3. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Qué se busca especificar con las metodologías?
1. Cómo dividir el proyecto en etapas
2. Qué tareas hay que realizar en cada etapa
3. Qué salidas se producen y cuándo
4. Qué restricciones se aplican
5. Qué herramientas se utilizan
6. Cómo se gestiona y controla un proyecto
Todo con el fin de incrementar al máximo las
posibilidades de éxito del proyecto!
4. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Generaciones de las metodologías
1. Desarrollo convencional (Sin metodología)
• Los resultados finales son impredecibles
• No hay forma de controlar lo que está sucediendo en el Proyecto
• Los cambios organizativos afectan negativamente el desarrollo
2. Desarrollo Estructurado
• Se basa en la estructuración y descomposición funcional de
problemas en unidades más pequeñas interrelacionadas entre sí.
• Representa los procesos, flujos y estructuras de datos, de una
manera jerárquica
• Simplifica el sistema como entradasprocesosalidas
3. Desarrollo Orientado a Objetos
• Su esencia es la identificación y organización de conceptos del
dominio de la aplicación
• Incorpora reutilización de componentes
• Elimina fronteras entre fases debido a su naturaleza iterativa
5. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Visión histórica del desarrollo de las metodologías
1970s
• Merise 1976. Ministerio de industria francés
• Analisis Estructurado Yourdon / DeMarco 1978. Edward Yourdon
– Tom DeMarco
6. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Visión histórica del desarrollo de las metodologías
1980s
• SSADM 1981. Gobierno británico
• Structured Analysis and Design Technique (SADT) 1980
• Análisis y Diseño estructurado para sistemas de tiempo real de
WARD y MELLOR 1985
• Análisis y Diseño estructurado para sistemas de tiempo real de
HATLEY y PIRHBAY 1987
• METRICA. España 1989
7. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Visión histórica del desarrollo de las metodologías
1990s
• Rapid application development (RAD) 1991.
• Programación Orientada a Objetos
• Dynamic System Development Method 1995 UK
• Scrum
• Rational Unified Process (RUP) 1999
8. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Visión histórica del desarrollo de las metodologías
“Nuestros días”
• Extreme Programming(XP) desde 1999
• Enterprise Unified Process (EUP) extensiones RUP desde 2002
• Constructionist design methodology (CDM) desde 2004
• Agile Unified Process (AUP) desde 2005 por Scott Ambler
9. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Estructuradas
• Orientadas a procesos
• Orientadas a Datos
• Mixtas
No estructuradas
• Orientadas a objetos
• Sistemas en tiempo real
10. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Metodologías orientadas a procesos
La ingeniería del software se basa en el modelo básico de
entrada/proceso/salida de un sistema.
Está compuesta por:
• Diagrama de flujo de datos (DFD).
• Diccionario de datos
• Especificaciones de proceso.
Ejemplos: metodologías de DeMarco, Gene y Sarson, Yourdon
11. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Metodologías orientadas a datos
Son metodologías basadas en la información. Primero se definen las
estructuras de datos y, a partir de éstos, se derivan los componentes
procedimentales.
Ejemplos: metodologías de Jackson, Warnier, WarnierOrr.
12. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Metodologías orientadas a objeto
La orientación a objetos unifica procesos y datos encapsulándolos en el
concepto de objetos.
Tiene dos enfoques distintos:
Revolucionario puro u ortodoxo.
Ejemplos: metodologías OOD de Booch, CRC/RDD de WirfsBrock.
Sintetista o evolutivo. Toman como base los sistemas estructurados y
conforman elementos de uno y otro tipo.
Ejemplos: metodología OMT de Rumbourgh.
13. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Sistemas de tiempo real
Procesan información orientada al control más que a los datos.
Se caracterizan por concurrencia, priorización de procesos, comunicación
entre tareas y acceso simultáneo a datos comunes.
14. NUCLEO 2: METODOLOGÍAS DE
DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Metodologías Ágiles Metodologías Tradicionales
Basadas en creatividad provenientes de Basadas en normas provenientes de
prácticas de producción de código estándares seguidos por el entorno de
desarrollo
Hechas para aceptar cambios Resistencia a los cambios
Impuestas internamente Impuestas externamente
Proceso menos controlado Proceso controlado por multiples normas
No existe contrato tradicional o es flexible Existe contrato prefijado
El cliente es parte del equipo de desarrollo El cliente se reune con el equipo
Grupos pequeños (<10) en el mismo sitio Grupos grandes y a veces distribuidos
Pocos Artefactos Mas artefactos
Pocos roles Más roles
Menos énfasis en la arquitectura de La arquitectura es escencial y se expresa
software por medio de modelos