Você está na página 1de 5

1.

Tema 3: Introduccin a clases y objetos o


NOTA IMPORTANTE: En los diseos que aparecen en este tema no se han den

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.

Modelizacin de problemas - agencia de viajes o

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():

Figura 1: Diagrama de clases - agencia de viajes

Ejercicios resueltos Laboratorio DEI Anlisis y Diseno de Algoritmos a

1.2.

Modelizacin de problemas - piezas de recambio o

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():

Figura 2: Diagrama de clases - piezas de recambio

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

Ejercicios resueltos Laboratorio DEI Anlisis y Diseno de Algoritmos a

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.

Modelizacin de problemas - guarder o a

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.

Modelizacin de problemas - cine o

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():

Figura 3: Diagrama de clases - guarder a

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.

Ejercicios resueltos Laboratorio DEI Anlisis y Diseno de Algoritmos a

Solucin o La gura 4 muestra un posible diseo. n


Cine
salas Crear(): elegirSala(): anadirSala(): Eliminar():

Sala
asientos pelicula Crear(): asignarPelicula(): visualizar(): seleccionarAsiento(): Eliminar():

Asiento
numeroFila numeroAsiento estado esPreferente precio Crear(): asignarPrecio(): consultarPrecio(): cambiarEstado(): consultarEstado(): Eliminar():

Figura 4: Diagrama de clases - reserva de entradas de cine

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.

Modelizacin de problemas - mascotas o

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():

Figura 5: Diagrama de clases - mascotas

Ejercicios resueltos Laboratorio DEI Anlisis y Diseno de Algoritmos a

Você também pode gostar