Disciplina: Engenharia de Software
Curso: Engenharia/Computação/Sistemas de Informação
Carga Horária: 60 horas
Duração: 15 semanas (4 horas/semana ou 2x 2h)
– Apresentar os fundamentos teóricos e práticos da Engenharia de Software.
– Desenvolver habilidades para analisar, projetar, construir, testar e manter sistemas de software com qualidade.
– Promover visão crítica sobre metodologias, práticas e ferramentas utilizadas na engenharia de software moderna.
📚 Conteúdo Programático e Cronograma Sugerido
Unidade 1 – Introdução e Fundamentos da Engenharia de Software (4h).
Objetivos: Apresentar o conceito, importância e histórico da Engenharia de Software.
– Conceituação e evolução
– Software x Engenharia Tradicional
– Qualidade de software
– Ciclo de vida do software
Metodologia: Aula expositiva, vídeos históricos, debate em grupo.
Avaliação: Questionário diagnóstico.
Unidade 2 – Processo de Desenvolvimento de Software (8h) Objetivos: Compreender diferentes processos de desenvolvimento.
– Modelos de processo: Cascata, Incremental, Iterativo, RUP, V-Model
– Abordagens ágeis: Scrum, XP, Kanban
– Comparação entre modelos tradicionais e ágeis
– Metodologias híbridas (ScrumBan, SAFe)
Metodologia: Estudos de caso, análise comparativa, simulação de reunião Scrum.
Avaliação: Apresentação em grupo sobre um modelo.
Unidade 3 – Levantamento e Especificação de Requisitos (8h).
Objetivos: Estudar técnicas de elicitação e documentação de requisitos.
– Requisitos funcionais e não funcionais
– Técnicas de elicitação (entrevistas, workshops, prototipagem)
– Documento de Especificação de Requisitos (SRS)
Metodologia: Role-play cliente-desenvolvedor, construção de um SRS.
Avaliação: Trabalho individual ou em dupla: Desenvolvimento de um SRS.
Unidade 4 – Modelagem de Software com UML (8h)
Objetivos: Aplicar notações UML para projetar sistemas de software.
– Diagramas: Casos de uso, classe, sequência, atividade, estados
– Ferramentas de modelagem (draw.io, StarUML, etc.)
– Padrões de modelagem
Metodologia: Prática em laboratório, exercícios em grupos.
Avaliação: Projeto de modelagem UML referente ao SRS anterior.
Unidade 5 – Arquitetura e Design de Software (8h).
Objetivos: Apresentar os princípios de arquitetura e padrões de design.
– Arquiteturas mais comuns (MVC, microserviços)
– Princípios SOLID
– Padrões de projeto: Singleton, Factory, Observer, etc.
Metodologia: Estudo dirigido, discussão de trechos de código.
Avaliação: Análise crítica sobre código baseado em padrões.
Unidade 6 – Qualidade de Software e Testes (8h)
Objetivos: Explorar atividades de teste e garantia da qualidade.
– Tipos de testes: unitário, integração, sistema, aceitação
– Testes automatizados (JUnit, PyTest, etc.)
– Ferramentas e métricas de qualidade de software
– Integração contínua e DevOps (conceito básico)
Metodologia: Codificação em pares, integração com CI/CD simples (GitHub Actions).
Avaliação: Desenvolvimento de testes para o protótipo do projeto.
Unidade 7 – Gerência de Projetos de Software (8h)
Objetivos: Tratar aspectos de planejamento, acompanhamento e controle de projetos.
– Estimativas de esforço (Pontos de função, COCOMO)
– Planejamento de cronograma e recursos (Gantt, Trello/Jira)
– Gestão de riscos
– Controle e monitoramento
Metodologia: Aplicação prática com ferramentas; simulação de projeto real.
Avaliação: Submissão de um plano de projeto.
Unidade 8 – Ética, Sustentabilidade e Tendências na Engenharia de Software (4h)
Objetivos: Sensibilizar os alunos quanto à ética e impacto social.
– Ética profissional
– Engenharia de software verde
– Tendências: IA, DevOps, Low-code/No-code
– Software livre e desenvolvimento aberto
Metodologia: Mesa-redonda, discussão de artigos atuais.
Avaliação: Redação/reflexão crítica.
Projeto Integrador (ao longo do semestre)
Proposta: Desenvolvimento de um projeto de software com base nas etapas do processo de engenharia (requisitos, modelagem, prototipagem, testes).
Entrega parcial:
– Semana 4: Definição do problema + requisitos
– Semana 7: Modelagem UML
– Semana 10: Protótipo funcional
– Semana 13: Testes e documentação
– Semana 15: Apresentação final
Avaliação final (30% da nota): Projeto + Apresentação + Entregáveis
Avaliações (sugestão de peso)
– Atividades práticas semanais: 20%
– Avaliações teóricas (provas ou quizzes): 20%
– Projeto integrador: 30%
– Participação e presença: 10%
– Trabalhos e avaliações parciais: 20%
Recursos didáticos
– Livros:
– Sommerville, I. Engenharia de Software
– Pressman, R. Engenharia de Software
– Larman, C. Utilizando UML e Padrões
– Ferramentas:
– Draw.io, StarUML, GitHub, Trello, Visual Studio Code, JUnit, PyTest, Postman, Docker (básico)
Dúvidas?