Você está na página 1de 9

O QUE SÃO REQUISITOS FUNCIONAIS E REQUISITOS NÃO FUNCIONAIS?

Requisitos funcionais e requisitos não funcionais, qual a diferença entre os dois? Entenda como é feita
uma boa documentação dos requisitos e funcionalidades de um software.

 -
07/03/2018
4253

O que é um requisito de software? Como podemos realizar a identificação dos


requisitos do sistema?

QUAL A DIFERENÇA, E O QUE SÃO REQUISITOS


FUNCIONAIS E REQUISITOS NÃO FUNCIONAIS?

Na engenharia de software, mais precisamente na engenharia de requisitos, podemos


definir como um requisito toda solicitação (visão macro do requisito ou
simplesmente requisitos macro), necessidade, funcionalidade ou característica de
um sistema.

O processo de levantamento de requisitos de software é responsável por


identificar todas essas necessidades e funcionalidades, além de documentá-las.

Está querendo mais detalhes sobre a definição de requisitos de software? Ou então


quer conhecer melhor as técnicas de levantamento de requisitos?
– Entenda de uma vez o que são requisitos de software?
– As 5 melhores técnicas de levantamento de requisitos de software.

Agora que você já sabe o que são requisitos de software e quais são as melhores técnicas
para levantá-los, precisamos esclarecer que existem dois tipos de requisitos: “Requisitos
Funcionais” e “Requisitos Não Funcionais”.

 
O
que são requisitos funcionais, e requisitos não funcionais? Qual a diferença?
Ambos os tipos expressam em grande linha uma necessidade, característica ou
funcionalidade de um software, porém em dois universos diferentes. Vamos entender
melhor a diferença entre um requisito funcional e um requisito não funcional.

O QUE É UM REQUISITO FUNCIONAL?


Os requisitos funcionais são todas as necessidades, características ou
funcionalidades esperadas em um processo que podem ser atendidos pelo software.

De forma geral, um requisito funcional expressa uma ação que deve ser realizada
através do sistema.

Um exemplo clássico e simples de requisito funcional é a funcionalidade de


“MANTER USUÁRIO”.

O requisito que detalha a funcionalidade “manter usuário” engloba uma série de


outros requisitos menores, por vezes chamados de “features“, como no exemplo
abaixo:
Detalhamento
descritivo estrutural de um requisito funcional. Durante a documentação de um
requisito funcional de software, suas características devem ser detalhadas
individualmente.
O requisito principal “manter usuário” é responsável por toda a manutenção do
cadastro usuários, por isso a utilização do verbo “manter.

Dentro desta funcionalidade macro, são incluídas as funcionalidades de cadastro de


usuário, alteração de usuário e deleção de usuário.

Esses três requisitos são requisitos NÃO FUNCIONAIS, e compõem o requisito


principal de manutenção de usuário.

AS CARACTERÍSTICAS DE UM REQUISITO
FUNCIONAL
Mas por que eles são requisitos funcionais? A categorização dos requisitos citados
como requisitos funcionais se deve ao fato de que todos eles são funcionalidades
atendidas através de uma ação do software ou pelo software, ou seja, o usuário
insere informação a respeito da ação que deseja tomar, e o software executa tal ação.
Principais tipos de requisitos
funcionais: características, funcionalidades, necessidades, solicitações.
Ainda como requisitos funcionais, podemos citar algumas funcionalidades muito
comuns durante o processo de análise e levantamento de requisitos em um projeto
de software:

Exemplo de requisitos funcionais


comuns em software ERP e de gestão contábil. O detalhamento e divisão dos
requisitos por grupo de pertinência é uma técnica muito comum durante esta fase.
Exemplo de requisitos funcionais comuns em software ERP e de gestão contábil.
O detalhamento e divisão dos requisitos por grupo de pertinência é uma técnica
muito comum durante esta fase.
Esses cinco requisitos que citamos acima são muito comuns em qualquer software
financeiro, fiscal ou contábil. Todos eles expressão uma funcionalidade que o sistema
deve executar em decorrência de uma solicitação ou ação do usuário, assim podemos
facilmente identificá-los como requisitos funcionais.
Devemos porém lembrar, de que um requisito funcional pode também ser executado
como sequência da execução de um requisito anterior, que incluí tal requisito em sua
execução.

E QUANDO O SISTEMA EXECUTA UM REQUISITO FUNCIONAL?

Para ficar claro esta característica dos requisitos funcionais basta pegar como


exemplo o caso de um sistema de vendas online.

Imagine que tal sistema possui um requisito chamado “FECHAR VENDA”, durante sua
execução ele inclui outros dois requisitos funcionais – ou features: “EMITIR NF-C” e
“ATUALIZAR ESTOQUE”.

O que são requisitos funcionais, regras de negócio de software e requisitos não


funcionais de um software?
A inclusão dos requisitos “emitir nf-c” e “atualizar estoque” significa que durante o a
finalização processo (ou execução, segundo as características do requisito) descrito
pelo requisito funcional “FECHAR VENDA”.
É obrigatória, ou seja, ao executar o “fechar venda”, o próprio sistema solicita a
execução do “emitir nf-c” e “atualizar estoque”. Este relacionamento entre
requisitos é chamado de inclusão – include em inglês, e é muito comum
em diagramas de caso de uso UML.

Exemplos de requisitos funcionais de um software e de requisitos não funcionais.

O QUE É UM REQUISITO NÃO FUNCIONAL?


Os requisitos funcionais por definição, e conforme explicamos, é uma característica,
funcionalidade ou necessidade que o sistema deve contemplar, ou seja, um requisito
funcional é tudo aquilo que o sistema DEVE fazer.

Um requisito NÃO funcional por sua vez pode ser definido como “de qual
maneira” o sistema deve fazer. Parece muito vago e com pouco sentido, mas é muito
simples.
Uma forma simples de entender o que é um requisito funcional é ter por base que
todo requisito não funcional deve expressar uma premissa ou restrição do sistema.

Requisitos não funcionais devem sempre ser mensuráveis, ou seja, deve ser possível
verificar se ele está ou não sendo atendido pelo software.

EXEMPLO DE UM REQUISITO NÃO FUNCIONAL


Vamos dar alguns clássicos e básicos exemplos de requisitos NÃO funcionais de
software, que são comuns durante o levantamento de requisitos de projeto de
desenvolvimento:

 O SISTEMA DEVE SER MULTIPLATAFORMA –


WINDOWS, LINUX E MACOS

 O SISTEMA DEVE SER DESENVOLVIDO EM C++;

 O SISTEMA DEVE FUNCIONAR OFFLINE;

 O SISTEMA DEVE RESPEITAR O TEMPO MÁXIMO DE 160


SEGUNDOS DURANTE PROCESSAMENTOS;

Os quatro requisitos acima citados são requisitos NÃO FUNCIONAIS, pois eles


indicam características de como ele irá executar determinadas ações.

De forma simples: um requisito funcional é “O QUE” o sistema deve fazer, um


requisito não funcional é “COMO” o sistema deve fazer.
Principais tipos de requisitos não
funcionais: desempenho, segurança, disponibilidade, interoperabilidade.

O QUE NÃO É UM REQUISITO NÃO FUNCIONAL!


Pelo fato da distinção entre requisitos funcionais e não funcionais parecer
subjetiva, é comum encontrar documentações de requisitos de software onde o
analista indicou como requisito não funcional uma condição não mensurável ou não
verificável.

Deve tomar muito cuidado ao descrever requisitos não funcionais, lembre-se


sempre que um requisito não funcional deve ser SEMPRE verificável, caso contrário
ele não pode ser interpretado como tal.

EXEMPLOS DE REQUISITOS QUE NÃO PODEM SER


CONSIDERADOS REQUISITOS NÃO FUNCIONAIS:

 O SISTEMA DEVE SER RÁPIDO;


 O SISTEMA NÃO DEVE CORROMPER DADOS;

 O SISTEMA DEVE SER SEGURO;

Esses três requisitos citados acima não podem ser considerados como requisitos não
funcionais. O motivo é o simples fato que nenhum deles é passível de verificação.

O que significa ser rápido? Ou então, o que define se o sistema é seguro? Ou permite
então que dados sejam corrompidos ou perdidos.

Para não errar nunca na hora de categorizar um requisito como funcional ou não


funcional basta responder a duas perguntas simples:

1.
1.
1. O objeto da característica é sobre O QUE o sistema fará ou
então COMO o sistema fará?
2. Posso verificar se este requisito não funcional está
sendo atendido ou respeitado?

São duas perguntas muito simples. Tão simples que podem até parecer idiotas, mas
acredite, não são. Muitos analistas de requisitos comentem erros
fundamentais durante o levantamento e especificação dos requisitos  de um
sistema.

Está querendo mais detalhes sobre a definição de requisitos de software? Ou então


quer conhecer melhor as técnicas de levantamento de requisitos ?

Você também pode gostar