A Engenharia de Requisitos, trouxe uma abordagem sistemática, disciplinada
e quantificável no desenvolvimento de uma documentação de requisitos, proporcionando rastreabilidade e manutenção ao longo do ciclo de vida do software. Portanto, para facilitar ainda mais a manutenção e rastreabilidade dos requisitos do software, uma classificação de requisitos se tornou necessária. Pois segundo o DevMidia, os requisitos deixam de ser apenas funções e passam a ser também objetivos, propriedades, restrições que o sistema deve possuir. Para que o software esteja de acordo com os contratos, padrões e especificações dos contratantes e usuários.
2. Classificação de Requisitos
Os requisitos são classificados em duas categorias, Funcionais e Não
Funcionais, mas segundo a UFF (Universidade Federal Fluminense), existe uma terceira categoria que são os requisitos Inversos. Requisitos Funcionais: São as exigências, recursos, objetivos e utilidades que um sistema precisa cumprir, de acordo com as necessidades da empresa e dos usuários. Por exemplo: [RF001] O sistema deve emitir um recibo para o cliente (saída). Os requisitos funcionais são divididos em três subcategorias, são os modos como os requisitos funcionais são escritos e por qual ponto de vista está sendo escrito. o Requisitos de Negócio: São requisitos pelo ponto de vista do negócio, focados no “por que” e “para que”. São escritos em linguagem de negócio. Geralmente respondem a perguntas como: Por que vamos gastar dinheiro com este projeto? O que o nosso negócio ganha com isso? O que devemos entregar para gerar valor ao negócio? o Requisitos de Usuário: São os requisitos que descrevem o “o quê” o sistema deve fazer, ou seja, suas funcionalidades. Geralmente são abstratos ou escritos de forma simples. o Requisitos de Sistema: São os requisitos técnicos e detalhados. São derivados dos requisitos de Usuários.
Para muitos os requisitos de Negócio e de Usuário de fundem,
tornando apenas o Requisito de usuário, levando em conta as regras de negócio.
Requisitos Não Funcionais: São requisitos que definem as
propriedades e restrições de uma aplicação, levando em conta desempenho, linguagens de programação, usabilidade, etc. Ou seja, são requisitos qualitativos, analisando objetivos e limitações. Esses requisitos geralmente são mensuráveis, ou seja, é possível especificá-los de forma quantitativas, usando métricas.
Além das métricas, os requisitos não funcionais são classificados
em três subcategorias. o Requisitos de produto: Referem-se a como o sistema deve se comportar, mensurando a velocidade, usabilidade, confiabilidade, etc. Por exemplo: [RNF001] Toda consulta de produto baseada em código de barras, deve resultar em até 5s o Requisitos Organizacionais: Referem-se a entrega, os padrões e procedimentos organizacionais, assim como a implementação dos requisitos funcionais. Por exemplo: [RNF002] Todos os documentos entregues devem seguir o padrão de relatórios XYZ-00 o Requisitos Externos: Referem-se a fatores externos ao sistema e ao processo de desenvolvimento como a legislação. Ou seja, são ligados à ética, segurança, privacidade e requisitos legais. Por exemplo: [RNF002] A tributação dos produtos é de 15% no Estado do RJ
Os requisitos não funcionais ainda são subdivididos em outros
tipos, assim como mostra o diagrama a seguir.
Requisitos Inversos: São funcionalidades que não fazem parte do
escopo, ou seja, são requisitos que definem a “fronteira” do sistema. Assim como representam condições que nunca poderão ocorrer. Por exemplo: [RI001] O sistema não emite nota fiscal 3. Conclusões finais
A classificação de requisitos se faz necessária, pois traz visões diferentes
para a construção e desenvolvimento do sistema. Junto com a engenharia de requisitos, a classificação de requisitos traz organização e entendimento do que sistema irá fazer, como serão implementados e o que não sistema comportará. Além disso traz uma rastreabilidade aos requisitos de um modo mais eficiente.