https://github.com/Mathweuzz/Proj-final-EngSoft
- Eduardo Marques Pereira - 211021004
- Gabriel Amaro Baxto - 190087331
- Mateus Gomes de Araújo - 202014440
- Yan Tavares de Oliveira - 202014323
Para o início da interação, foi decidido que iríamos separar as tarefas e fornecer um overview geral após a conclusão da tarefa. Portanto, teríamos que produzir Estórias de usuário que atendessem às diretrizes SMART (Specific, Measurable, Achievable, Relevant, Time-bound) e seguindo o padrão recomendado no livro. Após isso, criar e configurar o repositório inicial do projeto, contendo uma página inicial, funcionalidades de registro e login. Por fim, precisaríamos produzir este relatório. Separamos as tarefas entre os quatro participantes, além de estabelecer a responsabilidade coletiva de cumprir os prazos e desenvolver o código fonte do projeto.
Com o estabelecimento das tarefas, partimos para a produção dos requisitos da entrega 1, produzimos uma boa quantidade de estórias de usuário e concluímos o que foi pedido acerca do repositório inicial. Através do planejamento que foi feito, conseguimos concluir todas as tarefas requisitadas e estão todas submetidas nessa entrega.
Até o momento concluímos completamente a entrega 1 do projeto. Finalizamos as Estórias de usuário e repositório inicial. Os requisitos RD.01, RA.01 e RP.04 já estão em andamento.
Para a próxima interação, colocamos na esteira de produção um MVP, com a estrutura básica que permita aplicar exames, assim como é pedido na Entrega 2. Para isso, iniciamos alguns dos requisitos mínimos e estabelecemos um cronograma de entrega do conjunto de requisitos.
A primeira entrega não trouxe grandes dificuldades, mas foi ideal para iniciar o projeto da forma certa. A primeira entrega nos permitiu entender o trabalho como um todo e estabelecer o que devemos fazer nos próximos passos. Estamos animados para o desenvolvimento do projeto.
O objetivo da Entrega 2 foi realizar as tarefas planejadas de acordo com o documento "Doc. de Especificação". Durante a interação, foram definidos os seguintes itens:
- Implementar o sistema de autenticação de usuários.
- Desenvolver a funcionalidade de criação de questões.
- Adicionar a capacidade de criação de exames com base em questões selecionadas.
- Implementar a funcionalidade de resposta a exames.
- Adicionar a opção de gerar relatórios com base nas respostas aos exames.
- Implementar o encerramento de exames.
- Issue #1: Implementação do sistema de autenticação de usuários.
- Issue #2: Desenvolvimento da funcionalidade de criação de questões.
- Issue #3: Adição da capacidade de criação de exames com base em questões selecionadas.
- Issue #4: Implementação da funcionalidade de resposta a exames.
- Issue #5: Adição da opção de gerar relatórios com base nas respostas aos exames.
- Issue #6: Implementação do encerramento de exames.
N/A
Até o momento, os seguintes requisitos já foram atendidos:
- Sistema de autenticação de usuários implementado.
- Funcionalidade de criação de questões desenvolvida.
- Capacidade de criar exames com base em questões selecionadas adicionada.
- Funcionalidade de resposta a exames implementada.
- Opção de gerar relatórios com base nas respostas aos exames adicionada.
- Encerramento de exames foi implementado.
- Melhorias na interface do usuário para uma experiência mais intuitiva.
- Implementação de notificações para usuários sobre ações importantes.
- Adição de testes automatizados para garantir a qualidade do código.
- Melhorias de desempenho e otimização da aplicação.
- Refatoração do código para melhor organização e legibilidade.
O que foi bem =)
- O sistema de autenticação de usuários foi implementado de forma segura e funcional.
- As funcionalidades de criação de questões e exames foram concluídas conforme o planejado.
- A resposta a exames e geração de relatórios estão funcionando corretamente.
O que foi mal =(
- Houve um atraso na implementação do encerramento de exames, causando um pequeno atraso na entrega.
- Melhorar a comunicação entre a equipe para evitar atrasos e garantir um fluxo de trabalho mais eficiente.
- Aumentar a cobertura de testes automatizados para garantir a estabilidade e qualidade do código.
- Realizar uma revisão mais detalhada antes da entrega para evitar problemas de última hora.
Para a entrega 3, o nosso objetivo era submeter o sistema de aplicação de exames online mais completo possível. Tivemos alguns desafios, mas acreditamos que conseguimos superá-los e assim realizamos um ótimo trabalho. No decorrer do desenvolvimento, foram definidos os seguintes itens:
- Implementar dashboards funcionais para aluno e professor.
- Desenvolver a funcionalidade de correção automática de provas e relatórios mais detalhados.
- Implementação de diferentes tipos de questão (Múltipla escolha e Verdadeiro ou Falso).
- Criação de um design limpo e responsivo para o site.
- Adição de testes automatizados para garantir a qualidade do código.
- Refatoração do código para melhor organização e legibilidade.
- Issue #7: Implementação de dashboards funcionais para aluno e professor.
- Issue #8: Desenvolvimento da funcionalidade de correção automática de provas e relatórios mais detalhados.
- Issue #9: Implementação de diferentes tipos de questão (Múltipla ecolha e Verdadeiro ou Falso).
- Issue #10: Criação de um design limpo e responsivo para o site.
- Issue #11: Adição de testes automatizados para garantir a qualidade do código.
- Issue #12: Refatoração do código para melhor organização e legibilidade.
Também conseguimos garantir a implementação das user stories descritas no arquivo UserStory.md.
N/A
O projeto já é funcional e atende a todos os requisitos descritos no documento "Doc. de Especificação". Além disso, mudanças no design do site garantem uma experiência mais intuitiva e agradável para o usuário. As funções implementadas são:
- RA.01 - O sistema deve fornecer meios para autenticação de usuários com perfis de Professores e Estudantes.
- RP.01 - Cadastrar questões do tipo múltipla escolha.
- RP.02 - Cadastrar questões do tipo verdadeiro ou falso.
- RP.03 - Cadastrar questões com resposta do tipo valor numérico.
- RP.04 - Cadastrar um exame contendo um número arbitrário de questões.
- RP.06 - Atribuir um valor a cada questão presente no exame. Este valor deve ser considerado ao atribuir a nota a nota do aluno.
- RP.07 - A qualquer momento deve possibilitar a visualização de um relatório com as respostas dos estudantes a um exame.
- RP.08 - A qualquer momento deve possibilitar a visualização de um relatório com as nota obtida por cada estudante que respondeu a um dado exame.
- RE.01 - Realizar um exame, respondendo as questões definidas para este exame e concluindo ao final. Um exame concluído não pode ser editado.
- RE.02 - Visualizar a nota de um exame executado após este ser encerrado.
- RE.03 - Para um exame realizado e já encerrado, visualizar as questões acertada e erradas.
- RE.04 - Listar e visualizar dados de exames.
- RE.06 - Um exame em realização deve ser automaticamente concluído no momento de encerramento. Não permitindo a edição da resposta pelos estudantes.
- RG.01 - O sistema deve fornecer uma interface amigável e intuitiva para facilitar a interação dos usuários.
- RG.02 - O sistema deve ser responsivo, ou seja, adaptar-se a diferentes dispositivos (como computadores, tablets e smartphones) para oferecer uma experiência consistente.
- RG.03 - O sistema deve ser capaz de armazenar e recuperar dados de forma confiável, garantindo a integridade das informações. Deve ser utilizado um banco de dados.
- RD.01 - Para facilitar os testes, o sistema deve ser possível executar o sistema com SQLLite. O projeto deve incluir dados pre-carregado (seed) com seguintes as seguintes informações: usuário: “pedro”, email: “pedro@unb.br”, senha: “asdfg”, perfil: professor usuário: “ester”, email: “ester@unb.br” senha: “asdfg”, perfil: estudante algumas questões alguns exames em abertos e não respondidos pela ester alguns exames em abertos e já respondidos pela ester alguns exame agendados alguns exames encerrados, e já respondidos pela ester alguns exames encerrados, e não respondidos pela ester
- RQ.01 - O sistema deve seguir a arquitetura MVC
- RQ.02 - O sistema deve seguir a terminologia descrita nessa especificação quando aplicável, tanto na interface do usuário quanto no código do projeto.
- RQ.03 - O sistema deve seguir princípios DRY quanto aos templates (camada view)
- RQ.04 - O sistema deve seguir princípios DRY quanto aos controladores. Rotas devem seguir o padrão restful.
- RQ.05 - O sistema deve seguir princípios DRY quanto aos modelos.
Na próxima iteração, pretendemos realizar as seguintes tarefas:
- Adição de verificação de data e hora para exames agendados
- Melhorias finais de design da aplicação
- Correção de bugs e melhorias.
As tarefas relacionadas à data podem ser encontradas no documento "Doc. de Especificação" seções RP.05, RE.05
O que foi bem =)
- Todos os requisitos principais foram antendidos e o projeto pôde ser entregue dentro do prazo.
- Houve uma melhor comunicação entre os membros da equipe.
- O design foi facilitado devido ao uso da biblioteca Boostrap.
- Todas as funcionalidades estão devidamente testatas
O que foi mal =(
- Ainda há pequenos bugs que precisam ser corrigidos e serão sanados na próxima iteração.
- Embora haja melhorado, há falhas de comunicação que prejudicaram o andamento do projeto.
- Melhor organização da equipe com os quadros Kanban.
- Melhorar a comunicação entre a equipe para evitar atrasos e garantir um fluxo de trabalho mais eficiente.
- Implementar a metodologia Scrum à risca para garantir uma entrega mais eficiente.