You are on page 1of 3

Manutenibilidade de Software

Autor: Marco Aurlio Cordeiro - GPS Manuteno de software definida como o processo de modificao de um produto de software, componente ou sistema aps a sua instalao, de forma a corrigi-lo, melhor-lo ou adapt-lo para uma mudana no ambiente operacional. Manutenibilidade de software o atributo que caracteriza a facilidade de modificao ou adaptao de um software[1]. muitas vezes quantificada em termos do tempo mdio requerido para efetivar a reviso do software para eliminar um erro. Esse atributo muito significativo para um software, na medida que a etapa de manuteno pode consumir at 65% do custo total de um produto[2]. Freqentemente, a primeira vez em que aparecem questes de falhas de software durante a fase de teste. Deteco de falhas, depurao, correo e teste de regresso so as atividades executadas durante a fase de teste e integrao. Nesta fase, muitos dos problemas do software vm a tona e so corrigidos, porm, fatalmente, outros somente aparecero aps a sua implantao, quando em operao pelos usurios. Aps a implantao do sistema em produo, a fase do ciclo de vida que inicia a de manuteno. Nesta fase, a correo de um erro ou o melhoramento funcional obriga que a modificao seja analisada, implementada, testada, documentada e integrada. Por este motivo, cada manuteno acaba sendo sempre um processo trabalhoso e delicado, buscando que o novo cdigo no introduza novos erros e que a documentao seja atualizada para refletir as modificaes. Alguns problemas que podem dificultar a atividade de manuteno, principalmente para aqueles software que atravessam muitos anos em atividade, so:

atual;

A documentao do software se deteriorou atravs dos anos, e j no reflete a funcionalidade

Nenhum dos desenvolvedores do software est disponvel para esclarecer as dvidas; Forte integrao do mdulo que sofrer manuteno com outros mdulos; Alta complexidade algortmica do mdulo a ser modificado; Inexistncia de controle de configurao do software; Inexistncia de um ambiente para teste da manuteno; Alteraes freqentes no software motivadas, por exemplo, por necessidades legais.

A indstria de software no tem costume de desativar sistemas pelo fato de apresentarem algumas destas caractersticas e, por este motivo, devemos procurar alcanar as seguintes metas durante o desenvolvimento:

Usurios e desenvolvedores devem estar bem informados da importncia da manuteno, e requisitos de manutenibilidade devem ser detalhados e documentados, principalmente quando o software tem perspectiva de modificaes constantes, como o caso de sistemas que se baseiam em legislao que muda com freqncia;

Estabelecimento de um contedo mnimo de documentao requerida que auxilie efetivamente o processo de manuteno; Determinar os atributos de design necessrios para a manutenibilidade requerida e incluso destes no plano de garantia de qualidade de software; Estabelecer um processo de manuteno efetivo, se possvel, suportado por ferramenta automatizada.

O Processo de Manuteno A meta primordial deste processo facilitar a acomodao de mudanas, que so inevitveis em produtos de software, reduzindo a quantidade de esforo na fase de manuteno. Este processo deve ser amplo o bastante para suportar manuteno para a correo de um erro, dito corretiva, para a modificao de uma funcionalidade existente, adaptativa ou a incluso de funcionalidade, perfectiva. Pedidos de mudana podem originar, por necessidade do usurio, alteraes legais ou por diversos outros motivos. O que importa que haja um processo formal e documentado para que a mudana seja efetivada ou rejeitada, registrando as informaes independente do veredicto da mudana. Deve-se registrar mesmo a informao de rejeio, pelo fato dela ser solicitada novamente por outra fonte. Muitas vezes, diversas aes de mudana so empacotadas juntas em um nico bloco, para facilitar a implementao e o controle. O procedimento para conduzir a ao da manuteno deve incluir os seguintes passos:

Avaliar a requisio da mudana, avaliando sua real necessidade; Avaliar o impacto da mudana dentro do sistema ou em sistemas ao qual est integrado; Estimar custo e tempo para implementao; Implementar as modificaes; Testar os mdulos modificados; Testar a integrao do sistema; Atualizar a documentao; Integrar.

Concluso Curioso que a fase do ciclo de vida do software que, geralmente, consome a maior parte dos recursos, financeiros e humanos, das organizaes de desenvolvimento de software em nvel mundial, a que menos ateno recebe quando estamos planejando o desenvolvimento de um software. H muito pouco tempo, comeamos a ouvir falar em manutenibilidade, palavra tcnica que provavelmente nem conste no nosso dicionrio, mas que vem ganhando destaque em nosso meio, justamente pelo motivo que move as organizaes: Custo. Pensar em manutenibilidade durante o desenvolvimento de um software, pensar em atributos que iro facilitar a implementao de modificaes e, provavelmente, permitiro minimizar um panorama constante da nossa profisso. Pessoas que desenvolvem um nico projeto e ficam permanentemente na fase de manuteno deste produto, esto impossibilitadas de atuar em novos projetos, porque no conseguiram produzir documentao que facilite a insero de outros tcnicos para ajudar neste trabalho, liberando, desta fase, os tcnicos que participaram do projeto desde o incio. Alm

da documentao, outro fator que enterra tcnicos em um nico projeto, so projetos desenvolvidos com processos pobres do ponto de vista de engenharia de software, o que dificulta as modificaes e que s o chamado analista responsvel, muitas vezes o nico que sobrou do time de desenvolvimento, capaz de implementar sem introduzir mais erros do que aqueles que est corrigindo.

You might also like