You are on page 1of 17

UNT Curso: Ingeniería de Software de Gestión

Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

LABORATORIO DE EJERCICIOS DE DIAGRAMAS DE UML

A continuación, se da una serie de enunciados para elaborar el Diagrama de clases correspondiente


mostrando asociación, relaciones, multiplicidad, recursividad, composición, agregación,
generalización y clases derivadas. Las clases deben presentar atributos y métodos identificados. En
algunos casos particulares asuma alguna funcionalidad y descríbala en una nota.

Problema 1: Gabinete de abogados


Se quiere diseñar un diagrama de clases para almacenar información sobre los asuntos que lleva
un gabinete de abogados. Cada asunto tiene un número de expediente que lo identifica, y
corresponde a un solo clientve. Del asunto se debe almacenar el período (fecha de inicio y fecha de
archivo o finalización), su estado (en trámite, archivado, etc.), así como los datos personales del
cliente al que pertenece (DNI, nombre, dirección, etc.). Algunos asuntos son llevados por uno o
varios procuradores, de los que nos interesa también los datos personales.

Problema 2: Zoológico
Se quiere diseñar un diagrama de clases que almacene información relativa a los zoos existentes en
el mundo, así como las especies animales que éstos albergan. De cada zoo se conoce el nombre,
ciudad y país donde se encuentra, tamaño (en m2) y presupuesto anual. De cada especie animal se
almacena el nombre vulgar y nombre científico, familia a la que pertenece y si se encuentra en
peligro de extinción. Además, se debe guardar información sobre cada animal que los zoos poseen,
como su número de identificación, especie, sexo, año de nacimiento, país de origen y continente.

Problema 3: Club náutico


Se quiere diseñar un diagrama de clases para gestionar los datos de los socios de un club náutico.
De cada socio se guardan los datos personales y los datos del barco o barcos que posee: número
de matrícula, nombre, número del amarre y cuota que paga por el mismo. Además, se quiere
mantener información sobre las salidas realizadas por cada barco, como la fecha y hora de salida,
el destino y los datos personales del patrón, que no tiene porque, ser el propietario del barco, ni es
necesario que sea socio del club.

Problema 4: Vídeo club


Se desea diseñar un diagrama de clases que almacene la información sobre los préstamos de las
películas de un vídeo club. En la actualidad la gestión de esta información se lleva cabo del siguiente
modo:
Cuando se hace un préstamo se rellena una ficha en la que se anota el socio que se lleva la película,
la fecha y el número de la cinta que se lleva, que es único (de cada película hay varias copias en
cintas distintas). Esta ficha se deposita en el archivador de películas prestadas. Cuando el socio
devuelve la cinta, la ficha se pasa al archivador de películas devueltas. El vídeo club tiene, además,
un archivador con fichas de películas ordenadas por título; cada ficha tiene además el género de la
película (comedia, terror, ...), su director y los nombres de los actores que intervienen. También se
tiene un archivador con las fichas de los socios, ordenadas por el código que el vídeo club les da
cuando les hace el carné; cada ficha tiene el nombre del socio, su dirección y teléfono, los nombres
de sus directores favoritos, los nombres de sus actores favoritos y los géneros cinematográficos de
su preferencia. Cuando un socio quiere tomar prestada una película de la que no hay copias
disponibles, se le puede anotar en la lista de espera de esa película. Cada vez que se devuelve una
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

película, se comprueba si hay alguien en su lista de espera, y si es así se llama por teléfono al primer
socio de la lista para decirle que ya puede pasar a recogerla, borrándolo después de la lista.

Problema 5: Compañía aérea


Se desea almacenar la información de una compañía aérea en un diagrama de clases. La compañía
aérea tiene tres recursos principales: aviones, pilotos y miembros de tripulación. De cada piloto se
desea conocer su código, nombre y horas de vuelo. De los miembros de tripulación sólo
mantendremos su código y nombre. Todos ellos (pilotos y miembros) tienen una base a la que
regresan después de los vuelos de una jornada. Un vuelo que va desde un origen a un destino y a
una hora determinada, tiene un número de vuelo (por ejemplo, el vuelo de Palma a Alicante de las
13:50 es el vuelo IB-8830). De cada vuelo que se va a realizar durante los próximos tres meses, así
como de los vuelos que ya se han realizado, se desea saber el avión en que se va a hacer o en el
que se ha hecho, el piloto y cada uno de los miembros de la tripulación. Cada avión tiene un código,
es de un tipo (por ejemplo, BOEING-747) y tiene una base donde es sometido a las revisiones
periódicas de mantenimiento.

Problema 6: Sistema académico universitario


El servicio de estudiantes de la universidad proporciona información sobre las asignaturas de cada
titulación e información sobre los profesores, mediante los tipos de informe que se muestran más
adelante.
Para ello, posee un fichero de asignaturas y un fichero de profesores, con los correspondientes
programas que se encargan de gestionarlos y que generan dichos informes. Dados los problemas
de inconsistencia de datos que el sistema de ficheros conlleva, se desea diseñar un diagrama de
clases que lo sustituya.
Algunas aclaraciones que el servicio de estudiantes nos ha hecho son las siguientes: en cada
departamento hay varias áreas de conocimiento, cada una de las cuales imparte una serie de
asignaturas distintas en una o varias titulaciones. Cada profesor pertenece a un única área de
conocimiento de un departamento e imparte clases en una o varias asignaturas de ese área.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

Problema 7: Servicio telefónico


La asociación de cines de una ciudad quiere crear un servicio telefónico en el que se pueda hacer
cualquier tipo de consulta sobre las películas que se están proyectando actualmente: en qué cines
hacen una determinada película y el horario de los pases, qué películas de dibujos animados se
están proyectando y dónde, qué películas hay en un determinado cine, etc. Para ello debemos
diseñar un diagrama de clases que contenga toda esta información.
En concreto, para cada cine se debe dar el título de la película y el horario de los pases, además del
nombre del director de la misma, el nombre de hasta tres de sus protagonistas, el género (comedia,
intriga, etc.) y la clasificación (tolerada menores, mayores de 18 años, etc.). La base de datos
también almacenará la calle y número donde está el cine, el teléfono y los distintos precios según
el día (día del espectador, día del jubilado, festivos y vísperas, carnet de estudiante, etc.).
Hay que tener en cuenta que algunos cines tienen varias salas en las que se pasan distintas películas
y también que en un mismo cine se pueden pasar películas distintas en diferentes pases. A
continuación, se muestra un ejemplo de la información que los cines proporcionarán al nuevo
servicio telefónico.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

Problema 8: Artículos científicos


Se desea diseñar un diagrama de clases bibliográfico de un grupo de investigación de la universidad.
En concreto, se quiere almacenar toda la información relativa a los artículos científicos sobre los
temas en los que trabaja el grupo y de los cuales puede poseer alguna copia. Si se posee alguna
copia, esta puede estar en las estanterías del laboratorio, o bien, en el despacho de alguno de los
investigadores del grupo.
De cada uno de estos artículos se desea saber el título, los autores, las palabras clave, la dirección
de correo electrónico de contacto (si la hay), si se tiene copia en el grupo y donde se guarda. Los
artículos pueden haber sido publicados como informes técnicos, o bien en las actas de algún
congreso o en una revista científica. De los informes técnicos se debe guardar el número y el centro
en que se ha publicado, junto con el mes y año de publicación. Cuando el artículo aparece en las
actas de un congreso, se debe guardar el nombre del congreso, la edición del mismo en la que se
presentó el artículo, ciudad en que se celebró y fechas de inicio y finalización. Además, se debe
guardar el tipo de congreso que es (nacional o internacional) y la frecuencia con que se celebra
(anual, etc.). Si el congreso es de tipo internacional, se debe guardar también el país en que tuvo
lugar cuando se presentó el artículo. Además, se guardará el año en que el congreso se celebró por
primera vez. Por último, si el artículo ha aparecido publicado en una revista científica, se quiere
saber el nombre de la revista, el nombre del editor, el año en que empezó a publicarse, la frecuencia
con que aparece (mensual, trimestral, etc.), los temas que trata la revista, el número de la revista
en que apareció el artículo, las páginas ocupadas (por ejemplo 512-519) y el año.
También se quiere guardar información adicional sobre los autores de los artículos y, en general,
sobre otros investigadores, como el centro en el que trabajan y su dirección de correo electrónico.
Además, si es posible, también se desea conocer los temas concretos en que trabajan.

Problema 9: Proyectos de investigación


La OCIT (Oficina de Cooperación en Investigación y Desarrollo Tecnológico) de la UNT dispone de
un sistema de ficheros en el que almacena la información sobre los proyectos financiados que llevan
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

a cabo los grupos de investigación de la universidad. A continuación, se describe la información que


contienen los ficheros que tienen que ver solamente con las convocatorias de ayudas públicas.
El fichero de convocatorias mantiene información sobre las convocatorias de ayudas para la
realización de proyectos de investigación. De éstas se guarda la fecha de publicación, el organismo
que la promueve, el programa en que se enmarca el proyecto, la fecha límite de presentación de
solicitudes, el número de la convocatoria (es único dentro de cada programa), la dirección de la
web en donde obtener información sobre ella y el número del BOE (Boletín Oficial del Estado) o del
DOEP (Diario Oficial El Peruano) en donde se ha publicado. También se guarda la fecha de
resolución, que es el día en que se ha publicado la lista de solicitudes que han sido aprobadas. De
cada organismo se guarda, en otro fichero, el nombre, la dirección, la población, el código postal y
el teléfono.
El fichero de solicitudes almacena los datos de las solicitudes que los grupos de investigación
presentan para las distintas convocatorias de ayudas para proyectos. De cada solicitud se guarda
información sobre la convocatoria a la que corresponde: organismo, programa, número y fecha.
Además, se guarda la fecha en que se ha presentado esta solicitud, el título del proyecto (que será
único), el nombre del investigador principal y su departamento. Cuando se publica la resolución,
también se guarda la fecha de ésta y, en caso de ser aprobada la solicitud, se señala. Otros datos
que aparecen en este fichero son: el importe económico que se solicita para llevar a cabo el
proyecto, los nombres de los miembros del grupo de investigación que van a participar en el
proyecto y las horas por semana que cada uno va a dedicar al mismo, que pueden ser distintas para
cada investigador ya que pueden estar participando a la vez en otros proyectos. Además, se
guardan las fechas previstas de inicio y finalización del proyecto, su duración en meses y por último,
el número de entrada que ha dado el registro general a la solicitud.
En el diagrama de clases se desea reflejar también los grupos de investigación de la universidad,
con su nombre, el investigador responsable y los investigadores que lo integran. De éstos se conoce
el nombre, departamento y área de conocimiento dentro del departamento. Se considera que un
grupo de investigación pertenece al departamento de su investigador responsable, aunque algunos
de sus miembros pueden pertenecer a otro departamento. De los departamentos también se desea
conocer el nombre de su director.
Se desea diseñar una base de datos que sea de utilidad para concesionarios de automóviles. Un
concesionario puede vender automóviles de varias marcas (por ejemplo, Audi y Volkswagen). Sobre
los automóviles se desea mantener la siguiente información: marca, modelo, precio, descuento (si
es que lo tiene) y los datos técnicos (potencia fiscal, cilindrada, etc.). Para cada modelo de
automóvil se quiere conocer las características de su equipamiento de serie (por ejemplo: airbag
conductor y cierre centralizado), así como los extras que se pueden incluir (aire acondicionado,
airbag acompañante, pintura metalizada, etc.) y el precio de cada uno de ellos. Notar que, lo que
son características del equipamiento de serie de algunos modelos, son extras para otros modelos.
Por ejemplo, hay modelos que llevan el airbag de serie mientras que otros lo tienen como un posible
extra.
El concesionario tiene siempre automóviles de varios modelos en stock (cada uno se identifica por
su número de bastidor). Éstos se pueden encontrar en su mismo local, o bien, en cualquiera de los
servicios oficiales que dependen de él. Un servicio oficial es también una tienda de automóviles,
pero depende de un concesionario que es el que le presta los automóviles para su exposición, y
también se los vende. De cada servicio oficial se conoce el nombre, domicilio y NIF.
Cuando se vende un automóvil se quiere saber quién lo ha vendido: puede ser uno de los
vendedores del concesionario o bien un servicio oficial. También se desea saber el precio que se ha
cobrado por él y el modo de pago: al contado o mediante financiera. También se guardará
información sobre los extras que se han incluido, precio de cada uno, la fecha de entrega, matrícula
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

y si era de stock o se ha tenido que encargar a fábrica. De los vendedores se almacenarán los datos
personales (nombre, NIF, domicilio, etc.) y las ventas realizadas.

Problema 10: Concesionarios de automóviles


Se desea diseñar un diagrama de clases que sea de utilidad para concesionarios de automóviles. Un
concesionario puede vender automóviles de varias marcas (por ejemplo, Audi y Volkswagen). Sobre
los automóviles se desea mantener la siguiente información: marca, modelo, precio, descuento (si
es que lo tiene) y los datos técnicos (potencia fiscal, cilindrada, etc.). Para cada modelo de
automóvil se quiere conocer las características de su equipamiento de serie (por ejemplo: airbag
conductor y cierre centralizado), así como los extras que se pueden incluir (aire acondicionado,
airbag acompañante, pintura metalizada, etc.) y el precio de cada uno de ellos. Notar que, lo que
son características del equipamiento de serie de algunos modelos, son extras para otros modelos.
Por ejemplo, hay modelos que llevan el airbag de serie mientras que otros lo tienen como un posible
extra.
El concesionario tiene siempre automóviles de varios modelos en stock (cada uno se identifica por
su número de bastidor). Éstos se pueden encontrar en su mismo local, o bien, en cualquiera de los
servicios oficiales que dependen de él. Un servicio oficial es también una tienda de automóviles,
pero depende de un concesionario que es el que le presta los automóviles para su exposición, y
también se los vende. De cada servicio oficial se conoce el nombre, domicilio y DNI.
Cuando se vende un automóvil se quiere saber quién lo ha vendido: puede ser uno de los
vendedores del concesionario o bien un servicio oficial. También se desea saber el precio que se ha
cobrado por él y el modo de pago: al contado o mediante financiera. También se guardará
información sobre los extras que se han incluido, precio de cada uno, la fecha de entrega, matrícula
y si era de stock o se ha tenido que encargar a fábrica. De los vendedores se almacenarán los datos
personales (nombre, DNI, domicilio, etc.) y las ventas realizadas.

Problema 11: Centro de salud


Se desea diseñar un diagrama de clases para guardar la información sobre médicos, empleados y
pacientes de un centro de salud. De los médicos se desea saber su nombre, dirección, teléfono,
población, provincia, código postal, DNI, número de la seguridad social, número de colegiado y si
es médico titular, médico interino o médico sustituto. Cada médico tiene un horario en el que pasa
consulta, pudiendo ser diferente cada día de la semana. Los datos de los médicos sustitutos no
desaparecen cuando finalizan una sustitución, se les da una fecha de baja. Así, cada sustituto puede
tener varias fechas de alta y fechas de baja, dependiendo de las sustituciones que haya realizado.
Si la última fecha de alta es posterior a la última fecha de baja, el médico está realizando una
sustitución en la actualidad en el centro de salud.
El resto de empleados son los ATS (Auxiliar de Transporte Sanitario), ATS de zona, auxiliares de
enfermería, celadores y administrativos. De todos ellos se desea conocer su nombre, dirección,
teléfono, población, provincia, código postal, DNI y número de la seguridad social.
De todos, médicos y empleados, se mantiene también información sobre los períodos de
vacaciones que tienen planificados y de los que ya han disfrutado.
Por último, de los pacientes se conoce su nombre, dirección, teléfono, código postal, NIF, número
de la seguridad social y médico que les corresponde.

Problema 12: Empresa de publicidad


Una empresa de publicidad desea controlar los patrocinadores que aparecen en la programación
semanal de las emisoras de radio en las que inserta la publicidad que tiene contratada.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

De las emisoras de radio se desea conocer el NIF, su nombre, la dirección postal, el nombre del
director y la banda hertziana por la que emite, cuyo uso es exclusivo para la emisora dentro de la
provincia en la que se encuentra. Las emisoras de radio pueden asociarse en cadenas de radio con
el objeto de realizar de modo conjunto parte de la programación semanal. Cada cadena tiene un
nombre representativo. La sede central de una cadena de radio es una de las emisoras de la cadena,
aunque el director de la cadena no tiene porque, coincidir con el director de esta emisora. Las
cadenas de radio se asocian a una empresa de medios de comunicación que puede controlar más
de una cadena de radio. Estas empresas se caracterizan por el NIF, deseándose conocer también su
nombre, el nombre de su director y su dirección postal.
Un programa de radio se emite en una o más franjas horarias; cada franja se caracteriza por la hora
de inicio, el día de la semana en el que se emite y la duración. Dicho programa puede emitirse en
todas las emisoras de una cadena, o bien, pertenecer a la programación local de una emisora. Se
desea conocer el nombre del programa, que es único, y su responsable. Un programa de radio
puede emitir publicidad de diferentes patrocinadores. La duración de la publicidad se mide en
segundos por semana, por lo que el coste de esta publicidad se calcula multiplicando dicho valor
por el precio por segundo asociado al programa de radio. Un patrocinador se identifica por el
número del contrato que tiene con la empresa de publicidad. Es necesario conocer el nombre del
patrocinador, así como la duración y el importe del contrato.

Problema 12: Guardería de niños


Una guardería desea controlar los gastos que cada uno de los niños realiza a través de su asistencia
y de las comidas que consume.
De cada niño se desea conocer los datos propios de su matrícula en el centro educativo, es decir,
el número de matrícula, el nombre, la fecha de nacimiento y la fecha de ingreso en la guardería.
Para aquellos niños que se hayan dado de baja, también se desea conocer la fecha de la baja.
Los niños sólo pueden ser recogidos en la guardería por un conjunto de personas que suelen ser un
familiar del niño o un conocido de sus familiares De éstos se desea conocer el DNI, el nombre, la
dirección y al menos un número de teléfono de contacto. Además, debe de quedar constancia de
cuál es la relación entre la persona autorizada y el niño.
El coste mensual del niño en la guardería es abonado por una persona, de la que se desea conocer
el DNI, el nombre, la dirección, el teléfono, y el número de la cuenta corriente en la que se realizará
el cargo. Estas personas también pueden estar autorizadas para recoger al niño.
En la guardería aparece un conjunto de menús, compuesto por una serie de platos concretos, cada
uno de los cuales presentan unos ingredientes determinados. Cada menú se identifica por un
número, mientras que los platos y los ingredientes se caracterizan por su nombre. Un niño puede
ser alérgico a diferentes ingredientes, y por tanto no puede consumir los platos en los que aparece
este ingrediente. Estas alergias deben de ser controladas para evitar posibles intoxicaciones en los
niños. El cargo mensual de un niño se calcula como la suma de un coste fijo mensual y el coste de
las comidas realizadas. Este último se obtiene a partir del número de días que el niño ha comido en
la guardería, por lo que resulta necesario controlar dicho número. Además, se desea saber el menú
que ha consumido cada niño cada día.

Problema 14: Modificación de Problema 9.


Se ha diseñado un diagrama de clases para sustituir el sistema de ficheros que gestionaba la
información sobre los proyectos financiados que llevan a cabo los grupos de investigación de la
universidad.
Sobre las convocatorias de ayudas públicas para la realización de proyectos de investigación
interesa la fecha de publicación, el organismo que la promueve, el programa en que se enmarca el
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

proyecto, la fecha límite de presentación de solicitudes, el número de la convocatoria, la dirección


web en donde obtener información sobre ella y el número del BOE (Boletín Oficial del Estado) o del
DOEP (Diario Oficial El Peruano) en donde se ha publicado. También se conoce la fecha de
resolución, que es el día en que se ha publicado la lista de solicitudes que han sido aprobadas. De
cada organismo se tiene el nombre, la dirección, población, código postal y teléfono.
Los grupos de investigación presentan solicitudes para las distintas convocatorias de ayudas para
proyectos. De cada solicitud interesa conocer la convocatoria a la que corresponde, la fecha en que
se ha presentado esta solicitud, el título del proyecto para el que se pide la ayuda, así como el
importe económico que se solicita. En caso de resultar aprobada la solicitud, se señala. Además, se
reflejan las fechas previstas de inicio y finalización del proyecto, su duración en meses y por último,
el número de entrada que ha dado el registro general de la universidad a la solicitud.
El conjunto de relaciones en tercera forma normal obtenido a partir del esquema conceptual
descrito es el siguiente:
DEPARTAMENTO (nombre)
GRUPO (nombre, departamento)
GRUPO.departamento es clave ajena a DEPARTAMENTO
ORGANISMO (nombre, dirección, población, cp, teléfono)
CONVOCATORIA (número, programa, fecha, f_lim, web, boe/doep, f_resol, organismo)
CONVOCATORIA.organismo es clave ajena a ORGANISMO
SOLICITUD (título, f_present, f_ini, f_fin, importe, num_reg, num_conv, prog_conv, aprob,
grupo_inv)
(SOLICITUD.num_conv, SOLICITD.prog_conv) es clave ajena a CONVOCATORIA
SOLICITUD.grupo_inv es clave ajena a GRUPO
En este problema se debe extender el esquema del diagrama de clases, teniendo en cuenta la
información del fichero de contratos. Cuando una solicitud de proyecto se aprueba, se convierte en
un contrato y se almacena en este fichero, que además contiene los contratos de investigación que
los grupos realizan con empresas. La información de este fichero está formada por un código único
que se asigna a cada contrato y el nombre del grupo de investigación que lo está llevando a cabo.
Además, aparece el nombre de la empresa con qué se ha realizado el contrato o el nombre del
organismo que financia el proyecto, el título del trabajo a realizar, las fechas de inicio y finalización,
el importe del contrato y el tipo de IGV. De la empresa se guarda el DNI, su tipo, sector al que
pertenece, dirección, teléfono, población, código postal y la persona responsable. Por último,
aparece el nombre del departamento al que pertenece el grupo que realiza el trabajo y la unidad
de gestión a través de la cual se gestionará el dinero del contrato o proyecto (la universidad tiene
varias unidades de gestión y cada una de ellas lleva los asuntos económicos de varios
departamentos).

Problema 15: Agencia inmobiliaria


Se desea diseñar un diagrama de clases que almacene la información que una agencia inmobiliaria
maneja sobre los inmuebles que tiene a la venta o en alquiler. Esta información se encuentra
actualmente en fichas:
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

La agencia posee varias oficinas. Ya que la ficha de cada inmueble se encuentra en la oficina a la
que se ha dirigido el propietario para ponerlo en venta o alquiler, la forma de compartir esta
información actualmente es consultándola telefónicamente entre oficinas. A continuación, se
detallan los datos que se desea conocer sobre los inmuebles, que pueden ser pisos nuevos, pisos
de ocasión, villas, casas y locales.
De todos los tipos de inmueble se desea conocer la superficie en m2 y la dirección completa; si se
trata de una villa, hay que especificar además el tamaño de la parcela y la urbanización en la que
se encuentra. De pisos, villas y casas se quiere conocer cuántas estancias posee de cada tipo:
habitaciones, baños, aseos, cocinas, etc., y sus características específicas: si tiene gas ciudad, puerta
blindada, parquet, etc. De los locales sólo se quiere conocer sus características: número de puertas
de entrada, si es diáfano, si está acondicionado, etc. De pisos, casas y locales se desea conocer la
zona de la ciudad en la que se encuentran. Estas zonas son las mismas en las que se encuentra
dividido el mapa de la ciudad que se hay en cada oficina y que se utiliza para mostrar la localización
de los inmuebles.
Los inmuebles pueden ofrecerse sólo para venta, sólo para alquiler, o para venta o alquiler. En
cualquier caso, se desea conocer el precio, ya sea de venta o alquiler. Cada inmueble tiene un
número de referencia, e interesa el nombre y el teléfono del propietario. Si se posee llaves del
inmueble, se deberá reflejar en qué oficina se encuentran. Además, para cada inmueble se deben
anotar las visitas que se han realizado o se van a realizar, con los datos del cliente, fecha y hora de
la visita y un comentario sobre la impresión que ha manifestado el cliente al respecto.

Problema 16: Campos de refugiados


Una organización no gubernamental se encarga de enviar ayuda material (medicamentos y
alimentos) y ayuda humanitaria (personal sanitario) a campos de refugiados. Esta organización
obtiene sus ingresos de las cuotas de los socios, de los que se desea conocer los datos personales,
la cuenta bancaria en donde se realizan los cargos anuales, la fecha de pago y el tipo de cuota. En
la actualidad hay tres tipos de cuotas, pudiendo variar en el futuro: mínima (30 soles anuales),
media (60 soles anuales) o máxima (90 soles anuales).
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

Cada socio pertenece a una de las sedes de la organización, cada una de ellas ubicada en una ciudad
distinta. De las sedes se desea conocer el domicilio y el nombre de su director.
La organización cuenta con dos tipos de voluntarios: los que realizan labores humanitarias (personal
sanitario) y los que realizan labores administrativas (personal administrativo). De los primeros se
desea conocer su profesión (médico, ATS (Auxiliar de Transporte Sanitario), etc.), su disponibilidad
actual (sí/no) y el número de trabajos en los que ha participado. De todos los voluntarios se desea
conocer los datos personales y la sede en la que se inscribieron.
Cada envío tiene un destino y una fecha de salida. Para identificar los envíos, se les asigna un código
único. Además, cada envío es organizado por una o varias sedes. Los envíos de ayuda material
pueden ser de alimentos, debiéndose conocer el número de toneladas de cada alimento que se
manda; o pueden ser de medicamentos, debiéndose conocer el número de unidades de cada
medicamento. De los envíos de ayuda humanitaria se debe conocer el número de voluntarios que
se mandan de cada profesión (por ejemplo: 10 médicos, 20 ATS) y quienes son cada uno de ellos.

Problema 17: Matronas de la seguridad social


Las matronas de la seguridad social de una ciudad necesitan un sistema de información para
gestionar todo lo relativo a las clases de preparación al parto que se imparten. No todas las
matronas dan clases, y las que lo hacen, dan una clase de una hora a la semana y cada una lo hace
en un centro diferente. Todas las matronas conocen el horario de consulta de las demás (una
matrona puede tener un horario diferente en cada día de la semana) y su centro de atención. Este
centro no suele ser el mismo que el centro donde se dan las clases, ya que éste último debe tener
gimnasio y algún aula dotada de medios audiovisuales. Además, cada matrona tiene asignados
varios centros de salud, llevando los embarazos de las mujeres que pertenecen a dichos centros.
A las clases de preparación al parto se asiste a partir de la semana 30 del embarazo. Cada mujer
asiste a las clases del centro que le viene más cómodo, no siendo necesario realizar inscripción
alguna. Antes de cada clase, se debe firmar una hoja de asistencia en donde se anota el nombre de
la mujer, su edad, las semanas de gestación, el número de hijos que tiene, el número de clases a
las que ha asistido y el nombre de la matrona que le sigue el embarazo.
Además de los datos citados anteriormente, de las mujeres embarazadas se quiere conocer su
número de la seguridad social y su dirección.
En el esquema conceptual que se adjunta, el atributo compuesto gestación en la entidad
EMBARAZADA lleva la fecha en que ésta se da de alta y la semana de gestación en la que se
encuentra. De este modo se puede calcular la semana de gestación en cualquier momento
utilizando la fecha actual y estos dos atributos.
Ya que cada matrona-profesora sólo da una clase a la semana y en un centro diferente, como
identificador de la entidad CLASE se puede utilizar bien el nombre del centro o el nombre de la
matrona.
En el diagrama se puede representar que una embarazada puede asistir a clases de distintos
centros. Ya que se mantiene una relación de muchos a muchos entre EMBARAZADA y CLASE, que
tiene una ocurrencia por cada vez que se ha asistido a una clase (para eso se toma la fecha), no es
necesario tener un atributo que indique el número de clases a las que se ha asistido

Problema 18: Artículos y encargos


Un diagrama de clases para una pequeña empresa debe contener información acerca de clientes,
artículos y pedidos. Hasta el momento se registran los siguientes datos en documentos varios:
 Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo,
Límite de crédito (depende del cliente, pero en ningún caso debe superar los S/.3,000.00
soles), Descuento.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

 Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de
ese artículo en cada fábrica, Descripción del artículo.
 Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está
formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del
pedido son varias líneas, en cada línea se especifican el número del artículo pedido y la
cantidad.
 Además, se ha determinado que se debe almacenar la información de las fábricas. Sin
embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de
contacto. Y se desean ver cuántos artículos (en total) provee la fábrica. También, por
información estratégica, se podría incluir información de fábricas alternativas respecto de
las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye hora. Se pide
hacer el diagrama de clases que represente esta información.

Problema 19: Sistema de ventas


Le contratan para hacer un diagrama de clases que permita apoyar la gestión de un sistema de
ventas. La empresa necesita llevar un control de proveedores, clientes, productos y ventas.
Un proveedor tiene un RUC, nombre, dirección, teléfono y página web. Un cliente también tiene
RUC, nombre, dirección, pero puede tener varios teléfonos de contacto. La dirección se entiende
por calle, número, comuna y ciudad.
Un producto tiene un id único, nombre, precio actual, stock y nombre del proveedor. Además, se
organizan en categorías, y cada producto va sólo en una categoría. Una categoría tiene id, nombre
y descripción.
Por razones de contabilidad, se debe registrar la información de cada venta con un id, fecha, cliente,
descuento y monto final. Además, se debe guardar el precio al momento de la venta, la cantidad
vendida y el monto total por el producto.

Problema 20: Carreteras


Diseñar un diagrama de clases que recoja la organización estructural para contener la información
sobre todas las carreteras del país, sabiendo que se deben cumplir las siguientes especificaciones:
 Las carreteras están divididas en varias categorías (locales, comerciales, regionales,
nacionales, autovías, etc.).
 Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no
puede cambiar de carretera.
 Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la
comuna donde empieza el tramo y en donde termina.
 Para los tramos que suponen principio o final de carretera, interesa saber si es que la
carretera concluye físicamente o es que confluye en otra carretera. En este caso, interesa
conocer con qué carretera confluye y en qué kilómetro, tramo y comuna.

Problema 21: Sistema de vuelos


Obtener el diagrama de clases para un sistema de control de vuelos adaptado a las siguientes reglas
de gestión (indicar las entidades, interrelaciones, etc., que se deducen de cada una de las reglas):
a) De cada aeropuerto se conoce su código, nombre, ciudad y país.
b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avión
determina su capacidad, es decir, el número de plazas.
c) En cada aeropuerto existe una colección de programas de vuelo. En cada programa de vuelo se
indica el número de vuelo, línea aérea y días de la semana en que existe dicho vuelo. d) Cada
programa de vuelo despega de un aeropuerto y aterriza en otro.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

e) Los números de vuelo son únicos para todo el mundo.


f) En cada aeropuerto hay múltiples aterrizajes y despegues. Todos los aeropuertos contemplados
están en activo, es decir, tienen algún aterrizaje y algún despegue.
g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Para cada vuelo se quiere
conocer su fecha, plazas vacías y el modelo de avión utilizado.
h) Algunos programas de vuelo incorporan escalas técnicas intermedias entre los aeropuertos de
salida y de llegada. Se entiende por escala técnica a un aterrizaje y despegue consecutivos sin
altas ó bajas de pasajeros.
i) De cada vuelo se quieren conocer las escalas técnicas ordenadas asignándole a cada una un
número de orden.
Por ejemplo, el programa de vuelo 555 de Iberia con vuelos los lunes y jueves despega de Barajas
Lima-Perú y aterriza en Caudell-Sydney-Australia teniendo las siguientes escalas técnicas: 1- Los
Pradiños-Sao Paulo-Brasil, 2-El Emperador-Santiago-Chile y 3-Saint Kitts-Auckland-Nueva Zelanda.
¿Qué cambios se producirán en el caso anterior si en las escalas pudiesen bajar o subir pasajeros?
Explicar cómo se podría representar esta nueva situación.

Problema 22: Olimpíadas


Las sedes olímpicas se dividen en complejos deportivos. Los complejos deportivos se subdividen en
aquellos en los que se desarrolla un único deporte y en los polideportivos. Los complejos
polideportivos tienen áreas designadas para cada deporte con un indicador de localización
(ejemplo: centro, esquina NE, etc.). Un complejo tiene una localización, un jefe de organización
individual y un área total ocupada. Los dos tipos de complejos (deporte único y polideportivo)
tendrán diferentes tipos de información. Para cada tipo de sede, se conservará el número de
complejos junto con su presupuesto aproximado.
Cada complejo celebra una serie de eventos (ejemplo: la pista del estadio puede celebrar muchas
carreras distintas.). Para cada evento está prevista una fecha, duración, número de participantes,
número de comisarios. Una lista de todos los comisarios se conservará junto con la lista de los
eventos en los que esté involucrado cada comisario ya sea cumpliendo la tarea de juez u
observador. Tanto para cada evento como para el mantenimiento se necesitará cierto
equipamiento (ejemplo: arcos, pértigas, barras paralelas, etc.).

Problema 23: Educando S.A.


En la Empresa "Educando S.A." se lleva control de sus Bienes y Servicios. El interés primario es
poder hacer que los Bienes se manejen de forma rápida y con el menor grado de error. Para esto
quien maneja la sección de "Bienes y Suministros" plantea las siguientes condiciones del negocio
para la construcción de un diagrama de clases:
 La Sección está dividida en tres (3) áreas: COMPRAS, ALMACEN, INVENTARIO.
 El área de Compras funciona de la siguiente forma:
 Recibe las solicitudes de compras de las diferentes áreas de la empresa. o Cada
solicitud tiene un responsable.
 Cada solicitud es autorizada por el jefe del área y posteriormente por el Director
Financiero.
 Quien realiza una solicitud puede ser responsable de uno o varios centros de costos, con
la salvedad de que él como empleado solo está adscrito a uno.
 De la solicitud se debe diligenciar la siguiente información: Número de la solicitud
(consecutivo), Fecha, Responsable (nombre y cédula), Centro de Costos, Rubro
presupuestal del cual se descargará la compra. En cada solicitud se pueden discriminar
uno o muchos ítems con la siguiente información: ítem, nombre del bien, cantidad
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

solicitada, unidad de medida del bien, valor unitario y valor total. Cada solicitud debe ser
totalizada.
 Cada bien es identificado por un código universal que es único y es de carácter devolutivo
(suministro) o un bien inmueble.
 Una vez diligenciada la solicitud es remitida al área de compras para realizar su
correspondiente cotización.
 Las cotizaciones son realizadas con uno o varios proveedores de los bienes solicitados.
 Una vez la cotización definitiva está lista, se crea una orden contractual que maneja la
siguiente información: Número de la orden contractual, nit y nombre del proveedor al
cual se le va a realizar la compra, fecha de la orden, monto total de la orden, fecha de
entrega. Cada orden puede tener asociado uno o varios ítems de la solicitud o solicitudes
que van a ser despachadas. Cada ítem tiene la siguiente información: nombre del bien,
cantidad solicitada, cantidad despachada, unidad de medida del bien, valor unitario y
valor total.
 La orden de compra es aprobada por el Director Financiero para que sea enviada al
proveedor elegido.
 El área de Almacén funciona de la siguiente forma:
 Su función principal es recepcionar los bienes que llegan de los proveedores y
distribuirlos a las correspondientes áreas que realizaron las solicitudes de compras. o
Cuando llega un proveedor mercancía, este hace una entrega física de los bienes, los
cuales son comparados con la factura que este entrega y con la orden de compra
correspondiente. Si esta acción es correcta se registra una entrada de almacén por cada
factura relacionada, con la siguiente información: Número de Entrada, Fecha, Número de
factura, Proveedor, Total Bienes, Valor Total (los totales deben coincidir con los de la
factura). Adjunto a esta se discriminan los ítems recibidos con la siguiente información:
nombre del bien, cantidad entregada.
 Cuando el almacén decide despachar los bienes a las diferentes áreas solicitantes,
registra cada una de las entregas en Salidas de Almacén con la siguiente información:
Número de Salida, Empleado responsable del bien a entregar, fecha de salida, fecha de
entrega. Por cada entrega se detalla cada uno de los ítems con la siguiente información:
nombre del bien, cantidad entregada.
 Una entrada de almacén puede generar muchas salidas de almacén, por ejemplo: Pueden
ingresar 500 pacas de papel higiénico, pero como se debe repartir entre varias áreas,
cada una requiere de una salida de almacén.
 El área de inventarios funciona de la siguiente forma:
 Es la encargada de administrar y controlar la ubicación de los bienes dentro de la
empresa, por esto antes de que el bien salga del almacén debe ser codificado a través de
un código único que lo haga identificable dentro de la empresa.
 La ubicación del bien se identifica por la siguiente información: responsable del bien,
fecha de entrega, dirección del bien (ubicación). Diseñar el diagrama de clases.

Problema 24: Torneo de Tenis Grand Slam


El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el
torneo, así como las siguientes características de estos.
Descripción:
El Grand Slam se compone de cuatro torneos anuales que se celebran en Gran Bretaña, Estados
Unidos, Francia y Australia. En cada país se pueden desarrollar en distintos lugares (p. ej., en EE.
UU. puede desarrollarse en Forest Hill o en Flashing Meadows).
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

Cada partido tiene asociado un premio de consolación para el perdedor que dependerá de la fase
en que se encuentre el torneo (p. ej., el perdedor de octavos de final puede ganar 5.000 dólares).
El ganador de la final recibirá el premio correspondiente al torneo.
Cada torneo tiene cinco modalidades: Individual masculino, individual femenino, dobles masculino,
dobles femenino y dobles mixtos.
También hay que tener en cuenta la nacionalidad de un jugador, de forma que ´este puede ser
apátrida o tener varias nacionalidades.
Resultados a considerar:
El sistema debe dar respuesta a las siguientes preguntas:
1. Dado un año y un torneo, composición y resultado de los partidos.
2. Lista de árbitros que participaron en el torneo.
3. Ganancias percibidas en premios por un jugador a lo largo del torneo.
4. Lista de entrenadores que han entrenado a un jugador a lo largo del torneo y fechas en las que
lo hizo. Ejemplos de acceso a la base de datos.
1. Connors ganó Gerulaitis en Roland Garros en 1979 en cuartos de final en individuales masculinos
por 6-3 4-6/7-5 6-0.
2. El señor Wilkinson arbitró ese partido.
3. Alemania ha ganado dos veces las individuales masculinas de Wimbledon. Borg ha ganado
2.000.000 de dólares a lo largo de su participación en el Grand Slam.
4. El ganador de Roland Garros de 1987 ganó 20.000 dólares.
5. Noah ha jugado cuatro veces en dobles mixtos con Mandlikova.

Problema 25: Cine


Se desea crear un sitio web con información referente a las películas en cartel en las salas de un
dudoso cine cercano a la plaza de armas.
De cada película, se almacena una ficha con su título de distribución, su título original, su género,
el idioma original, si tiene subtítulos en español o no, los países de origen, el año de la producción,
la url del sitio web de la película, la duración (en horas y minutos), la calificación (Apta todo público,
+9 años, +15 años, +18 años), fecha de estreno en Lima, un resumen y un identificador de la
película. De cada película interesa conocer la lista de directores y el reparto, es decir para cada
actor que trabaja, el nombre de todos los personajes que interpreta.
Además, interesa disponer de información sobre los directores y actores que trabajan en cada
película. De ambos, se conoce su nombre (que lo identifica) y su nacionalidad. Además, se desea
conocer la cantidad de películas en las que dirigieron o actuaron. Tenga en cuenta que hay personas
que cumplen los dos roles.
Los cines pueden tener más de una sala y cada semana cada uno de los cines envía la cartelera para
dicha semana, indicando de detalle de las funciones. Para cada función se conoce el día de la
semana y la hora de comienzo, y obviamente la sala y la película que exhibe. De cada sala se sabe
el nombre, un número que la identifica dentro del cine y la cantidad de butacas que posee. De cada
cine se conoce el nombre que lo identifica, su dirección y teléfono para consultas.
Algunos cines cuentan con promociones. Estas promociones dependen de la función. (Ej. De lunes
a jueves antes de las 18 50% de descuento en la sala tal del cine tal para la película cual...La función
del lunes a las 14 para la película tal en la sala cual, no se cobra a los escolares con túnica...). De
cada promoción se conoce una descripción y el descuento que aplica.
Además del resumen de la película que se incluye en la ficha interesa mostrar la opinión de las
personas que vieron la película. De cada opinión se conoce el nombre de la persona que la realiza,
su edad, le fecha en que registró su opinión, la calificación que le dio a la película (Obra Maestra,
Muy Buena, Buena, Regular, Mala) y el comentario propiamente dicho. A cada opinión se le asigna
un número que la identifica respecto de la película sobre la cual opina.
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

Problema 26: Cadena de Farmacias


Se desea elaborar un diagrama de clases para una cadena de farmacias distribuida en diferentes
ciudades. Cada farmacia tiene sus empleados propios y un farmacéutico. Por cada ciudad existe un
único farmacéutico; esto es, si en una ciudad hubiera más de una farmacia, el mismo farmacéutico
estaría afectado a todas las farmacias de esa ciudad. Cada farmacia tiene a su vez su stock de
medicamentos. El mismo se mantiene por medicamento y presentación. Los medicamentos se
organizan según la o las monodrogas que lo componen, su presentación (por ejemplo, ampollas de
5 unidades, jarabe de 100ml, inyecciones por 10 unidades, pomada 60gr, etc.), el laboratorio que
lo comercializa, y su acción terapéutica (analgésico, antibiótico, etc.). Por cada medicamento se
mantiene su precio y la cantidad en existencia del mismo. El sistema deberá permitir consultar de
diferentes alternativas para medicamentos compuestos por una monodroga, medicamentos de un
laboratorio, presentaciones de un medicamento, entre otras.

Problema 27: Aerolínea


Una aerolínea desea implementar el seguimiento de los pasajeros, los pasajes y las valijas de los
mismos.
De cada pasajero se conoce el nombre y además está identificado por su documento del que se
tiene el número y el tipo (pasaporte, CI, DNI… etc.). De cada pasajero se registran uno o más
pasajes. De cada pasaje se conoce un identificador, la fecha y hora de la venta y el pasajero al que
corresponde. Si fue comprado en una oficina se conoce la identificación del funcionario que hizo la
venta y si fue comprado vía web, se conoce el tipo de tarifa (Flexible, fija, etc.). Cada pasaje está
formado por un conjunto de tramos que están identificados con números correlativos comenzando
de 1 (hay un tramo 1 del pasaje 5872 y un tramo 1 del pasaje 2785) y en cada tramo se conoce la
fecha (de salida) y el nro. de asiento asignado para el pasaje.
La aerolínea maneja vuelos. Cada vuelo se identifica con el número de vuelo. Un mismo vuelo
(8647) puede salir en diferentes fechas. Además, de cada vuelo se conoce el horario de salida, el
horario de llegada, el aeropuerto de origen y el aeropuerto de destino. De cada aeropuerto se
conoce su identificación (un código de tres letras), la ciudad y el país en que se encuentra.
Cada tramo de un pasaje es cubierto por un único vuelo. Observar que, en dos tramos consecutivos
del mismo pasaje, el aeropuerto de origen del segundo debe ser el mismo que el de destino del
primero.
Cuando un pasajero despacha una valija, la aerolínea le asigna un identificador relativo al pasaje
de ese pasajero. Las valijas de un pasajero no tienen por qué hacer el mismo recorrido que él, por
lo que interesa particularmente registrar en qué tramo viaja cada valija.

Problema 28: Departamento de Sanidad


Un alto cargo del departamento de sanidad de una Comunidad Autónoma pretende mejorar el
funcionamiento del sistema sanitario informatizando algunos aspectos de su gestión,
especialmente en lo que se refiere a la atención al paciente, y propone diseñar un diagrama de
clases con la información más relevante. En una primera aproximación, indica que la red sanitaria
consta de varios hospitales, cada uno de los cuales integra uno o varios servicios (“traumatología”,
“medicina interna”, “urología”, etc.), en los que son atendidos los pacientes. Puesto que no todos
los hospitales disponen de los mismos servicios, en la ficha de cada hospital figura la lista de
servicios disponibles y, para cada uno de ellos, el número de camas que tiene (si procede, pues no
todos los servicios hospitalarios disponen de camas). Otros datos que figuran en la ficha de cada
hospital son su código identificativo (codHospital), el nombre, la ciudad en que está ubicado, el
teléfono, y el nombre del director (uno de los médicos adscritos a dicho hospital). En la ficha de
cada médico figuran sus datos personales (DNI, apellidos-nombre y fecha de nacimiento), el
hospital al que está adscrito, y la lista de servicios hospitalarios en los que trabaja (puede
desarrollar su actividad en varios servicios, del mismo o de diferentes hospitales). También se
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

indica si el médico ocupa la dirección del hospital al que está adscrito. Todo ciudadano que ha
utilizado alguna vez los servicios sanitarios tiene asociado un documento o “Historia Clínica”,
identificado por un número único (codHist) dentro de la red sanitaria. En cada historia clínica
figuran los datos personales del paciente (DNI, apellidos-nombre, fecha de nacimiento, número de
Seguridad Social y otros datos opcionales), junto con la lista de todas las visitas médicas realizadas.
En cada una de estas visitas consta la fecha y hora, el hospital y servicio en que ha sido atendido,
el médico, y una breve descripción del diagnóstico y tratamiento realizados. Si el paciente es
ingresado, se hace constar, además, el nº de habitación y la fecha en que abandona el hospital. El
interés de esta información no es sólo estadístico, sino que debe permitir conocer en todo
momento el nº de camas libres de cada servicio de un hospital. Para simplificar la identificación de
los diferentes servicios, se ha decidido utilizar acrónimos de los nombres (idServicio), si bien
también se desea tener almacenado su nombre completo, y un comentario opcional. Hay que tener
en cuenta que un mismo servicio se puede ofrecer en hospitales distintos.
A partir de esta información, se pide diseñar un diagrama de clases para representar dicha
información del modo más completo y preciso posible.

Problema 29: Empresa de transporte


La empresa de transporte TURYBUS pretende iniciar una agresiva campaña de viajes turísticos
aprovechando el periodo estival. Para ello selecciona las rutas turísticas que considera más
atractivas, y decide ofertar durante todo el periodo de la campaña un servicio diario regular por
dichas rutas. Es decir, cada uno de estos servicios diarios realiza el recorrido de una ruta con el
mismo horario todos los días en que está programado (algunos sólo funcionan en días festivos).
Evidentemente, algunas rutas con mayor demanda tienen varios servicios diarios. En los folletos
editados figura la lista de servicios diarios ofertados (hora y ruta), junto con la descripción de los
días en que están programados. Cada pasajero que contrata un viaje recibe un billete en el que
figuran el nombre de la ruta, la fecha y hora de salida, el importe (fijo para cada ruta), y la hora de
llegada prevista. También recibe un listado que describe, por orden cronológico, los lugares más
relevantes del recorrido. La descripción consiste en el nombre del lugar, la hora prevista de llegada
(el tiempo entre dos lugares concretos es fijo para cada ruta) y además, en algunos casos, la
actividad a realizar (comida, visita, etc.) y el tiempo de parada previsto. En el momento de la
compra, y únicamente para efectos promocionales (sorteos, etc.), el viajero debe comunicar su
DNI, apellidos-nombre y teléfono al empleado de la empresa. Para cada uno de los viajes, la
empresa asigna un autobús y un conductor concreto. Con objeto de simplificar la gestión, esta
asignación se realiza para cada uno de los servicios diarios. Es decir, cada conductor realiza todos
los días los mismos recorridos y, en cada uno de ellos, conduce el mismo autobús (depende sólo
de la ruta y la hora). De cada autobús, identificado por su matrícula, se tiene información del
modelo, fabricante, número de plazas y un texto con sus características básicas. De los
conductores, su DNI, apellidos-nombre, teléfono, y dirección. La normativa de seguridad exige
guardar la información de las revisiones efectuadas a cada vehículo: fecha de revisión, diagnóstico
(un simple comentario) y, si procede, la lista de reparaciones efectuadas en dicha revisión (código
del tipo de reparación, tiempo empleado y, a veces, un pequeño comentario). Con el fin de mejorar
la calidad del servicio, la compañía desea poder conocer en cada momento la media de viajeros de
cada ruta y de cada servicio diario, así como los km. diarios realizados por cada autobús y cada
conductor. Además, para premiar a los mejores usuarios, también desea conocer el total de horas
de viaje realizados por cada usuario. A partir de esta información, se pide diseñar un diagrama de
clases que represente la información del enunciado.

Problema 30:
Un alto cargo del departamento de sanidad de una Comunidad Autónoma pretende mejorar el
funcionamiento del sistema sanitario informatizando algunos aspectos de su gestión,
UNT Curso: Ingeniería de Software de Gestión
Ciclo: VII
Escuela de Ingeniería Docente: Ing. Juan Pedro Santos Fernández, Mg.
de Sistemas

especialmente en lo que se refiere a la atención al paciente, y propone diseñar una Base de Datos
con la información más relevante. En una primera aproximación, indica que la red sanitaria consta
de varios hospitales, cada uno de los cuales integra uno o varios servicios (“traumatología”,
“medicina interna”, “urología”, etc.), en los que son atendidos los pacientes. Puesto que no todos
los hospitales disponen de los mismos servicios, en la ficha de cada hospital figura la lista de
servicios disponibles y, para cada uno de ellos, el número de camas que tiene (si procede, pues no
todos los servicios hospitalarios disponen de camas). Otros datos que figuran en la ficha de cada
hospital son su código identificativo (codHospital), el nombre, la ciudad en que está ubicado, el
teléfono, y el nombre del director (uno de los médicos adscritos a dicho hospital). En la ficha de
cada médico figuran sus datos personales (DNI, apellidos-nombre y fecha de nacimiento), el
hospital al que está adscrito, y la lista de servicios hospitalarios en los que trabaja (puede
desarrollar su actividad en varios servicios, del mismo o de diferentes hospitales). También se
indica si el médico ocupa la dirección del hospital al que está adscrito. Todo ciudadano que ha
utilizado alguna vez los servicios sanitarios tiene asociado un documento o “Historia Clínica”,
identificado por un número único (codHist) dentro de la red sanitaria. En cada historia clínica
figuran los datos personales del paciente (DNI, apellidos-nombre, fecha de nacimiento, número de
Seguridad Social y otros datos opcionales), junto con la lista de todas las visitas médicas realizadas.
En cada una de estas visitas consta la fecha y hora, el hospital y servicio en que ha sido atendido,
el médico, y una breve descripción del diagnóstico y tratamiento realizados. Si el paciente es
ingresado, se hace constar, además, el nº de habitación y la fecha en que abandona el hospital. El
interés de esta información no es sólo estadístico, sino que debe permitir conocer en todo
momento el nº de camas libres de cada servicio de un hospital. Para simplificar la identificación de
los diferentes servicios, se ha decidido utilizar acrónimos de los nombres (idServicio), si bien
también se desea tener almacenado su nombre completo, y un comentario opcional. Hay que tener
en cuenta que un mismo servicio se puede ofrecer en hospitales distintos.
A partir de esta información, se pide diseñar un diagrama de clases para representar dicha
información del modo más completo y preciso posible.

You might also like