Conceptos avanzados en un diagrama de estructura estática
Los conceptos que a continuación se presentan muestran posibilidades
adicionales de descripción en un modelo orientado por objetos. Aunque
los conceptos fundamentales y más frecuentemente usados se describieron
en los conceptos básicos, éstos completan el poder de expresión.
Estereotipo
Las clases (y demás elementos notacionales en los diagramas) pueden
estar clasificados de acuerdo a varios criterios, como por ejemplo su objetivo
dentro de un programa. Esta clasificación adicional se expresa mediante
un estereotipo.
En el ejemplo anterior Auto3D está clasificado con el estereotipo
Mundo, y la clase Window con el de interfaz. Nótese
que las relaciones pueden tener esta clasificación también.
En este caso la relación se identifica como Observer.
Interfaz
Una interfaz es un protocolo exigible a una clase. La representación
de este concepto es por medio de una línea terminada en un círculo
En el ejemplo anterior, la clase String se utiliza dentro de un hastable,
gracias a que implementa la interfaz Hashable (el método hash) y
la interfaz Comparable (el método isEqual).
Asociación or
En algunas ocasiones es necesario describir que una clase esta relacionada
con un objeto de una u otra clase. Esto se denota por medio de una relación
or exclusiva. Su representación es una linea punteada que une dos
asociaciones, junto con la aclaración (por medio de una propiedad)
del tipo de asociación.
En el ejemplo anterior un automovil puede tener como dueño una
persona natural o una empresa (pero no ambos).
Clase de asociación
Una clase de asociación es información de detalle. Se denota
como una clase relacionada por una linea punteada a una asociación.
En este caso existe una relación entre Muro y Ventana, la cual
tiene como detalle un objeto de la clase Posición. Cabe notar que
este objeto no podría tomarse como atributo de Muro o Ventana, ya
que el contexto de su existencia esta dado precisamente por la relación
entre las dos clases.
Asociación n-aria
Es una forma de expresar una relación entre tres o más clases.
Se representa como un diamante del cual salen lineas de asociación
a las clases.
En este caso se tiene una relacion ternaria entre las clases Year, Team
y Player. A cada terna de objetos <año, equipo, jugador> corresponde
un objeto de tipo Record (clase de asociación).
Otros conceptos
Aunque la metodología los incluye, se dejan fuera del alcance de
este resumen los siguientes conceptos de UML: Calificador, Compartimiento
de Nombre y de Lista, Propiedad, Expresión de Tipo, Elemento acotado,
Tipo, Utilidad, Metaclase, Caminos de composición de clases,
Relación de refinamiento, Elemento derivado y Expresión de
navegación.
Pablo
Figueroa
Versión 1.1