O projeto para os alunos de época especial que não realizaram o projeto durante o ano letivo.


O objetivo do projeto é enriquecer o módulo Broker com o conceito de cliente. Assim cada broker pode ter vários clientes e um cliente pertence a um único broker Naturalmente o cliente também está associado às suas aventuras. O cliente possui apenas três atributos, nome, idade e iban.

Para realizar o projeto deve implementar estas novas entidades respeitando 4 dos passos do desenvolvimento iterativo que foram seguidos durante o projeto. Para cada um dos passos deve criar um branch com a respetiva entrega. O código de partida é o código mais recente em https://github.com/tecnico-softeng/reference.

Assim, deve seguir os passos de cada uma das fases do projeto, descritas em ADVENTURE_1 a ADVENTURE_5, efetuando as seguintes tarefas:
  • ADVENTURE_1 e ADVENTURE_2
    • Implementar e testar a criação de objetos cliente e alterando a classe Adventure que deixa de possuir os atributos idade e iban e passa a receber um cliente como argumento. Alterar o código de forma a que os testes passem. Incluir a reescrita dos testes de Adventure. Nesta fase pode comentar a implementação de BrokerInterface.createAdventure, mas todos os testes devem passar.
  • ADVENTURE_3
    • Tornar persistente a classe Client, escrevendo os respetivos testes.
  • ADVENTURE_4
    • Criar uma interface web para criar clientes que também lista as suas aventuras. A lista de clientes é apresentada na interface web do broker. Alterar a interface web de aventura para a sua criação ocorrer no contexto de um cliente. Alterar BrokerInterface.createAdventure.
  • ADVENTURE_5
    • Fazer um teste de carga usando JMeter em que se executa em paralelo um cenário em que é criado um cliente, e duas aventuras e ele associadas, procedendo-se de seguida ao seu processamento. Escreva um relatório em que analisa os resultados usando diversos tipos de carga.

As 4 entregas de código devem ser efetuadas no github até às 23:59 de 24/7.