34
Etapa de Construcción Diagrama de secuencia

009-Diagrama de Secuencia

Embed Size (px)

Citation preview

  • Etapa de ConstruccinDiagrama de secuencia

  • Diagramas de iteracionesDiagrama de secuenciasContrato de las operacionesDiagrama de colaboracinDiagrama de clases de diseoAgenda

  • 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 secuenciaEl 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.

  • ContenidoUn 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 mensajesExisten 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 mensajesLos 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.

  • UtilidadLos 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

  • ConceptosLnea 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.

  • ConceptosActivacin: 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.

  • ConceptosMensaje: 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.

  • ConceptosTiempos 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.

  • ConceptosCaminos 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).

  • ConceptosMtodos 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

  • 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. LOS OBJETOS

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

  • Tcnica para desarrollar diagramas de secuenciaCopiar 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 secuenciasNo 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 secuenciasNo 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 secuenciasNo 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 DEDIAGRAMAS DE SECUENCIA

  • Caso de uso:Comprar productosActores:Cliente, cajeroDescripcin: 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

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

  • Cancelar Pedido

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

  • Modificar Pedido

  • 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 cajeroEl 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 2Elabore el diagrama de secuencia para el caso de uso: Ingreso del usuario al sistema

  • Muchas Gracias