Ejercicios de Ingeniería del Software1 Diagramas de casos de uso, clases y/o estados 1.1 Ejercicio: Venta de coches Realizar el diagrama de clases correspondiente al siguiente sistema. Se trata de una empresa de venta de coches de segunda mano con las siguientes características: Los coches los suministran distintos proveedores, nos interesa conocer la marca, modelo, matrícula, precio de compra, de venta. Los coches pueden ser turismos, industriales y todoterrenos. Además pueden necesitar ser reparados, por lo que se debe tener un control de las reparaciones hechas, que pueden ser mecánicas, eléctricas o de chapa. En la empresa habrá dos tipos de vendedores: asalariados y por comisión. De los asalariados nos interesa saber también el salario y de los que van con comisión los coches que se han venido. Además se tendrá un control de los clientes tanto de los que han comprado un coche, como de los interesados en algún tipo de coche que podrán hacer reserva. Los coches pueden estar en distintas exposiciones, y debemos saber en todo momento dónde se encuentra cada coche. Se necesitan operaciones para realizar una venta de un coche, para reparar los coches que los necesiten, para comprar nuevos coches a los proveedores, etc. También interesa tener operaciones que nos devuelvan qué cliente compró un cierto coche, que se realicen listados de los coches que se encuentran en stock en un momento dado. 1.2 Ejercicio 2: Matrícula universitaria Obtener el modelo conceptual de un sistema que gestiona las matriculas de los estudiantes en una universidad. Una persona viene caracterizada por su DNI, nombre, dirección y estado civil, y ésta puede convertirse en estudiante al darse de alta como tal en la universidad. Como estudiante podrá matricularse de las asignaturas que se imparten en la universidad, que tendrán un código, un nombre, un profesor responsable y un curso asignado. Una vez matriculado, el estudiante podrá recibir una beca y en su nueva condición de becario tendrá asignado un nuevo código y se conocerá el importe de la misma; al finalizar el curso, la condición de becario se acabará. Una vez el estudiante se matricula, tanto si recibe beca como si no, deberá examinarse de las asignaturas en las que se encuentra matriculado hasta que finalice el curso y vuelva a matricularse de nuevo o bien deje la universidad y con ello deje de ser estudiante. Además, convendrá tener una serie de aplicaciones tales como dar de alta a nuevas personas y asignaturas, llevar a cabo la matriculación de estudiantes en asignaturas, registrar las notas obtenidas por los estudiantes al examinarse de cualquier asignatura en la que están matriculados y una serie de listados tales como los alumnos matriculados en una asignatura, las asignaturas en las que se ha matriculado un alumno y el listado de notas por asignaturas (actas). la fecha de entrada y el número de días que estará ocupada la habitación. el primer apellido del cabeza de familia. especificando su número de identificación. cada mascota tiene un código. Una reserva viene determinada por los datos del cliente. el nombre de cliente y su número de identificación. una dirección. Asimismo. los datos de la habitación. un alias. un teléfono y los nombres y DNI de las personas correspondientes.3 Clínica veterinaria Un veterinario tiene como pacientes animales y como clientes familias. El recepcionista del hotel debe poder hacer las siguientes operaciones: Obtener un listado de las habitaciones disponibles de acuerdo a su tipo Preguntar por el precio de una habitación de acuerdo a su tipo Preguntar por el descuento ofrecido a los clientes habituales Preguntar por el precio total para un cliente dado. un número de cuenta bancaria. Además. se guardará un historial médico con cada enfermedad que tuvo y la fecha en la que enfermó. Adicionalmente cada mascota tiene un calendario de vacunación. color de pelo. 1. una raza. Los clientes pueden tener varis mascotas. fecha de nacimiento aproximada. doble y matrimonial. la enfermedad de la que se vacuna. una persona puede estar dada de alta en varios clientes (p.4 Hotel El dueño de un hotel le pide a usted desarrollar un programa para consultar sobre las habitaciones disponibles y reservar habitaciones de su hotel. Un cliente es un conjunto de personas que suele corresponderse con una familia. pero también está dado de alta en el cliente asociado con el perro de sus padres). en el que se registrará la fecha de cada vacuna. peso medio del animal en las últimas 10 visitas y el peso actual del animal. el tipo de habitación y el número de noches. 1. Eliminar una reserva especificando el número de la habitación Por otro lado. el administrador podrá usar el programa realizado para: Cambiar el precio de una habitación de acuerdo a su tipo Cambiar el valor del descuento ofrecido a los clientes habituales Calcular las ganancias que tendrán en un mes especificado (considérese que todos los meses tienen treinta días) 2 . No existe límite en el número de personas asociadas a una entidad cliente.: un hombre que vive con su esposa tiene un gato y como tal pertenece a un cliente. El hotel posee tres tipos de habitaciones: simple. y dos tipos de clientes: habituales y esporádicos. Dibujar en pantalla la foto de una habitación de acuerdo a su tipo Reservar una habitación especificando el número de habitación. una especia. Cada cliente tiene un código.Ejercicios de Ingeniería del Software Además del diagrama de clases se pide identificar el diagrama de estados por los que puede pasar un estudiante en función del diagrama de clases creado.e. Cuando un cliente solicita un título. Además del diagrama de clases. con control de fecha. la fecha de finalización y la nota del alumno. lugar y un histórico de los matrimonios resultados de los emparejamientos realizados. de forma que cuando el cliente devuelva el ejemplar se podrá comprobar si se le tiene que imponer una sanción. clientes y a su vez permitir agregar nuevas consultas. quiere informatizar su gestión de manera que se tenga una base de datos de personas que quieren encontrar pareja. Identifíquese el diagrama de estados correspondiente a los objetos de la clase cliente. Cada cliente puede solicitar una relación de los CDs que ha alquilado previamente. 3 . se comprueba si hay ejemplares libres y si no hay problemas por ejemplares no devueltos se realiza el alquiler. Realizar un diagrama de clases que represente los objetos del dominio del problema y sus relaciones. Los cursos los imparte un único profesor. Previamente a la realización del diagrama de clases.5 Profesores Modélese el siguiente supuesto relacionado con la impartición de cursos. Un alumno asiste a cursos. El diseño a desarrollar debe facilitar la extensibilidad de nuevos tipos de habitaciones. Discútase las diferentes formas posibles de modelado y coméntese cada una de ellas. pero puede asistir a más de un curso.8 Alquiler de CD-ROMs Sea una empresa dedicada al alquiler de CD-ROMs de audio. 1. 1. Para que un curso se imparta debe haber un mínimo de 10 alumnos y un máximo de 50. Identifíquese el diagrama de estados correspondiente a los objetos de la clase curso.7 Teatro Modelar la relación que existe entre una entrada de teatro y la obra que se representa en esa misma instalación. El profesor puede impartir diferentes cursos y repetir un mismo curso en varias ocasiones. aunque también existen listados en papel de todos los títulos que se podrían alquilar.Curso 2007/08 El hotel posee información sobre los clientes que son habituales. 1. cuya clave sea el número de identificación y como significado tenga los datos personales del cliente. con sus datos personales y sus preferencias. Se lleva un histórico con las citas concertadas entre los clientes. se pide la elaboración del diagrama de casos de uso correspondiente al sistema descrito suponiendo que un cliente puede realizar la reserva de su habitación a través del programa solicitado.6 Agencia matrimonial Una agencia matrimonial que se dedica a establecer citas entre personas de diferente sexo. 1. Dicha empresa tiene un local de atención al público donde están expuestas las carátulas de los CDs más demandados y las últimas novedades. supónganse dos actores: cliente y encargado. Como registro del curso se guarda la fecha de comienzo. Esta estructura puede manejarla con un diccionario. quedando constancia de la fecha de alquiler y la fecha máxima de entrega. identifíquese y propóngase el diagrama de casos de uso asociado con el sistema planteado. El alumno no puede repetir el mismo curso.