NFR Framework
Introdução
Proposto por Chung, University of Toronto, o NFR Framework é uma maneira de representar de forma sistemática e global os Requisitos Não-Funcionais, com uma abordagem qualitativa e orientada a processo.
Além disso, essa implementação representa o NFR como um softgoal, os quais são unidades básicas para representar requisitos não-funcionais. Ele possui uma relação de interdependência entre seus softgoals, oferece técnicas de operacionalização e fornece catálogos para inferir possíveis interações.
Objetivo
Seu objetivo é ajudar os desenvolvedores a implementar soluções customizadas, levando em consideração as características dos campos e sistemas relacionados. Essas características incluem requisitos não funcionais, requisitos funcionais, prioridades e cargas de trabalho. Essas condições determinam a escolha de alternativas de desenvolvimento para um determinado sistema.
Metodologia
Após levantar os Requisitos Não-Funcionais e entender o NFR Framework, o grupo decidiu utilizar Softgoal Interdependency Graph (SIG) para a implementação do NFR Framework.
Softgoal Interdependency Graph
O Softgoal Interdependency Graph (SIG) é uma forma de visualização do funcionamento do NFR Framework. Dessa forma, trata-se de um gráfico que registra os posicionamentos da equipe de desenvolvimento acerca dos softgoals e explicita suas interdependências de forma gráfica e concisa1.
Imagem 1: Legenda do NFR.
Fonte: NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados por Reinaldo Antônio da Silva.
Imagem 2: Tipos de rótulos utilizados pelos Softgoals.
Fonte: NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados por Reinaldo Antônio da Silva.
Requisitos Não Funcionais
A tabela 1 apresenta os Requisitos Não Funcionais que foram utilizados para a criação do artefato.
Identificador | Requisito | Categoria | Implementado |
---|---|---|---|
ENT08, OB17, BR17 | Deve permitir que o usuário consiga realizar qualquer atividade com menos de 5 cliques | RNF01 | Sim |
IN05 | Ser compatível com sistemas operacionais Android (7.0 ou mais recente) e IOS (12.4 ou mais recente) | RNF02 | Sim |
IN06 | Deve ter acesso facilitado para instalação, sem levar mais de 30 segundos de pesquisa direta para encontrar a aplicação nas lojas de aplicativos | RNF03 | Sim |
IN07 | Deve ser de código aberto e gratuito | RNF04 | Sim |
IN11, OB12 | Deve garantir a segurança dos dados confidenciais compartilhados durante as reuniões por vídeoconferência | RNF05 | Sim |
IN12 | Deve ser estável, tendo no máximo 1 queda de funcionamento por dia | RNF06 | Sim |
IN13 | Deve oferecer um desempenho responsivo, se adaptando mediante o tamanho da tela | RNF07 | Sim |
OB16 | Deve ser um aplicativo que ocupe menos de 100mb de memória | RNF08 | Sim |
BR12 | Deve ser possível ingressar em uma reunião sem a necessidade de um login | RNF09 | Sim |
BR18 | Deve possuir um bom contraste entre as cores a fim de aprimorar a legibilidade | RNF10 | Sim |
Tabela 1: Requisitos Não Funcionais Elicitados.
Autor(a): Bruno Henrique
NFR 01 - Desempenho
Figura 1 - SIG Desempenho
Fonte: Bruno Henrique
NFR 02 - Usabilidade
Os Requisitos utilizados para a confecção da Figura 2 estão presentes na Tabela 1:
- IN05: Ser compatível com sistemas operacionais Android e IOS
- IN13: Deve oferecer um desempenho responsivo, se adaptando mediante o tamanho da tela
- BR18: Deve possuir um bom contraste entre as cores a fim de aprimorar a legibilidade
Figura 2 - SIG Usabilidade
Fonte: Bruno Henrique
NFR 03 - Disponibilidade
Os Requisitos utilizados para a confecção da Figura 3 estão presentes na Tabela 1:
- IN06: Deve ter acesso facilitado para instalação, sem levar mais de 30 segundos de pesquisa direta para encontrar a aplicação nas lojas de aplicativos
- IN12: Deve ser estável, tendo no máximo 1 queda de funcionamento por dia
- OB16: Deve ser um aplicativo que ocupe menos de 100mb de memória
Figura 3 - SIG Disponibilidadde
Fonte: Bruno Henrique
Histórico de Versão
A tabela 2 representa o histórico de versão do documento.
Versão | Data | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|
1.0 |
06/11/2023 | Introdução, SIG, Tipos de Softgoal e Interdependências. | Bruno Henrique | Pedro Siqueira |
1.1 |
07/11/2023 | Formatação e finalização do artefato | Pedro Siqueira | Bruno Henrique |
1.2 |
06/12/2023 | Correção do artefato | Pedro Siqueira | Bruno Henrique |
Tabela 6: Histórico de Versão.
Autor(es):Pedro Siqueira
Bibliografia
[1] PAIM, F. R. S., CASTRO, J. F. B. Enhancing Data Warehouse Design with the NFR Framework. Centro de Informática UFPE, Recife, 2019. Disponível em: http://wer.inf.puc-rio.br/WERpapers/artigos/artigos_WER02/paim.pdf. Acesso em: 05/11/2023.
[2] SILVA, Reinaldo Antônio. NFR4ES: Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Centro de Informática UFPE, Recife, 2019. Disponível em: https://repositorio.ufpe.br/handle/123456789/34150. Acesso em: 05/11/2023.
[3] CHUNG, L., NIXON, B. A., YU, E., MYLOPOULOS, J. Non-functional requirementsin software engineering. Springer Science & Business Media: [S.l.], 2000. v. 5.