Skip to content

NFR Framework

Introdução

Segundo Silva¹,o NFR Framework é um framework de modelagem de requisitos, mais especificamente Requisitos Não-Funcionais, que utiliza das Softgoals (objetivos que não possui uma clara definição nem critérios de satisfação precisos) para auxiliar desenvolvedores na implementação de soluções personalizadas, com base nas características do sistema.

Os softgoals são utilizados para representar Requisitos Não-Funcionais e podem estar inter-relacionados, expressando a influência de um softgoal em outro.

Tipos de softgoals

Existem três tipos de softgoals, descritos a seguir, cujas representações podem ser vistas na Figura 1, retirada da dissertação de mestrado de Reinaldo Antônio da Silva: NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados [1]. Essa figura também servirá como legenda para os NFRs apresentados neste documento.

  1. Softgoals NFR: Representam os Requisitos Não-Funcionais e podem ser organizados hierarquicamente no desenvolvimento do projeto.

  2. Softgoals de Operacionalização: Representam as soluções de implementação para atender aos softgoals NFR ou outros softgoals de operacionalização. Incluem operações, processos, estruturas de dados e restrições no sistema para satisfazer as necessidades indicadas pelos softgoals.

  3. Softgoals de Afirmação: Consideram as características do domínio, como prioridades e carga de trabalho, no processo de tomada de decisão. Servem como justificativa para apoiar ou negar a priorização e seleção de componentes, facilitando a revisão, a justificação e a melhoria do sistema, bem como o rastreamento das decisões de desenvolvimento.

Figura 1: Representação dos tipos de softgoal.

Fonte: (SILVA, 2014).

O processo de avaliação determina o nível de cumprimento dos requisitos não funcionais através de um conjunto de decisões. Em outras palavras, o procedimento de avaliação verifica se cada softgoal ou interdependência no SIG foi adequadamente atendido. Isso é feito atribuindo rótulos aos softgoals, sendo que os rótulos possíveis incluem "satisfeito", "parcialmente satisfeito", "não atendido", "parcialmente não atendido", "conflitante" e "indeterminado". A figura 2 ilustra um exemplo de cada rótulo, conforme apresentado no artigo de Reinaldo Antônio da Silva¹. Essa figura também servirá como legenda para os NFRs que serão discutidos neste documento.

Figura 2: Rótulos da propagação de impactos.

Fonte: (SILVA, 2014).

Metodologia

Neste documento, descreveremos 6 Requisitos Não Funcionais (NFRs) derivados do nosso documento de especificação suplementar, o qual se fundamentou no modelo FURPS+ e foi discutido anteriormente pelos membros da equipe.

Para cada categoria, elaboramos um SIG (Softgoal Interdependency Graph), um diagrama que ilustra a propagação de impactos, e um cartão de especificação contendo informações detalhadas sobre o NFR, como sua descrição, categoria, possíveis conflitos, origem, critérios e outras informações relevantes.

NFR

NFR01 - Usabilidade

Usabilidade se refere à facilidade e eficácia com que um usuário pode interagir com um sistema, produto ou serviço para alcançar seus objetivos de forma eficiente e satisfatória.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Usabilidade" pode ser visto na figura 3.

Figura 3: Softgoal Interdependency Graph do softgoal "Usabilidade".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Usabilidade" pode ser vista na figura 4.

Figura 4: Propagação de impactos do softgoal "Usabilidade"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 1, temos o cartão de especificação do softgoal "Usabilidade".

Tabela 1: Cartão de Especificação do Softgoal Usabilidade

Info Detalhes
ID NFR NFR01
Classificação Usabilidade
Descrição O requisito "Usabilidade" trata das características que permitem uma boa utilização do sistema e suas funcionalidades.
Justificativa Ao apresentar um bom nível de usabilidade, o sistema permite que seus usuários desfrutem de suas funcionalidades sem problemas, garantindo uma boa experiência de uso para os mesmos.
Origem Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas dependências
Prioridade ALTA
Conflitos Não foram identificados conflitos.
História 26/05/2024

Autor: CÉSAR, Julio. 2024

NFR02 - Confiabilidade

Confiabilidade se refere à capacidade de um sistema, produto ou serviço realizar suas funções de forma consistente e previsível ao longo do tempo, sob condições específicas.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Confiabilidade" pode ser visto na figura 5.

Figura 5: Softgoal Interdependency Graph do softgoal "Confiabilidade".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Confiabilidade" pode ser vista na figura 6.

Figura 6: Propagação de impactos do softgoal "Confiabilidade"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 2, temos o cartão de especificação do softgoal "Confiabilidade".

Tabela 2: Cartão de Especificação do Softgoal "Confiabilidade"

Info Detalhes
ID NFR NFR02
Classificação Confiabilidade
Descrição O requisito "Confiabilidade" diz respeito a capacidade do sistema de manter sua estabilidade e funcionamento, garantindo sua utilização por parte do usuário.
Justificativa Um sistema confiável é imprescindível para que o usuário apresente interesse em utilizar o mesmo, garantindo que seu funcionamento sempre esteja de acordo com o planejado
Origem Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas dependências
Prioridade ALTA
Conflitos Não foi identificado nenhum conflito
História 26/05/2024

Autor: CÉSAR, Julio. 2024

NFR03 - Performance

Performance se refere ao desempenho ou à capacidade de um sistema, produto ou serviço em cumprir suas funções de forma eficiente e rápida, atendendo às expectativas de desempenho dos usuários.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Performance" pode ser visto na figura 7.

Figura 7: Softgoal Interdependency Graph do softgoal "Performance".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Performance" pode ser vista na figura 8.

Figura 8: Propagação de impactos do softgoal "Performance"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 3, temos o cartão de especificação do softgoal "Performance".

Tabela 3: Cartão de Especificação do Softgoal "Performance"

Info Detalhes
ID NFR NFR03
Classificação Performance
Descrição Performance diz ao desempenho do sistema e a capacidade de resposta do mesmo.
Justificativa Um sistema com boa performance ajuda a melhorar a experiência do usuário, que pode realizar suas ações com maior eficiência e eficácia
Origem Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas dependências
Prioridade ALTA
Conflitos Não foram identificados conflitos.
História 26/05/2024

Autor: CÉSAR, Julio. 2024

NFR04 - Suportabilidade

Suportabilidade se refere à capacidade de um sistema, produto ou serviço de ser mantido, atualizado e adaptado ao longo do tempo, garantindo sua operacionalidade contínua e a capacidade de lidar com mudanças no ambiente ou nos requisitos do usuário.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Performance" pode ser visto na figura 9.

Figura 9: Softgoal Interdependency Graph do softgoal "Performance".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Performance" pode ser vista na figura 10.

Figura 10: Propagação de impactos do softgoal "Performance"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 4, temos o cartão de especificação do softgoal "Suporte".

Tabela 4: Cartão de Especificação do Softgoal "Suporte"

Info Detalhes
ID NFR NFR04
Classificação Suportabilidade
Descrição A suportabilidade diz respeito a manutenção, configuração e portabilidade do sistema.
Justificativa Para a preservação do sistema, é imprescindível que a manutenção, configuração e portabilidade do mesmo esteja de acordo com o planejado, evitando que o usuário experiencie erros e falhas que possam prejudicar sua experiência de uso
Origem Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas restrições ou dependências específicas, mas a atualização da documentação deve ser planejada e coordenada com as versões do aplicativo.
Prioridade O requisito de "Suporte" é de alta prioridade, para garantir a funcionalidade contínua e a relevância do sistema ao longo do tempo.
Conflitos Não foi identificado nenhum conflito.
História 26/05/2024

Autor: CÉSAR, Julio. 2024

NFR05 - Implementação

Os requisitos de implementação são aqueles que representam os requisitos relacionados a implementação e construção do sistema.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Implementação" pode ser visto na figura 12.

Figura 12: Softgoal Interdependency Graph do softgoal "Implementação".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Implementação" pode ser vista na figura 13.

Figura 13: Propagação de impactos do softgoal "Implementação"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 5, temos o cartão de especificação do Softgoal "Implementação".

Tabela 5: Cartão de Especificação do Softgoal "Implementação"

Info Detalhes
ID NFR RNF05
Classificação Implementação
Descrição Implementação diz respeito a construção e execução do sistema, ou seja, aquilo que é necessário para que o sistema seja executado (implementado) em um dispositivo
Justificativa Informar os "pré-requisitos" do sistema é fundamental para que os usuários possam checar se possuem dispositivos compatíveis ou se o armazenamento e permissões estão de acordo com o necessário para o aplicativo
Origem do Requisito Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas dependências
Prioridade ALTA
Conflitos Não foi identificado nenhum conflito.
História 26/05/2024

Autor: CÉSAR, Julio. 2024

NFR06 - Documentação

Documentação se refere a documentação do sistema do sistema em si, ou seja, arquivos e registros inclusos que explicam o aplicativo, seu funcionamento e seus termos.

Softgoal Interdependency Graph

O Softgoal Interdependency Graph do softgoal "Documentação" pode ser visto na figura 14.

Figura 14: Softgoal Interdependency Graph do softgoal "Documentação".

Autor: CÉSAR, Júlio. 2024

Propagação de Impactos

A propagação de impactos do softgoal "Implementação" pode ser vista na figura 15.

Figura 15: Propagação de impactos do softgoal "Documentação"

Autor: GALDINO, Henrique. 2024

Cartão de Especificação

Na tabela 6, temos o cartão de especificação do Softgoal "Documentação".

Tabela 6: Cartão de Especificação do Softgoal "Documentação"

Info Detalhes
ID NFR NFR06
Classificação Documentação
Descrição Documentação diz respeito aos documentos e arquivos presentes e/ou disponibilizados pela aplicação para maior conhecimento do mesmo por parte de seus usuários
Justificativa A documentação é essencial, pois visa garantir que os usuários tenham conhecimento do funcionamento do aplicativo, como trata os dados coletados, direitos/deveres e outros tópicos importantes
Origem do Requisito Especificação suplementar e requisitos elicitados
Dependências Não foram identificadas dependências
Prioridade MÉDIA
Conflitos Não foi identificado nenhum conflito
História 27/05/2024

Autor: CÉSAR, Julio. 2024

Referências Bibliográficas

[1] SILVA, Reinaldo Antônio da. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados, 2019. Disponível em: https://aprender3.unb.br/pluginfile.php/2845051/mod_resource/content/2/DISSERTA%C3%87%C3%83O%20Reinaldo%20Ant%C3%B4nio%20da%20Silva.pdf. Acesso em: 23 de maio de 2024.

Bibliografia

SERRANO, et al. Requisitos – Aula 17, 2024. Disponível em: https://aprender3.unb.br/pluginfile.php/2845052/mod_resource/content/1/Requisitos%20-%20Aula%20019a.pdf. Acesso em: 23 de maio de 2024.

YRJÖNEN, Anton; MERILLINA, Janne. Extending the NFR Framework with Measurable Non-Functional Requirements, 2009. Disponível em: https://ceur-ws.org/Vol-553/paper2.pdf. Acesso em: 23 de maio de 2024.

CASTRO, Jaelson. Requisitos Não-Funcionais, 2014. Disponível em: https://www.cin.ufpe.br/~if716/arquivos20152/experimentoBruno/Aula2/Aula2-Parte2-NFR%20Framework.pdf. Acesso em: 23 de maio de 2024.

Histórico de Versão

Versão Data de execução Data de revisão Descrição Autor(es) Revisor(es)
1.3 26/05/2024 27/05/2024 Textos e tabelas - propagação de impacto Henrique Galdino Igor Thiago
1.2 26/05/2024 27/05/2024 Textos e tabelas softgoals Júlio César Igor Thiago
1.1 22/05/2024 23/05/2024 Complementando textos Henrique Galdino Igor Thiago
1.0 22/05/2024 23/05/2024 Criação do artefato NFR Framework Henrique Galdino Igor Thiago