Los diagramas de clases UML es un tipo de modelo de diagrama dentro de los modelos UML (Lenguaje Unificado de Modelado), el cual utiliza elementos gráficos como forma de lenguaje para describir un sistema.
¿Qué es un diagrama de clases UML y para qué es útil?
Un diagrama de clases UML es un tipo de diagrama de estructura dentro de los diagramas UML, que permite categorizar los elementos que componen un sistema y la manera en que dichos elementos se relacionan entre sí, de acuerdo a sus atributos, cualidades y metodologías implementadas.
¿Para qué es útil el diagrama de clases UML?, estos diagramas de clases son muy útiles para describir los atributos de los elementos que componen un determinado sistema, logrando una visión más general mediante una descripción de datos compuestos en bloques.
Los diagramas de clases UML suelen ser muy usados por ingenieros para describir la estructura de los sistemas de software describiendo los elementos presentes en el software y el método de funcionamiento que cada elemento utiliza.
Partes fundamentales de un diagrama de clases UML
Estos diagramas se caracterizan fundamentalmente por su estructura en bloques divididos en tres secciones que son:
- Sección superior: En esta sección se escribe el nombre de cada clase o elemento que se desea clasificar.
- Sección media: Describe los atributos de la clase, puntualizando de forma específica sus cualidades.
- Sección inferior: En ella se describen las operaciones o metodología a implementar, describiendo en modo de lista vertical cada operación.
Además de las secciones en cada bloque de clases se emplean las siguientes simbologías, tal como se describe en la siguiente imagen para facilitar la compresión de estos diagramas.
Ejemplo de diagrama de clases UML
En el siguiente diagrama se observa un ejemplo práctico de cómo sería un diagrama de clases UML par representar sistema de reservación de material bibliotecario, como, libros y revistas.
Veamos la siguiente imagen:
Para poder comprender este diagrama de clases, en esta gráfica explicaremos las clases que representan cada bloque, sus atributos, las metodologías implementadas y el nivel de accesibilidad que los elementos de las clases tienen, desglosándolos de las siguientes maneras:
- Atributos y metodologías
Los atributos y las metodologías implementadas se describen en forma de lista o de ítems, detallando cada descripción una debajo de la otra.
Los atributos se describen en la sección media de manera muy concreta y en la sección inferior las metodologías, en la cual en este caso las clases utilizan como método para acceder al material un sistema de reservación y entrega.
- Visibilidad
La visibilidad representa los atributos y metodologías que pueden tener en común las clases o simplemente ser condiciones propias de cada clase.
Cuando una condición es propia de cada clase, dicho ítem se representa con el signo negativo que representa que este es privado y condiciones que se tienen en común con otras clases se representan con el signo positivo, simbolizando que es público.
En el caso de las fechas para reservar y entregar el libro o revista es una información que se comparte en diferentes clases, por eso se representa con el signo positivo.
En este mismo contexto, la información personal de cada lector es única y no se comparte con más clases a acepción del tipo de lector, pues en este caso las clases que representan al estudiante o el docente son subclases, lo que hace innecesario repartir los datos de identificación, ya que estas subclases heredan los datos de la clase principal.
Además de los elementos internos de cada clase también se encuentran elementos externos que permiten comprender las relaciones que existen entra diferentes clases, para comprender dichos factores externos veamos al siguiente ejemplo.
Ejemplo de diagrama de clases
En el siguiente diagrama de clases se representa un sistema de atención al cliente para la reservación de vehículos en alquiler.
Como se visualiza en el diagrama, cada clase se encuentra conectada por líneas o flechas que representan las interacciones entre las clases y las secuencias del sistema, también se visualizan al lado de las flechas o líneas números que indican la multiplicidad de los elementos de las clases.
Para comprender estos factores externos a cada clase desglosemos el diagrama de la siguiente manera:
- Interacciones:
Las interacciones son líneas y flechas usadas para representar la manera en que cada clase está relacionada con otra clase, pidiendo en un mismo diagrama encontrarse diferentes tipos de interacciones, como en este caso.
En el diagrama se observa una línea horizontal que representa la asociación que hay entre la agencia de alquiler de autos y el cliente para realizar el intercambio económico.
Sin embargo, para que la transacción sea posible es indispensable la atención al cliente, de esa atención al cliente depende dicha transacción por ello se representa con una flecha intermitente.
Las siguientes flechas son las que salen del cliente a la reservación y de la reservación al pago, en estos casos las flechas en un extremo poseen una forma de rombo de color negro, estas flechas representan composición.
Estas composiciones indican básicamente que la reservación se compone del cliente y que a su vez el pago se compone de la reservación, ya que, de no existir el cliente la reservación y el pago no serían posibles.
- Multiplicidad:
En cuanto a la multiplicidad, estas representan la cantidad de elementos que se relaciona entre clases.
En este caso la empresa puede relacionarse con uno o muchos clientes (1…*), pero las políticas de la agencia permiten que los clientes hagan una reservación de un solo auto (1) a la vez, en cuanto al método de pago, al cliente se le permite hacer un único pago o fraccionar la cuota en varios pagos (1…*).
De este modo, el número por si solo representa una cantidad exacta, sin embargo, al agregarle los tres puntos suspensivos y el asterisco, se da a entender que puede haber una cantidad mínima de elementos relacionados de uno (1), pero no hay una cantidad máxima definida, siendo el asterisco (*) indicador de muchos.
Sencillos, claros y muy representativos ejemplos de diagramas de clases UML, muchas gracias por dedicar el tiempo y compartir.