Se for real você precisa ver se ela disponibiliza algum tipo de webservice.
Se for ficticia precisa criar os objetos que represente a companhia area, a reserva, o cliente, …
A companhia aérea é ficticia, a minha duvida para ja é na identificação das classes.
Os bilhetes estao divididos em 4 categorias com 4 preços diferentes e com condições diferentes caso houvesse um cancelamento do voo.
Estava a pensar criar uma classe bilhete e fazer mais 4 classes (uma para cada tipo de bilhete) a herdar do bilhete.
Depois ainda teria que pensar como resolver a situação das reservas e pre-reservas.
A intenção desta parte da aplicação é chegar um cliente, escolhe um destino, uma data e uma hora e marca um voo ficando em pre-reserva. Depois o cliente tens uns dias para confirmar a viagem passando a pre-reserva a reserva.
Agora entramos em uma área que eu conheço muito bem. Posso complicar tua vida?
Sua companhia aérea precisa ter uma frota, essa frota pode ser de aeronaves de modelo único ou modelos diferentes. Nesse caso vale lembrar que o mapa de assentos varia para cada modelo.
Você precisa ter rotas. Para cada rota você precisa vender os bilhetes levando em consideração as escalas ou conexões. Caso for conexão o passageiro desce da aeronave e segue em outra aeronave, na escala a aeronave pousa, passageiros sobem e/ou descem, e a aeronave segue o trajeto. Você precisa cuidar bem disso para não dar dois passageiros em um mesmo assento.
Você precisa também cuidar do lock. Você precisa pensar que não podem viajar dois passageiros em um mesmo banco, nem mesmo em pé. Não sei se as cias usam lock pessimista ou otimista, mas sugiro você a usar pessimista: quem escolher primeiro o assento ganha.
Isso é o core da aplicação. Sugiro você ir aos poucos colocando funcionalidades.
[quote=Mac135]A companhia area servira apenas para marcar voos.
A intenção desta parte da aplicação é chegar um cliente, escolhe um destino, uma data e uma hora e marca um voo ficando em pre-reserva. Depois o cliente tens uns dias para confirmar a viagem passando a pre-reserva a reserva.
Vou esta semana começar o projecto vou aproveitar as vossas ideias já que como iniciante ainda não é fácil definir um caminho certo no inicio de uma aplicação