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:
- hacerPedido(), de sistema a unPedido.
- 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.
- seleccionaArticulo: cod, de usuario a sistema.
- seleccionarCantidad(): cantidad, de sistema a linea.
- crear(cod, cant), de sistema a artículo.
- obtenerPrecio():precio, de sistema a sistema, volviendo la flecha con dos giros.
- actualizarTotal(precio, cantidad), en este punto termina el rectángulo del bucle. Continúan los siguientes mensajes de usuario a sistema.
- aceptarPedido, de sistema a socio.
- comprobarSocio: socio, se sistema a sistema.
- [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.
- comprobarDatosBancarios(): datosBancarios y de sistema a sistema.
- [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.
- pagarPedido y de sistema a pedido.
- 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.
- destruir y fuera de la iteración de sistema a pedido.
- destruir.