Modelado UML

Modelado UML

Durante la construcción de un software, la modelación es una de las principales etapas a ejecutar. Dado que el software es una entidad abstracta, visualizar el sistema a construir es fundamental para los desarrolladores. La Modelación UML (Lenguaje de Modelado Unificado) es un lenguaje visual utilizado para representar, especificar, construir y documentar sistemas de software y sus procesos. UML proporciona un conjunto de diagramas y notaciones que permiten comprender mejor la estructura, interacciones y requisitos del sistema, además de facilitar la evaluación de la calidad del resultado y reducir las incertidumbres del proceso.

En este artículo, abordaremos los tipos de diagramas UML y sus objetivos de uso.

Tipos de diagramas

UML presenta dos tipos de diagramas: los Diagramas Estructurales y los Diagramas de Comportamiento. La siguiente figura muestra la estructura de tipos y subtipos de diagramas.

UML surgió de la combinación de tres metodologías de modelado: el método de Booch, la técnica de modelado de objetos (OMT) de Jacobson y el método de ingeniería de software orientado a objetos (OOSE) de Rumbaugh. Actualmente, se encuentra en su versión 2.5.1, y su documentación oficial puede encontrarse en su sitio oficial.

UML ofrece una variedad de tipos de diagramas que pueden utilizarse de manera aislada o complementaria. Esto permite analizar múltiples perspectivas del sistema, observando sus diferentes aspectos.

A continuación, hablaremos brevemente sobre cada uno de ellos.

Diagramas Estructurales

Los diagramas estructurales se centran en la representación de la estructura estática de un sistema, es decir, cómo los elementos del sistema están organizados y relacionados entre sí. A continuación, se presentan los tipos de diagramas estructurales.

Diagrama de Clases

El principal objetivo es visualizar las clases que compondrán el sistema en cuestión y demostrar la dinámica de la relación entre ellas, además de mostrar sus atributos y métodos. Este diagrama sirve como apoyo para la construcción de los demás diagramas UML. A continuación, un ejemplo:

En la figura anterior, tenemos un ejemplo de un sistema bancario. En UML, una clase muestra tres informaciones representadas como un rectángulo con tres divisiones:

  • Primer rectángulo: nombre de la clase, CuentaCorriente;
  • Segundo rectángulo: los atributos y tipos de datos de la clase;
  • Tercer rectángulo: los métodos (acciones) de la clase.

Diagrama de Objetos

Representa una vista estática de un conjunto de objetos y sus asociaciones en un momento específico. El objetivo es proporcionar una visión de los valores almacenados por los objetos de las clases, definidas en el diagrama de clases. A continuación, un ejemplo:

En este ejemplo, se muestra el vínculo entre el objeto personaFis1 de la clase PersonaFisica y el objeto corriente1 de la clase CuentaCorriente. Para cada una de las representaciones de los objetos, se enlistan sus respectivos atributos. Así, se infiere que una persona física tiene una cuenta corriente.

Diagrama de Componentes

Este diagrama muestra los componentes del sistema y sus dependencias, incluyendo bibliotecas, módulos y otras partes del software. En otras palabras, muestra las relaciones entre los diferentes componentes de un sistema.

Diagrama de Paquetes

Organiza los elementos del sistema en grupos lógicos, denominados paquetes, demostrando la dependencia entre ellos y ayudando a estructurar y modularizar el sistema. Puede utilizarse, por ejemplo, para modelar divisiones de la arquitectura de un lenguaje, simplificando diagramas de clases complejos.

En el ejemplo anterior, se presenta el paquete denominado Sistema de Control Bancario, que incluye varios elementos como las clases Persona y Cuenta y sus respectivas subclases.

Diagrama de Despliegue

El diagrama de despliegue mapea la relación entre los componentes de software y su infraestructura (hardware). Ayuda a visualizar los procesadores, nodos y dispositivos relacionados.

Diagramas de Comportamiento

Los diagramas de comportamiento se utilizan para describir el comportamiento dinámico del sistema, es decir, cómo los componentes interactúan, se comportan e intercambian información a lo largo del tiempo. Ayudan a modelar los aspectos funcionales e interactivos del sistema. A continuación, se presentan los tipos de diagramas de comportamiento.

Diagrama de Casos de Uso

Este diagrama muestra el comportamiento externo del sistema desde la perspectiva del usuario, mostrando las interacciones entre los actores (usuarios) y los casos de uso del sistema, centrándose en los escenarios de interacción. Generalmente se utiliza al inicio de la modelación, durante el proceso de recopilación y análisis de requisitos. En la figura a continuación, se presenta un ejemplo de este diagrama.

En un sistema de ventas de una librería, tenemos a los actores Vendedor y Gerente, quienes son empleados y pueden realizar la acción de vender libros.

Diagrama de Actividades

Este diagrama modela el flujo de actividades y acciones dentro de un proceso o función, mostrando estados, transiciones y decisiones. Proporciona una visualización del comportamiento de un sistema, describiendo la secuencia de acciones en un proceso. Puede aplicarse, por ejemplo, en la descripción de computación procedural o en la modelación organizacional para procesos de negocio.

Diagrama de Estados

Este diagrama describe los diferentes estados por los que un objeto puede pasar y las transiciones entre estos estados.

Diagrama de Interacción

El objetivo de este diagrama es proporcionar una visión general del control de flujo, mostrando cómo los objetos interactúan entre sí. Dentro de este diagrama tenemos los subtipos:

  • Diagrama de Visión General de la Interacción: permite tener una visión general del flujo de control de una interacción a otra, así como del flujo de actividad de un diagrama a otro.
  • Diagrama de Comunicación: describe las relaciones e interacciones entre varios objetos de software.
  • Diagrama de Tiempo: este diagrama representa un conjunto de estados de un objeto o sistema a lo largo del tiempo, mostrando eventos y transiciones temporales. Con él, es posible visualizar el flujo en varios momentos del tiempo.
  • Diagrama de Secuencia: este diagrama representa la secuencia de interacciones entre objetos a lo largo del tiempo, enfatizando qué mensajes deben ser enviados y en qué orden. Se basa en el diagrama de casos de uso, ya que un caso de uso generalmente se refiere a un proceso iniciado por un actor. A continuación, un ejemplo de este diagrama, que representa una operación en un sistema bancario.

En el ejemplo anterior, tenemos el flujo y orden de los mensajes enviados durante la operación de emisión de un estado de cuenta para una cuenta corriente. A partir de la inserción de la tarjeta, ocurre lo siguiente:

  • Verificación de la cuenta;
  • Solicitud y verificación de la contraseña;
  • Selección de la opción deseada en el sistema;
  • Generación y emisión del estado de cuenta bancario.

Conclusión

Como hemos visto, UML es un lenguaje visual estándar para la modelación de sistemas de software. Entre sus diversas ventajas, podemos destacar que facilita la comunicación entre los equipos de desarrollo, permitiendo una presentación más clara y comprensible del software diseñado. Además, posibilita documentar los requisitos, identificar problemas y desarrollar soluciones. Un mejor entendimiento del proyecto y la detección anticipada de errores permiten desarrollar un producto más eficiente.

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.