Diagrama de clase


En ingeniería de software , un diagrama de clases en el Lenguaje de modelado unificado (UML) es un tipo de diagrama de estructura estática que describe la estructura de un sistema mostrando las clases del sistema , sus atributos, operaciones (o métodos) y las relaciones entre objetos.

El diagrama de clases es el componente principal del modelado orientado a objetos . Se utiliza para el modelado conceptual general de la estructura de la aplicación y para el modelado detallado, traduciendo los modelos a código de programación . Los diagramas de clases también se pueden utilizar para el modelado de datos . [1] Las clases en un diagrama de clases representan los elementos principales, las interacciones en la aplicación y las clases que se van a programar.

En el diseño de un sistema, se identifican varias clases y se agrupan en un diagrama de clases que ayuda a determinar las relaciones estáticas entre ellas. En el modelado detallado, las clases del diseño conceptual a menudo se dividen en subclases.

Para describir con más detalle el comportamiento de los sistemas, estos diagramas de clases pueden complementarse con un diagrama de estado o una máquina de estado UML . [2]

UML proporciona mecanismos para representar miembros de clase, como atributos y métodos, e información adicional sobre ellos, como constructores.

Para especificar la visibilidad de un miembro de la clase (es decir, cualquier atributo o método), estas anotaciones deben colocarse antes del nombre del miembro: [3]


Jerarquía de diagramas UML 2.5, que se muestra como un diagrama de clases. Las clases individuales están representadas con un solo compartimento, pero a menudo contienen hasta tres compartimentos.
Una clase con tres compartimentos.
Notación de relaciones UML
Ejemplo de diagrama de clases de asociación entre dos clases
Diagrama de clases que muestra la agregación entre dos clases. Aquí, un profesor "tiene" una clase para enseñar.
Diagramas de dos clases. El diagrama de la parte superior muestra la composición entre dos clases: un automóvil tiene exactamente un carburador y un carburador es parte de un automóvil. Los carburadores no pueden existir como partes separadas, separadas de un automóvil específico. El diagrama de la parte inferior muestra la agregación entre dos clases: un estanque tiene cero o más patos y un pato tiene como máximo un estanque (a la vez). El pato puede existir por separado de un estanque, por ejemplo, puede vivir cerca de un lago. Cuando destruimos un estanque, no solemos matar a todos los patos.
Diagrama de clases que muestra la generalización entre la superclase Persona y las dos subclases Estudiante y Profesor
Diagrama de clases que muestra la dependencia entre la clase "Coche" y la clase "Rueda" (un ejemplo aún más claro sería "El coche depende de la rueda", porque el coche ya agrega (y no solo usa ) la rueda)
EntityControlBoundary Pattern.jpg