Diagramas de secuencia y control de versiones

Superior  Previo  Próximo

 

Puede crear diagramas de Secuencia que usan elementos desde otros paquetes como las líneas de vida dentro del diagrama. En estos casos, los diagramas se pueden corromper cuando los paquetes del elemento tienen check in y out bajo el control de versiones. Esto es porque durante checkout los elementos primero se eliminan desde el modelo y luego se re importan, y a pesar de son re establecidos en los diagramas, no sucede lo mismo con los mensajes que los conectan.

Es decir, si el diagrama y sus elementos residen en paquetes diferentes, realizar control de versiones en forma directa e inversa del paquete del elemento puede dañar el diagrama de Secuencia.

La solución es arrastrar y dejar caer cada Clase en el diagrama de Secuencia como un objeto - cuando suelta la Clase en el diagrama de Secuencia, en la ventana Pegar elemento seleccione la opción como instancia del elemento (Objeto). Esto crea un nuevo objeto en el paquete padre del diagrama, basado en el elemento Clase seleccionado. Luego puede crear los mensajes entre los objetos.

De esta manera, para asegurarse que un diagrama de Secuencia no se dañe por realizar el control de versiones en forma directa e inversa de otros paquetes, recuerde que:

Las líneas de vida deben ser objetos (a pesar de que Enterprise Architect permite que suelte los elementos como líneas de vida en un diagrama de Secuencia, no es una estructura estrictamente conforme a UML)
Las líneas de vida deben estar en el mismo paquete que el diagrama.

La siguiente ilustración muestra el Explorador del proyecto con dos paquetes: P1, que contiene los elementos, y P2, que contiene un diagrama de Secuencia que usa esos elementos. También se muestra el diagrama en si mismo.

seqdiagverscntrl

Este diagrama no se dañará, porque todas las líneas de vida son objetos y estos objetos residen en el mismo paquete como el diagrama de Secuencia.