Manutenção de Software: Custos, Problemas e Manutenibilidade
Classificado em Tecnologia
Escrito em em português com um tamanho de 2,86 KB
Custo de Manutenção de Software
Os custos de manutenção de software têm aumentado constantemente durante os últimos 20 anos. Se nada for feito para melhorar nossa abordagem à manutenção, muitas empresas gastarão 80% de seus orçamentos em manutenção. Os custos de manutenção em dólar são a nossa maior preocupação, mas outros custos menos tangíveis podem ser uma causa de preocupação ainda maior.
Custos Intangíveis da Manutenção
- Oportunidade de desenvolvimento de software que é postergada ou perdida, pois recursos são destinados à manutenção;
- Insatisfação dos clientes quando solicitações não podem ser encaminhadas oportunamente;
- Redução da qualidade global quando mudanças introduzem erros latentes;
- Problemas causados durante os esforços de desenvolvimento.
Redução da Produtividade
O custo final da manutenção de software é uma drástica diminuição da produtividade que ocorre quando a manutenção de programas antigos é iniciada.
Problemas Clássicos na Manutenção
- Frequentemente é difícil ou impossível rastrear a evolução do software;
- Frequentemente é difícil ou impossível rastrear o processo através do qual o software foi criado;
- Excepcionalmente difícil entender o programa de outra pessoa.
Manutenibilidade
A facilidade com que um software pode ser entendido, corrigido, adaptado e/ou aumentado. É a meta primordial que orienta os passos de um processo de engenharia de software.
Manutenibilidade: Fatores Controladores
- Disponibilidade de pessoal de software qualificado;
- Estrutura de sistema compreensível;
- Facilidade de manuseio do sistema;
- Uso de linguagens de programação padronizadas;
- Uso de sistemas operacionais padronizados.
Manutenibilidade: Medidas Quantitativas
- Tempo de reconhecimento do problema;
- Tempo de retardo administrativo;
- Tempo de coleta de ferramentas de manutenção;
- Tempo de análise do problema;
- Tempo de especificação de mudanças;
- Tempo de correção (ou modificação) ativa;
- Tempo de testes locais;
- Tempo de testes globais;
- Tempo de revisão da manutenção;
- Tempo de recuperação total.
Manutenibilidade: Revisões no Processo
Em cada nível do processo de revisão de engenharia de software, a manutenibilidade deve ser considerada.
Durante a Revisão de Requisitos:
- Anotar as áreas de futuros acréscimos e potencial revisão;
- Questões de portabilidade do software são discutidas;
- Interfaces do sistema são consideradas;
- Projeto dos dados, projeto arquitetural, processo procedimental e projeto de interfaces são avaliados.