topicos
A construção de um software, na maioria das vezes, é a união de várias fases de desenvolvimento não apenas técnico, mas de planejamento e estratégia. Saber o que é fundamental, baseado nos problemas que o sistema precisa resolver, pode fazer a diferença entre uma ferramenta de sucesso e outra defasada. O resultado dessa estratégia é a definição de quais requisitos são funcionais e quais requisitos não são. Por requisito entende-se uma condição ou capacidade com a qual o sistema deve estar de acordo.
Requisitos funcionais é o conjunto de entradas, seu comportamento e sua saída, ou seja, envolve cálculos, lógicas de trabalho, manipulação e processamento de dados, entre outros. Dentro dos requisitos funcionais também encontram-se a arquitetura do aplicativo, diferentemente da arquitetura técnica, que pertence aos requisitos não funcionais.
Os requisitos funcionais podem ser cálculos, detalhes técnicos, manipulação de dados e de processamento e outras funcionalidades específicas que definem o que um sistema, que descrevem todos os casos em que o sistema utiliza os requisitos funcionais, são extraídos dos casos de uso. Também, os requisitos funcionais são suportados por requisitos não-funcionais (também conhecidos como requisitos de qualidade), que impõem restrições sobre o projeto ou execução (tais como requisitos de desempenho, segurança ou confiabilidade). O plano para a implementação dos requisitos funcionais é detalhado no projeto do sistema. A hierarquia de requisitos funcionais é: usuário pedido das partes interessadas - característica> -> caso de uso -> regra de negócio. Cada caso de uso ilustra cenários de comportamento através de um ou mais requisitos funcionais. Muitas vezes, porém, um analista começará por evocar um conjunto de casos de uso, a partir do qual o analista pode derivar os requisitos funcionais, que devem ser implementados para permitir que um usuário possa realizar cada caso de uso.