2012-06-15 20 views
6

¿Alguien sabe cómo representar una instrucción if en un diagrama de secuencia en DIA?¿Cómo se representa una instrucción if en un diagrama de secuencia en DIA?

+0

Eche un vistazo a [esta pregunta] (http://stackoverflow.com/questions/2946650/describing-an-if-else-structure-in-a-uml-system-sequence-diagram) ... –

+1

No creo que sea apropiado para un diagrama de secuencia. el diagrama de secuencia debe describir una secuencia (como lo indica el nombre). en mi opinión, debería ser una secuencia de un caso de uso. si el caso de uso tiene extensiones (estas representan el flujo de control), entonces haga un diagrama de secuencia para cada extensión. deje que el programador combine esto con diagramas de estado, y luego decida si una instrucción if es la forma correcta de controlar el flujo. tal vez un patrón de estado o similar es más adecuado. esa decisión no debe tomarse en un diagrama de secuencia :) – davogotland

+1

También eche un vistazo a http://stackoverflow.com/questions/6000268/uml-sequence-diagram-how-to-show-alternate-course. – sfinnie

Respuesta

15

Basado en el cuadro de "alt" representado en the IBM link given by @luistm, yo era capaz de replicar algo similar en Dia:

UML Sequence Diagram with "alternative combination fragment"

La caja de "alt" se ha dibujado con el objeto grande paquete UML. (El paquete pequeño no le permite cambiar el tamaño.)

Las etiquetas de condición son solo objetos de texto (se encuentran en el panel superior [estático] en la barra de herramientas izquierda, marcadas con la T).

La línea punteada es solo un objeto Line (del mismo panel de barras estáticas), con la punta de flecha configurada en una línea simple y con el cuerpo configurado como punteado (hecho en la parte inferior del panel de herramientas izquierdo, con 3 segmentos de flechas).

Tuve que jugar con los elementos del menú Objetos Enviar al revés, Llevar al frente, Enviar al revés y Avanzar, para que todo se vea bien sin que las cosas se obstruyan entre sí. También tuve que usar con frecuencia el comando Refrescar del menú Ver para controlarme a mí mismo; a menudo el sorteo arruinaba el orden de apilamiento y la superposición, pero el Refresh arreglaría las cosas de nuevo.

No se ve exactamente como los diagramas en el enlace de IBM (etiqueta fuera del cuadro principal en lugar de adentro, borde del cuadro obstruido por línea de vida, etc.), pero creo que esto es lo mejor que podemos hacer con UML objetos.

+0

Esa fue mi solución para. Gracias por responder. – luistm

+0

¿Hay algún truco especial para cambiar el tamaño de la casilla de activación? Arrastrar los pequeños cuadrados naranjas (que parece lo más intuitivo para hacer) no funciona para mí. – teo

+1

@teo: Sí, cambiar el tamaño de la casilla de activación es un poco contrario a la intuición. Lo que tiene que hacer es hacer clic derecho en el cuadro de activación y seleccionar "Agregar puntos de conexión" o "Aumentar la distancia de los puntos de conexión". – feuGene

Cuestiones relacionadas