Diagrama de interacción: Diagrama de secuencia
Vamos a generar el diagrama de secuencia que representa el caso de uso "Generar pedido" del diagrama de casos de uso del ejercicio resuelto 1 "ZAPATERÍA TACÓN DE ORO" (en el punto 2 de "Los diagramas de casos de uso"). En dicho diagrama se establece la secuencia de operaciones que se llevarán a cabo entre los diferentes objetos que intervienen en el caso de uso.
Este es el diagrama ya terminado, en el se han incluido todas las entidades (actores, objetos y sistema) que participan en el diagrama, y se han descrito todas las operaciones, incluidos los casos especiales, como es el registro de usuarios o la gestión de los datos bancarios. También incluye el modelado de acciones en bucle, como es la selección de artículos y de acciones regidas por condición, como es la posibilidad de cancelar el pedido si hay problemas con la tarjeta de crédito.
![Diagrama de secuencia. Diagrama de secuencia con las siguientes instancias: usuario en forma de monigote, unSocio:Socio en forma de rectángulo azul, <<system >>:sistema en forma de rectángulo azul, unPedido:Pedido en forma de rectángulo azul, linea:lineaPedido en forma de dos rectángulos superpuestos, articulo:Articulo en forma de rectángulo doble superpuesto azul y Banca en forma de monigote. Los mensajes que se envían entre instancias, en orden de arriba a abajo son: de usuario a sistema 1:hacerPedido(), de sistema a unPedido 1.1: crear. A continuación aparece un rectángulo de bucle que abarca desde la zona izquierda hasta artículo, en la zona superior izquierda aparece la etiqueta loop y debajo, entre corchetes, Repetir hasta completar pedido, debajo los mensajes de usuario a sistema, 2:seleccionaArticulo: cod, de usuario a sistema 3: seleccionarCantidad(): cantidad, de sistema a linea 3.1: crear(cod, cant), de sistema a artículo obtenerPrecio():precio, de sistema a sistema, volviendo la flecha con dos giros, 3.3: actualizarTotal(precio, cantidad), en este punto termina el rectángulo del bucle. Continúan los siguientes mensajes de usuario a sistema 4:aceptarPedido, de sistema a socio 5: comprobarSocio: socio, se sistema a sistema 6: [Usuario no registrado] registrarSocio. Seguidamente aparece otro rectángulo de iteración que abarca desde la instancia sistema hasta Banca, con la condición entre corchetes [Repetir hasta que los datos sean correctos o el usuario cancele la operación] y los mensajes 7: comprobarDatosBancarios(): datosBancarios y de sistema a sistema 8: [DatosBancarios erroneos] solicitarDatosBancarios, aquí termina el rectángulo de iteración. A continuación hay un rectángulo de condición con el rótulo alt en la esquina superior izquierda. Abarca todo el ancho de la imagen y está dividido en dos bandas horizontales separadas por una línea de puntos. En la banda superior encontramos la condición entre corchetes [Datos bancarios correctos] y los mensajes de usuario a Banca 9:pagarPedido y de sistema a pedido 10: establecer(“Pendiente”). En la banda inferior la condición entre corchetes [Operación cancelada por el usuario] y a continuación un rectángulo de iteración desde sistema a linea con la condición [Para todas las lineas de pedido] y el mensaje de sistema a linea 11: destruir y fuera de la iteración de sistema a pedido 12: destruir.](ED06_CONT_R20_diagrama_secuencia_miniatura.png)







