Skip to content

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; PRINT EF01
RF2 CDU01; CEN01; LEX01; HUS2 PRINT -
RF3 EPI02; HUS03 ! - EF03
RF4 EPI02 PRINT EF04
RF5 EPI01; HUS04; CEN02; LEX02 PRINT EF05
RF6 EPI01; CEN02/ LEX02 PRINT EF6
RF7 EPI01; CDU02; CEN02; LEX02 PRINT EF7
RF8 EPI01; CDU02; CEN02; LEX02 PRINT EF8
RF9 EPI01; CDU02; HUS05; LEX02 PRINT EF9
RF10 EPI01; CDU04; HUS06; CEN04; LEX04 PRINT EF10
RF11 EPI01; CDU04; HUS07; CEN04; LEX04 PRINT EF11
RF12 EPI01; HUS08 X - EF12
RF13 EPI01, EPI02; CDU03; HUS09; CEN03; LEX03 PRINT EF13
RF14 EPI01; CDU03; CEN03; LEX03 PRINT 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