O desenvolvimento de um sistema envolve uma série de definições que precisam ficar bem claras e elaboradas para que o objetivo proposto no projeto seja alcançado. A definição dos Requisitos Não Funcionais (RNF) faz parte da engenharia de software, em que são feitos levantamentos de requisitos funcionais e não funcionais para identificar todas as necessidades do software.

Entender como definir esse requisito é importante para o projeto de desenvolvimento do sistema, pois existe uma série de variáveis que podem impactar o funcionamento do software, entre elas os recursos de hardware necessários para garantir o desempenho, a necessidade de integração com outras aplicações, as regras de segurança e muito mais.

Para que você possa entender sobre esse assunto, fizemos este guia completo em que vamos mostrar:

  • O que são Requisitos Não Funcionais?
  • Qual a estrutura de um Requisito Não Funcional?
  • Quais as categorias de um Requisito Não Funcional?
  • Exemplo de Requisito Não Funcional

Vamos lá!

O que são Requisitos Não Funcionais?

Os requisitos não funcionais são aqueles que não interferem diretamente no desenvolvimento do sistema propriamente dito, ou seja, não é um requisito que tem regras de negócios e, portanto, é necessário para determinar o que será feito no software. Em vez disso, os RNFs são requisitos que estabelecem como o sistema se comportará em determinadas situações.

Em outras palavras, apesar de não interferirem em suas funcionalidades básicas, são necessidades que podem impactar no objetivo final do software se não forem contempladas em tempo de análise e desenvolvimento do projeto. Portanto, são requisitos que se relacionam com a qualidade do software.

Um exemplo é a definição sobre qual plataforma o software deverá rodar. Trata-se de um requisito não funcional, pois não existe uma regra de negócio nessa definição. Entretanto, é um requisito necessário para fazer outras definições para o desenvolvimento do sistema, como a escolha da linguagem de programação, do banco de dados que será utilizado etc.

Entenda a importância dos Requisitos Não Funcionais

Deixar de efetuar o levantamento dos requisitos não funcionais pode fazer com que o software deixe de cumprir sua função. Isso pode significar o fracasso de um projeto, inclusive em sistemas de grande porte, já que eles sofrem muitas influências externas.

Entretanto, fazer a identificação de RNF não é uma tarefa simples. Ao entrevistar as pessoas usuárias do sistema, geralmente elas só conseguem identificar as necessidades funcionais, ou seja, as regras de negócio, já que muitas vezes sua função e visão são as de pessoas que utilizam o software.

Por isso, é preciso empenho por parte de profissionais de TI para identificar os fatores externos ao desenvolvimento que devem ser contemplados no projeto para atender aos requisitos não funcionais.

Qual a estrutura de um Requisito Não Funcional?

Embora não exista uma estrutura obrigatória, algumas informações devem estar presentes na definição de um requisito não funcional. A seguir, confira os principais itens que devem ser discriminados no documento:

  • identificador do requisito;
  • nome ou descrição do requisito;
  • categoria;
  • data de criação;
  • pessoa que criou o documento;
  • data da última alteração;
  • última pessoa que editou o documento;
  • versão do documento;
  • prioridade, que pode ser desejável, importante ou essencial;
  • descrição detalhada.

Quais as categorias de um Requisito Não Funcional?

O requisito não funcional pode pertencer a diferentes categorias. É importante identificar a qual delas o RNF pertence para que haja uma melhor organização do projeto de software.

Desempenho

Os requisitos de desempenho são voltados às necessidades de infraestrutura para garantir que o sistema funcione sem lentidão, sem problemas por falta de espaço em disco ou com outras ocorrências que impactem na qualidade de uso do sistema.

Disponibilidade

Corresponde ao tempo em que o sistema está disponível para a utilização. Portanto, nesse requisito, devem ser especificadas, por exemplo, as necessidades de paradas para manutenção, qual será a contingência para os casos de indisponibilidade, entre outras informações semelhantes.

Segurança

Os requisitos de segurança correspondem às definições sobre as regras de segurança para criação de usuários, os procedimentos exigidos para a utilização de senhas, a necessidade de criptografia e demais questões relacionadas para garantir a proteção dos dados.

Interoperabilidade

Muitos sistemas podem ter necessidades de integração com outras aplicações. Assim sendo, na categoria interoperabilidade, devem ser especificadas as necessidades do sistema de implementação de webservices ou outros tipos de interfaces com sistemas externos.

Usabilidade

Trata-se de um requisito voltado à facilidade de compreensão e utilização do software, ou seja, o que é preciso para oferecer essas características às atividades desempenhadas pelo software, como a utilização de tradutores de línguas e recursos de acessibilidade.

Compatibilidade

Nesse requisito, são especificadas quais as compatibilidades necessárias para a execução do sistema. Logo, podem fazer parte dessa solicitação a compatibilidade com navegadores, em quais versões do sistema operacional o sistema é capaz de rodar etc.

Confiabilidade

Os requisitos de confiabilidade se referem às definições sobre como funcionam as rotinas de backup, de que forma são feitos os controles de integridade de dados, as definições sobre o que fazer para garantir a consistência das informações caso ocorra a indisponibilidade do sistema por queda de energia e outras semelhantes.

Padrões

Os requisitos de padrões determinam quais são utilizados tanto no desenvolvimento do sistema quanto na definição do projeto. Então, referem-se às formas utilizadas de acordo com a metodologia adotada, a forma de programação (que pode ser imperativa ou declarativa) etc.

Legais

Já os requisitos legais correspondem às necessidades de implementação de padrões exigidos por lei, como normas específicas, adoção de processos para garantir a segurança da informação (como os exigidos pela LGPD — Lei Geral de Proteção de Dados), entre outros.

Exemplo de Requisito Não Funcional

A descrição do requisito não funcional deve especificar de forma clara e detalhada todas as informações necessárias para que as pessoas que desenvolvem o sistema possam consultar e entender as informações do documento.

Abaixo, veja como deve ficar a documentação de um requisito:

Identificador: RNF01

Categoria: Desempenho

Nome: Espaço em disco para o armazenamento de dados 

Data de criação: 10/04/2020

Autor: Trybe

Data da última alteração: —

Autor da última alteração: —

Versão: 1

Prioridade: Essencial

Descrição: O módulo de contabilidade recebe registros de outros módulos do sistema ERP, entre eles contas a pagar, contas a receber e folha de pagamento. Em função disso, necessita de uma quantidade maior de espaço em disco para processar o grande volume de dados. Para atender a essa necessidade, o armazenamento disponível deve ser de 1TB de espaço em disco.

Como vimos, as definições de requisitos não funcionais são essenciais para determinar como o software funciona e, com isso, proporcionar maior qualidade tanto em seu desenvolvimento quanto no produto final. Portanto, é preciso avaliar cuidadosamente cada necessidade do sistema para que todas as variáveis que possam interferir no sistema sejam contempladas.

Gostou do nosso artigo sobre levantamento de requisitos? Então, não deixe de conferir outros conteúdos sobre a área de programação.

0 Shares:
Você também pode gostar