Manutenção de Software: Problemas

   Os desenvolvedores de softwares trabalham, frequentemente, com "Sistemas Legados" ou "Código Alienígena" que são sistemas muito antigos e considerados insubstituíveis ou porque a reimplementação de suas funções é considerada muito dispendiosa, ou porque eles merecem a confiança dos usuários, apesar de sua difícil manutenção; ou seja, os usuários podem estar satisfeitos com o sistema, mas o pessoal técnico "faz milagres" para que ele continue a funcionar. Muitos desses sistemas não possuem documentação e as poucas pessoas que sabiam como ele funcionava não trabalham mais na empresa. Tais sistemas foram implementados nuam época em que a velocidade e memória eram os principais requisitos de um software. Qualidade e métodos estruturados quase nunca eram considerados. Com isso, o entendimento desses softwares torna-se difícil pelo grau de desestruturação e pela falta de uma documentação atualizada e correta. Além do mais, é difícil a adição de novas funções a tais sistemas, porque as funções passam a depender dos seus detalhes internos Por tudo isso, esses softwares necessitam ser renovados para que sua manutenção se torne mais fácil.
   "A maioria dos problemas associados à manutenção refere-se a deficiências na maneira segundo a qual o software foi planejado e desenvolvido. Aplica-se aqui a clássica situação do "pague agora ou pague muito mais depois."" - Pressman
   Entre os problemas relacionados à manutenção de software encontram-se:

  • A evolução do software é difícil de ser acompanhada, pois as mudanças geralmente não são adequadamente documentadas
  • Muitas vezes é difícil entender o programa feito por outra pessoa. A dificuldade aumenta à medida que o número de pessoas envolvidas com o software saem da empresa.
  • A documentação não existe, é incompleta, ou desatualizada.
  • Grande parte dos softwares não foi projetada para sofrer mudanças. As modificações neles são difíceis e propensas a erro. Qualquer mudança necessária pode causar efeitos colaterais.
  • A manutenção não é vista como um trabalho muito gratificante. A maioria dos desenvolvedores gosta de fazer novos sistemas, e não "remendar" os já existentes.
   No próximo post falarei sobre os efeitos colaterais em manutenção.

 

Postagens mais visitadas