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
- Conceitos Básicos
- Relevância das Fases de Manutenção e Evolução de Software
- Processos de Manutenção e Leis da Evolução de Software
- Catálogos de Refatoração
- Ferramentas e técnicas para reengenharia de software
- Ferramentas e técnicas para compreensão de programas
- 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)
|