Os requisitos NÃO funcionais em um projeto de software

Na maioria dos processos de produção de software a atividade de levantamento de requisitos é composta pelas seguintes tarefas: elicitação, análise, especificação e validação. O principal objetivo desta atividade é expressar as necessidades e restrições necessárias em um produto caracterizado como software.

Os requisitos podem ser divididos em dois grandes grupos: funcionais e não-funcionais.

Os requisitos funcionais expressam o comportamento de um software. As informações de entrada, o processamento e a saída emitida por uma funcionalidade são informações necessárias para especificar o requisito do referido grupo.

Já os requisitos não funcionais mapeiam os aspectos qualitativos de um software, por exemplo: performance (tempo de resposta); segurança (restrições de acesso, privilégios); perspectiva do usuário (padrão das cores, disposição dos objetivos na tela); comunicabilidade (e-mail, VoIP, Browser); usabilidade e portabilidade (a aplicação deve rodar em vários tipos de aplicativos: móveis, desktop, note).  Este grupo é de suma importância e não deve ser desprezado durante o processo de produção de software. Como qualquer outro tipo de requisito, ele deve ser levantado, analisado, especificado e validado.

É importante salientar que a validação de um requisito não funcional requer a aplicação de atributos quantitativos. Porém, em alguns casos, esse tipo de atributo não é mapeado facilmente. Imagine que você tenha validar um requisito não funcional caracterizado pela perspectiva do usuário em uma aplicação que será acessada por milhares de pessoas. Neste caso um padrão de cores pode agradar alguns e desagradar outros.

É de fundamental importância encontrar um mecanismo que quantifique um requisito não funcional. Partimos do seguinte exemplo: Um requisito não funcional qualquer estabelece que o software tem que ter um bom tempo de resposta. Para quantificar esse requisito, pergunte ao usuário o que ele considera um bom tempo de resposta. Uma variação ente 0,5 e 2 segundos é aceitável?

Enfim, os requisitos não funcionais são de suma importância e podem delimitar o sucesso ou o fracasso de um projeto de software.

Abraços

J. A. Fabri

fabri@utfpr.edu.br

7 thoughts on “Os requisitos NÃO funcionais em um projeto de software

  1. Oi Guto

    Será que você não se enganhou no título deste post? Digo porque o enfoque do texto está nos requisitos “não funcionais”, mas no título você deixou “Os requisitos funcionais em um projeto de software”.

    Até, abraços
    Fernanda Salvalaggio

  2. Sou uma assassina da língua portugues rsrs…. corrigindo: enganou e não enganhou…

  3. Estava com algumas dúvidas sobre requisitos não-funcionais, seu post valeu muito.
    Obrigado Augusto!

    Elma

Leave a reply to 3Cs na Especificação de Requisitos de Software (ERS) « Engenharia de Software Cancel reply