>>Breve descrição do Curso<< >>Informações para Inscrição<< >>Disciplinas do Curso<< >>Regulamento do CEI<< >>Processo Seletivo<< >>Informações para Alunos<< >>Página da Especialização<<

 

Disciplina: DCCxxx: Manutenção e Evolução de Software
Professores responsáveis: Marco Túlio de Oliveira Valente ou Eduardo Magno Lages Figueiredo
Carga Horária: 15 horas
Créditos: 1
Pré-Requisitos: Conhecimentos básicos de programação orientada por objetos
Tipo: Optativa

Objetivos

Essa disciplina tem como objetivo apresentar e discutir os desafios inerentes às fases de manutenção e evolução de software. Serão também apresentadas técnicas e ferramentas modernas para refatoração, reengenharia, compreensão e visualização de software.

Ementa

Conceitos básicos. Refatoração e Reengenharia de Software. Compreensão de Programas. Visualização de Software.

Programa

  1. Conceitos Básicos
  2. Relevância das Fases de Manutenção e Evolução de Software
  3. Processos de Manutenção e Leis da Evolução de Software
  4. Catálogos de Refatoração
  5. Ferramentas e técnicas para reengenharia de software
  6. Ferramentas e técnicas para compreensão de programas
  7. Ferramentas e técnicas para visualização de software

Bibliografia

1. Ian Sommerville, Engenharia de Software. Addison-Wesley, 2011.
2. Tom Mens, Serge Demeyer. Software Evolution. Springer, 2008.
3. Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
4. Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz. Object-Oriented Reengineering Patterns. Square Bracket Associates, 2009.
5. Gerardo Canfora, Massimiliano Di Penta, Luigi Cerulo. Achievements and challenges in software reverse engineering. Communications of the ACM, April 2011.

(MASB-17/07/2012)

 

  :::Universidade Federal de Minas Gerais::: :::Departamento de Ciência da Computação da UFMG:::