14

Click here to load reader

Analisis de sistemas: nucleo 2

Embed Size (px)

DESCRIPTION

Metodologías de desarrollo de software

Citation preview

Page 1: Analisis de sistemas: nucleo 2

  

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

Page 2: Analisis de sistemas: nucleo 2

  

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

Page 3: Analisis de sistemas: nucleo 2

  

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!

Page 4: Analisis de sistemas: nucleo 2

  

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 entradas­proceso­salidasSu 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

Page 5: Analisis de sistemas: nucleo 2

  

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

Page 6: Analisis de sistemas: nucleo 2

  

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

Page 7: Analisis de sistemas: nucleo 2

  

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

Page 8: Analisis de sistemas: nucleo 2

  

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

Page 9: Analisis de sistemas: nucleo 2

  

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

Page 10: Analisis de sistemas: nucleo 2

  

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

Page 11: Analisis de sistemas: nucleo 2

  

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, Warnier­Orr.

Page 12: Analisis de sistemas: nucleo 2

  

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 Wirfs­Brock.

Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y otro tipo.

Ejemplos: metodología OMT de Rumbourgh.

Page 13: Analisis de sistemas: nucleo 2

  

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.

Page 14: Analisis de sistemas: nucleo 2

  

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