Segunda Parte do Projecto

Enunciado:  Segunda Parte do Projecto

Data de entrega: até ao início da aula de laboratório da semana de 24 a 28 de Março.

A entrega da segunda parte do projecto faz-se via SVN utilizando o repositório disponibilizado para cada grupo. Após cada grupo ter colocado no seu repositório o código correspondente à segunda parte do projecto, deve marcar esse código criando a tag 'R_2'.

 

código da versão local do ChequeRefeicaoChequeRefeicao Local

 

Esclarecimentos:

  • Relembram-se alguns dos esclarecimentos feitos para o primeiro projecto:
    • Por razões de simplificação pode considerar que só as seguintes entidades é que necessitam de ter um identificador único: Restaurante, Utilizador e Prato. Só o identificador único de Prato é que é gerado automaticamente pela aplicação a desenvolver.
    • Por forma a que o exemplo descrito no PresentationServer tenha um restaurante com uma classificação e não se tenha que complicar excessivamente o exemplo, decidiu-se alterar a forma da classificação de um restaurante. Assim, um restaurante tem uma classificação desde que tenha 3 ou mais pratos com uma classificação maior ou igual a 1. Neste caso, a clasificação do restaurante é igual àmédia da classificação de todos os pratos do restaurante.
  • Novos esclarecimentos:
    • Na classe PresentationServer, sempre que se refere um prato pelo seu nome, em termos de código deve ser utilizadado o seu identificador único.
    • Dependendo da vossa concretização do código podem acrescentar mais informação aos dados fornecidos a um serviço,
    • Tal como indicado no enunciado, funcionalidade efectuar o pagamento de uma compra deve ser concretizada num método da classe PresentationServer. Este método deve fazer o seguinte:
      • Invocar o método cashChecks da concretização do serviço ChequeRefeicao que está a ser utilizado (e que será a versão local ou distribuída); 
      • Actualizar o saldo do cliente com os valor dos cheques registados através da invocação do método execute do serviço correspondente;
      • Registar o pagamento do tabuleiro de compras do cliente através da invocação do método execute do serviço correspondente;
      • Criar uma factura para a com- pra efectuada atrave ́s do sevic ̧o REGISTOFATURA (passo a não considerar nesta parte do projecto).
      • Se algum destes passos não correr com sucesso, obviamente não devem ser executados os passos seguintes.
      • É possível realizar pequenas alterações à classe ChequeRefeicaoLocal desde que não alterem a interface desta classe.

Attachments