Está en la página 1de 8

Computacin e Informtica

Diagramas de Clases

Taller de Modelamiento de Software

~1~

Ing. Fabin Silva Alvarado

Computacin e Informtica

Taller de Modelamiento de Software

DIAGRAMAS DE CLASES

RELACIONES ENTRE CLASES


Una vez que tengamos todas nuestras clases, ser necesario que estas se asocien, con el
fin de mostrar la dependencia entre ellas.
Las clases se pueden asociar de la siguiente manera:
1.

ASOCIACIN (Binaria)
Cuando una clase se vincula con
otra clase, para ello se trazar una
lnea que la una, donde,
adicionalmente se indicar la
multiplicidad entre ellos.

Cuando una clase se asocia con


otra cada una de ellas juega un
papel dentro de tal asociacin.
Puede representar estos papeles
en el diagrama escribindolos
cerca de la Lnea que se
encuentra junio a la clase que
juega el papel correspondiente.

MULTIPLICIDAD DE LAS ASOCIACIONES:


La multiplicidad de una asociacin determina cuantos objetos de cada tipo intervienen en
la relacin:
El nmero de instancias de una clase que se relacionan con UNA instancia de la otra
clase.

Cada asociacin tiene dos multiplicidades (una para cada extreme de la relacin).
Para especificar la multiplicidad de una asociacin hay que indicar la multiplicidad
mnima y la multiplicidad mxima.

Cuando la multiplicidad mnima es 0, la relacin es opcional.


Una multiplicidad mnima mayor o igual que 1 establece una relacin obligatoria.

Diagramas de Clases

~2~

Ing. Fabin Silva Alvarado

Computacin e Informtica

Taller de Modelamiento de Software

Clases de Asociacin (Atributos de Enlace)

Una asociacin al igual que una clase puede contener atributos y operaciones.
Cuando este sea el caso usted tendr una clase de asociacin.
Puede concebir a una clase de asociacin de la misma forma en que lo hara con
una clase estndar y utilizar una lnea discontinua para conectarla a la lnea de
asociacin. Una clase de asociacin puede tener asociaciones con otras clases.

Tener en cuenta que, esta asociacin solo se produce cuando existe una relacin con
multiplicidad de muchos a muchos, y adicionalmente, existan atributos que describan
la relacin.

Diagramas de Clases

~3~

Ing. Fabin Silva Alvarado

Computacin e Informtica

2.

Taller de Modelamiento de Software

AGREGACION Y COMPOSICION
Para modelar objetos complejos, no bastan los tipos de datos bsicos que proveen los
lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer
objetos que son instancias de clases definidas por el desarrollador de la aplicacin,
tenemos dos posibilidades:

Por Referencia: Es un tipo de relacin dinmica, en donde el tiempo de vida del


objeto incluido es independiente del que lo incluye. Este tipo de relacin es
comnmente llamada Agregacin (el objeto base utiliza al incluido para su
funcionamiento). La agregacin (por Referencia) se destaca por un rombo
transparente.

Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida del objeto
incluido est condicionado por el tiempo de vida del que lo incluye. Este tipo de
relacin es comnmente llamada Composicin (el Objeto base se construye a
partir del objeto incluido, es decir, es "parte/todo"). La composicin (por Valor) se
destaca por un rombo relleno.

Ejemplo1

Ejemplo2
Un
automvil
est
compuesto por un motor y
carrocera, ya que si se
destruye el automvil, se
destruyen las clases de
composicin pero esto no
afecta a la clase conductor
ya que es una agregacin.

Diagramas de Clases

~4~

Ing. Fabin Silva Alvarado

Computacin e Informtica

3.

Taller de Modelamiento de Software

GENERALIZACION
Indica que una subclase
hereda los mtodos y atributos
especificados por una Super
Clase, por ende la Subclase
adems de poseer sus propios
mtodos y atributos, poseer
las caractersticas y atributos
visibles de la Super Clase
(public y protected), ejemplo:
En la figura se especifica que
Auto y Camin heredan de
Vehculo, es decir, Auto posee
las Caractersticas de Vehculo
(Precio, VelMax, etc) adems
posee algo particular que es
Descapotable,
en
cambio
Camin tambin hereda las
caractersticas de Vehiculo
(Precio, VelMax, etc) pero
posee como
particularidad
propia Acoplado, Tara y Carga.
Cabe destacar que fuera de este entorno, lo nico "visible" es el mtodo
Caracteristicas aplicable a instancias de Vehculo, Auto y Camin, pues tiene
definicin pblica, en cambio atributos como Descapotable no son visibles por ser
privados.
Ejemplo Generalizacin:

La orientacin a objetos se refiere a esto como herencia. El UML tambin lo denomina


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 ms
genrica que la secundaria (o hija).

Diagramas de Clases

~5~

Ing. Fabin Silva Alvarado

Computacin e Informtica

Taller de Modelamiento de Software

CASOS PRACTICOS
CASO 1: RESTAURANT

Se desea construir una base de datos que almacene la carta de un restaurante.


Para cada plato, se desea obtener su nombre, descripcin, nivel de dificultad (de
elaboracin), una foto y el precio final para el cliente. Cada plato pertenece a una
categora.
Las categoras se caracterizan por su nombre (Men, Ejecutivo o Rpido) y una breve
descripcin.
Cada categora tiene un encargado, necesitamos tambin la informacin de esta persona
que a veces es tambin responsable de ms de una categora.
Adems de los platos, se desea conocer la lista de ingredientes necesarios para su
elaboracin y una breve descripcin de estos. Por lo general diariamente se preparan 50
porciones x plato por lo que interesa la cantidad del ingrediente a utilizar.
CASO 2: CUARTEL MILITAR

El Ministerio de Defensa desea disear una Base de Datos para llevar un cierto control de los
soldados que realizan el servicio militar. Los datos significativos a tener en cuenta son:
Un soldado se define por su cdigo de soldado (nico), su nombre y apellidos, y su grado
(raso, cabo, sargento).
Existen varios cuarteles, cada uno se define por su cdigo de cuartel, nombre y ubicacin.
Hay que tener en cuenta que existen diferentes Cuerpos del Ejrcito (Infantera, Artillera,
Armada, ....), y cada uno se define por un cdigo de Cuerpo y denominacin.
Los soldados estn agrupados en compaas, siendo significativa para cada una de stas,
el nmero de compaa y la actividad principal que realiza.
Se desea controlar los servicios que realizan los soldados (guardias, imaginarias,
cuarteleros, ...), y se definen por el cdigo de servicio y descripcin.
Consideraciones de diseo:
Una compaa pertenece a un Cuerpo y en este cuerpo existe ms de una compaa.
Un soldado pertenece a una nica compaa pero en el tiempo puede pertenecer a ms de
una durante el servicio militar. A una compaa pueden pertenecer ms de un soldado.
Un cuerpo pertenece a un cuartel y en un cuartel pueden haber ms de un cuerpo.
Un soldado realiza varios servicios a lo largo de su vida en el cuartel. Un mismo servicio
puede ser realizado por ms de un soldado, siendo significativa la fecha de realizacin

Diagramas de Clases

~6~

Ing. Fabin Silva Alvarado

Computacin e Informtica

Taller de Modelamiento de Software

CASO 3: INSTITUTO

La BD del instituto, almacena informacin sobre todas las personas que la conforman. De
cualquier persona se almacena su nombre, direccin, telfono y email. Los profesores adems
tienen el departamento al que pertenecen y su dedicacin. Los alumnos que estn matriculados
adems se les considera: un nmero de expediente y el nombre de la carrera a la que
pertenecen. Del personal se almacena la unidad administrativa a la que pertenecen y su
categora profesional.

CASO 4: AGENCIA DE VIAJES

Una cadena de agencias de viajes desea disponer de una Base de Datos que contemple
informacin relativa al hospedaje y vuelos de los turistas que la contratan.
Los datos a tener en cuenta son:
La cadena de agencias est compuesta por un conjunto de sucursales. Cada sucursal viene
definida por el cdigo de sucursal, direccin y telfono.
La cadena tiene contratados una serie de hoteles de forma exclusiva. Cada hotel estar
definido por el cdigo de hotel, nombre, direccin, ciudad, telfono y nmero de plazas
disponibles.
De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma
exclusiva. Cada vuelo viene definido por el nmero de vuelo, fecha y hora, origen y destino,
plazas totales y plazas de clase turista de las que dispone.
La informacin que se desea almacenar por cada turista es el cdigo de turista, nombre y
apellidos, direccin y telfono.
Por otra parte, hay que tener en cuenta la siguiente informacin:
A la cadena de agencias le interesa conocer que sucursal ha contratado el turista.
A la hora de viajar el turista puede elegir cualquiera de los vuelos que ofrece la cadena, y en
que clase (turista o primera) desea viajar.
De igual manera, el turista se puede hospedar en cualquiera de los hoteles que ofrece la
cadena, y elegir el rgimen de hospedaje (media pensin o pensin completa). Siendo
significativa la fecha de llegada y de partida.
CASO 5: INFORMACION POLICIAL

La Polica quiere crear una base de datos sobre la seguridad en algunas entidades bancarias.
Para ello tiene en cuenta:
Que cada entidad bancaria se caracteriza por un cdigo y por el domicilio de su Central.
Que cada entidad bancaria tiene ms de una sucursal que tambin se caracteriza por un
cdigo y por el domicilio, as como por el nmero de empleados de dicha sucursal.
Que cada sucursal contrata, segn el da, algunos vigilantes jurados, que se caracterizan por
un cdigo y su edad. Un vigilante puede ser contratado por diferentes sucursales (incluso de
Diagramas de Clases

~7~

Ing. Fabin Silva Alvarado

Computacin e Informtica

Taller de Modelamiento de Software

diferentes entidades), en distintas fechas y es un dato de inters dicha fecha, as como si se


ha contratado con arma o no.
Por otra parte, se quiere controlar a las personas que han sido detenidas por atracar las
sucursales de dichas entidades. Estas personas se definen por una clave (cdigo) y su
nombre completo.
Alguna de estas personas estn integradas en algunas bandas organizadas y por ello se
desea saber a qu banda pertenecen, sin ser de inters si la banda ha participado en el
delito o no.
Dichas bandas se definen por un nmero de banda y por el nmero de miembros.
As mismo, es interesante saber en qu fecha ha atracado cada persona una sucursal.
Evidentemente, una persona puede atracar varias sucursales en diferentes fechas, as como
que una sucursal puede ser atracada por varias personas.

Diagramas de Clases

~8~

Ing. Fabin Silva Alvarado

También podría gustarte