You are on page 1of 105

UML y Proceso Unificado de Desarrollo

1 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿Qué es un UML?

Es un lenguaje de modelado,
de propósito general, usado para
la visualización, especificación,
construcción y documentación de
sistemas Orientados a Objetos

2 Ing. Judith Meles


Contribuciones al UML UML y Proceso Unificado de Desarrollo

Harel
Meyer Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering

Embley
Rumbaugh
Singleton classes and
OMT
high-level view

Jacobson Wirfs-Brock
OOSE
Responsibilities

Shlaer - Mellor Odell

Object lifecycles Classification

3 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿ Cómo trabaja U.M.L.?


Ö A través de métodos y notaciones históricas.
Ö A través del desarrollo del ciclo de vida del sistema.

Ö A través de dominios de aplicación.

Ö A través de lenguajes y plataformas de


implementación.

Ö A través de procesos de desarrollo.

Ö A través de conceptos internos.

4 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿ Por qué UML es un lenguaje?

Ö Provee un vocabulario y reglas para combinar los


elementos del vocabulario con el propósito de
comunicar.

Ö En un lenguaje de modelado esos vocabularios y


reglas se focalizan en representaciones conceptuales
y físicas de un sistema.

5 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Principales Elementos del Lenguaje

Ö BLOQUES DE CONSTRUCCIÓN

Ö REGLAS PARA JUNTAR LOS BLOQUES DE


CONSTRUCCIÓN

Ö MECANISMOS COMUNES PARA APLICAR UML

6 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Bloques de Construcción de UML

Compuestos por:

ELEMENTOS

RELACIONES

DIAGRAMAS

7 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Bloques de Construcción de UML

ELEMENTOS

Estructurales De Comportamiento Agrupamiento Notacionales

Clase Interacción Paquete Nota


Clase Activa Máquina de Estado Modelo
Interface Subsistema
Use Case Entorno
Colaboración
Componente
Nodo

8 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Bloques de Construcción de UML

Cosas: Notacionales
Nota

Cont rol ar es te
c om ponente luego de
texto simple
la s igui ente revis ión de
dis eño

URL embebida
V er Ve r a lg o r1 .d o c p a ra
http://www.rational.c om o b te n e r d e ta lle s s o b re
para inform ac ión adic ional e s te p ro ce s o
s obre UM L

link a un documento

9 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Bloques de Construcción de UML

Diagramas State
State
Diagrams
Diagrama
Diagrams
Use Case de
Diagrama de Clase
Use Case
Diagrams State
Use Case
Use Case Diagrams de
Casos State
Diagrama
Diagrams
Diagrama
Diagrams Uso Diagrams de
Diagrams
de Objeto
Secuencia

Scenario Diagrama
State
Scenario
Diagrama
Diagrams State de
Diagrams
Diagramsde Diagrams
Componente
Colaboración Modelos

Scenario Component
Scenario de
Diagrama
Diagrams
Component
Diagrams
Diagrama
Diagrams de
Diagrams
Transición Despliegue
Diagrama
de Estados
de
Actividad
10 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Clases

Î Muestra un conjunto de clases, interfaces y


colaboraciones y sus relaciones
Î Contiene comúnmente:
ƒ Clases
ƒ Interfaces
ƒ Relaciones de asociación, generalización
y/o dependencia

11 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Clase Clase Activa


Alum no
ManejadorNotas

Al u m n o suspender ()
nombre de la clase

A lum no
A lum no legajo
legajo atributos nom bre
nom bre dom ic ilio
dom i cilio
< < c ons truc tor> > c rear()
< < query > > m os trarNom bre()

operaciones

A l umn o

crear()
m ostrarNom bre()
bor rar ()

12 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Interface Implementación

IAlumnos Al u m n o
Clase

IReportes

IAlumnos A lum no.java


Componente

IReportes

13 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Clases
Em pleadoV ideo
0..*
A bono
1..* 1
D etalleA bono
0..1 TipoA bono
P ers ona
0..1
A lquiler D etalleTicket Ticket 1
1..*
1..*
0..1 1..*
D etalleTipoA bono
S ocio
Ubic acio n C alificación

1
1
1 1 Rubro

E jemplar P elicula
0..* 1

1 C ategoria
0..* 1

Reserva 1..*
0..* A ctor
D irector

14 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Objetos

Î Muestra un conjunto de objetos y sus relaciones.


Î Contiene comúnmente:
ƒ Objetos
ƒ Conexiones (links)

15 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Objetos

S 1:S oc io

E 1:E jem plar

:A lquil er

P 1:P elic ula

16 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Componentes

Î Muestra un conjunto de componentes y sus


relaciones.
Î Contiene comúnmente:

ƒ Componentes
ƒ Interfaces
ƒ Relaciones de asociación, generalización,
realización y/o dependencia

17 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Componentes

Buscar.html
Consulta.html
bus car.exe

<<hiperlink>>

Logo.jfg

.ddl .dll

18 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Despliegue

Î Muestra un conjunto de nodos y sus relaciones.


Î Contiene comúnmente:

ƒ Nodos
ƒ Relaciones de asociación y/o dependencia.

19 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Despliegue

Solo para
consultas de
Socios

Cliente2
Cliente1
ClienteN

LAN

Server Server
Datos Aplicacion

20 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Casos de Uso

Î Muestra un conjunto de use cases, actores y sus


relaciones.
Î Contiene comúnmente:

ƒ Casos de Uso
ƒ Actores
ƒ Relaciones de extensión, inclusión ,
generalización y/o dependencia.

21 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Casos de Uso


<<include>>

Registrar Alquiler de Película


Validar Socio
<<extend>>
Empleado del
Video

Registrar Socio Validar Socio Manualmente Validar Socio con T arjeta

Registrar Devolución de
Películas

Socio Brindar Consulta de


22 Películas Ing. Judith Meles
UML y Proceso Unificado de Desarrollo
Diagrama de Colaboración

Î Diagrama de secuencia que enfatiza la


organización estructural de los objetos. Muestra
un conjunto de objetos y conexiones entre esos
objetos y los mensajes enviados y recibidos por
esos objetos.
Î Contiene comúnmente:

ƒ Objetos
ƒ Links
ƒ Mensajes

23 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Colaboración
Caso de Uso Registrar Alquiler de Película

: P e li cu l a
2 : m o stra rP a n ta l l a

5 : b u sc a r() : Ejem plar

6 : se l e cci o n a r 8 : b u sca r ()
1 : a b ri r 4 : b u sca rP e l i cu l a

: P a n ta l l a Re g i str : G e sto r
o Alquiler Alquiler : P e l i cu l a 9 : se l e cci o n a r
3 : to m a rDa to sP
7 : m Di sp o n i b i l i d a d E j e m p l a r
E n ca rg a d o V i d e o : E je m p l a r
1 0 : cre a r ()
1 1 : ac tu a li za rD isp

:
Alquiler

24 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Secuencia

Î Diagrama de secuencia que enfatiza el orden


de los mensajes en función del tiempo. Muestra
un conjunto de objetos y los mensajes enviados
y recibidos por esos objetos.
Î Contiene comúnmente:

ƒ Objetos
ƒ Links
ƒ Mensajes

25 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagr. de Secuencia: U-C Registrar Alquiler de Película


: P a n ta l l a : Ge sto r : P el i cu l a : Pe l i cu l a : Ejem plar : Ejem plar : Alquiler
E n ca rg a d o V i d e o :
Re g i stro Alquiler
E n ca rg a d o V i d e o
a b ri r

m o stra rP a n ta l l a

to m a rDa to sP

b u sca rP e l i cu l a

b u sca r()

se l e cci o n a r

m Di sp o n i bi l i d ad E j em p l a r

b u sca r ()

se l e cci o n a r

cre ar ()

a ctu a l i za rDi sp

26 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Transición de Estados

Î Muestra una máquina de estados, compuesta por


estados, transiciones, eventos y actividades.
Î Contiene comúnmente:

ƒ Estados
ƒ Transiciones
ƒ Eventos

27 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Diagrama de Transición de Estados


Clase Alquiler

nuevo y no pago
n u e vo y p a g o

Generado / Vencido / Generado/


cons u lta y fecha De vPrevis ta < fec ha
Pagado Pagado Pen diente de Pago

devolución y cobro recargo


d e v ol u ci ó n
devoluc ión
pago y devolución

co n su l ta y fe ch a De vP re vi sta < fe ch a
D evuelto/ pago D evuelto/
Pagado Pendiente dePa go

pago y devolución devolución

Vencido / Pendiente
de Pago

28 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Actividad

Î Muestra el conjunto de actividades, y el flujo de


secuencia o desglose de actividad en actividad,
y los objetos que actúan y que son afectados.

Î Contiene comúnmente:
ƒ Estados de actividad y acción
ƒ Transiciones
ƒ Objetos

29 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Diagrama de Actividad
Caso de Uso : Registrar Alquiler de Película

T O M AR D AT O S

VE R IF IC AR
D IS P O N IB ILI D AD

C AN C E L AR

C O N F IR M AR
AL Q U IL E R

C R E AR AL Q U IL E R AC T U AL IZ AR E S T AD O
E J E M P L AR

T E R M IN AR

30 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Cosas: Agrupamiento
Paquete

Regl as d e Negoc io

Existen variaciones...
• entornos (frameworks)
• modelos
• subsistemas
que son clases de paquetes.

31 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Mecanismos de Extensibilidad

Estereotipos

< < Interface> >


IA genteReglas

Pantalla de
Alq uiler

32 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Mecanismos de Extensibilidad
Valores Rotulados

font s .dl l
{s erverOnly }

33 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Mecanismos de Extensibilidad
Restricciones
P o rta fo lio
O rg a n iz a c ió n

restricción simple
{s e g u r a}
{o r}
C u e n t a B a n c a ria
restricción a través de múltiples elementos

P e rs o n a 0+. .es
1 pos o
g en e r o : { m a s c , fe m e n}

0..1
+ es pos a
{g e n e ro . e s p o s a = fe m e n in o
g e n e ro . e s p o s o = m a s c u lin o }
restricción en lenguaje formal

34 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El Desarrollo de Software

Cada nueva versión es desarrollada


incrementalmente en una serie de pasos

35 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿Qué entendemos por Proceso?

36 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿Qué es el Proceso de Desarrollo


Unificado ?
Es un entorno de proceso genérico
(framework) que puede especializarse
para una gran variedad de sistemas
de software, en diversas áreas de
aplicación, distintos tipos de
organización y de tamaños de
proyectos.

37 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿Qué se espera de un
Proceso de Desarrollo ?
ª Que sea capaz de evolucionar

ª Durante su evolución se limite a las


realidades que imponen :
ƒ La Tecnología
ƒ Las Herramientas
ƒ La gente
ƒ Los patrones organizacionales

38 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Pilares en el Desarrollo de Software

PROCESO
Plantilla
Automatización

PERSONAL PROYECTO HERRAMIENTAS


Participante

Resultado

PRODUCTO

39 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El Proceso Unificado es un entorno de Proceso

No hay un Proceso Universal !


• El proceso Unificado está diseñado para la flexibilidad y la
extensibilidad…
» permite una variedad de ciclos de vida
» selecciona que artefactos producir
» define actividades y trabajadores
» modela conceptos
40 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Estructura del Proceso de Desarrollo

Proceso Workflow

Actividad

Trabajador

Artefacto

41 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Estructura de un Workflow del Proceso


Un rol desempeñado
Actividad
por un individuo o Una unidad
equipo de trabajo

Trabajador

Describir un
Analista
Use Case

responsable por Artefacto

Una pieza de
información que es
producida, modificada o
Use case usada por un proceso
Paquete de
Use case

42 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflows, trabajadores y recursos...

Estructurar el
Encontrar Actores
Analista de y Use Cases Modelo de Use Case
Sistemas

Mary

Priorizar Use Cases


Arquitecto

Detallar un
Especificador Use Case
Juan de Use Case

Prototipar
Diseñador Interface de Usuario
Interfaz

43 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Aspectos Característicos
del Proceso Unificado

Ö Conducido por Casos de Uso

Ö Centrado en la Arquitectura

Ö Iterativo e Incremental

44 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Iterativo e Incremental

Fases
Workflows
Comienzo Elaboración Construcción Transición
centrales

Requerimientos
Una iteración en la Fase Elaboración
Análisis

Diseño

Implementación

Prueba
--- Iter.
Iter. Iter. --- --- --- --- Iter.
#n
#1 #2 # n-1

Iteraciones
45 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Lo qué No es un Ciclo de Vida Iterativo...

Ö No es trabajo no profesional
Ö No es un refugio para los desarrolladores
Ö No es impredecible
Ö No es rediseñar la misma cosa una y otra vez hasta que
esté perfecto.
Ö No es una excusa para no planificar ni administrar el
proyecto.
ÖNo es algo que afecta únicamente a los desarrolladores
en un proyecto.

46 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Lo qué SI es un Ciclo de Vida Iterativo...

ÖEs planificado y administrado.


ÖEs predecible.
ÖAcomoda los cambios a los requerimientos con menos
alteraciones.
ÖEstá basado en prototipos ejecutables que
evolucionan, no en documentación.
ÖInvolucra a usuarios y clientes a lo largo del proceso.
ÖEs conducido por los riesgos.

47 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Fases del Ciclo de Vida

Inicio Elaboración Construcción Transición

time

„ Inicio Define el alcance del proyecto y desarrolla


el caso de negocio

„ Elaboración Planifica el Proyecto, especifica aspectos, y


delinea la arquitectura
„ Construcción Construye el producto
„ Transición Transfiere el producto a sus usuarios

48 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Fases e Iteraciones

Inicio Elaboración Construcción Transición

Prelim ... Arch ... Dev Dev ... Trans ...


Iteration Iteration Iteration Iteration Iteration

Release Release Release Release Release Release Release Release

Una iteración es una secuencia de actividades con un plan


establecido y un criterio de evaluación, que resulta en un release
ejecutable.

49 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Iterativo e Incremental

Requerimientos Análisis & Implementación Testing Despliegue


Diseño

Requerimientos Análisis & Implementación Testing Despliegue


Diseño

Requerimientos Análisis & Implementación Testing Despliegue


Diseño
Fase
Iniciación Elaboración Construcción Transición

Conjunto de Requerimientos
Conjunto de Diseño
Conjunto de Implementación
Conjunto de Despliegue

50 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Tres Aspectos Importantes del Enfoque Iterativo

ÖIntegración Continua
„ No hacerlo de una vez, cerca de la fecha de entrega

ÖReleases ejecutables frecuentes


ÖAtaca los riesgos con progreso demostrable
„ Algo interno, algo entregado.

„ Progreso medido en productos,

no es documentación o estimaciones de ingeniería.

51 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Beneficios Resultantes
Ö Los Releases son una fuerza que conduce al equipo de
desarrollo al cierre en intervalos regulares.
„ Evitando el fenómeno “90% hecho con 90% faltante”

Ö Puede incorporar problemas/aspectos/cambios en futuras


iteraciones en vez de interrumpir la producción que se está
realizando.
Ö Las actividades de soporte del proyecto pueden ser
programadas mejor (Pruebas, documentación técnica,
Aseguramiento de Calidad, Gestión de Configuración, etc.).

52 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Riesgo en un Desarrollo Iterativo

Inicio
Cascada
Elaboración

Riesgo Construcción

Transición

Iteración Iteración Iteración Iteración Iteración Iteración Iteración Iteración Post


Preliminar Arquitect Arquitect Desarrollo Desarrollo Desarrollo Transición Transición Despliegue

Tiempo

Copyright © 1997 by Rational Software Corporation


53 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Gestión de Riesgo fase por fase


ÖInicio
„ Agrupar los riesgos del proyecto realizando una prueba
de conceptos.
ÖElaboración
„ Desarrollar una comprensión común de los alcances del
sistema y del comportamiento deseado, explorando
escenarios con expertos del dominio y usuarios finales.
„ Establecer la arquitectura del sistema.
„ Diseñar mecanismos comunes para cubrir aspectos de
todo el sistema.

54 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Gestión de Riesgo fase por fase


Ö Construcción
„ Refinar la arquitectura

„ Iteraciones conducidas por el Riesgo

„ Integración Continua

Ö Transición
„ Facilitar la aceptación del usuario

„ Medir la satisfacción del usuario

Ö Ciclos Post Implementación


„ Enfoque continuo de evolución

„ Preservar la integridad arquitectónica.

55 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Las Iteraciones conducen a la


Reducción del Riesgo

Definir Escenarios para Plan Iteración N


manejar riesgos • Costo
Riesgos Iniciales del Proyecto mayores • Cronograma
Alcance Incial del Proyecto

Desarrollar
Iteración N
•Recolectar métricas
Iteración N de costo y calidad

Evaluación Iteración N
Revisar el Plan
General del Proyecto
• Costos
• Programación
• Alcance/Contenido
Riesgos Eliminados
Revisar riesgos del Proyecto
• Repriorizar

56 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Los casos de uso conducen el Proceso de Iteración

Comienzo Elaboración Construcción Transición

Iteración 1 Iteración 2 Iteración 3

“Proceso Mini-Cascada”
Planif. Iteración
Captura Reqs.
Análisis & Diseño
Implementación
Prueba
Preparar Release

57 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El Ciclo de Vida de Iteración: Una Mini-Cascada

Escenarios Elegidos • Resultados de iteraciones previas


• Actualizar evaluación de riesgos
• Librerías de Modelos, código y
pruebas contraladas.
Planificación Iteración

Captura de Requerimientos

Análisis & Diseño

Implementación

Prueba

Preparar Release

Descripción del Release


Evaluación de riesgos controlada
Librerías controladas

58 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Actividades detalladas del Ciclo de Vida Iterativo

Ö Planificación de Iteración
„ Antes que inicie la iteración, deberán establecerse los

objetivos de la iteración , basados en:


„ Resultados de iteraciones previas ( si existen)

„ Evaluación de Riesgos actualizada para el proyecto

„ Determinar el criterio de evaluación para esta iteración

„ Preparar el plan detallado para la iteración como parte del

plan de desarrollo
„ Incluir hitos intermedios para monitorear el progreso

„ Incluir walkthroughs y revisiones

59 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Actividades detalladas del Ciclo de Vida Iterativo


Ö Captura de Requerimientos
„ Seleccionar/definir los casos de uso que serán
implementados en la iteración.
„ Actualizar el modelo de objetos para reflejar clases
adicionales del dominio y asociaciones descubiertas.
„ Desarrollar el plan de prueba para la iteración

Ö Análisis & Diseño


„ Determinar las clases a ser desarrolladas o actualizadas
en esta iteración.
„ Actualizar el modelo de objetos para reflejar clases
adicionales del diseño y asociaciones descubiertas.
„ Actualizar el documento de arquitectura si es necesario.

„ Comenzar el desarrollo de los procedimientos de pruebas

60 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Actividades detalladas del Ciclo de Vida Iterativo


Ö Implementación
„ Automáticamente generar código desde el modelo de diseño
„ Manualmente genera código para las operaciones
„ Completar procedimientos de prueba
„ Conducir pruebas de unidad y de integración

Ö Prueba
„ Integrar y probar el código desarrollado con el resto del sistema (releases
anteriores).
„ Capturar y revisar los resultados de las pruebas.
„ Evaluar los resultados de las pruebas relacionadas al criterio de evaluación.
„ Conducir una evaluación de la iteración.

Ö Preparar la descripción del release


„ Sincronizar el código y los modelos de diseño
„ Ubicar los productos de la iteración en librerías controladas

61 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Distribución del Trabajo en la Iteración


Ö El trabajo a realizar en la iteración está determinado por:
Ö El / los casos de uso implementados.
Ö El retrabajo a realizar.
Ö Paquetes de trabajo organizados convenientemente para los
desarrolladores.
„ Paquetes de Alto Nivel pueden ser asignados a equipos.
„ Paquetes de bajon nivel pueden ser asignados a
desarrolladores individuales.
Ö Los casos de uso son un paquete de trabajo conveniente para
pruebas y evalauciones de equipos.
Ö Los paquetes son útiles también para determinar la granularidad de
aplicación de la gestión de configuración.
„ Por ejemplo, check-in y check-out de paquetes individuales
62 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Evaluación de la Iteración
Ö Evaluar los resultados de la iteración en relación a los criterios
establecidos durante la planificiacíón de la iteración:
„ Funcionalidad

„ Performance

„ Capacidad

„ Medidas de Calidad

Ö Considerar cambios externos que han ocurrido durante la


iteración
„ Por ejemplo, cambios a los requerimientos, necesidades

de los usuarios, planes de la competencia


Ö Determinar que retrabajo se debe hacer, si existe, y asignarlo a
las iteraciones restantes
63 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Elección de Iteraciones
Ö Cuántas iteraciones se necesitan?
„ En proyectos de 18 meses o menos, es común tener de 3
a 6 iteraciones
Ö Son todas las iteraciones del proyectos son del mismo tamaño?
„ Usualmente

„ El tamaño de la iteración puede variar en cada fase. Por


ejemplo, las iteraciones de la elaboración pueden ser más
cortas que las iteraciones de la construcción.

64 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

No existen balas de plata


Ö Recuerde la razón principal para usar un ciclo de vida iterativo:
„ No se tiene toda la información que se necesita al

principio
„ Las cosas cambiarán durante el período de desarrollo

Ö Se debe esperar que:


„ Algunos riesgos no sean eliminados como se planeó.

„ Se descubrirán nuevos riesgos.

„ Se requerirá algo de retrabajo; algunas líneas de código

desarrolladas deberán tirarse.


„ Los requerimientos cambiarán en el camino.

65 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Conducido por Use Cases . . .

Requerimientos Análisis Diseño Implementación Prueba

ƒ Captura el Valor de los Requerimientos

ƒ Conduce el Proceso

ƒ Delinea la arquitectura

66 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Centrado en la Arquitectura . . .

Arquitectura = Elementos + Formas + Motivaciones

67 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Función versus Forma...

Casos de Uso Arquitectura

• Los casos de uso especifican función; la arquitectura


especifica forma
• Los casos de uso y la arquitectura deben estar
balanceados
68 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Las Vistas presentan la Arquitectura

La arquitectura es el conjunto significativo de decisiones


a cerca de:
La organización del sistema de software
La selección de elementos estructurales
y sus interfaces
Su comportamiento
La composición de esos elementos estructurales y
de comportamiento en subsistemas progresivamente
más grandes.
El estilo arquitectónico que guía esta organización.

69 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Arquitectura
Ö La arquitectura de Software implica definiciones a
cerca de:
ƒ Usabilidad
ƒ Funcionalidad
ƒ Performance
ƒ Resistencia
ƒ Reuso
ƒ Compresibilidad
ƒ Restricciones Económicas y Tecnológicas
ƒ Aspectos Estéticos

70 Ing. Judith Meles


Vistas en UML UML y Proceso Unificado de Desarrollo
montaje del sistema
vocabulario administración de la
funcionalidad configuración

Vista de Vista de Implementación


Diseño

Classes, interfaces,
collaborations comportamiento Componentes
Use cases

Vista de Use
Case
Vista de Vista de Despliegue
Proceso

Clases Activas Nodos


performance Topología, distribución
escalabilidad Entrega e instalación

71 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

¿Cuántas Vistas?
„ Modelos simplificados para mostrar el contexto
„ No todos los sistemas requieren todas las vistas:
„ Procesador Único: saltear la vista de despliegue
„ Procesos Simples: saltear vista de proceso
„ Programas muy pequeños: saltear la vista de
implementación.
„ Otras Vistas que se pueden agregar:
„ Vista de los datos, vista de seguridad

72 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

La descripción del sistema se separa en Vistas


Cada Vista representa una proyección de la descripción completa del sistema,
enfatizando un aspecto particular.
Ö Vista de Casos de Uso
„ Describe la funcionalidad que debe proveer el sistema, tal como la ven los
Actores (usuarios, otros sistemas, etc.)
Ö Vista Lógica
„ Describe como será provista la funcionalidad del sistema (clases,
objetos y relaciones)
Ö Vista de Componente
„ Describe los módulos de implementación y sus dependencias (código
fuente, bibliotecas, componentes de terceros)
Ö Vista de Despliegue
„ Muestra la distribución física del sistema (computadoras, dispositivos)

73 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

La Vista de Casos de Uso


Ö Actor
„ Un actor es alguien o algo que debe interactuar con el sistema que
estamos modelando
Ö Casos de Uso
„ Cada Caso de Uso es una secuencia de transacciones que ocurren en
un diálogo entre un Actor y el sistema
Ö Diagrama de Secuencia
„ Un Diagrama de Secuencia muestra las interacciones ente los objetos
distribuidas en una Secuencia de tiempo
Ö Diagrama de Colaboración
„ Un Diagrama de Colaboración muestra los vínculos y
responsabilidades de cada objeto basado en las interacciones que
existen entre ellos
Ö Diagrama de Estados
„ Un Diagrama de Estado describe los eventos que causan la transición
de un estado a otro y las acciones resultantes de un cambio de estado

74 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
La Vista Lógica

Ö Diagrama de Clase
„ Las clases existentes, sus atributos y operaciones, y las relaciones
estáticas que existen entre ellas
Ö Diagrama de Secuencia
„ Un Diagrama de secuencia muestra las interacciones ente los objetos
distribuidas en una secuencia de tiempo
Ö Diagrama de Colaboración
„ Un Diagrama de Colaboración muestra los vínculos y
responsabilidades de cada clase basado en las interacciones que
existen entre ellos
Ö Diagrama de Estados
„ Un Diagrama de Estado describe los eventos que causan la transición
de un estado a otro y las acciones resultantes de un cambio de estado

75 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

La Vista de Despliegue
Ö El Diagrama de Distribución muestra la configuración de las
unidades de procesamiento y los procesos que ejecuta cada
uno.
Ö Ilustra la ubicación de los componentes dentro de la empresa

76 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Ejemplo de Arquitectura
Vista Arquitectónica de Use Case
Describe la funcionalidad completa de los use cases más
significativos, en el caso de un cajero automático:
‰ Extracción
‰ Consulta

Vista Arquitectónica del Diseño Î Clases


Activas

Adm. Adm. Adm. Cuentas


Clientes Transacciones

77 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Ejemplo de Arquitectura
Vista Arquitectónica del Diseño Î
Subsistemas / Interfaces

<<subsistema>>
<<subsistema>> Administrador <<subsistema>>
Interface ATM Extracción
Transacciones Transferencia Administrador
Cliente Cuentas

Dispenser

Transferencia Depositos Historial

78 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Ejemplo de Arquitectura
Vista Arquitectónica del Despliegue Î
Distribución / Clases Activas

ATM Cliente Server de Server de


Aplicación Datos
Cliente
Adm internet intranet Adm
Adm
Cliente Cuentas
Transacci
c.

79 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Ejemplo de Arquitectura
Vista Arquitectónica del Despliegue Î
Distribución / Clases Activas

ATM Cliente Server de Server de


Aplicación Datos
Cliente
Adm internet intranet Adm
Adm
Cliente Cuentas
Transacci
c.

80 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Modelos de Arquitectura Lógica

Interfaz Interfaz Interfaz


Gráfica Gráfica Gráfica
Usuario Usuario Usuario

Base de Modelo Modelo


Datos Objetos Objetos
Negocio Negocio
Relacional

Base Datos
Relacional Base Datos
Relacional

81 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Modelos que se producen

1- Modelo de Negocio 6- Modelo de Proceso


2- Modelo de Dominio 7- Modelo de Despliegue
3- Modelo de Use Case 8- Modelo de Implementación
4- Modelo de Análisis 9- Modelo de Prueba
5- Modelo de Diseño

82 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Workflows y Modelos
Modelado de Modelo
Negocios del Negocios

Requirimientos Modelo Modelo Los diagramas de UML


l Case
Use del Dominio proveen vistas en cada
modelo
Análisis Modelo
Análisis

Diseño Modelo Modelo Modelo


l Despliegue
l De
l Proceso
Diseño

Implementación Modelo
Impl.

Prueba Modelo
Prueba
Cada workflow está
asociado con uno o
más modelos.
83 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Workflows del Proceso


El Proceso Unificado consiste de los siguientes
workflows:
1- Modelado de Negocio
2- Requerimientos
3- Análisis
4 -Diseño
5- Implementación
6- Prueba

84 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Estructura del Proceso Unificado de Rational


Fases
Workflows Centrales Inicio Elaboración Construcción Transición

Modelado de Negocio
Requerimientos
Análisis & Diseño
Implementación
Prueba
Despliegue
Workflows de Soporte
Ges. de Configurac.
Adm. De Proyecto
Entorno
Iteraciones Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Preliminares(s) #1 #2 #n #n+1 #n+2 #m #m+1

Iteraciones
85 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Workflow de Captura de Requerimientos


ª Propósito de la captura de Requerimientos
ª Que incluye:
Trabajo a Realizar Artefacto Resultante
Listar los Requerimientos Lista de Aspectos
candidatos

Comprender el contexto del Modelo de Negocio


sistema Modelo de Dominio

Capturar Requerimientos Modelo de Use Cases


Funcionales

Capturar Requerimientos No Requerimientos


Funcionales Complementarios para use
cases específicos
86 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

El rol de los Requerimientos en el Ciclo de Vida


ª Fase de Comienzo: identificar la mayoría de los
use cases para delimitar el sistema y el alcance
del proyecto. Detallar los más críticos
ª Fase de Elaboración: capturar la mayoría de los
requerimientos restantes para poder estimar el
esfuerzo de desarrollo.
ª Fase de Construcción: identificar e implementar los
requerimientos restantes
ª Fase de Transición: Casi no hay captura de
requerimientos, a menos que se requieran
cambios.
87 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

Trabajadores y artefactos involucrados en la


Captura de Requerimientos

Analista de Especificador Diseñador Arquitecto


Sistemas de Use Case Interfaz
Responsable
Responsable Responsable Responsable
por
por por por

Modelo
de Use Actor Glosario Use Case Prototipo de Descripción
Case Interfaz de
de Usuario Arquitectura

88 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Análisis
ª¿ Por qué es importante este workflow?
ª Propósito del Análisis

Î Permite una especificación más precisa de los


requerimientos.
Î Se describe usando el lenguaje del desarrollador.
Î Estructura los requerimientos.
Î Puede verse como un primer corte del modelo de
diseño.

89 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El rol del Análisis en el Ciclo de Vida

ª Fase de Comienzo:
Contribuye a planificación de los incrementos.
ª Fases de Elaboración y Construcción:
Contribuye a obtener una estructura robusta y
estable y facilita una comprensión más
profunda de los requerimientos

90 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Workflow de Análisis
ª Propósito del workflow de Análisis

ª Que incluye
Trabajo a Realizar Artefacto Resultante
Análisis de Use Cases Clases de Análisis

Construir realizaciones de Modelo de Análisis


use cases

91 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Trabajadores y artefactos involucrados en


el Análisis

Arquitecto Ingeniero Arquitecto


de Use Case
Responsable
Responsable por
por Responsable
por

Modelo
de Análisis Descripción Realización Análisis de
Paquete
de de Use Case Clases
de Análisis
Arquitectura -Análisis

92 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Diseño
ª Propósitos del Diseño
Î Adquirir una comprensión profunda de aspectos
relacionados con requerimientos no funcionales y
restricciones del entorno de implementación.
Î Refinar los requerimientos para subsistemas, clases
e interfaces individuales.
Î Descomponer el trabajo de implementación en
piezas manejables por diferentes equipos de
desarrollo.
Î Capturar interfaces entre subsistemas.
Î Crear una abstracción de la implementación del
sistema.
93 Ing. Judith Meles
UML y Proceso Unificado de Desarrollo

El rol del Diseño en el Ciclo de Vida


ª Fase de Comienzo:
Contribuye a delinear la arquitectura.
ª Fases de Elaboración y Construcción:
Contribuye a obtener una estructura robusta y
estable del sistema, y crea el plano para el
modelo implementación.

94 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Diseño
ª Propósitos del Diseño

ª Que incluye
Trabajo a Realizar Artefacto Resultante
Análisis Arquitectónico Documento de Arquitectura
de Software

Construir el Modelo de Diseño Modelo de Diseño

Diseñar Persistencia Modelo de Persistencia /


Modelo de Datos

95 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Trabajadores y artefactos involucrados en


el Diseño

Ingeniero Ingeniero de
Arquitecto
de Use Case Componentes
Responsable
por
Responsable
por Responsable
por

Modelo
Modelo de
Realización
de Diseño Despliegue de Use Case Interface
Descripción Subsistema
de -Diseño Diseño de
Clases de Diseño
Arquitectura

96 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Implementación
ª Propósitos de la implementación

Î Planear las integraciones requeridas en cada


iteración.
Î Distribuir el sistema en componentes ejecutables
mapeables a los nodos del modelo de despliegue.
Î Implementar el diseño de las clases y subsistemas.
Î Prueba de Unidad de componentes.
Î Integración de componentes en uno o más
ejecutables.

97 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El rol de la Implementación en el Ciclo de Vida

ª Fase de Elaboración:
Crear un artefacto ejecutable de la
arquitectura.
ª Se focaliza en la Fase Construcción.
ª Fase de Transición:
Manejar los defectos encontrados.

98 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Implementación
ª Propósitos de la implementación

ª Que incluye
Trabajo a Realizar Artefacto Resultante
Estructurar Modelo de Implementación de Subsistemas
Implementación

Construir el Plan de Integración Plan de Integración

Ejecutar Prueba de Unidad Componentes Probados


Informe de Prueba

99 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Trabajadores y artefactos involucrados en


la Implementación

Integrador Ingeniero de
Arquitecto
de Sistema Componentes
Responsable
por
Responsable
por Responsable
por

Modelo
Modelo de
fonts.dll
{serverOnly}

de Despliegue Interface
Descripción Plan de
Implemen- Componente Subsistema
de Integración
tación
Arquitectura de de Implementación
Construcción

100 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Workflow de Prueba
ª Propósitos de la prueba

Î Planear las pruebas requeridas en cada iteración.


Î Diseñar e implementar las pruebas, diseñando casos
de prueba.
Î Ejecutar los tests y actuar en consecuencia con los
resultados de los tests.
Î Creación de procedimientos de prueba y
componentes ejecutables para la automatización
de las mismas.

101 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

El rol de la Prueba en el Ciclo de Vida

ª Fase de Comienzo: Planificación de pruebas


iniciales
ª Fase de Elaboración: Cuando la arquitectura
ejecutable es verificada.
ª Fase de Construcción
Cuando se implementa el sistema.
ª Fase de Transición: Concentra en defectos
detectados durante el uso.

102 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo
Workflow de Prueba

ª Propósitos de la prueba

ª Que incluye
Trabajo a Realizar Artefacto Resultante
Planear la Prueba Plan de Prueba

Diseñar los casos de Prueba Casos de Prueba

Ejecutar las Pruebas Requerimientos de Cambio

Evaluar las Pruebas Informe de Evaluación de Pruebas

103 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Trabajadores y artefactos involucrados en


la Prueba

Ingeniero Ingeniero de Tester de


de Prueba Componentes Tester de Sistema
Integración
Responsable por
Responsable
Responsable por
por

X X
X
Caso de Defecto
fonts.dll
{serverOnly}

Modelo Prueba
de Procedim.Evaluac. Plan de Prueba de
Prueba de dePrueba Prueba Componente
Prueba

104 Ing. Judith Meles


UML y Proceso Unificado de Desarrollo

Historia de Cambios
Fecha Descripión Autor

08/02/2004 Incorporación de ppt’s relacionadas con Judith Meles


la característica del proceso asociada al
ciclo de vida iterativo e incremental, y al
concepto de vistas arquitectónicas.

105 Ing. Judith Meles

You might also like