Sei sulla pagina 1di 32

Ingeniera de Software: Metodologas

Agustn J. Gonzlez ElO329: Diseo y Programacin Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml
http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Algunas Metodologas ...

Personal Software Process y Team software Process XP (Programacin Extrema) RUP (Rational Unified Process) V-model

Proceso de Desarrollo Iterativo e Incremental

Elo329: Diseo y Programacin Orientados a Objetos

Recordar el proceso de desarrollo de software completo

Sueo

Investigacin

Desarrollo

Lanzamiento Soporte
Tiempo

Parte a ser considerada en adelante

Elo329: Diseo y Programacin Orientados a Objetos

Desarrollo Iterativo e Incremental

Esta idea es la base de varios mtodos de desarrollo de software como RUP (Rational Unified Proecess), Extreme Programming y otros mtodos de desarrollo giles. La idea bsica es desarrollar el sistema siguiendo etapas incrementales caracterizadas por generacin de sucesivas versiones que van abarcando requerimientos hasta completar el sistema. Cada versin tiene sentido para el cliente.
Elo329: Diseo y Programacin Orientados a Objetos

Principales metodologas en el tiempo


Definicin de Requerimientos Anlisis & Diseo

Construccin/Pruebas
Implementacin y Test Unitarios Integracin y test del sistema Operacin y mantencin

Inicialmente se us el Modelo Tradicional de Cascada 1980

Tiempo

Modelo Iterativo Incremental 1990

Iteracin 1
R A&D C P R

Iteracin 2
A&D C P

Iteracin 3
R A&D C P

Tiempo

t
Elo329: Diseo y Programacin Orientados a Objetos

Desarrollo Iterativo e Incremental

Iterativo: cada vez re-visitamos las etapas del modelo en cascada, rehacemos, refinamos y extendemos lo hecho. Incremental: regularmente integramos los avances para generar una versin con sentido para el cliente.

Elo329: Diseo y Programacin Orientados a Objetos

Desarrollo Iterativo e incremental: RUP es uno de los: sus Caractersticas


Guiado y Manejado por Casos de Uso Centrado en la Arquitectura Iterativo e Incremental Desarrollo Basado en Componentes Utilizacin de UML Proceso Integrado
Elo329: Diseo y Programacin Orientados a Objetos

RUP Define Fases de Desarrollo ...


reas de trabajo (Workflow)
Requerimientos

Concepcin

Elaboracin

Construccin

Transicin

Esfuerzo Necesario por Actividad

Anlisis & Diseo

A& D

A& D

A& D

A& D

Construccin

Pruebas

Distribucin

D
Iteracin Preliminar Iteracin 1

D
Iteracin 2 ....

D
.... Iteracin n

D
Iteracin n+1

Tiempo

Fases del Ciclo de Vida

El ciclo de vida consiste en una serie de fases que en su conjunto conducen al sistema final. Cada fase est compuesta por un nmero de iteraciones que generan versiones del sistema. Las fases son 4:

Concepcin, Inicio o Estudio de oportunidad Elaboracin Construccin Transicin

Elo329: Diseo y Programacin Orientados a Objetos

10

...Fases del Ciclo de Desarrollo

Inicio o Estudio de oportunidad (inception)

Define el mbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto

Elaboracin

Tanto la funcionalidad como el dominio del problema se estudian en profundidad Se define una arquitectura bsica Se planifica el proyecto considerando recursos disponibles
Elo329: Diseo y Programacin Orientados a Objetos

11

...Fases del Ciclo de Desarrollo

Construccin

El producto se desarrolla a travs de iteraciones donde cada iteracin involucra tareas de anlisis, diseo e implementacin Las fases de estudio y anlisis slo dieron una arquitectura bsica que es aqu refinada de manera incremental conforme se construye (se permiten cambios en la estructura) Gran parte del trabajo es programacin y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido 12 Elo329: Diseo y Programacin Orientados a Objetos junto con la documentacin

...Fases del Ciclo de Desarrollo

Transicin

Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalacin, configuracin, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la informacin anterior Estas tareas se realizan tambin en iteraciones

Elo329: Diseo y Programacin Orientados a Objetos

13

Proceso Iterativo e Incremental

El ciclo de vida iterativo se basa en la evolucin de prototipos ejecutables que se muestran a los usuarios y clientes En el ciclo de vida iterativo, en cada iteracin se reproduce el ciclo de vida en cascada a menor escala Los objetivos de una iteracin se establecen en funcin de la evaluacin de las iteraciones precedentes
14

Elo329: Diseo y Programacin Orientados a Objetos

... Proceso Iterativo e Incremental

Las actividades se encadenan en una minicascada con un alcance limitado por los objetivos de la iteracin
Anlisis Diseo

Codific.
n veces Pruebas e Integracin
Elo329: Diseo y Programacin Orientados a Objetos

15

... Proceso Iterativo e Incremental

Cada iteracin comprende:

Planificar la iteracin (estudio de riesgos) Anlisis de los Casos de Uso y escenarios Diseo de opciones arquitectnicas Codificacin y pruebas. La integracin del nuevo cdigo con el hecho en iteraciones anteriores se hace gradualmente durante la construccin Evaluacin de la entrega de ejecutable (evaluacin del prototipo en funcin de las pruebas y de los criterios definidos) Preparacin de la entrega (documentacin e instalacin del prototipo)
Elo329: Diseo y Programacin Orientados a Objetos

16

Importancia de los Hitos en RUP ...


Compromiso de recursos para fase elaboracin Aceptacin del cliente

Concepcin

Elaboracin

Construccin

Transicin

Tiempo
Hito Objetivos, visin Hito Arquitectura Hito Capacidad Operacional Liberacin Producto

Elo329: Diseo y Programacin Orientados a Objetos

17

... Elementos en RUP

Artefactos
Es el Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividades Un artefacto puede ser un documento, un modelo o un elemento de modelo Conjuntos de Artefactos
Business Modeling Set Requirements Set Analysis & Design Set Deployment Set Project Management Set

Configuration & Change Management Set


Environment Set 18

Implementation Set
Test Set

Elo329: Diseo y Programacin Orientados a Objetos

Caractersticas Esenciales de RUP


Proceso Iterativo e Incremental

Proceso Dirigido por los Casos de Uso Proceso Centrado en la Arquitectura

Elo329: Diseo y Programacin Orientados a Objetos

19

Casos de uso: Idea general

Un caso de uso es una coleccin de escenarios de xito y fallas relacionados que describen actores usando el sistema para alcanzar algn objetivo. Un escenario es una secuencia especfica de acciones e interacciones entre actores y el sistema bajo discusin. Un actor es algo externo al sistema en discusin que interacta con ste. Por ejemplo: Una persona, otro sistema computacional, un sensor, etc. Los casos de uso muestran el comportamiento observable del sistema.

Elo329: Diseo y Programacin Orientados a Objetos

20

Proceso Centrado en la Arquitectura La arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes Un arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
Inception Elaboration Construction Transition

Elo329: Diseo y Programacin Orientados a Objetos

Architecture

21

Otra visin similar con ms Actividades

Elo329: Diseo y Programacin Orientados a Objetos

22

Otra visin similar con ms Actividades


Disciplinas o reas de trabajo Modelado del Negocio Requisitos Anlisis y Diseo Implementacin Pruebas Distribucin Gestin de configuracin y cambios Gestin del proyecto

Primarios

De Apoyo

Entorno
23

Elo329: Diseo y Programacin Orientados a Objetos

Proceso dirigido por los Casos de Uso


Capturar, definir y validar los casos de uso
Casos de Uso integran el trabajo

Requisitos
Anlisis & Diseo

Realizar los casos de uso

Implementacin
Pruebas

Verificar que se satisfacen los casos de uso

Elo329: Diseo y Programacin Orientados a Objetos

24

... Proceso dirigido por los Casos de Uso


Realizacin de Anlisis trace Caso de Uso trace Realizacin de Diseo

trace

trace Pruebas Unitarias

Pruebas Funcionales

X
Caso de Prueba

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]

Elo329: Diseo y Programacin Orientados a Objetos

25

... Proceso dirigido por los Casos de Uso

Elo329: Diseo y Programacin Orientados a Objetos

26

Proceso Iterativo e Incremental


Grado de completitud de cada rea de trabajo

Enfoque Cascada

Enfoque Iterativo e Incremental

Elo329: Diseo y Programacin Orientados a Objetos

27

... Proceso Iterativo e Incremental


Grado de Finalizacin de Artefactos

Elo329: Diseo y Programacin Orientados a Objetos

28

Esfuerzo respecto de las reas de Trabajo (Workflows)


Concepcin Elaboracin
Requisitos

Construccin

Transicin

15%
Una iteracin en la fase de elaboracin
Anlisis

10%
15% 30% 15%

Diseo

Implementacin

Pruebas
P r e lim in a ry I te ra t io n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. #n+ 1 ite r. #n+2 ite r. #m ite r. #m +1

Elo329: Diseo y Programacin Orientados a Objetos

29

...Esfuerzo respecto de las Fases


Concepcin Elaboracin
Requisitos Una iteracin en la fase de elaboracin Anlisis

Construccin

Transicin

Diseo

Implementacin

Pruebas
P r e lim in a ry I te ra t io n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. #n+ 1 ite r. #n+2 ite r. #m ite r. #m +1

Esfuerzo: Duracin:

5% 10%

20% 30%

65% 50%

10% 10%

Elo329: Diseo y Programacin Orientados a Objetos

30

Comparar con V-Model

Elo329: Diseo y Programacin Orientados a Objetos

31

Dos lecciones importantes

El tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana. Es mucho ms fcil ahorrar tiempo al inicio del proyecto(cuandolosentregablessonmenos claros). Conclusin: Cmo se aplica esto al proyecto del ramo?
Elo329: Diseo y Programacin Orientados a Objetos

32

Potrebbero piacerti anche