Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramas de Clases
B. Clases irrelevantes: Mostrador del Aeropuerto, Agente de Viajes Humano y Billete Areo.
C. Clases imprecisas: Sistema, Servicios, Actividad, Preferencia, Bsqueda, Informacin, Estado, Opcin, Acceso,
Itinerario, son clases imprecisas. Durante la introduccin de herencia puede que sea necesario una clase para compartir
aspectos comunes a ambas clases.
D. Nombres de clases: aeropuerto en lugar de ciudad.
E. Clases que son atributos: Nmero de Tarjeta de Crdito es un atributo de Tarjeta de Crdito, Categora de Asiento
(asiento), informacin de vuelo (vuelo) y horario de vuelo (vuelo).
F. Clases que son operaciones: Consulta, Compra, Reserva.
G. Clases de interfaces de usuario: mensaje de bienvenida, hoja principal.
H. Clases del sistema completo: Sistema de reserva.
I. Clases actores: Cliente, Operador (opcional, ya que es una ampliacin del sistema).
A continuacin tenemos cules son las clases candidatas de nuestro sistema a analizar:
Reserva
Vuelo
Aerolnea
Aeropuerto
Tarifa
asiento
da
hora
pasajero
tarjeta de crdito
contrasea
email
registro
TSR
Despus de haber identificado y seleccionado las clases, se construye un primer diagrama de clases para el dominio del
problema (ver Figura 1.1). Como podemos observar, se han eliminado aquellas clases candidatas que son atributos.
Origen
Salida
1*
1
1
1
DIA
1*
Llegada
VUELO
1
1
1*
Conexin
AEROLINEA
1*
1
1
Escalas
Destino
1
1
Pertenece
AEROPUERTO
TARIFA
1*
IDA/IV
1* Ofertas/Res
1
1
VUELO
1* Escalas 1*
AVION
1*
1*
ASIENTO
AEROLINEA
Diagramas de Clases
DIA
HORA
VUELO
1*
1*
RESERVA
1*
PAGO
1*
1*
1*
1*
PASAJERO
1*
TARJETA
En la Figura 1.5 se muestra las clases con sus atributos y en la Figura 1.6 se muestra el diagrama completo final con todas
las clases y sus relaciones.
Diagramas de Clases
AEROLINEA
AVION
1
- Nombre
Posee 1*
AEROPUERTO
- Compaa
- Tipo
- N Pasajeros
- Nombre
- Ciudad
- Pas
1
1
1*
Le pertenece
Es realizado
por
1*
TARIFA
1*
- Clase
- Precio
- Impuestos
Ida/IV
1*
Conexin
Ofertas
1
1
1
1
Origen
1*
- Nmero
1*
1*
Destino
VUELO
Escalas
1
1
1*
Contiene
Contiene
ASIENTO
1*
Salida
1*
- Fila
- Letra
RESERVA
- Clave
- Costo Total
Llegada
1* 1*
HORA
1 Tiene
PAGO
1 Tiene
1*
1*
DIA
- Tipo
- Fecha
- Cantidad
1*
Hace
Hace
1*
1*
PASAJERO
TARJETA
-
Nombre
Direccin
Ciudad
Pas
Cdigo Postal
Telfono Casa
Telfono Oficina
Fax
E-mail
1 Posee 1*
Diagramas de Clases
Nombre
Nmero
Tipo
Fecha
Vencimiento
Diagramas de Clases
Geografa
Problema
Actividad
Noria
Detector
Seal
Dispositivo del operario
Numero de vehculo
Controlador
Avera
Empresa
Instalacin
Proyecto
Montaa rusa
Central Receptora de Averas (CRA)
Peticin
Mensaje
Personas
Torniquete
Vagn
Una vez que hemos identificado las posibles clases, realizamos la seleccin de las clases que van a participar en el
diagrama de clases. Para ello lo primero que hacemos es eliminar aquellas clases irrelevantes, ya sea porque tiene poco o
nada que ver con el problema que se est modelando, porque no son especficas del entorno de la aplicacin o porque son
atributos de clase. As pues, eliminamos las siguientes clases:
Parque de atracciones
Problema
Proyecto
Componente
Mes
Numero de vehculo
Controlador
Daos materiales
Geografa
Instalacin
Sistema
Seal
Mensaje
Personas
Contador
Empresa
Actividad
Detector
Peticin
Calle
Sala
Avera
Eliminamos la clase Operario, ya que consideramos que el operario se relaciona con el sistema mediante la clase interfaz
Dispositivo del operario. Finalmente las clases que van a participar en nuestro modelo son las siguientes:
Atraccin
Vehculo
Torniquete
Noria
Central Receptora de Averas (CRA)-Clase
Vagn
Montaa rusa
Dispositivo de Operario
Tras identificar las clases definimos cules son las relaciones existentes entre ellas. Examinando de nuevo el enunciado y
aplicando el proceso de generalizacin y especializacin, identificamos la clase Torniquete y las subclases Torniquete de
Entrada y Torniquete de Salida. Por tanto, existe una relacin de herencia entre estas tres clases.
Entre las subclases existe una relacin uno a uno entre el Torniquete de Entrada y el de Salida que permite comparar si el
nmero de personas que salen es igual al que entran.
Una Atraccin se activa por un Torniquete de Entrada y cada Torniquete de Entrada activa a una nica Atraccin. De igual
forma una Atraccin comunica a un Torniquete de Salida que debe prepararse y un Torniquete de Salida se activa gracias
a una nica Atraccin.
Aunque podramos crear una relacin entre Atraccin y Torniquete y eliminar, por tanto, la que une a cada uno de los tipos
de Torniquete, hemos preferido conservarlas para matizar que la asociacin es distinta con cada uno de los tipos de
Torniquete.
Ya que una Atraccin puede ser una Noria o una Montaa realizando las funciones de Atraccin, utilizamos la relacin de
herencia para relacionar a la clase Atraccin con las subclases Noria y Montaa.
Por otra parte, una Noria est formada por vehculos, con lo cual existe una relacin de agregacin entre Noria y Vehculo.
De igual forma ocurre entre Montaa rusa y vagn. Como un vagn arrastra a otro vagn, tenemos una relacin reflexiva
en la clase vagn.
La Central Receptora de Averas (CRA) mantiene a una o varias Atracciones, mientras que Atraccin slo se mantiene por
una CRA. Finalmente una CRA gestiona varios Dispositivos de operario y un Dispositivo de operario es gestionado por una
nica CRA.
En la Figura 2.1 se muestra el diagrama de clases, con las operaciones y atributos que hemos identificado a partir de una
lectura minuciosa de la especificacin del problema.
Diagramas de Clases
Torniquete
-Numero_Personas
+Cuenta_Personas
Comunica
Entrada
Salida
+Ponerse_Amarillo
+Ponerse_Rojo
+Ponerse_Verde
+Abrirse
+Cerrarse
Comunica
1
Activa
1
1..*
Atraccion
-Numero_Averias_Pendientes
-Calle
-Nombre
Central_Receptora_Averias_CRA
+Anular_Averia_Pendiente
+Registrar_Averia_Pendiente
+Buscar_Operario_Libre
1
Gestiona
Noria
Montana_Rusa
-Num_Max_Ocupantes
-Num_Max_Ocupantes
1..*
1..*
Dispositivo_Operario
-Cedula_Operario
-Nombre_Operario
-Estado_Operario
1..*
Vehiculo
+Indicar_Fin_Revision
+Indicar_Ocupado
Vagon
-Num_Vehiculo
-Num_Vagon
+Detectar_Falta_Presion
+Solicitar_Mantenimiento
+Detectar_Falta_Presion
+Solicitar_Mantenimiento
0..1
Arrastra a
Diagramas de Clases