1ª Entrega
Objetivo
Implementar as classes de domínio persistentes e testes de unidade.
Instruções
Cada grupo trabalha no seu repositório privado que já contém o código disponibilizado. É necessário acrescentar as classes de domínio em falta e respectivos testes de forma a alcançar uma cobertura de 100%. É também necessário alterar a classe TeacherDashboard de acordo com que é mostrado no diagrama de domínio. Cada subgrupo (de 2 alunos) deve implementar uma funcionalidade diferente, correspondente a uma classe de domínio diferente e aos respectivos testes de unidade. A carga de trabalho (quantidade e complexidade das tarefas) deve ser dividida de forma semelhante entre os membros de cada subgrupo. Isto será verificado pelos commits de cada grupo. A nota 0 (zero) será atribuída a alunos que não apresentem commits. (Ver secção Grupos e Ramos para mais informação.)
Para os testes funcionarem pode ser necessário acrescentar algumas instruções em algumas das superclasses ou em classes de configuração, e.g., SpockTest.groovy e BeanConfiguration.groovy.
Sugestões de Planeamento
Ler com atenção o enunciado
Analisar o modelo de domínio
Analisar o código fornecido como suporte
Planear:
- Definir as histórias para cada uma das funcionalidades
- Decompor as histórias em tarefas de modo a haver um desenvolvimento incremental que permita validação constante. Para cada história:
- Definir uma tarefa para implementar as entidades de domínio
- Definir uma tarefa para cada novo teste
Na maior parte dos casos, cada tarefa estará associada a um elemento do subgrupo e um commit a realizar por esse elemento (por exemplo, casos de teste). Algumas tarefas (issues) podem estar atribuídas aos dois elementos do subgrupo, mas ambos os elementos terão de realizar commits (por exemplo, podemos ter uma tarefa de criação de nova classe de domínio com commits dos dois elementos do subgrupo referentes a atributos diferentes).
Sugere-se um Board por sprint (entrega), com 5 colunas:
- Stories backlog
- Not started tasks
- In progress tasks
- In review tasks
- Closed
Para o critério "Markdown file with submission summary", basta preencher o template P1.md e colocá-lo numa pasta com nome "markdown". Link para template: https://gitlab.rnl.tecnico.ulisboa.pt/-/snippets/2. Versão "raw": https://gitlab.rnl.tecnico.ulisboa.pt/-/snippets/2/raw/master/P1.md