Sie sind auf Seite 1von 34

Etapa de Construccin Diagrama de secuencia

Agenda
Diagramas de iteraciones
Diagrama de secuencias Contrato de las operaciones Diagrama de colaboracin Diagrama de clases de diseo

Diagramas de Interaccin.
Por lo general, un diagrama de interaccin captura el comportamiento de un nico caso de uso, nos permite ver el comportamiento que existe entre los distintos objetos del sistema, y la forma en que estos interactan entre s.

Diagrama de secuencia
El diagrama de secuencia es uno de los diagramas ms efectivos para modelar interaccin entre objetos en un sistema. Un diagrama de secuencia muestra la interaccin de un conjunto de objetos en una aplicacin a travs del tiempo y se modela para cada mtodo de la clase. El diagrama de secuencia contiene detalles de implementacin del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos.

Contenido
Un diagrama de secuencia muestra los objetos que intervienen en el escenario con lneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.

Tipos de mensajes
Existen dos tipos de mensajes: sncronos y asncronos. Los mensajes sncronos se corresponden con llamadas a mtodos del objeto que recibe el mensaje. El objeto que enva el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Los mensajes asncronos terminan inmediatamente, y crean un nuevo hilo de ejecucin dentro de la secuencia. Se representan con flechas con la cabeza abierta. Tambin se representa la respuesta a un mensaje con una flecha discontinua.

Manejo de mensajes
Los mensajes se dibujan cronolgicamente desde la parte superior del diagrama a la parte inferior; la distribucin horizontal de los objetos es arbitraria. Durante el anlisis inicial, el modelador tpicamente coloca el nombre 'business' de un mensaje en la lnea del mensaje. Ms tarde, durante el diseo, el nombre 'business' es reemplazado con el nombre del mtodo que est siendo llamado por un objeto en el otro. El mtodo llamado, o invocado, pertenece a la definicin de la clase instanciada por el objeto en la recepcin final del mensaje.

Utilidad
Los diagramas de secuencia, formalmente diagramas de traza de eventos o de interaccin de objetos, se utilizan con frecuencia para validar los casos de uso. Documentan el diseo desde el punto de vista de los casos de uso. Observando qu mensajes se envan a los objetos, componentes o casos de uso y viendo a grosso modo cuanto tiempo consume el mtodo invocado. Ayudan a comprender los cuellos de botella potenciales, para as poder eliminarlos. A la hora de documentar un diagrama de secuencia resulta importante mantener los enlaces de los mensajes a los mtodos apropiados del diagrama de clases

Conceptos
Lnea de vida de un objeto (lifeline): La lnea de vida de un objeto representa la vida del objeto durante la interaccin. En un diagrama de secuencia un objeto se representa como una lnea vertical punteada con un rectngulo de encabezado y con rectngulos a travs de la lnea principal que denotan la ejecucin de mtodos (activacin). El rectngulo de encabezado contiene el nombre del objeto y el de su clase, en un formato nombreObjeto : nombreClase.

Conceptos
Activacin: Muestra el perodo de tiempo en el cual el objeto se encuentra desarrollando alguna operacin, bien sea por s mismo o por medio de delegacin a alguno de sus atributos. Se denota como un rectngulo delgado sobre la lnea de vida del objeto.

Conceptos
Mensaje: El envo de mensajes entre objetos se denota mediante una lnea slida dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.

Conceptos
Tiempos de transicin: En un entorno de objetos concurrentes o de demoras en la recepcin de mensajes, es til agregar nombres a los tiempos de salida y llegada de mensajes.

Conceptos
Caminos alternativos de ejecucin y concurrencia: En algunos casos sencillos los caminos alternativos pueden expresarse en un diagrama de secuencias alternativas de ejecucin. Estas alternativas pueden representar condiciones en la ejecucin o diferentes hilos de ejecucin ( threads).

Conceptos
Mtodos recursivos Es un rectngulo adyacente a la activacin principal y con lneas de llamada de mensajes, que indican la entrada y salida de la recursin.

Detalle del diagrama

LOS OBJETOS

<nomObjeto>: nomClase.

Un objeto se representa como una lnea vertical punteada, lnea de vida, con un rectngulo de encabezado y con rectngulo a travs de la lnea principal que denotan la activacin, es decir el perodo de tiempo en el cual el objeto se encuentra desarrollando alguna operacin. El rectngulo de encabezado contiene el nombre del objeto y el de su clase, en un formato nombreObjeto: nombreClase.

El envo de mensajes entre objetos se denota mediante una lnea slida dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.
: nomClase1

: nomClase2

Hacerfuncin( )

Tcnica para desarrollar diagramas de secuencia


Copiar el texto de la descripcin del caso de uso. Tomar los objetos de la descripcin de los diagramas de casos de uso. Identificar el conjunto de mtodos y mensajes que forman el comportamiento esperado.

Errores ms comunes al construir diagramas de secuencias


No realizar un diagrama de secuencia para cada caso de uso. No poner el texto del caso de uso en el diagrama de secuencia. No haber identificado todos los objetos necesarios al desarrollar nuestros diagramas de casos de uso.

Errores ms comunes al construir diagramas de secuencias


No permitir una relacin visual entre el texto del caso de uso y las flechas de los mensajes. No mostrar los detalles, sino dejar nuestros diagramas de secuencia en un nivel alto de abstraccin. Convertir nuestros diagramas de secuencias en diagramas de flujo, y no usarlos para establecer comportamientos entre los objetos. No enfocarnos en los mtodos interesantes.

Errores ms comunes al construir diagramas de secuencias


No pensar cuidadosamente acerca del origen de las flechas de mensajes. No seguir los principios de asignacin de responsabilidad y desarrollo orientado a objetos. No actualizar nuestro modelo esttico.

ALGUNOS EJEMPLOS DE DIAGRAMAS DE SECUENCIA

Caso de uso:

Comprar productos

Actores: Cliente, cajero Descripcin: Un Cliente llega a la caja registradora


con los artculos que va a comprar. El Cajero registra el cdigo de cada producto. Si hay ms de una unidad de un producto, puede registrar la cantidad. El sistema determina el precio y agrega la informacin a la transaccin actual de venta. Se muestra la descripcin del producto y el precio. Esto se repite para todos los artculos. Al final, el cajero cobra el importe. Al terminar la operacin, el Cliente se marcha con los productos.

Comprar productos versin 2

Caso de Uso: Hacer Pedido

Nombre del Caso de Uso

Casos de uso: Cancelar Pedido Actores: Socio Pasos: 1. A: Indicar al sistema que se desea cancelar un pedido. 2. S : Pedir la identificacin al Socio 3. A: Caso de uso Identificacin ante el Sistema de un Socio 4. A: Indicar el pedido a cancelar 5. S : Tramitar la cancelacin del Pedido

Cancelar Pedido

: Cliente

: Centro Comercial Virtual

: Sistema Distribucin

: Responsable Comercio

cancelarPedido()
evaluarCancelacin()

[si es posible cancelar] tramitarCancelacin() cancelarSolicitud()

Casos de uso: Modificar Pedido


Actores: Socio Pasos: 1. A: Indicar al sistema que se desea modificar un pedido. 2. S: Pedir la identificacin al Socio 4. A: Indicar el pedido a modificar e introducir las modificaciones 5. S: Mostrar un informe que recoja el pedido modificado y el nuevo total del pedido 6. S: Tramitar la modificacin del Pedido

Modificar Pedido

: Cliente

: Centro Comercial Virtual

: Sistema Distribucin

: Responsable Comercio

modificarPedido()
evaluarModificacin()

[si es posible modificar] tramitarModificacin()

cancelarSolicitud()
Segn proceda, habr que cancelar solicitudes existentes y enviar nuevas

enviarSolicitud()

Ejercicio: Cajero Automtico


Dibujar el diagrama de secuencia correspondiente a la siguiente especificacin sobre el comportamiento de un cajero automtico: El usuario introduce la tarjeta en el cajero El usuario introduce en el cajero la cantidad a retirar. El cajero solicita al banco la verificacin del la contrasea (PIN). El banco le ofrece al cajero una respuesta afirmativa. El cajero le enva al banco la cantidad a retirar. El banco enva a la cuenta una peticin para actualizar saldos. El banco emite un mensaje para el almacenamiento de la transaccin. La cuenta le ofrece el nuevo saldo al banco. El banco le enva al cajero la orden de expender la cantidad de dinero deseada. El cajero proporciona el dinero al cliente y le expide un recibo.

Ejercicio 2
Elabore el diagrama de secuencia para el caso de uso: Ingreso del usuario al sistema

Muchas Gracias

Das könnte Ihnen auch gefallen