Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
Los diagramas UML de secuencia y de colaboracin (llamados diagramas de interaccin) se utilizan para modelar los aspectos dinmicos de un sistema. Un diagrama de interaccin consiste en un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos. Los diagramas de secuencia destacan el orden temporal de los mensajes. Los diagramas de colaboracin destacan la organizacin estructural de los objetos que envan y reciben mensajes.
1
____________________________________________________________________________________UML/VLatorre_
Ejemplos
Diagrama de secuencia: destaca el orden temporal de los mensajes.
objetos tiempo
mensaje4( ) objetoA:A objetoB:B objetoC:C
objetoA:A
<<destroy>>
Mensaje4( )
1: <<create>> 2: mensaje1( ) 3: <<destroy >> objetoB:B 2.1: mensaje2( ) 2.2: mensaje3( ) objetoC:C
Diagrama de colaboracin: destaca la relacin estructural entre los objetos que interactan
2
____________________________________________________________________________________UML/VLatorre_
Conceptos
Ambos diagramas (secuencia y colaboracin) son semnticamente equivalentes. Se puede pasar de uno a otro sin prdida de informacin. En los diagramas de secuencia, la linea de vida de un objeto es la lnea discontinua vertical, que representa la existencia de un objeto a lo largo de un periodo de tiempo. El foco de control es un rectngulo delgado que representa el periodo de tiempo durante el cual un objeto ejecuta una accin, por ej
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
La creacin de los diagramas de secuencia depende de la formulacin de los casos de uso. Los casos de uso indican cmo los actores interactan con el sistema. Durante la operacin del sistema, los actores generan eventos, solicitando alguna operacin a cambio.
Uso de diagramas de secuencia para modelar los casos de uso: El diagrama de secuencia de un sistema es una representacin que muestra, en determinado escenario de un caso de uso, los eventos generados por actores externos, su orden y los eventos internos del sistema.
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Diagrama de Secuencia Un diagrama de Secuencia muestra: una interaccin ordenada segn la secuencia temporal de eventos. los objetos participantes en la interaccin y los mensajes que intercambian ordenados segn su secuencia en el tiempo.
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Diagrama de Secuencia El eje vertical representa el tiempo. El eje horizontal se colocan los objetos y actores participantes en la interaccin, sin un orden prefijado. Cada objeto o actor tiene una lnea vertical, y los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transiciones o activaciones a las que se refieren.
6
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Ejemplo: caso de uso para compra de productos en un supermercado. Caso de uso: Comprar productos Actores: Cajero Tipo: Primario Descripcin: Un Cliente llega a la caja registradora con los artculos que va a comprar. El Cajero inicia la venta y comienza a registrar los artculos y cantidad, a medida que va ingresando el rticulo el sistema muestra su descripcin y precio; cuando no hay ms artculos finaliza la venta y el sistema devuelve el total que se debe cancelar. El cajero solicita al cliente el pago. Cuando el cliente paga el cajero realiza el pago y el sistema indica el cambio a devolver (si corresponde) y emite la boleta. Al terminar la operacin, el Cliente se marcha con los productos.
7
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Ejemplo: caso de uso y DSS para compra de productos en un supermercado.
: Cajero 1: CrearNuevaVenta() :Sistema
2: IntroducirArtculo(IdAtr,Cantidad)
OBS: Debera hacerse un DSS para el escenario ppal. de xito del caso de uso, y los escenarios alternativos complejos o frecuentes.
En este Diagrama de Secuencia para el curso de eventos especfico en un caso de uso, los actores externos que interaccionan directamente con el sistema, donde el sistema se ve como una caja negra; y los eventos del sistema que genera el actor
5: CobrarPagoTotal
6: RealizarPago(Cantidad)
7: Entregar(cambio, boleta)
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Ejemplo: caso de uso para compra de productos en un supermercado.
:Artculo Cajero
:Pago :Venta
3:Mostrar(Descripc.,$) 4:SolicitarPago(total)
5:Muestra(total)
Este Diagrama de Secuencia ilustra para un curso de eventos especfico en un caso de uso, los actores externos que interaccionan directamente con las clases que se ___________________________________________________________UML/Vlatorre_______ 9
____________________________________________________________________________________UML/VLatorre_
identifican.
Ejemplo
Ejemplo 1: Se quiere modelar una llamada a travs de una central telefnica. Para esto se tienen cuatro objetos involucrados: dos interlocutores (s y r), una central y una conversacin. La secuencia empieza cuando un interlocutor enva un mensaje a la central al descolgar el auricular. La central da el tono de llamada, y el interlocutor marca el nmero al que desea llamar. El tiempo de marcado debe ser menor que 30 segundos.
10
____________________________________________________________________________________UML/VLatorre_
Ejemplo
s:Interlocutor descolgarAuricular( ) {marcando.tiempoEjecucion < 30 segs} darTonoDeLlamada( ) *marcarDigito( ) marcando enrutarLlamadas(s,n) <<create>> c:Conversacin llamar( ) descolgarAuricular( ) conectar(r,s) conectar(r) conectar(s) :Central r:Interlocutor
11
____________________________________________________________________________________UML/VLatorre_
12
____________________________________________________________________________________UML/VLatorre_
pasajero solicita pasaje al vendedor vendedor ingresa origen, destino, fecha viaje *** sistema ofrece lista con horarios de viajes disponibles vendedor ingresa hora, cant. de pasajes seleccionados por el cliente. *** sistema muestra disponibilidad de asientos vendedor solicita al cliente elegir asientos disponibles vendedor ingresa asientos elegidos vendedor verifica si cliente es viajero frecuente por el n Rut. Sistema calcula descuento en precio de pasajes si pasajero es frecuente. sistema miestra total a pagar del pasaje cliente cancela al vendedor los pasajes *** vendedor registra el pago del pasaje sistema suma puntos del viaje en puntaje acumulado al cliente frecuente sistema imprime pasaje cajero entrega pasajes al cliente
13
____________________________________________________________________________________UML/VLatorre_
:Viaje
:ViajeroFrecuente
3:Ingresar(hra,cantPjes)
4:MostrarDisponibles(asientos)
5:Ingresar(asientos)
14
____________________________________________________________________________________UML/VLatorre_
15
____________________________________________________________________________________UML/VLatorre_
Tipo
Puntos Fuertes
Puntos dbiles
Secuencia
Muestra claramente la secuencia Fuerza a extender por la u oracin en el tiempo de los derecha cuando se aaden mensajes nuevos objetos; consumen espacio horizontal Notacin simple Economiza espacio, flexibilidad Difcil ver la secuencia de al aadir nuevos objetos en dos mensajes dimensiones. Es mejor para ilustrar Notacin ms compleja bifurcaciones complejas, iteraciones y comportamiento concurrente
16
Colaboracin
____________________________________________________________________________________UML/VLatorre_
Notacin
Los diagramas de colaboracin explican grficamente las interacciones entre las instancias del modelo (objetos). Por ejemplo:
17
____________________________________________________________________________________UML/VLatorre_
Notacin
Un objeto se puede enviar un mensaje a s mismo:
18
____________________________________________________________________________________UML/VLatorre_
Notacin
Secuencia de los mensajes en un diagrama de colaboracin:
19
____________________________________________________________________________________UML/VLatorre_
Notacin
Es posible definir mensajes condicionales:
20
____________________________________________________________________________________UML/VLatorre_
10
Notacin
Es posible definir trayectorias mutuamente excluyentes:
21
____________________________________________________________________________________UML/VLatorre_
Notacin
Un multiobjeto, por ejemplo un arreglo en Java, se representa como una pila de objetos:
22
____________________________________________________________________________________UML/VLatorre_
11
Notacin
Ejemplo de crear un objeto y agregarlo a un multiobjeto:
23
____________________________________________________________________________________UML/VLatorre_
Ejemplo
Hay cuatro objetos involucrados: un encargado de matrcula, un estudiante, un curso y la universidad. La accin comienza cuando el encargado de matrcula crea un objeto estudiante, lo aade a la universidad, y le pide al objeto estudiante que se matricule. El objeto estudiante obtiene (de s mismo) su plan de estudio, e identifica los cursos que quiere matricular.
24
____________________________________________________________________________________UML/VLatorre_
12
Ejemplo
2: agregarEstudiante(s) r:EncargadoMatricula 1: <<create>> 3: matricular( ) 3.1: obtenerPlanEstudios( ) :Universidad
c1:Curso {asociacin}
c2:Curso {asociacin}
25
____________________________________________________________________________________UML/VLatorre_
Uso de diagramas
Ejemplo: caso de uso para compra de productos en un supermercado.
Def.: Un evento es una accin externa de entrada, que un actor produce en el sistema. En el ejemplo anterior, se tienen tres eventos: pasarProducto, terminarVenta y efectuarPago. Una vez que se identifican los eventos, se registran en la entidad que corresponda. Por ejemplo:
26
____________________________________________________________________________________UML/VLatorre_
13
Uso de diagramas
Ejemplo: caso de uso para compra de productos en un supermercado.
Para cada evento que se produce en el sistema, se debe hacer un diagrama de colaboracin. Ejemplo:
27
____________________________________________________________________________________UML/VLatorre_
14