Roteiro de Aula – Conceitos e Classificações de Requisitos
1. O que são Requisitos?
- São descrições das funcionalidades, restrições e condições que um sistema deve atender.
- Representam a ponte entre as necessidades dos usuários e a solução técnica.
- Servem como contrato entre stakeholders e equipe de desenvolvimento.
- [Fonte: Sommerville, Engenharia de Software, 10ª ed.]
2. Classificação de Requisitos segundo Sommerville
-
Requisitos de Usuário: linguagem natural, protótipos, visão de alto nível.
Ex.: “O usuário deve poder agendar uma consulta pelo aplicativo.” -
Requisitos de Sistema: descrição detalhada dos serviços e restrições.
Ex.: “O sistema deve permitir até 1000 logins simultâneos.” -
Requisitos Funcionais: descrevem o que o sistema deve fazer.
Ex.: “O sistema deve enviar e-mail de confirmação após cadastro.” -
Requisitos Não Funcionais: restrições sobre desempenho, segurança, usabilidade.
Ex.: “A página inicial deve carregar em menos de 2 segundos.” -
Requisitos de Domínio: regras específicas do ambiente de negócio ou legislação.
Ex.: “O sistema deve emitir nota fiscal eletrônica conforme a legislação brasileira.” -
[Fonte: Sommerville, Engenharia de Software, Cap. 4]
3. Importância da Classificação
- Organiza e facilita a rastreabilidade dos requisitos.
- Evita ambiguidades e confusões entre expectativas do usuário e obrigações técnicas.
- Permite avaliar impactos de mudanças em cada categoria.
- [Fonte: Pressman & Maxim, Engenharia de Software: Uma Abordagem Profissional]
4. Estudo de Caso – Sistema de E-commerce
Exemplo de aplicação da classificação em um sistema de compras online:
- Requisito de Usuário: “O cliente deve poder acompanhar o status do pedido.”
- Requisito de Sistema: “O sistema deve atualizar o status a cada 10 minutos.”
- Funcional: “O sistema deve permitir pagamento com cartão e Pix.”
- Não Funcional: “O tempo de resposta do checkout deve ser < 3 segundos.”
- De Domínio: “O sistema deve seguir a legislação brasileira para emissão de boletos.”
5. Exercício em Sala
- Formem grupos de 3 alunos.
- Escolham um sistema do cotidiano (ex.: aplicativo de transporte, rede social, sistema acadêmico).
- Identifiquem:
- 2 requisitos de usuário
- 2 requisitos de sistema
- 2 funcionais
- 2 não funcionais
- 1 de domínio
- Classifiquem e justifiquem suas escolhas.
- Preparem para apresentar para a turma.
Leitura Recomendada
- SOMMERVILLE, Ian. Engenharia de Software. 10ª ed. Pearson, 2019. Cap. 4.
- PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de Software: Uma Abordagem Profissional. 8ª ed. McGraw-Hill, 2016.
- WIEGERS, Karl; BEATTY, Joy. Software Requirements. 3ª ed. Microsoft Press, 2013.