Forward From
Introdução
A rastreabilidade pode ser definido como uma técnica usado para determinar o relacionamento entre os requisitos, arquitetura e a implementação final do produto, auxiliando a compreender os artefatos. Vale ressaltar que os requisitos não podem ser gerenciados efetivamente sem sua rastreabilidade, na qual se divide em pré-rastreabilidade (sendo requisitos ligados a fontes) e pós-rastreabilidade (requisitos ligados aos artefatos criados durante o ciclo de vida do produto de software), onde é conhecido também como Gerência de Desenvolvimento de Software baseado à Baseline.
Metodologia
A metodologia utilizada para conectar os requisitos com os artefatos foi o "foward-from" (para frente, a partir de). Desse modo, a pós-rastreabilidade compreende informações de rastreabilidade entre requisitos e artefatos de atividades de desenvolvimento subsequentes, bem como a rastreabilidade entre requisitos, que é sobre o mapeamento de dependências entre requisitos. Um exemplo desse tipo de rastreabilidade é a informação de que um requisito refina outro requisito, generaliza ou o substitui.
Mapeamento
Na Tabela 1 é possível ver a legenda referente as Tabelas abaixo, as quais as quais demostram a pós-rastrabilidade associando os requistos a sua implementação.
Legenda | Artefato |
---|---|
US | História usuário |
ST | Storytelling |
UC | Casos de Uso |
C | Cenários |
L | Léxico |
ES | Especificação Suplementar |
INT | Introspecção |
Q | Questionário |
GLO | Glossário |
ENT | Entrevista |
RF | Requisitos Funcionais |
RNF | Requisitos não Funcionais |
Tabela 1: Legenda (Fonte: autor, 2023).
Requisitos Funcionais
RF01
RF01 | Deve existir um sistema de recompensas para incentivar os jogadores |
---|---|
Épico | E08 |
Tema | Ranqueamento |
História de Usuário | US17 Eu, como usuário, desejo participar de um sistema de ranqueamento, para me sentir motivado |
Léxico | L10 |
Casos de uso | UC05 |
Cenários | C10 |
Artefatos (elicitação de requisitos) | Q04 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF01-RF03 |
RF02
RF02 | Deve existir uma apresentação inicial do aplicativo para o usuário no primeiro acesso |
---|---|
Épico | E05 |
Tema | Tutoriais |
História de Usuário | US10 Eu, como usuário, desejo que um tutorial do aplicativo seja exibido na primeira vez que eu utilizá-lo, para que eu não fique desorientado |
Léxico | - |
Casos de uso | - |
Cenários | C08 |
Artefatos (elicitação de requisitos) | Q10 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF03
RF03 | Deve haver uma classificação, em termos de nível, dos jogadores. |
---|---|
Épico | E08 |
Tema | Ranqueamento |
História de Usuário | US17 Eu, como usuário, desejo participar de um sistema de ranqueamento, para me sentir motivado |
Léxico | - |
Casos de uso | UC05 |
Cenários | - |
Artefatos (elicitação de requisitos) | Q04 Q08 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF01-RF03 |
RF04
RF04 | Deve ser possível adicionar outros jogadores |
---|---|
Épico | E10 |
Tema | Socialização |
História de Usuário | US21 Eu, como usuário, desejo adicionar outros jogadores como contatos, para fazer novos amigos |
Léxico | - |
Casos de uso | - |
Cenários | - |
Artefatos (elicitação de requisitos) | ST07 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF04 |
RF05
RF05 | Deve ser possível aprender movimentos de xadrez por meio de tutoriais |
---|---|
Épico | E06 |
Tema | Tutoriais |
História de Usuário | US12 Eu, como usuário, desejo aprender movimentos de xadrez por meio de tutoriais, para melhorar meu desempenho |
Léxico | L14 L15 L16 |
Casos de uso | UC04 |
Cenários | C03 |
Artefatos (elicitação de requisitos) | INT07 Q13 ST11 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF05 RF23 |
RF06
RF06 | Deve ser possível assistir partidas de outras pessoas |
---|---|
Épico | E11 |
Tema | Torneios |
História de Usuário | US23 Eu, como usuário, desejo assistir partidas de outros jogadores, para observar as técnicas usadas |
Léxico | L17 |
Casos de uso | UC03 |
Cenários | - |
Artefatos (elicitação de requisitos) | ST06 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF06 |
RF07
RF07 | Deve ser possível configurar a dificuldade da partida contra o computador |
---|---|
Épico | E01 |
Tema | Partidas |
História de Usuário | US02 Eu, como usuário, desejo configurar a modalidade e dificuldade do jogo ao iniciar uma partida para não me frustrar com a partida |
Léxico | L01 L05 L07 |
Casos de uso | UC02 |
Cenários | C01 |
Artefatos (elicitação de requisitos) | INT04 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF08, RF07M |
RF08
RF08 | Deve ser possível configurar a modalidade de jogo ao iniciar uma partida |
---|---|
Épico | E01 |
Tema | Partidas |
História de Usuário | US02 Eu, como usuário, desejo configurar a modalidade e dificuldade do jogo ao iniciar uma partida para não me frustrar com a partida |
Léxico | L04 L05 L06 |
Casos de uso | - |
Cenários | C09 |
Artefatos (elicitação de requisitos) | GLO01 INT03 ST04 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF08, RF07M |
RF09
RF09 | Deve ser possível configurar o tempo de duração da partida e incremento ao iniciar uma partida |
---|---|
Épico | E01 |
Tema | Partidas |
História de Usuário | US01 Eu, como usuário, desejo configurar o tempo de partida e incremento ao iniciar uma partida para adequar ao meu estilo de jogo |
Léxico | L04 L05 L06 L19 |
Casos de uso | - |
Cenários | C09 |
Artefatos (elicitação de requisitos) | ENT01 GLO02 ST04 |
Comentários | Implementação completa |
Funcionalidade | Video RF09 |
RF10
RF10 | Deve ser possível configurar um estilo de jogo para o robô, baseado em jogadores famosos, nas partidas contra o computador |
---|---|
Épico | E02 |
Tema | Partidas |
História de Usuário | US05 Eu, como usuário, desejo configurar um estilo de jogo para o robô, baseado em jogadores famosos, para me preparar para os campeonatos de xadrez |
Léxico | L01 L07 |
Casos de uso | UC02 |
Cenários | C01 C06 |
Artefatos (elicitação de requisitos) | ENT02 ST04 |
Comentários | Implementação Inexistente |
Funcionalidade | - |
RF11
RF11 | Deve ser possível consultar as estatísticas das partidas anteriores |
---|---|
Épico | E08 |
Tema | Ranqueamento |
História de Usuário | US18 Eu, como usuário, desejo consultar as estatísticas das minhas partidas, para me preparar melhor |
Léxico | L04 L06 L07 |
Casos de uso | - |
Cenários | - |
Artefatos (elicitação de requisitos) | ST09 Q02 |
Comentários | Implementação incompleta, é possível consultar a partida e após isso utilizar o computador para observar melhores lances, porém não há estatisticas relacionadas as partidas diretamente |
Funcionalidade | Vídeo RF11 |
RF12
RF12 | Deve ser possível consultar as regras da modalidade de jogo em andamento |
---|---|
Épico | E06 |
Tema | Tutoriais |
História de Usuário | US14 Eu, como usuário, desejo ter acesso às regras utilizadas na modalidade de xadrez durante a partida, para não me sentir desorientado |
Léxico | L04 L05 L06 L07 |
Casos de uso | - |
Cenários | C03 |
Artefatos (elicitação de requisitos) | GLO03 |
Comentários | Implementação incompleta, o modo escolhido é uma breve introdução que aparece somente no início da partida e somente para usuários "logados", ou seja, utilizando a conta da plataforma |
Funcionalidade | - |
RF13
RF13 | Deve ser possível consultar um tutorial de uso do aplicativo |
---|---|
Épico | E05 |
Tema | Tutoriais |
História de Usuário | US05 Eu, como usuário, desejo ter acesso à uma seção de tutorial do aplicativo, para me sentir seguro durante momentos de dúvida |
Léxico | - |
Casos de uso | - |
Cenários | C08 |
Artefatos (elicitação de requisitos) | INT08 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF14
RF14 | Deve ser possível elaborar tutoriais para outros jogadores |
---|---|
Épico | E07 |
Tema | Tutoriais |
História de Usuário | US07 Eu, como usuário, desejo cadastrar tutoriais para outros usuários, para auxiliar outras pessoas |
Léxico | L15 [L16] L18 |
Casos de uso | UC05 |
Cenários | C03 |
Artefatos (elicitação de requisitos) | ST13 |
Comentários | Implementação inexistente, somente pode ser criado no Lichess via web |
Funcionalidade | - |
RF15
RF15 | Deve ser possível escolher o nível do oponente ao iniciar uma partida contra outro jogador |
---|---|
Épico | E01 |
Tema | Partidas |
História de Usuário | US02 Eu, como usuário, desejo configurar a modalidade e dificuldade do jogo ao iniciar uma partida para não me frustrar com a partida |
Léxico | L04 L05 L06 L08 |
Casos de uso | - |
Cenários | C09 |
Artefatos (elicitação de requisitos) | Q08 Q04 |
Comentários | Implementação incompleta, apenas usuarios com conta na plataforma conseguem selecionar o nível de seus oponentes |
Funcionalidade | Vídeo RF08, RF07M |
RF16
RF16 | Deve ser possível jogar partidas não ranqueadas |
---|---|
Épico | E04 |
Tema | Partidas |
História de Usuário | US08 Eu, como usuário, desejo jogar partidas casuais sem interferir no meu ranqueamento, para não diminuir minha pontuação |
Léxico | L04 L05 L06 |
Casos de uso | UC01 |
Cenários | C01 C02 |
Artefatos (elicitação de requisitos) | ST03 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF16 |
RF17
RF17 | Deve ser possível jogar partidas online sem criar uma conta |
---|---|
Épico | E04 |
Tema | Partidas |
História de Usuário | US09 Eu, como usuário, desejo jogar partidas online sem precisar criar uma conta, para me divertir |
Léxico | L04 L05 L06 |
Casos de uso | UC01 |
Cenários | C01 C02 |
Artefatos (elicitação de requisitos) | Q09 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF08, RF07M |
RF18
RF18 | Deve ser possível jogar uma partida de xadrez contra o computador |
---|---|
Épico | E02 |
Tema | Partidas |
História de Usuário | US03 Eu, como usuário, desejo escolher jogar contra o computador ou contra um jogador para refletir as minhas necessidades do momento |
Léxico | L04 L05 L07 L01 |
Casos de uso | UC02 |
Cenários | C01 |
Artefatos (elicitação de requisitos) | INT01 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF18 |
RF19
RF19 | Deve ser possível jogar uma partida de xadrez contra outro jogador aleatório ou escolhido |
---|---|
Épico | E03 |
Tema | Partidas |
História de Usuário | US06 Eu, como usuário, desejo escolher o meu oponente podendo filtrar por nome e nível, para não me frustrar com a partida |
Léxico | [L04] L05 L06 L19 |
Casos de uso | UC01 |
Cenários | C02 |
Artefatos (elicitação de requisitos) | INT02 ST02 ST05 |
Comentários | Implementação Inexistente |
Funcionalidade | - |
RF20
RF20 | Deve ser possível pausar uma partida contra o computador |
---|---|
Épico | E02 |
Tema | Partidas |
História de Usuário | US04Eu, como usuário, desejo poder pausar uma partida contra o computador para poder retomá-la depois |
Léxico | [L04] L05 L07 L19 |
Casos de uso | UC02 |
Cenários | C01 |
Artefatos (elicitação de requisitos) | INT05 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF21
RF21 | Deve ser possível receber notificações sobre torneios ao vivo |
---|---|
Épico | E11 |
Tema | Torneios |
História de Usuário | US24 Eu, como usuário, desejo ser notificado quando partidas de outros jogadores iniciarem, para não perder partidas importantes para mim |
Léxico | L09 |
Casos de uso | - |
Cenários | - |
Artefatos (elicitação de requisitos) | Q03 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF22
RF22 | Deve ser possível resolver quebra cabeças elaborados por outros jogadores |
---|---|
Épico | E06 |
Tema | Tutoriais |
História de Usuário | US13) Eu, como usuário, desejo aprimorar movimentos de xadrez por meio de quebra cabeças, para me sentir desafiado |
Léxico | L18 |
Casos de uso | UC04 |
Cenários | C03 |
Artefatos (elicitação de requisitos) | GLO04 INT12 ST12 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF22 |
RF23
RF23 | Deve ser possível resolver tutoriais elaborados por outros jogadores |
---|---|
Épico | E06 |
Tema | Tutoriais |
História de Usuário | US12 Eu, como usuário, desejo aprender movimentos de xadrez por meio de tutoriais, para melhorar meu desempenho |
Léxico | L18 |
Casos de uso | UC04 |
Cenários | C03 |
Artefatos (elicitação de requisitos) | ST13 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF05 RF23 |
RF24
RF24 | Deve ser possível trocar mensagens com outros jogadores |
---|---|
Épico | E10 |
Tema | Socialização |
História de Usuário | US22 Eu, como usuário, desejo trocar mensagens com outros jogadores, para fortalecer minhas amizades |
Léxico | L02 |
Casos de uso | - |
Cenários | - |
Artefatos (elicitação de requisitos) | ST08 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF24 |
RF25
RF25 | Deve ser possível visualizar dados sobre os quebra-cabeças concluídos |
---|---|
Épico | E09 |
Tema | Ranqueamento |
História de Usuário | US20 Eu, como usuário, desejo consultar as estatísticas dos quebra cabeças resolvidos, para me preparar melhor |
Léxico | L18 |
Casos de uso | UC04 |
Cenários | C03 |
Artefatos (elicitação de requisitos) | Q02 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF26
RF26 | Deve ser possível visualizar e filtrar o ranqueamento de jogadores |
---|---|
Épico | E08 |
Tema | Ranqueamento |
História de Usuário | [US19]../modelagem/agil/us.md) Eu, como usuário, desejo visualizar e filtrar o ranqueamento dos jogadores, para me manter motivado |
Léxico | L10 |
Casos de uso | UC05 |
Cenários | C10 |
Artefatos (elicitação de requisitos) | Q06 ST10 |
Comentários | Implementação inexistente |
Funcionalidade | - |
RF27
RF27 | Não deve ser possível pausar uma partida contra outro jogador |
---|---|
Épico | E03 |
Tema | Partidas |
História de Usuário | US07 Eu, como usuário, desejo que meu oponente não possa pausar uma partida, para manter o jogo justo |
Léxico | L02 L04 L05 [L06] L19 |
Casos de uso | - |
Cenários | C02 |
Artefatos (elicitação de requisitos) | INT06 |
Comentários | Implementação completa |
Funcionalidade | Vídeo RF16 |
RF28
RF28 | Deve ser possível criar quebra cabeça para outros jogadores resolverem |
---|---|
Épico | E07 |
Tema | Tutoriais |
História de Usuário | US16 Eu, como usuário, desejo criar quebra cabeças para outros usuários resolverem, para desafiar outras pessoas |
Léxico | L18 |
Casos de uso | UC05 |
Cenários | - |
Artefatos (elicitação de requisitos) | GLO04 INT15 |
Comentários | Implementação inexistente |
Funcionalidade | - |
Requisitos Não Funcionais
RNF01
RNF01 | Sistema deve ter barra de navegação que siga padrões de UI/UX bem estabelecidos no mercado |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF02
RNF02 | Usuário deve conseguir padronizar sua interface de maneira única |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF03
RNF03 | Sistema deve ter no máximo 5 interações por funcionalidade |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF04
RNF04 | Sistema deve ter animações simples de no máximo 300 milésimos |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF05
RNF05 | Sistema deve apresentar acesso a todas as funcionalidades logo no início do app |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF06
RNF06 | Sistema deve permitir customização de tema (claro e escuro) |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF07
RNF07 | Sistema deve permitir customização de linguagem (português, inglês e espanhol) |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF08
RNF08 | Sistema deve permitir customização de som (habilitar e desabilitar efeitos sonoros) |
---|---|
NFR | NFR Usabilidade |
Especificação Suplementar | ES Usabilidade |
Comentários | Implementação completa |
RNF09
RNF09 | Sistema deve estar online todos os dias da semana, durante todo o dia |
---|---|
NFR | NFR Disponibilidade |
Especificação Suplementar | ES Confiabilidade |
Comentários | Implementação completa |
RNF10
RNF10 | Sistema deve informar sobre manutenções e possíveis tempos em que o servidor estará offline via notificação |
---|---|
NFR | NFR Disponibilidade |
Especificação Suplementar | ES Confiabilidade |
Comentários | Implementação inexistente |
RNF11
RNF11 | Sistema deve realizar backup automático dos dados do usuário todo dia em horário com menor acesso (a ser determinado pelo sistema) |
---|---|
NFR | NFR Disponibilidade |
Especificação Suplementar | ES Confiabilidade |
Comentários | Implementação inexistente |
RNF12
RNF12 | Sistema deve ser compatível com Android (de versão 9.0 até atual) |
---|---|
NFR | NFR Portabilidade |
Especificação Suplementar | ES Confiabilidade |
Comentários | Implementação completa |
RNF13
RNF13 | Sistema deve ser compatível com iOS (de versão 12 até atual) |
---|---|
NFR | NFR Portabilidade |
Especificação Suplementar | ES Suportabilidade |
Comentários | Implementação completa |
RNF14
RNF14 | Sistema deve ser disponível na Web |
---|---|
NFR | NFR Portabilidade |
Especificação Suplementar | ES Suportabilidade |
Comentários | Implementação completa |
RNF15
RNF15 | Sistema deve ser responsivo |
---|---|
NFR | NFR Portabilidade |
Especificação Suplementar | ES Suportabilidade |
Comentários | Implementação completa |
RNF16
RNF16 | Sistema deve escurecer a tela em caso de inatividade maior de X minutos definido pelo usuário |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação inexistente |
RNF17
RNF17 | Dispositivo deve bloquear tela em caso de inatividade prolongada |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação inexistente |
RNF18
RNF18 | Sistema deve guardar a última tela em que o usuário está |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação completa |
RNF19
RNF19 | Sistema deve permitir jogar partidas mesmo sem conexão de internet |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação completa |
RNF20
RNF20 | Sistema deve permitir acessar o aplicativo mesmo sem conexão de internet |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação completa |
RNF21
RNF21 | Sistema deve ter uma taxa de atraso abaixa de 100 milisSegundos |
---|---|
NFR | NFR Performance |
Especificação Suplementar | ES Performance |
Comentários | Implementação completa |
Bibliografia
[1] SERRANO, Milene; SERRANO, Maurício. Requisitos - Aula 26. 2019. Acessado em: 22/01/2023
[2] POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamental. Acessado em 22/01/2023
Histórico de Versão
Versão | Data | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|
1.0 |
22/01/2023 | Criação do documento | Lucas Macedo e Davi | Lucas Gabriel |
1.1 |
23/01/2023 | Adicionando partes do artefato | Lucas Macedo e Davi | Lucas Gabriel |
1.2 |
23/01/2023 | Adição gravação requisitos | Mauricio Machado | Davi |
2.0 |
29/01/2023 | Ajustes na metodologia, modificação de todas tabelas dos requisitos funcionais e adição dos requisitos não funcionais | Lucas Gabriel | Nicolas |
2.1 |
29/01/2023 | Links entre NFR, Especificação suplementar, Cenários, Léxicos e Casos de uso com casa requisito | Lucas Gabriel | Lucas Macedo |