Cursos‎ > ‎Sábados Mañana - Anual‎ > ‎

Tp3 Objetos

Guía 3 - Ejercicio 4 - puntos a, b y c

Reservas aéreas 

La entrega consiste en los .st (del modelo y de los tests) más el diagrama en un formato estándar (jpg, gif, etc.). 
Tienen que hacer al menos un test para cada punto. 
El punto C es opcional. 
Si tienen alguna herramienta para hacer diagrama de clases conocida, pueden usarla y exportarlo en formato de imagen. Si no conocen ninguna, pueden usar esta herramienta online que genera diagramas a partir de un script sencillo. Tiene instrucciones y ejemplos en la misma página.

Implementar lo que haga falta para resolver los requerimientos.

a. Definir e implementar los objetos que modelan las reservas de un vuelo en una aplicación para una aerolínea, de acuerdo a los requerimientos que se indican. 
La aerolínea maneja vuelos, cada vuelo tiene una cantidad de asientos. 

Lo que se necesita es: 
• saber cuántos asientos disponibles tiene un vuelo. 
• reservar una cantidad de asientos para un vuelo. El único efecto hasta acá es que baja la cantidad de asientos disponibles. 

b. Agregar la organización de asientos en filas y columnas, ahora:
• cada asiento tiene una identificación dada por fila y columna; p.ej. fila 14 columna "A". 
• también se distingue entre ventanilla y pasillo. 
• cuando se hace una reserva, se indica cuántos de los asientos son para ventanilla y cuántos para pasillo. Los asientos se asignan en forma automática, sin que nos importe en qué orden se asignan, respetando las indicaciones indicadas en la reserva respecto de ventanilla y pasillo.  

Agregar la posibilidad de averiguar:
• si una reserva puede o no hacerse, p.ej. si pido 3 de ventanilla y 5 de pasillo, y el vuelo tiene 2 lugares libres la reserva no puede hacerse, y tampoco si 20 lugares libres pero todos en 
pasillo. 
• qué asientos fueron asignados a una reserva. 
• los asientos disponibles de un vuelo. No la cantidad sino el conjunto de asientos. 
• si una fila de un vuelo (p.ej. la fila 14) está llena. 
• cuántos asientos de ventanilla libres tiene un vuelo.  
• Las filas en las que hay al menos un asiento disponible. 

Opcional:
c. Agregar métodos que permitan saber cantidad de asientos disponibles y reservar tomando en cuenta sólo los asientos que cumplen una determinada condición (p.ej. sólo entre las filas 8 y 15), además de mantener la condición "tantos de ventanilla y tantos de pasillo". 
¿Qué objeto usarían para representar una condición que debe cumplir un asiento?