Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía. 1 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013. Mg. María Mercedes Vitturini [[email protected]] Dpto. Cs. e Ing. de la Computación Universidad Nacional del Sur ANÁLISIS Y DISEÑO DE SISTEMAS Clase XV: Modelo Dinámico Diagramas de Secuencia y Comunicación Primer Cuatrimestre 2013 • El modelo dinámico (MD) o modelo de comportamiento representa los aspectos del sistema relacionados con el tiempo y los cambios que se producen. • El MD se ocupa de modelar la evolución de los objetos y sus relaciones a medida que pasa el tiempo. • Los conceptos destacados del MD son: los eventos, mensajes/señales enviados entre objetos y estados por los que atraviesan los objetos. Modelo Dinámico – Generalidades 2 AyDS2012 - Clase 15- MMV 2 Modelo Dinámico • Los distintos modelos que conforman la vista dinámica de un sistema se organizar en: – Modelos de Interacción • Diagramas de Secuencia – Diagrama de Secuencia del Sistema • Diagramas de Comunicación (ex-colaboración) • Diagrama de CU – Modelo de Estados • Diagrama de Estados – Diagramas de Actividades AyDS2012 - Clase 15- MMV 3 UML Reference Manual “The interaction view describes sequences of message exchanges among roles that implement behavior of a system. A classifier role is the description of an object that plays a particular part within an interaction, as distinguished from other objects of the same class. This view provides a holistic view of behavior in a system— that is, it shows the flow of control across many objects. “ AyDS2013 - Clase 14- MMV 4 Modelos de Interacción Diagramas de interacción – modelan aspectos dinámicos relacionados con el diseño de los objetos. • Describen interacciones entre un conjunto de objetos del sistema y sus colaboraciones. • Las interacciones sirven para: visualizar, especificar, construir y documentar la dinámica de una sociedad particular de objetos. • Unos de los usos de los diagramas de interacción es modelar el flujo mensajes entre objetos que colaboran en un caso de uso. 5 AyDS2012 - Clase 15- MMV Modelos de Interacción • Respetando el principio de generalidad, los modelos de interacción se construyen a distintos niveles de abstracción: De mayor nivel de abstracción: – Interacciones entre Actor y Sistema • Diagrama de Secuencia del Sistema De mayor nivel de detalle (variable): – Intercambio de mensajes entre los objetos del sistema • Diagramas de Secuencia y Diagramas de Comunicación. AyDS2012 - Clase 15- MMV 6
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
A classifier role is the description of an object that
plays a particular part within an interaction, as
distinguished from other objects of the same class.
This view provides a holistic view of behavior in a
system— that is, it shows the flow of control
across many objects. “
AyDS2013 - Clase 14- MMV 4
Modelos de Interacción
Diagramas de interacción – modelan aspectos
dinámicos relacionados con el diseño de los objetos.
• Describen interacciones entre un conjunto de
objetos del sistema y sus colaboraciones.
• Las interacciones sirven para: visualizar, especificar,
construir y documentar la dinámica de una sociedad
particular de objetos.
• Unos de los usos de los diagramas de interacción es
modelar el flujo mensajes entre objetos que
colaboran en un caso de uso.
5 AyDS2012 - Clase 15- MMV
Modelos de Interacción
• Respetando el principio de generalidad, los
modelos de interacción se construyen a distintos
niveles de abstracción:
De mayor nivel de abstracción:
– Interacciones entre Actor y Sistema
• Diagrama de Secuencia del Sistema
De mayor nivel de detalle (variable):
– Intercambio de mensajes entre los objetos del sistema
• Diagramas de Secuencia y Diagramas de
Comunicación.
AyDS2012 - Clase 15- MMV 6
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
Repaso – Diagrama de Secuencia del Sistema (DSS)
DSS del
escenario de
«Procesar Venta
al Contado»
Iteración
AyDS2012 - Clase 15- MMV
Interacción con «El Sistema»
7
Escenarios
• Un escenario es una secuencia específica de
acciones y eventos entre actor/es y el sistema
objeto de estudio.
– Un escenario es “una historia” particular de uso del
sistema.
• Se los asocia con el concepto de instancia de
caso de uso.
– Depende!! (nivel de detalle de casos de uso).
• Existen múltiples escenarios de la ejecución de un
sistema.
– Casos de éxito y casos alternativos.
AyDS2012 - Clase 15- MMV 8
Escenarios
• El alcance de un escenario puede variar, aunque se
aconseja reducirlo a la ejecución de Procesos de
Negocio Elementales EBPs (Elementary Business
Processes).
EBP – es una tarea realizada por “una persona” en un
lugar y en un momento como respuesta a un evento del
negocio; que añade un valor cuantificable para el
negocio y deja los datos en un estado consistente.
• Ejemplos:
– Autorizar crédito, registrar venta, dar de alta a un
cliente.
AyDS2012 - Clase 15- MMV 9
• Como vimos, la descripción de un caso de uso debe
abarcar todas las situaciones posibles del caso de
uso.
• Un escenario cubre una instancia del casos de uso.
• El escenario es una ejecución particular, siguiendo
alguno de los caminos del caso de uso.
• Cada caso de uso se instancia con varios
escenarios.
• ¿Qué se construye primero? Depende!!
– Del problema, del cliente, de las preferencias …
– Tip! El objetivo es obtener los requerimientos del
cliente.
Descripción de CU y Escenarios
AyDS2012 - Clase 15- MMV 10
Escenario Sistema “MiBiblio” CU Registrar Devolución – Escenario
camino básico, devolución exitosa
1. El Empleado de Atención la Público (EAP) ingresa el número del
ejemplar que se devuelve.
2. El Sistema recupera el préstamo corriente vinculado con el ejemplar.
3. El Sistema recupera y muestra los datos del socio vinculado al
préstamo (socio-número, socio-nombre y socio-foto).
4. El Sistema muestra el detalle del préstamo (fecha-préstamo, fecha-
limite-devolución).
5. El Sistema controla que la devolución es en término.
6. El EAP confirma que el ejemplar es devuelto en condiciones.
7. El EAP confirma la devolución.
8. El Sistema registra fecha-devolución en el préstamo.
9. El Sistema cambia el estado del ejemplar a disponible.
10. El Sistema guarda los datos en la base de datos.
AyDS2012 - Clase 15- MMV 11
EAP
RegistrarDevolucion
MostrarDatosSocio
<<include>>
Niveles de Detalle • Con los escenarios también se pueden usar distintos
niveles de abstracción:
– Interacciones descriptas alto nivel
Ejemplo:
• “El cliente se loguea en el sistema.”
– Interacciones detalladas + parámetros
Ejemplo:
• Loguear (cliente_número, cliente_passwd).
• Cada empresa define sus estándares.
12 AyDS2012 - Clase 15- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
Modelos de Interacción:
Diagrama de Secuencia
Diagrama de Secuencia
• El Diagrama de Secuencia es un tipo de
diagrama de interacción provisto por UML.
• Tiene como objetivo principal describir cómo los
participantes de una interacción intercambian
mensajes para producir un resultado.
• Un diagrama de secuencia muestra (con mayor
o menor grado de detalle) cómo los objetos del
sistema intercambian mensajes en el tiempo.
14 AyDS2012 - Clase 15- MMV
• El diagrama de secuencia muestra los objetos
participantes en una interacción y la secuencia de
mensajes entre ellos.
• Cada objeto se representan por una línea vertical
denominada la línea de vida.
• Cada mensaje se representa por una línea horizontal
dirigida desde el que la envía hacia el que la recibe.
• El tiempo transcurre desde arriba hacia abajo.
• Los DS muestran secuencias de mensajes NO su
duración.
Elementos del DS
15 AyDS2012 - Clase 15- MMV 15
Elementos del DS
• Cada diagrama de secuencia presenta una
interacción particular (un escenario).
• En la interacción aparecen instancias de clase,
sean instancias identificadas o genéricas.
• Notación:
AyDS2012 - Clase 15- MMV 16
:Cliente miCliente:Cliente
instancia instancia nombrada
Línea de vida
Mensajes
• Mensajes: los mensajes entre objetos se
representan con una línea de flecha (línea
direccionada) entre los objetos.
• Mensajes de retorno: opcionalmente se muestran
los mensajes de retorno con una línea direccionada
punteada.
• Mensajes “self”: son los mensajes que un objeto se
envía a sí mismo.
AyDS2012 - Clase 15- MMV 17
DS: Guía para la construcción
• Los DS muestran la interacción de los objetos
internos por medio de mensajes, destacando su
ordenación temporal.
• El diagrama se desarrolla a través de un eje X donde
sobre la izquierda se ubica al objeto que inicia la
interacción y a continuación los objetos subordinados.
• Los objetos que se creen durante la interacción están
por debajo del nivel del eje X.
• Cada objeto tiene asociada su línea de vida, que
eventualmente puede indicar cuando el objeto se
destruye.
AyDS2012 - Clase 15- MMV 18
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
Diagrama de Secuencia
AyDS2012 - Clase 15- MMV
Objetos
Tie
mp
o
Línea de Vida Mensajes
Destrucción
del objeto
19
: Clase1 : Clase2
: Clase3mensaje1()
mensaje2()
mensaje3()
mnesaje4()
mensaje5()
• El diagrama de secuencia del sistema (DSS) es un
tipo específico de diagrama secuencia.
• Muestra los eventos entrantes y salientes vinculados
con el sistema como una caja negra.
• Acompañan las primeras descripciones de los casos
de uso como parte del modelado del dominio.
• El DSS muestra para un escenario específico, los
eventos que generan los actores externos, el orden y
los eventos de respuesta del sistema.
Diagrama de Secuencia del Sistema (DSS) - Repaso
20 AyDS2012 - Clase 15- MMV 20
Ejemplo: Diagrama Secuencia del Sistema
AyDS2012 - Clase 15- MMV 21
DSS Reservar Turno DNI
Diagramas de Secuencia y Escenarios
• Un diagrama de secuencia es la representación
gráfica de un escenario o ejecución particular.
• Cronológicamente:
1. Se identifica el/los casos de uso.
2. Se describen los casos de uso (camino básico y
alternativos).
3. Se elaboran uno o más escenarios asociados al caso
de uso.
4. Se construyen los diagramas de secuencia del
sistema.
5. Se construyen los diagramas de secuencia.
22 AyDS2012 - Clase 15- MMV
• Un escenario para el Caso de Uso
Realizar_Extracción del ATM:
1. El cliente solicita “Extracción”
2. El sistema ofrece el
formulario_extracción.
3. El cliente informa y confirma el
monto.
4. El sistema verifica la operación
(hay dinero y la operación es
válida para la cuenta).
5. El sistema le solicita su clave.
6. El cliente ingresa su clave.
7. El sistema verifica la clave.
8. El sistema deja registro de la
operación en la Base de Datos.
9. El sistema entrega el dinero e
imprime el ticket.
10. El cliente cierra la sesión
11. El sistema entrega la tarjeta.
Cliente
Extraer DineroRealizar_Extra
cción
Usuario
ATM • Los escenarios colaboran con la construcción de
los DS.
• Ejemplo: un escenario para la llamada de un
ascensor detenido
1. La usuario presiona el botón llamada.
2. El botón envía el mensaje al controlador del
ascensor.
3. El controlador mueve el ascensor.
4. Ascensor avisa al controlador que llegó a un piso.
5. Controlador ordena detener el ascensor.
6. Ascensor abre las puertas.
Ejemplo: Llamada al Ascensor
AyDS2012 - Clase 15- MMV 24
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
Ejemplo Ascensor
25 AyDS2012 - Clase 15- MMV 25
Ejemplo Realizar Pago
• A través de las evoluciones del DS se descubren
operaciones y sus argumentos.
• En el ejemplo Registro invoca al método realizarPago de
la clase Venta y le pasa como parámetro el dinero
entregado.
• …
26 AyDS2012 - Clase 15- MMV
Mensajes con argumentos
Nace el objeto
¿Diagramas de Secuencia?
Diseño de objetos – «después de la
identificación de requisitos y de la creación del
modelo de dominio, la siguiente actividad es
añadir métodos a las clases del software».
• Los diagramas de secuencia ayudan a la
decisión de:
– ¿qué métodos?,
– ¿dónde colocarlos? y
– ¿cómo deberían interactuar los objetos?
AyDS2012 - Clase 15- MMV 27
Responsabilidades y métodos
Responsabilidades de los objetos:
• Hacer
– Algo a él mismo (crear, hacer un cálculo).
– Iniciar una acción en otros objetos.
– Controlar/coordinar actividades en otros objetos.
• Conocer
– Sus datos privados encapsulados.
– Los objetos con los que se relaciona.
• Los diagramas de interacción colaboran con una
correcta elección en la asignación de responsabilidades
(«haceres» y «conoceres») a los objetos.
AyDS2012 - Clase 15- MMV 28
Ejemplo: Sistema de Reservas para un
Restaurant
El siguiente ejemplo usa varios de los modelos vistos
hasta el momento
El requerimiento • Requerimiento registrar reserva.
30 AyDS2012 - Clase 15- MMV
Actor Requerimiento Datos
Empleado Registrar la reserva de un
cliente de una o varias mesas
Novedades_Rerserva (DE)
Nro. Req F1
Categoría Funcional
Descripción Registrar reserva
Descripción
detallada
Guarda la reserva de un cliente del restaurant para una día y un
turno (mediodía / noche) para una o varias mesas. Solo se aceptan
reservas de clientes anteriores del restaurante. No se reservará una
mesa si ya está reservada para el mismo día y turno. Inicialmente
cuando se carga la reserva la misma queda en estado “pendiente”.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.
Modelos Vistos
31 AyDS2012 - Clase 15- MMV
Empleado
Registrar_Reserva
31
Cliente
+dni+apellido+nombres+telefono
Mesa
+capacidad+sector
Tipo_sector<<enumeration>>
+fumador+no_fumador
Reserva
+fecha+turno+estado
Tipo_turno<<enumeration>>
+almuerzo+cena
Linea_reserva
+nro_linea+estado
1..*
reservado_a
1 0..*
1
0..*
Estado<<enumeration>>
+pendiente+cancelada+deshabilitada
Descripción del CU
32
Caso de Uso: REGISTRAR_RESERVA Parámetros de Entrada: Novedades_Reserva Descripción: funcionalidad registrar la reserva de una o más mesas a nombre de un cliente
para un día y turno Clases / Asociaciones: Reserva (C), Linea_Reserva (C), Reservas_Cliente (A), Mesas_Reservadas(A)
Curso Básico:
1. El empleado selecciona “Registrar Reserva”
2. El sistema muestra el formulario de reserva.
3. El empleado ingresa [fecha, turno, cliente_dni] s/Novedades_Reserva
4. El sistema verifica que el cliente existe.
5. El sistema crea una nueva reserva(número, fecha, turno) asociada al cliente en estado
«pendiente»
REPETIR
6. El empleado selecciona [nro_mesa] a reservar s/Novedades_Reserva
7. El sistema verifica si la mesa está disponible para reservar en el día-turno.
8. El sistema agrega una líena_reseva para la mesa con estado «pendiente»