Modelado de datos y UML: Clases y Atributos


CLASES
En análisis y diseño, una clase representa un concepto real o abstracto del cual se puede extraer información relevante. Una ocurrencia (o ejemplar) que pertenece a una clase se llama instancia de la clase u objeto.
Una clase tiene tres características básicas:
  • Un nombre de clase.
  • Un conjunto de atributos (propiedades) que definen el estado de cada instancia.
  • Un conjunto de métodos (operaciones) que definen el comportamiento de cada instancia.
En función del nivel de detalle al que se quiera llegar, una clase puede representarse de tres formas:
Caja Simple, Caja Doble y Caja Triple
  • La caja simple hace énfasis en los nombres y relaciones. Se usa como primera aproximación para destacar las relaciones entre los conceptos del universo de negocio.
  • La caja doble se focaliza más en la definición de los contenidos de cada clase, es decir, de los atributos. Debería ser el resultado final del modelado conceptual de datos.
  • La caja triple define atributos y métodos. Este tipo de representación se usa como esquema de implementación para tecnologías orientadas a objetos. En consecuencia, es más propio de un modelo técnico.
ATRIBUTOS
Un atributo es una característica o propiedad de una clase de la cual se puede extraer un valor. Los valores de los atributos definen el estado de una instancia y son los que la hacen diferente de otras instancias.
Un atributo tiene:
  • Un nombre: es obligatorio. En el modelado conceptual los nombres han de ser significativos ya que lo debe entender el cliente. Evita usar versiones acotadas (ya las usaremos en el diseño técnico). Por ejemplo, es mejor escribir Fecha de nacimiento o bien fechaNacimiento en vez de f_nac.
  • Un tipo de datos: Es el tipo de datos al que pertenece el atributo. Puede ser un tipo primitivo (String, Integer, Date, etc.), un tipo especial (los veremos en el próximo capítulo) o una instancia de otra clase. Este último caso equivale a una asociación, así que se recomienda evitarlo y trazar una línea de asociación.
  • Una multiplicidad. Es el número posible de valores que admite el atributo. Se especifica entre corchetes y dentro se explicita el rango usando la notación (M..N); M y N son los valores mínimo y máximo. Si no especificamos ninguna multiplicidad, por defecto es 1..1 (sólo admite valor único y es obligatorio). A parte de la anterior, las multiplicidades más comunes son:
    • 0..1. El valor del atributo es único y puede ser nulo.
    • 0..* y 1..*. El atributo es multiocurrente. En el primer caso no es necesaria la existencia de valor y en el segundo, sí.
Observa los siguientes ejemplos de declaración de atributos:
apellidos Sólo hemos especificado el nombre
fechaNacimiento: Date fechaNacimiento es una fecha y obligatoria (nombre y tipo)
teléfonos: Integer[*] teléfonos es un listado de varios números enteros (nombre, tipo y multiplicidad)
dirección[0..1] Sólo hemos especificado el nombre
 
Y ahora, dos ejemplos usando la definición de clases. El primero, sin detalles de atributos; y el segundo, con ellos.
OIDs Y CLAVES EXTERNAS

Al contrario que en los modelos E-R y relacional, una clase no dispone directamente del concepto de clave primaria. Sin embargo toda instancia de cualquier clase posee un atributo llamado OID (object identifier).
El OID es único y global en todo el sistema. Se asigna en el momento de creación de la instancia y es inmutable durante toda su vida. Es independiente del valor de los atributos; es decir, dos instancias pueden tener el mismo estado (los mismos valores en sus atributos) pero ser objetos diferentes gracias al OID. El OID nunca se representa en los diagramas ya que se supone implícito y transparente para el diseño.
Si deseamos simular una clave primaria en UML lo hemos de llevar a cabo a través de claves externas.
Una clave externa es un atributo o conjunto de ellos que identifican unívocamente una instancia de una clase concreta. En consecuencia, no puede haber claves repetidas. Las claves externas no son implícitas en el diagrama de clases, así que deben quedar reflejadas como restricción textual del modelo.

Comentarios

  1. Los conceptos matemáticos están soportados por otros conceptos que deben ser dominados previamente. No avance a una nueva lección si aún no entiende la que está estudiando. Esto parece simple, pero es absolutamente esencial. La mayor parte de los cursos de matemáticas se enseñan siguiendo un orden específico, un orden que no debe ser alterado, porque cada tema se basa, por lo general, en los temas anteriores...Decubre más

    ResponderEliminar

Publicar un comentario