Google+ Followers

domingo, 22 de março de 2015

Requisito Funcional e Requisito Não-Funcional


Você sabe o significado da palavra requisito? Bem de acordo com o dicionário Aurélio, o significado da palavra requisito é: “Condição necessária para se alcançar certo objetivo; quesito”.  Na área de Engenharia de Software o significado não é diferente. Os requisitos são todas as funcionalidades que um sistema deve atender para satisfazer um contrato ou um documento de especificação. Na Engenharia de Software os requisitos são divididos em Requisito Funcional e Requisito Não Funcional.

Requisito Funcional:
especifica determinada função que um componente ou sistema deve desempenhar [IEEE 610].
Requisito Não Funcional:
requisito que não diz respeito à funcionalidade, mas a características como:

- confiabilidade;
- eficiência;
- usabilidade;
- manutenibilidade e 
- portabilidade.


Quando se fala em Requisito Funcional é fácil porque nos lembramos das funcionalidades, mas quando o assunto é Requisito Não Funcional fica difícil levantar os requisitos dentro de cada uma das características citadas acima. Então para ajudar vamos entender cada uma das características de qualidade segundo a norma ISO 9126-1.

Característica
Descrição
Confiabilidade
Capacidade do software de manter um nível especifico de performance quando usado sob determinadas condições preestabelecidas.
Eficiência
Capacidade do software de manter a performance, em relação aos recursos disponíveis, quando usado sob determinadas condições especificas.
Usabilidade
Capacidade do software de ser entendido, aprendido, usado e atrativo quando usado sob determinadas condições especificas.
Manutenibilidade
Capacidade do software de ser mantido.
Portabilidade
Capacidade do software de ser transferido de um ambiente para outro.

Depois de descrever cada uma das características fica mais fácil ainda se usarmos um pouco de exemplos. Então vamos a alguns exemplos de Requisito Não Funcional. Os exemplos abaixo retirei de um teste de performance que realizei para um portal de  uma empresa de telecomunicações. 



Eficiência:
  1. O sistema deverá suportar até 1300 TPS (Transações por segundo).
  2. O sistema deverá funcionar 24 horas por dia, sete dias por semana (24x7).
  3. O tempo de resposta das requisições não devem ultrapassar 5 ou 7 segundos.
  4. O sistema deverá suportar até X requisições simultânea por segundo.
  5. O sistema deverá ser capaz de atender uma requisição para os usuários em até 5 segundos no horário de pico com até 50 usuários simultâneos.
  6. O sistema deverá ser capaz de atender uma requisição de consulta de saldo para os usuários em até x segundos.


Confiabilidade:
  1. O sistema deverá permitir que somente usuários e parceiros autorizados realizem ativação e/ou desativação de pacotes
  2. Todos os acessos ao sistema serão realizados para usuários devidamente autenticados conforme perfil de acesso. 
  3. O log de disco deverá ser expurgado em até 6 dias ou quando a capacidade do disco atingir 60 Gbytes. 
  4. Apenas os usuários com privilégios de acesso de parceiros poderão utilizar os logs das requisições. 
  5. O sistema deverá garantir o sigilo das informações trafegadas na rede interna e externa (internet).  

Manutenibilidade:

  1. O sistema deverá dar suporte aos protocolos WSS e LSS.

Portabilidade:

  1. O sistema deverá se comunicar com outros sistemas, barramentos, hardware e base de dados.

Bem espero que tenham entendido um pouco mais sobre Requisito Funcional e Requisito Não Funcional e até próximo post. 

Sara Meireles
Analista de Teste

 

 

Nenhum comentário:

Postar um comentário