<< Chapter < Page Chapter >> Page >

Diferenças entre requisitos funcionais e não-funcionais

Apesar da classificação dos requisitos de software em requisitosfuncionais e não-funcionais ser bem aceita, devemos observar que na práticaessa divisão pode não ser tão clara. Isso ocorre devido ao nível de detalhescontido em sua descrição ou mesmo devido ao tipo de sistema desenvolvido.

Podemos ilustrar o caso em que o nível de detalhes faza diferença com o seguinte exemplo:

Se considerarmos um requisito de segurança de confidencialidade(e normalmente considerado não-funcional):

  • O sistema deve possibilitar o envio demensagens de modo que não possam ser lidas a não ser pelos destinatários.

Uma vez que não especifica nenhuma funcionalidade,esse pode ser considerado um requisito não-funcional. Por outro lado,poderíamos deixar essa evidente característica de requisito não-funcionalum pouco mais turva se adicionarmos um pouco mais de detalhes a ele:

  • O sistema deve permitir aos usuáriosque criptografem suas mensagens usando as chaves públicas dosdestinatários.

Agora, esse requisito seria melhor classificado comofuncional, uma vez que especifica uma função do sistema, apesar doatributo de qualidade exibido pelo software ao final do desenvolvimentoserá o mesmo: segurança, mais especificamente confidencialidade das mensagensenviadas.

Já quando mencionamos que o tipo do sistema pode influenciarem como classificamos um requisito, basta apenas lembrarmos dos sistemasde tempo-real. Neles, a corretude do comportamento do sistema não dependesó do resultado lógico da função, mas também quando esse resultado é obtido. Portanto, uma resposta cedo ou tarde demais podeestar tão incorreta quanto uma resposta logicamente errada.

Em um sistema de informação, consideramos o requisitonão-funcional:

  • A busca por nome deve retornar os resultadosem no máximo 100 milissegundos.

Já em um sistema de controle de voo fly-by-wire , devemos considerar o requisitoa seguir como funcional, uma vez que respostas que não respeitamo intervalo de tempo especificado são tão inúteis quanto a faltade resposta dos sensores (podem causar a queda do avião):

  • Novas amostras de dados dos sensoresda aeronave devem ser obtidas a cada 20 milissegundos.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask