-
Notifications
You must be signed in to change notification settings - Fork 0
Home
| Nome | Matrícula | Papel |
|---|---|---|
| Ana Paula Gomes de Matos | 160023629 | Product Owner |
| Gustavo Choueiri | 232014010 | Scrum Master |
| Analyce Rayssa Silva Nunes | 211026548 | Desenvolvedora |
| Marcus Paulo Kaller Vargas | 200041096 | Desenvolvedor |
| Rafael Carvalho Junior Araujo | 222021817 | Desenvolvedor |
O projeto CAMAAR tem como objetivo apoiar a gestão de avaliações acadêmicas remotas. A aplicação será desenvolvida em Ruby on Rails e permitirá o gerenciamento de usuários, turmas, disciplinas, templates de formulários, formulários de avaliação, respostas e resultados.
A Sprint 1 foi dividida em duas etapas.
Na primeira etapa, o grupo estudou as histórias de usuário disponíveis no repositório, elaborou o modelo Entidade Relacionamento do sistema CAMAAR e realizou uma investigação técnica sobre a possível implementação das views em Ruby on Rails.
Na segunda etapa, o grupo especificou os cenários BDD das histórias de usuário usando Cucumber. As funcionalidades ainda não foram implementadas nesta sprint, pois a implementação será realizada na Sprint 2.
A Product Owner da Sprint 1 foi a Ana Paula Matos.
Responsabilidades:
- Priorizar as histórias de usuário.
- Definir a complexidade das histórias junto ao grupo.
- Revisar as regras de negócio.
- Validar se os cenários BDD estão coerentes com as histórias de usuário.
- Preparar o arquivo de entrega com link do repositório, nomes e matrículas.
- Fazer documentação na wiki.
O Scrum Master da Sprint 1 foi o Gustavo Choueiri.
Responsabilidades:
- Organizar a branch da sprint.
- Garantir que cada integrante realize seus próprios commits.
- Acompanhar o andamento das tarefas.
- Organizar a Pull Request da Sprint 1.
- Apoiar a criação da Wiki e a organização do repositório.
O grupo utilizou a branch sprint-1 para concentrar as entregas da primeira sprint.
A política adotada foi:
- A branch
sprint-1deve conter somente os artefatos relacionados à Sprint 1. - Cada integrante deve realizar commit das próprias modificações.
- Ao final da sprint, deve ser aberta uma única Pull Request do grupo.
- Após a abertura da Pull Request, a branch
sprint-1não deve receber novos commits. - A Pull Request deve ser enviada para o repositório principal do projeto.
As histórias funcionais do sistema foram organizadas em quatro blocos principais.
Responsável: Analyce
Issues:
- #13, Sistema de Login
- #12, Sistema de definição de senha
- #10, Redefinição de senha
- #17, Cadastrar usuários do sistema
Responsável: Marcus
Issues:
- #19, Importar dados do SIGAA
- #9, Atualizar base de dados com os dados do SIGAA
- #11, Sistema de gerenciamento por departamento
Responsável: Rafael
Issues:
- #15, Criar template de formulário
- #6, Visualização dos templates criados
- #5, Edição e deleção de templates
- #14, Criar formulário de avaliação
- #4, Criação de formulário para docentes ou discentes
Responsável: Choueiri
Issues:
- #8, Visualização de formulários para responder
- #18, Responder formulário
- #7, Visualização de resultados dos formulários
- #16, Gerar relatório do administrador
A pontuação das histórias foi definida usando a escala de Fibonacci, considerando complexidade, regras de negócio, dependências entre funcionalidades, quantidade de entidades envolvidas, telas necessárias e esforço esperado para testes.
| Bloco | Issues | Pontuação |
|---|---|---|
| Bloco 1, Acesso e Usuários | #13, #12, #10, #17 | 14 |
| Bloco 2, Dados Acadêmicos e Permissões | #19, #9, #11 | 21 |
| Bloco 3, Templates e Criação de Formulários | #15, #6, #5, #14, #4 | 29 |
| Bloco 4, Participante, Respostas e Resultados | #8, #18, #7, #16 | 26 |
Velocity planejada da Sprint 1:
90 pontos
| Issue | História de usuário | Pontos |
|---|---|---|
| #13 | Sistema de Login | 3 |
| #12 | Sistema de definição de senha | 3 |
| #10 | Redefinição de senha | 3 |
| #17 | Cadastrar usuários do sistema | 5 |
| #19 | Importar dados do SIGAA | 8 |
| #9 | Atualizar base de dados com dados do SIGAA | 8 |
| #11 | Sistema de gerenciamento por departamento | 5 |
| #15 | Criar template de formulário | 8 |
| #6 | Visualização dos templates criados | 3 |
| #5 | Edição e deleção de templates | 5 |
| #14 | Criar formulário de avaliação | 8 |
| #4 | Criação de formulário para docentes ou discentes | 5 |
| #8 | Visualização de formulários para responder | 5 |
| #18 | Responder formulário | 8 |
| #7 | Visualização de resultados dos formulários | 8 |
| #16 | Gerar relatório do administrador | 5 |
- O usuário deve conseguir acessar o sistema usando e-mail ou matrícula e senha cadastrada.
- O sistema não deve permitir acesso com senha incorreta.
- O sistema não deve permitir acesso com e-mail ou matrícula inexistente.
- Após login válido, o usuário deve ser redirecionado conforme seu perfil.
- Usuários administradores devem visualizar a opção de gerenciamento no menu lateral.
- Usuários comuns não devem visualizar opções administrativas.
- Um usuário recém-cadastrado deve definir sua senha antes de acessar o sistema.
- A definição de senha deve ocorrer a partir do link recebido por e-mail.
- O sistema deve validar se o link de definição de senha é válido.
- O sistema não deve aceitar senha vazia.
- O sistema deve salvar a senha de forma segura.
- Após definir a senha, o usuário deve conseguir acessar o sistema.
- O usuário deve conseguir solicitar a redefinição de senha pelo e-mail cadastrado.
- O sistema deve enviar um link de redefinição para o e-mail do usuário.
- O sistema não deve permitir redefinição com link inválido ou expirado.
- A nova senha não pode ser vazia.
- Após redefinir a senha, a senha anterior não deve mais permitir acesso.
- O usuário deve conseguir fazer login com a nova senha.
- O administrador deve conseguir cadastrar usuários a partir dos dados importados do SIGAA.
- Usuários já existentes não devem ser duplicados.
- O cadastro inicial deve gerar uma solicitação de definição de senha.
- O usuário só deve ser considerado apto a acessar o sistema após definir sua senha.
- O sistema deve associar corretamente o usuário ao seu perfil.
- O sistema deve manter vínculo entre usuário, turma, matrícula e departamento quando aplicável.
- O administrador deve conseguir importar dados de turmas, matérias e participantes do SIGAA.
- A importação deve considerar os arquivos JSON disponíveis no repositório.
- O sistema deve criar apenas registros que ainda não existam na base.
- Turmas, disciplinas, docentes, discentes e matrículas devem ser associadas corretamente.
- Dados inválidos ou incompletos não devem ser importados sem validação.
- Ao final da importação, os dados devem ficar disponíveis para uso nas funcionalidades de formulários.
- O administrador deve conseguir atualizar a base existente com dados atuais do SIGAA.
- Registros já existentes devem ser atualizados, não duplicados.
- Novos registros encontrados nos dados do SIGAA devem ser adicionados.
- A atualização deve preservar vínculos já existentes quando possível.
- A base atualizada deve refletir corretamente turmas, disciplinas, usuários e matrículas.
- Dados inválidos devem ser tratados sem comprometer a base existente.
- O administrador deve gerenciar apenas turmas do departamento ao qual pertence.
- Um administrador não deve visualizar ou alterar turmas de outros departamentos.
- A filtragem por departamento deve ser aplicada nas telas administrativas.
- Ao criar formulários, o administrador só deve selecionar turmas do seu departamento.
- Ao visualizar resultados, o administrador só deve acessar dados do seu departamento.
- Usuários sem perfil administrativo não devem acessar funcionalidades de gerenciamento.
- O administrador deve conseguir criar um template de formulário.
- O template deve conter um título.
- O template deve conter uma ou mais questões.
- Cada questão deve possuir um tipo, como aberta ou múltipla escolha.
- Questões de múltipla escolha devem possuir opções de resposta.
- O template criado deve ficar disponível para gerar formulários de avaliação.
- O administrador deve conseguir visualizar os templates existentes.
- A listagem deve exibir informações básicas do template.
- O administrador deve conseguir identificar quais templates pode editar ou deletar.
- Templates inexistentes não devem ser exibidos.
- Usuários sem permissão administrativa não devem acessar a tela de templates.
- O administrador deve conseguir editar um template criado.
- O administrador deve conseguir deletar um template criado.
- A edição de um template não deve alterar formulários já criados a partir dele.
- A deleção de um template não deve apagar formulários já enviados.
- O sistema não deve permitir editar ou deletar template inexistente.
- O sistema deve preservar o histórico dos formulários já criados.
- O administrador deve conseguir criar um formulário baseado em um template.
- O administrador deve escolher uma ou mais turmas para receber o formulário.
- O formulário criado deve copiar as questões do template selecionado.
- O formulário deve ficar vinculado à turma escolhida.
- O sistema não deve criar formulário sem template.
- O sistema não deve criar formulário sem turma selecionada.
- O administrador deve escolher se o formulário será destinado a docentes ou discentes.
- O público-alvo escolhido deve determinar quem poderá visualizar e responder o formulário.
- Discentes não devem visualizar formulários destinados apenas a docentes.
- Docentes não devem visualizar formulários destinados apenas a discentes, exceto quando possuírem permissão administrativa.
- O formulário deve permanecer associado à turma escolhida.
- O sistema deve impedir criação de formulário sem público-alvo definido.
- O participante deve visualizar apenas formulários das turmas em que está matriculado.
- O participante deve visualizar apenas formulários ainda não respondidos.
- Formulários já respondidos não devem aparecer como pendentes.
- Formulários de turmas em que o participante não está matriculado não devem ser exibidos.
- Se não houver formulários pendentes, o sistema deve informar que não existem avaliações disponíveis.
- O participante deve conseguir escolher qual formulário deseja responder.
- O participante deve conseguir responder um formulário disponível.
- O sistema deve salvar as respostas vinculadas ao participante e ao formulário.
- O sistema não deve permitir envio de formulário sem responder questões obrigatórias.
- O sistema não deve permitir que o mesmo participante responda o mesmo formulário mais de uma vez.
- Após o envio, o formulário deve deixar de aparecer como pendente para aquele participante.
- As respostas devem ficar disponíveis para consulta nos resultados administrativos.
- O administrador deve conseguir visualizar os formulários criados.
- O administrador deve conseguir acessar os resultados de um formulário.
- O sistema deve exibir respostas associadas ao formulário selecionado.
- Questões de múltipla escolha podem ser exibidas de forma agregada.
- Questões abertas devem exibir o conteúdo textual das respostas.
- O administrador não deve acessar resultados de formulários fora de sua permissão.
- O administrador deve conseguir gerar um relatório em formato CSV.
- O relatório deve conter os resultados de um formulário selecionado.
- O sistema não deve gerar relatório para formulário inexistente.
- O sistema não deve gerar relatório sem respostas ou deve informar que não há dados disponíveis.
- O arquivo CSV deve conter informações suficientes para análise do desempenho da turma.
- O administrador só deve gerar relatórios de formulários que tem permissão para acessar.
Os cenários BDD foram especificados usando Cucumber e organizados na pasta features.
Arquivos criados:
features/acesso_usuarios.featurefeatures/dados_academicos.featurefeatures/templates_formularios.featurefeatures/participante_resultados.feature
Cada funcionalidade possui pelo menos um cenário feliz e um cenário triste.
A Sprint 1 será entregue por meio de um única Pull Request contendo os arquivos de especificação BDD.
Link do Pull Request:
[COLOCAR LINK DO PR AQUI]
| Entrega | Status |
|---|---|
| Modelo Entidade Relacionamento | Concluído |
| Relatório da primeira etapa | Concluído |
| Investigação técnica das views em Rails | Concluído |
| Cenários BDD com Cucumber | Concluído |
| Wiki da Sprint 1 | Concluído |
| Pull Request da Sprint 1 | Concluído |
Arquivo .txt para entrega no Aprender |
Concluído |
A Sprint 1 teve como objetivo compreender o domínio do sistema, modelar suas entidades principais e especificar os cenários de aceitação das histórias de usuário. As funcionalidades descritas nesta Wiki servirão como base para a implementação na Sprint 2 e para a posterior refatoração, documentação e avaliação de qualidade na Sprint 3.
- Relatório
- Arquivo com link do repositório: