Click here to load reader
Upload
carsanta
View
2.085
Download
3
Embed Size (px)
DESCRIPTION
Metodologías de desarrollo de software
Citation preview
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
5. Metodologías estructuradas
4. Clasificación de las metodologías
6. Metodologías orientadas a objetos
7. Metodologías para desarrollo de sistemas de tiempo real
NUCLEO 2: METODOLOGÍAS DE DESARROLLO DE SOFTWARE
1. Introducción y Conceptos generales
MetodologíaFrameWork
(Marco de Trabajo)
Procedimientos
Técnicas
Herramientas
Soporte Documental
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!
NUCLEO 2: METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Generaciones de las metodologías
1. Desarrollo convencional (Sin metodología)
2. Desarrollo Estructurado
3. Desarrollo Orientado a Objetos
Los resultados finales son impredecibles
No hay forma de controlar lo que está sucediendo en el Proyecto
Los cambios organizativos afectan negativamente el desarrolloSe 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 entradasprocesosalidasSu esencia es la identificación y organización de conceptos del
dominio de la aplicaciónIncorpora reutilización de componentesElimina fronteras entre fases debido a su naturaleza iterativa
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
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
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
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
NUCLEO 2: METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Estructuradas
No estructuradas
Orientadas a procesos
Orientadas a Datos
Mixtas
Orientadas a objetos
Sistemas en tiempo real
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
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.
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.
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.
NUCLEO 2: METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Clasificación de las metodologías
Metodologías Ágiles Metodologías TradicionalesBasadas en creatividad provenientes de prácticas de producción de código
Basadas en normas provenientes de 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 software
La arquitectura es escencial y se expresa por medio de modelos