Está en la página 1de 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
Elo329: Diseo y Programacin Orientados a Objetos 3
Proceso de Desarrollo
Iterativo e Incremental
Elo329: Diseo y Programacin Orientados a Objetos 4
Recordar el proceso de desarrollo de
software completo
Sueo Lanzamiento Investigacin Desarrollo Soporte
Tiempo
Parte a ser considerada en adelante
Elo329: Diseo y Programacin Orientados a Objetos 5
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 6
Principales metodologas en el tiempo
Tiempo
Inicialmente se us
el Modelo
Tradicional de
Cascada
1980
Tiempo
Definicin de
Requerimientos
Anlisis & Diseo
Implementacin y
Test Unitarios
Construccin/Pruebas
t
t
Iteracin 1 Iteracin 2 Iteracin 3
P
C
A&D
R
P
C
A&D
R
P
C
A&D
R
Modelo Iterativo Incremental
1990
Integracin y
test del sistema
Operacin y
mantencin
Elo329: Diseo y Programacin Orientados a Objetos 7
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 8
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
Tiempo
RUP Define Fases de Desarrollo ...
E
s
f
u
e
r
z
o

N
e
c
e
s
a
r
i
o

p
o
r

A
c
t
i
v
i
d
a
d

Transicin Elaboracin Construccin Concepcin
Iteracin
Preliminar
. . . . Iteracin
1
Iteracin
2
. . . . Iteracin
n
Iteracin
n+1
Anlisis & Diseo
Construccin
Pruebas
Distribucin
Requerimientos
reas de trabajo
(Workflow)
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
Elo329: Diseo y Programacin Orientados a Objetos 10
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 11
...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 12
...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 la documentacin
Elo329: Diseo y Programacin Orientados a Objetos 13
...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 14
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
Proceso Iterativo e Incremental
Elo329: Diseo y Programacin Orientados a Objetos 15
Anlisis
Diseo
Codific.
Pruebas e
Integracin
n veces
... Proceso Iterativo e Incremental
Las actividades se encadenan en una mini-
cascada con un alcance limitado por los
objetivos de la iteracin
Elo329: Diseo y Programacin Orientados a Objetos 16
... 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 17
Concepcin Elaboracin Construccin Transicin
Compromiso de
recursos para fase
elaboracin
Hito
Objetivos,
visin
Hito
Arquitectura
Hito
Capacidad
Operacional
Aceptacin
del cliente
Liberacin
Producto
Tiempo
Importancia de los Hitos en RUP ...
Elo329: Diseo y Programacin Orientados a Objetos 18
Deployment Set
Project Management Set
Configuration & Change Management Set
Environment Set
Business Modeling Set
Requirements Set
Analysis & Design Set
Implementation Set
Test Set
... 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
Elo329: Diseo y Programacin Orientados a Objetos 19
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 20
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 21
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
Architecture
Inception Elaboration Construction Transition
Elo329: Diseo y Programacin Orientados a Objetos 22
Otra visin similar con ms
Actividades
Elo329: Diseo y Programacin Orientados a Objetos 23
Otra visin similar con ms
Actividades
Disciplinas o reas de trabajo
Modelado del Negocio
Requisitos
Anlisis y Diseo
Implementacin
Pruebas
Distribucin
Entorno
Gestin de configuracin y cambios
Gestin del proyecto
Primarios
De Apoyo
Elo329: Diseo y Programacin Orientados a Objetos 24
Requisitos
Capturar, definir y
validar los casos de uso
Realizar los
casos de uso
Verificar que se
satisfacen los casos
de uso
Anlisis & Diseo
Implementacin
Pruebas

Casos de Uso
integran el
trabajo

Proceso dirigido por los Casos de Uso
Elo329: Diseo y Programacin Orientados a Objetos 25
Caso de Uso
Realizacin de Anlisis
Realizacin de Diseo
Caso de Prueba
X
trace trace
trace
trace
Pruebas Funcionales
Pruebas
Unitarias
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
... Proceso dirigido por los Casos de Uso
Elo329: Diseo y Programacin Orientados a Objetos 26
... Proceso dirigido por los Casos de Uso
Elo329: Diseo y Programacin Orientados a Objetos 27
Enfoque
Cascada
Enfoque
Iterativo e
Incremental
Proceso Iterativo e Incremental
Grado de completitud de cada rea de trabajo
Elo329: Diseo y Programacin Orientados a Objetos 28
Grado de Finalizacin de Artefactos
... Proceso Iterativo e Incremental
Elo329: Diseo y Programacin Orientados a Objetos 29
15%
10%
15%
30%
15%
P r e l i m i n a r y
I t e r a t i o n ( s )
i t e r .
# 1
i t e r .
# 2
i t e r .
# n
i t e r .
# n + 1
i t e r .
# n + 2
i t e r .
# m
i t e r .
# m + 1
Una iteracin en la
fase de elaboracin
Requisitos
Diseo
Implementacin
Pruebas
Anlisis
Esfuerzo respecto de las reas de
Trabajo (Workflows)
Concepcin Elaboracin
Construccin Transicin
Elo329: Diseo y Programacin Orientados a Objetos 30
P r e l i m i n a r y
I t e r a t i o n ( s )
i t e r .
# 1
i t e r .
# 2
i t e r .
# n
i t e r .
# n + 1
i t e r .
# n + 2
i t e r .
# m
i t e r .
# m + 1
Una iteracin en la
fase de elaboracin
Requisitos
Diseo
Implementacin
Pruebas
Anlisis
Esfuerzo: 5% 20% 65% 10%
Duracin: 10% 30% 50% 10%
...Esfuerzo respecto de las Fases
Concepcin Elaboracin
Construccin Transicin
Elo329: Diseo y Programacin Orientados a Objetos 31
Comparar con V-Model
Elo329: Diseo y Programacin Orientados a Objetos 32
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?

También podría gustarte