Вы находитесь на странице: 1из 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 3


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 5


Principales metodologas en el tiempo
Definicin de
Requerimientos

Anlisis & Diseo Construccin/Pruebas


Inicialmente se us
Implementacin y
el Modelo Tiempo Test Unitarios
Tradicional de
Integracin y
Cascada test del sistema
1980
Operacin y
mantencin

Modelo Iterativo Incremental


1990 t

Iteracin 1 Iteracin 2 Iteracin 3


R R R
A&D A&D A&D
C C C
P P P

Tiempo t
Elo329: Diseo y Programacin Orientados a Objetos 6
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 7


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 8


Elo329: Diseo y Programacin Orientados a Objetos
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
junto con laElo329:
documentacin
Diseo y Programacin Orientados a Objetos 12
...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

Elo329: Diseo y Programacin Orientados a Objetos 14


... Proceso Iterativo e Incremental
Las actividades se encadenan en una mini-
cascada 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
Aceptacin
recursos para fase
del cliente
elaboracin

Concepcin Elaboracin Construccin Transicin

Tiempo

Hito Hito Hito Liberacin


Objetivos, Arquitectura Capacidad Producto
visin Operacional

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
Deployment Set
Requirements Set Project Management Set
Analysis & Design Set Configuration & Change Management Set
Implementation Set Environment Set
Test Set
Elo329: Diseo y Programacin Orientados a Objetos 18
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


Elo329: Diseo y Programacin Orientados a Objetos
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 Primarios
Implementacin
Pruebas
Distribucin
Gestin de configuracin y cambios
Gestin del proyecto De Apoyo
Entorno

Elo329: Diseo y Programacin Orientados a Objetos 23


Proceso dirigido por los Casos de Uso

Capturar, definir y
Requisitos validar los casos de uso

Anlisis & Diseo Casos de Uso Realizar los


integran el casos de uso
Implementacin trabajo

Verificar que se
Pruebas satisfacen los casos
de uso

Elo329: Diseo y Programacin Orientados a Objetos 24


... Proceso dirigido por los Casos de Uso

Realizacin de Anlisis
trace trace

Caso de Uso 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


Elo329: Diseo y Programacin Orientados a Objetos
Elo329: Diseo y Programacin Orientados a Objetos
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 (cuando los entregables son menos
claros).
Conclusin: Cmo se aplica esto al proyecto
del ramo?

Elo329: Diseo y Programacin Orientados a Objetos 32

Вам также может понравиться