Skip to content

[Grupo 4] - Seleção das disciplinas e/ou turmas que podem ou não receber monitores #123

Open
titofrota wants to merge 29 commits intoEngSwCIC:developfrom
titofrota:master
Open

[Grupo 4] - Seleção das disciplinas e/ou turmas que podem ou não receber monitores #123
titofrota wants to merge 29 commits intoEngSwCIC:developfrom
titofrota:master

Conversation

@titofrota
Copy link

Engenharia de Software - Grupo 4 - Sprint 1

- Épico: 4. Coordenador pode selecionar as disciplinas e/ou turmas que podem ou não receber monitores

  • Para este primeiro momento, as funcionalidades desenvolvidas foram as de testes. Elaboramos os cenários bons e ruins para as histórias de usuário desenvolvidas a partir do épico.

  • Dividimos o épico em duas histórias de usuário:

  1. Eu, como Coordenador, quero poder editar o status de disponibilidade de uma turma para a monitoria, para indicar para os alunos quais disciplinas podem receber monitor. Pontuação: 2.
  2. Eu, como aluno, quero não poder pedir para ser monitor de uma disciplina que não aceita monitoria, para que não seja possível um aluno tentar a monitoria em uma turma que não aceita monitores. Pontuação: 1.

icaronr and others added 8 commits March 30, 2021 07:03
matéria que não aceita monitoria" in inscreverMonitoria.feature

The tests were not working even before i added these scenarios.
There is some legacy code here that needs fixing.
Adiciona especificações dos testes BDD
@titofrota
Copy link
Author

titofrota commented Apr 22, 2021

@icaronr o git não quer me deixar colocar você como assignee

@titofrota titofrota changed the title [G4] - Sprint 1 [Grupo 4] - Sprint 1: Seleção das disciplinas e/ou turmas que podem ou não receber monitores Apr 22, 2021
@titofrota titofrota changed the title [Grupo 4] - Sprint 1: Seleção das disciplinas e/ou turmas que podem ou não receber monitores [Grupo 4] - Seleção das disciplinas e/ou turmas que podem ou não receber monitores May 8, 2021
@titofrota
Copy link
Author

Engenharia de Software - Grupo 4 - Sprint 2

  • Caroline Ferreira Pinto - 16/0067766 // (@CarolFP1896)

  • Davi Martins Torres - 15/0122896 // (@torresdavi)

  • Ítalo Eduardo Dias Frota - 18/0019279 // (@titofrota)

  • Lucas Correa Lemos - 17/0149412 // (@lucaslemos94)

  • Rafael Gonçalves de Paulo - 17/0043959 // (@rafael-g-depaulo)

  • Épico: 4. Coordenador pode selecionar as disciplinas e/ou turmas que podem ou não receber monitores

Features

  • Remodelagem de cenários existentes e adição de outros cenários. Adicionando os seguintes cenários:

    • Cenário: O coordenador atualiza uma disciplina (happy path) - Edição de Disciplina
    • Cenário: Admin edita o status de disponibilidade da disciplina 1 (happy path) - Edição de Disciplina
    • Cenário: Admin deixa o formulário de edição da disciplina 1 em branco (sad path) - Edição de Disciplina
    • Cenário: O aluno tenta aplicar aplicar para uma monitoria que nao aceita monitores (Sad Path) - Inscrição em Monitoria
  • Foi necessária a refatoração de alguns cenários de teste implementados em semestres anteriores.

  • Testes do RSPEC REFATORADOS e implementados.

Comentários

  • Os testes do controller de Disciplinas estavam quase todos quebrados, então refatoramos para atingir uma cobertura aceitável.
  • Adicionamos os testes do cucumber não só para a edição da disponibilidade de monitoria, mas também para a edição de disciplina em si, porque não havia cobertura no cucumber para os casos de uso da funcionalidade geral de edição.
  • Alguns detalhes no projeto incomodaram o desenvolvimento, o seed poderia estar melhor construído e algumas partes dos web steps também.
  • O Live Share, que utilizamos em todas as etapas de desenvolvimento não sincronizou com a conta do GitHub de todos os membros, logo, os commits provavelmente estarão todos no nome da pessoa que criou a sessão.

Responsáveis pelas funcionalidades

  • O grupo utilizou amplamente as modalidades de Pair Programming e Dojo para o desenvolvimento dessa sprint, realizando chamadas através do Discord e utilizando a extensão Live Share no VSCode.

  • Todos os membros do grupo contribuíram ativamente em todas as features aqui desenvolvidas, tanto em linhas de código quanto em lógicas para solucionar os problemas enfrentados.

Política de Branching

  • Utilizamos o gitflow, que consiste em branchs temporárias para cada feature. Essas branchs são originadas da branch develop e possuem o padrão de nome feature/nomedafeature, e são temporárias, pois são mergeadas na develop e excluídas após implementação da feature.

Papéis na Equipe

  • Ítalo - Scrum Master e Dev
  • Davi - Dev
  • Carol - Dev
  • Rafael - PO e Dev
  • Lucas - Dev

@titofrota
Copy link
Author

Engenharia de Software - Grupo 4 - Sprint 3

  • Caroline Ferreira Pinto - 16/0067766 // (@CarolFP1896)
  • Davi Martins Torres - 15/0122896 // (@torresdavi)
  • Ítalo Eduardo Dias Frota - 18/0019279 // (@titofrota)
  • Lucas Correa Lemos - 17/0149412 // (@lucaslemos94)
  • Rafael Gonçalves de Paulo - 17/0043959 // (@rafael-g-depaulo)
  • Épico: 4. Coordenador pode selecionar as disciplinas e/ou turmas que podem ou não receber monitores

Features

Complexidade ciclomática

  • Foram executados os cálculos com a gema crycromatic. Não foram encontrados métodos com valor >= 10 de complexidade.

ABC Score

  • Foram executados os cálculos com a gema RubyCritic. Não foram encontrados métodos com valor >= 20.

Cobertura dos testes RSpec

  • Os specs foram REFATORADOS, para alcançar cobertura > 90%
  • Antes de refatorar:
    • disciplinas_controller.rb 84.62%
    • disciplina.rb 88.69%
    • monitorias_controller.rb 89.19%
  • Depois de refatorar:
    • disciplinas_controller.rb 94.87%
    • disciplina.rb 100.00%

Happy Path e Sad Path nas features do Cucumber/Rspec

  • As features do Cucumber não foram alteradas.

Documentação do código com RDoc

  • Métodos documentados, com os tópicos definidos conforme instruções passadas.

Comentários

  • Na sprint 2 foi refatorado o spec de disciplinas, pois os testes estavam muito quebrados.
  • Antes da sprint 2, o disciplinas_controller tinha 53.85% de cobertura, sendo também refatorado.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants