Skip to content

NFR Framework

Introdução

De acordo com a abordagem apresentada por Reinaldo Antônio da Silva (2019), o NFR Framework é um modelo utilizado na modelagem de Requisitos Não-Funcionais (RNFs), baseado em softgoals. Esses objetivos não possuem uma definição clara ou critérios de sucesso bem estabelecidos, o que os torna ideais para representar qualidades subjetivas dos sistemas.

Os softgoals ajudam desenvolvedores a tomar decisões durante o projeto, considerando aspectos como qualidade, segurança e desempenho. Além disso, podem influenciar uns aos outros, criando uma rede de impactos que afetam o sistema como um todo.

Tipos de Softgoals

Os softgoals podem ser classificados em três grupos principais:

  1. Softgoals NFR: Representam diretamente os Requisitos Não-Funcionais e podem ser organizados de forma hierárquica.
  2. Softgoals de Operacionalização: Apontam para alternativas de implementação dos softgoals NFR, por meio de funções, estruturas ou restrições.
  3. Softgoals de Afirmação: Representam justificativas baseadas em conhecimento de domínio ou prioridades, servindo como base para apoiar ou refutar decisões de projeto e seleção de alternativas.

Figura 1 - Tipos de Softgoal

tipos-nfr

Fonte: Silva, 2019.

O atendimento aos softgoals é avaliado qualitativamente por meio de rótulos como satisfeito, parcialmente satisfeito ou não satisfeito, com base nas contribuições positivas ou negativas entre os nós no Softgoal Interdependency Graph (SIG).

Nota: O Softgoal Interdependency Graph (SIG) é um grafo que mostra como diferentes objetivos não-funcionais estão inter-relacionados, ajudando a visualizar conflitos e sinergias entre eles.

Interdependências entre Softgoals

As interdependências representam as associações existentes entre os softgoals no NFR Framework. Elas se dividem em dois grandes grupos: decomposições e contribuições.

Decomposições

As decomposições ocorrem em diferentes níveis de abstração, incluindo softgoals de NFR (requisitos não funcionais), de operacionalização e de afirmação. De acordo com Silva (2019), as três primeiras categorias envolvem a subdivisão de um softgoal em metas mais específicas, facilitando seu entendimento e análise. Há ainda uma decomposição especial voltada à priorização.

Os principais tipos de decomposição são:

  • Decomposição NFR: utilizada para quebrar metas amplas e complexas em partes menores e mais manejáveis. Essa divisão ajuda a reduzir ambiguidades e a facilitar a definição de prioridades.

  • Decomposição de Operacionalização: visa transformar uma solução genérica em soluções específicas, mais diretamente implementáveis no sistema.

  • Decomposição de Afirmação: empregada para justificar ou refutar determinadas escolhas de projeto com base em argumentos técnicos ou estratégicos.

  • Decomposição de Priorização: trata-se de uma decomposição especial em que um softgoal é refinado em outro do mesmo tipo e tópico, mas com a adição de um critério de prioridade. Essa abordagem permite destacar a relevância relativa de diferentes metas.

Essas decomposições são representadas graficamente nos modelos do NFR Framework por meio de conexões entre nós (softgoals), utilizando-se setas e operadores lógicos (como AND/OR) para indicar a natureza da decomposição.

Figura 2 - Tipos de decomposição

decomposicao-nfr

Fonte: Silva, 2019.

Contribuições

No NFR Framework, os softgoals são progressivamente refinados em metas mais específicas. Como resultado, um softgoal derivado pode contribuir de forma total ou parcial — e tanto positiva quanto negativamente — para o softgoal original. A seguir, listam-se os tipos de contribuição:

  • AND: se os softgoals derivados forem satisfeitos, o softgoal primordial também será.
  • OR: se algum dos softgoals derivados forem satisfeitos, o softgoal primordial também será.
  • MAKE(++): um softgoal originado contribui de forma plenamente positiva, logo o softgoal original também será satisfeito.
  • BREAK(--): um softgoal originado contribui de forma plenamente negativa, logo o softgoal original será negado.
  • HELP(+): um softgoal originado realiza uma contribuição restritamente positiva, o que reflete da mesma forma e na mesma intensidade no softgoal primordial.
  • HURT(-): um softgoal originado realiza uma contribuição restritamente negativa, o que reflete da mesma forma e na mesma intensidade no softgoal primordial.
  • UNKNOWN(?): contribuição incógnita.
  • EQUALS: relação direta entre as satisfações do softgoal derivado e a do primordial.
  • SOME: a forma de contribuição é conhecida, no entanto, a intensidade dessa contribuição é desconhecida.

Propagação de impactos

A propagação de impactos no NFR Framework diz respeito à análise das relações de dependência entre os requisitos não funcionais, avaliando como alterações em um softgoal podem influenciar outros com os quais mantém algum tipo de vínculo. Essa avaliação é essencial para identificar efeitos colaterais, conflitos e contribuições acumuladas que podem afetar diretamente a qualidade geral do sistema.

Para que essa análise seja eficaz, é necessário compreender com clareza: - As interações entre os softgoals; - As prioridades atribuídas a cada meta de qualidade; - Os possíveis trade-offs entre requisitos concorrentes.

Ao considerar a propagação de impactos, os engenheiros de requisitos conseguem tomar decisões mais conscientes, identificar pontos críticos do sistema e gerenciar mudanças de forma mais segura e estruturada.

Tipos de Impacto entre Softgoals

A seguir, são apresentados os tipos mais comuns de impacto entre softgoals, junto com suas respectivas notações simbólicas, conforme utilizados no NFR Framework:

  • ✓ (Satisfeito) Indica que um requisito não funcional contribui de forma clara e significativa para a satisfação de outro softgoal. Representa uma relação de impacto fortemente positiva.

  • 𝒲+ (Fracamente satisfeito) Indica uma contribuição positiva, porém moderada. O requisito relacionado apoia o softgoal-alvo, mas sua influência é limitada ou indireta.

  • ✗ (Negado) Indica que o requisito em questão tem um impacto negativo direto, impedindo ou contradizendo a realização de outro softgoal.

  • 𝒲− (Fracamente negado)
    Representa uma influência negativa mais fraca, que pode dificultar, mas não necessariamente inviabilizar, o alcance do softgoal afetado.

  • 🗲 (Conflitante) Indica a existência de um conflito entre softgoals. A realização de um pode beneficiar alguns aspectos e prejudicar outros, exigindo negociação e priorização.

  • ? (Indeterminado) Utilizado quando a relação entre dois requisitos não funcionais é desconhecida ou incerta. Pode indicar falta de informação ou necessidade de análise posterior.

Metodologia

A metodologia adotada nesta aplicação do NFR Framework seguiu uma abordagem prática e colaborativa, baseada nos princípios de Reinaldo Antônio da Silva (2019), com foco na coleta, organização e análise de requisitos não funcionais relacionados ao sistema da Receita Federal.

Cada integrante do grupo foi responsável por duas funcionalidades específicas do sistema, sendo também responsável por levantar e modelar os requisitos não funcionais associados à sua área. Os RNFs foram obtidos por meio de técnicas de elicitação, como introspecção e análise de documentos.

A Tabela 1 apresenta a distribuição das funcionalidades por integrante:

Tabela 1 - Distribuição de funcionalidades por integrante

Funcionalidade Integrante Responsável
[Funcionalidade A] [Nome 1]
[Funcionalidade B] [Nome 2]
... ...
[Funcionalidade N] [Nome N]

Tabela 1 - Distribuição de funcionalidades por integrante

Com base nessa divisão, os requisitos não funcionais foram mapeados, classificados em softgoals e organizados em modelos gráficos segundo os conceitos do NFR Framework.

Cartões de Especificação

Para facilitar o registro e o rastreamento das decisões de projeto, foram utilizados Cartões de Especificação de Requisitos Não-Funcionais, apresentados nas Tabelas 2 a N. Cada cartão contém os seguintes campos:

Tabela 2 - Padrão dos cartões

Campo Descrição
Nº do Requisito Identificador único do requisito (ex: RNF01, RNF02...)
Descrição Texto explicativo sobre o que o requisito exige ou pretende garantir
Classificação FURPS+
Origem Fonte do requisito (ex: usuário, legislação, análise técnica)
Justificativa Razão pela qual o requisito foi definido (ex: atender à LGPD)
Critério de aceitação Condições que devem ser atendidas para considerar o requisito cumprido
Dependência Outros requisitos dos quais este depende ou se relaciona
Prioridade Nível de importância (Alta, Média ou Baixa)
Conflitos Possíveis requisitos com os quais este pode gerar conflito
Histórias Histórias de usuário relacionadas ao requisito, se aplicável

Cartão de Especificação – RNF01

Tabela 3 - cartão 01 - RNF01

Campo Descrição
Nº do Requisito RNF01
Descrição Melhorias no chatbot, suporte a imagens descritivas e vídeos com legenda para garantir acessibilidade a usuários com deficiência visual ou auditiva.
Classificação Acessibilidade
Origem ADC13
Justificativa Assegurar inclusão digital e garantir que o aplicativo seja utilizável por pessoas com deficiência, atendendo a critérios de acessibilidade universal.
Critério de aceitação O chatbot deve oferecer respostas por voz, suporte a leitores de tela e apresentar conteúdos multimídia com descrição textual ou legendas automáticas.
Dependência RNF5 (Interface responsiva e acessível), RNF17 (Suporte a leitores de tela)
Prioridade
Conflitos Pode impactar negativamente no desempenho do app em dispositivos mais simples (potencial conflito com RNF10 e RNF16).
Histórias

Fonte: José Eduardo, 2025.

Cartão de Especificação – RNF02

Tabela 4 - cartão 02 - RNF02

Campo Descrição
Nº do Requisito RNF2
Descrição O sistema deve fornecer conteúdos educativos adequados para iniciantes no tema do aplicativo.
Classificação Usabilidade (Apoio à Aprendizagem)
Origem ADC14
Justificativa Facilitar a curva de aprendizado para novos usuários e aumentar o engajamento inicial.
Critério de aceitação Conteúdo acessível diretamente no app; linguagem simples; tutoriais básicos em texto ou vídeo.
Dependência Pode depender da estrutura de interface (RNF5) e acessibilidade de mídia (RNF1).
Prioridade
Conflitos Pode gerar conflito com desempenho (RNF16), caso o conteúdo aumente o tempo de carregamento.
Histórias

Fonte: José Eduardo, 2025.

Cartão de Especificação – RNF03

Tabela 5 - cartão 04 - RNF03

Campo Descrição
Nº do Requisito RNF 03
Descrição Permitir acesso offline a serviços essenciais do app, como históricos de contribuições e guias DARF já geradas.
Classificação Usabilidade
Origem Uso do App em locais com dificuldade de acesso à internet estável e áreas rurais
Justificativa Garantir que o usuário tenha acesso a informações fiscais básicas mesmo sem conexão, aumentando a autonomia em regiões remotas
Critério de aceitação O sistema deve funcionar corretamente em modo offline, exibindo dados previamente sincronizados. Deve indicar que está offline.
Dependência Sincronização prévia dos dados com o servidor
Prioridade A definir
Conflitos Pode haver conflito com requisitos de segurança, como autenticação online obrigatória
Histórias US-07

Fonte: Thales Germano, 2025.

Cartão de Especificação – RNF04

Tabela 6 - cartão 04 - RNF04

Campo Descrição
Nº do Requisito RNF 04
Descrição O sistema deve oferecer comparativo automático entre declarações de IR de anos diferentes, destacando alterações relevantes.
Classificação Funcionalidade / Usabilidade
Origem Necessidade identificada em análise técnica
Justificativa Facilitar a verificação de mudanças entre declarações, reduzindo erros e aumentando a transparência no preenchimento
Critério de aceitação O sistema deve listar lado a lado os valores por categoria e destacar visualmente diferenças entre os anos comparados
Dependência Dados das declarações anteriores devem estar disponíveis no sistema
Prioridade A definir
Conflitos Pode afetar performance em dispositivos com baixo processamento ou com dados incompletos
Histórias US-08

Fonte: Thales Germano, 2025.

Cartão de Especificação – RNF05

Tabela 14 - cartão 05 - RNF05

Campo Descrição
Nº do Requisito RNF05
Descrição A interface do aplicativo deve ser responsiva e acessível, adaptando-se a diferentes tamanhos de tela e compatível com tecnologias assistivas.
Classificação Usabilidade (FURPS+)
Origem ADC18 – Análise de Documentos
Justificativa Garantir que o aplicativo funcione de forma eficiente e compreensível em diversos dispositivos, promovendo a inclusão digital.
Critério de aceitação - Layout adaptável para diferentes tamanhos de tela.
- Compatibilidade com leitores de tela como TalkBack e VoiceOver.
- Navegação por teclado e suporte a contraste de cores acessível.
- Cumprimento das diretrizes WCAG 2.1.
Dependência RNF11 (Compatibilidade com telas 4.5" a 7"), RNF17 (Suporte a leitores de tela)
Prioridade Alta
Conflitos Ajustes de layout podem impactar o tempo de desenvolvimento ou performance inicial
Histórias US-06, US-30

Fonte: Diassis, 2025.

Cartão de Especificação – RNF06

Tabela 15 - cartão 06 - RNF06

Campo Descrição
Nº do Requisito RNF06
Descrição O aplicativo deve oferecer suporte ao modo escuro para reduzir o cansaço visual e economizar bateria em dispositivos compatíveis.
Classificação Usabilidade / Portabilidade
Origem ADC23 – Análise de Documentos, INT17 – Introspecção
Justificativa Melhorar a experiência do usuário em ambientes com pouca luz e atender preferências individuais e limitações visuais.
Critério de aceitação - O sistema deve permitir alternância entre modo claro e escuro.
- O modo escuro deve aplicar-se à interface completa sem comprometer a legibilidade.
- O usuário deve poder ativar/desativar pelo app ou seguir o tema do sistema operacional.
- Testes de contraste e legibilidade devem ser realizados.
Dependência RNF05 (Interface responsiva), RNF12 (Padrão de linguagem acessível)
Prioridade Média
Conflitos Pode exigir ajustes adicionais em componentes visuais e ícones
Histórias US-27, US-29

Fonte: Diassis, 2025.

Cartão de Especificação – RNF07

Tabela 7 - cartão 07 - RNF07

Campo Descrição
Nº do Requisito RNF 07
Descrição Testes de segurança para garantir a integridade dos dados e autenticação segura
Classificação Segurança
Origem Análise técnica e requisitos de compliance
Justificativa Garantir a proteção dos dados dos usuários e conformidade com padrões de segurança, incluindo LGPD e boas práticas de desenvolvimento
Critério de aceitação - Implementação de testes automatizados de segurança
- Validação de autenticação e autorização
- Verificação de criptografia de dados sensíveis
- Testes de penetração realizados com sucesso
- Conformidade com padrões OWASP
Dependência RNF relacionados à arquitetura do sistema e gerenciamento de dados
Prioridade Alta
Conflitos Possível impacto na performance devido aos controles de segurança
Histórias

Fonte: Júlia Massuda, 2025.

Cartão de Especificação – RNF08

Tabela 8 - cartão 08 - RNF08

Campo Descrição
Nº do Requisito RNF 08
Descrição Compatível com Android 8+ e iOS 14+
Classificação Portabilidade
Origem Análise de mercado e requisitos técnicos
Justificativa Garantir ampla compatibilidade com dispositivos móveis em uso no mercado, abrangendo aproximadamente 85% dos usuários ativos
Critério de aceitação - Aplicação executando corretamente em Android 8.0 (API 26) ou superior
- Aplicação executando corretamente em iOS 14.0 ou superior
- Testes realizados em diferentes modelos de dispositivos
- Interface responsiva em diferentes tamanhos de tela
Dependência Requisitos funcionais do aplicativo móvel
Prioridade Alta
Conflitos Limitações de recursos em versões mais antigas podem restringir funcionalidades avançadas
Histórias

Fonte: Júlia Massuda, 2025.

Cartão de Especificação – RNF09

Tabela 11 - cartão 09 - RNF09

Campo Descrição
Nº do Requisito RNF 09
Descrição Testes de usabilidade semestrais com público 60+
Classificação Usabilidade
Origem Análise demográfica e requisitos de acessibilidade
Justificativa Garantir que o aplicativo seja acessível e intuitivo para usuários idosos, considerando que representam uma parcela significativa dos contribuintes
Critério de aceitação - Realização de testes de usabilidade com grupos de usuários acima de 60 anos a cada 6 meses
- Identificação e correção de barreiras de usabilidade específicas para este público
- Taxa de conclusão de tarefas superior a 80% nos testes
- Tempo médio de conclusão de tarefas dentro dos padrões aceitáveis
- Feedback positivo de pelo menos 70% dos participantes
Dependência Interface do usuário implementada e funcionalidades principais disponíveis
Prioridade Média
Conflitos Possível conflito com design moderno que pode não ser familiar ao público idoso
Histórias

Fonte: João Pedro, 2025.

Cartão de Especificação – RNF 10

Tabela 12 - cartão 10 - RNF10

Campo Descrição
Nº do Requisito RNF 10
Descrição O aplicativo deve ter tempo de resposta inferior a 3 segundos para ações comuns
Classificação Performance
Origem Requisitos de experiência do usuário e padrões de mercado
Justificativa Garantir uma experiência fluida e satisfatória para o usuário, evitando abandono devido à lentidão do sistema
Critério de aceitação - Tempo de resposta máximo de 3 segundos para operações comuns (login, consultas, navegação)
- Tempo de carregamento inicial do aplicativo inferior a 5 segundos
- Testes de performance realizados em diferentes dispositivos e conexões
- Monitoramento contínuo dos tempos de resposta em produção
- 95% das requisições devem atender ao critério de tempo
Dependência Arquitetura do sistema, infraestrutura de servidores e otimização de código
Prioridade Alta
Conflitos Funcionalidades complexas podem exigir mais tempo de processamento
Histórias

Fonte: João Pedro, 2025.

Cartão de Especificação – RNF11

Tabela 13 - cartão 11 - RNF11

Campo Descrição
Nº do Requisito RNF11
Descrição O aplicativo deve funcionar em smartphones com telas de 4.5" a 7" sem perda de usabilidade
Classificação Usabilidade (FURPS+)
Origem INT10 – Introspecção
Justificativa Garantir que o aplicativo seja utilizável na maioria dos dispositivos disponíveis no mercado brasileiro
Critério de aceitação Aplicativo testado e validado em diferentes tamanhos de tela sem comprometimento da experiência do usuário
Dependência RNF5 (Interface responsiva e acessível)
Prioridade Alta
Conflitos RNF19 (Versão em HTML5 pode exigir adaptação adicional de layout)
Histórias

Fonte: Marco Marques, 2025.

Cartão de Especificação – RNF12

Tabela 13 - cartão 11 - RNF11

Campo Descrição
Nº do Requisito RNF12
Descrição A linguagem da interface deve seguir padrão A2 do CEFR, evitando jargões técnicos
Classificação Usabilidade (FURPS+)
Origem ADC25 – Análise de Documentos
Justificativa Facilitar o uso do app por pessoas com menor escolaridade ou pouca familiaridade com termos técnicos
Critério de aceitação Todo o conteúdo textual revisado com base em vocabulário controlado CEFR-A2 e testes com usuários reais
Dependência RNF2 (Conteúdo educativo para iniciantes)
Prioridade Alta
Conflitos Nenhum identificado
Histórias  

Fonte: Marco Marques, 2025.

NFR00: Geral

Requisitos

  • RNF04 – Comparativo automático entre declarações de IR
  • RNF03 – Acesso offline a serviços essenciais do app

Propagação de Impacto

Origem Impacto
RNF04 🗲
RNF03 𝒲−

NFR01: Portabilidade

Requisitos

  • RNF06 – Interface com suporte a modo escuro
  • RNF08 – Compatível com Android 8+ e iOS 14+

Propagação de Impacto

Origem Impacto
RNF06
RNF08 𝒲+

NFR02: Confiabilidade

Requisitos

  • RNF10 – Sincronização automática de dados com a nuvem
  • RNF13 – Backup e recuperação automática

Propagação de Impacto

Origem Impacto
RNF10
RNF13 𝒲+

NFR03: Segurança

Requisitos

  • RNF07 – Testes de segurança e conformidade LGPD

Propagação de Impacto

Origem Impacto
RNF07 🗲
RNF07 𝒲+

NFR04: Usabilidade

Requisitos

  • RNF02 – Conteúdos educativos para iniciantes
  • RNF04 – Comparativo automático de IR
  • RNF06 – Suporte a modo escuro
  • RNF05 – Interface responsiva e acessível
  • RNF09 – Testes de usabilidade semestrais com público 60+
  • RNF11 – O aplicativo deve funcionar em smartphones com telas de 4.5" a 7" sem perda de usabilidade
  • RNF12 – A linguagem da interface deve seguir padrão A2 do CEFR, evitando jargões técnicos

Propagação de Impacto

Origem Impacto
RNF02 𝒲+
RNF04
RNF05
RNF06 𝒲+
RNF09
RNF11
RNF12 𝒲+

NFR05: Acessibilidade

Requisitos

  • RNF01 – Chatbot com suporte a acessibilidade
  • RNF05 – Interface responsiva e acessível

Propagação de Impacto

Origem Impacto
RNF01
RNF05
RNF09 𝒲+

NFR06: SIG Completo

Requisitos

  • Todos os anteriores integrados no Sistema de Informação Gerencial

Propagação de Impacto

Origem Impacto
RNF05
RNF07
RNF07
RNF07
RNF10
RNF09 𝒲+

Referências

SILVA, Reinaldo Antônio da. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Recife: Universidade Federal de Pernambuco, 2019. Disponível em: https://aprender3.unb.br/pluginfile.php/3096155/mod_resource/content/2/DISSERTA%C3%87%C3%83O%20Reinaldo%20Ant%C3%B4nio%20da%20Silva.pdf

Histórico de Versão

Versão Data Descrição Autor Revisor
1.0 29/05/2025 Criação do documento NRF-framework Thales Germano Jose Eduardo
1.1 29/05/2025 Ajustes no documento Thales Germano Jose Eduardo
1.2 01/06/2025 Adicionando imagens e tópicos decomposição e contribuição Jose Eduardo Thales Germano
1.3 01/06/2025 Adicionando cartões RNF 03/04/ Thales Germano Jose Eduardo
1.4 01/06/2025 Adicionando cartões RNF 01/02/ Jose Eduardo Thales Germano
1.5 01/06/2025 Adicionando cartões RNF 11/12 Marco Marques Thales Germano
1.6 01/06/2025 Adicionando cartões RNF 07/08 Júlia Massuda Jose Eduardo
1.7 01/06/2025 Adicionando cartões RNF 05/06 Diassis Jose Eduardo