¿Cómo incluir condiciones en diagramas de secuencia UML?

13

Me gusta dibujar un diagrama de secuencia UML para mostrar la secuencia de acciones e interacciones de diferentes partes de mi sistema (creo que llamaron actores).

Sin embargo, necesito incluir if then elsedeclaraciones aquí. ¿Hago algo mal? ¿Puedo usar declaraciones condicionales if en mi diagrama de secuencia UML? ¿Cómo?

Saeed Neamati
fuente

Respuestas:

18

Como en muchos tipos de diagramas UML, puede usar guardias para denotar una condición. Un guardia es una expresión booleana que puedes escribir sobre una transición.

Aquí hay una foto con un ejemplo: ingrese la descripción de la imagen aquí

Observe la condición "[pastDueBalance = 0]".

También puede usar fragmentos combinados para una lógica condicional más complicada. Consulte este bonito artículo de msdn para obtener más información.

Halcón
fuente
4

Hay cuatro posibilidades que conozco (con creciente poder):

  1. Lo más fácil es usar guardias , que son expresiones booleanas simples y sin efectos secundarios.
  2. Con fragmentos combinados (consulte, por ejemplo, la página 54), puede agrupar conjuntos de mensajes para mostrar el flujo condicional en un diagrama de secuencia (alternativas, opciones, bucles)
  3. Mucho más poderoso es el Object Restraint Language (OCL) , que además puede cuantificar (para todos, existe) y ofrece un lenguaje Contract completo (DesignBy-) (que es casi tan expresivo como la lógica completa de primer orden).
  4. La forma más poderosa es expresar su restricción utilizando un lenguaje de acción UML de UML ejecutable (xUML) que se ajusta a la semántica de acción UML.

Mi elección sería la menos poderosa que aún sea lo suficientemente expresiva para lo que quieres hacer. Por ejemplo, las acciones en 4. pueden tener efectos secundarios, lo que los hace mucho más frágiles que OCL.

DaveFar
fuente
2

Si bien los diagramas de secuencia son perfectos para su descripción, asegúrese de verificar los Diagramas de actividad.

Cuando desee mostrar detalles internos (incluidas las reglas detalladas), Diagramas de actividad es lo que desea usar. Los diagramas de actividades simples se centran en la secuencia de actividades y reglas, y son deficientes para mostrar las responsabilidades de los actores, sin embargo, puede usar carriles de natación para resaltar las responsabilidades de los actores individuales. Cada carril incluiría actividades de las que es responsable un actor.

Estos enlaces discuten diagramas de actividades con carriles de natación:

Ninguna posibilidad
fuente