Pretende-se criar uma aplicação para fazer a gestão de utilizadores numa empresa. Os requisitos da aplicação são:
-
Criar um utilizador
-
Consultar os dados de um utilizador
-
Listar utilizadores
-
Registrar um utilizador de forma a poder aceder à aplicação
-
Autenticar um utilizador
-
Listar recursos
-
Consultar um recurso
A serviço reqres.in fornece uma API para as operações associadas aos requisitos descritos anteriormente. Este serviço vai ser utilizado como backend para a aplicação a desenvolver.
De forma a garantir a qualidade máxima da aplicação, é necessário fazer os seguintes testes:
-
Testes de Unidade para as funcionalidades da aplicação, considerando que a API ainda não está disponível - poderá ser necessário utilizar duplos
-
Testes ao serviço REST - os endpoints deverão ser testados
-
Testes globais da aplicação depois de integrada
-
Testes de performance - desenho do workload para testes de robustez e disponibilidade
Deverão ser considerados testes black-box para todos os componentes e white-box sempre que se justificar. As técnicas estudadas nas aulas (e.g., particionamento de equivalência e análise dos valores limite) deverão ser exploradas.
O projeto deverá ser gerido de acordo com a metodologia Scrum. Neste sentido, os alunos deverão
-
Reunir no início de cada aula durante 10 minutos para discutir o que foi realizado e os obstáculos que estão a enfrentar
-
Atribuír o papel de Product Owner semanalmente a um dos elementos do grupo. Este aluno ficará responsável pela gestão do Product Backlog e Sprint Backlog e representará a equipa perante o docente
-
Distribuir os requisitos pelos elementos do grupo, de forma a que todos tenham de passar por todo o processo de desenvolvimento
-
Manter o Trello atualizado com o Backlog do projeto, as tarefas do próximo Sprint, as tarefas do Sprint Atual, as tarefas em revisão pelo docente e as tarefas concluídas
-
Apresentar semanalmente ao docente o resultado das tarefas concluídas na reunião de revisão. Para que o trabalho fique visível para todos os elementos do grupo (incluindo o docente), a versão da solução implementada deverá ficar disponível no GitHub. Para esse efeito, o docente das práticas deverá ser adicionado ao repositório como elemento da equipa.
A implementação da solução passa pelas seguintes fases
-
Registo do grupo, com o link para o projeto Trello e GitHub. Os grupos já registados podem ser consultados aqui
-
Codificação da aplicação
-
Revisão dos conceitos estudados/ criação dos testes / atualização constante da matriz de rastreabilidade
-
Escrita do relatório e da memória descritiva
-
Submissão no Moodle
Ficheiro RAR/ZIP com os seguintes elementos:
-
Relatório com a documentação da solução
-
Memória descritiva (individual) com a descrição do trabalho realizado pelo aluno no grupo (1 página)
-
Código desenvolvido.
Avaliação prevista para a época especial em setembro 2020.
A defesa do trabalho será feita em grupo, mas as questões serão colocadas pelos docentes individualmente a cada aluno. Cada aluno deverá ser capaz de defender o trabalho prático. Durante a defesa, o aluno deverá demonstrar o conhecimento teórico necessário para a realização do trabalho.