Diagramas UML | Qué Son, Tipos, Usos y Cómo Hacerlos

Última actualización:

UML es una forma de visualizar un programa de software utilizando una colección de diagramas. La notación ha evolucionado a partir del trabajo de Grady Booch, James Rumbaugh, Ivar Jacobson y Rational Software Corporation para utilizarse en el diseño orientado a objetos.

Pero desde entonces se ha ampliado para cubrir una variedad más amplia de proyectos de ingeniería de software. En la actualidad, el Object Management Group (OMG) acepta UML como estándar para el desarrollo de software de modelado.

UML

¿Qué significa UML?

UML significa Lenguaje de modelado unificado (Unified Modeling Language). UML 2.0 ayudó a ampliar la especificación UML original para cubrir una parte más amplia de los esfuerzos de desarrollo de software, incluidas las prácticas ágiles.

  • Integración mejorada entre modelos estructurales como diagramas de clases y modelos de comportamiento como diagramas de actividad.
  • Se agregó la capacidad de definir una jerarquía y descomponer un sistema de software en componentes y subcomponentes.
  • El UML original especificaba nueve diagramas; UML 2.x eleva ese número a 13. Los cuatro nuevos diagramas se denominan: diagrama de comunicación, diagrama de estructura compuesta, diagrama de descripción general de interacción y diagrama de tiempo. También cambió el nombre de los diagramas de diagrama de estado a diagramas de máquina de estado, también conocidos como diagramas de estado.

¿Qué es un diagrama de distribución UML?

El lenguaje de modelado unificado (UML) puede ayudarte a modelar sistemas de varias maneras. Uno de los tipos más populares de UML es el diagrama de distribución. Popular entre los ingenieros de software para documentar la arquitectura del software, los diagramas de clases son un tipo de diagrama de estructura porque describen lo que debe estar presente en el sistema que se modela.

UML se estableció como un modelo estandarizado para describir un enfoque de programación orientado a objetos. Dado que las clases son los componentes básicos de los objetos, los diagramas de clases son los componentes básicos de UML. Los diversos componentes de un diagrama de clases pueden representar las clases que realmente se programarán, los objetos principales o las interacciones entre clases y objetos.

Tipos de diagramas UML

Los estándares UML actuales exigen 13 tipos diferentes de diagramas: clase, actividad, objeto, caso de uso, secuencia, paquete, estado, componente, comunicación, estructura compuesta, descripción general de la interacción, tiempo y despliegue.

Estos diagramas están organizados en dos grupos distintos: diagramas estructurales y diagramas de comportamiento o de interacción.

Diagrama de clase

Los diagramas de clases son la columna vertebral de casi todos los métodos orientados a objetos, incluido UML. Describen la estructura estática de un sistema.

Diagrama de paquetes

Los diagramas de paquetes son un subconjunto de los diagramas de clases, pero los desarrolladores a veces los tratan como una técnica separada. Los diagramas de paquetes organizan los elementos de un sistema en grupos relacionados para minimizar las dependencias entre paquetes.

Diagrama de objetos

Los diagramas de objetos describen la estructura estática de un sistema en un momento determinado. Se pueden usar para probar la precisión de los diagramas de clases.

Diagrama de estructura compuesta

Los diagramas de estructura compuesta muestran la parte interna de una clase.

Diagrama de caso de uso

Los diagramas de casos de uso modelan la funcionalidad de un sistema utilizando actores y casos de uso.

Diagrama de actividad

Los diagramas de actividades ilustran la naturaleza dinámica de un sistema modelando el flujo de control de una actividad a otra. Una actividad representa una operación en alguna clase del sistema que da como resultado un cambio en el estado del sistema. Por lo general, los diagramas de actividad se utilizan para modelar el flujo de trabajo o los procesos comerciales y la operación interna.

Diagrama de secuencia

Los diagramas de secuencia describen las interacciones entre clases en términos de un intercambio de mensajes a lo largo del tiempo.

Diagrama de descripción general de la interacción

Los diagramas de descripción general de interacción son una combinación de diagramas de actividad y de secuencia. Modelan una secuencia de acciones y le permiten deconstruir interacciones más complejas en sucesos manejables. Debe usar la misma notación en los diagramas de descripción general de interacción que vería en un diagrama de actividad.

Diagrama de tiempo

Un diagrama de tiempo es un tipo de diagrama UML de comportamiento o interacción que se centra en los procesos que tienen lugar durante un período de tiempo específico. Son una instancia especial de un diagrama de secuencia, excepto que se muestra que el tiempo aumenta de izquierda a derecha en lugar de de arriba hacia abajo.

Diagrama de comunicación

Los diagramas de comunicación modelan las interacciones entre objetos en secuencia. Describen tanto la estructura estática como el comportamiento dinámico de un sistema. En muchos sentidos, un diagrama de comunicación es una versión simplificada de un diagrama de colaboración introducido en UML 2.0.

Diagrama de estado

Los diagramas de estado, ahora conocidos como diagramas de máquina de estado y los diagramas de estado describen el comportamiento dinámico de un sistema en respuesta a estímulos externos. Los diagramas de estado son especialmente útiles para modelar objetos reactivos cuyos estados son activados por eventos específicos.

Diagrama de componentes

Los diagramas de componentes describen la organización de los componentes físicos del software, incluido el código fuente, el código en tiempo de ejecución (binario) y los ejecutables.

Diagrama de implementación

Los diagramas de implementación representan los recursos físicos de un sistema, incluidos los nodos, los componentes y las conexiones.

UML

Beneficios de los diagramas

Los diagramas UML ofrecen una serie de beneficios para cualquier organización. Utiliza este tipo de diagramas para:

  • Ilustrar modelos de datos para sistemas de información, sin importar cuán simples o complejos sean.
  • Comprender mejor la descripción general de los esquemas de una aplicación.
  • Expresar visualmente cualquier necesidad específica de un sistema y difundir esa información en toda la empresa.
  • Crear gráficos detallados que resalten cualquier código específico necesario para ser programado e implementado en la estructura descrita.
  • Proporcionar una descripción independiente de la implementación de los tipos utilizados en un sistema que luego se pasan entre sus componentes.

Componentes básicos de un diagrama

El diagrama UML estándar se compone de tres secciones:

  • Sección superior: contiene el nombre de la clase. Esta sección siempre es obligatoria, ya sea que se trate del clasificador o de un objeto.
  • Sección intermedia: contiene los atributos. Utiliza esta sección para describir las cualidades. Esto solo es necesario cuando se describe una instancia específica.
  • Sección inferior: incluye operaciones (métodos). Mostrada en formato de lista, cada operación ocupa su propia línea. Las operaciones describen cómo interactúan los datos.

Modificadores de acceso de miembros

Todas las clases tienen diferentes niveles de acceso en función del modificador de acceso (visibilidad). Aquí están los niveles de acceso con sus símbolos correspondientes:

  • Público (+)
  • Privado (-)
  • Protegido (#)
  • Paquete (~)
  • Derivado (/)
  • Estático (subrayado)

Ámbitos de miembros

Hay dos ámbitos para los miembros: clasificadores e instancias.

Los clasificadores son miembros estáticos, mientras que las instancias son las instancias específicas de la clase. Si está familiarizado con la teoría básica de OO, esto no es nada innovador.

Componentes adicionales del diagrama de clases

Dependiendo del contexto, un diagrama puede representar los objetos principales, las interacciones en la aplicación o las clases que se programarán. Para responder a la pregunta «¿Qué es un diagrama UML?» primero se debe comprender su composición básica.

  • Clases: una plantilla para crear objetos e implementar el comportamiento en un sistema. En UML, una clase representa un objeto o un conjunto de objetos que comparten una estructura y un comportamiento comunes. Están representados por un rectángulo que incluye filas del nombre de la clase, sus atributos y sus operaciones. Cuando dibujas una clase en un diagrama de clases, solo debes completar la fila superior; las otras son opcionales si deseas proporcionar más detalles.
    • Nombre: la primera fila en una forma de clase.
    • Atributos: la segunda fila en una forma de clase. Cada atributo de la clase se muestra en una línea separada.
    • Métodos: también conocidos como operaciones, los métodos se muestran en formato de lista con cada operación en su propia línea.
  • Señales: Símbolos que representan comunicaciones asíncronas unidireccionales entre objetos activos.
  • Tipos de datos: clasificadores que definen valores de datos. Los tipos de datos pueden modelar tanto tipos primitivos como enumeraciones.
  • Paquetes: formas diseñadas para organizar clasificadores relacionados en un diagrama. Están simbolizados con una gran forma de rectángulo con pestañas.
  • Interfaces: una colección de firmas de operaciones y / o definiciones de atributos que definen un conjunto cohesivo de comportamientos. Las interfaces son similares a las clases, excepto que una clase puede tener una instancia de su tipo y una interfaz debe tener al menos una clase para implementarla.
  • Enumeraciones: representaciones de tipos de datos definidos por el usuario. Una enumeración incluye grupos de identificadores que representan valores de la enumeración.
  • Objetos: instancias de una clase o clases. Los objetos se pueden agregar a un diagrama para representar instancias concretas o prototípicas.
  • Artefactos: Elementos del modelo que representan las entidades concretas en un sistema de software, como documentos, bases de datos, archivos ejecutables, componentes de software, etc.

Interacciones: el término «interacciones» se refiere a las diversas relaciones y vínculos que pueden existir en los diagramas de clases y objetos. Algunas de las interacciones más comunes incluyen:

  • Herencia: El proceso por el que un hijo o una subclase adquiere la funcionalidad de un padre o superclase, también conocido como generalización. Está simbolizado con una línea recta conectada con una punta de flecha cerrada que apunta hacia la superclase.
  • Asociación bidireccional: la relación predeterminada entre dos clases. Ambas clases se conocen mutuamente y se relacionan entre sí. Esta asociación está representada por una línea recta entre dos clases.
  • Asociación unidireccional: una relación ligeramente menos común entre dos clases. Una clase es consciente de la otra e interactúa con ella. La asociación unidireccional se modela con una línea de conexión recta que apunta con una punta de flecha abierta desde la clase que conoce a la clase conocida.

Cómo hacer un diagrama UML

Crear un diagrama de clases desde cero es sorprendentemente simple, sobre todo si utilizas Lucidchart. Solo sigue estos pasos:

  • Abre un documento en blanco o comienza con una plantilla.
  • Habilita la biblioteca de formas UML. En el lado izquierdo del editor Lucidchart, haz clic en «Formas». Una vez que esté en el Administrador de bibliotecas de formas, marque «UML» y haz clic en «Guardar».
  • De las bibliotecas que acaba de agregar, selecciona la forma que deseas y arrástrala desde la caja de herramientas al lienzo.
  • Modela el flujo del proceso dibujando líneas entre formas mientras agregas texto.

Palabras finales

Los diagramas UML trazan claramente la estructura de un sistema en particular al modelar las clases, atributos, operaciones y relaciones entre objetos. Con el uso de ciertos softwares de diagramación UML, la creación de estos diagramas no es tan abrumadora como podría parecer.

Deja un comentario