Está en la página 1de 8

Programación I - UTN-FRC

Ing. Alexis Massón

Ejercicios RESUELTOS

EJERCICIOS PRÁCTICOS: SOLUCIÓN DIAGRAMAS DE CLASES

DOCENTE: ING. ALEXIS MASSÓN
amasson@tecnicatura.frc.utn.edu.ar

Página 1

........................................................................................................................... 5 Estación de servicio ...................................................................................... 7 Página 2 .........................................................................UTN-FRC Ing........... 2 Contenidos ........................................................................................................Programación I ...................................................... CONTENIDOS Introducción ................................................ 4 Club de fútbol ............................................................................................................................ Alexis Massón Ejercicios RESUELTOS INTRODUCCIÓN El presente documento reúne varios ejercicios de análisis y modelo de diagramas de clases bajo el paradigma de programación orientada a objetos....................................................................... 3 Ejercicios prácticos de modelado de objetos/diagramas de clases ..................................................................................................... 4 Agencia de turismo .............................................................................................. 2 Consigna para la guía práctica................................................... 6 Academia de danzas ....................................................

4. 2. Establecer relaciones entre entidades de dominio.UTN-FRC Ing. Página 3 . Validar el modelo construido para garantizar que responde a los requisitos del problema. Identificar y listar todas las entidades de dominio. Definir atributos y métodos de cada entidad de dominio. Alexis Massón Ejercicios RESUELTOS CONSIGNA PARA LA GUÍA PRÁCTICA En conclusión. Prestar especial atención a no confundir entidades de dominio con atributos de entidades de dominio. el modelo de la solución a los problemas propuestos y la construcción de diagramas de clases se realizará cumpliendo los siguientes puntos: 1.Programación I . 3.

Dependiendo de la suscripción adquirida tendrá acceso a solo ciertas actividades para el caso de la suscripción básica. Listado de socios clasificados por suscripción adquirida  class Club de futbol Club + + + GetActividadesBySuscripcion(Suscripcion) : List<Actividad> GetNuevosSociosInscriptos(int. El sistema debe facilitar los siguientes reportes:   Reporte mensual de nuevos socios inscriptos Listado de actividades clasificadas por suscripción (actividades accesibles con la suscripción básica.. El sistema pretende llevar un registro de socios del club. A principio de mes cada socio debe abonar una cuota cuyo valor depende de la suscripción que haya elegido: básica.* Suscripcion Cuota Actividades: List<Actividad> PrecioMensual: float 1 Inscripcion Cuotas: L ist<Cuot a> Fecha: DateTime Socio: Socio Suscripcion: Suscripcion 0.. se añaden algunas más para la suscripción intermedia.. generándole una credencial con la cual deberá presentarse cuando quiera ingresar a las distintas instalaciones del complejo. y en el caso de la destacada tiene libre acceso a cualquier actividad que quiera realizar. dirección y e-mail de cada socio. Alexis Massón Ejercicios RESUELTOS EJERCICIOS RESUELTOS DE DIAGRAMA DE CLASES Y MODELADO DE OBJETOS CLUB DE FÚTBOL Un club deportivo de la ciudad de San Carlos de Bariloche nos contrata para realizar un sistema de información para la gestión de su institución.* - Soci o Apellido: string Direccion: string Email: string Nombre: string NumeroSocio: int Telefono: string 1 Activ idad 0. actividades accesibles con la suscripción intermedia y aquellas que solo puede accederse con la suscripción destacada). Al momento de la inscripción. el personal a cargo solicita los datos personales y de contacto.* Nombre: string 1 0. int) : List<Socio> GetSociosBySuscripcion(Suscripcion) : List<Socio> 0. intermedia y destacada.Programación I ..* Fecha: DateTime Importe: float Observaciones: string Página 4 .UTN-FRC Ing.

* Venta Cliente: Cliente Fecha: DateTime Importe: float Paquete: PaqueteTuristico - Hospedaj e Categoria: string Costo: f loat Nombre: string Proveedor: Prov eedor 1 Destino 1 0. hosterías.y guías de turismo que ofrecen distintas excursiones).. class Agencia de turismo AgenciaTurismo + + Clientes: List<Cliente> PaquetesTuristicos: List<PaqueteTuristico> Proveedores: L ist<Proveedor> Ventas: List<Vent a> GetDestinoFavorito() : void GetVentasByDestino(Destino) : List<Vent a> TipoProv eedor 1 Nombre: string Cliente Apellido: string Direccion: string 0.* 1 - Prov eedor CUIT: string Direccion: string RazonSocial: string Telefono: string Tipo: TipoProveedor 1 1 0..* 1 Nombre: string Pais: string Proveedor: Prov eedor MedioTransporte 1 MedioTransporte: MedioTransporte Nombre: string Proveedor: Prov eedor PaqueteTuristico Destino: Dest ino Hospedaje: Hospedaje Página 5 . organizadas por destino.. Continuamente se comunica con los mismos y de acuerdo a las distintas ofertas disponibles diseña y arma paquetes de turismo. hospedajes o excursiones).UTN-FRC Ing. También quiere conocer cuál es el destino favorito por sus clientes. búngalos (hospedajes). cadenas de hoteles. El sistema debe permitir llevar un registro de los distintos proveedores y su clasificación (medios de transporte. 1 (un) medio de transporte. los paquetes de turismo y cómo están compuestos. marítimas y terrestres (medios de transporte). A fin de mes el administrador de SunBeach necesita un informe que contenga un listado de todas las ventas realizadas.Programación I .. Alexis Massón Ejercicios RESUELTOS AGENCIA DE TURISMO La agencia SunBeach decide contratar un equipo de profesionales en sistemas para encarar una solución a sus problemas de gestión a través del desarrollo de un software a medida. 1 (un) hospedaje y varias (1 o más) excursiones. Cada paquete de turismo está compuesto por 1 (un) destino. Los clientes que se acercan a la agencia pueden elegir entre los distintos paquetes de turismo vigentes. los clientes de la agencia y las compras que realiza cada cliente.* Email: string Nombre: string Telefono: string 1 0. SunBeach tiene proveedores en todo el mundo (compañías aéreas. los cuales abonan en efectivo.

. Combustible) : List<Venta> 0.. Alexis Massón Ejercicios RESUELTOS ESTACIÓN DE SERVICIO Una estación de servicio ubicada en la ruta nacional N°9 está diseñando un sistema de información para llevar un control de sus ventas. el playero que más vendió y el cliente que más compró. el surtidor que más combustible expendió. cada uno expende un determinado combustible (nafta.Programación I .. int.* 1 Patente: string 1 Combustibl e Nombre: string PrecioVenta: float Página 6 .. gasoil o kerosene). el tipo de combustible. La estación cuenta con varios expendedores de combustible. int) : Empleado GetSurtidorMasVendio(int.. class Estación de serv i..* Ex pendedor Codigo: int 1 Combustible: Combustible Venta Cliente: Cliente Expendedor: Ex pendedor Fecha: DateTime ImporteTotal: float Playero: Empleado 0. int) : Expendedor GetVentasPorTipoCombustible(int. EstacionServ icio + + + + Clientes: List<Cliente> Empleados: List<Empleado> Expendedores: L ist<Expendedor> Ventas: List<Vent a> GetClienteMasCompro(int. habiendo en todo momento personal al servicio de los clientes ya que se trabaja 24hs. Los playeros cumplen turnos de 8hs. Al momento de cobrar el playero se dirige a alguna de las PCs disponibles dentro de la playa y registra el número de patente. int) : Cliente GetPlayeroMasVendio(int. Cuando un cliente se presenta para cargar combustible se estaciona frente a algún expendedor.* 0.* - Empleado Apellido: string Direccion: string DNI: string Nombre: string Telefono: string 1 Cliente 0. el total de la venta y quién es el vendedor o playero afectado. un playero lo atiende y se realiza la venta. A fin de mes se desea poder generar algunos reportes: un gráfico de la proporción de ventas efectuadas para cada tipo de combustible.UTN-FRC Ing.

La academia dicta distintas disciplinas. Tango. disciplina. En cada clase. Salsa. La academia necesita contar con un reporte que indique cuál es la disciplina que le reditúa mayor ingreso a fin de planificar más diagramaciones de dicha disciplina. de las cuales pueden existir una o más diagramaciones o comisiones. siendo de un nivel inicial o para principiantes.UTN-FRC Ing. nivel (inicial. Árabe. Contemporáneo. Las clases o diagramaciones tienen lugar en alguno de los distintos salones que tiene la academia. Stretching. Alexis Massón Ejercicios RESUELTOS ACADEMIA DE DANZAS Una famosa academia de Capital Federal decide contratar a una consultora informática para desarrollar un sistema de información que le permita llevar un control de su gestión administrativa. AYUDA: Este enunciado es un poco más complejo que los anteriores. A su vez. horario.Programación I . nivel. los alumnos deben presentar su credencial en la secretaría. disciplina (ej. salón. los cuales se inscriben a distintas clases o diagramaciones. Por ejemplo. etc) y un profesor encargado de dictar la clase. donde la secretaria procede registrar su asistencia. Cuando una persona se presenta por primera vez la secretaria toma sus datos personales y de contacto y lo inscribe a una determina diagramación y le entrega una credencial personal que deberá traer al momento de asistir a clases. y el nivel es intermedio. Bachata. alumno. Página 7 . Por tanto. existe otra diagramación para la disciplina "Tango" que se dicta los martes y sábados. inscripción. diagramación. Clásico. La academia cuenta con más de 500 alumnos. asistencia. para la disciplina "Tango" existe una diagramación que se dicta los días lunes y viernes. una diagramación deberá contar con los siguientes datos: día y horario. intermedio o avanzado). por tanto a fin de asistir al alumno en el análisis del dominio se anexa a continuación un listado de las entidades que son parte del dominio del problema: Entidades de dominio: Academia. Mes a mes la academia debe entregar a los profesores un listado de todos los alumnos que asistieron a sus clases a fin de calcular el importe que se le pagará al profesor (cada profesor cobra $10 por cada día que un alumno asiste a su clase). profesor.

. DiagramacionClase) : List<Alumno> GetDisciplinaMayorIngreso(int.. int.* Telefono: string + + 1 Profesor 0. Alexis Massón Ejercicios RESUELTOS Niv el Cuota Fecha: string Importe: int 1 0...UTN-FRC class Academia de danzas Ing.* - DiagramacionClas e Costo: f loat Disciplina: Disciplina Horarios: List<Horario> Nivel: Nivel Profesor: Profesor Salon: Salon 0.* 0..* Horari o Dia: int Hora: DateTime - Alumno 1 Apellido: string Direccion: string Email: string Nombre: string 0.* 1 Salon 1 Nombre: string Telefono: string Ubicacion: string Nombre: string Disciplina Nombre: string Inscripcion Asistencia Fecha: string 0.* Alumno: Alumno Asistencias: List<Asistencia> Clase: DiagramacionClase Cuotas: L ist<Cuot a> 0.Programación I ..* Apellido: string Direccion: string Email: string Nombre: string Telefono: string Academia Alumnos: List<Alumno> Clases: List<DiagramacionClase> Inscripciones: List<Inscripcion> Profesores: L ist<Profesor> GetAlumnosByClase(int.. int) : void Página 8 .