Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entregas missao 2 #24

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
env/
env/
venv/
Binary file added docs/assets/SAFe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/capacidades.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/epicos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/features-alunos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/features-monitor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/features-professor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/temaestrategico.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added docs/entrega-missao2.md
Empty file.
13 changes: 13 additions & 0 deletions docs/licoes-missao2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Durante a segunda unidade, a equipe continuou a desenvolver suas habilidades e aprofundou seus conhecimentos em metodologias ágeis e práticas de desenvolvimento de software. Um dos principais focos foi a implementação de PBB (Product Backlog Building), SAFe (Scaled Agile Framework), MVP (Minimum Viable Product), critérios de aceitação e pontuação, e a criação de diagramas de fluxo de dados (DFD).

A adoção do PBB foi fundamental para a organização do backlog do projeto. A equipe conseguiu dividir as tarefas de maneira mais eficiente e priorizar as entregas com base nas necessidades do cliente.

O SAFe foi introduzido para escalonar as práticas ágeis em toda a equipe. Isso trouxe uma estrutura mais robusta para a gestão do projeto, promovendo melhor colaboração entre os membros e facilitando a coordenação de tarefas.

A criação do MVP foi um dos pontos altos desta unidade. A equipe se concentrou em desenvolver uma versão básica, mas funcional, do produto, que pudesse ser apresentada ao cliente para feedback inicial.

Os critérios de aceitação foram definidos com clareza para cada funcionalidade do projeto. Isso garantiu que todos os membros da equipe tivessem um entendimento comum sobre o que era necessário para considerar uma tarefa concluída com sucesso.

Por fim, a elaboração dos diagramas de fluxo de dados (DFD) foi crucial para entender melhor o fluxo de informações dentro do sistema.

Em resumo, a segunda unidade foi marcada por um avanço significativo nas práticas de desenvolvimento e na organização da equipe. As metodologias e ferramentas implementadas ajudaram a melhorar a eficiência e a eficácia do projeto, preparando a equipe para os desafios das próximas etapas.
45 changes: 45 additions & 0 deletions docs/missao2-criterios-aceitacao.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Critérios de Aceitação
Critérios de aceitação são fundamentais no processo de Desenvolvimento de *Software*, fornecendo definições claras e objetivas que definem quando determinada funcionalidade ou requisito é considerado satisfatoriamente implementado. Esses critérios são estabelecidos em colaboração com os *stakeholder(s)*, cliente(s), usuário(s) e membro(s) da equipe de desenvolvimento, para garantir uma compreensão comum das expectativas e padrões de qualidade esperados.

As imagens a seguir, apresentam os Critérios de Aceitação para cada uma das Histórias de Usuários presentes no *MVP*, provisoriamente definidos pelo time e *stakeholder(s)* na Missão 2.

## Critérios de Aceitação FE01 - CRUD Turma
![Critérios de Aceitação FE01 - CRUD Turma](assets/criterios-aceitacao/fe01-crud-turma.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE02 - CRUD Aluno
![Critérios de Aceitação FE02 - CRUD Aluno](assets/criterios-aceitacao/fe02-crud-aluno.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE03 - CRUD Monitor
![Critérios de Aceitação FE03 - CRUD Monitor](assets/criterios-aceitacao/fe03-crud-monitor.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE04 - CRUD Grupo
![Critérios de Aceitação FE04 - CRUD Grupo](assets/criterios-aceitacao/fe04-crud-grupo.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE05 - CRUD Conteúdo
<span style="color:white; font-size:26px;">Não entrou no MVP.</span><br><br>

## Critérios de Aceitação FE06 - CRUD Atividade
![Critérios de Aceitação FE06 - CRUD Atividade](assets/criterios-aceitacao/fe06-crud-atividade.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE07 - Emitir Planilhas
![Critérios de Aceitação FE07 - Emitir Planilhas](assets/criterios-aceitacao/fe07-emitir-planilhas.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE08 - Corrigir Atividades
![Critérios de Aceitação FE08 - Corrigir Atividades](assets/criterios-aceitacao/fe08-corrigir-atividades.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE09 - CRUD Professor
![Critérios de Aceitação FE09 - CRUD Professor](assets/criterios-aceitacao/fe09-crud-professor.png){: style="height:auto", width="100%"}

<!-- <p align="center"><strong>Tabela 1: Dados de vendas</strong></p> -->

## Critérios de Aceitação FE10 - Inserir Feedback
![Critérios de Aceitação FE10 - Inserir Feedback](assets/criterios-aceitacao/fe10-inserir-feedback.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE11 - Submeter Atividades
![Critérios de Aceitação FE11 - Submeter Atividades](assets/criterios-aceitacao/fe11-submeter-atividades.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE12 - Entrar e Sair de Grupos
![Critérios de Aceitação FE12 - Entrar e sair de grupos](assets/criterios-aceitacao/fe12-entrar-e-sair-grupos.png){: style="height:auto", width="100%"}

## Critérios de Aceitação FE13 - Visualizar e Baixar Conteúdos
<span style="color:white; font-size:26px;">Não entrou no MVP.</span><br><br>
63 changes: 63 additions & 0 deletions docs/missao2-mvp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# MVP (Minimum Viable Product)
O conceito de MVP (Minimum Viable Product), ou Produto Mínimo Viável, é fundamental na engenharia de software e no desenvolvimento de produtos. Um MVP é a versão mais simples e funcional de um produto, contendo apenas as características essenciais necessárias para atender às necessidades básicas dos usuários iniciais e validar a viabilidade da ideia no mercado. Ele permite que as empresas lancem rapidamente um produto para obter feedback real dos usuários, reduzindo riscos e orientando melhorias contínuas com base nas respostas recebidas. Essa abordagem ágil ajuda a garantir que o desenvolvimento siga na direção certa, otimizando recursos e aumentando as chances de sucesso.


<center>

## US's que fazem parte do MVP


| Épico | US | Descrição |
|- |- |- |
| EP01 - Professor |US01 |Eu como professor, quero ser capaz de criar uma turma, para que os Alunos possam ser inseridos|
| EP01 - Professor|US02 | Eu como professor, quero ser capaz de visualizar uma turma, para verificar os alunos nela inseridos|
| EP01 - Professor|US03 | Eu como professor, quero ser capaz de deletar uma turma, para caso ela não seja necessária|
| EP01 - Professor|US04 | Eu como professor, quero ser capaz de criar um aluno, para que ele possa exercer suas funções|
| EP01 - Professor|US05 |Eu como professor, quero ser capaz de visualizar os alunos, para verificar suas informações|
| EP01 - Professor|US06 | Eu como professor, quero ser capaz de editar um aluno, para mudar as informações do mesmo|
| EP01 - Professor|US07 | Eu como professor, quero ser capaz de deletar um aluno, para caso ele não seja necessário|
| EP01 - Professor|US08 | Eu como professor, quero ser capaz de criar um monitor, para que ele possa exercer suas funções|
| EP01 - Professor|US09 | Eu como professor, quero ser capaz de visualizar os monitores, para verificar suas informações |
| EP01 - Professor|US10 |Eu como professor, quero ser capaz de editar um monitor, para mudar as informações do mesmo|
| EP01 - Professor|US11 | Eu como professor, quero ser capaz de deletar um monitor, para caso ele não seja necessário|
| EP01 - Professor|US12 | Eu como professor, quero ser capaz de criar um grupo, para que os Alunos possam entrar ou sair|
| EP01 - Professor|US13 | Eu como professor, quero ser capaz de visualizar um grupo, para verificar os alunos nele inseridos|
| EP01 - Professor|US14 | Eu como professor, quero ser capaz de editar um grupo, para mudar as informações do mesmo|
| EP01 - Professor|US15 | Eu como professor, quero ser capaz de deletar um grupo, para caso ele não seja necessário |
| EP01 - Professor|US20 |Eu como professor, quero ser capaz criar uma atividade e inserir na plataforma |
| EP01 - Professor|US21 | Eu como professor, quero ser capaz de visualizar uma atividade inserida na plataforma.|
| EP01 - Professor|US22 | Eu como professor, quero ser capaz de editar uma atividade, para mudar a descrição ou resposta da mesma|
| EP01 - Professor|US23 | Eu como professor, quero ser capaz de deletar uma atividade. |
| EP01 - Professor|US24 | Eu como professor quero emitir planilhas de grupos formados |
| EP01 - Professor|US25 | Eu como professor quero emitir planilhas de turmas|
| EP01 - Professor|US26 | Eu como professor quero corrigir as atividades dos alunos|
| EP01 - Professor|US27 | Eu como professor Admin, quero ser capaz de cadastrar um professor |
| EP01 - Professor|US28 | Eu como professor Admin, quero ser capaz de editar um professor |
| EP01 - Professor|US29 | Eu como professor Admin, quero ser capaz de visualizar um professor |
| EP01 - Professor|US30 | Eu como professor Admin, quero ser capaz de deletar um professor |
| EP02 - Monitor|US31 |Eu como monitor desejo fornecer feedback para os alunos |
| EP03 - Alunos|US32 | Eu como aluno desejo responder atividades de múltipla escolha |
| EP03 - Alunos|US33 | Eu como aluno desejo responder atividades de código |
| EP03 - Alunos|US34 |Eu como aluno desejo responder atividades de envio de imagem |
| EP03 - Alunos|US35 | Eu como aluno desejo entrar em um grupo |
| EP03 - Alunos|US36 | Eu como aluno desejo sair de um grupo |

</center>

<center>




## US's que não fazem parte do MVP


| Épico | US | Descrição |
|- |- |- |
| EP01 - Professor |US16 |Eu como professor, quero ser capaz de disponibilizar conteúdo sobre a matéria na plataforma |
| EP01 - Professor|US17 | Eu como professor, quero ser capaz de visualizar um conteúdo inserido na plataforma|
| EP01 - Professor|US18 | Eu como professor, quero ser capaz de editar um conteúdo, para mudar as informações|
| EP01 - Professor|US19 | Eu como professor, quero ser capaz de deletar um conteúdo|
| EP03 - Alunos|US37 |Eu como aluno desejo visualizar  conteúdos disponibilizados pelo professor e fazer o download|

</center>
32 changes: 32 additions & 0 deletions docs/missao2-safe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Diagrama SAFe
O diagrama SAFe (Scaled Agile Framework) é uma visualização das práticas e princípios do SAFe, utilizado para aplicar metodologias ágeis em grandes organizações. Ele facilita a coordenação entre múltiplos times para entrega contínua de valor.

![SAFe](assets/SAFe.png){: style="height:auto", width="100%"}

## Tema Estratégico
Iniciativa de alto nível que alinha a execução do trabalho ágil com os objetivos estratégicos do projeto. Neste caso, estão divididos de acordo com as áreas do sistema.

![Temas Estratégicos](assets/temaestrategico.png){: style="height:auto", width="100%"}

## Épicos
Representam grandes iniciativas ou grandes marcos para o projeto, também representa um grande esforço que requer a coordenação de múltiplas equipes no projeto. Em nosso caso, separamos em 3 Épicos, que representam os módulos da aplicação.

![Épicos](assets/epicos.png){: style="height:auto", width="100%"}

## Capacidades
São conjuntos de funcionalidades de nível mais alto, estão dividos de acordo com as funcionalidades fornecem valor significativo para os stakeholders.

![Capacidades](assets/capacidades.png){: style="height:auto", width="100%"}

## Features

São unidades de trabalho que entregam valor direto aos stakeholders. Representam pedaços significativos de funcinalidades que podem ser desenvolvidos, testados e entregues de forma incremental.

### Features - Professor e Professor Admin
![Features - Professor e Professor Admin](assets/features-professor.png){: style="height:auto", width="100%"}

### Features - Monitor
![Features - Monitor](assets/features-monitor.png){: style="height:auto", width="100%"}

### Features - Alunos
![Features - Alunos](assets/features-alunos.png){: style="height:auto", width="100%"}
86 changes: 86 additions & 0 deletions docs/pontuacao.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Pontuação das Histórias de Usuário (User Stories)


## Valor de Negócio

Refere-se à importância ou impacto que uma história de usuário terá para o negócio.

<center>

Tabela 1 - Pontuação de Valor de Negócio


| Pontuação | Valor de Negócio |
|--|-- |
|1 |Valor de negócio Baixo |
|2 |Valor de negócio Médio |
|3 |Valor de negócio Alto |
|4 |Valor de negócio Muito Alto|

</center>


## Dificuldade

A dificuldade mede o esforço necessário para implementar uma história de usuário. Esse conceito ajuda a avaliar o tempo e os recursos que serão necessários para concluir uma tarefa.

<center>

Tabela 2 - Pontuação de Dificuldade

| Pontuação | Dificuldade |
|--|-- |
|1 |Muito Difícil |
|2 |Médio |
|3 |Relativamente Fácil |

</center>


## Pontuação

A pontuação é a soma do valor de negócio e da dificuldade. Essa métrica é útil para dar uma visão geral de quais histórias de usuários devem ser priorizadas, levando em conta tanto o impacto para o negócio quanto o esforço necessário para sua implementação. A pontuação ajuda a equilibrar a priorização, considerando tanto a importância da tarefa quanto a viabilidade de sua conclusão.

Por exemplo, na tabela, a história de usuário "US01" tem um valor de negócio 4 (muito alto) e uma dificuldade 3 (relativamente fácil), resultando em uma pontuação total de 7. Essa história de usuário seria considerada de alta prioridade, pois oferece um alto valor de negócio com um esforço relativamente baixo para sua implementação.

<center>

Tabela 3 - Pontuação das User Stories


| US | Valor de Negócio | Dificuldade | Pontuação |
|- |- |- |- |
|US01 | 4 | 3 | 7 |
|US05 | 4 | 3 | 7 |
|US13 | 4 | 3 | 7 |
|US24 | 4 | 3 | 7 |
|US25 | 4 | 3 | 7 |
|US26 | 4 | 3 | 7 |
|US27 | 4 | 3 | 7 |
|US28 | 4 | 3 | 7 |
|US29 | 4 | 3 | 7 |
|US30 | 4 | 3 | 7 |
|US35 | 4 | 3 | 7 |
|US36 | 4 | 3 | 7 |
|US04 | 4 | 2 | 6 |
|US08 | 4 | 2 | 6 |
|US12 | 4 | 2 | 6 |
|US20 | 3 | 3 | 6 |
|US21 | 3 | 3 | 6 |
|US22 | 3 | 3 | 6 |
|US23 | 3 | 3 | 6 |
|US31 | 4 | 2 | 6 |
|US32 | 4 | 2 | 6 |
|US34 | 4 | 2 | 6 |
|US02 | 3 | 2 | 5 |
|US06 | 3 | 2 | 5 |
|US07 | 2 | 3 | 5 |
|US09 | 2 | 3 | 5 |
|US10 | 2 | 3 | 5 |
|US14 | 3 | 2 | 5 |
|US15 | 2 | 3 | 5 |
|US33 | 4 | 1 | 5 |
|US11 | 1 | 3 | 4 |
|US03 | 2 | 1 | 3 |

</center>
8 changes: 4 additions & 4 deletions docs/produto-tecnologias.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
## **Tecnologias a Serem Utilizadas**

<p>API</p>
[![Tecnologias](https://skillicons.dev/icons?i=django,python)](https://skillicons.dev)
[![Tecnologias](https://skillicons.dev/icons?i=nodejs,docker)](https://skillicons.dev)

<p>Banco de dados</p>
[![Tecnologias](https://skillicons.dev/icons?i=postgres,mongodb)](https://skillicons.dev)
[![Tecnologias](https://skillicons.dev/icons?i=mongodb,firebase)](https://skillicons.dev)

<p style="font-size=20px;">FrontEnd - React</p>
[![Tecnologias](https://skillicons.dev/icons?i=js,react)](https://skillicons.dev)
<p style="font-size=20px;">FrontEnd</p>
[![Tecnologias](https://skillicons.dev/icons?i=js,react,tailwind)](https://skillicons.dev)


<!-- TODO melhorar colocando dentro de uma tabela com icones ou imagens que representem a tecnologia -->
20 changes: 20 additions & 0 deletions docs/rnf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Requisitos não funcionais são critérios que definem as características e restrições que um sistema ou software deve possuir, além das suas funcionalidades. Eles se concentram em aspectos que não estão diretamente relacionados às operações específicas do sistema, mas são cruciais para garantir seu desempenho, segurança, usabilidade e eficiência.

### Objetivo

O objetivo dos requisitos não funcionais é assegurar que o sistema seja eficiente, seguro, acessível e fácil de usar. Esses requisitos complementam os requisitos funcionais, garantindo que o sistema não apenas execute suas tarefas, mas também o faça de maneira eficaz e confiável.

### Metodologia

Para definir os requisitos não funcionais do projeto, foram considerados os aspectos de compatibilidade, responsividade, design, desempenho, usabilidade e acessibilidade. Esses requisitos foram estabelecidos com base nas necessidades dos usuários e nas melhores práticas de desenvolvimento de software.

### Tabela de Requisitos Não Funcionais

| **Número** | **Tipo** | **Descrição** |
|------------|----------------|------------------------------------------------------------------------------------------------------------------------------|
| RNF01 | Compatibilidade | O site deve ser compatível com os principais navegadores Web em suas versões a partir de 2024: Chrome, Microsoft Edge, Opera, Firefox, Brave e Safari. |
| RNF02 | Responsividade | O site deve ser responsivo, se adaptando a diferentes tamanhos de tela e dispositivos, como smartphones, tablets, notebooks e desktops. |
| RNF03 | Design | O site deve manter um design minimalista e consistente em toda a interface: cores, fontes, ícones. |
| RNF04 | Desempenho | O site deve ser capaz de lidar com um volume de tráfego de ao menos 1 turma simultânea. |
| RNF05 | Usabilidade | O site deve ser intuitivo e fácil de usar, permitindo que usuários com qualquer nível de experiência consigam navegar e encontrar o que querem com facilidade. |
| RNF06 | Acessibilidade | O site deve ser acessível seguindo as diretrizes estabelecidas pelo padrão WCAG, no nível AA. |
7 changes: 7 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,13 @@ nav:
- Missão 1:
- Entregas: entrega-missao1.md
- Lições Aprendidas: licoes-missao1.md
- Missão 2:
- SAFe: missao2-safe.md
- Priorização de US's: pontuacao.md
- MVP: missao2-mvp.md
- Critérios de Aceitação: missao2-criterios-aceitacao.md
- Requisitos Não Funcionais: rnf.md
- Lições Aprendidas: licoes-missao2.md

copyright: |
REQ-2024.1 <a href="https://github.com/mdsreq-fga-unb/2024.1-ObjeX" target="_blank" rel="noopener">CyberHunterz</a>
Loading