DC-UFRPE/Bacharelado em Ciência da Computação/Engenharia de software

Programa da Disciplina editar

Nome: ENGENHARIA DE SOFTWARE
Código: 06226
Departamento: Departamento de Computação (DC)
Área: Computação
Carga-horária total: 60 horas
Créditos: 4
Pré-requisitos: INTRODUÇÃO À PROGRAMAÇÃO I (Cód. 14117)

INTRODUÇÃO À PROGRAMAÇÃO II (Cód. 14118)

Ementa editar

  • Processos  de  software.
  • Ciclo  de  vida  de  desenvolvimento  de  software.
  • Modelagem  de  software. 
  • Introdução  a  Modelos  de  Qualidade  e  de  Gerenciamento  de projetos  de  software. 
  • Ambientes  de  desenvolvimento  de  software.
  • Padrões  de  projeto.
  • Técnicas de teste de software.
  • Reuso de componentes de software.

Objetivos editar

  • Contextualizar a engenharia de software;
  • Apresentar uma visão geral das áreas relacionadas à engenharia de software;
  • Experimentar abordagens referentes ao ciclo de vida em um projeto de software.

Conteúdo editar

  • 1. Visão geral da engenharia de software
    • 1.1. Conceitos e definições;
    • 1.2. Áreas de conhecimento;
    • 1.3. Ferramentas CASE;
    • 1.4. Métodos de engenharia de software;
    • 1.5. Ciclo de vida de desenvolvimento de software;
    • 1.6. Aspectos éticos e sociais.
  • 2. Processos de Software
    • 2.1. Atividades de desenvolvimento;
    • 2.2. Atividades de suporte;
    • 2.3. Modelos de processo de software;
    • 2.4. Processos prescritivos (tradicionais);
    • 2.5. Processos ágeis.
  • 3. Gerenciamento de Projetos
    • 3.1. Conceitos e definições;
    • 3.2. Restrições de projetos;
    • 3.3. Controle de riscos;
    • 3.4. Atividades de gerenciamento;
    • 3.5. Atividades e papel do gerente de projetos;
    • 3.6. Ferramentas de gerenciamento de projetos;
    • 3.7. Ciclo de vida de gerenciamento de projetos.
  • 4. Requisitos
    • 4.1. Conceitos e definições;
    • 4.2. Visão geral da engenharia de requisitos;
    • 4.3. Casos de uso;
    • 4.4. Atividades de requisitos;
    • 4.5. Técnicas para elicitação e documentação de requisitos;
    • 4.6. Artefatos de requisitos.
  • 5. Análise e Projeto
    • 5.1. Conceitos, definições e princípios;
    • 5.2. Diagramas UML;
    • 5.3. Padrões de projeto;
    • 5.4. Arquitetura de software;
    • 5.5. Ferramentas de modelagem;
    • 5.6. Atividades de análise e projeto OO;
    • 5.7. Artefatos de análise e projeto OO.
  • 6. Teste de Software
    • 6.1. Conceitos e definições;
    • 6.2. Processo de testes;
    • 6.3. Tipos de testes;
    • 6.4. Desenvolvimento dirigido a testes;
    • 6.5. Ferramentas de suporte a testes.
  • 7. Qualidade de Software
    • 7.1. Gerência da qualidade;
    • 7.2. Modelos de qualidade.
  • 8. Gerência de Configuração e Mudanças
    • 8.1. Gerência de configuração;
    • 8.2. Gerência de mudanças.

Bibliografia Básica editar

  • PRESSMAN, R. Engenharia de Software. 6. ed. ed. Porto Alegre:
  • McGrawHill, 2006. SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Brasil, 2011.
  • PRESSMAN, R. Software Engineering: A Practitioner's Approach. 6ª Ed. McGraw Hill, 2005.

Bibliografia Complementar editar

  • BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML 2
  • Guia do Usuário. 2. ed. Rio de Janeiro: Campus, 2005.
  • GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projeto: soluções reutilizáveis de software orientado a objetos.
  • SCHACH, S. R. Engenharia de Software: Os Paradigmas Clássico e Orientado a Objetos. São Paulo: McGraw Hill, 2009.
  • FOWLER, M. UML Essencial. Porto Alegre: Bookman, 3a ed. 2005.
  • PFLEEGER, S. L. Engenharia de Software
  • Teoria e Prática, Prentice Hall, 2004
  • Webinar 2023 Engenharia de Software