Disciplina: Engenharia de Requisitos de Software
📘 Esta disciplina tem como base principal o livro de Ian Sommerville:
Engenharia de Software (PDF disponível aqui)
Acesse neste link link
Descrição
A disciplina de Engenharia de Requisitos de Software tem como foco apresentar os fundamentos, processos, técnicas e ferramentas para elicitação, modelagem, validação e gerenciamento de requisitos em projetos de software. A disciplina combina teoria, prática e estudos de caso com ferramentas amplamente utilizadas no mercado, proporcionando aos alunos uma formação sólida e alinhada às demandas atuais da indústria de software.
Objetivos
- Compreender a importância dos requisitos: Desenvolver uma visão crítica sobre o papel dos requisitos no ciclo de vida de software.
- Aplicar técnicas de elicitação: Utilizar abordagens estruturadas para levantamento de requisitos com diferentes perfis de stakeholders.
- Modelar e especificar requisitos: Empregar linguagens e notações para representar requisitos de forma clara e estruturada.
- Validar e gerenciar requisitos: Garantir a consistência, rastreabilidade e atualização dos requisitos ao longo do projeto.
- Utilizar ferramentas profissionais: Aplicar ferramentas como Jira, Confluence, RequisitePro e outras para documentar e gerenciar requisitos.
Competências a serem atingidas
- Levantamento estruturado de requisitos com stakeholders.
- Modelagem com UML e escrita de user stories.
- Uso de ferramentas de apoio ao gerenciamento de requisitos.
- Aplicação de critérios de validação e verificação.
- Gerenciamento de mudanças e rastreabilidade de requisitos.
Plano de ensino
MÓDULO 1 – Introdução à Engenharia de Requisitos
- Conceitos básicos de software e engenharia de software
- Princípios da Comunicação
- Tipos de requisitos (funcionais, não funcionais, de domínio)
- Ciclo de vida dos requisitos
MÓDULO 2 – Processos e Modelos de Requisitos
- Modelos preditivos vs. ágeis
- Casos de uso vs. user stories
- Engenharia de requisitos contínua
MÓDULO 3 – Técnicas de Elicitação de Requisitos
- Entrevistas, questionários e observação
- Prototipação e brainstorming
- Workshops e técnicas colaborativas (JAD, Design Thinking)
MÓDULO 4 – Análise e Modelagem de Requisitos
- Identificação de conflitos, ambiguidade e redundâncias
- Modelagem com UML: casos de uso, atividades e estados
- Ferramentas de modelagem (Lucidchart, Draw.io, StarUML)
MÓDULO 5 – Especificação e Documentação
- Padrões de documentação de requisitos
- Linguagem natural estruturada
- Critérios de qualidade de requisitos
MÓDULO 6 – Validação e Verificação
- Revisão de requisitos com stakeholders
- Técnicas de validação
- Testes baseados em requisitos
MÓDULO 7 – Gerenciamento de Requisitos
- Controle de mudanças e versionamento
- Priorização (MoSCoW, Kano, 100 dollars)
- Rastreabilidade e documentação viva
MÓDULO 8 – Ferramentas e Estudos de Caso
- Jira, Confluence e RequisitePro
- Estudos de caso simulados
- Projeto final com backlog, protótipos e documentação completa
Atividades Práticas
- Jogo de papéis para elicitação com stakeholders simulados
- Modelagem de requisitos em UML e escrita de user stories
- Uso de Jira para backlog, priorização e rastreabilidade
- Aplicação de critérios de validação e controle de mudanças
- Projeto final com entrega de documentação completa
Bibliografia Básica
- SOMMERVILLE, Ian. Engenharia de Software. 10ª ed. Pearson, 2019.
- PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de Software: uma abordagem profissional. 8ª ed. McGraw-Hill, 2016.
- KROENKE, David M.; AUER, David J. Análise Essencial de Sistemas. Pearson, 2012.
Bibliografia Complementar
- PAULA FILHO, Wilson de Pádua. Engenharia de Requisitos: software orientado ao negócio. LTC, 2011.
- WIEGERS, Karl; BEATTY, Joy. Software Requirements. Microsoft Press, 2013.
- LEFFINGWELL, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.
- ALBERT, Marcela. Engenharia de Requisitos Ágeis. Brasport, 2020.
Obras de Robert C. Martin
- MARTIN, Robert C. Código Limpo: Habilidades práticas do Agile software. Alta Books, 2009.
- MARTIN, Robert C. Arquitetura Limpa: O guia do artesão para estrutura e design de software. Alta Books, 2018.
- MARTIN, Robert C. Desenvolvimento Ágil Limpo: De volta às origens. Alta Books, 2020.