Forward From
Introdução
Neste documento busca-se construir a matriz de pós-rastreabilidade através da ótica Foward-From. Foram feitas duas tabelas, a primeira para requisitos funcionais e a segunda para os não funcionais.
Metodologia
Primeiramente os requisitos previamente elicitados foram padronizados no arquivo de elicitações. A partir disso, buscamos no backlog e em historias de usuário o épico, feature e user story relacionada a cada um dos requisitos.
Como o Duolingo não é um software com código aberto não foi possível relacionar o código fonte com cada requisito, apenas a funcionalidade já implementada.
Também foi foram defidos os seguintes critérios para avaliar os requisitos:
-
Requisito totalmente implementado: Atende a todos os critérios de aceitação;
-
Requisito parcialmente implementado: Atende a pelo menos um critério de aceitação;
-
Requisito não implementado: Não atende a nenhum critério de aceitação;
Autores
Membros Participantes |
---|
Luis Gustavo |
Vitor Meireles |
Requisitos Funcionais
Legenda:
- RF: Requisito Funcional
- RNF: Requisito Não-Funcional
- US: Histório de Usuário
- EP: Épico
- FE: Feature
RF01
RF01 | O aplicativo deve permitir o usuário praticar antes de se cadastrar |
---|---|
Épico | EP01 |
Feature | FE01 |
US | US01 |
Critérios de Aceitação | US01 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF02
RF02 | O aplicativo permite que o usuário escolha o(s) idioma(s) que ele deseja aprender |
---|---|
Épico | EP03 |
Feature | FE08 |
US | US28 |
Critérios de Aceitação | US28 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF03
RF03 | O aplicativo deve ter metas diárias para engajamento do usuário |
---|---|
Épico | EP04 |
Feature | FE14 |
US | US40 |
Critérios de Aceitação | US40 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF04
RF04 | O usuário deve poder escolher o nível de conhecimento que têm no idioma |
---|---|
Épico | EP01 |
Feature | FE01 |
US | US01 |
Critérios de Aceitação | US01 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF05
RF05 | O aplicativo deve desbloquear as lições que estão abaixo no nível de conhecimento prévio do usuário |
---|---|
Épico | EP04 |
Feature | FE15 |
US | US01 |
Critérios de Aceitação | US01 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF06
RF06 | O aplicativo deve exibir feedback durante as lições |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US56 |
Critérios de Aceitação | US56 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF07
RF07 | O aplicativo exibir as conquistas ao finalizar das atividades |
---|---|
Épico | EP04 |
Feature | FE12 |
US | US38 |
Critérios de Aceitação | US01 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF08
RF08 | Deve existir anúncio após as lições |
---|---|
Épico | EP05 |
Feature | FE19 |
US | US53 |
Critérios de Aceitação | US53 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF09
RF09 | O usuário deve poder criar sua conta na plataforma |
---|---|
Épico | EP01 |
Feature | FE01 |
US | US02 & US03 |
Critérios de Aceitação | US02 & US03 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF10
RF10 | O aplicativo deve me permitir entrar com minha conta |
---|---|
Épico | EP01 |
Feature | FE02 |
US | US04 & US05 |
Critérios de Aceitação | US04 & US05 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF11
RF11 | O aplicativo deve me permitir sair da minha conta |
---|---|
Épico | EP01 |
Feature | FE03 |
US | US06 |
Critérios de Aceitação | US06 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF12
RF12 | Deve existir uma assinatura premium |
---|---|
Épico | EP05 |
Feature | FE18 |
US | US51 & US52 |
Critérios de Aceitação | US51 & US52 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF13
RF13 | Caso o usuário tenha assinatura premium ele não deve ver anúncios |
---|---|
Épico | EP05 |
Feature | FE18 |
US | US52 |
Critérios de Aceitação | US52 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF14
RF14 | O usuário deve poder editar seu perfil na plataforma |
---|---|
Épico | EP02 |
Feature | FE04 |
US | US07 & US08 & US09 & US10 |
Critérios de Aceitação | US07 & US08 & US09 & US10 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF15
RF15 | O aplicativo deve permitir que o usuário faça login com email/facebook ou conta do google |
---|---|
Épico | EP01 |
Feature | FE02 |
US | US04 & US05 |
Critérios de Aceitação | US04 & US05 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF16
RF16 | O aplicativo deve permitir que o usuário veja o seu progresso |
---|---|
Épico | EP04 |
Feature | FE15 |
US | US41 & US42 |
Critérios de Aceitação | US41 & US42 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF17
RF17 | O aplicativo permite que o usuário adicione e siga amigos |
---|---|
Épico | EP04 |
Feature | FE13 |
US | US39 |
Critérios de Aceitação | US04 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF18
RF18 | O aplicativo deve permitir o usuário a fazer questões de escuta, leitura, escrita e fala |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US30 & US31 & US32 |
Critérios de Aceitação | US30 & US31 & US32 |
Observação | Requisito totalmente implementado |
Funcionalidade | |
RF19
RF19 | O sistema é divido em níveis e com uma progressão ideal para cada módulo |
---|---|
Épico | EP04 |
Feature | FE15 |
US | US41 & US42 |
Critérios de Aceitação | US41 & US42 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF20
RF20 | Cada aula deve ter exercícios para serem realizados |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US30 & US31 & US32 |
Critérios de Aceitação | US30 & US31 & US32 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF21
RF21 | O aplicativo deve apresentar as aulas/exercícios de forma progressiva |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US33 |
Critérios de Aceitação | US33 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF22
RF22 | O aplicativo deve ter uma pontuação que reflita o número de aulas/exercícios feitos |
---|---|
Épico | EP04 |
Feature | FE11 |
US | US57 |
Critérios de Aceitação | US57 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF23
RF23 | O aplicativo deve ter ligas/grupos, que sejam progressivas, que separem os usuários de acordo com seu desempenho |
---|---|
Épico | EP04 |
Feature | FE11 |
US | US36 & US37 |
Critérios de Aceitação | US36 & US37 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF24
RF24 | O aplicativo deve ter um ranking dos usuários que estão em uma mesma divisão |
---|---|
Épico | EP04 |
Feature | FE11 |
US | US35 |
Critérios de Aceitação | US35 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF25
RF25 | O aplicativo deve contabilizar o número de dias seguidos que usuário cumpre sua meta diária |
---|---|
Épico | EP04 |
Feature | FE14 |
US | US40 |
Critérios de Aceitação | US40 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF26
RF26 | O aplicativo deve notificar o usuário sobre as metas diárias |
---|---|
Épico | EP02 |
Feature | FE06 |
US | US62 |
Critérios de Aceitação | US62 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF27
RF27 | O aplicativo deve possuir uma moeda, que sirva de recompensa para os exercícios realizados |
---|---|
Épico | EP04 |
Feature | FE16 |
US | US43 & US44 & US45 |
Critérios de Aceitação | US43 & US44 & US45 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF28
RF28 | O aplicativo deve possuir uma loja aonde ele poderá gastar suas moedas adquiridas |
---|---|
Épico | EP04 |
Feature | FE17 |
US | US46 & US47 & US48 & US49 & US50 |
Critérios de Aceitação | US46 & US47 & US48 & US49 & US50 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF29
RF29 | O aplicativo deve repetir exercícios, de forma que ajude o usuário a aprender/relembrar |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US61 |
Critérios de Aceitação | US61 |
Observação | Requisito totalmente implementado |
Funcionalidade | |
RF30
RF30 | Se o usuário ficar algum tempo sem utilizar o aplicativo, o aplicativo deve fazer com que ele volte ao início do curso |
---|---|
Épico | EP03 |
Feature | FE08 |
US | US60 |
Critérios de Aceitação | US60 |
Observação | Requisito totalmente implementado |
Funcionalidade | Como o tempo é grande, aproximadamente um mês, não conseguimos capturar essa tela 😔 |
RF31
RF31 | Deve aparecer uma mensagem dando Boas Vindas |
---|---|
Épico | EP01 |
Feature | FE02 |
US | US59 |
Critérios de Aceitação | US50 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF32
RF32 | Devo ser apresentado com a opção de Registro ou Login |
---|---|
Épico | EP01 |
Feature | FE01 & FE02 |
US | US01 & US02 & US04 |
Critérios de Aceitação | US01 & US02 & US04 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF33
RF33 | Deve haver mais de uma opção de idioma disponível para aprender |
---|---|
Épico | EP03 |
Feature | FE08 |
US | US29 |
Critérios de Aceitação | US29 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF34
RF34 | Deve apresentar uma opção para ver mais idiomas disponíveis |
---|---|
Épico | EP03 |
Feature | FE08 |
US | US29 |
Critérios de Aceitação | US29 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF35
RF35 | Deve existir um teste de nivelamento |
---|---|
Épico | EP04 |
Feature | FE15 |
US | US58 |
Critérios de Aceitação | US58 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF36
RF36 | O aplicativo deve aumentar a pontuação do usuário a cada aula finalizada |
---|---|
Épico | EP04 |
Feature | FE11 |
US | US57 |
Critérios de Aceitação | US57 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF37
RF37 | O usuário deve receber incentivos e dicas durante os exercícios |
---|---|
Épico | EP03 |
Feature | FE09 |
US | US56 |
Critérios de Aceitação | US56 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF38
RF38 | O aplicativo deve mostrar os Termos e Política de Privacidade |
---|---|
Épico | EP02 |
Feature | FE06 |
US | US25 & US26 |
Critérios de Aceitação | US25 & US26 |
Observação | Requisito totalmente implementado |
Funcionalidade | |
RF39
RF39 | O usuário deve poder testar a versão premium gratuitamente |
---|---|
Épico | EP05 |
Feature | FE18 |
US | US29 |
Critérios de Aceitação | US29 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF40
RF40 | O usuário deve poder escolher um novo idioma a qualquer momento |
---|---|
Épico | EP03 |
Feature | FE08 |
US | US29 |
Critérios de Aceitação | US29 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF41
RF41 | O usuário deve poder ajustar quanto tempo por dia ele quer gastar fazendo lições |
---|---|
Épico | EP02 |
Feature | FE04 |
US | US55 |
Critérios de Aceitação | US55 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF42
RF42 | O usuário deve poder ajustar as configurações dos exercícios |
---|---|
Épico | EP02 |
Feature | FE05 |
US | US12 & US13 & US14 & US15 |
Critérios de Aceitação | US12 & US13 & US14 & US15 |
Observação | Requisito totalmente implementado |
Funcionalidade |
RF43
RF43 | O usuário deve poder compartilhar seu progresso |
---|---|
Épico | EP04 |
Feature | FE13 |
US | US54 |
Critérios de Aceitação | US54 |
Observação | Requisito totalmente implementado |
Funcionalidade |
Requisitos Não-Funcionais
RNF01
RNF01 | O aplicativo deve engajar o usuário |
---|---|
Épico | EP04 |
Feature | FE13 |
US | US54 |
Critérios de Aceitação | US54 |
Observação | -- |
Funcionalidade |
RNF02
RNF02 | O aplicativo deve ser fácil de usar |
---|---|
Épico | EP03 |
Feature | FE10 |
US | US34 |
Critérios de Aceitação | US34 |
Observação | -- |
Funcionalidade |
RNF03
RNF03 | O aplicativo deve interativo |
---|---|
Épico | EP04 |
Feature | FE12 |
US | US38 |
Critérios de Aceitação | US38 |
Observação | -- |
Funcionalidade |
RNF04
RNF04 | O aplicativo deve ser monetizado |
---|---|
Épico | EP05 |
Feature | FE17 |
US | US46 até US50 |
Critérios de Aceitação | US46 até US50 |
Observação | -- |
Funcionalidade |
RNF05
RNF05 | O aplicativo deve ser gameficado |
---|---|
Épico | EP04 |
Feature | FE16 |
US | US43 até US45 |
Critérios de Aceitação | US45 até US45 |
Observação | -- |
Funcionalidade |
RNF06
RNF06 | O usuário deve ser recompensado por seu progresso |
---|---|
Épico | EP04 |
Feature | FE16 |
US | US43 até US45 |
Critérios de Aceitação | US43 até US45 |
Observação | -- |
Funcionalidade |
RNF07
RNF07 | O software deve ser multiplataforma |
---|---|
Épico | EP03 |
Feature | FE10 |
US | US34 |
Critérios de Aceitação | US34 |
Observação | -- |
Funcionalidade |
RNF08
RNF08 | O aplicativo deve permitir a segurança dos dados do usuário |
---|---|
Épico | EP01 |
Feature | FE02 |
US | US04 |
Critérios de Aceitação | US04 |
Observação | -- |
Funcionalidade | -- |
RNF09
RNF09 | O aplicativo deve ser rápido de usar |
---|---|
Épico | EP02 |
Feature | FE05 |
US | US12 até US20 |
Critérios de Aceitação | US12 até US20 |
Observação | -- |
Funcionalidade | -- |
RNF10
RNF10 | O aplicativo funcionar 24/7 |
---|---|
Épico | EP02 |
Feature | FE05 |
US | US12 até US20 |
Critérios de Aceitação | US12 até US20 |
Observação | -- |
Funcionalidade | -- |
RNF11
RNF11 | O aplicativo deve estimular a competitividade |
---|---|
Épico | EP04 |
Feature | FE11 |
US | US35 até US37 |
Critérios de Aceitação | US35 até US37 |
Observação | -- |
Funcionalidade |
RNF12
RNF12 | O aplicativo deve promover a integração dos usuários |
---|---|
Épico | EP04 |
Feature | FE13 |
US | US39 |
Critérios de Aceitação | US39 |
Observação | -- |
Funcionalidade |
Referências
SERRANO, Maurício; SERRANO, Milene. Requisitos - Aula 26. 2º/2019. 44 slides. Material apresentado para a disciplina de Requisitos de Software no curso de Engenharia de Software da UnB, FGA.
RocketChat-Requisitos. Disponível em: https://marcosnbj.github.io/2019.1-RocketChat/P%C3%B3s-Rastreabilidade/Foward-From/ . Acesso em 12/11/2019.
GuiaBolso-Requisitos. Disponível em: https://fga-disciplinas.github.io/2019.1-Guia-Bolso/pos-rastreabilidade/forward/ . Acesso em 12/11/2019.