Sesion diagrama de secuencia 2010 i
-
Upload
julio-pari -
Category
Documents
-
view
1.687 -
download
0
Transcript of Sesion diagrama de secuencia 2010 i
![Page 1: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/1.jpg)
Diagramas de Secuencia
Lic. César Alcántara Loayza
![Page 2: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/2.jpg)
CAL/Fundamentos 2
Diagramas De Secuencia El objetivo del análisis del problema es
definir el propósito e interfaces de cada recurso del dominio del problema.
Se determinó el propósito al definir cada clase y sus relaciones en un diagrama de clases.
Ahora veremos las interfaces. Las principales herramienta para descubrir y comprender las interfaces son los diagramas de interacción.
![Page 3: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/3.jpg)
CAL/Fundamentos 3
Los diagramas de secuencia y colaboración son usados para modelar interacciones entre los objetos. Los diagramas de secuencia ilustran la interacción entre objetos en el tiempo. Los diagramas de colaboración ilustran las interacciones de los objetos a través de enlaces entre objetos.
Diagramas De Secuencia
![Page 4: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/4.jpg)
CAL/Fundamentos 4
Las interacciones ayudan a definir el propósito de un objeto, esto decir, las formas en las que un objeto participa en tareas, como se comunica y trabaja con otros objetos, el por que se necesita del objeto.
Las interfases son preguntas y solicitudes que un objeto es capaz de responder. Si la declaración del problema dice que un objeto debe ser capaz de responder una pregunta o responder a una solicitud, entonces el objeto debe tener una interface correspondiente.
Diagramas de Secuencia
![Page 5: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/5.jpg)
CAL/Fundamentos 5
Operaciones y atributos: Una interface aparece como una
operación en una definición de clase. Las operaciones describen lo que el objeto puede hacer y lo que puede hacerle al objeto. Las operaciones pueden recibir, manipular y regresar información. Esta información aparece en las definiciones de clase como atributos.
Diagramas De Secuencia
![Page 6: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/6.jpg)
CAL/Fundamentos 6
Los diagramas de secuencia muestran objetos que se comunican unos con otros a lo largo del tiempo. Utilizando, objetos, linea de vida de los objetos y flechas de mensaje.
Diagramas De Secuencia
![Page 7: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/7.jpg)
CAL/Fundamentos 7
Diagramas De Secuencia En siguiente diagrama de secuencia:
Los objetos usan la notación estandar, un rectangulo que contiene el nombre del objeto, dos puntos y el nombre de la clase del objeto. Estos tres elementos subrayados. El nombre del objeto es opcional. Nombreobjeto:nombreclase.
La linea de vida del objeto es una línea discontínua vertical.
Los mensajes aparecen como flechas.
![Page 8: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/8.jpg)
CAL/Fundamentos 8
Diagramas De Secuencia
Factura : Cliente Orden de Factura : Orden : Inventario
orden( )
retornar orden
AddArticulo( )
ProductoDisponible(Producto)
retorno verdadero
AddProducto(producto)
retorno ok
![Page 9: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/9.jpg)
CAL/Fundamentos 9
Mensaje. Un mensaje se presenta como una flecha
horizontal desde la línea de vida del objeto que envía hasta la línea de vida del objeto que recibe.
La terminología puede varias entre las versiones de UML ..
Una posición en la línea de vida indica un punto relativo en el tiempo. El tope de la línea representa el comienzo de la línea de vida. La parte baja corresponde al final de la linea de vida.
Diagramas De Secuencia
![Page 10: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/10.jpg)
CAL/Fundamentos 10
El contexto del diagrama de secuencia es la comunicación entre objetos. El alcance del diagrama de secuencia está determinado por la fase actual del ciclo de vida del proyecto. Durante el análisis del problema, el alcance es la comunicación entre los actores, el sistema y los recursos del sistema.
Diagramas De Secuencia
![Page 11: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/11.jpg)
CAL/Fundamentos 11
Al construir un diagrama de secuencia es útil partir el proceso en dos partes: Paso 1: describir las interacciones entre el actor
y el sistema. Esto permite mantener el diagrama tan simple como sea posible. Mientras se trabaja en comprender como debe trabajar el caso de uso.
Paso 2: expandir el sistema para incluir los recursos usados por el sistema. Una vez que se sabe como debe trabajar el caso de uso, se remapea el comportamiento del sistema para mostrar los objetos recursos usados por el sistema para completar el comportamiento.
Diagramas De Secuencia
![Page 12: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/12.jpg)
CAL/Fundamentos 12
Diagramas De Secuencia
: Cliente : Sistema Bancario
retira $100
fondos insuficientes ¿otro monto?
retira $45
denominación inválida ¿otro monto?
retira $40
$40 + recibo
Primer paso:
![Page 13: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/13.jpg)
CAL/Fundamentos 13
Diagramas De Secuencia
: Cuenta : Cliente : Sistema Bancario
retira $100
fondos insuficientes ¿otro monto?
retira $45
denominación inválida ¿otro monto?
retira $40
$40 + recibo
retira $100
fondos insuficientes
denominación válida?
retira $40
OK
Segundo paso
![Page 14: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/14.jpg)
CAL/Fundamentos 14
Muchos casos de uso incluyen decisiones. Cursos de acción que resultan de multiples decisiones pueden ser muy complejas. Los diagramas de secuencia UML permiten bifurcaciones pero son dificiles de leer, por ello se recomienda que el diagrama de secuencia se limite a un solo escenario. Un escenario es una ruta lógica (ejecución particular) del caso de uso.
Diagramas de Secuencia
![Page 15: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/15.jpg)
CAL/Fundamentos 15
Transformar una especificación textual en un diagrama de secuencia: Un escenario describe una serie ordenada
de eventos dentro de un caso de uso. El objetivo del diagrama de secuencia es asignar responsabilidades de los eventos a los objetos, de forma que definan las interfaces del objeto. Para construir un diagrama de secuencia se debe emparejar cada evento del escenario con los objetos que participan en el evento como remitente y receptor.
Modelando Escenarios
![Page 16: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/16.jpg)
CAL/Fundamentos 16
Para dibujar un diagrama de secuencia, evalue cada evento del escenario e identifique el objeto que inicia el evento. Luego identifique el objeto que está mejor preparado para responder. Dibuje una flecha de evento desde el objeto iniciador al objeto que responde. Rotule la flecha de evento con la descripción del evento
Modelando Escenarios
![Page 17: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/17.jpg)
CAL/Fundamentos 17
A medida que coloca eventos en el diagrama de secuencia cuide la posición sobre la linea de vida del objeto desde arriba hacia abajo en el orden en el que ocurren. Ajuste el orden de ser necesario.
Modelando Escenarios
![Page 18: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/18.jpg)
CAL/Fundamentos 18
Realización
La realización de los CUS se pueden hacer con diagramas de colaboración (modelo de análisis y luego aplicación del análisis de robustez) ó se pueden emplear diagramas de secuencia ó se puede hacer textualmente.
![Page 19: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/19.jpg)
CAL/Fundamentos 19
obtener presentaciones para evento seleccionado
Obtener las 20 siguientes presentaciones por fecha
Muestre las presentaciones
Obtener los eventos para las 20 presentaciones seleccionadas
Mostrar los eventos
Validar fechas ingresadas
[ Ingresa rango fechas ]
Mostrar mensaje timeout
[ timeout ]Obtener detalle de
presentaciones
selecciona presentación[ selecciona evento ]
[ cancela ]
Muestra presentaciones para el rango de fechas
fechas válidas
mostrar mensaje de error
[ fechas inválidas ]
mostrar detalle de presentaciones
C
B
B
A
C A
B
Evento 1
Evento 2 Evento 3
Evento 4
Evento 5 Evento 5
Evento 6
Tomarlo solo como ejemplo visual de escenarios
![Page 20: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/20.jpg)
CAL/Fundamentos 20
Utilice un escenario como fuente de los eventos. De la especificación (representada por el diagrama de actividad) se ha seleccionado un escenario (marcado con color celeste) una ruta lógica.
En el diagrama de actividad se ha utilizado las notas como conectores (color gris).
Modelando Escenarios
![Page 21: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/21.jpg)
CAL/Fundamentos 21
Para el primer evento (Obtener las 20 siguientes presentaciones por fecha), escoja la clase del diagrama de clases que describa el objeto que inicia el evento. El objeto que da inicio puede ser una clase que representa un actor, el sistema mismo, o uno de los recursos del dominio del problema. En este caso el objeto iniciador es el cliente.
Modelando Escenarios
![Page 22: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/22.jpg)
CAL/Fundamentos 22
Las clases que participan
Cliente
SistemaDeBoletaje
Presentación
Evento
0..*0..*
Modelando Escenarios
![Page 23: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/23.jpg)
CAL/Fundamentos 23
Modelando Escenarios
Obtener 20 siguientes presentaciones por fecha
: Cliente : SistemaDeBoletaje
![Page 24: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/24.jpg)
CAL/Fundamentos 24
Para cada evento se encoge una clase que describa el objeto que recibe y responde al evento.
: Cliente : SistemaDeBoletaje
Obtener 20 siguientes presentaciones por fecha
Mostrar presentaciones
Modelando Escenarios
![Page 25: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/25.jpg)
CAL/Fundamentos 25
Se repite el procedimiento para cada evento hasta que todos los eventos se apliquen al diagrama de secuencia
: Cliente : SistemaDeBoletaje : Presentación
Obtener 20 siguientes presentaciones por fecha
Mostrar presentaciones
Mostrar presentaciones
Modelando Escenarios
![Page 26: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/26.jpg)
CAL/Fundamentos 26
: Cliente : SistemaDeBoletaje : Presentación
Obtener 20 siguientes presentaciones por fecha
Mostrar presentaciones
Mostrar presentaciones
obtener eventos para 20 presentaciones seleccionadas
listar eventos
Mostrar eventos
Modelando Escenarios
![Page 27: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/27.jpg)
CAL/Fundamentos 27
: Cliente : SistemaDeBoletaje : Presentación : Evento
Obtener 20 siguientes presentaciones por fecha
Mostrar presentaciones
Mostrar presentaciones
obtener eventos para 20 presentaciones seleccionadas
listar eventos
Mostrar eventos
selecionar evento
Obtener presentaciones para evento seleccionado
Listar presentaciones
Listar presentacionesValor retornado
evento activador
Actividad 5
Modelando Escenarios
![Page 28: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/28.jpg)
CAL/Fundamentos 28
: Cliente : SistemaDeBoletaje : Presentación : Evento
Obtener 20 siguientes presentaciones por fecha
Mostrar presentaciones
Mostrar presentaciones
obtener eventos para 20 presentaciones seleccionadas
listar eventos
Mostrar eventos
selecionar evento
Obtener presentaciones para evento seleccionado
Listar presentaciones
Listar presentacionesValor retornado
evento activador
Actividad 5
Mostrar eventos
Modelando Escenarios
![Page 29: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/29.jpg)
CAL/Fundamentos 29
Transformar eventos en objetos: Asignar eventos a objetos:
Una vez que se han distribuido los eventos de un escenario en un diagrama de secuencia, vuelva al diagrama y verifique que el propósito de los objetos corresponde con los eventos en los que ellos participan.
Modelando Escenarios
![Page 30: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/30.jpg)
CAL/Fundamentos 30
Aplique una medida de cohesión preguntando: ¿Todos los eventos iniciados por el objeto
soportan el propósito (único) del objeto? ¿Los eventos a los que el objeto responde encajan
con el propósito (único) del objeto?, o ¿al objeto se le piden algo que no lo relaciona directamente con su propósito principal?
Aplique una medida de acoplamiento de los objetos. Las interacciones implícitamente identifican dependencias. Las preguntas son:
¿Las dependencia refuerzan la adecuada división de trabajo a través del objeto, o simplemente complica la comunicación?
¿Las dependencias reflejan el funcionamiento del mundo real?
Modelando Escenarios
![Page 31: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/31.jpg)
CAL/Fundamentos 31
Evalúe el propósito del objeto: Cuando se asigna una nueva tarea a
un objeto, se está en efecto agregando nueva responsabilidad a la “descripción del trabajo” de objeto. Las nuevas responsabilidades afectan al objeto de la misma manera que lo haría adicionar mayores responsabilidades a su trabajo.
Modelando Escenarios
![Page 32: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/32.jpg)
CAL/Fundamentos 32
Interfaces Convertir eventos en operaciones:
Completar la descripción del evento adicionando información que es pasado con el evento y la respuesta esperada. Ambos elementos son opcionales, es decir, no todos los eventos necesitan parámetros y no todos los eventos tienen respuestas.
Ejem., Notificar en algunos casos solo como alarma, en otros puede esperar respuesta.
![Page 33: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/33.jpg)
CAL/Fundamentos 33
Convertir descripciones de eventos en operaciones: El objetivo de crear un diagrama de
secuencia es descubrir y documentar las interfaces de cada clase. Para definir completamente cada interface, debe convertir la descripción del evento en una signatura de operación formal. La definición formal de una signatura de operación consiste de un nombre, parámetros de entrada (o argumentos), el tipo de dato de retorno esperado y restricciones.
Interfaces
![Page 34: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/34.jpg)
CAL/Fundamentos 34
+NombreOperación (NombreArg: Tipo Dato {Restricciones}, ... ) : Tipo Dato Retornado {Restricciones} NombreOperación: requerido Se permite cualquier número de
argumentos Tipo de datos retornado: requerido para un
valor regresado, pero los valores de retorno son opcionales.
Visibilidad (+): Requerida antes de la generación del código.
Interfaces
![Page 35: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/35.jpg)
CAL/Fundamentos 35
Los argumentos o parámetros son elementos de datos que el objeto necesita para ejecutar la operación.
El tipo de datos retornado describe la clase de información que debe darse como resultado de completar la operación.
Las restricciones son simplemente texto en formato libre que describen las reglas y limitaciones en la ejecución de la operación.
Interfaces
![Page 36: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/36.jpg)
CAL/Fundamentos 36
InterfacesDescripción de EventoObtener las presentaciones Nombre Operación Argumentos RetornoPara un rango de fechas ObtPresentación FechaInicio, FechaFinal Lista presentaciones
Signatura completa: ObtPresentación (FechaInicio, FechaFinal):ListaPresentaciones
Mostrar Mostrar ListaPresentacionesPresentaciones Signatura completa: Mostrar (ListaPresentaciones) ó
MostrarPresentación (ListaPresentaciones)Obtener Evento ObtenerEvento EventoPara una Presentación Signatura completa: ObtenerEvento():Evento
Mostrar Mostrar Lista EventosEvento Signatura completa: Mostar (Lista Eventos)
ó MostarEvento (Lista Eventos)
Elementos de la descripción de la Operación
![Page 37: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/37.jpg)
CAL/Fundamentos 37
Descubriendo Atributos
Cada pieza de información usada por el sistema debe se definida como atributo. Cada atributo debe pertenecer a un objeto. Aún si un atributo es derivado y nunca se almacena, algún objeto debe poseer las reglas para derivarlo.
![Page 38: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/38.jpg)
CAL/Fundamentos 38
- / NombreAtributo: Tipo Dato = Valor por omisión {Restricciones}
- Visibilidad: requerida antes de generar código.
/ Indicador de atributo derivado: opcional
Descubriendo Atributos
![Page 39: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/39.jpg)
CAL/Fundamentos 39
Cada argumento de una operación debe tener una fuente, ¿el objeto que inicia el evento posee la data?, Si no es así, ¿de donde lo obtiene?. Mire el diagrama de clases y encuentre la clase que debería tener la data. Actualize el diagrama de secuencia para mostrar como el objeto iniciador ha obtenido la data desde el objeto que la posee.
Descubriendo Atributos
![Page 40: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/40.jpg)
CAL/Fundamentos 40
Ejemplo expandir un diagrama de secuencia con parámetros
Descubriendo Atributos
Cliente
Compra
0..*
1
NivelPrecio
Asiento
AsientoPresentación
10..* 0..10..*
0..*
1Boleto
0..1
1
realiza
1
0..*
0..* 1
reserva
1
0..*
Ubica 0..1
1
utiliza
0..* 0..1
Pone Precio
![Page 41: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/41.jpg)
CAL/Fundamentos 41
Diagrama de secuencia inicial para el caso de uso comprar asientos:
: Compra : AsientoPresentación : Boleto : Cliente
Paga(lista asientos presentacion)
ObtenerPrecio
Precio
Descuento
UsarBoleto
Boleto
Regresar boleto
Regresar boleto
Regresar conjunto boletos
Descubriendo Atributos
![Page 42: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/42.jpg)
CAL/Fundamentos 42
Retornos de la operación: La misma lógica se aplica a los retornos de
operaciones. ¿El objeto que responde posee la data?, Si no es así, ¿de donde la obtiene?, ¿El objeto deriva la data usando sus propias operaciones?, ¿El objeto ha hallado el valor usando otros objetos?. Actualice el diagrama de secuencia para adicionar los objetos que poseen la data y muestre como obtiene la data el objeto original.
Descubriendo Atributos
![Page 43: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/43.jpg)
CAL/Fundamentos 43
En el ejemplo .. cuando un cliente quiere comprar asientos para la presentación, debe proporcionar el tipo de precio para cada sitio para que el sistema conozca que tipo de precio cargar, es decir, adulto, estudiante, adulto mayor o niño:
Descubriendo Atributos
![Page 44: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/44.jpg)
CAL/Fundamentos 44
: Boleto : Compra : AsientoPresentación : Cliente
Paga(lista asientos presentacion)
ObtenerPrecio
Precio
Descuento
UsarBoleto
Boleto
Regresar boleto
Regresar boleto
Regresar conjunto boletos
El cliente es el único objeto que conoce que tipo de precio aplicar para cada sitio. Adicionar el tipo de precio a los parámetros de la operación de pago invocada por el cliente.
Agregue un precio Para cada sitio
Descubriendo Atributos
![Page 45: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/45.jpg)
CAL/Fundamentos 45
Para hallar el precio por asientopresentación, asientopresentación debe pedir el precio a nivelprecio. Cuando se pide el precio asientopresentación debe proporcionar el tipo de modo que nivelprecio decida que precio retornar.
Descubriendo Atributos
![Page 46: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/46.jpg)
CAL/Fundamentos 46
Descubriendo Atributos
: Cliente : Compra : AsientoPresentación : Boleto : NivelPrecio
Paga(lista asientos presentacion)
ObtenerPrecio
Precio
Descuento
UsarBoletoBoleto
Regresar boleto
Regresar boleto
Regresar conjunto boletos
ObtenerPrecio(TipoPrecio)
Precio
![Page 47: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/47.jpg)
CAL/Fundamentos 47
Cada vez que haga un refinamiento, itere a traves del proceso de modelamiento: Evalúe el diagrama de clases para encontrar
objetos que participan en la interacción. Adicione nuevos objetos. Identifique nuevos eventos. Reevalúe el propósito de los objetos
participantes. Convierta los eventos en operaciones. Convierta la información en atributos. Asigne propietario a los atributos. Repita hasta que todos los parámetros y retornos
esten considerados.
Descubriendo Atributos
![Page 48: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/48.jpg)
CAL/Fundamentos 48
Revisión Uno de los principales problemas en el
diseño de software es decidir que incluir en el: cada elemento tomado en cuenta requiere dinero y tiempo para desarrollar y soportar. ¿Cómo puede asegurarse que está gastando el tiempo y dinero de la mejor manera? Utilizar diagramas de clase, de secuencia y modelo de casos de uso como referencias cruzadas.
![Page 49: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/49.jpg)
CAL/Fundamentos 49
Comparar estas tres vistas una con otra ayuda a descubrir y justificar las operaciones y atributos necesarios para soportar las expectativas del usuario.
Revisión
![Page 50: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/50.jpg)
CAL/Fundamentos 50
Hemos revisado: El propósito y la función de los diagramas
de secuencia: descubrir y definir las interfaces de las clases.
Transformar los escenarios de casos de uso en diagramas de secuencia: usar un escenario para crear un diagrama de secuencia. Transformar cada evento del escenario en un evento en el diagrama de secuencia. Asignar responsabilidad del evento a los objetos emisor y receptor.
Revisión
![Page 51: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/51.jpg)
CAL/Fundamentos 51
El valor de las interacciones para el modelado de objetos: justificar la necesidad de cada interface de clase como parte de los requerimientos de los casos de uso.
Como descubrir y documentar las operaciones desde las interacciones: convertir cada evento en una operación.
Como descubir y documentar atributos de las operaciones: convertir todos los argumentos y retornos de la operación en atributos. Rastree las fuentes de cada atributo identificado en la secuencia.
Revisión
![Page 52: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/52.jpg)
CAL/Fundamentos 52
Reconciliar Modelos Un diagrama por si mismo es muy dificil
de verificar. Pero cuando se usan juntos diferentes diagramas del mismo problema el proceso de comparación y contraste revela problemas potenciales.
Para identificar discrepancias: Como probar escenarios. Como probar clases. Como probar interfaces. Como reconocer los patrones de
reconciliación.
![Page 53: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/53.jpg)
CAL/Fundamentos 53
Aunque el diagrama de clases es el único usado para generar código los otros diagramas son herramientas que ayudan a comprender las clases. El diagrama de clases tiene una perspectiva limitada del dominio del problema; No muestra como se comportan los objetos cuando se usa el sistema.
Reconciliar Modelos
![Page 54: Sesion diagrama de secuencia 2010 i](https://reader035.fdocument.pub/reader035/viewer/2022062514/5589ad6fd8b42ada448b46a3/html5/thumbnails/54.jpg)
CAL/Fundamentos 54
Para ver el comportamiento de los recursos, se necesitan modelos que describan como se usan los recursos, viendo las interacciones entre clases, la creación y disposición de recursos y los patrones de colaboración de cada comportamiento.
Reconciliar Modelos