Reserva de bilhetes de avião

Boas

Estou a começar a desenvolver uma aplicação e gostava que me fossem dando umas dicas ao longo do seu desenvolvimento.

O aplicação a desenvolver servirá para fazer a reserva de voos numa companhia aérea, que terá como opções

  • fazer pré-reservas; - alterar pre-reserva; - alterar reserva; - listar pre-reservas; - listar reservas

Estou no inicio a tentar identificar as classes que devo fazer.

Se me conseguirem dar umas dicas melhor.

Fico a aguardar.

Obrigado

Reparei que este assunto devia estar no Java basico, será que os moderadores me poderiam mover este topico para o local correcto.

Peço desculpa pelo engano.

Essa companhia área é real ou é ficticia?

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 minha dica é modelar o negócio e não coisas superficiais, o que sua companhia aerea fictícia faz sera mesmo emitir bilhetes?

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.

O que me aconselhas fazer??

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.

Garcia concordo com os teus pontos de vista, mas para o trabalho que estou a fazer não peciso ter isso em conta.

A minha aplicação terá que funcionar sem esses condicionalismos todos que mencionaste.

[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.

O que me aconselhas fazer??[/quote]

Uma aplicação desktop.

Mac132 eu faria da seguinte forma…
Reserva(idReserva, List,localizadorCia, timeLimiteReserva, dataCriacao, idEmissor, status(Enum PRE, RES…), List<Viagem(idViagem, origem, destino… List<Trechos(nrVoo, origem, destino, horaSaida, horaChegara, classTarifaria, valorTarifa, … )>)>

Classes:
Reserva
Pax
Viagem
Trechos

Boa sorte em seu projeto!

Vou analisar a tua ajuda e tentar por em pratica as tuas dicas, mas continuo aberto a sugestões.

Vou tentar dizer o andamento do projecto.

De Portugal obrigado ai pela ajuda.

abraço

[quote=cleisonrlima]Mac132 eu faria da seguinte forma…
Reserva(idReserva, List,localizadorCia, timeLimiteReserva, dataCriacao, idEmissor, status(Enum PRE, RES…), List<Viagem(idViagem, origem, destino… List<Trechos(nrVoo, origem, destino, horaSaida, horaChegara, classTarifaria, valorTarifa, … )>)>

Classes:
Reserva
Pax
Viagem
Trechos

Boa sorte em seu projeto![/quote]

Desculpa estar a chatear mas o que queres dizer com Pax na lista.

Termo usado para passageiro.

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

Boas mais uma vez, o projecto esta a andar mas preciso agora de outra ajuda.

Tenho um ficheiro txt do genero

1 2 3 4

quero que o meu buffered read comece so a ler onde esta o 1, ignorando as tags que estao antes, como consigo fazer isso??

Te aconselho a usar um parser de XML. Fica muito mais produtivo.