Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PUDS Y UML
DISENO DE CASOS DE USO
M.Sc. Angélica Garzón
1
Flujo de Trabajo Diseño
Realización caso
de uso - diseño
1 * *
* *
* *
* *
Interfaz
Clases del
Realización caso
diseño
de uso - diseño
Diseño - Artefactos
• Clase de diseño
– Sintaxis del lenguaje de programación
– Visibilidad de atributos y operaciones
– Traducción de las relaciones
– Métodos por pseudocódigo
– Estereotipos que se correspondan con
construcciones del lenguaje de programación
► realiza
Interfaz
Clases del
diseño
Diseño - Artefactos
• Realización de caso de uso-diseño
– Diagramas de clase
– Diagramas de interacción (clases, subsistemas,
interfaces)
– Flujo de sucesos-diseño
– Requisitos de implementación
«trace»
Subsistema de
diseño
► realiza
* * * *
► realiza *
Interfaz
Clases del *
diseño
► realiza
Subsistema de
diseño
Diseño - Artefactos
• Descripción de la arquitectura (vista modelo
de diseño)
– Descomposición en subsistemas
– Traza con clases de análisis
Descripción de
– Clases abstractas la arquitectura
– Clases generales y centrales
– Realizaciones de caso de uso
Modelo de
diseño
Diseño - Artefactos
• Modelo de despliegue
– Distribución física del sistema
– Nodos y relaciones
– Componentes por nodo Modelo de
– Correspondencia entre despliegue
arquitectura software y
arquitectura del sistema
*
Nodo
Diseño - Artefactos
• Descripción de la arquitectura
(vista modelo despliegue)
– Artefactos relevantes para la
arquitectura
Descripción de
la arquitectura
Modelo de
despliegue
Diseño - Trabajadores
• Arquitecto
– Responsable de la integridad de los modelos de
diseño y despliegue
• Ingeniero de casos de uso
– Responsable de la integridad de una o más
realizaciones de casos de uso-diseño
• Ingeniero de componentes
– Define y mantiene operaciones, atributos y
relaciones de una o más clases de diseño
Diseño - Actividades
Diseño de la
Arquitecto arquitectura
Diseñar un caso de
Ingeniero de uso
casos de uso
Subsistema
Modelo de Interfaz
Arquitecto
casos de uso
Clase de
diseño
Requisitos
adicionales Diseño de la
arquitectura
Modelo de
despliegue
Modelo de
análisis Descripción de la Descripción arquitectura
arquitectura (vista del (vista de modelo de
modelo de análisis) diseño y despliegue)
Diseño - Actividades
• Diseño de un caso de uso
Realización caso
Modelo de de uso - diseño
casos de uso Ingeniero de
casos de uso
Requisitos
adicionales Clase de
diseño
Diseñar un caso de
uso
Modelo de
análisis Subsistema
Realización caso
de uso - diseño Ingeniero de
componentes
Clase de
diseño
Diseñar una clase Clase de diseño
(completa)
Interfaz
Ingeniero de
Descripción arquitectura
componentes
(vista modelo de diseño)
Subsistema
(terminado)
Subsistema
(esbozado) Diseñar un
subsistema
Interfaz
Interfaz (terminada)
(esbozada)
Diseño - Actividades
Diseño de la
Arquitecto arquitectura
Diseñar un caso de
Ingeniero de uso
casos de uso
Subsistema
Modelo de Interfaz
Arquitecto
casos de uso
Clase de
diseño
Requisitos
adicionales Diseño de la
arquitectura
Modelo de
despliegue
Modelo de
análisis Descripción de la Descripción arquitectura
arquitectura (vista del (vista de modelo de
modelo de análisis) diseño y despliegue)
Diseño - Actividades
• Diseño de un caso de uso
Realización caso
Modelo de de uso - diseño
casos de uso Ingeniero de
casos de uso
Requisitos
adicionales Clase de
diseño
Diseñar un caso de
uso
Modelo de
análisis Subsistema
Realización caso
de uso - diseño Ingeniero de
componentes
Clase de
diseño
Diseñar una clase Clase de diseño
(completa)
Interfaz
Ingeniero de
Descripción arquitectura
componentes
(vista modelo de diseño)
Subsistema
(terminado)
Subsistema
(esbozado) Diseñar un
subsistema
Interfaz
Interfaz (terminada)
(esbozada)
Artefactos a obtener en el
FT de diseño
• Modelo del diseño
• Subsistema de diseño
• Clase de diseño
• Realización de caso de uso -- Diseño diseño
• Interfaz
• Descripción de la arquitectura
(vista del diseño)
• Modelo de despliegue
• Desc. de la arquitectura despliegue
(NO LO
(vista del despliegue) 22
TRATAREMOS)
JERARQUÍA DE SUBSISTEMAS
DE DISEÑO
MODELO DEL ANÁLISIS (MA) MODELO DEL DISEÑO (MDiseño)
PAQUETE DE SISTEMA DE
ANÁLISIS
DISEÑO
contiene
contiene
- Realizaciones de CU
- Realizaciones de CU
- Clases de diseño
- Clases de análisis
- Interfaces
- Otros paquetes de análisis
- Otros subsistemas de diseño
+ MODELO de DESPLIEGUE
23
Actividades en el FT de
diseño
• 1.- Diseño de la arquitectura
• Identificar nodos y configuraciones de red
• Identificar subsistemas y sus interfaces
• Identificar clases de diseño arquitecturalmente significantes
• Identificar mecanismo de diseño genéricos
• 2.- Diseñar caso de uso
• Identificar clases de diseño participantes
• Describir interacciones de objetos de diseño
• Identificar los subsistemas participantes e interfaces
• Describir interacciones entre subsistemas
• Capturar requisitos de implementación
24
Actividades en el FT de
diseño
• 3.- Diseñar clase
• Perfilar la clase de diseño
• Identificar las operaciones
• Identificar los atributos
• Identificar asociaciones y agregaciones
• Identificar generalizaciones
• Describir los métodos
• Describir los estados
• Tratar los requisitos especiales
• 4.- Diseñar subsistema
• Mantener dependencias entre subsistemas
• Mantener los interfaces proporcionados por el subsistema
• Mantener los contenidos del subsistema
25
…UML
DIAGRAMA DE SECUENCIAS
DIAGRAMA DE MAQUINA DE ESTADO
DIAGRAMA DE TIEMPO
DIAGRAMA DE NAVEGACION
Modelo avanzado del comportamiento
26
Los Diagramas de Iteracción
• Los diagramas de interacción pueden utilizarse
para:
– Visualizar
– Especificar
– Construir
– Documentar
“LA DINAMICA DE UNA SOCIEDAD PARTICULAR
DE OBJETOS, O MODELAR UN FLUJO DE
CONTROL PARTICULAR DE UN CASO DE USO”
27
Introducción
• Los objetos interactúan para realizar
colectivamente los servicios ofrecidos por las
aplicaciones.
• Los diagramas de interacción muestran cómo
se comunican los objetos.
• Existen dos tipos de diagramas de interacción:
el Diagrama de Comunicación y el Diagrama
de Secuencia.
• Esta visión proporciona una vista integral del
comportamiento del sistema, es decir,
muestra el flujo de control a través de muchos
28
objetos
Terminología y Conceptos
• Qué es una interacción?
– Es el conjunto de mensajes intercambiados entre
un conjunto de objetos dentro de un contexto
para lograr un propósito.
• Los diagramas están formados por:
– Objetos, mensajes y enlaces
• Un enlace es una conexión semántica entre
objetos. Un enlace es una instancia de una
asociación.
• Un enlace es el camino por donde fluyen
29mensajes.
Los mensajes
• Un mensaje es la especificación de una
comunicación entre dos objetos.
31
Diagramas de secuencia
• Diagrama que muestra las interacciones entre
los objetos organizadas en una secuencia
temporal.
• En particular muestra los objetos participantes
en la interacción y la secuencia de mensajes
intercambiados.
• El Diagrama de Secuencia es más adecuado
para observar la perspectiva cronológica de las
interacciones.
• Adecuado para análisis.
32
Diagramas de secuencia
• Un diagrama de secuencia puede mostrar un
escenario, es decir, una historia individual de
transacción.
• Un uso de un diagrama de secuencia es
mostrar la secuencia del comportamiento de
un caso de uso.
• Un diálogo de secuencia posee dos
dimensiones: la vertical representa el tiempo,
la horizontal representa los objetos que
33participan en la interacción.
Los objetos
• Cada objeto representa una columna distinta,
se pone un símbolo de objeto, debajo de él va
una linea punteada que se conoce como línea
de vida del objeto.
• Se pone una X grande en el punto en que deja
de existir el objeto.
34
Mensajes
• Cada mensaje se representa mediante una
flecha horizontal que va desde la línea de vida
del objeto que envió el mensaje hasta la línea
de vida del objeto que ha recibido el mensaje.
• Si un mensaje requiere un cierto tiempo para
llegar a su destino, entonces la flecha del
mensaje se dibuja diagonalmente hacia abajo
35
Mensajes
• Los mensajes pueden ser:
– Simples: Es la transferencia de control de un
objeto a otro
– Síncronico:Es el mensaje al cual el objeto esperará
respuesta para poder continuar
– Asíncronico: A este mensaje no se le esperá
respuesta para continuar su trabajo
36
Focos de control
• El foco de control es un rectangulo delgado,
que está sobre la linea de vida del objeto.
• Representa el período de tiempo durante el
cual un objeto ejecuta una ación.
37
Diagrama de secuencia
38
Diagramas de secuencia
39
Diagrama de Secuencia en UML
obj1: IU_CU_X obj2: Gestor_X obj3: Clase_X
: ACTOR
1: escribe d
y solicita 2: busca(d)
3: getAtributoY()
.... .... return v
....
1: Introducir
elSocio Signatura y numSocio()
Se repite hasta que se
2: Aceptar() encuentre un libro
con la signatura que
3: obtenerLibro(signaturaLibro:String)
estamos buscando
4: getSignatura()
elLibro()
laCopiaLibre()
9: getNumSocio()
10: haLLegadoLimite(elSocio:Socio)
11: isLímitePréstamo()
13: Aceptar()
9: añadirReserva(elSocio:Socio)
10: añadirReserva(elLibro:Libro)
42
Operador “Opt”
sd SintaxisOpt
a()
opt
[expresion1]
b()
c()
e()
[expresion2]
d()
43
Operador “loop”
s d e j e m I te r a c i o n
: u se rI n t e rf a c e : d a t a C o n t ro l : d a t a S o u rc e
so l i c i t a rV e c t o r()
n = o b t T a m V e c t o r()
lo o p
[i = 1 ..n ]
o b t E l e m e n t o (i )
e n t re g a V e c t o r()
44
Evento
• En el mundo suceden muchas cosas, esperadas y no
esperadas, incluso suceden al mismo tiempo
• Las “cosas que suceden” se llaman eventos
• En sistemas software son los “estimulos” que dispara
una transicion de estado.
• Eventos síncronos: llamadas
• Eventos asíncronos: una señal, el paso del tiempo
45
Terminología
• Evento
– La especificación de un acontecimiento significativo que tiene
ubicación en tiempo y espacio
• Estado
– Una condición o situación durante la vida de un objeto, durante el cual
se cumple una condición, realiza acciones o espera algún evento
• Transición
– El movimiento de un estado a otro en respuesta a un evento
• Acción
– Ejecución atómica interna de un objeto
46
Inicio de un Evento
• Pulsar un botón en un cajero automático
• Un robot autónomo tropieza con un objeto
• Detección de sobrecarga en los buffer de mensajes
en un dispositivo enrutador de red
• Tiempo fuera de lo establecido para una acción en
una planta química
47
Maquina de estado
• Modela el comportamiento de un objeto
individual
• Especifica la secuencia de estados por los que
atraviesa un objeto durante su vida en
respuesta a eventos
48
Para que sirven?
• Mostrar el comportamiento dinámicos de las
instancias de:
– Clases, Casos de uso, subsistemas y sistemas
• Modelar la historia del ciclo de vida de un solo objeto
reactivo como un maquina de estado finita
• La maquina realiza transiciones entre los estados de
un objeto debido a las acciones que realiza el objeto
en respuesta a eventos
Así trabaja
la maquina
49
Ejemplo
stm Termostato
Initial
Final
Inactiv o
demasiadoCaliente
demasiadoFrio
tempAlcanzada
tempAlcanzada
demasiadoCaliente
Enfriando
Calentando
demasiadoFrio
50
… otro ejemplo
stm prestamoLibro
Initial
EnPrestamo Terminado
devolverLibro
pagarMulta
[tiempo > duracionMaxima]
Retrasado TenerMulta
devolverLibro Final
51
+ ejemplo
stm prestamoBanco
Impagado
Initial
AceptarPago
AceptarPago
Final
52
Diagrama de Tiempo
• Define el comportamiento de objetos con una escala de
tiempo
• Provee una representación visual de los objetos cambiando
de estado a lo largo del tiempo
• Muestra la interacción entre los eventos, las restricciones de
tiempos y la duración
• Línea de vida del estado:
– El eje X muestra el tiempo trascurrido en cualquier unidad que se elija
– El eje Y se nombra con una lista de estados proporcionados
53
Para que sirven?
• Para modelar sistemas en tiempo real
• Para definir componentes de software
dirigidos por hardware o embebidos
– Controladores de trafico
– Un controlador de microondas
• También puede usar diagramas de tiempo
para especificar procesos de negocio dirigidos
por tiempo
54
Ejemplo: Diag. de Tiempo
55
Diseño de Aplicaciones Web*
57
Diagramas de Navegación - UML
58
Enlaces
Expresan la estructura relacional de las diferentes
páginas que conforman el diagrama.
Se representan así:
<<build>> <<link>>
shopcart mycart dailyspecial
<<form>>
<<server page>>
updatecart cartform
<<submit>>
61