Diagrama de Clases
Diagrama de Clases
CLASES
¿Qué es UML?
“UML es un lenguaje visual para especificar, construir
y documentar sistemas” (OMG - Object Management
Group)
Unified (UNIFICADO):
El aporte de muchos métodos y notaciones
Independiente de implementaciones, plataformas y lenguajes
Modeling (MODELADO):
Los modelos son utilizados en todas las ingenierías
Language (LENGUAJE):
Sihay gente, requieren comunicarse. Si se tienen que
comunicar, se tienen que entender. Para entenderse necesitan
un lenguaje común
¡UML no es Metodología!
Diagramas de Clases
Los diagramas de clases son diagramas de estructura estática que muestran las
clases del sistema y sus interrelaciones (incluyendo herencia, agregación,
asociación, etc.). Los diagramas de clase son el pilar básico del modelado con
UML, siendo utilizados tanto para mostrar lo que el sistema puede hacer (análisis),
como para mostrar cómo puede ser construido (diseño). El diagrama de clases de
más alto nivel, será lógicamente un dibujo de los paquetes que componen el
sistema. Las clases se documentan con una descripción de lo que hacen, sus
métodos y sus atributos. Las relaciones entre clases se documentan con una
descripción de su propósito, sus objetos que intervienen en la relación y su
opcionalidad (cuando un objeto es opcional el que intervenga en una relación).
Elementos de los diagramas de clases
Clase
Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una
instancia de una clase). A través de ella podemos modelar el entorno en estudio (una
Casa, un Auto, una Cuenta Corriente, etc.).
En UML, una clase es representada por un
rectángulo que posee tres divisiones:
En donde:
Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la
Clase (pueden ser private, protected o public).
Inferior: Contiene los métodos u operaciones, los cuales son la forma como interactúa
el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).
Elementos de los diagramas de clases
Por Valor:
Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta
condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es
comúnmente llamada Composición (el Objeto base se construye a partir del objeto
incluido, es decir, es "parte/todo").
Por Referencia:
Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es
independiente del que lo incluye. Este tipo de relación es comúnmente llamada
Agregación (el objeto base utiliza al incluido para su funcionamiento).
Relaciones entre clases
Agregación:
Un Ejemplo es el siguiente:
Un Almacen posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias).
Cuando se destruye el Objeto Almacen también son destruidos los objetos Cuenta asociados, en cambio no son
afectados los objetos Cliente asociados.
La composición (por Valor) se destaca por un rombo relleno.
La agregación (por Referencia) se destaca por un rombo transparente.
La flecha en este tipo de relación indica la navegabilidad del objeto refereniado. Cuando no existe este tipo de
particularidad la flecha se elimina.
Relaciones entre clases
Asociación:
La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre
si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no
depende del otro.
Ejemplo:
Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra
solo puede tener asociado un cliente.
Ventajas