Book cover

Página Principal | Modo Dark

Fundamentos de Manutenção de Software

Marco Tulio Valente

Prefácio (versão preliminar)

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, 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:

  1. 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.

  2. 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).

  3. 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 20 anos de pesquisas na área.

Além disso, eu planejei um livro com metade do tamanho de Engenharia de Software Moderna. Primeiro, porque é um livro focado em apenas uma subárea. Adicionalmente, um livro menor também 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.

Impacto de IA

O início da escrita do livro, no final de 2023, coincidiu com o avanço dos modelos de linguagens, 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. É sempre 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 sejam automatizadas por modelos de IA. Em outras palavras, sistemas de software são por demais 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, conhecimento técnico continua essencial.

No entanto, também tomei a decisão de incluir um capítulo online sobre Manutenção de Software usando IA, que pretendemos manter atualizado com as principais ferramentas, práticas e técnicas para manutenção automatizada de software. A ideia é que este capítulo mostre como IA está afetando cada um dos temas dos capítulos anteriores. Ou seja, ele vai ter seções sobre código limpo com IA, documentação com IA, correção de bugs com IA, manutenção de sistemas legados com IA, etc.

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 profissionais que desejam complementar e aprimorar sua formação na área. Especificamente, ele foi escrito para ser usado em uma disciplina de 60 horas.

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

Sobre o Autor

Marco Tulio Valente é doutor em Ciência da Computação pela Universidade Federal de Minas Gerais (UFMG), onde é Professor Titular do Departamento de Ciência da Computação. Ele é autor de mais de 150 artigos em periódicos e conferências internacionais, muitos deles em coautoria com pesquisadores de renome. Orientou mais de 35 dissertações de mestrado e 15 teses de doutorado. Recebeu mais de 20 prêmios nacionais e internacionais, quase todos em parceria com seus alunos. Desde 2010, coordena o Applied Software Engineering Research Group (ASERG), do DCC/UFMG. Em 2020, publicou Engenharia de Software Moderna: Princípios e Práticas para Desenvolvimento de Software com Produtividade, que se transformou no livro de referência para ensino de Engenharia de Software no Brasil, sendo usado por mais de 500 professores. Em 2024, o livro ganhou uma versão em inglês, que é usada em mais de 20 países.