Secuencia, comunicaciones y actividades

En este post continuamos viendo los distintos diagramas utilizados para modelar los sistemas. Concretamente vamos a hablar sobre los diagramas de secuencia, los diagramas de actividad y los diagramas de actividades.

Diagrama de secuencia

Hemos visto los diagramas de estado, que se enfocan en los diferentes estados por los que pasa un proceso. El diagrama de secuencias, muestra la forma en que los objetos se relacionan entre sí, a lo largo del tiempo. Un diagrama de secuencia, consta de objetos,  que se representan como rectángulos con el nombre subrayado, mensajes, representados por líneas continuas con punta de flecha y el tiempo representado como líneas verticales (línea de vida).

Diagrama de secuencia

Diagrama de secuencia

Los mensajes van de la línea de vida de un objeto, a la de otro. Un objeto también puede mandarse mensajes a sí mismo. Los mensajes pueden ser:

  • Síncrono →  El objeto que envía el mensaje espera la respuesta antes de continuar con su trabajo. Se representa con una flecha con forma de triángulo relleno
  • Asíncrono → El objeto no espera respuesta y puede continuar ejecutando acciones. Se representa con una flecha abierta.

El tiempo, como hemos comentado, se representa con una línea vertical, de manera, que los mensajes que estén más cerca de la línea superior ocurren antes que los que están más lejos.

En los diagramas de secuencia, se pueden incluir estados en algunos de los objetos del diagrama. Los estados se representan con un rectángulo de vértices redondeados. Por otra parte, en los diagramas de secuencia se pueden crear objetos en un momento determinado como respuesta a un mensaje. En el siguiente ejemplo, se muestra un ejemplo de los dos elementos comentados:

Diagrama de secuencia

Diagrama de secuencia

También se puede representar recursividad, como en la imagen anterior, en la que se invoca a un método “búsqueda()”.

Para crear un nuevo objeto en EA, en primer lugar tendremos que arrastrar los objetos que vayamos a representar desde el explorador de proyecto, o desde la caja de herramientas en el caso de que queramos crear nuevos objetos. Para indicar que se desea crear una nueva instancia del objeto, se enlazarán los dos objetos y en la ventana de propiedades del mensaje que se nos mostrará, indicaremos “Lifecicle = New”. También se pueden representar la eliminación de objetos, seleccionando en el apartado anterior, “Delete”.

Crear nuevo objeto

Crear nuevo objeto

Diagramas de comunicaciones

También llamados diagramas de colaboraciones. Al igual que en el caso anterior, muestra cómo interactúan entre si los objetos y las interacciones de los elementos en tiempo de ejecución. Emplean asociaciones ordenadas y etiquetadas, se numeran, para indicar el orden y el anidamiento del procesamiento, por ejemplo.: 1, 1.1, 1.1.1, 1.1.2, 1.2, etc. Se inicia una nueva numeración para una nueva capa de procesamiento, y sería equivalente a la invocación de un método.

Diagrama de colaboraciones

Diagrama de colaboraciones

Los diagramas de secuencia y de colaboración, son semánticamente equivalentes, representan la misma información. Podría convertirse un diagrama de comunicación en un diagrama de secuencia y viceversa.

Diagrama de actividades

El diagrama de actividades, es similar a los diagramas de flujo que utilizamos cuando empezamos a aprender programación. Muestra los pasos (actividades), los puntos de decisión y las bifurcaciones que muestra una visión simplificada de lo que ocurre en una determinada operación.

Cada actividad se representa con un rectángulo con vértices redondeados. Una flecha relaciona una actividad con la siguiente. Cuenta con un punto inicial y final, representados respectivamente con un punto relleno y una diana. Es similar al diagrama de estados que ya vimos, sólo que el diagrama de estados, pone énfasis en representar los estados, y las acciones simplemente enlazan un determinado estado, con el siguiente estado. El diagrama de actividades se centra en las acciones, las actividades que se realizan, y como pasar de una actividad a la siguiente.

Diagrama de actividades

Diagrama de actividades

Puntos de decisión

Existen dos modos de representar una bifurcación que nos lleve a realizar una determinada actividad u otra. Una es mediante el uso de un punto de decisión, tal y como se ha visto en la página anterior. La segunda es mostrar directamente las rutas existentes indicando las restricciones que nos llevarán a realizar una acción u otra:

Punto de decisión

Punto de decisión

Para añadir las restricciones en EA, desde las propiedades del flujo de control, seleccionaremos la pestaña “Constraints”, y escribiremos en la casilla “Guard” la restricción.

Se utiliza una línea gruesa horizontal para representar acciones que se realizan a la vez, de manera concurrente.

Acciones simultaneas

Acciones simultaneas

Se puede representar el envío y recepción de eventos que provoquen la realización de una determinada acción, por ejemplo.

Eventos

Eventos

Marcos de actividad

Se pueden crear regiones o marcos de actividad, que definen quien tiene la responsabilidad de realizar un proceso o grupo de procesos. Las regiones se representan por un rectángulo con línea discontinua y esquinas redondeadas, que rodearán a un grupo de actividades. También se pueden representar, (y quizás sea lo más correcto),  con “marcos de responsabilidad”, que mostrarán el nombre del responsable en la parte superior, como se muestra en la siguiente imagen.

Marcos de actividad

Marcos de actividad

En EA, para crear regiones que definan los marcos de responsabilidad,  pincharemos con el botón derecho del ratón sobre el fondo del diagrama de actividades y seleccionaremos “Swimlanes  and Matrix…”. En el cuadro de diálogo que se muestra, añadiremos uno por uno los actores que se encargarán de realizar las actividades que tengamos que definir.

Añadir marcos de responsabilidad

Añadir marcos de responsabilidad

Aquí dejamos este post, en el siguiente completaremos el resto de diagramas que vamos a comentar, concretamente veremos el diagrama de componentes y el diagrama de distribución. Si te ha gustado el post, no dudes en dejar un comentario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *