Los 13 Diagramas UML y sus Componentes (2/2)


En esta ocasión te traemos la segunda parte de los diagramas UML, que es la continuacion de la primera parte.


7. Diagrama de Actividades.
Se usa para mostrar la secuencia de actividades. Los diagramas de actividades muestran el flujo de trabajo desde el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso de eventos contenidos en la actividad. Estos también pueden usarse para detallar situaciones donde el proceso paralelo puede ocurrir en la ejecución de algunas actividades. Los Diagramas de Actividades son útiles para el Modelado de Negocios donde se usan para detallar el proceso involucrado en las actividades de negocio.

  • Actividad: Una actividad es la especificación de una secuencia parametrizada de comportamiento.

  • Acciones: Una acción representa un solo paso dentro de una actividad.

  • Restricciones de Acción: Las restricciones se pueden adjuntar a una acción.

  • Flujo de Control: Muestra el flujo de control de una acción a otra.

  • Nodo Final de Flujo: Representa el final de un flujo de control más no el final de todos los flujos.

  • Flujos de Objeto y Objeto: es la ruta a lo largo de la cual pueden pasar objetos o datos.



  • Región de Expansión: Una región de expansión es una región de actividad estructurada que se ejecuta muchas veces. Los nodos de expansión de salida y entrada se dibujan como un grupo de tres casillas representando una selección múltiple de ítems. La clave reiterativa, paralelo, o flujo se muestra en la esquina izquierda arriba de la región.

  • Región de Actividad Interrumpible: Rodea un grupo de acciones que se pueden interrumpir; en este caso el proceso de la orden será interrumpido si sucede una interrupción del tipo “Cancelar Orden”

  • Partición: Una partición de una actividad se muestra como calles horizontales o verticales; en el ejemplo se describen dos actividades que realizan los departamentos.

8. Diagrama de Casos de Uso.
Captura los requisitos de un sistema. Los casos de uso son un medio de comunicación con los usuarios y otros interesados acerca de lo que se piensa hacer del sistema.

  • Nombre y Descripción: Se nombra como una frase verbal y se le da una descripción textual informal.
  • Requisitos: Los requisitos definen los requisitos funcionales formales que un caso de uso debe proveer al usuario final.
  • Restricciones: Los requisitos definen los requisitos funcionales formales que un caso de uso debe proveer al usuario final.
  • Escenarios: Una restricción es una condición o restricción bajo la cual opera un caso de uso y que incluye pre, y post condiciones y condiciones invariantes.
  • Diagramas de escenarios: Un escenario es una descripción formal del flujo de eventos que ocurren durante la ejecución de una instancia de casos de uso.

  • Información adicional

  • Actores: Representan los roles que pueden incluir usuarios humanos, un hardware externo u otros sistemas.

  • Conector “use”: Puede tener valores múltiples en cada final, en el ejemplo se muestra un cliente que puede tener usa sesión de “retiro” a la vez pero que el servicio puede atender a múltiples usuarios.

  • Caso de Uso: Es una sola unidad de trabajo significativo. Este provee una vista de alto nivel de comportamiento observable para alguien o algo fuera del sistema. 



  • Incluir caso de uso: Los casos de uso pueden contener la funcionalidad de otro caso de uso como parte de su proceso normal. En general se asume que cualquier caso de uso incluido se llamará cada vez que se ejecute una ruta básica.

  • Extender: Se puede usar para extender el comportamiento de otro, en el ejemplo la autorización puede o no implicar una modificación de la orden y puede ser antes o después de la autorización. 


  • Punto de Extensión: El punto al cual un caso de uso extendido se agrega se puede definir por medio de un punto de extensión.

  • Límite del Sistema: Usualmente se usa para mostrar casos de uso dentro del sistema y actores fuera del sistema.


9. Diagrama de Máquina de Estados.
Modela el comportamiento de un solo objeto, especificando la secuencia de eventos que un objeto atraviesa durante su tiempo de vida en respuesta a los eventos.

  • Transiciones: Las transiciones desde un estado al siguiente se denotan por líneas con flechas. Una transición puede tener un disparador, una guarda y un efecto
  • Acciones de Estado: Si el estado de destino tenía muchas transiciones llegando al mismo, y cada transición tenía el mismo efecto asociado con este, sería mejor asociar el efecto con el estado de destino en lugar de con las transiciones. Esto se puede realizar para definir una acción de entrada para el estado.
  • Transiciones Recursivas: Un estado puede tener una transición que retorna a sí misma, siendo útil cuando un efecto se asocia con la transición.
  • Punto de Entrada: Es posible utilizar cuando el estado inicial normal no requiere una sub máquina.
  • Pseudo Estado “terminate” (terminar): Indica que la línea de vida de la máquina de estado ha terminado.
  • Estado “history” (historial): se usa para recordar el estado anterior de una máquina de estado cuando fue interrumpida.
  • Regiones Recientes: se usa para recordar el estado anterior de una máquina de estado cuando fue interrumpida. Los pseudo estados en lugar de los pseudo estados elección y combinación. Estos símbolos se usan para sincronizar los hilos concurrentes.


10. Diagrama de Secuencia.
Es una forma de diagrama de interacción que muestra los objetos como líneas de vida a lo largo de la página y con sus interacciones en el tiempo representadas como mensajes dibujados como flechas desde la línea de vida origen hasta la línea de vida destino. Los diagramas de secuencia son buenos para mostrar qué objetos se comunican con qué otros objetos y qué mensajes disparan esas comunicaciones. Los diagramas de secuencia no están pensados para mostrar lógicas de procedimientos complejos.




  • Línea de Vida: representa un participante individual en un diagrama, algunas veces un diagrama de secuencia tendrá una línea de vida con un símbolo del elemento actor en la parte superior. Este usualmente sería el caso si un diagrama de secuencia es contenido por un caso de uso. Los elementos entidad, control y límite de los diagramas de robustez también pueden contener líneas de vida.

  • Mensajes: Se muestran como flechas. Los mensajes pueden ser completos, perdidos o encontrados; síncronos o asíncronos: llamadas o señales.

  • Mensaje “self”: Puede representar una llamada recursiva de una operación, o un método llamando a otro método perteneciente al mismo objeto.

  • Mensajes Perdidos/Encontrados: Son aquellos que han sido enviados pero que no han llegado al destino esperado, o que han llegado a un destino que no se muestra en el diagrama actual. Los mensajes encontrados son aquellos que llegan de un remitente no conocido, o de un remitente no conocido en el diagrama actual.

  • Inicio/Final de Línea de Vida: Una línea de vida se puede crear o destruir durante la escala de tiempo representada por un diagrama de secuencia. En el último caso, la línea de vida se termina por un símbolo de detención, representado como una cruz.

  • Puerta: Punto de conexión para conectar un mensaje dentro de un fragmento con un mensaje fuera del fragmento.

  • Descomposición en Parte: Un objeto puede tener más de una línea de vida que viene de ésta. Esto permite mensajes de entre e intra objetos para que se muestren en el mismo diagrama.

  • Continuaciones/Invariantes de Estado: Una invariante de estado es una restricción ubicada en una línea de vida que debe ser verdadera en el tiempo de ejecución.

Un fragmento combinado es una o más secuencias de procesos incluidas en un marco y ejecutadas bajo circunstancias nombradas específicas. Los fragmentos disponibles son:

  • El fragmento Alternative (denotado “alt”) modela estructuras if…then…else.
  • El fragmento Option (denotado “opt”) modela estructuras switch.
  • El fragmento Break modela una secuencia alternativa de eventos que se procesa en lugar de todo del resto del diagrama.
  • El fragmento Parallel (denotado “par”) modela procesos concurrentes.
  • El fragmento de secuenciado Weak (denotado “seq”) incluye un número de secuencias para las cuales todos los mensajes se deben procesar en un segmento anterior, antes de que el siguiente segmento pueda comenzar, pero que no impone ningún secuenciado en los mensajes que no comparten una línea de vida.
  • El fragmento de secuenciado Strict (denotado “strict”) incluye una serie de mensajes que se deben procesar en el orden proporcionado.
  • El fragmento Negative (denotado “neg”) incluye una serie de mensajes inválidos.
  • El fragmento Critical incluye una sección crítica.
  • El fragmento Ignore declara un mensaje o mensajes que no son de ningún interés si este aparece en el contexto actual.
  • El fragmento Consider es el opuesto del fragmento Ignore: cualquier mensaje que no se incluya en el fragmento Consider se debería ignorar.
  • El fragmento Assertion (denotado “assert”) designa que cualquier secuencia que no se muestra como un operando de la aserción es inválida.
  • El fragmento Loop incluye una serie de mensajes que están repetidos.

(También te puede interesar: Programación Competitiva: ¿Es Importante en las Grandes Compañias?)


11. Diagrama de Comunicaciones.
Inicialmente llamado un diagrama de colaboración, es un diagrama de interacción que muestra información similar a los diagramas de secuencia pero su foco principal es en la relación de objetos.
En los diagramas de comunicaciones, los objetos se muestran con conectores de asociación entre ellos. Los mensajes se agregan a las asociaciones y se muestran como flechas cortas apuntando en la dirección del flujo del mensaje. La secuencia de los mensajes se muestra a través de un esquema numerado.



12. Diagrama de Tiempo.
Se usan para mostrar el cambio en el estado o valor de uno o más elementos en el tiempo. Este también puede mostrar la interacción entre los eventos de tiempos, las restricciones de tiempos y la duración que los gobiernan.

  • Línea de Vida del Estado: Muestra el cambio de estado de ítem en el tiempo. El eje-X muestra el tiempo trascurrido en cualquier unidad que se elija mientras que el eje-Y se nombra con una lista de estados proporcionados.


  • Línea de Vida del Valor: Muestra el cambio del valor de un ítem en el tiempo. El eje-X muestra el tiempo transcurrido en cualquier unidad que se elija, lo mismo que para la línea de vida del estado. El valor se muestra entre el par de líneas horizontales que se cruzan en cada cambio del valor.


  • Mostrar Ambos Juntos: Las líneas de vida y del estado se pueden ubicar una arriba de otro en cualquier combinación. Estas deben tener el mismo eje-X. Los mensajes se pueden pasar de una línea de vida a otra. Cada transición del estado o valor puede tener un evento definido, una restricción de tiempo que indica cuándo debe ocurrir un evento, y una restricción de duración que indica cuánto tiempo debe estar en efecto un valor o estado.


13. Diagrama de Descripción de la Interacción.
Es una forma de diagrama de actividad en el cual los nodos representan diagramas de interacción. Los diagramas de interacción pueden incluir diagramas de secuencia, comunicación, de descripción de la interacción y de tiempos. La mayoría de la notación para los diagramas de descripción de la interacción es la misma que para los diagramas de actividad, por ejemplo los nodos inicial, final, decisión, combinación, bifurcación y unión son todos lo mismo. Sin embargo, los diagramas de descripción de la interacción introducen dos elementos nuevos, ocurrencias de interacción y elementos de interacción.




  • Ocurrencia de la Interacción: Son referencias a los diagramas de interacción existentes. Una ocurrencia de interacción se muestra como un marco de referencia, es decir un marco con “ref” en la esquina superior izquierda.



  • Elementos de Interacción: Son similares a los de ocurrencias de interacción en el hecho de que estos muestran una representación de diagramas de interacción existentes dentro de un marco rectangular. Estos difieren en el hecho de que muestran los contenidos de los diagramas de referencia en línea.



Bueno hemos llegado al final de la segunda parte de este artículo ¿qué opinas de este lenguaje? ¿es útil, le cambiarías algo? Queremos leer tus opiniones y observaciones así que no dudes en dejarlo en los comentarios.

< Ver los 6 diagramas UML anteriores en la primera parte




No hay comentarios:

Publicar un comentario