Ir para o conteúdo

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