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.