En la entrada de hoy veremos la vista de interacción y sus diagramas de secuencia. Esta vista permite mostrar a las personas que correspondan la secuencia de intervalos de los mensajes que se envían los distintos objetos entre sí para poder interaccionar unos con otros y hacer que el sistema funcione.
Así que sin más vamos al meollo del asunto.
1. ¿Qué es una interacción?
Se conoce como interacción a un conjunto de mensajes que son intercambiados por objetos a través de conectores modelando de este modo la ejecución de un caso de uso u otra entidad de comportamiento. Dichos mensajes se muestran en los diagramas de secuencia y de comunicación y son unidireccionales.
2. Diagrama de secuencia
Los diagramas de secuencia se usan para explicar cómo interaccionan los objetos entre sí. Dependiendo de lo que queramos documentar podemos usar alguno o todos los diagramas de secuencia existentes:
- Diagrama de secuencia.
- Diagrama de secuencia con especificación de ejecución.
- Diagrama de secuencia con estructuras de control.
Se explica la interacción entre objetos a través de mensajes en un intervalo de tiempo no especificado.
Ejemplo de Diagrama de Secuencia |
2. Diagrama de secuencia con especificación de ejecución.
En este tipo de diagrama de secuencia se incluye el tiempo de ejecución de los procesos anidados que usan los objetos para el envío de sus mensajes.
Ejemplo Diagrama de Secuencia con Especificación de Ejecución |
El anterior diagrma vemos que es parecido a un diagrama de secuencia normal pero vemos unas sutiles diferencias:
- Los objetos (o roles) tienen su propia especificación de flujo (representadas con las "columnas" debajo de los objetos. Vemos que en el objeto :BBDDProductos posee dos especificaciones, una perteneciente a su vida total, y otra más pequeña, que pertenece a un procedimiento anidado. Lo cual representa una ejecución distinta en el tiempo.
- Las líneas de vida (las columnas de líneas discontinuas) representan a nivel gráfico la vida total del sistema indicando sobre la cual se indica la especificación de flujo que tiene el propio objeto.
- Las flechas con líneas discontinuas representan llamadas asíncronas, y aquellas con punta de flecha triangular rellena y línea contínua representan llamadas síncronas.
- La cruz grande representa la destrucción de todos los objetos del sistema debido a la finalización del mismo.
3. Diagrama de secuencia con construcciones estructuradas de control
En este tipo de diagramas no sólo se indica la ejecución en el tiempo, sino también las estructuras de control usadas en el mismo. Las estructuras de control se diferencian entre sí por el uso de los siguientes fragmentos combinados:
[Atención]: El siguiente documento contiene los distintos fragmentos combinados que pueden usarse.
3. Diagrama de comunicación
En este tipo de diagrama sólo se modelan los objetos y enlaces involucrados en la interacción ignorando el resto. Cada mensaje tiene:
Ejemplo Diagrama de Secuencia con Estructuras de Control |
[Atención]: El siguiente documento contiene los distintos fragmentos combinados que pueden usarse.
3. Diagrama de comunicación
En este tipo de diagrama sólo se modelan los objetos y enlaces involucrados en la interacción ignorando el resto. Cada mensaje tiene:
- Una secuencia que indica su orden.
- Una condición si procede (no es obligatoria).
- Lista de argumentos.
- Nombre del valor de retorno (no es obligatorio).
Ejemplo de Diagrama de Comunicación |
4. Diagrama de secuencia vs diagrama de comunicación
¿Cuándo usar uno u otro?, ¿cuál es mejor?. Son preguntas fáciles de responder. Ateniéndonos a los ejemplos de más arriba deducimos lo siguiente:
- Los diagramas de secuencia muestran secuencias temporales en las cuales se envían los mensajes pero no se especifican las relaciones entre objetos. Por lo que son más adecuado para una vista donde prime el detalle.
- Los diagramas de comunicación muestran relaciones entre objetos y el roden de ejecución de sus mensajes. Es algo más abstracto por lo que son útiles para la planificación de los detalles de control.
Y hasta aquí la entrada de hoy que nos ha quedado un poco larga. Si tenéis alguna duda indicádmelo en los comentarios por favor.
¡Gracias por leerme!
No hay comentarios:
Publicar un comentario