Você está na página 1de 26

Documentação de um

Produto de Software

Haktoo

Nome dos Alunos:

Guilherme Ruiz da Silva – 22.00756-3

Leonardo Cazotto Stuber – 22.01290-7

Lucas Machado da Costa Pennone - 21.01086-2

Rafael Rubio Carvento – 18.01092-0

2022
ÍNDICE DETALHADO
1. LEVANTAMENTO DOS REQUISITOS DO SISTEMA DE SOFTWARE............ 3
1.1. EXTRAÇÃO DE REQUISITOS .................................................................................................................. 3
1.2. ANÁLISE DA COLETA DE REQUISITOS .................................................................................................. 3
2. ESPECIFICAÇÃO DOS REQUISITOS DO SISTEMA DE SOFTWARE ............. 4
2.1. REQUISITOS FUNCIONAIS ..................................................................................................................... 4
2.2. REQUISITOS NÃO-FUNCIONAIS .......................................................................................................... 12
2.3. REGRAS DE NEGÓCIO......................................................................................................................... 12
3. ANÁLISE/PROJETO .................................................................................................. 13
3.1. DIAGRAMA DE CLASSES .................................................................................................................... 13
3.2. DIAGRAMA DE SEQUÊNCIA ................................................................................................................ 14
3.3. MODELO DE BANCO DE DADOS ......................................................................................................... 15
3.4. DIAGRAMA DE ATIVIDADE ................................................................................................................ 16
4. IMPLEMENTAÇÃO ................................................................................................... 16
5. TESTES......................................................................................................................... 16
6. RESULTADOS E CONSIDERAÇÕES ..................................................................... 17
APÊNDICE I ....................................................................................................................... 25

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 2
1. Levantamento dos Requisitos do Sistema de Software

1.1. Extração de Requisitos

Para realizar a extração de requisitos para o sistema de software, foi-


se utilizado o meio da entrevista, a qual foi realizada juntamente com o
Professor Rodrigo Bossini. Segue abaixo o roteiro de entrevista juntamente
com suas respostas. (OBS: Antes da entrevista, foi introduzido ao Profº
Rodrigo que o sistema de software será uma gamificação de sua matéria com
perguntas testes no estilo do game “Kahoot!”, entretanto, adaptadas a
matéria em questão, dando a ele uma possibilidade de avaliar a sala como
um todo ou o desempenho de cada aluno individualmente).

1. Quais são seus critérios de avaliação numa Prova e/ou atividade? (Pontos
a serem avaliados, como organização, tentativa, entre outros.)

2. Considerando sua matéria, existem diferentes níveis de erro? Se sim, quais


são a classificação que você utiliza?

3. O que você considera que são dados importantes para coletar e serem
armazenados e exibidos em algum tipo de dashboard (painel) para ter uma
visão geral do entendimento dos alunos sobre o assunto?

4. Você poderia citar exemplos de perguntas, a serem expostas para avaliar


os alunos?

5. Para quais públicos você imagina o jogo? (Somente alunos da Mauá,


público em geral, alunos de CIC e SIN etc.).

6. Existe algo a mais a qual você gostaria de que fosse implementado na


plataforma que não foi comentado?

1.2. Análise da Coleta de Requisitos

1. Primeiro realiza-se a verificação do problema (se o problema foi


realmente resolvido), em segundo, verifica-se se o programa

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 3
desenvolvido faz o uso de uma estrutura apropriada, e um terceiro ponto
avaliado, verifica-se se o desenvolvedor utilizou boas práticas em
questão de nomeação e organização do programa.

2. Erros pequenos como a falta de um ponto e vírgula no final de uma


expressão são desconsiderados, entretanto, o uso errado de um
argumento o qual piora o desempenho ou fazendo com que o problema
não tenha nem sido resolvido há um desconto de nota (contando que
teve alguma lógica). Mas, caso contrário, se não houve alguma lógica
ou a questão estiver em branco, ela é desconsiderada.

3. Tempo que o aluno demorou para a solução do problema; quantidades


de acertos na visão geral; média da turma por questão; qual o tipo de
erro mais comum em cada questão.

4. Teste de equivalência (estruturas diferentes e verificar equivalência);


teste de escrita de código (verificando a capacidade do aluno na
resolução de problemas); testes dentro do sistema (avaliando a
capacidade do aluno de conseguir encontrar soluções a partir de um
sistema apresentado).

5. Se aplica para o público geral independe da Mauá.

6. Permitir a comparação ou estudo de dados históricos; ter a opção de


visualizar os perfis de cada aluno (desempenho, número de acertos e
áreas com maior desempenho, individualmente); probabilidade de
acertar ou não (com base de acertos ou erros de questões anteriores).

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 4
2. Especificação dos Requisitos do Sistema de Software

2.1. Requisitos Funcionais

Catálogo de Atores
Nome Descrição
Aluno O Aluno será um usuário do sistema o qual
poderá realizar o login e se cadastrar no
sistema, terá acesso ao jogo, e poderá
verificar seus resultados pessoais.
Professor O Professor é um usuário do sistema o qual
além de ter acesso a todas as funções que
o Aluno é capaz, também pode: Manter
questões (podendo criar, deletar, alterar e
ler as questões), consultar um painel onde
será mostrado um desempenho geral dos
Alunos e dele mesmo, além de também
poder limpar todas as respostas enviadas.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 5
Casos de Uso
Realizar Cadastro
Breve descrição
Este caso tem a função onde o Aluno e/ou o Professor
podem realizar o seu cadastro no sistema caso ainda não o
possua.
Fluxo Básico
Esse caso se dá início quando o ator “Aluno” ou
“Professor” escolhem a opção de “Realizar Cadastro”.
1. O ator “Aluno” ou “Professor deve informar: Nome,
RA/Matrícula (para professores), e-mail, Login e Senha.
[FA1]
2. Seu cadastro é realizado no sistema.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Dados incompletos.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” não informam, ou informam incorretamente,
algum dado solicitado.
1. O sistema informa que um dado foi mal inserido e
pede para tentar novamente.
2. O fluxo retorna ao passo 1 do fluxo básico.

Efetuar Login
Breve descrição
Este caso tem a função onde o Aluno e/ou o Professor
podem realizar o seu login no sistema para ter acesso ao
mesmo.
Fluxo Básico
Esse caso se dá início quando o ator “Aluno” ou
“Professor” escolhem a opção de “Efetuar Login”.
1. O ator “Aluno” ou “Professor” deve informar seu Login e
Senha. [FA1] [FA2]
2. Seu login foi realizado com sucesso e é permitido o acesso
ao sistema.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Dados não coincidem.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” erram o login e/ou a senha.
1. O sistema informa que um dado foi mal inserido e
pede para tentar novamente.
2. O fluxo retorna ao passo 1 do fluxo básico.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 6
[FA2] Fluxo Alternativo 2: O usuário não tem um
cadastro.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” não tem um login no sistema.
1. O sistema informa que nenhum login foi encontrado.
2. O fluxo retorna ao passo 1 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o cadastro no sistema.

Recuperar Senha
Breve descrição
Este caso tem a função onde o Aluno e/ou o Professor
podem recuperar sua senha caso tenham esquecido/perdido a
que inseriram durante o cadastro.
Fluxo Básico
Esse caso se dá início quando o ator “Aluno” ou
“Professor” escolhem a opção de “Esqueci minha senha”.
1. O ator “Aluno” ou “Professor” deve informar seu Registro e
e-mail cadastrado. [FA1]
2. É enviado um e-mail com um código para o ator.
3. Se o código digitado pelo ator coincide com o código
enviado ao e-mail o ator pode alterar sua senha
4. Ao concluir retoma-se a tela de login.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: O usuário não tem um
cadastro.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” não tem um cadastro no sistema.
1. O sistema informa que nenhum RA foi encontrado.
2. O fluxo retorna ao passo 1 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o cadastro no sistema.

Iniciar Jogo
Breve descrição
Este caso tem a função onde o Aluno e/ou o Professor
podem iniciar o jogo, onde abrirá uma janela com um quiz de
perguntas e respostas.
Fluxo Básico
Esse caso se dá início quando o ator “Aluno” ou
“Professor” escolhem a opção de “Iniciar jogo”.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 7
1. O ator “Aluno” ou “Professor” se depararão com uma
pergunta com 4 alternativas. [FA3] [FA4]
2. O ator selecionou a resposta correta. [FA1] [FA2].
3. O Fluxo 1 e 2 se repetirá até que todas as perguntas
sejam respondias.
4. Ao final será mostrado ao usuário qual foi sua
porcentagem de acerto e o jogo se fecha
automaticamente.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Resposta incorreta.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” escolhem a resposta incorreta.
1. O sistema informa que a resposta está incorreta e
informa a resposta correta.
2. O fluxo retorna ao passo 3 do fluxo básico.

[FA2] Fluxo Alternativo 2: O tempo acabou.


Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” não escolhem uma resposta.
1. O sistema informa que a resposta está incorreta e
informa a resposta correta.
2. O fluxo retorna ao passo 3 do fluxo básico.

[FA3] Fluxo Alternativo 3: O quiz não contém 10


questões.
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” tentam iniciar o quiz, porém o mesmo não
contém 10 questões.
1. O sistema informa que o quiz não contém 10
questões.
2. O fluxo se finaliza e retorna a tela inicial do
programa.

[FA4] Fluxo Alternativo 4: O RA não confere.


Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” tentam iniciar o quiz, porém o RA informado
não confere com o cadastrado.
1. O sistema informa que o RA não confere com o
cadastrado.
2. O fluxo se finaliza e retorna a tela inicial do
programa.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 8
Pré-condições
O usuário já deve ter realizado o login no sistema e o
sistema deve conter 10 questões já cadastradas.

Verificar Resultados Pessoais


Breve descrição
Este caso tem a função onde o Aluno e/ou o Professor
podem verificar seu desempenho pessoal em relação a todas
as perguntas já respondidas por ele(a).
Fluxo Básico
Esse caso se dá início quando o ator “Aluno” ou
“Professor” escolhem a opção de “Resultados”.
1. O ator “Aluno” ou “Professor” se depararão com um
gráfico/tabela o qual mostrará quantas questões foram
acertadas pelo Aluno/Professor e todas as suas tentativas
registradas no sistema. [FA1]
2. O ator retorna a página anterior no momento que finalizar
as consultas necessárias.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Sem dados
Esse fluxo alternativo ocorre quando o “Aluno” ou
“Professor” não responderam a nenhum quiz.
1. O sistema informa que não há dados suficientes
para mostrar o gráfico/tabela.
2. O fluxo retorna ao passo 2 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o login no sistema e
finalizado ao menos um jogo.

Manter Questões
Breve descrição
Este caso tem a função onde o Professor pode criar,
alterar, consultar, ou remover questões relacionadas ao quiz
em que ele e os alunos poderão jogar, para isso abrirá uma
janela com as questões já criadas e a possibilidade de editá-
las, removê-las, criar ou apenas verificar as já existentes.
Fluxo Básico
Esse caso se dá início quando o ator “Professor” escolhe
a opção de “Questões”.
1. O ator “Professor” se deparará com uma tabela de
questões.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 9
2. O ator selecionou uma questão, lá ele pode consultar
quais são as possíveis respostas e a resposta correta.
[FA1] [FA2] [FA3]
3. O ator volta a página anterior no momento que finalizar as
consultas ou alterações necessárias.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Criar Questão.
Esse fluxo alternativo ocorre quando o
“Professor” escolhe a opção de criar uma questão.
1. O ator “professor” terá de escolher qual a pergunta
que deseja realizar.
2. Popular o campo de possíveis respostas e
selecionar a resposta correta.
3. O fluxo retorna ao passo 2 do fluxo básico.

[FA2] Fluxo Alternativo 2: Alterar Questão.


Esse fluxo alternativo ocorre quando o
“Professor” deseja alterar uma questão.
1. O ator “professor” seleciona qual questão deseja
alterar.
2. O ator realiza as alterações necessárias que
desejava.
3. O fluxo retorna ao passo 2 do fluxo básico.

[FA3] Fluxo Alternativo 3: Excluir Questão.


Esse fluxo alternativo ocorre quando o
“Professor” deseja excluir uma questão.
1. O ator “professor” seleciona qual questão deseja
excluir.
2. O sistema confirma se o ator deseja mesmo excluir
a questão.
3. O fluxo retorna ao passo 2 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o login no sistema como
professor.

Consultar Painel de Desempenho Geral


Breve descrição
Este caso tem a função onde o Professor pode verificar
o desempenho geral da sala, lá poderá além de ver a

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 10
possibilidade de um aluno acertar uma questão como também
a quantidade de questões acertadas pelos alunos sobre cada
questão.
Fluxo Básico
Esse caso se dá início quando o ator “Professor” escolhe
a opção de “Resultado”.
1. O ator “Professor” se deparará com uma tabela/gráfico o
qual mostrará as tentativas de todos os alunos e
professores além de também a quantidade de questões
acertadas em cada uma delas. [FA1]
2. O ator retorna a página anterior no momento que finalizar
as consultas necessárias.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: Não Há Dados Suficientes.
Esse fluxo alternativo ocorre quando nenhum
aluno da turma associada ao professor jogou o quiz.
1. O sistema mostrará que não há dados suficientes
para formar um gráfico/tabela.
2. O fluxo retorna ao passo 2 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o login no sistema como
professor.

Limpar Resultados
Breve descrição
Este caso tem a função onde o Professor pode apagar
todas as respostas enviadas.
Fluxo Básico
Esse caso se dá início quando o ator “Professor” escolhe
a opção de “Limpar Resultados”.
1. O ator “Professor” deve ler e interpretar o que a exclusão
afetará e clicar no botão “Limpar”.
2. O ator terá de confirmar a exclusão clicando no botão
“sim”. [FA1]
3. O programa exibe uma mensagem de êxito e retorna a tela
de resultados.

Fluxo Alternativo
[FA1] Fluxo Alternativo 1: O professor seleciona não.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 11
Esse fluxo alternativo ocorre quando o professor
desiste de limpar os resultados e clica em não na caixa
de confirmação.
1. O sistema não limpará os resultados.
2. O fluxo retorna ao passo 1 do fluxo básico.

Pré-condições
O usuário já deve ter realizado o login no sistema como
professor.

2.2. Requisitos Não-Funcionais

• Para realizar qualquer função no programa o usuário deve ter uma


conexão estável a internet.
• Caso solicite um e-mail para troca de senha deve-se esperar o tempo
necessário para o envio do e-mail.

2.3. Regras de Negócio

• O Quiz só pode ser iniciado quando populado com 10 perguntas.


• O quiz só será aberto se o usuário colocar corretamente o seu RA o
qual o sistema realizará a conferência de que se é o mesmo que o
inserido em seu cadastro.
• O Usuário antes de iniciar o quiz deve se identificar colocando além
de seu RA cadastrado seu nome e curso.
• Para realizar o cadastro de algum professor (administrador do
sistema) deve-se inserir na tela de cadastro no login e senha a palavra
“admin” e o login/senha que deseja, como no exemplo: Login:
“adminLeonardo” Senha: “adminSenhaForte1234”.
• O Aluno e/ou Professor que estiverem realizando o Quiz deve passar
por todas as questões antes de enviar.
• Não é possível retornar a questão anterior do Quiz já que o mesmo
dará um feedback instantâneo ao usuário se ele acertou ou não.
• Qualquer função de exclusão, saída ou alteração de dados contém
uma mensagem de confirmação ao usuário para saber se o mesmo
tem certeza ao tomar a ação que deseja.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 12
3. Análise/Projeto

3.1. Diagrama de Classes

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 13
3.2. Diagrama de Sequência

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 14
3.3. Modelo de Banco de Dados

NOTA: A tabela "Respostas" não contém chave primária, pois admite tuplas
iguais.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 15
3.4. Diagrama de Atividade

4. Implementação
O repositório do projeto pode ser consultado a partir do GitHub, segue link:
https://github.com/guifami/Haktoo-S1.git
(OBS: O repositório está como privado, pois, como o sistema de recuperar
senhas envia um e-mail, a senha para envio do e-mail está no código,
portanto, caso queira ver o repositório envie um e-mail para 22.01290-
7@maua.br com o seu nickname do GitHub para disponibilizar acesso do
repositório, ou utilize o arquivo .zip enviado junto com este arquivo.)

Haktoo-S1-master.zip

5. Testes
Nosso projeto foi testado por todos os membros do grupo, além de colaborações
de professores, amigos e familiares para realizar testes em busca de possíveis
erros. Após todos os erros corrigidos, foi realizado mais uma rodada de testes
e não foram encontrados erros.

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 16
6. Resultados e Considerações
Levando como ponto de vista os requisitos apresentados pelo Professor Rodrigo
Bossini extraídos a partir da entrevista inicial, pode-se dizer que o projeto
cumpriu com todos os requisitos necessários faltando apenas cumprir com
certos opcionais cobertos na última pergunta da entrevista, como a
probabilidade de acerto de certa pergunta ao login de Professor. Segue abaixo
as prints das principais telas do programa.
Login:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 17
Cadastro:

Recuperar Senha:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 18
Token:

Nova Senha:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 19
Home Page:

Regras:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 20
Resultado:

Pre-Quiz:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 21
Quiz:

Manter Questões:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 22
Criar Questão:

Consultar Questões:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 23
Alterar Questão:

Excluir Questão:

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 24
Limpar Resultados:

Apêndice I

1. Quais são seus critérios de avaliação numa Prova e/ou atividade? (Pontos
a serem avaliados, como organização, tentativa, entre outros.)

2. Considerando sua matéria, existem diferentes níveis de erro? Se sim, quais


são a classificação que você utiliza?

3. O que você considera que são dados importantes para coletar e serem
armazenados e exibidos em algum tipo de dashboard (painel) para ter uma
visão geral do entendimento dos alunos sobre o assunto?

4. Você poderia citar exemplos de perguntas, a serem expostas para avaliar


os alunos?

5. Para quais públicos você imagina o jogo? (Somente alunos da Mauá,


público em geral, alunos de CIC e SIN etc.).

6. Existe algo a mais a qual você gostaria de que fosse implementado na


plataforma que não foi comentado?

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 25
Respostas:
1. Primeiro realiza-se a verificação do problema (se o problema foi realmente
resolvido), em segundo, verifica-se se o programa desenvolvido faz o uso
de uma estrutura apropriada, e um terceiro ponto avaliado, verifica-se se o
desenvolvedor utilizou boas práticas em questão de nomeação e
organização do programa.

2. Erros pequenos como a falta de um ponto e vírgula no final de uma


expressão são desconsiderados, entretanto, o uso errado de um argumento
o qual piora o desempenho ou fazendo com que o problema não tenha nem
sido resolvido há um desconto de nota (contando que teve alguma lógica).
Mas, caso contrário, se não houve alguma lógica ou a questão estiver em
branco, ela é desconsiderada.

3. Tempo que o aluno demorou para a solução do problema; quantidades de


acertos na visão geral; média da turma por questão; qual o tipo de erro
mais comum em cada questão.

4. Teste de equivalência (estruturas diferentes e verificar equivalência); teste


de escrita de código (verificando a capacidade do aluno na resolução de
problemas); testes dentro do sistema (avaliando a capacidade do aluno de
conseguir encontrar soluções a partir de um sistema apresentado).

5. Se aplica para o público geral independe da Mauá.

6. Permitir a comparação ou estudo de dados históricos; ter a opção de


visualizar os perfis de cada aluno (desempenho, número de acertos e áreas
com maior desempenho, individualmente); probabilidade de acertar ou não
(com base de acertos ou erros de questões anteriores).

Documentação de um Produto de Software – Autora do Modelo: Profa. Dra. Ana Paula Gonçalves Serra 26

Você também pode gostar