UML / Modelos / Diagramas

Un modelo representa a un sistema software desde una perspectiva específica. Al igual que la planta y el alzado de una figura en dibujo técnico nos muestran la misma figura vista desde distintos ángulos, cada modelo nos permite fijarnos en un aspecto distinto del sistema.
Un diagrama es una presentación gráfica de un conjunto de elementos, que la mayoría de las veces se dibuja como un conjunto de elementos relacionados. Los diagramas se utilizan para representar un sistema desde diferentes perspectivas, por esto UML ha definido varios diagramas que permiten centrarse en diferentes aspectos del sistema de manera independiente.

Un diagrama es una proyección gráfica de los elementos que configuran un sistema. Por ejemplo, se podría tener cientos de clases en el diseño de un sistema de recursos humanos de un empresa, pero no se podría ver la estructura o el comportamiento de ese sistema observando un gran diagrama con todas sus clases y relaciones, es entonces preferible realizar varios diagramas que especifiquen las vistas relevantes solamente a ese subsistema definido, este tipo de manejo de diagramas representativos por clases permite realizar agrupaciones que muestran el funcionamiento general del sistema de forma particular pero denotando el funcionamiento general del sistema con todos sus elementos constitutivos.

Con el modelado de sistemas se obtienen deferentes tipos de vistas, las vistas estáticas de los sistemas en UML se representan con 4 tipos de diagramas que se describen a continuación:

Diagramas Estructurales
Los cuales comprenden los siguientes diagramas:

Diagramas de Clases
Representa un conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas. Los diagramas de clases los diagramas más comunes en el modelado de sistemas orientados a objetos. Estos diagramas se utilizan para describir las vista de diseño estática de un sistema, incluyen clases activas se utilizan para cubrir la vista de procesos estática de un sistema

Diagramas de Objetos
Representa un conjunto de objetos y sus relaciones. Se utiliza para describir estructuras de datos y las instancias de los elementos encontrados en los diagramas de clases. Cubren la vista de diseño estática o la vista de proceso estática de un sistema al igual que los diagramas de clases. Pero desde la perspectiva de casos reales prototipos.

Diagramas de Componentes
Muestra un conjunto de componentes y relaciones, se utilizan para describir la vista de implementación estática de un sistema, se relacionan con los diagramas de clases en que un componente normalmente se corresponde con una o más clases. Interfaces o colaboraciones

Diagramas de Despliegue
Muestra un conjunto de nodos y sus relaciones, se utilizan para describir la vista de despliegue estática de una arquitectura, se relacionan con los diagramas de componentes en que un nodo normalmente incluye uno o más componentes.

Las vistas dinámicas en UML se representan con los diagramas que se describen a continuación:

Diagramas de Comportamiento
Los cuales están compuestos por los siguientes diagramas

Diagramas de Casos de uso
En el modelado orientado a objetos los diagramas de casos de uso, son los que representan en general el funcionamiento del sistema siendo estos los más utilizados como base del desarrollo de un modelo real, representan casos de uso, actores y relaciones, se utilizan especialmente para organizar y modelar el comportamiento de un sistema.

Diagramas de Secuencia
Es un diagrama de interacción que resalta la ordenación temporal de los mensajes, este presenta un conjunto de objetos y los mensajes enviados por ellos. Los objetos suelen ser instancias con nombre, pueden representar instancias de otros elementos, tales como colaboraciones, componentes y nodos, se utilizan para describir la vista dinámica de un sistema.

Diagramas de Colaboración
Son diagramas de interacción que resalta la organización estructural de los objetos que envían y reciben mensajes, pueden representar instancias de otros elementos como colaboraciones, componentes y nodos. Se utilizan para describir la vista dinámica de un sistema.

Diagramas de Estado
Representan una máquina de estados constituida por estados, transacciones, eventos y actividades, se utilizan para representar la vista dinámica de un sistema son especialmente importantes para modelar el comportamiento de una interfaz, clase o una colaboración, resaltan en comportamiento dirigido por eventos de un objeto.

Diagrama de Actividades
Muestra el flujo de actividades en un sistema, muestra el flujo secuencial o ramificado de actividades y los objetos en los que actúa, son importantes para modelar la función de un sistema así como para resaltar el flujo de control entre objetos

Diagramas de Actividades / Activity Diagrams

Recursos

Descargar DOCx Hora 11
Descargar PPTx Hora 11

Un diagrama de actividades muestra el flujo de actividades, siendo un actividad una ejecución general entre los objetos que se está ejecutando en un momento dado dentro de una máquina de estados, el resultado de un actividad es una acción que producen un cambio en el estado del sistema o la devolución de un valor. Las acciones incluyen llamadas a otras operaciones, envío de señales, creación o destrucción de objetos o simples cálculos. Gráficamente un diagrama de actividades será un conjunto de arcos y nodos. Desde un punto de vista conceptual, el diagrama de actividades muestra cómo fluye el control de unas clases a otras con la finalidad de culminar con un flujo de control total que se corresponde con la consecución de un proceso más complejo. Por este motivo, en un diagrama de actividades aparecerán acciones y actividades correspondientes a distintas clases. Colaborando todas ellas para conseguir un mismo fin. Ejemplo: Hacer un pedido.

Contenido del diagrama de actividades

Básicamente un diagrama de actividades contiene:
  • Estados de actividad
  • Estados de acción
  • Transiciones
  • Objetos
Estados de actividad y estados de acción

La representación de ambos es un rectángulo con las puntas redondeadas, en cuyo interior se representa bien una actividad o bien una acción. La forma de expresar tanto una actividad como una acción, no queda impuesta por UML, se podría utilizar lenguaje natural, una especificación formal de expresiones, un metalenguaje, etc. La idea central es la siguiente: “Un estado que represente una acción es atómico, lo que significa que su ejecución se puede considerar instantánea y no puede ser interrumpida”, Al igual que en el diagrama de estados, el de actividad cuenta con un punto inicial (representado por un círculo) y uno final (representado como dos círculos concéntricos). En la siguiente figura, podemos ver ejemplos de estados de acción.

Figura 46: Estados de Acción

En cambio un estado de actividad, sí puede descomponerse en más sub- actividades representadas a través de otros diagramas de actividades. Además estos estados sí pueden ser interrumpidos y tardan un cierto tiempo en completarse. En los estados de actividad podemos encontrar otros elementos adicionales como son: acciones de entrada (entry) y de salida (exit) del estado en cuestión, así como definición de submáquinas, como podemos ver en la figura siguiente:




Figura 47: Submaquinas

Transiciones

Las transiciones reflejan el paso de un estado a otro, bien sea de actividad o de acción. Esta transición se produce como resultado de la finalización del estado del que parte el arco dirigido que marca la transición. Como todo flujo de control debe empezar y terminar en algún momento, podemos indicar esto utilizando dos disparadores de inicio y fin tal y como queda reflejado en el ejemplo siguiente.


                                                                                 Figura 48: Transiciones

Bifurcaciones

Un flujo de control no tiene porqué ser siempre secuencial, puede presentar caminos alternativos. Para poder representar dichos caminos alternativos o bifurcación se utilizará como símbolo el rombo. Dicha bifurcación tendrá una transición de entrada y dos o más de salida. En cada transición de salida se colocará una expresión booleana que será evaluada una vez al llegar a la bifurcación, las guardas de la bifurcación han de ser excluyentes y contemplar todos los casos ya que de otro modo la ejecución del flujo de control quedaría interrumpida. Para poder cubrir todas las posibilidades se puede utilizar la palabra ELSE, para indicar una transición obligada a un determinado estado cuando el resto de guardas han fallado. Veamos un ejemplo de bifurcación.



Figura 49: Bifurcaciones

División y unión

No sólo existe el flujo secuencial y la bifurcación, también hay algunos casos en los que se requieren tareas concurrentes. UML representa gráficamente el proceso de división, que representa la concurrencia, y el momento de la unión de nuevo al flujo de control secuencial, por una línea horizontal ancha. Podemos ver cómo se representa gráficamente.




Figura 50: División y unión

Calles

Cuando se modelan flujos de trabajo de organizaciones, es especialmente útil dividir los estados de actividades en grupos, cada grupo tiene un nombre concreto y se denominan calles. Cada calle representa a la parte de la organización responsable de las actividades que aparecen en esa calle. Gráficamente quedaría como se muestra a continuación.


Figura 51: Calles



 
|