Fundamentos de Manutenção de Software
Prefácio 🔗
A maturidade de uma área pode ser medida pela qualidade de seus livros-texto. ― Autor desconhecido
Em 2020, depois que publiquei Engenharia de Software Moderna, as pessoas sempre me perguntavam se eu iria escrever um segundo livro. Eu respondia que sim, mas que iria esperar um pouco, para entender melhor o feedback dos estudantes, professores e desenvolvedores que usaram e leram o nosso livro. Além disso, sempre tive planos de traduzir o livro para o inglês, o que ocorreu em 2024.
Em seguida, no segundo semestre de 2024, ministrei uma disciplina sobre Manutenção de Software, primeiro para alunos do mestrado do DCC/UFMG e depois também para alunos de graduação em Ciência da Computação e Sistemas de Informação. Nessa época, eu já vislumbrava o que aconteceria a seguir:
Infelizmente, eu não iria encontrar um único livro-texto com uma visão moderna de compreensão, manutenção e evolução de software.
Portanto, teria que revisitar diversos livros e artigos sobre os temas da disciplina. E também preparar um amplo conjunto de slides (e, de fato, preparei mais de 600 slides).
Com base nesses slides, que funcionaram como um excelente MVP, eu iria escrever o meu segundo livro, o que fiz ao longo de 2025 e 2026.
Sobre o livro, procurei manter as características que garantiram a ampla aceitação de Engenharia de Software Moderna: um livro prático, indo direto aos pontos mais importantes e fundamentais, didaticamente planejado para alunos de graduação e profissionais que estão ingressando no mercado, mas também baseado na minha experiência de mais de 25 anos de pesquisa na área.
Além disso, eu planejei um livro com metade do tamanho de Engenharia de Software Moderna. Primeiro, porque ele é focado em apenas uma subárea. Adicionalmente, um livro menor incentiva a leitura. Ou seja, o plano sempre foi escrever o livro de forma a engajar os alunos na sua leitura, do primeiro ao último capítulo.
Manutenção Vai Além de Corrigir Bugs 🔗
Com este livro também temos como objetivo contribuir para um melhor entendimento da importância de manutenção de software. Por exemplo, muitas pessoas de nossa área ainda consideram que manutenção de software é apenas corrigir bugs. Porém, o termo inclui outras mudanças importantes, como customizações de um sistema para clientes específicos, modernizações tecnológicas, refatorações e também implementações de novas funcionalidades, isto é, manutenções evolutivas. Logo, depois que liberamos a primeira versão de um sistema, qualquer mudança é uma manutenção. Adicionalmente, temos que lembrar que sistemas de software — principalmente quando são importantes e fazem sucesso — podem ser usados por anos. Porém, durante esse tempo, eles não ficam congelados, mas sofrem diariamente os tipos de manutenção que acabamos de mencionar.
Impacto de IA 🔗
O início da escrita do livro, no final de 2024, coincidiu com o avanço dos modelos de linguagem, incluindo o surgimento de agentes de código. Evidentemente, apesar da grande propaganda e dos exageros, esses modelos já tiveram e vão continuar a ter um impacto relevante na prática de Engenharia de Software, no mercado de trabalho e, por consequência, na formação de novos profissionais.
Então, refleti se seria o melhor momento para publicar um livro sobre Fundamentos de Manutenção de Software. É difícil prever o futuro, mas acredito que os conceitos e técnicas abordados no livro continuarão sendo a base da área, mesmo que parte das tarefas de codificação e manutenção seja automatizada por modelos de IA. Em outras palavras, sistemas de software são muito complexos para terceirizar, por completo, seu desenvolvimento e manutenção para agentes de código. Esses agentes, mesmo que melhorem de forma significativa, deverão continuar sob o comando humano, a quem cabe tomar as principais decisões, bem como identificar e corrigir erros e alucinações dos modelos. Por isso, domínio dos fundamentos da área continua sendo essencial.
No entanto, tomei a decisão de incluir um capítulo final sobre Manutenção de Software usando IA, tratando de ferramentas, práticas e técnicas para manutenção automatizada de software. Apesar de ser um tema em constante evolução, fizemos um esforço para tratar do assunto de forma abrangente e, ao mesmo tempo, focar apenas em tópicos que provavelmente já estão estabelecidos e que, portanto, devem continuar valendo nos próximos anos.
Estrutura do Livro 🔗
Para conhecer a estrutura do livro, recomendamos uma consulta ao
Sumário, que precede este prefácio. Para mais detalhes, pode-se
consultar também a seção O que Vamos Estudar?
, que encerra o
primeiro capítulo.
Público-Alvo 🔗
O livro destina-se a alunos de cursos de graduação em Computação, bem como a profissionais que desejam aprimorar sua formação na área. Ele pode ser usado em uma disciplina sobre Manutenção e Evolução de Software ou em disciplinas relacionadas, como Qualidade de Software. Pode ser usado também em cursos que possuem uma segunda disciplina sobre Engenharia de Software.
Os leitores devem ter conhecimento básico sobre Engenharia de Software e já ter cursado pelo menos uma disciplina na área. Caso contrário, recomendamos começar pela leitura do nosso livro anterior (Engenharia de Software Moderna).
Versão Aberta 🔗
O livro possui uma versão aberta, em HTML, disponível em:
https://manutencaosoftware.org
Marco Tulio Valente
Belo Horizonte, 29 de abril de 2026.
Sobre o Autor 🔗
Marco Tulio Valente é Professor Titular do Departamento de Ciência da Computação da UFMG, na área de Engenharia de Software. Foi professor da PUC Minas por onze anos e atuou por quatro anos na indústria como analista de sistemas na Telecomunicações de Minas Gerais. É autor de cerca de 150 artigos científicos, com mais de nove mil citações. Orientou mais de 35 dissertações de mestrado e 15 teses de doutorado, além de receber, com seus alunos, mais de 25 premiações em eventos científicos. Em 2020, publicou Engenharia de Software Moderna, livro que continua desempenhando um papel importante na formação da nova geração brasileira de engenheiros de software, sendo adotado por mais de 550 professores. Em 2024, o livro ganhou uma versão em inglês, usada em mais de 25 países.
