Qué es un diagrama de clases

Un diagrama de clases es una herramienta para comunicar el diseño de un programa que se creó para orientar objetos y que permite modelar relaciones entre diferentes entidades.

En UML, una clase se representa con un rectángulo que posee tres divisiones, nombre de la clase, abributos que tiene y mensajes que entiende.

En el primero de los cuadros se anota el nombre de la clase. Si es abstracta, se escribe en letra cursiva o también se utiliza un estereotipo como < > arriba del nombre de la clase.

En la segunda parte van los atributos o variables de instancia; las variables de clase van subrayados.

En el último cuadro se escriben las operaciones, es decir, los mensajes que puede entender. Lo importante es documentar los mensajes más relevantes y no todos los mensajes de un solo objeto.

Debemos tener en cuenta que una clase que no tiene comportamiento no está comunicando qué tipo de rol cumple en la solución, así que o está faltando definir qué es lo que le puedo pedir o entonces esa clase no debería estar en el diagrama.

Diagrama de clases: relaciones entre objetos

Comenzamos con la Relación USA, que incluye dependencia. Uno de los elementos usa o depende del otro cuando. Por ejemplo, el objeto de clase A recibe o devuelve como un parámetro de alguno de sus métodos a un objeto de clase B.

Se da la situación de si el objeto de clase A instancia un objeto de clase B. Viene con la condición de que no lo almacena como variable de instancia y solamente vive como variable local en el contexto de un método.

Esta relación indica que los dos elementos colaboran entre sí pero en una relación casual, débil y tiene un contexto temporal que no trasciende más allá de una operación. Sin embargo, sabemos que los cambios en la clase B podrían impactar en alguna medida en la clase A.

En la Relación CONOCE tenemos la asociación. Uno de los elementos conoce al otro, almacenándolo como variable de instancia. Puede definirse una etiqueta que indica el rol que cumple dicha relación y en cada extremo de la asociación puede agregarse información.

Un nombre de rol y flechas de navegación, que determinan el conocimiento (navegabilidad), desde un objeto hacia el otro.

Añade multiplicidad. Indica cuántos objetos de una clase se relacionan con la otra. La multiplicidad se puede indicar con un rango (0..1.. 2..5); un rango sin cota (0..*. 1..*); un valor (1) o una serie de valores (1, 3, 5).

En las asociaciones existe una relación mucho más fuerte que en las llamadas dependencias (uso) entre ambos elementos. El conocimiento implica que la colaboración se excede del marco temporal de una operación, aunque los objetos sigan teniendo objetivos diferentes.


Source link