Grupo 01 - 2020/2 - Scraping de turmas e professores, User stories#122
Grupo 01 - 2020/2 - Scraping de turmas e professores, User stories#122masathayde wants to merge 18 commits intoEngSwCIC:developfrom
Conversation
Develop to master
fix gemfile and migrations
…aping de dados de disciplinas e de professores do SIGAA
…stories novas que se alinham melhor com os objetivos do grupo.
anterior.. - Removida restrição de números no nome de disciplinas.
* dashboard_controller - Adicionado método parse_turmas_file. - Adicionado método criar_professor_com_valores_padroes. - Adicionado método criar_disciplina_com_valores_padroes. - Adicionado método criar_turma_a_partir_de_parametros. Comentários: Inicialmente, eu queria ter colocado todas as funções novas em um concern, mas tive problemas com a inclusão e uso de concerns. Então, decidi deixar os métodos no controller, e refatorar depois. * dashboard/importar_disciplinas.html.haml - Adicionado formulário para importar arquivos. * routes.rb - Adicionada rota 'post' para 'dashboard/importar_disciplinas' * db/migrate/20191025183323_create_turmas.rb - Adicionado campo para professor auxiliar. * features/step_definitions/custom_steps.rb - Ajustes em definições que não estavam funcionando corretamente. * features/files/turmas_test_happy.html - Arquivo para testes adicionado. * features/adminImportarDisciplinas.feature * features/adminVerTurmasEmDisciplina.feature - Ajustes nas histórias para conformar com outras alterações no código. Comentários: Embora em testes manuais, o parsing e criação de disciplinas pareça estar funcionando corretamente, o segundo cenário no teste adminImportarDisciplinas.feature, o qual envolve importar disciplinas que já existem e verificar se não há duplicatas, não está passando. Em outras palavras, quando testo manualmente, não há problemas, mas quando o teste é feito automaticamente pelo Cucumber, aparecem disciplinas repetidas. Ainda não sei o motivo dessa discrepância.
* spec/controllers/dashboard_controller_spec.rb - Método raspar_disciplinas agora checa se um arquivo foi enviado. - Método parse_turmas_file agora extrai código da disciplina, remove o prefixo 'CIC', então converte a string para inteiro. * Modelo Disciplina - O atributo 'cod_disciplina' agora deve ser único. * features/adminImportarDisciplinas.feature - Alteração nos testes. * spec/controllers/dashboard_controller_spec.rb - Adicionados testes unitários para os métodos criados neste branch.
…ssores que lecionam a materia
Show turmas
Engenharia de Software 2020/2 - Grupo 01Sprint #2Integrantes
Funcionalidade principal
User stories
Política de branchingFeature branching. Mudanças
ComentáriosAs user stories iniciais foram alteradas após uma reunião com o monitor Ícaro no dia 29/03/2021, na qual foram ele proveu especificações mais detalhadas, além de oferecer conselhos. Com isso, o número de stories passou para 3, as quais foram completadas com sucesso. |
* models/turma.rb - Método criar_disciplinas_a_partir_de_parametros movido para cá, vindo de dashboard_controller.rb. O método também foi refatorado.
* models/disciplina.rb - Método criar_disciplinas_com_valores_padroes colocado aqui. Previamente estava em dashboard_controller.rb. Também foi refatorado.
* models/professor.rb - Método criar_professores_com_valores_padroes colocado aqui. Previamente estava em dashboard_controller.rb. Também foi refatorado.
* controllers/concerns/turmas_parser.rb - Métodos relacionados ao parsing do arquivo de turmas enviado foram movidos aqui. Anteriormente estavam em dashboard_controller.rb * controllers/dashboard_controller.rb - Método raspar_disciplinas foi refatorado. Agora possui nota de complexidade no padrão exigido (<20).
* controllers/concerns/turmas_parser.rb - Os métodos do módulo foram refatorados para reduzir complexidade.
* spec/controllers/dashboard_controler_spec.rb - Testes ajustados para conformar com a refatoração. Documentação: * controllers/concerns/turmas_parser.rb - Módulo completo foi documentado. * controllers/dashboard_controller.rb - Método raspar_disciplinas, feito pelo grupo, foi documentado.
Refactoring.
Engenharia de Software 2020/2 - Grupo 01Sprint #3Integrantes
Funcionalidade principal
User stories
Política de branchingFeature branching. Mudanças
ComentáriosNa sprint anterior, foi implementada a funcionalidade principal atribuída ao grupo. Fora alterações em views, a lógica havia sido colocada exclusivamente no arquivo
Os smells remanescentes referem-se a alertas de número grande de instruções em certos métodos. Em alguns deles, o número de instruções excedeu o limite de 5, seguindo a configuração padrão do RubyCritic. Nesses métodos, escolheu-se não diminuir mais o número de instruções, pois julgou-se que poderia haver perda de legibilidade e clareza. Ainda assim, o número máximo de instruções nos métodos não passou de 7. Para maiores detalhes do refatoramento, checar as mensagens de commit. |
Engenharia de Software 2020/2 - Grupo 01
Sprint #1
Integrantes
João Moraes (@joaoadm94) - 16/0126975
Marco Antônio (@masathayde) - 18/0126814
Daniel Carvalho (@danielc-957) - 16/0116821
Rafael Barbosa de Sousa (@rafaelbarbosas) - 17/0043827
Funcionalidade principal
User stories adicionadas