Resumo de Engenharia de Software - Manutenção de Software

Manutenção de Software

Manutenção de Software: Conceito e Importância

A manutenção de software refere-se às modificações realizadas em um sistema após sua entrega, visando corrigir falhas, melhorar desempenho ou adaptar-se a novos requisitos. É uma fase crítica da Engenharia de Software, representando até 70% do ciclo de vida de um sistema.

Tipos de Manutenção de Software

1. Corretiva: Correção de defeitos ou erros identificados em produção.
2. Adaptativa: Ajustes para compatibilidade com mudanças no ambiente (hardware, SO, leis).
3. Perfeitiva (Evolutiva): Melhorias de funcionalidades ou desempenho solicitadas pelos usuários.
4. Preventiva: Otimização do código para facilitar futuras manutenções (refatoração).

Processo de Manutenção

1. Identificação da Mudança: Requisição via relatório de erros ou solicitação de melhoria.
2. Análise de Impacto: Avaliação de custo, riscos e áreas afetadas.
3. Implementação: Modificação do código com versionamento e testes rigorosos.
4. Validação: Verificação se a alteração atende aos requisitos sem introduzir novos defeitos.

Desafios na Manutenção

- Dificuldade de compreensão em sistemas legados.
- Falta de documentação adequada.
- Acúmulo de dívida técnica (technical debt).
- Riscos de introduzir novos erros (regressão).

Boas Práticas

- Documentação clara e atualizada.
- Uso de padrões de codificação.
- Testes automatizados (unitários, integração).
- Controle de versão (Git, SVN).
- Modularização e baixo acoplamento.

Modelos de Manutenção

Modelo de Reuso: Foco em componentes reaproveitáveis.
Modelo Iterativo: Ciclos curtos de entrega contínua.
Modelo de Melhoria Contínua (Kaizen): Pequenas otimizações incrementais.