Una guía completa de 14 tipos de diagramas UML

El lenguaje de modelado unificado es un lenguaje de modelado de propósito general estandarizado y, en la actualidad, el  Object Management Group (OMG) lo administra como un estándar industrial de facto . UML incluye un conjunto de técnicas de notación gráfica para crear modelos visuales para sistemas intensivos en software.

En UML 2.2 hay 14 tipos de diagramas UML, que se dividen en dos categorías:

  • 7 tipos de diagramas representan información estructural
  • Otros 7 representan tipos generales de diagramas UML para el modelado de comportamiento, incluidos cuatro que representan diferentes aspectos de las interacciones.

Estos diagramas se pueden categorizar jerárquicamente como se muestra en el siguiente mapa de diagrama UML:

Pregunta: ¿UML es enorme y complejo?

UML es un tema verdaderamente enorme. UML proporciona un gran volumen de notación de diagramación agrupada en 14 tipos de diagramas UML diferentes, cada uno con diferentes modelos UML, que cumplen diferentes propósitos y abordan diferentes aspectos de las necesidades de desarrollo.

  • Cada diagrama UML de los 14 tipos de diagramas UML proporciona un gran conjunto de construcciones y notaciones que cubren diferentes necesidades para la mayoría de los proyectos de desarrollo de software.
  • La especificación UML tiene más de 700 páginas y claramente se considera demasiado compleja y tiene un impacto negativo en la percepción y adopción de UML.
  • Por lo general, los usuarios tienden a considerar y usar solo una parte de sus diagramas/construcciones de UML.

Respuesta: aprenda los diagramas y la notación UML más esenciales

Grady Booch, uno de los más importantes desarrolladores de Unified Modeling Language, afirmó que “Para el 80% de todo el software solo se necesita el 20% de UML”.


¿Qué es la Encuesta UML* Estados?

Podríamos interpretar los resultados de la encuesta UML suponiendo que, si un diagrama es

  • ampliamente utilizado, si ≥ 60% de las fuentes
  • apenas se utiliza si es ≤ 40% de las fuentes

En este artículo, presento los 14 tipos de diagramas UML según el orden de frecuencia de uso mencionado anteriormente:

Por ejemplo, el diagrama de clases es el más utilizado, por lo que se discutirá primero en esta sección y así sucesivamente…

Diagrama de clase

En ingeniería de software, un diagrama de clases en el  lenguaje de modelado unificado (UML)  es  un tipo de diagrama de estructura estática  que describe la estructura de un sistema al mostrar las clases del sistema, sus atributos, operaciones (o métodos) y las relaciones entre objetos.

Propósito de los diagramas de clases

  1. Muestra la estructura estática de los clasificadores en un sistema.
  2. El diagrama proporciona una notación básica para otros diagramas de estructura prescritos por UML.
  3. Útil para desarrolladores y otros miembros del equipo también
  4. Los analistas comerciales pueden usar diagramas de clases para modelar sistemas desde una perspectiva comercial.

Un diagrama de clases UML se compone de:

  • un conjunto de clases y
  • Un conjunto de relaciones entre clases.

Diagrama de clase: ejemplo de herramienta de diagrama

Un diagrama de clases también puede tener notas adjuntas a clases o relaciones. Las notas se muestran en gris.

En el ejemplo anterior:

Podemos interpretar el significado del diagrama de clases anterior leyendo los puntos de la siguiente manera.

  1. La forma es una clase abstracta. Se muestra en cursiva.
  2. La forma es una superclase. Círculo, Rectángulo y Polígono se derivan de Forma. En otras palabras, un círculo es una forma. Esta es una relación de generalización/herencia.
  3. Existe una asociación entre DialogBox y DataController.
  4. La forma es parte de la ventana. Esta es una relación de agregación. La forma puede existir sin Ventana.
  5. El punto es parte del círculo. Esta es una relación de composición. El punto no puede existir sin un círculo.
  6. La ventana depende del evento. Sin embargo, Event no depende de Window.
  7. Los atributos de Circle son radio y centro. Esta es una clase de entidad.
  8. Los nombres de los métodos de Circle son area(), circum(), setCenter() y setRadius().
  9. El parámetro radio en Circle es un parámetro de tipo float.
  10. El método area() de la clase Circle devuelve un valor de tipo double.
  11. Los atributos y nombres de métodos de Rectangle están ocultos. Algunas otras clases en el diagrama también tienen sus atributos y nombres de métodos ocultos.

El segundo tipo de diagrama más popular en UML es el diagrama de actividad:

Diagrama de actividad

El diagrama de actividad es otro diagrama de comportamiento importante en el diagrama  UML  para describir aspectos dinámicos del sistema. El diagrama de actividad es esencialmente una versión avanzada del diagrama de flujo que modela el flujo de una actividad a otra.

Cuándo usar el diagrama de actividades

Los diagramas de actividad describen cómo se coordinan las actividades para proporcionar un servicio que puede estar en diferentes niveles de abstracción. Por lo general, algunas operaciones deben lograr un evento, particularmente cuando la operación está destinada a lograr una serie de cosas diferentes que requieren coordinación, o cómo los eventos en un solo caso de uso se relacionan entre sí, en particular, casos de uso donde las actividades pueden superponerse y requerir coordinación. También es adecuado para modelar cómo se coordina una colección de casos de uso para representar flujos de trabajo comerciales.

  1. Identificar casos de uso candidatos, a través del examen de flujos de trabajo comerciales
  2. Identificar las condiciones previas y posteriores (el contexto) para los casos de uso
  3. Modelo de flujos de trabajo entre/dentro de los casos de uso
  4. Modele flujos de trabajo complejos en operaciones sobre objetos
  5. Modele en detalle actividades complejas en un diagrama de actividad de alto nivel

Diagrama de actividad — Aprende con ejemplos

Un diagrama de actividad básico – diagrama de flujo como

Ejemplo de Diagrama de Actividad — Orden de Proceso

Dada la descripción del problema relacionado con el flujo de trabajo para procesar un pedido, modelemos la descripción en representación visual usando un diagrama de actividad:

Orden de proceso — Descripción del problema

Una vez que se recibe el pedido, las actividades se dividen en dos conjuntos paralelos de actividades. Un lado completa y envía el pedido mientras que el otro maneja la facturación.

En el lado de la orden de ejecución, el método de entrega se decide condicionalmente. Dependiendo de la condición, se realiza la actividad de Entrega al día siguiente o la actividad de Entrega regular.

Finalmente las actividades paralelas se combinan para cerrar la orden.

El siguiente ejemplo de diagrama de actividad visualiza el flujo en forma gráfica.

El tercer tipo de diagrama UML más utilizado es el diagrama de secuencia:

Diagrama de secuencia

Los diagramas de secuencia UML  son diagramas de interacción que detallan cómo se llevan a cabo las operaciones. Capturan la interacción entre objetos en el contexto de una colaboración. Los diagramas de secuencia se centran en el tiempo y muestran visualmente el orden de la interacción mediante el uso del eje vertical del diagrama para representar en el tiempo qué mensajes se envían y cuándo.

Ejemplo de diagrama de secuencia: sistema hotelero

El diagrama de secuencia es un diagrama de interacción que detalla cómo se llevan a cabo las operaciones: qué mensajes se envían y cuándo. Los diagramas de secuencia están organizados según el tiempo. El tiempo avanza a medida que avanzas en la página. Los objetos implicados en la operación se enumeran de izquierda a derecha según su participación en la secuencia del mensaje.

A continuación se muestra un diagrama de secuencia para hacer una reserva de hotel. El objeto que inicia la secuencia de mensajes es una ventana de Reserva.

Tenga en cuenta que: los diagramas de clases y objetos son vistas de modelos estáticos. Los diagramas de interacción son dinámicos. Describen cómo colaboran los objetos.

Los cuartos tipos de diagrama UML más utilizados (96 %) son:

  • use el diagrama del caso
  • diagrama de maquina de estado

Use el diagrama del caso

Un  diagrama de casos de uso de UML  es la forma principal de requisitos de sistema/software para un nuevo programa de software subdesarrollado. Los casos de uso especifican el comportamiento esperado (qué), y no el método exacto para hacerlo realidad (cómo).

Los casos de uso, una vez especificados, se pueden denotar como representación textual y visual (es decir, diagrama de casos de uso). Un concepto clave del modelado de casos de uso es que nos ayuda a diseñar un sistema desde la perspectiva del usuario final. Es una técnica efectiva para comunicar el comportamiento del sistema en los términos del usuario al especificar todo el comportamiento del sistema visible externamente.

Diagrama de caso de uso de un vistazo

Una forma estándar de diagrama de casos de uso se define en el Lenguaje de modelado unificado como se muestra en el siguiente ejemplo de Diagrama de casos de uso:

Diagrama de caso de uso — Sistemas de venta de vehículos

La siguiente figura muestra un ejemplo de diagrama de caso de uso para un sistema de vehículo. Como puede ver, incluso un sistema tan grande como un sistema de venta de vehículos no contiene más de 10 casos de uso. Esa es la belleza del modelado de casos de uso.

El modelo de caso de uso también muestra el uso de extender e incluir. Además, existen asociaciones que conectan entre actores y casos de uso.

Diagrama de estado

El comportamiento de una entidad no es solo una consecuencia directa de sus entradas, sino que también depende de su estado anterior. La historia pasada de una entidad se puede modelar mejor mediante un diagrama de máquina de estado finito o tradicionalmente llamado autómata.

Los diagramas de máquina de estado UML  (o a veces denominados diagrama de estado, máquina de estado o gráfico de estado) muestran los diferentes estados de una entidad. Los diagramas de máquinas de estado también pueden mostrar cómo una entidad responde a varios eventos cambiando de un estado a otro. El diagrama de máquina de estado es un diagrama UML que se utiliza para modelar la naturaleza dinámica de un sistema.

Notación de diagrama de máquina de estado simple

Un estado simple es aquel que no tiene subestructura. Un estado que tiene subestados (estados anidados) se denomina estado compuesto. Los subestados se pueden anidar en cualquier nivel. Una máquina de estados anidados puede tener como máximo un estado inicial y un estado final. Los subestados se utilizan para simplificar máquinas complejas de estados planos al mostrar que algunos estados solo son posibles dentro de un contexto particular (el estado envolvente).

Ejemplo de subestado: calentador

Estados históricos

A menos que se especifique lo contrario, cuando una transición entra en un estado compuesto, la acción de  la máquina de estados anidados vuelve a empezar en el estado inicial  (a menos que la transición se dirija directamente a un subestado). Los estados de historial permiten que la máquina de estados  vuelva a ingresar al último subestado que estaba activo antes de abandonar  el estado compuesto. En la siguiente figura se presenta un ejemplo del uso del estado histórico.

El uso del Diagrama de Comunicación es del 82% según la encuesta:

Diagrama de comunicación

 Los diagramas de comunicación  UML , como los diagramas de secuencia  , una especie de diagrama de interacción, muestran cómo interactúan los objetos. Un diagrama de comunicación es una extensión del diagrama de objetos que muestra los objetos junto con los mensajes que viajan de uno a otro. Además de las asociaciones entre objetos, el diagrama de comunicación muestra los mensajes que los objetos se envían entre sí.

Diagrama de comunicación de un vistazo

En el ejemplo de la notación de un diagrama de comunicación, los objetos (actores en casos de uso) se representan mediante rectángulos. En el ejemplo (diagrama de comunicación genérico):

  • Los objetos son Object1, Object2, Object…, ObjectN-1… y ObjectN.
  • Los mensajes que se pasan entre objetos se representan mediante flechas etiquetadas que comienzan con el objeto emisor (actor) y terminan con el objeto receptor.
  • Los mensajes de muestra que se pasan entre objetos se etiquetan como 1: mensaje1, 2: mensaje2, 3: mensaje3, etc., donde el prefijo numérico del nombre del mensaje indica su orden en la secuencia.
  • El Objeto1 envía primero al Objeto2 el mensaje mensaje1, el Objeto2 a su vez envía al ObjetoN-1 el mensaje mensaje2, y así sucesivamente.
  • Los mensajes que los objetos se envían a sí mismos se indican como bucles (p. ej., mensaje mensaje5).

Diagrama de comunicación vs Diagrama de secuencia

El diagrama de comunicación y el diagrama de secuencia son similares. Son semánticamente equivalentes, es decir, presentan la misma información, y puedes convertir una comunicación en un diagrama de secuencia y viceversa. La principal distinción entre ellos es que el diagrama de comunicación organiza los elementos según el espacio, el diagrama de secuencia lo hace según el tiempo.

De los dos tipos de diagramas de interacción, los diagramas de secuencia parecen usarse mucho más que los diagramas de comunicación. Entonces, ¿por qué usaría diagramas de comunicación? En primer lugar, son muy útiles para visualizar la relación entre los objetos que colaboran para realizar una tarea en particular. Esto es difícil de determinar a partir de un diagrama de secuencia. Además, los diagramas de comunicación también pueden ayudarlo a determinar la precisión de su modelo estático (es decir, diagramas de clase).

Los usos del diagrama de componentes y del diagrama de implementación son del 80 %:

Diagrama de componentes

Los diagramas de componentes UML  se utilizan para modelar los aspectos físicos de los sistemas orientados a objetos que se utilizan para visualizar, especificar y documentar sistemas basados ​​en componentes y también para construir sistemas ejecutables mediante ingeniería directa e inversa.

Los diagramas de componentes son esencialmente diagramas de clases que se enfocan en los componentes de un sistema que a menudo se usan para modelar la vista de implementación estática de un sistema.

Diagrama de componentes de un vistazo

Un diagrama de componentes desglosa el sistema real en desarrollo en varios niveles altos de funcionalidad. Cada componente es responsable de un objetivo claro dentro de todo el sistema y solo interactúa con otros elementos esenciales según sea necesario.

Diagrama de implementación

Un  diagrama de implementación UML  es un diagrama que muestra la configuración de los nodos de procesamiento en tiempo de ejecución y los componentes que residen en ellos. Los diagramas de implementación son un tipo de diagrama de estructura que se utiliza para modelar los aspectos físicos de un sistema orientado a objetos. A menudo se utilizan para modelar la vista de implementación estática de un sistema (topología del hardware).

Diagrama de implementación de un vistazo

Los diagramas de implementación son importantes para visualizar, especificar y documentar sistemas integrados, cliente/servidor y distribuidos, y también para administrar sistemas ejecutables a través de ingeniería directa e inversa.

Un diagrama de implementación es solo un tipo especial de diagrama de clase, que se enfoca en los nodos de un sistema. Gráficamente, un diagrama de despliegue es una colección de vértices y arcos. Los diagramas de implementación comúnmente contienen:

Nodos

  • El cuadro 3-D representa un nodo, ya sea software o hardware.
  • El nodo HW se puede representar con <<estereotipo>>
  • Las conexiones entre nodos se representan con una línea, con <<estereotipo>> opcional
  • Los nodos pueden residir dentro de un nodo.

Otras notaciones

  • Dependencia
  • Relaciones de asociación.
  • También puede contener notas y restricciones.

El uso del diagrama de objetos UML es del 71% según la encuesta:

Diagrama de objetos

El objeto es una instancia de un momento particular en tiempo de ejecución, incluidos objetos y valores de datos. Un diagrama de objetos UML estático   es una instancia de un  diagrama de clases ; muestra una instantánea del estado detallado de un sistema en un punto en el tiempo, por lo que un diagrama de objetos abarca los objetos y sus relaciones en un punto en el tiempo.

Diagrama de objetos de un vistazo

Un diagrama de objetos muestra esta relación entre las clases instanciadas y la clase definida, y la relación entre estos objetos en el sistema. Son útiles para explicar porciones más pequeñas de su sistema, cuando el diagrama de clases de su sistema es muy complejo y, a veces, también para modelar relaciones recursivas en el diagrama.

La mejor forma de ilustrar el aspecto de un diagrama de objetos es mostrar el diagrama de objetos derivado del diagrama de clases correspondiente.

El siguiente Sistema de Gestión de Pedidos muestra sus relaciones. Este pequeño diagrama de clase muestra que un departamento universitario puede contener muchos otros departamentos y el siguiente diagrama de objetos instancia el diagrama de clase, reemplazándolo por un ejemplo concreto.

Ejemplo de diagrama de clase a objeto: sistema de pedidos

El uso del diagrama de paquete es del 70%:

Diagrama de paquete

El diagrama de paquete, una especie de diagrama estructural, muestra la disposición y organización de los elementos del modelo en un proyecto de mediana a gran escala. El diagrama de paquete puede mostrar tanto la estructura como las dependencias entre subsistemas o módulos, mostrando diferentes vistas de un sistema, por ejemplo, como una aplicación de varias capas (también conocida como multicapa): modelo de aplicación de varias capas.

Diagrama de paquete de un vistazo

El diagrama de paquetes se usa para simplificar diagramas de clases complejos, puede agrupar clases en paquetes. Un paquete es una colección de elementos UML lógicamente relacionados.

El siguiente diagrama es un modelo de negocio en el que las clases se agrupan en paquetes:

  • Los paquetes aparecen como rectángulos con pequeñas pestañas en la parte superior.
  • El nombre del paquete está en la pestaña o dentro del rectángulo.
  • Las flechas punteadas son dependencias.
  • Un paquete depende de otro si los cambios en el otro pueden forzar cambios en el primero.

El uso del diagrama de estructura compuesta es del 52%:

Diagrama de estructura compuesta

El diagrama de estructura compuesta es uno de los nuevos artefactos agregados a UML 2.0. Un diagrama de estructura compuesta es un diagrama estructural UML que contiene clases, interfaces, paquetes y sus relaciones, y que proporciona una vista lógica de todo o parte de un sistema de software. Muestra la estructura interna (incluidas las partes y los conectores) de un clasificador estructurado o una colaboración.

Un diagrama de estructura compuesta desempeña una función similar a un diagrama de clase, pero le permite entrar en más detalles al describir la estructura interna de varias clases y mostrar las interacciones entre ellas. Puede representar gráficamente clases y partes internas y mostrar asociaciones entre clases y dentro de ellas.

Diagrama de estructura compuesta de un vistazo

  • Los diagramas de estructura compuesta muestran las partes internas de una clase.
  • Las partes se nombran: partName:partType[multiplicity]
  • Las clases agregadas son partes de una clase, pero las partes no son necesariamente clases, una parte es cualquier elemento que se usa para formar la clase contenedora.

El Diagrama de tiempo tiene solo un 40% de uso y rara vez lo usan los usuarios promedio

Diagrama de tiempo

Los diagramas de tiempo son  diagramas de interacción UML  que se utilizan para mostrar interacciones cuando el propósito principal del diagrama es razonar sobre el tiempo. Se centran en las condiciones que cambian dentro y entre las líneas de vida a lo largo de un eje de tiempo lineal. Los diagramas de tiempo describen el comportamiento tanto de los clasificadores individuales como de las interacciones de los clasificadores, centrando la atención en el momento en que ocurren los eventos que provocan cambios en las condiciones modeladas de las líneas de vida.

Diagrama de tiempo de un vistazo

Representación de la línea de tiempo del estado

Los cambios de un  estado  a otro están representados por  un cambio en el nivel de la línea de vida . Durante el período de tiempo en que el objeto se encuentra en un estado dado, la línea de tiempo corre paralela a ese estado. Un cambio de estado aparece como un cambio vertical de un nivel a otro. La causa del cambio, como es el caso de un diagrama de estado o de secuencia, es la recepción de un mensaje, un evento que provoca un cambio, una condición dentro del sistema, o incluso simplemente el paso del tiempo.

Representación de la línea de vida del valor

La siguiente figura muestra una notación alternativa del diagrama de tiempo UML. Muestra el estado del objeto entre dos líneas horizontales que se cruzan cada vez que cambia de estado.

El diagrama de descripción general interactivo es un nuevo diagrama agregado en UML 2.0:

Diagrama de descripción general interactivo

Descripción general de la interacción UML Los diagramas proporcionan un alto nivel de abstracción y un modelo de interacción. Es una variante del Diagrama de Actividad donde los nodos son las interacciones o ocurrencias de interacción.

El diagrama de descripción general de la interacción se centra en la descripción general del flujo de control de las interacciones que también puede mostrar el flujo de actividad entre diagramas. En otras palabras, puede vincular los diagramas «reales» y lograr un alto grado de navegabilidad entre los diagramas dentro de un Diagrama general de interacción.

Resumen del diagrama de interacción de un vistazo

El diagrama de descripción general de interacción es uno de los catorce tipos de diagramas del lenguaje de modelado unificado (UML), que puede representar un flujo de control con nodos que pueden contener diagramas de interacción que muestran cómo se puede iniciar un conjunto de fragmentos en varios escenarios. Los diagramas de descripción general de interacción se centran en la descripción general del flujo de control donde los nodos son  interacciones  (sd) o  uso de interacción  (ref).

Los otros elementos de notación para los diagramas generales de interacción son los mismos que para los diagramas de actividad y de secuencia. Estos incluyen nodos iniciales, finales, de decisión, de fusión, de bifurcación y de unión.

El diagrama UML de menor uso es el diagrama de perfil, obtuvo solo el 11%:

Diagrama de perfil

Como lenguaje de modelado de propósito general, UML proporciona una base estable para una amplia variedad de requisitos. No está definido para dominios de aplicación específicos ni para ninguna tecnología específica. Sin embargo, en algunas circunstancias, UML es demasiado general y su uso implica un esfuerzo considerable. En tales casos, es ventajoso el uso de un lenguaje optimizado para el dominio dado y, por lo tanto, que ofrezca conceptos especiales.

El diagrama de perfil, una especie de diagrama estructural en el lenguaje de modelado unificado (UML), proporciona un mecanismo de extensión genérico para personalizar modelos UML para dominios y plataformas particulares. Los mecanismos de extensión permiten refinar la semántica estándar de manera estrictamente aditiva, evitando que contradiga la semántica estándar. Los perfiles se definen mediante  estereotipos ,  definiciones de valores etiquetados y  restricciones  que se aplican a elementos de modelo específicos, como clases, atributos, operaciones y actividades. Un perfil es una colección de tales extensiones que colectivamente personalizan UML para un dominio particular (por ejemplo, aeroespacial, de salud, financiero) o plataforma (J2EE, .NET).

Ejemplo de diagrama de perfil: gestión de TI

Un perfil se aplica a otro paquete para que los estereotipos del perfil estén disponibles para ese paquete. La siguiente ilustración muestra los perfiles de red, telecomunicaciones y software que se aplican al paquete de administración de TI.

¿Está buscando una herramienta de diseño de software en línea gratuita?

Aquí está el repositorio en línea de Visual Paradigm para ejemplos de diseño de software, es:

  • Gratis (fines personales y no comerciales)
  • En línea (cero instalación y configuración)
  • Admite Google Drive y almacenamiento gratuito en la nube
  • muchos ejemplos
  • ¡Úselo en cualquier momento y en cualquier lugar! solo necesita un navegador web

Use el diagrama del caso

Diagrama de clase

Diagrama de actividad

Diagrama de componentes

Diagrama de implementación

Diagrama de paquete

Diagrama de máquina de estado

Diagrama de secuencia

Diagrama de ER

Diagrama de flujo de datos

Diagrama de robustez

empresa internacional patrones

Diagrama de requisitos

Diagrama de definición de bloque

Diagrama paramétrico

Diagrama de bloques interno

Diagrama de Gane Sarson

Yourdon y Coad

Yourdon DeMarco DFD

DFD SSADM

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.