Capítulo 4

Manutenção

67% do custo. 0% da atenção no início.

Canal Sandeco
A parede invisível do débito técnico
Débito Técnico

Construir é fácil. Manter é onde a conta chega.

"

A manutenção consome 67% do custo total de um sistema de software.

Roger Pressman Engenharia de Software: Uma Abordagem Profissional
Distribuição do custo total do software
O Custo Real do Software

A fase menos planejada consome 67% do orçamento.

Como os 67% se Dividem

Nem toda manutenção tem o mesmo peso

Evolutiva

50%

Adaptativa

25%

Corretiva

21%

Preventiva

4%

A mais eficiente é a menos praticada.

Tipos de manutenção
Tipos de Manutenção

Preventiva: apenas 4%. E é a mais barata.

Dois Mundos. Dois Custos.

Estratégica

Preventiva

Juros baixos

Refatora antes do problema aparecer.

Corretiva

Juros altos

Conserta com pressão e sem testes.

Custo das mudanças cresce com o tempo
Gráfico de Pressman

Custo cresce. Influência cai. O cliente descobre tarde.

5 Categorias SWEBOK

Toda solicitação de mudança é uma destas

Corretiva

Algo quebrou. Conserta.

Preventiva

Refatora antes da dor.

Adaptativa

O ambiente mudou. Ajusta.

Additive

Nova feature pós-entrega.

Perfectiva

Melhoria sem mudar comportamento. Performance, UX, mensagens.

Fluxo de manutenção segundo o SWEBOK
SWEBOK na Prática

Todo pedido de mudança passa por esse fluxo.

Paradigma

Programação
Orientada a Objetos

A forma como sistemas grandes aprenderam a não desabar.

O que é OO?

Em uma frase:

Um paradigma que modela software como uma coleção de objetos que conversam entre si, em vez de uma sequência de passos.

Modela entidades

Não passos

Conversa por interfaces

Sem acoplar tudo

Estado + Comportamento

No mesmo lugar

Duas Formas de Pensar

A pergunta que cada paradigma faz

Estruturada

C

"Quais passos executar?"

Orientada a Objetos

Java

"Quem é responsável por quê?"

Restaurante Pequeno

Um cozinheiro. Fazendo tudo.

Pega pedido
Corta ingredientes
Cozinha
Monta o prato
Entrega
Cobra
Funciona... até o restaurante crescer.

Restaurante Profissional

Cada setor com sua responsabilidade.

Garçom

Recebe pedidos

Cozinha

Prepara a comida

Caixa

Cuida do pagamento

Estoque

Controla ingredientes

Cada um na sua função. O sistema escala.

Sua Cabeça Muda

Não é só sintaxe. É outra forma de pensar.

Estruturada

Operador

Executa passos.
Linha por linha.

OO

Arquiteto

Organiza responsabilidades.
Modela o domínio.

"

Estruturada organiza o fluxo.
OO organiza o domínio.

A Mudança de Paradigma É por isso que sistemas grandes adotaram OO.
Os 3 pilares da POO
Programação Orientada a Objetos

A base de todo código que sobrevive ao tempo.

Os 3 Pilares da POO

Encapsulamento

Esconda complexidade. Exponha só o necessário.

Herança

Reaproveite. Sem duplicar código.

Polimorfismo

Troque implementação. Sem quebrar nada.

Encapsulamento na prática
Encapsulamento

Zona privada protegida. Interface pública controlada.

ENCAPSULAMENTO
class ContaBancaria:
    def __init__(self, saldo: float = 0):
        self._saldo = saldo  # protegido

    def depositar(self, valor: float):
        if valor <= 0:
            raise ValueError("Inválido")
        self._saldo += valor
// Regra muda em UM lugar só
Ready
Hierarquia de herança Veículo, Carro, Moto
Herança

Mudou na classe pai. Propagou para todas as filhas.

POLIMORFISMO
class Forma(ABC):
    @abstractmethod
    def area(self) -> float: pass

# Tipos diferentes, mesma interface
formas = [Retangulo(10,5), Circulo(7)]
for f in formas:
    print(f.area())
// Adicione Triangulo amanhã sem mudar nada
Ready
Fluxo do polimorfismo
Polimorfismo

Mesma interface. Comportamentos diferentes.

Sem POO vs Com POO

O impacto direto na manutenção

Comparativo: o impacto da POO na manutenção

Sem POO: cada mudança vira caça ao tesouro.

Com POO: mudança em UM lugar propaga limpo.

Design Patterns do Gang of Four
Gang of Four

Soluções testadas para problemas que se repetem.

Os 5 Padrões Essenciais

Resolvem 80% dos problemas de manutenção

Singleton

Uma instância só

Factory

Cria sem acoplar

Strategy

Troca algoritmo

Observer

Notifica sem acoplar

Repository

Separa negócio do banco

Arquitetura em 4 camadas
Arquitetura em Camadas

Apresentação. Aplicação. Domínio. Infraestrutura.

"

Cada hora investida em qualidade evita dezenas de horas de manutenção corretiva.

A Lição do Capítulo 4 Use IA com processo. Não com pressa.
Canal Sandeco