Forward From
Introdução
O "forward-from" (para frente, a partir de) é uma abordagem de pós-rastreabilidade que envolve a coleta de informações de rastreabilidade entre os requisitos e os artefatos gerados nas atividades de desenvolvimento subsequentes.
No contexto da rastreabilidade entre requisitos, o "forward-from" consiste no mapeamento das dependências entre os requisitos. Isso significa identificar se um requisito refina outro requisito, generaliza ou substitui algum requisito anterior. Por exemplo, um requisito pode ser uma evolução de outro requisito existente, incorporando novas funcionalidades ou modificando as existentes. Essa relação de dependência é importante para entender como os requisitos se relacionam entre si e para garantir que todos sejam adequadamente atendidos durante o desenvolvimento do software.
Metodologia
A metodologia adotada foi o Meta-modelo de Toranzo¹, que propõe quatro níveis de classificação para as informações rastreadas, sendo eles:
- Ambiental: informações oriundas do ambiente em que está inserida a organização e como podem afetar o desenvolvimento do sistema
- Organizacional: informações relacionadas a organização (metas, padrões e objetivos) e seus respectivos impactos nos requisitos do sistema
- Gerencial: informações que permitem associar requisitos com tarefas, auxiliando na gestão do projeto
- Desenvolvimento: informações relacionadas aos artefatos gerados durante o desenvolvimento (diagramas, testes, etc.)
No contexto do projeto, as informações apresentadas neste artefato Forward From se encaixam na classificação Desenvolvimento, visto que os requisitos e os documentos/artefatos desenvolvidos a partir dos mesmos apresentam informações fundamentais para o desenvolvimento do projeto.
Dentro deste Meta-modelo, o suporte à rastreabilidade identifica diferentes tipos de elos², sendo eles:
- Satisfação: indica a classe de origem que depende da satisfação da classe de destino
- Recurso: indica a classe de origem que depende de recurso(s) da classe de destino
- Responsabilidade: indica a participação de pessoas sobre os artefatos (responsabilidades e ações)
- Representação: representação ou modelagem dos requisitos em outras linguagens
- Alocado: classe de origem relacionada a classe de destino, representando subsistema
- Agregação: indica composição de elementos
Matriz
Os requisitos funcionais e não funcionais previamente elicitados foram analisados e listados em uma tabela, formando uma matriz. Para isto, foi necessário verificar o estado da implementação dos requisitos, ou efetuar a criação dos protótipos caso não tivessem implementados na aplicação. Cada requisito foi analisado por determinado aluno, cobrindo assim todos os requisitos elicitados.
A Tabela 1 apresenta a legenda utilizada para identificar os diferentes tipos de artefatos.
Legenda | Artefato |
---|---|
HUS | História de Usuário |
EPI | Épico (backlog) |
CDU | Casos de Uso |
CEN | Cenários |
LEX | Léxicos |
NFR | NFR Framework |
ESP | Especificação Suplementar |
RF | Requisitos Funcionais |
RNF | Requisitos não Funcionais |
REP | Representação |
IMP | Implementação |
✔ | Implementado |
X | Não Implementado |
! | !mente implementado |
* | Implementação indefinida |
Tabela 1: Legenda (Autor: MEISTER, Guilherme. 2024).
A tabela 2 abaixo apresenta a matriz forward form, relacionando os requisitos com seus respectivos artefatos e elos:
REQUISITO | ARTEFATOS | IMP | REP | ELO |
---|---|---|---|---|
RF1 | EPI1; HUS1; | ✔ | EF01 | |
RF2 | CDU01; CEN01; LEX01; HUS2 | ✔ | - | |
RF3 | EPI02; HUS03 | ! | - | EF03 |
RF4 | EPI02 | ✔ | EF04 | |
RF5 | EPI01; HUS04; CEN02; LEX02 | ✔ | EF05 | |
RF6 | EPI01; CEN02/ LEX02 | ✔ | EF6 | |
RF7 | EPI01; CDU02; CEN02; LEX02 | ✔ | EF7 | |
RF8 | EPI01; CDU02; CEN02; LEX02 | ✔ | EF8 | |
RF9 | EPI01; CDU02; HUS05; LEX02 | ✔ | EF9 | |
RF10 | EPI01; CDU04; HUS06; CEN04; LEX04 | ✔ | EF10 | |
RF11 | EPI01; CDU04; HUS07; CEN04; LEX04 | ✔ | EF11 | |
RF12 | EPI01; HUS08 | X | - | EF12 |
RF13 | EPI01, EPI02; CDU03; HUS09; CEN03; LEX03 | ✔ | EF13 | |
RF14 | EPI01; CDU03; CEN03; LEX03 | ✔ | EF14 | |
RF15 | EPI01; HUS10; CEN08; LEX08 | ✔ | - | EF15 |
RF16 | EPI01; HUS11 | * | - | EF16 |
RF17 | EPI01 | * | - | EF17 |
RF18 | EPI01 | * | - | EF18 |
RF19 | EPI02 | ✔ | - | EF19 |
RF20 | EPI02 | ✔ | - | EF20 |
RF21 | EPI02 | ✔ | - | EF21 |
RF22 | EPI02 | ✔ | - | EF22 |
RF23 | EPI01; CDU07; HUS12; CEN04, CEN07; LEX07 | ✔ | - | EF23 |
RF24 | EPI02 | ✔ | - | EF24 |
RF25 | HUS13; ESP; NFR | ✔ | - | EF25 |
RNF1 | HUS13; ESP; NFR | ✔ | - | EF26 |
RNF2 | CEN; ESP; NFR | ✔* | - | EF27 |
RNF3 | HUS14; ESP; NFR | X | - | EF28 |
RNF4 | EPI04; HUS15; ESP; NFR | ✔* | - | EF29 |
RNF5 | EPI04; HUS16; ESP; NFR | * | - | EF30 |
RNF6 | EPI04; HUS16; ESP; NFR | ✔ | - | EF31 |
RNF7 | EPI03; HUS17; ESP; NFR | ✔* | - | EF32 |
RNF8 | ESP; NFR | ✔* | - | EF33 |
RNF9 | EPI03; ESP; NFR | * | - | EF34 |
RNF10 | EPI03; ESP; NFR | ✔* | - | EF35 |
RNF11 | ESP; NFR | ! | - | EF36 |
RNF12 | ESP; NFR | ✔ | - | EF37 |
RNF13 | ESP; NFR | * | - | EF38 |
RNF14 | HUS17; ESP; NFR | ✔ | - | EF39 |
Tabela 2: Matriz Forward Form (Fonte: MEISTER, Guilherme. 2024).
Observações
-
Requisitos com a implementação descrita como * foram marcados desta forma devido ao fato de serem funcionalidades imaginadas pela equipe, uma vez a mesma não possui acesso ao "ponto de vista" da empresa dentro do aplicativo, ou devido a falta de informações sobre a arquitetura do aplicativo Consumidor.gov.
-
Requisitos com a implementação descrita como ✔* foram marcados desta forma devido ao fato de serem testáveis, porém as métricas estabelecidas podem ser ultrapassadas devido a certos fatores (problemas de conexão, inexperiência de usuário, etc).
Elos
A tabela 3 abaixo mostra os elos do Forward:
ID | REQUISITO | SATISFAÇÃO | RECURSO | ALOCADO | AGREGAÇÃO |
---|---|---|---|---|---|
EF1 | RF1 | HUS1 | CDU1 A CDU8 | NFR01 | - |
EF2 | RF2 | HUS2 | CDU1, CEN1, LEX1 | NF01 | RF3 A RF9 |
EF3 | RF3 | HUS3 | - | NFR01 | RF4 |
EF4 | RF4 | HUS3 | CEN01; CDU01 | NFR01 | INT03, INT04 |
EF5 | RF5 | HUS4, HUS5 | LEX02; CEN02; CDU02 | NFR01 | INT05, INT06, INT07 |
EF6 | RF6 | HUS4 | LEX02; CEN02; CDU02 | NFR01 | INT06, INT07 |
EF7 | RF7 | HUS5 | LEX02; CEN02; CDU02 | NFR01 | INT07 |
EF8 | RF8 | HUS4 | LEX02; CEN02; CDU02 | NFR01 | INT08 |
EF9 | RF9 | HUS4, HUS5 | LEX02; CEN02; CDU02 | NFR01 | INT09 |
EF10 | RF10 | HUS06 | LEX03, LEX04; CEN03, CEN04; CDU03, CDU04 | NFR01 | RF11 |
EF11 | RF11 | HUS07 | LEX04; CEN04; CDU04 | NFR01 | RF12 |
EF12 | RF12 | HUS08 | - | NFR01 | - |
EF13 | RF13 | HUS09 | LEX03; CEN03; CDU03 | NFR01 | RF14 |
EF14 | RF14 | HUS09 | LEX03; CEN03; CDU03 | NFR01 | - |
EF15 | RF15 | HUS10 | LEX08; CEN08; CDU08 | NFR01 | RF25 |
EF16 | RF16 | HUS11 | - | NFR01 | - |
EF17 | RF17 | HUS11 | LEX09 | NFR01 | RF16 |
EF18 | RF18 | HUS11 | LEX09 | NFR01 | RF16 |
EF19 | RF19 | HUS6, HUS7, HUS8 | LEX04; CEN02, CEN04; CDU02, CDU04; | NFR01 | CEN02 |
EF20 | RF20 | HUS13 | LEX05; CEN05; CDU05 | NFR01 | - |
EF21 | RF21 | HUS6, HUS7, HUS8 | LEX04; CEN02, CEN04; CDU02, CDU04 | NFR01 | CEN02 |
EF22 | RF22 | HUS6, HUS9 | CDU01, CDU03, CDU04; LEX01; CEN01 | NFR | RF10, RF14 |
EF23 | RF23 | HUS12 | CDU04, CDU07 | NFR01 | NFR01; RF10 |
EF24 | RF24 | HUS3, HUS8 | LEX01; CEN04; CDU01, CDU05 | NFR03 | RF4 |
EF25 | RF25 | HUS10 | CDU04, CDU08 | NFR1 | NFR03, RF15 |
EF26 | RNF1 | HUS13 | - | NFR01 | RNF2 |
EF27 | RNF2 | HUS13 | CDU01, CDU02, CDU04, CDU06 | NFR01 | RF1, RF7 |
EF28 | RNF3 | HUS14 | - | NFR01 | RNF2 |
EF29 | RNF4 | HUS15 | - | NFR01, NFR02 | RNF7, RNF10 |
EF30 | RNF5 | HUS16 | - | NFR02 | RF1, RNF16 |
EF31 | RNF6 | HUS16 | - | NFR02 | RF1, RNF16 |
EF32 | RNF7 | HUS17 | - | NFR03 | RF10 |
EF33 | RNF8 | HUS02, HUS04, HUS06 | LEX01, LEX02, LEX04; CEN01, CEN02, CEN04; CDU01, CDU02, CDU04; | - | |
EF34 | RNF9 | - | ESP | NFR02 | - |
EF35 | RNF10 | - | ESP | NFR03 | RNF7 |
EF36 | RNF11 | - | ESP | NFR06 | - |
EF37 | RNF12 | - | ESP | NFR06 | - |
EF38 | RNF13 | - | ESP | - | RF1, RNF6 |
EF39 | RNF14 | - | ESP | NFR01 | - |
Tabela 3: Elos Forward Form (Fonte: GALDINO, Henrique. 2024).
Referência Bibliográfica
1. SERRANO, Milene; SERRANO, Maurício. Requisitos - Aula 26. 2019. Disponível em: https://aprender3.unb.br/pluginfile.php/2845096/mod_resource/content/1/Requisitos%20-%20Aula%20026.pdf. Acesso em: 12 de jun de 2024. Acessado em: 12 de junho de 2024
2. SAYÃO, Miriam; LEITE, Julio. Rastreabilidade de Requisitos. PUC-Rio: Departamento de Informática, ISSN 0103-9741, Rio de Janeiro, 2005. Disponível em: https://aprender3.unb.br/pluginfile.php/2845099/mod_resource/content/3/05_20_sayao.pdf. Acesso em: 12 de jun de 2024.
Bibliografia
POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamental. Acessado em 12 de junho de 2024
Histórico de Versões
Versão | Data de execução | Data de revisão | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|---|
1.3 | 08/07/2024 | 08/07/2024 | Corrigindo matriz | Henrique Galdino | Guilherme Meister, Igor Thiago, Júlio César, Matheus Ferreira, Rodrigo Gontijo |
1.2 | 20/06/2024 | 20/06/2024 | Adicionando elos | Guilherme Meister, Henrique Galdino, Igor Thiago, Júlio César, Matheus Ferreira, Rodrigo Gontijo | Guilherme Meister, Henrique Galdino, Igor Thiago, Júlio César, Matheus Ferreira, Rodrigo Gontijo |
1.1 | 16/06/2024 | 16/06/2024 | Corrigindo e complementando metodologia e tabelas | Henrique Galdino | Júlio César |
1.0 | 12/06/2024 | 12/06/2024 | Criação do artefato | Guilherme Meister | Henrique Galdino |