DEV Community 👩‍💻👨‍💻

Requisitos Não Funcionais (RNF)

Durante o desenvolvimento do software nos deparamos com a necessidade de garantir a qualidade do sistema. Ao chegar nesta fase é importante é focar nas propriedades que contribuem para o bom funcionamento do Software.
Requisitos Não Funcionais, também são chamados de Atributos de Qualidade do Sistema, definem como o software será entregue em termos de usabilidade, confiabilidade, segurança, disponibilidade, manutenção e tecnologias envolvidas.

Qual a origem dos Requisitos Não Funcionais?

Os RNF surgem das necessidades dos usuários e na maioria das vezes são difíceis de atingir. Inicialmente os desenvolvedores podem encontrar dificuldades ao garantir a implementação de todos os RNF, porque muitos dos problemas com os requisitos são descobertos na fase implantação do software.
Na medida que software cresce em termos de usuários e de funcionalidades cresce torna-se mais difícil atingir a perfeição desses requisitos.

Como analisar os Requisitos Não Funcionais?

Há várias perguntas que os RNF devem responder de modo a confrontar as funcionalidades do Software, tais como:

  • É Rápido?
  • Fácil de usar, tem uma interface clara?
  • Quanto tempo demora a para exceutar uma operação?
  • Como os dados dos usuários são protegidos?
  • É possível integrar com outros sitemas?
  • Quantos MB consome a memória RAM?
  • Em quais sistemas operacionais pode ser implantado?
  • Funciona em todos os navegadores?
  • Como performa quando o nº de usuários crescer(ex: 1000 usuários)?
  • O que acontece quando tem vários acessos simultâneos?

Observação: Os RNF são críticos porque a ausência deles podem dificultar a utilização do sistema. Exemplo de situações:

  • Se um sistema bancário não cumprir seus requisitos de confiabilidade, o banco pode perder clientes;
  • Se o chat (em tempo real) de umarede social não atender aos requisitos de desempenho perderá usuários;
  • Se um jogo destinado a crianças não tiver boa interface gráfica com funcionalidades acessíveis, facilmente será descartado.

Como Garantir a implementação dos RNF?

Para cada software os requisitos não funcionais podem ser pensados de formas diferentes.
A implementação ser garantida em vários níveis, nas quais podemos destacar:

  • A nível da Arquitectura do Software: Organização dos componentes, Arquitectura em camadas, monolítica, microserviços, servidor de busca, serviços de logs;
  • A nível da implementação (codificação): Mecanismo de autenticação de usuários, desenho da interface gráfica, o Banco de Dados, linguagem de programação escolhido.
  • A nível da implantação (deployment): Servidores, Containers, Sistemas Operativos, links de redundância, integração com outros sistemas ou recuperação de dados.

Exemplo: Neste exemplo vamos descrever aleatoriamente alguns requisitos não funcionais presentes em muitos sitemas e vamos descrever detalhamente a autenticação de usuários.

Estrutura dos Requisitos
Image description

Tabela de Requisitos 1
Image description

Tabela de Requisitos 2
Image description

Descrição da Autenticação
Image description

Top comments (0)

🌚 Browsing with dark mode makes you a better developer.

It's a scientific fact.