UML - Diagrama de clases
El diagrama de clases es un diagrama estático. Representa la vista estática de una aplicación. El diagrama de clases no solo se usa para visualizar, describir y documentar diferentes aspectos de un sistema, sino también para construir código ejecutable de la aplicación de software.
El diagrama de clases describe los atributos y operaciones de una clase y también las restricciones impuestas al sistema. Los diagramas de clases se utilizan ampliamente en el modelado de sistemas orientados a objetos porque son los únicos diagramas UML que pueden mapearse directamente con lenguajes orientados a objetos.
El diagrama de clases muestra una colección de clases, interfaces, asociaciones, colaboraciones y restricciones. También se conoce como diagrama estructural.
Propósito de los diagramas de clases
El propósito del diagrama de clases es modelar la vista estática de una aplicación. Los diagramas de clases son los únicos diagramas que pueden mapearse directamente con lenguajes orientados a objetos y, por lo tanto, se utilizan ampliamente en el momento de la construcción.
Los diagramas UML como el diagrama de actividad y el diagrama de secuencia solo pueden dar el flujo de secuencia de la aplicación, sin embargo, el diagrama de clases es un poco diferente. Es el diagrama UML más popular en la comunidad de codificadores.
El propósito del diagrama de clases se puede resumir como:
Análisis y diseño de la vista estática de una aplicación.
Describe las responsabilidades de un sistema.
Base para diagramas de componentes y despliegue.
Ingeniería de avance y retroceso.
¿Cómo dibujar un diagrama de clase?
Los diagramas de clases son los diagramas UML más populares que se utilizan para la construcción de aplicaciones de software. Es muy importante aprender el procedimiento de dibujo del diagrama de clases.
Los diagramas de clases tienen muchas propiedades que considerar al dibujar, pero aquí el diagrama se considerará desde una vista de nivel superior.
El diagrama de clases es básicamente una representación gráfica de la vista estática del sistema y representa diferentes aspectos de la aplicación. Una colección de diagramas de clases representa todo el sistema.
Los siguientes puntos deben recordarse al dibujar un diagrama de clases:
El nombre del diagrama de clases debe ser significativo para describir el aspecto del sistema.
Cada elemento y sus relaciones deben identificarse de antemano.
La responsabilidad (atributos y métodos) de cada clase debe estar claramente identificada
Para cada clase, se debe especificar un número mínimo de propiedades, ya que las propiedades innecesarias complicarán el diagrama.
Utilice notas siempre que sea necesario para describir algún aspecto del diagrama. Al final del dibujo debe ser comprensible para el desarrollador / codificador.
Finalmente, antes de hacer la versión final, el diagrama debe dibujarse en papel normal y reelaborarse tantas veces como sea posible para corregirlo.
El siguiente diagrama es un ejemplo de un sistema de pedidos de una aplicación. Describe un aspecto particular de toda la aplicación.
En primer lugar, el pedido y el cliente se identifican como los dos elementos del sistema. Tienen una relación de uno a varios porque un cliente puede tener varios pedidos.
La clase Order es una clase abstracta y tiene dos clases concretas (relación de herencia) SpecialOrder y NormalOrder.
Las dos clases heredadas tienen todas las propiedades de la clase Order. Además, tienen funciones adicionales como dispatch () y receive ().
El siguiente diagrama de clases se ha elaborado considerando todos los puntos mencionados anteriormente.
¿Dónde usar los diagramas de clases?
El diagrama de clases es un diagrama estático y se utiliza para modelar la vista estática de un sistema. La vista estática describe el vocabulario del sistema.
El diagrama de clases también se considera la base de los diagramas de componentes y de implementación. Los diagramas de clases no solo se utilizan para visualizar la vista estática del sistema, sino que también se utilizan para construir el código ejecutable para la ingeniería directa e inversa de cualquier sistema.
Generalmente, los diagramas UML no se mapean directamente con ningún lenguaje de programación orientado a objetos, pero el diagrama de clases es una excepción.
El diagrama de clases muestra claramente el mapeo con lenguajes orientados a objetos como Java, C ++, etc. Según la experiencia práctica, el diagrama de clases se usa generalmente para fines de construcción.
En pocas palabras, se puede decir que los diagramas de clases se utilizan para:
Describiendo la vista estática del sistema.
Mostrando la colaboración entre los elementos de la vista estática.
Describir las funcionalidades que realiza el sistema.
Construcción de aplicaciones de software utilizando lenguajes orientados a objetos.