Introdução
Engenharia de Software busca estabelecer e aplicar os princípios de engenharia, objetivando produzir softwares confiáveis com baixo custo e com alta qualidade. O processo de Engenharia de Software compreende três fases genéricas: Definição, Desenvolvimento e Manutenção.
A atividade de manutenção de software é reconhecidamente uma fase problemática e esses problemas são causadores de custos substanciais quando comparados com os custos das outras fases do ciclo de vida do software. Ela compreende em três etapas: Entendimento, Modificação e Revalidação do software.
A facilidade de manutenção (manutenibilidade), caracterizada principalmente pelo entendimento do software, está fortemente relacionada à disponibilidade de documentação sobre o software.