6.

5 Modelo del dominio del problema
El modelo del dominio del problema define un modelo de clases comun
para todos los involucrados en el modelo de requisites, tanto analistas como
clientes. Este modelo de clases consiste en los objetos del dominio del problema, o sea objetos que tienen una correspondencia directa en el area de la aplicacion. Como los usuarios y clientes deben reconocer todos los conceptos, se
puede desarrollar una terminologia comun al razonar sobre los casos de uso y,
por lo tanto, disminuir la probabilidad de malos entendidos entre el analista y
el usuario. Al discutirlo, se evolucionara el modelo del dominio del problema.
Una tecnica utilizada cuando se trabaja con tal modelo, es darle al cliente un
papel y un lapiz, y pedirle que dibuje su vision del sistema.
Historicamente, el modelo del dominio del problema se utilizaba como el modelo fundamental para la especificacion de requisites en muchas de las metodologias de ingenieria de software orientada a objetos de primera generacion
(ver capitulo 3). Sin embargo, dadas sus limitaciones que impedian obtener los
requisites funcionales de un sistema, el modelo del dominio del problema dejo
de ser la base unica para el desarrollo completo del sistema y paso a ser un
elemento adicional en la especificacion de este, como en el modelo de casos
de uso. El proposito principal del dominio del problema en el modelo de requisites de nuestra metodologia es formar una base comun de entendimiento
del desarrollo y no definir el sistema completo. Por tanto, se pueden aprovechar algunas heuristicas de los metodos anteriores para identificar los objetos
en el dominio del problema, con lo que se lograra un glosario o diccionario
de clases que sirva como comun denominador a todos los componentes del
sistema, incluyendo a las personas involucradas a lo largo del desarrollo. A diferencia de los metodos anteriores, el modelo del dominio del problema no
debe ser demasiado extenso, ya que se realizaran varios grados de refinamiento despues. Y aunque es suficiente describir el dominio del problema en terminos de objetos o clases, es posible refinar todavia mas mediante la inclusion de
asociaciones, atributos, herencia y operaciones, siempre y cuando esto ayude a
comprender mejor el problema, y que no se vuelva un esfuerzo demasiado grande durante esta etapa. Se debe tener cuidado con hacer demasiado trabajo al
inicio, ya que esto puede dificultar su modificacion posterior durante el modelo de analisis. La experiencia muestra que muchos, si no todos, de los objetos
del dominio podran aparecer durante este. Sin embargo, pueden haber cambios
durante este, incluyendo la eliminacion de clases identificadas en esta etapa, o
incluso, la incorporacion de clases adicionales.
En esta seccion describiremos como identificar las clases del dominio del problema junto con aspectos adicionales, como asociaciones y atributos. Lo que
definitivamente no se hara aqui, y que era parte esencial de las metodologias
anteriores, es identificar la herencia y las operaciones en esta etapa. La herencia y, en especial, las operaciones de un sistema son los aspectos de mayor
complejidad, algo que nosotros elaboraremos de manera muy cuidadosa durante el diseno del sistema.

6.5.1 Identification de clases
La identification de clases del dominio del problema, se obtiene principalmente de algun documento textual que describa el sistema. Aunque se pudieMODELO DEL DOMINIO DEL PROBLEMA

235

funcion y teatro. explicitas o implicitas. para asegurar que no se haya perdido ningun sustantivo descrito de forma implicita. partimos de la descripcion del problema y subrayamos todos los sustantivos. ^ Se deben revisar los pronombres en la descripcion del problema. En el caso del sistema de reservaciones de vuelos. de acuerdo con las siguientes consideraciones: os sustantivos en la descripcion del problema son los posibles candidates a clases de objetos. a menudo la descripcion original del problema es suficiente. 'p* No se debe tratar de diferenciar entre las clases y los atributos. se pueden seleccionar de las siguientes actividades: Consulta de vuelos Reservacion de vuelos Compra de boletos (continua) 236 CAP. se extraen todos los sustantivos de la descripcion del problema o de algun otro documento similar. 6 — MODELO DE REQUISITOS . |* Dado que no todas las clases se describen de manera explicita. Este acceso se da por medio de la insertion de un login previamente especificado y un password previamente escogido y que debe validarse. sistema de reservaciones. boletos. For ejemplo en "un sistema de reservaciones que vende boletos para funciones a varios teatros". se subrayan todos los sustantivos de la descripcion del problema. Para ello. y despues de haberse validado el registro y la contrasefia del usuario. como se ve a continuation: El Sistema de reservaciones de vuelos es un sistema que permite al usuario hacer consultas y reservaciones de vuelos. Se comienza este proceso a partir de la identificacion de las clases candidatas. las clases candidatas serian. poder utilizar el sistema de reservaciones de vuelos. con sus complementos adjetivos. El sistema presenta en su pantalla principal un mensaje de bienvenida que describe los servicios ofrecidos junto con la opcion para registrarse por primera vez. siendo algunas implicitas en la aplicacion. sera necesario anadir clases que puedan ser identificadas por nuestro conocimiento del area. o si ya se esta registrado. a las que se reflera la descripcion del problema. >*• Para facilitar la identificacion de clases. Se desea que el sistema de reservaciones sea accesible a traves de Internet (World Wide Web). Una vez registrado el usuario.ra tomar como punto de partida los documentos desarrollados para el modelo de casos de uso. sin la necesidad de recurrir a un agente de viajes. ^ Se deben identificar las entidades fisicas al igual que las conceptuales. ademas de poder comprar los boletos aereos en forma remota.

SELECCION DE CLASES A partir de las clases candidatas. el usuario podra en cualquier momento accesar. categoria de asiento. bajo una tarifa establecida. como fecha y horario deseado. especificando la fecha y horario. Se puede incluir preferencias en las busquedas. incluyendo informacion de disponibilidad de asientos y. Es posible reservar un itinerario compuesto de multiples vuelos. ademas de poder reservar asientos. para uno o mas pasajeros. dada una reservacion de vuelo previa y una tarjeta de credito valida. se deben seleccionar las clases relevantes. o de lo contrario.1. La consulta segun tarifas muestra los diferentes vuelos entre dos ciudades dando prioridad a su costo. o estaran listos para ser recogidos en el mostrador del aeropuerto antes de la salida del primer vuelo. tomando en cuenta las siguientes consideraciones: MODELO DEL DOMINIO DEL PROBLEMA 237 . proveerla en el momento de la compra. Ademas de los servicios de vuelo. La reservacion de vuelo permite al cliente hacer una reservacion para un vuelo particular. aerolmea y si se desea solo vuelos directos. Es necesario estar previamente registrados con un numero de tarjeta de credito valida para poder hacer compras de boletos. La informacion de vuelo se utiliza principalmente para consultar el estado de algun vuelo. manteniendo todos los nombres en singular.(continuation) La consulta de vuelos se puede hacer de tres maneras diferentes: Horarios de vuelos Tarifas de vuelos Estado de vuelo La consulta segun horario muestra losde las diferentes aerolmeas que dan servicio entre dos ciudades. Se deben/excluir clases repetidas. A partir de estos sustantivos se prepara una lista inicial de clases candidatas. si el vuelo esta a tiempo. adquirir los boletos aereos. como se muestra en la tabla 6. modificar o cancelar su propio registro. Los boletos seran posteriormente enviados al cliente. El pago permite al cliente. todo esto despues de haber sido el usuario validado en el sistema. en el caso de un vuelo para el mismo dia.

Primero hay que tener las clases especificas correctas para no suprimir detalles en el intento de ajustarse a estructuras preconcebidas.'dff{$i^ Clases candidates Sistema de reservaciones de vuelo Sistema Usuarjo Consulta Reservacion Vuelo Boleto aereo Agente de viajes Sistema de reservaciones Internet World Wide Web Pantalla principal Mensaje de bienvenida Servicios Opcion Reservaciones de vuelos Acceso Login Informacion Email Asiento Password Dfa Registro Hora Actividad Preferencia Consulta de vuelos Busqueda Reservacion de vuelos Fecha Compra de boletos Categoria de asiento Horario de vuelos Vuelo directo Tarifa de vuelos Cliente Informacion de vuelo Itinerario Horario Pasajero Aerolmea Pago Ciudad Tarjeta de credito Tarifa Boleto Costo Mostrador del aeropuerto Estado Numero de tarjeta de credito Disponibilidad Todas las clases deben tener sentido en el area de la aplicacion. si expresan la misma informacion. que tienen poco o nada que ver con el problema. ya que posteriormente siempre habra oportunidad de eliminarlas. la relevancia del problema debe ser el unico criterio para la seleccion. Durante esta etapa. mientras que en otro. Esto requiere de juicio. agregacion o herencia. se deben escoger los nombres de las clases con cuidado. 238 CAP. Se deben clarificar las clases imprecisas. Ante la duda.. se deben conservar las clases. Este es uno de los procesos mas dificiles. La clase mas descriptiva debe ser guardada. Eliminar clases redundantes. Algunas pueden tener bordes mal definidos o demasiado generales. nombres en singular). una clase puede ser importante. Como regla general. la clase podria no serlo. no hay que preocuparse por la asociacion. 6 — MODELO DE REQUISITOS .g.Tabla 6. que no sean ambiguos y que mejor describan el problema. Los nombres deben establecerse con un formato consistente (e. porque en un contexto.1 Clases identificadas en la. Eliminar clases irrelevantes.

Estado. listas y arreglos. Disponibilidad. I* Clases que son operaciones: Consulta. si estan alejadas del mundo real. cuando los nombres corresponden a propiedades mas que a entidades independientes.ecesario eliminar las clases que debieran ser atributos mas que clases. No se necesita una clase para representar una entidad fisica. Preferencia.Clases de actores: Cliente. IN Clases del sistema complete: Sistema de Reservaciones. La tabla 6. Acceso e Itinerario son clases imprecisas.2 muestra las modificaciones a las clases candidatas originales. Por ejemplo: subrutinas. >* Hay que eliminar del analisis las clases que corresponden a construcciones de implementacion. !*• Clases imprecisas: Sistema. Busqueda. esta clase se mantendria. Actividad. Pago y Reservaciones. MODELO DEL DOMINIO DEL PROBLEMA 239 . Jfr Suprimir clases que correspondan a actores del sistema. cuando los nombres corresponden a la funcion que tienen las clases mas que a las entidades independientes. Si el sistema generara o se refiriera a un boleto aereo. |^ Se deben eliminar clases que correspondan a aspectos de interfaces de usuario y no de la aplicacion. Opcion. I* Se deben eliminar clases que correspondan a todo un sistema complete. Durante la introduccion de herencia puede que sea necesario una clase para compartir aspectos comunes a ambas clases. (fc» Eliminar las clases que debieran ser roles mas que clases. Se tomaran algunas clases candidatas del sistema de reservaciones de vuelo identificadas anteriormente y se seleccionaran las que mejor se apliquen a nuestro problema. H^ Clases irrelevantes: Mostrador del Aeropuerto. ^ Clases de interfaces de usuario: Mensaje de cipal. Categoria de asiento (Asiento). consideramos que Usuario es mas descriptivo por ser la persona que utiliza el sistema. p* Se deben agregar clases implicitas que no aparezcan en la descripcion del problema. ^. Informacion de vuelo (Vuelo) y Horario de vuelo (Vuelo). ^ Suprimir las clases que debieran ser operaciones mas que clases. son clases tipicas de implementacion. & Clases que son atributos: Numero de tarjeta de credito es un atributo de Tarjeta de credito. Agente de Viajes y Boleto Aereo. pero en el caso del sistema de reservaciones. como se ve a continuacion: ^ Clases redundantes: Cliente y Usuario. si las entidades representan operaciones que se aplican a los objetos y no a entidades manipuladas por si mismas. i* Nombres de clases: Aeropuerto en lugar de Ciudad. Informacion. ambos terminos pueden ser equivalentes. Internet y World Wide Web son el medio de implementacion del sistema. Servicios.

2 Clases candidates setat<eTai reservaciones de vuelo.Tabla 6. 6 — MODELO DE REQUISITOS . '•^••••^^reservaci Clases candidatas Modificacion Sistema de reservaciones de vuelo Eliminada (sistema completo) Sistema Eliminada (imprecisa) Usuario Eliminada (actor) Consulta Eliminada (operacion) Reserva Eliminada (operacion) Vuelo Boleto aereo Eliminada (irrelevante) Agente de viajes Eliminada (irrelevante) Sistema de reservaciones Eliminada (sistema completo) Internet Eliminada (implementacion) World Wide Web Eliminada (implementacion) Hoja principal Eliminada (interface) Mensaje de bienvenida Eliminada (interface) Servicios Eliminada (imprecisa) Opcion Eliminada (imprecisa) Reservaciones de vuelos Renombrada: Reservacion Acceso Eliminada (imprecisa) Login Eliminada (atributo) Email Eliminada (atributo) Password Eliminada (atributo) Registro Renombrada: RegistroUsuario Actividad Eliminada (imprecisa) Consulta de vuelos Eliminada (operacion) Reservacion de vuelos Eliminada (operacion) Pago de boletos Eliminada (operacion) Horario de vuelos Eliminada (duplicada con horario) Tarifa de vuelos Eliminada (duplicada con tarifa) Informacion de vuelo Eliminada (atributo) Horario Aerolinea Ciudad Renombrada: Aeropuerto (continua) 240 CAP.

3. distintos analistas identificaran listas similares de clases.3adas para el sistema de reservaclones de vuaio. Note que se agregan dos nuevas clases: Avion y ViajeroFrecuente. En general. que no aparecian en la descripcion del problema. Esto se hizo para lograr un dominio mas completo.Tabla 6. Clases identificadas Vuelo Tarifa Reservacion Asiento RegistroUsuario Pasajero Horario RegistroTarjeta Aerolmea Avion Aeropuerto ViajeroFrecuente MODELO DEL DOMINIO DEL PROBLEMA 241 . Tabla 6. aunque siempre con alguna variacion.2 Continuacion Tarifa Costo Elimlnada (redundante) Estado Eliminada (imprecisa) Disponibilidad Eliminada (imprecisa) Informacion Eliminada (imprecisa) Asiento Dia Eliminada (atributo) Hora Eliminada (atributo) Preferencia Eliminada (imprecisa) Busqueda Eliminada (operacion) Fecha Eliminada (atributo) Categoria de asiento Eliminada (atributo) Vuelo directo Eliminada (atributo) Cliente Eliminada (redundante y actor) Itinerario Eliminada (imprecisa) Pasajero Compra Eliminada (operacion) Tarjeta de credito Renombrada: RegistroTarjeta Boleto Eliminada (irrelevante) Mostrador del aeropuerto Eliminada (irrelevante) Numero de tarjeta de credito Eliminada (atributo) Las clases identificadas se muestran en la tabla 6.

(En cierta manera. En general.32 y puede ayudar a identificar clases adicionales. se debe construir el diagrama de clases para el dominio del problema.32 Diagrama de clases identificadas para el sistema de reservaciones de vuelo.2 Identificacion de asociaciones El proceso de identificacion de asociaciones es bastante similar al de identificacion de clases. Figura 6. ademas servira de base para encontrar las atributos y asociaciones entre ellas. dado que las asociaciones y operaciones del sistema seran identificadas durante el modelo de diseno.DlAGRAMA DE CLASES Despues de identificar y seleccionar las clases. Aunque se puede parar aqui el proceso de desarrollo del dominio del problema. continuaremos con la identificacion de asociaciones y atributos para el sistema de reservaciones de vuelo. Sin embargo. se escogio como ejemplo el desarrollo de un sistema de reservaciones de vuelos. 6. este proceso ya no es necesario como parte del modelo de casos de uso.) 242 CAP. Este diagrama se muestra en la figura 6. por ser un dominio con el cual la mayoria de los lectores pueden identificarse. 6 — MODELO DE REQUISITOS . solo que en lugar de sustantivos buscamos frases que relacionen a los sustantivos de clases ya identificadas. aqui se dara un pequeno ejemplo de la identificacion de asociaciones con base en nuestro conocimiento del dominio del problema.5.

33 Diagrama de clases con asociaciones entre clases identificadas. Un pasajero efectua reservaciones. De lo contrario. Un pasajero puede acumular millas como viajero frecuente.4. como veremos en la etapa de diseno. Una reservacion requiere de un registro de tarjeta de credito.DlAGRAMA DE CLASES CON ASOCIACIONES En lugar de partir de la descripcion del problema o los documentos de casos de uso.4 identificadas para refacionar clasasTabla 6. Un vuelo contiene tarifas. Un vuelo tiene un horario. simplemente identificamos nuestras propias frases correspondientes al dominio del problema del sistema de reservaciones. Este proceso de identification es sencillo cuando el problema es muy limitado y el dominio es facil de analizar. se requiere un proceso de identiflcacion mucho mas extenso. se debe construir una version del diagrama de clases que incluya estas asociaciones. Figura 6. Un vuelo se dirige a un aeropuerto. como se muestra en la figura 6. como se observa en la tabla 6. Un vuelo tiene asientos. MODELO DEL DOMINIO DEL PROBLEMA 243 . Un vuelo se efectua en un avion.del AsociscioriGS ictentificscids Un vuelo requiere reservaciones.33. Un registro de tarjeta pertenece a un registro de usuario.del problema.4 identific del problema. Se omiten los nombres de las asociaciones. Un vuelo pertenece a una aerolmea. Despues de haber identificado las asociaciones. Tabla 6.

se puede construir una version del diagrama de clases incluyendo multiplicidad. Un vuelo puede hacer escalas en otros aeropuertos.DlAGRAMA DE CLASES CON ROLES Despues de haber hecho el diagrama de clases con asociaciones. como se muestra en la figura 6. Un registro de tarjeta pertenece a un registro de usuario.5. Dentro de esa subjetividad. Asociaciones identificadas con roles Un vuelo contiene reservaciones. Para tal proposito. Se extiende el diagrama de clases con asociaciones para incluir roles. Un vuelo tiene tarifas solamente de ida. Un vuelo llega a un aeropuerto de destine.6. Un vuelo tiene asientos. Tabla 6. Un vuelo tiene un aeropuerto de origen. Para tal proposito. 244 CAP. como se muestran en la tabla 6. 6 — MODELO DE REQUISITOS . Un vuelo contiene tarifas de ida y vuelta. Un vuelo tiene un horario de salida. DIAGRAMA DE CLASES CON MULTIPLICIDAD Despues de haber hecho el diagrama de clases con asociaciones y roles. modificamos levemente las asociaciones identificadas anteriormente.34. Un vuelo pertenece a una aerolmea. son bastante subjetivas. Si hay una sola asociacion entre un par de clases. la cual se determina para cada asociacion. Un pasajero efectua reservaciones. al igual que las relaciones entre las clases. Un pasajero puede acumular millas como viajero frecuente. Como se explico en el capitulo 4. Una reservacion requiere de un registro de tarjeta de credito. Note que la multiplicidad. como se muestran en la tabla 6. y el nombre de la clase describe adecuadamente su rol. modificamos levemente las asociaciones identificadas anteriormente. Un vuelo puede tener multiples conexiones. se puede construir una version del diagrama de clases incluyendo roles. todas deben transmitir un dominio similar del problema.5 Asociaciones identificadas con roles para reiacionac clases en el dominio del problema. Un vuelo tiene un horario de llegada. Un vuelo se efectua en un avion. y pueden variar entre analistas. se pueden omitir los nombres del mismo. el nombre del rol describe la funcion que desempenara una clase en la asociacion desde el punto de vista de la otra clase.

Se omiten los nombres de las asociaciones.34 Diagrama de clases con asociaciones y roles entre clases identificadas. Un vuelo tiene multiples asientos. Multiples vuelos se efectuan en un mismo avion (en diferente memento). MODELO DEL DOMINIO DEL PROBLEMA 245 . Una reservacion se relaciona con multiples vuelos. Un pasajero efectua multiples reservaciones.Figura 6.) T•r En el caso de los objetos borde que se comunican con usuarios humanos•r C•r En el caso de los objetos bord A•r En el caso de los objetos borde que se comunican co Un vuelo contiene multiples reservaciones. Un vuelo tiene un aeropuerto de origen. Un vuelo contiene multiples tarifas solamente de ida. Un vuelo puede tener multiples conexiones. Multiples pasajeros pueden pertenecer a una misma reservacion. Multiples reservaciones pueden requerir de un mismo registro de tarjeta de credito. Un pasajero puede acumular millas en multiples cuentas de viajero frecuente. Un vuelo se efectua en multiples aviones (dependiendo del dfa). Un vuelo contiene multiples tarifas de ida y vuelta. Un vuelo tiene multiples horarios de llegada (correspondiendo a diferentes destines). Un vuelo pertenece a una aerolmea. Un vuelo tiene multiples horarios de salida (correspondiendo a diferentes escalas). mientras que R/T significa viaje redondo o round trip. Un registro de tarjeta pertenece a un registro de usuario. Un vuelo puede hacer escalas en multiples aeropuertos. vuelo de ida o one way. (O/W significa viaje sencillo. Un vuelo tiene un aeropuerto de destine.

246 CAP. No es necesario listar todos los atributos. Figura 6. simplemente se identifican nuestros propios atributos para las distintas clases identificadas en el dominio del problema del sistema de reservaciones.35 Diagrama de clases con asociaciones. se pueden determinar los atributos del dominio del problema.35.Se extiende el diagrama de clases con asociaciones y roles.3 Identification de atributos De manera similar a las asociaciones. omitiendo atributos menores. roles y multiplicidad entre clases identificadas. e incluso del documento de casos de uso. De lo contrario. este proceso de identificacion es sencillo cuando el problema es limitado y el dominio es facil de analizar. como se muestran en la tabla 6. 6 — MODELO DE REQUISITOS . Este proceso tiene una complejidad similar al de identificacion de las asociaciones. En lugar de esto. como se muestra en la figura 6. Sin embargo.5. solamente los atributos mas relevantes.7. Nuevamente. Se omiten los nombres de las asociaciones. 6. se requiere un proceso de identificacion mucho mas extenso como veremos en la etapa de diseno. para incluir multiplicidad. identificar atributos puede resultar mas dificil si se hace a traves de un proceso de busqueda a partir de la descripcion del problema.

Letra. La reservacion cuenta con una clave que corresponde a un record de reservacion particular. Reservacion: para poder tomar un vuelo. Vuelo: se denomina por medio de un numero. como se muestra en la figura 6. Numero. Asiento Fila. Login. colonia. Hora. ciudad. email. Telefono casa. Co/on/a. codigo postal. ViajeroFrecuente Numero.5. describe textualmente las clases identificadas durante el modelo del dominio del problema. Atributos Clases Vuelo Numero. fax. Reservation Clave.Tabla 6. El vuelo pertenece a una aerolmea y puede operar varios dias a la semana. Pais. Pais. 6.36. MODELO DEL DOMINIO DEL PROBLEMA 247 . Direction. Impuestos.4 Diccionario de clases El diccionario de clases o diccionario de datos. login y password. Password. Codigo Postal. Horario Dia. Fax. la cual debe pagarse antes de una fecha limite. telefono de casa. Este diccionario sirve como un glosario de terminos y se muestra a continuacion. RegistroTarjeta Nombre. Ciudad. telefono de oficina. RegistroUsuario: para poder utilizar el sistema de reservaciones. Aeropuerto Nombre. el usuario debe estar registrado en el. Pasajero Nombre.7 Atributos identtficados para las clases ctei sisterrii de reservaciones de vuelo. Un vuelo puede tener multiples escalas. Telefono oficina. Avion Fabricante. Registroilsuario Nombre. con un horario de salida y otro de llegada. Expedidor. roles y multiplicidad. Modelo. Aerolinea. Aerolinea Nombre. es necesario contar con una reservacion previa. direccion. y diversos vuelos se relacionan por medio de conexiones. DlAGRAMA DE CLASES CON ATRIBUTOS Se extiende el diagrama de clases con asociaciones. pais. Tarifa Clase. Email. Una reservacion puede hacerse para multiples vuelos y distintos pasajeros. incluso el mismo dia del vuelo. El vuelo tiene como origen un aeropuerto en una ciudad y tiene como destino un aeropuerto de otra ciudad. Precio. Ciudad. Vencimiento. para incluir los atributos principales. El registro contiene informacion acerca del usuario como nombre.

La aerolinea se identifica por un nombre. si son de viaje sencillo o viaje redondo. destino y escalas de un vuelo.Figura 6. 248 CAP. 6 — MODELO DE REQUISITOS . Horario: el horario de un vuelo se determina por su hora de salida y de llegada durante los dias que opera. Aeropuerto: el aeropuerto sirve como origen. Tarifa: un mismo vuelo puede contar con diferentes tarifas. Aerolinea: la aerolinea provee varios vuelos entre diferentes ciudades bajo diversos horarios. Se omiten los nombres de las asociaciones y solo se muestran los atributos mas relevantes. que varian segun la clase de boleto.36 Diagrama de clases con asociaciones. roles. y dependiendo de las restricciones y ofertas existentes. El aeropuerto se encuentra en una ciudad de un pais determinado. multiplicidad y atributos para clases identificadas.

Sin embargo.Asiento: una reservacion de vuelo puede incluir la asignacion de asiento. se debe tener un registro de tarjeta. MODELO DEL DOMINIO DEL PROBLEMA 249 . esto no tiene por que ser realmente asi. las clases para el modulo de registro se relacionan con la utilizacion del sistema ligadas al actor Base de Datos de Registro. A continuacion describimos los modulos para el sistema de reservaciones de vuelo. los modulos afianzan esta correspondencia. Estos modulo son. donde cada modulo es una agrupacion logica de clases y sus asociaciones correspondientes. que contiene las clases que guardan informacion sobre el usuario del sistema.5. Varios pasajeros pueden aparecer bajo una sola reservacion. pudiendo existir un solo modulo para un sistema con multiples actores secundarios. La tarjeta esta ligada a un registro de usuario. ya que al corresponder cada actor secundario a una base de datos. va muy de la mano con la existencia de estos dos actores secundarios. que contiene las clases que guardan informacion sobre los vuelos. Pasajero: para hacer una reservacion. se requiere dar el nombre del pasajero. y Servicios. El tipo de avion define la cantidad maxima de pasajeros que pueden viajar en ese vuelo para esa fecha.37 se muestran las clases pertenecientes al modulo de Servicios del sistema de reservaciones. De tal manera. 6. En otras palabras. el modelo completo se dividiria en una coleccion de modulos. o incluso varios modulos por cada actor secundario. numero. para lo cual es necesario separar las clases en modules. Registro. especiflcada mediante una fila y un numero. RegistroTarjeta: para pagar con una tarjeta de credito. se pueden identificar dos modulos principales del dominio del problema. ligadas al actor Base de Datos de Reservaciones. puede hacerse bastante complejo en el caso de un sistema de gran tamano. La razon de separar en dos modulos. El numero de asientos disponibles en un vuelo dependen del tipo de avion que opere ese dia. pasajeros y reservaciones. SERVICIOS En la figura 6. ViajeroFrecuente: el pasajero tiene la opcion de acumular millas para un vuelo. incluyendo nombre. El registro contiene informacion acerca de la tarjeta. expedidor y vencimiento.5 Identification de Modules El modelo del dominio del problema. Avion: un vuelo en una fecha determinada se hace en un tipo de avion en particular. si cuenta con una tarjeta de viajero frecuente de la aerolinea correspondiente. de acuerdo con la relacion logica entre las clases. Para el sistema de reservaciones de vuelo. mientras que las clases para el modulo de servicios se relacionan con el propio sistema de reservaciones.

Figura 6. CAP.38 250 Diagrama de clases para el modulo de Registro del sistema de reservaciones de vuelo. REGISTRO En la figura 6.38 se muestra las clases pertenecientes al modulo de Registro del sistema de reservaciones. 6 — MODELO DE REQUISITOS . Figura 6.37 Diagrama de clases para el mbdulo de Servicios del sistema de reservaciones de vuelo.