Vous êtes sur la page 1sur 50

El Proceso Unificado de Desarrollo

Pablo Gervs F. Informtica, UCM, diciembre 2003


Sobre trabajo de Jacobson et al, Krutchen, Eriksson & Penker

Resumen
Una metodologa de desarrollo Planificacin con el proceso unificado Ejemplo de uso de UML y Rational Rose

Un metodologa de desarrollo
El conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software Est basado en componentes Utiliza el Lenguaje Unificado de Modelado (UML).

Tres frases clave


dirigido por casos de uso centrado en la arquitectura iterativo e incremental

Casos de uso
Un caso de uso es un fragmento de funcionalidad del sistema que proporciona al usuario un resultado importante. (requisitos funcionales) Todos los casos de uso constituyen el modelo de casos de uso.

Arquitectura
La arquitectura es una vista del diseo completo con las caractersticas ms importantes resaltadas, dejando los detalles de lado.
1. crear esquema de la arquitectura 2. trabajar con un conjunto de casos de uso, se reparte en subsistemas, clases, y componentes 3. al madurar los casos de uso se desarrolla ms la arquitectura 4. esto lleva a madurar ms casos de uso 5. se continua hasta que la arquitectura es estable

Iterativo e incremental
Se divide todo el trabajo en mini-proyectos. Cada mini-proyecto es una iteracin (flujo de trabajo) que resulta en un incremento (crece el producto). Cada iteracin tiene una serie de flujos de trabajo: requisitos, anlisis, diseo, implementacin y prueba

Iteracin
Esfuerzo de trabajo en un proyecto que recorre varias etapas de desarrollo (no necesariamente todas), y al final del cual se ha incrementado el material disponible sobre el sistema

Incremento
Un avance significativo en el grado de especificacin, diseo, implementacin, o prueba del sistema que tenga lugar durante una iteracin

Vida de un sistema
La vida de un sistema es una serie de ciclos: nacimiento + ciclos intermedios + muerte Cada ciclo tiene varias fases. Fase: intervalo de tiempo entre dos hitos importantes del proceso, cuando se cumplen un conjunto de objetivos bien definidos, se completan los artefactos y se toman las decisiones sobre si pasar a la siguiente fase

Planificacin
Fases de un ciclo
inicio elaboracin construccin transicin

Ejemplos de iteraciones

Fase de inicio
se especifica la visin del proyecto la idea inicial para el desarrollo se lleva al punto de estar (al menos internamente) suficientemente bien fundamentada para garantizar la entrada en la fase de elaboracin

Fase de elaboracin
se definen la visin del producto y su arquitectura se expresan con claridad los requisitos del sistema, son priorizados y son utilizados para crear una slida base arquitectnica se planifican las actividades y los recursos necesarios

Fase de construccin
se construye el producto mediante una serie de iteraciones incrementales se lleva el software desde una base arquitectnica ejecutable hasta su disponibilidad para la comunidad de usuarios

Fase de transicin
el software es puesto en manos de la comunidad de usuarios manufactura entrega formacin...

Fases de un ciclo
Organization along time

Phases Process Components


Requirements Capture Analysis & Design
Inception Elaboration Construction Transition

Organization along content

Implementation T est

Supporting Components
Management Environment Deployment
preliminary iteration(s) iter. #1 iter. #2 iter. #n iter. iter. #n+1 #n+2 iter. #m iter. #m+1

Iterations

Ciclo de un sistema
Cuando se han recorrido las cuatro fases, se dice que el sistema ha sufrido un ciclo. Cada ciclo produce una versin del sistema. Cada versin es un producto preparado para su entrega.

Contenido de una entrega


cdigo fuente manuales otros productos asociados requisitos casos de uso especificaciones no funcionales casos de prueba modelo de la arquitectura modelo visual (UML)

Ejemplos de iteraciones tpicas


Fase de inicio:Definir la visin del producto y el caso de negocio Fase de elaboracin (al principio): Construyendo un prototipo arquitectnico Fase de construccin (al final): Implementando el sistema

Fase de inicio
visin del sistema y alcance del sistema (PM) esbozar y clarificar la funcionalidad del sistema (R) viabilidad del proyecto y plan de proyecto (G) refinar el plan de proyecto (G)

Fase de elaboracin
plan de la iteracin, riesgos, y objetivos (PM) casos de uso que conducen la arquitectura (R) reconsiderar casos de uso y los riesgos (G) prototipo de interfaz de usuario (R) divisin inicial en subsistemas, casos de uso en detalle (AD) decidir el diseo, definir interfaces formales (AD) concurrencia y distribucin de la arquitectura (AD) se revisa la arquitectura (AD) considerar el empaquetamiento fsico de la arquitectura (I) planificar integracin (I) planificar las pruebas de integracin y sistema (P) implementar las clases e integrar (I) integrar las partes implementadas, probar cada construccin (I) valorar la arquitectura ejecutable (P) evaluar la iteracin en s (G)

Fase de construccin
retoca el plan de iteracin (G) planificar la implementacin/integracin de sistema (I) plan de pruebas de sistema (P) refinar diseo de los casos de uso (AD) plan de pruebas de subsistema y sistema (P) desarrollar cdigo y probar unidades (I) planificar e implementar pruebas de unidad (I) probar unidad dentro de un subsistema (I) integrar un subsistema (I) probar un subsistema (I) liberar el subsistema (I) integrar el sistema (I) probar la integracin (P) probar el sistema (P) evaluar la iteracin en s (G)

Ejemplo de uso de UML y Rational


Una aplicacin La herramienta Rational Modelo de casos de uso Flujo de eventos Identificacin de clases Diagrama de secuencia Diagrama de clases

Rational Rose
Las cuatro vistas
Vista de casos de uso Vsta lgica
Arquitectura Paquetes concretos

Vista de componentes Vista de despliegue

Desarrollo de un ejemplo
Especificacin inicial Modelo de casos de uso
Actores Casos de uso

Flujo de eventos e identificacin de clases Diagrama de clases

Descripcin de la aplicacin
El sistema es una aplicacin para la gestin de una biblioteca, en la que los usuarios registrados pueden pedir prestados, reservar o devolver libros. La vista de casos de uso muestran como los actores (bibliotecario, usuario) utilizarn el sistema.

D e v o l v e r u n l i b ro B ib l i ot e c a r i o B i b l i o t e c a ri o P re st a r u n li b ro < < u se s> > A a d i r ti tu l o

< < u s e s> > E l i m i n a r re se rv a U su a ri o A a d i r l i b ro R e se rv a r l i b ro < < u se s > > E l i m i n a r l i b ro < < u se s> > E l i m i n a r o a c tu a l i z a r < < u se s> > < < u se s> > M a n te n i m i e n to

A a d i r u s ua r i o

E l i m i n a r o a c t u a l i z a r u su a ri o

Caso de uso Prestar libro


Si el usuario no tiene una reserva:
Se identifica un ttulo Se identifica un ejemplar disponible de ese ttulo Se identifica al usuario La biblioteca presta ese ejemplar al usuario Se registra el nuevo prestamo

Caso de uso Prestar libro


Si el usuario no tiene una reserva:
Se identifica un ttulo Se identifica un ejemplar disponible de ese ttulo Se identifica al usuario La biblioteca presta ese ejemplar al usuario Se registra el nuevo prestamo

: Bibliotecario

: Ventana de prestamo

: Titulo

: I nformacion d el usuari o

: Pr stamo

: Ejem pla r

1 : ide ntif ica r titulo ( )

2: $encontrar (String)

3: encontrar ejemplar ( )

4: $buscar por titulo (Title)

5: identificar usuario ( )

6: $encontrar (String)

7: crear (I nfo. usua rio, Ejemplar)

< < Bu si n e s s O bj e ct > > E j em p la r i d : In te g e r $ b u s c a r p o r ti tu l o ( ) c r e a te ( ) d es t ro y( ) $ f in d( ) 0 ..* c opy of

< < B u s i n e s s O b j e c t> > T i tu l o n a m e : S tr i n g a u th o r : S tr i n g i s b n : S tr i n g / n u m b e r o f r e s e r v a ti o n s $ e n c o n tr a r ( ) c r e a te ( ) d e s tr o y ( )

r e fe r to / m a y b e l o a n e d i n < < B u s i n e s s O b j e c t> > Bo ok T it l e $ l e n d i n g ti m e : D a y s = 3 0

re f e r t o / m a y be r e s e r v e d i n

< < B u s i n e s s O b j e c t> > M a ga z i n e T i t le $ l e n d i n g ti m e : D a y s = 1 0

{ ordered } 0 ..1 < < Bu si n e s s O bj e ct > > Pr s ta m o d a te : D a te = c u r r e n t D a te crear() d e s tr o y ( ) $ fi n d ( ) 0 ..* has / have has 0 ..* < < B u s i n e s s O b j e c t> > R eser da t e : D a t e = c u r re nt D at e cr e a t e( ) d e s tr o y ( ) $ fi n d ( ) 0 ..*

< < B u s i n e s s O b j e c t> > In fo r m a c i o n d e l u s u a r i o n a m e : S tr i n g a d d r e s s : S tr i n g c i ty : S tr i n g s ta te : S tr i n g z i p : S tr i n g $ e n c o n tr a r ( ) c r e a te ( ) d e s tr o y ( )

<<GUI>> Retur return item() find title() find borrower() (from Business Package)

<<Business Object>> Eje la mp r

<<Business Object>> Prstamo (from Business Package)

<<GUI>> Ventana de prestamo identificar titulo() identificar usuario() e ncon rar re t serva() encontrar ejemplar() crear prestamo() (from Business Package)

<<GUI>> Mainte add item() remove item() add title() remove title() create borrower() remove borrower()

<<Business Object>> Titulo

<<GUI>> Reserv <<Business Object>> Informacion del usuario (from Business Package) find title() reserve title() identify borrower() remove reservation()

<<Business Object>> Reserv (from Business Package)

P a qu e te d e n eg o c io + E je m p la r + P r s t a m o + Tit u lo + + + + I n f o rm a c io n d e l u s u a rio Tit u lo d e lib ro R e s e rv a Tit u lo d e re v is t a

P a qu e te I n t e rf a ce s + + + + Ventana Ventana Ventana Ventana de de de de p re s t a m o d e v o lu c i n re s e rv a m a n t e n im ie n t o

Resumen
Una metodologa de desarrollo Planificacin con el proceso unificado Ejemplo de uso de UML y Rational Rose

Fuentes recomendadas
Ivar Jacobson, Grady Booch, James Rumbaugh "El proceso unificado de desarrollo", Addison Wesley, 1999. Philippe Kruchten "The Rational Unified Process. An Introduction. Second edition", Addison Wesely, 2000 Terry Quatrani "Visual Modelling with Rational Rose 2000 and UML", Addison Wesley, 2000.

Vous aimerez peut-être aussi