Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
Personal Software Process y Team software Process XP (Programacin Extrema) RUP (Rational Unified Process) V-model
Sueo
Investigacin
Desarrollo
Lanzamiento Soporte
Tiempo
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
Construccin/Pruebas
Implementacin y Test Unitarios Integracin y test del sistema Operacin y mantencin
Tiempo
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
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.
Concepcin
Elaboracin
Construccin
Transicin
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
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:
10
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
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
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
13
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
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
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
Concepcin
Elaboracin
Construccin
Transicin
Tiempo
Hito Objetivos, visin Hito Arquitectura Hito Capacidad Operacional Liberacin Producto
17
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
Implementation Set
Test Set
19
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.
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
Architecture
21
22
Primarios
De Apoyo
Entorno
23
Requisitos
Anlisis & Diseo
Implementacin
Pruebas
24
trace
Pruebas Funcionales
X
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
25
26
Enfoque Cascada
27
28
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
29
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%
30
31
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