Engenharia de Requisitos
Módulo 1
Introdução à Engenharia de Requisitos
Prof. Lucas Henrique de Abreu
O que é Engenharia de Requisitos?
Segundo a norma IEEE 610.12-1990 (Standard Glossary of Software Engineering Terminology), Engenharia de Requisitos é definida como:
Uma disciplina dentro da engenharia de software que se concentra em determinar e documentar as funções e restrições de sistemas de software.
- Área da Engenharia de Software responsável por levantar, documentar e manter requisitos
- Base do desenvolvimento de software
- Impacta diretamente qualidade, prazos e custos
[Fonte: Sommerville, Engenharia de Software]
Tipos de Requisitos
- Funcionais: o que o sistema deve fazer
- Não funcionais: desempenho, segurança, usabilidade
- De domínio: regras específicas do negócio
Exemplo:
- Funcional: login com CPF e senha
- Não funcional: resposta < 2 segundos
- De domínio: aderência à Lei 8.666
[Fonte: Karl Wiegers, Software Requirements]
Quem são os Stakeholders?
- Usuários, clientes, desenvolvedores, analistas, gerentes
- Participação ativa é fundamental
- Técnicas: entrevistas, observação, questionários, brainstorming
[Fonte: Paula Filho, Engenharia de Requisitos]
Comunicação e Clareza
- Requisitos conectam negócio e tecnologia
- Devem ser claros, completos, testáveis e não ambíguos
- Linguagem natural estruturada e validação com stakeholders
[Fonte: IEEE Std 830-1998]
Fases da Engenharia de Requisitos
- Elicitação: entender o que o cliente precisa.
- Análise: detectar conflitos, priorizar, refinar.
- Especificação: documentar requisitos de forma clara.
- Validação: garantir que os requisitos estão corretos e completos.
- Gerenciamento: lidar com mudanças durante o projeto.
- Processo contínuo e iterativo
- Envolve múltiplos perfis de stakeholders
[Fonte: Pressman, Engenharia de Software]
Estudo de Caso – O que é e como usar
- Um estudo de caso é uma descrição realista de um contexto de sistema, usada para levantar e discutir requisitos.
- Ele deve fornecer:
- Objetivo do sistema
- Usuários envolvidos
- Funcionalidades esperadas
- Restrições ou regras específicas
- Os alunos devem interpretar o cenário e propor requisitos a partir dele.
Estudo de Caso – Sistema de Biblioteca Universitária
Contexto: A universidade quer desenvolver um sistema para gerenciar o empréstimo de livros em sua biblioteca. O sistema será usado por alunos, professores e bibliotecários.
Exercício em Sala
- Estudo de caso simples
- Identifique:
- 3 requisitos funcionais
- 2 não funcionais
- 1 de domínio
- Justifique em pequenos grupos
Ideias de estudos de caso alternativos
Caso queira criar seu próprio estudo de caso, considere os seguintes cenários:
- Sistema de Agendamento Médico
- Aplicativo de Controle Financeiro Pessoal
- Plataforma de Cursos Online
- Sistema de Gerenciamento de Tarefas para Equipes
- Aplicativo de Delivery Local
Conclusão
- Requisitos são a base de um bom software
- Clareza e colaboração são essenciais
- Práticas bem executadas evitam falhas futuras
- Próxima aula: Conceitos e Classificações