Diagrama de Clases (Elementos - Clases)
La clase es uno de los elementos estructurales de los bloques básicos de construcción del UML y es fundamental para el diagrama de clases.
Clase
Una clase es una descripción abstracta de un conjunto de objetos que comparten atributos, operaciones, relaciones y semántica. Se representa mediante un rectángulo dividido en tres compartimentos: nombre, atributos y operaciones (OMG, 2017).
Sintaxis
Figura
Ejemplo de una Clase
Nota:
- Nombre: En negrita, centrado en el primer compartimento. Debe ser único dentro del modelo.
- Atributos: Se escriben en el segundo compartimento. Incluyen su visibilidad (
-
privado,+
público,#
protegido), nombre, tipo (opcional), valor inicial (opcional), y pueden incluir valores etiquetados y restricciones. - Operaciones: Se ubican en el tercer compartimento. Incluyen visibilidad, nombre, lista de parámetros (nombre: tipo), tipo de retorno (opcional) y pueden tener restricciones asociadas.
- Compartimentos: Los compartimentos de atributos y operaciones son opcionales; pueden omitirse para simplificar el diagrama, siempre que su información no sea relevante para el modelo.
Mecanismo de Extensibilidad
La clase en UML puede aprovechar los mecanismos de estereotipos, valores etiquetados y restricciones para adaptar y enriquecer la semántica de los modelos. Por ejemplo, el estereotipo «Entity» indica que la clase es persistente, es decir, almacena y permite la recuperación de datos a lo largo del tiempo. El uso de estereotipos permite extender o complementar la semántica de los elementos del modelo, facilitando la adaptación del lenguaje UML a necesidades particulares.
Figura
Clase Utilizando Estereotipo
Otros ejemplos de estereotipos comunes:
- «Boundary»: Representa una interfaz entre el sistema y los actores externos.
- «Control»: Encapsula la lógica de control o coordinación.
- «Entity»: Representa información persistente o de negocio.
Consideraciones adicionales
-
Restricciones: Se pueden especificar restricciones utilizando el lenguaje OCL (Object Constraint Language) o mediante notas en el diagrama, para expresar reglas de negocio o invariantes.
-
Valores etiquetados: Permiten añadir metadatos personalizados a los elementos del modelo.
Otros Elementos
Ver también Interfaces