Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

PedroVarandas23

Ajuda na inicialização de um projecto de Parque de Estacionamento

Mensagens Recomendadas

PedroVarandas23

Como o proprio nome do topico indica , estou a precisar de uma pequena ajuda na inicalização de um projecto de Parque de Estacionamento.

Sou aluno numa faculdade e tenho de apresentar um projecto final de um Parque de Estacionamento. A cadeira é inicial de 1º ano onde começamos a aprender a manusear a linguagem java. Utilizamos o software de desenvolvimento chamado BLUEJ. Penso que as duvidas que tenho são relativamente simples para qualquer programador.

Acerca do projeto:

Para o projecto o docente pediu-nos para realizar um Parque de Estacionamento.

- O Parque de estacionamento tem uma lotaçao maxima de 50 lugares e está aberto 24 horas por dia.

- Os veiculos entram e saem e sao controlados por um cartao RFID que identifica o utilizador. Este cartao tem toda a informação ( hora de entrada e saida do veiculo, numero de entrada do veiculo) sobre o utilizador.

- No Parque existe um maquina de Load-Pay que faz o carregamento de horas a utilizar e o valor em € por hora.

- O PArque é admnistrador por um gestor que requer um username e password e este tem acesso a todas as informaçoes dos veiculos no parque.

- Simular a entrada e saida de veiculos.

A minha duvida é como inicalizar este projecto : Quantas classes tem de ter ? Que informação tem de ter cada classe ?

Visto que é um projecto que é para apresentação so queria saber basicamente como o construir , porque o codigo consigo faze-lo so nao consigo é idealizar como fazer...

Espero que alguem me possa ajudar nesta simples duvida , obrigado e cumprimentos !

Editado por PedroVarandas23

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hercles

Lendo rapidamente, vi que pode ter as seguintes classes: ParqueEstacionamento, Utilizador, Veiculo, MaquinaLoad,Gestor ....

Possíveis atributos: QtdLugares, HoraFuncionamento, NumCartaoRFID, HistoricoDeUso, Usuario, Senha...

Editado por Hercles

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jorgecarleitao

Olá,

Genericamente, a abordagem para estes problemas é decompor o problema em problemas mais pequenos recursivamente até cada problema ser tratável.

Eu começaria por identificar qual a interface que precisas para o programa: quais são os pontos de comunicação com o exterior?

Assim de repente estou a ver alguns:

- um carro entra

- um carro sai

- um carregamento de um cartão

- o gestor interage com um painel de administração do parque

Destas observações já vês que vai ter de haver alguma coisa que "recebe" um cartão (`authorize_entry(card)`), e autoriza ou não a sua entrada (retorna um bool?), de acordo com a lotação atual do parque (olha aqui outro método: `is_full()` ou `has_space()`).

Haverá também uma coisa que recebe um cartão para a saída (`authorize_exit(card)`), e também autorizará ou não a saída (e.g. tem dinheiro no cartão para pagar a estadia?).

Depois, terás de identificar que estruturas de dados que precisas:

- O que é que o servidor precisa de guardar?

- O que é que muda no servidor quando alguma acção acontece?

Estou a imaginar que faça sentido haver uma base de dados persistente dos cartões atualmente dentro do parque, assim como um registo de entradas (e.g. (cartão, hora), que serão escritas no cartão à entrada e saída (dado que o cartão não deve ter um relógio).

Provavelmente poderás também querer que o painel de administração do parque seja notificado quando algo novo acontece (e.g. a lotação atual mudar automaticamente quando um carro entra), o que poderá justificar o padrão de design observador para desacomplares o servidor do programa de visualização.

Espero que isto ajude.

Editado por jorgecarleitao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.