El diagrama de clases muestra una vista estática de una aplicación. Representa los tipos de objetos que residen en el sistema y las relaciones entre ellos. Una clase consta de sus objetos y también puede heredar de otras clases. Un diagrama de clases se utiliza para visualizar, describir, documentar varios aspectos diferentes del sistema y también construir código de software ejecutable.
Muestra los atributos, clases, funciones y relaciones para brindar una descripción general del sistema de software. Constituye nombres de clases, atributos y funciones en un compartimento separado que ayuda en el desarrollo de software. Dado que es una colección de clases, interfaces, asociaciones, colaboraciones y restricciones, se denomina diagrama estructural.
Propósito de los diagramas de clases
El objetivo principal de los diagramas de clases es crear una vista estática de una aplicación. Es el único diagrama que se usa ampliamente para la construcción y se puede mapear con lenguajes orientados a objetos. Es uno de los diagramas UML más populares. A continuación se detalla el propósito de los diagramas de clases que se detallan a continuación:
- Analiza y diseña una vista estática de una aplicación.
- Describe las principales responsabilidades de un sistema.
- Es una base para diagramas de componentes y despliegue.
- Incorpora ingeniería directa e inversa.
Beneficios de los diagramas de clases
- Puede representar el modelo de objetos para sistemas complejos.
- Reduce el tiempo de mantenimiento al proporcionar una descripción general de cómo se estructura una aplicación antes de codificarla.
- Proporciona un esquema general de una aplicación para una mejor comprensión.
- Representa un gráfico detallado resaltando el código deseado que se va a programar.
- Es útil para las partes interesadas y los desarrolladores.
Componentes vitales de un diagrama de clases
El diagrama de clases se compone de tres secciones:
- Escriba en mayúscula la letra inicial del nombre de la clase.
- Coloque el nombre de la clase en el centro de la sección superior.
- El nombre de una clase debe escribirse en negrita.
- El nombre de la clase abstracta debe escribirse en formato cursiva.
- Los atributos se escriben junto con sus factores de visibilidad, que son público (+), privado (-), protegido (#) y paquete (~).
- La accesibilidad de una clase de atributo se ilustra mediante los factores de visibilidad.
- Se debe asignar un nombre significativo al atributo, que explicará su uso dentro de la clase.
Relaciones
En UML, las relaciones son de tres tipos:
En el siguiente ejemplo, Student_Name depende de Student_Id.
Por ejemplo, la cuenta corriente, la cuenta de ahorro y la cuenta de crédito son la forma generalizada de cuenta bancaria.
Por ejemplo, un departamento está asociado con la universidad.
Multiplicidad: Define un rango específico de instancias permitidas de atributos. En caso de que no se especifique un rango, uno se considera como una multiplicidad predeterminada.
isletra java
Por ejemplo, varios pacientes ingresan en un hospital.
Agregación: Una agregación es un subconjunto de una asociación que representa una relación. Es más específico que la asociación. Define una relación parte-todo o parte de. En este tipo de relación, la clase hija puede existir independientemente de su clase padre.
La empresa cuenta con varios empleados y, aunque uno de ellos renuncie, la empresa sigue existiendo.
Composición: La composición es un subconjunto de la agregación. Representa la dependencia entre el padre y su hijo, lo que significa que si se elimina una parte, la otra parte también se descarta. Representa una relación de parte completa.
Una libreta de contactos consta de varios contactos y, si elimina la libreta de contactos, se perderán todos los contactos.
Clases abstractas
En la clase abstracta, ningún objeto puede ser una entidad directa de la clase abstracta. La clase abstracta no se puede declarar ni crear instancias. Se utiliza para encontrar las funcionalidades entre las clases. La notación de clase abstracta es similar a la de clase; la única diferencia es que el nombre de la clase está escrito en cursiva. Dado que no implica ninguna implementación para una función determinada, es mejor utilizar la clase abstracta con múltiples objetos.
Supongamos que tenemos una clase abstracta llamada desplazamiento con un método declarado dentro de él, y ese método será llamado como un conducir () . Ahora, este método de clase abstracta puede ser implementado por cualquier objeto, por ejemplo, automóvil, bicicleta, scooter, bicicleta, etc.
¿Cómo dibujar un diagrama de clases?
El diagrama de clases se utiliza más ampliamente para construir aplicaciones de software. No sólo representa una vista estática del sistema sino también todos los aspectos principales de una aplicación. Una colección de diagramas de clases en su conjunto representa un sistema.
A continuación se detallan algunos puntos clave que es necesario tener en cuenta al dibujar un diagrama de clases:
- Para describir un aspecto completo del sistema, se sugiere darle un nombre significativo al diagrama de clases.
- Los objetos y sus relaciones deben conocerse de antemano.
- Se deben conocer los atributos y métodos (responsabilidades) de cada clase.
- Se debe especificar una cantidad mínima de propiedades deseadas, ya que una mayor cantidad de propiedades no deseadas conducirá a un diagrama complejo.
- Las notas se pueden utilizar cuando lo requiera el desarrollador para describir los aspectos de un diagrama.
- Los diagramas deben redibujarse y reelaborarse tantas veces para corregirlos antes de producir su versión final.
Ejemplo de diagrama de clases
A continuación se proporciona un diagrama de clases que describe el sistema de pedidos de ventas.
Uso de diagramas de clases
El diagrama de clases se utiliza para representar una vista estática del sistema. Desempeña un papel esencial en el establecimiento de los diagramas de componentes y despliegue. Ayuda a construir un código ejecutable para realizar ingeniería hacia adelante y hacia atrás para cualquier sistema, o podemos decir que se usa principalmente para la construcción. Representa el mapeo con lenguajes orientados a objetos que son C++, Java, etc. Los diagramas de clases se pueden utilizar para los siguientes propósitos:
- Describir la vista estática de un sistema.
- Para mostrar la colaboración entre cada instancia en la vista estática.
- Describir las funcionalidades que realiza el sistema.
- Construir la aplicación software utilizando lenguajes orientados a objetos.