Escolar Documentos
Profissional Documentos
Cultura Documentos
tallado los parmetros que reciben los mtodos ni sus valores de retorno debido a que a e esta informacin todav no se ha visto en clase de teor Se aconseja volver sobre eso a a. tos problemas una vez abordado el tema del paso de parmetros y completar los diseos a n propuestos.
1.1.
Una agencia de viajes necesita una aplicacin para la gestin de sus viajes. Los viajes o o se identican por un cdigo. o Para cada viaje se quiere poder informar el destino, la fecha de salida, la fecha de regreso, el precio y el guia del viaje (nico para cada viaje). u La agencia dispone de un nmero de guias que asigna dependiendo de su disponiu bilidad. La informacin que se tiene de ellos es su nombre y apellidos, dni, telfono y o e especialidad. Para un guia determinado la agencia quiere poder consultar su telfono y su e especialidad. La agencia tambin quiere tener una relacin de clientes de cada viaje. De cada cliente e o tiene el nombre, apellidos, DNI, telfono y viaje que ha contratado. Los datos que quiere e obtener para cada cliente son su nmero de telfono y el viaje en el que est apuntado. u e a Solucin o
Viaje
codigo destino fecha salida fecha regreso precio guia Crear(): asignarGuia(): Eliminar():
Guia
nombre apellidos DNI telefono especialidad Crear(): consultarTelefono(): consultarEspecialidad(): Eliminar():
Cliente
nombre apellidos DNI telefono viaje Crear(): consultarTelefono(): consultarViaje(): Eliminar():
1.2.
Una empresa de recambios de piezas de coches necesita una aplicacin para gestionar o sus ventas. Esta empresa compra las piezas a distintos proveedores para despus venderlas e a los talleres. Cada pieza de recambio tiene un cdigo que la identica y un unico proveedor que o puede proporcionarla. Tambin tiene un precio de compra al proveedor y un precio de e venta a los talleres. Las operaciones que se quieren hacer sobre la pieza son modicar los dos precios, comprarla y venderla. Los proveedores con los que trabaja la empresa tienen datos de contacto como telfono, e direccin, nombre del proveedor y CIF. La empresa quiere poder dar de alta nuevos o proveedores y obtener sus datos de contacto. Adems, la empresa quiere mantener la a informacin de los talleres con los que trabaja: su nombre, CIF, telfono y direccin. o e o Quiere poder acceder a todos estos datos. Solucin o
Pieza
codigo proveedor precioCompraAlProveedor precioVentaAlTaller Crear(): modificarPrecioCompra(): modificarPrecioVenta(): comprar(): vender(): Eliminar():
Empresa
piezas proveedores talleres Crear(): comprarPieza(): venderPieza(): anyadirProveedor(): anyadirTaller(): obtenerDatosProveedor(): obtenerDatosTaller(): Eliminar():
Proveedor
nombre CIF telefono direccion Crear(): consultarNombre(): consultarCIF(): consultarTelefono(): consultarDireccion(): Eliminar():
Taller
nombre CIF telefono direccion Crear(): obtenerCIF(): obtenerNombre(): obtenerDireccion(): obtenerTelefono(): Eliminar():
Cuestiones abiertas: Existe alguna relacin entre Pieza y Proveedor? Qu problemas plantea la soluo e cin ofrecida en cuanto a la obtencin de todas las piezas que ofrece un determinado o o proveedor? Cuales ser las soluciones posibles? an
Existe alguna relacin entre Pieza y Taller? De ser as se trata de una asociacin? o o Nota: Ntese que se han incluido en el diseo tanto las caracter o n sticas como las operaciones que aparecen en el enunciado ms alguna de las que se deducen de stas. Sin a e embargo, la implementacin del problema planteado supondr la aparicin de otras opeo a o raciones, como la consulta del precio de compra de una pieza, para hacer posible el correcto funcionamiento de la aplicacin nal. o
1.3.
Una guarder mantiene un varios grupos de alumnos. Cada alumno tiene nombre y a apellidos, fecha de nacimiento, hora de entrada y salida de la guarder y el grupo al a que pertenecen. Tambin se informa del nombre, apellidos, DNI, direccin y telfono del e o e padre y de la madre. Las operaciones que se quieren hacer sobre cada alumno es obtener el grupo en el que estn, las horas de entrada y salida y el telfono de su padre y/o madre. a e Cada alumno est incluido en un grupo. Estos grupos se forman dependiendo de la a edad del nio y de las horas que est en la guarder Cada grupo tiene dos profesores. De n a a. cada grupo se quiere obtener una lista de los nios que lo forman y tambin qu profesores n e e hay. Tambin se mantiene la informacin de todos los profesores: nombre, apellidos, DNI, e o direccin y telfono. o e Las operaciones que se hacen sobre los padres y los profesores son las mismas: obtener sus datos personales. Solucin o La gura 3 muestra uno de los posibles diseos que sirven como una primera solucin n o al problema propuesto. Cuestiones abiertas: Qu papel juega la relacin entre Persona y Alumno? e o Y cual la relacin entre Persona y Grupo? o
1.4.
Un cine necesita una aplicacin para la reserva de asientos en sus salas. Se trate de o un multicine que tiene 5 salas, pero se prevee que este nmero pueda crecer a lo largo del u Ejercicios resueltos Laboratorio DEI Anlisis y Diseno de Algoritmos a 3
Alumno
nombre fechaNacimiento horaEntrada horaSalida padre madre grupo Crear(): obtenerGrupo(): obtenerHoraEntrada(): obtenerHoraSalida(): obtenerTelefonos(): Eliminar():
Guarderia
grupos Crear(): buscarAlumno(): buscarProfesor(): localizarPadres(): Eliminar():
Grupo
nombre profesor1 profesor2 alumnos Crear(): listarAlumnos(): obtenerProfesores(): Eliminar():
Persona
nombre apellidos DNI telefono direccion Crear(): obtenerNombre(): obtenerApellidos(): obtenerDNI(): obtenerTelefono(): obtenerDireccion(): Eliminar():
tiempo. Cada sala tiene un nmero de asientos que se localizan por la y dentro de sta, u e por nmero de asiento. u Cuando se quiere reservar un asiento se consulta el estado que tiene en ese momento. Los posibles estados son: libre, reservado o pre-reservado. En el caso de que est libre se e puede hacer una reserva o pre-reserva. En el caso de que est en pre-reserva o reservado e ya no se pueden hacer operaciones sobre ese asiento. El estado de pre-reserva es un estado intermedio desde que se selecciona un asiento hasta que se conrma la reserva, momento en el que pasa a estar reservado. Otras operaciones que se pueden hacer en la aplicacin son: o Visualizar la sala al completo. Una vez se haya visualizado la posicin de los asientos o en la sala se podr seleccionar uno para hacer sobre l las operaciones de reserva y a e eliminacin/conrmacin de reserva. o o Asignar la pel cula que se proyecta en una determinada sala. El precio es igual para todas las salas, pero se distingue entre dos tipos de asientos: preferentes y no preferentes. La empresa tambin quiere poder cambiar el precio de ambos e tipos de asientos.
Sala
asientos pelicula Crear(): asignarPelicula(): visualizar(): seleccionarAsiento(): Eliminar():
Asiento
numeroFila numeroAsiento estado esPreferente precio Crear(): asignarPrecio(): consultarPrecio(): cambiarEstado(): consultarEstado(): Eliminar():
Cuestiones abiertas: Qu servicios no incluidos en el diseo deber ofrecer el cine? e n a Dnde se plasmar las restricciones acerca de los cambio de estado del asiento? o an
1.5.
Una tienda de mascotas quiere implementar una aplicacin para gestionar el inventario o de todos los animales que tiene. En la tienda hay animales de distintas especies: perros, gatos, conejos, etc. Se quiere poder aadir animales al inventario de la tienda, y tambin eliminarlos. Tambin se quiere n e e obtener una lista con todos los animales de la tienda. Cada animal tiene un nombre y un cdigo para identicarlo, adems de su especie, raza y edad. o a Solucin o
Animal
nombre codigo especie raza edad Crear(): consultarNombre(): consultarRaza(): consultarEdad(): consultarCodigo(): Eliminar():
Inventario
animales Crear(): listar(): anadir(): eliminar(): Eliminar():