Está en la página 1de 26

Asociaciones

Multiplicidad
Asociaciones calificadas
Asociaciones
Cuando las clases se conectan entre si de forma conceptual, esta
conexin se conoce como asociacin.
Ejemplo:
La asociacin entre un jugador y un equipo. Se puede caracterizar tal La asociacin entre un jugador y un equipo. Se puede caracterizar tal
asociacin con la frase un jugador participa en un equipo. Se
visualizar la asociacin como una lnea que conecta ambas clases, con
el nombre de la asociacin (Participa en ) justo sobre la lnea.
Asociaciones
Cuando una clase se asocia con otra, cada una de ellas juega un papel
dentro de tal asociacin.
La asociacin puede funcionar en direccin inversa: un equipo emplea
a jugadores. Se puede mostrar ambas asociaciones en el mismo
diagrama con un triangulo relleno que indique la direccin de cada
asociacin
Asociaciones
Las asociaciones podran ser mas complejas que tan solo una clase
conectada a otra. Varias clases se pueden conectar a una. Si se toma en
cuenta los defensas, delanteros y central, as como sus asociaciones con
la clase Equipo.
Restricciones entre Asociaciones
En ocasiones una asociacin entre dos clases debe seguir cierta regla.
Esta se indica al establecer una restriccin junto a la lnea de
asociacin.
Por ejemplo: un Cajero atiende un cliente, pero cada cliente es
atendido en el orden en que se encuentre en la formacin. Se puede
capturar este modelo colocando la palabra ordenado entre llaves (para
indicar la restriccin) junto a la clase Cliente
Restricciones entre Asociaciones
Otro tipo de restriccin es la relacin O (distinguida como {Or}) en
una lnea discontinua que conecte a dos lneas de asociacin.
Modelo de un estudiante de educacin media superior que elegir
entre un curso acadmico o uno comercial.
Clases de Asociacin
Una asociacin, al igual que una clase, puede contener atributos y
operaciones. Y entonces se tendr una clase de asociacin.
Una clase de asociacin modela los atributos y operaciones de una
asociacin. Se conecta a una asociacin mediante una lnea
discontinua, y puede asociarse a otra clase.
Vnculos
As como un objeto es una instancia de una clase, una asociacin
tambin cuenta con instancias. Un vnculo es una lnea que conecta
dos objetos.
Un vinculo es la instancia de una asociacin. Conecta a los objetos en
lugar de las clases. Se debe subrayar el nombre del vnculo, tal como
se hace con el nombre de un objeto.
Multiplicidad
Es la cantidad de objetos de una clase que se relacionan con un
objeto de la clase asociada. Para representar los nmeros en el
diagrama, se colocarn sobre la lnea de asociacin junto a la
clase correspondiente.
La multiplicidad seala la cantidad de objetos de una clase que
pueden relacionarse con un objeto de una clase asociada.
Multiplicidad
Hay varios tipos de multiplicidad. Una clase se puede relacionarse con
otra en un esquema de:
uno a uno
uno a muchos
uno a uno o ms uno a uno o ms
uno a ninguno o uno
uno a un intervalo definido (por ejemplo: 1 a (5 hasta 10))
Uno a exactamente n
Uno a un conjunto de opciones
El UML utiliza un asterisco (*) para representar ms y para representar
muchos. En un contexto, O se representa por dos puntos, como en
1..* (uno o mas). En otro contexto O se representa por una coma,
como en 5,10 (5 o 10).
Multiplicidad
Asociaciones Calificadas
Cuando la multiplicidad de una asociacin es de uno a muchos, con
frecuencia se presenta un reto muy particular: la bsqueda.
Cuando un objeto de una clase tiene que seleccionar un objeto Cuando un objeto de una clase tiene que seleccionar un objeto
particular de otro tipo para cumplir con un papel en la asociacin, la
primera clase deber atenerse a un atributo en particular para
localizar al objeto adecuado.
Normalmente, dicho atributo es un identificador que puede ser un
numero de identidad.
Asociaciones Calificadas
En el UML la informacin de identidad se conoce como
calificador. Su smbolo es un pequeo rectngulo adjunto a
la clase que har la bsqueda.
La idea es reducir, con eficiencia, la multiplicidad de uno a muchos a
una multiplicidad de uno a uno
Asociaciones Reflexivas
En ocasiones, una clase es una asociacin consigo misma. Esto puede
ocurrir cuando una clase tiene objetos que puedan jugar diversos
papeles.
Un OcupanteDeAutomovil puede ser un conductor o un pasajero. En
el papel del conductor, el OcupanteDeAutomovil puede llevar ninguno
o ms OcupanteDeAutomovil, quienes jugaran el papel de pasajeros.
Herencia y Generalizacin
Una clase (la clase secundaria o subclase) puede heredar los atributos
y operaciones de otra (la clase principal o superclase). La clase
principal (o madre) es mas genrica que la secundaria (o hija). La
orientacin a objetos se refiere a esto como herencia. El UML tambin
lo denomina generalizacin.
En la lnea que se
conecta con la
clase principal se
coloca un tringulo
sin rellenar que
apunte a la clase
principal.
Descubrimiento de la herencia
En el proceso de platica con un cliente, un analista descubrir la
herencia de varias formas. Es posible que las clases candidatas que
aparezcan incluyan tanto las principales como las secundarias. El aparezcan incluyan tanto las principales como las secundarias. El
analista deber darse cuenta que los atributos y operaciones de una
clase son generales y que quizs se aplicarn a varias clases.
Descubrimiento de la herencia
El ejemplo del baloncesto, se tiene las clases Jugador, Defensa, Delantero y
Central. El jugador (clase) tiene atributos como nombre, estatura, peso,
velocidadAlCorrer y saltoVertical. Tiene operaciones como driblar(), pasar(),
rebotar() y tirar(). rebotar() y tirar().
Las clases Defensa, Delantero y Central heredarn tales atributos y
operaciones y agregaran los suyos. Las clase Defensa podra tener las
operaciones correrAlFrente() y quitarBalon(). El central podra tener
retacarBalon().
Las estaturas de los jugadores pueden constituir restricciones.
Descubrimiento de la herencia
Un ejemplo en el modelo de baloncesto de dos clases con atributos y
operaciones en comn es:
Se tiene un CronometroDeJuego, que controla el tiempo restante en un Se tiene un CronometroDeJuego, que controla el tiempo restante en un
periodo de juego, y un LapsoDeTiro, que controla el tiempo restante desde
que un equipo toma el baln hasta que intenta encestar. Como ambas clases
controlan el tiempo, entonces se puede formular una clase Reloj con una
operacin controlarTiempo() que pueden heredar tanto CronometroDeJuego
como LapsoDeTiro.
Dado que CronometroDeJuego controla minutos y LapsoDeTiro controla
segundos, entonces controlarTiempo() ser polimrfica.
Clases Abstractas
En el modelo del baloncesto, el
par de clases Jugador y Reloj par de clases Jugador y Reloj
son tiles puesto que funcionan
como clases principales para
clases secundarias importantes.
Las clases secundarias son
importantes en el modelo dado
que finalmente se querr tener
instancias de tales clases.
Dependencias
En otro tipo de relacin, una clase utiliza a otra. A eso se le llama
dependencia. El uso mas comn de una dependencia es mostrar
que la firma de la operacin de una clase utiliza a otra clase.
Una flecha representada por una lnea discontinua con una
punta de flecha en forma de triangulo sin relleno simboliza
una dependencia.
Ejercicio
Se debe tomar como base el modelo del
baloncesto y agregar uniones que expresen
las relaciones que se han visto.
Se deben tratar de agregar la mayora de los Se deben tratar de agregar la mayora de los
tipos de relaciones que se conozcan.
Agregaciones
En ocasiones una clase consta de otras clases. Este tipo especial de relacin
conocida como agregacin o acumulacin. Los componentes y la clase que
constituyen son una asociacin que conforma un todo.
Puede representar una agregacin como una jerarqua dentro de la clase
completa( por ejemplo el sistema computacional), en la parte superior, y los
componentes por debajo de ella.
Restriccin en las agregaciones
En ocasiones el conjunto de componentes posibles en una agregacin se
establece dentro de una relacin O. En ciertos restaurantes, una comida
consta de sopa o ensalada, el plato fuerte y el postre. Para modelar esto,
utilizara una restriccin: la palabra O dentro de llaves con una lnea
discontinua que conecte las dos lneas que conforman al todo.
Composiciones
Una composicin es un tipo muy representativo de una agregacin.
Cada componente dentro de una composicin puede pertenecer tan
solo a un todo. Los componentes de una mesa caf (la superficie de la
mesa y las patas) establecen una composicin. El smbolo de una
composicin es el mismo de una agregacin, excepto que el rombo esta
relleno. relleno.
Ejercicio
Tome como base el modelo del futbol y agregue vnculos que
expresen las relaciones que se han visto. Si conoce el juego de
futbol, sintase con libertad de agregar los vnculos que
representen su conocimiento.
Asociacin con rol, multiplicidad, en ambas
direcciones, con restricciones, vnculos, asociaciones
calificadas, asociaciones reflexivas, generalizacin,
dependencia.

También podría gustarte