Introdução
1. O que são Requisitos de Software
Os requisitos de software definem o que um sistema deve fazer (funcionalidades) e como ele deve se comportar (qualidade, desempenho, restrições).
Eles servem como ponte entre o cliente/stakeholders e a equipe de desenvolvimento, garantindo que o produto final atenda às expectativas e objetivos do negócio.
2. Importância dos Requisitos
- Evitam retrabalho e desperdício de recursos.
- Alinham expectativas entre clientes, usuários e equipe técnica.
- Servem como base para projeto, desenvolvimento, testes e manutenção.
- Facilitam gerenciamento de mudanças e priorização.
3. Tipos de Requisitos
3.1 Requisitos Funcionais
Descrevem o que o sistema deve fazer.
Definem funcionalidades, ações e serviços do sistema.
Exemplos:
- Login com autenticação por senha ou biometria.
- Cadastro de clientes com validação de CPF.
- Emissão de relatórios de vendas.
3.2 Requisitos Não Funcionais
Descrevem como o sistema deve se comportar ou as restrições a serem atendidas.
Relacionam-se a qualidade, desempenho, segurança, confiabilidade, usabilidade, entre outros.
Exemplos:
- Desempenho: o sistema deve processar 1000 transações por segundo.
- Segurança: todos os dados devem ser criptografados em trânsito e em repouso.
- Usabilidade: novos usuários devem completar cadastro em até 3 minutos.
4. Etapas Gerais do Ciclo de Engenharia de Requisitos
4.1 Elicitação
- Coleta de informações e necessidades dos stakeholders.
- Técnicas: entrevistas, questionários, observação, grupos focais, prototipagem.
4.2 Análise e Modelagem
- Estruturação, interpretação e organização dos requisitos.
- Técnicas: diagramas UML, cenários, personas, perfis de usuário, rich picture.
4.3 Priorização
- Determinação da ordem de importância dos requisitos.
- Técnicas: MoSCoW, \$100, First Things First, Three-Level Scale, Kano Model, WSJF.
4.4 Especificação
- Documentação formal dos requisitos, consolidando o que foi analisado e priorizado.
- Técnicas: casos de uso, cenários, user stories, léxico, regras de negócio, diagramas UML.
4.5 Validação e Verificação
- Garantir que os requisitos atendem às necessidades do usuário e estão corretos.
- Técnicas: prototipagem, inspeção, walkthrough, testes de requisitos, simulações.
4.6 Gerência de Requisitos
- Controle, rastreabilidade e manutenção de requisitos ao longo do ciclo de vida do sistema.
- Técnicas: rastreabilidade forward/backward, controle de mudanças, versionamento, matriz de rastreabilidade.