Backward From
Introdução
Neste documento, exploraremos a abordagem "Backward From" na elicitação de requisitos, que nos leva do resultado desejado às raízes dos requisitos. Diferente das metodologias convencionais, essa técnica oferece uma compreensão mais profunda do contexto e das variáveis que influenciam os requisitos.
Objetivo
Este documento é um guia para usar a técnica "Backward From" na obtenção de requisitos. Vamos explorar como essa abordagem nos ajuda a entender melhor o que um sistema precisa, começando pelo resultado desejado e retrocedendo até as necessidades fundamentais. A ideia é oferecer uma ferramentas para aplicar essa técnica de engenharia reversa de requisitos de forma inovadora, ajudando no desenvolvimento de sistemas mais sólidos e claros.
Metodologia
A rastreabilidade vai além de apenas gerenciar requisitos; ela se torna um importante aliado na busca pela excelência na gerência de qualidade. O Meta-modelo proposto por Toranzo oferece uma abordagem que facilita a especificação do rastreamento, tornando o processo mais simples e eficaz.
Ao usar o Meta-modelo de Toranzo para a elaboração do artefato, passamos por dois passos importantes, que estão explicados nos slides 19 e 21 do arquivo "Requisitos-Aula 26"[1] de Miriam Sayão e Julio Cesar Sampaio do Prado Leite.
Essas etapas iniciais compreendem os conceitos de níveis e elos, fundamentais para a construção de um rastro eficaz.
Níveis:
- Ambiental: Envolvendo informações provenientes do contexto em que a organização está inserida;
- Organizacional: Compreendendo dados intrínsecos à organização, como missão, objetivos e estratégias;
- Gerencial: Incluindo informações cruciais para a gerência do projeto;
- Desenvolvimento: Abordando dados associados aos diversos artefatos gerados ao longo do processo de desenvolvimento, tais como artefatos de requisitos, diagramas, códigos, casos de teste, entre outros.
Elos Principais:
- Satisfação: Estabelece uma dependência da classe origem em relação à satisfação da classe destino.
- Recurso: Delimita uma dependência da classe origem em relação ao recurso da classe destino.
- Responsabilidade: Registra a participação, responsabilidade e ação de pessoas sobre os artefatos.
- Representação: Captura a representação ou modelagem dos requisitos em outras linguagens.
- Alocado: Relaciona a classe origem à classe destino, representando um subsistema.
- Agregação: Indica a "composição" de elementos.
Para colocar em prática a metodologia, inicialmente elaboramos duas tabelas distintas: uma dedicada aos requisitos funcionais ( Tabela 1 ) e outra para os requisitos não funcionais ( Tabela 2 ). Posteriormente, inserimos a fonte de origem desses requisitos nas tabelas, garantindo a rastreabilidade. Por último, empregando o Meta-modelo de Toranzo, delineamos as interconexões entre esses requisitos por meio dos Elos.
Tabelas de requisitos
Este segmento tem como foco a criação da tabela de rastreamento de requisitos funcionais, a qual é apresentada de forma detalhada na Tabela 1 abaixo:
Legendas:
- RFnº : Requisito funcional;
- RNFnº : Requisito não funcional;
- QSTnº : Questionário;
- QSTNFnº : Questionário não-funcional;
- STnº : Storytelling;
- STNFnº : Storytelling não-funcional;
- ENTnº : Entrevista;
- ENTNFnº : Entrevista não-funcional;
- BSnº : Brainstorming;
- BSNFnº : Brainstorming não-funcional;
- INTnº : Introspecção;
- INTNFnº : Introspecção não-funcional;
Requisitos funcionais:
Tabela 1: Requisitos funcionais
ID | Descrição | Origem | Implementado |
---|---|---|---|
RF01 | No aplicativo deve ser possível realizar o cadastro do usuário com o uso de dados pessoais como senha, endereço, CPF e RG | INT1 , BS1 , ENT1 | Sim |
RF02 | Deve ser possível o usuário cadastrar sua biometria durante o processo de cadastro. | INT2 | Sim |
RF03 | O usuário deve poder escolher a forma de realizar o login. | QST2 | Sim |
RF04 | O usuário deve conseguir fazer o login preenchendo os campos de entrada como senha e CPF para acessar o aplicativo caso já tenha se cadastrado. | INT3 , QST4 , BS2 | Sim |
RF05 | O usuário deve poder realizar o login com a biometria | QST3 , ENT2 , BS2 | Sim |
RF06 | Deve ser possível o usuário vizualizar a localização da votação. | INT4 , QST1 , ST1 , ENT6 , BS5 | Sim |
RF07 | Deve ser possível o usuário vizualizar seu documento do título eleitoral. | INT5 , ENT3 , QST5 , ST3 | Sim |
RF08 | Deve ser possível o usuário realizar o download do documento título eleitoral no aplicativo. | INT9 , BS3 , ST2 | Sim |
RF09 | O usuário deve conseguir visualizar as notificações do aplicativo, que alertam sobre datas ou informações importantes. | INT6 , BS6 | Sim |
RF10 | O aplicativo deve ter a opção de sair/logoff disponível para o usuário. | INT7 | Sim |
RF11 | O usuário deve conseguir fazer alterações em seus dados cadastrais. | INT8, BS11 | Sim |
RF12 | No aplicativo deve ser possível o usuário realizar a recuperação da senha. | BS10 | Sim |
RF13 | Deve ser possível o usuário visualizar as dúvidas frequentes do aplicativo | BS12 | Sim |
RF14 | O aplicativo deve disponibilizar ao usuário a função de acessar o site do TSE para conseguir relatar feedbacks e problemas do aplicativo | BS13 | Sim |
RF15 | No aplicativo deve ser possível o usuário vizualizar os termos de uso. | BS7 | Sim |
RF16 | No aplicativo deve ser possível o usuário concordar ou não com os termos de uso. | BS8 | Sim |
RF17 | Deve ser possível o usuário escolher o formato do arquivo, como pdf ou doc, a ser baixado do aplicativo. | INT10 | Sim |
RF18 | O usuário deve conseguir visualizar no aplicativo todos os dados presentes em um documento de título eleitoral. | INT11 | Sim |
RF19 | Deve ser possível o usuário visualizar as rotas de sua localização atual até o seu local de votação pelo aplicativo. | INT13 | Não |
RF20 | O usuário deve conseguir escolher o local de partida. | INT14 | Não |
RF21 | O usuário deve conseguir escolher visualizar sobre as documentações nescessárias. | INT15 | Não |
RF22 | O usuário deve conseguir vizualizar os dados documentais. | INT16 | Sim |
RF23 | No aplicativo deve ser possível que o usuário realize a quitação eleitoral | ENT4 , ST5 | Não |
RF24 | O usuário deve conseguir vizualizar as informações da quitação eleitoral. | INT17 , ENT5 | Sim |
RF25 | O usuário deve conseguir vizualizar dados referentes ao criminal eleitoral. | INT18 | Sim |
RF26 | O usuário deve conseguir informar a sua justificativa no aplicativo. | INT19 | Sim |
RF27 | O usuário deve realizar download da comprovação de sua justificativa. | INT20 | Não |
RF28 | O usuário deve poder alterar seus dados pessoais, por meio do site do TSE. | INT21 , BS11 | Sim |
RF29 | Deve ser possível o usuário apagar seus dados pessoais. | INT22 | Sim |
RF30 | Deve ser possível o usuário ver o histórico de dados apagados. | INT23 | Não |
RF31 | Deve ser possível o usuário acompanhar a apuração de votos | ENT8 | Não |
RF32 | O usuário deve visualizar o candidato eleito referente ao ano da votação. | ENT9 | Não |
RF33 | Eu como usuário, quero poder visualizar as notificação de datas e horários das eleições | ST4 , ENT7 | Não |
RF34 | O aplicativo deve permitir que os usuários alterem a foto do documento do título eleitoral. | INT24 | Não |
RF35 | O aplicativo deve permitir que o usuário altere o local de partida. | INT25 | Não |
RF36 | O aplicativo deve notificar sobre atualizações eleitorais. | INT26 | Não |
RF37 | O aplicativo deve demonstrar ao usuário os lembretes de votação e de mudanças de localização para votação. | INT27 | Sim |
RF38 | O aplicativo deve permitir que o usuário receba a comprovação de seus débitos. | INT28 | Sim |
RF39 | O aplicativo deve mostrar ao usuário as autenticidades de seus documento. | INT29 | Sim |
RF40 | O aplicativo deve permitir a leitura do qr code do título eleitoral. | INT30 , BS4 | Sim |
RF41 | O aplicativo deve permitir que o usuário visualize tutoriais a respeito de seus documentos. | INT31 | Não |
RF42 | O aplicativo deve permitir que o usuário envie dúvidas. | INT32 | Não |
RF43 | O aplicativo deve oferecer um meio de ajuda para os usuários que não entenderam alguma coisa de sua utilidade | BS14 | Não |
Fonte: SENA, Esther; SIQUEIRA, Mariiana. 2023.
A tabela de rastreamento de requisitos não-funcionais, está apresentada de forma detalhada na Tabela 2 abaixo:
Requisitos não funcionais:
Tabela 2: Requisitos não funcionais
ID | Descrição | Origem | Implementado |
---|---|---|---|
RNF01 | O aplicativo deve possuir um forúm para a retirada de dúvidas dos usuários. | INTNF1 , ENTNF5 | Não |
RNF02 | O aplicativo deve permitir apenas usuários acima de 16 anos, por serem aptos a votar | BSNF1 | Sim |
RNF03 | O aplicativo deve contribuir para a transparência e Eficiência das Eleições com os dados das eleições sendo disponíveis para os usuários | BSNF2 , INTNF2 | Não |
RNF04 | O aplicativo deve ser confiável para o usuário | BSNF3 | Sim |
RNF05 | Para o aplicativo ser utilizado, o dispositivo que mantém ele instalado deve precisar ter acesso a internet | BSNF4 | Sim |
RNF06 | O aplicativo deve oferecer o termo de uso de forma fácil de ser encontrado, além de explicar ao usuário a sua utilidade de modo a evitar problemas de entendimento a respeito de informações do aplicativo. | ENTNF1 | Sim |
RNF07 | O aplicativo deve possuir um design intuitivo com elementos como botão e menu padronizados | ENTNF2 | Sim |
RNF08 | A navegação do aplicativo não deve ser poluída, como excesso de informações que podem confundir os usuários. | ENTNF3 | Sim |
RNF09 | Na navegação do aplicativo deve possuir linkagem com o site do TSE ou outros aplicativos externos, assim o aplicativo possui algumas funcionalidades não sendo pertencentes a ele, mas de fora dele. | ENTNF4 | Sim |
RNF10 | O aplicativo deve oferecer suporte ao usuário. | ENTNF5 | Sim |
RNF11 | O aplicativo deve manter sigilo nos dados do usuário a respeito de sua justificativa, permitindo a proteção dos dados, apenas os responsáveis o vê. | INTNF3 | Sim |
RNF12 | O aplicativo deve oferecer segurança ao usuário, com a proteção nos dados, utilizando etapas de segurança. | INTNF4 , QSTNF2 , STNF2 | Sim |
RNF13 | O aplicativo deve manter a atualização das informações do local da votação de cada usuário. | QSTNF1 , STNF1 | Sim |
Fonte: SENA, Esther; SIQUEIRA, Mariiana. 2023.
Elos
Os elos desenvolvidos neste artefato fazem referência aos requisitos elicitados listados nas tabelas 1 e 2, seguindo o Meta-Modelo de Toranzo para estruturação de seus elos de rastreabilidade, vistos abaixo na tabela 3.
Elos de rastreabilidade
Tabela 3 - Elos de rastreabilidade.
Elo | Especificação |
---|---|
Agregação | implica na união ou composição de elementos |
Representação | abrange a tradução ou modelagem de requisitos em diferentes linguagens |
Satisfação | a classe de origem depende da satisfação proporcionada pela classe de destino |
Recurso | a classe de origem depende dos recursos fornecidos pela classe de destino |
Responsabilidade | documenta o envolvimento, responsabilidade e ação de indivíduos em relação aos artefatos |
Alocado | a classe de origem está associada à classe de destino, representando um subsistema |
Fonte: SENA, Esther; SIQUEIRA, Mariiana. 2023.
Elos Funcionais
EF01
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF02
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF03
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF04
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF05
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF06
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF07
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF08
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF09
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF10
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF11
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF12
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
EF13
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
Elos não funcionais
ENF01
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
ENF02
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
ENF03
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
ENF04
-
Nível: Desenvolvimento
-
Elementos Rastreáveis:
-
Elos:
Bibliografia
LOPES, Pedro. RAISE - UM METAMODELO DE INFORMAÇÃO DE RASTREABILIDADE Backward From. Disponível em: https://repositorio.ufmg.br/bitstream/1843/SLSS-8HTLX6/1/pedrolopesrochalealjr.pdf. Acesso em: 15 Novembro. 2023.
Referências
[1] SERRANO, Milene e SERRANO, Maurício. Slide Requisitos. Disponível em: https://aprender3.unb.br/pluginfile.php/2692879/mod_resource/content/1/Requisitos%20-%20Aula%20026.pdf. Acesso em: 15 Novembro. 2023.
Histórico de versão
Versão | Data | Descrição | Autor | Revisor |
---|---|---|---|---|
1.0 |
15/11/2023 | Criando estrutura do documento com formatação de tabelas, introdução, objetivo e metodologia. | Esther Sena e Mariiana Siqueira | João Victor e Mateus Orlando |
1.1 |
17/11/2023 | Adicionando RF e RNF nas tabelas | Esther Sena e Mariiana Siqueira | João Victor e Mateus Orlando |
1.2 |
17/11/2023 | Adicionando e preenchendo os Elos | Esther Sena e Mariiana Siqueira | João Victor e Mateus Orlando |
1.3 |
02/12/2023 | Correções de rastreabilidade e elos após inspeção | Esther Sena e Mariiana Siqueira | João Victor e Mateus Orlando |