Você está na página 1de 18

Manuteno de Software

Estimativa de Custo de Manuteno


Prof. Andr Luiz Moura

Importncia da Estimativa de Custo de Manuteno


A estimativa do esforo e custos de manuteno parte do planejamento do processo.

Ajuda a planejar adequadamente os recursos humanos necessrios.

Tambm necessria a estimativa para software coberto por garantia do fabricante/fornecedor. (Tente levar as razes para tal necessidade.)

Fatos relacionados a custos de manuteno


Em 2001, mais de 50% do corpo tcnico estava engajado em modificar aplicaes existentes em vez de escrever novas aplicaes. Na figura abaixo, so mostrados percentuais da manuteno no custo total do desenvolvimento de software em 10 anos em algumas grandes organizaes.

Fatos relacionados a custos de manuteno


Os resultados da figura abaixo baseiam-se em investigao realizada em 487 organizaes

Contudo, ainda relativamente pouco o conhecimento sobre o processo e sobre os fatores de manuteno de software que influenciam seu custo.

Atividades de manuteno e seu custobenefcio


Investimento. Atividades que devem ser desempenhadas se o sistema ainda no se deteriorou: Reparos emergenciais Acomodao a mudanas no ambiente (p. e., mudanas no hardware, S. O., BD etc.) Melhorias obrigatrias (p. e., novas exigncias no formulrio de IR) Alto retorno. Melhoramentos prioritrios requeridos por usurios Melhoramentos na eficincia, confiabilidade e documentao Melhoramentos secundrios requeridos por usurios de baixo, mas positivo excesso de benefcios sobre custos. De retorno decrescente. Atividades boas para se ter, como reescrita de mdulos mal estruturados, mas que so estveis.

Atividades de manuteno e seu custobenefcio

O segmento de investimento representa o trabalho que tem de ser feito apenas para manter o valor do sistema em um nvel aceitvel. uma rea onde o uso de prticas modernas de programao para reduzir a necessidade de reparo emergencial de programa e para minimizar os efeitos colaterais das mudanas ambientais pode ter um efeito significativo sobre o esforo global da manuteno.

Distribuio do Esforo de Manuteno por Atividade

Investigao realizada em 487 organizaes por Boehm: Manuteno corretiva (reparo emergencial de programa e depurao de cdigo) : 21,7% Melhoramentos para usurios: 41,8%

Atividades e Custos de Manuteno


Em uma definio de valores-padro para estimar vrias categorias de atividades de manuteno, foram considerados os seguintes mtricas:
A scopes (Assignments Scopes): Escopos de Atribuies. Quantidade de software que um programador consegue manter operacional no transcurso normal de um ano. Isso inclui: reparo de defeitos em rotinas e atualizaes menores.

P rates (Production rates): Taxas de Produo. Quantidade de software que pode ser mantida em cada intervalo de tempo.

FP (Function Points): Pontos de Funo. Uma medida que representa o tamanho funcional da aplicao de software.

Atividades e Custos de Manuteno


Estimativa de vrias categorias de atividades de manuteno

Atividades de manuteno mais importantes

Reparos de defeito

A mais importante das atividades de manuteno. Ajuda a manter o software em condio operacional depois de uma falha ou relato de defeito. uma atividade inevitvel. No contexto norte-americano, cada pessoa consegue realizar cerca de 8 reparos de defeitos por ms. O tempo de resposta nominal para reparo de defeito pode ser estimado usando a escala de severidades em 4 nveis desenvolvida pela IBM nos anos 1960, conforme mostrado abaixo:

Atividades de manuteno mais importantes

Remoo de mdulos propensos a erro

Os defeitos no software em grandes sistemas so raramente distribudos aleatoriamente. Em vez disso, eles tendem a amoitar-se em um pequeno nmero de muitas pores, chamados mdulos sujeitos a erro. Exemplo: Nos anos 1970, um grande produto da IBM, o Information Management system (IMS), contendo 425 mdulos. Cerca de 300 desses mdulos nunca receberam um defeito relatado por cliente. Mas 31 mdulos dos 425 receberam mais que 2000 relatos de defeitos provenientes de clientes a cada ano ou prximo de 60% total dos relatos de defeitos em todo o produto. Os mdulos sujeitos a erro podem nunca estabilizar-se por causa da taxa de injeo de reparo mal feito, que pode aproximar-se de 100%, o que significa que cada tentativa para reparar um defeito pode introduzir um novo defeito. Mdulos sujeitos a erro so comuns entre grandes sistemas e aplicaes estruturados precariamente e so muito caros para se manter. Os custos acumulativos de mdulos propensos a erro podem ser mais altos que aqueles para mdulos normais em quase 500%.

Atividades de manuteno mais importantes


Razes comuns para a existncia de mdulos propensos a erro:

Presso de tempo excessiva

Programadores treinados precariamente, acarretando-lhes falta de conhecimento de tcnicas estruturadas Falha para utilizar inspees de cdigo Falha para rastrear defeitos e identificar onde esto presentes mdulos propensos a erro.

Atividades de manuteno mais importantes


Apoio ao cliente

O papel do apoio ao cliente um papel de interface entre clientes e equipes de reparo a defeito. Essa atividade principalmente usada por softwares comerciais com mltiplos usurios. Muito do trabalho de apoio ao cliente orientado a interrupo e iniciado pelos clientes quando eles tm problemas ou necessitam ter questes respondidas. O apoio ao cliente usualmente no repara os problemas em si mesmos. Para novos problemas, o papel do apoio ao cliente registrar os sintomas e direcionar o problema para o grupo de reparo correto.

Atividades de manuteno mais importantes


Reestruturao de Cdigo

A reestruturao de cdigo usualmente feita por ferramenta automatizada e tem o efeito de diminuir nveis de complexidade de software. A reduo da complexidade, por sua vez, facilita a manuteno porque mais fcil de encontrar coisas em um software bem estruturado do que em um software software altamente complexo. Usualmente, a reestruturao no degrada desempenho ou introduz erros. Contudo, muitas aplicaes reestruturadas contm cerca de 10% mais cdigo que tinham anteriormente.

Atividades de manuteno mais importantes


Migrao atravs de plataformas

Os projetos de migrao so aqueles associados com mover uma aplicao de uma plataforma para outra. So exemplos de migrao portar uma aplicao de uma sistema operacional para outro ou de um processador para outro. Se as ferramentas estiverem disponveis para renovao e as especificaes do software estiverem bem documentadas, a migrao pode ocorrer a taxas que excedem a 50 pontos de funo por pessoa mensalmente. Se o software escrito em linguagens obscuras e se as especificaes esto ausentes ou obsoletas, a migrao pode ocorrer a uma taxa de menos que 5 pontos de funo por pessoa ao ms.

Atividades de manuteno mais importantes


Mudanas Obrigatrias

As mudanas obrigatrias so modificaes para o software feitas em resposta a mudanas na legislao ou na poltica vigentes. Por exemplo, uma mudana em taxas de impostos ou uma mudana nos benefcios de planos de sade exigiro modificaes para muitos pacotes de software. As mudanas obrigatrias so uma das mais problemticas formas de problemas de manuteno de software por causa dos custos que so frequentemente altos, a presso do tempo intensa e pode haver penalidades severas pela inconformidade. Para piorar, quase impossvel predizer as mudanas obrigatrias.

Atividades de manuteno mais importantes


Otimizao de Desempenho

Os projetos de otimizao so normalmente desempenhados por aplicaes e sistemas com taxas de transao muito elevadas, tais como processamento de carto de crdito ou aplicaes de tempo real. A otimizao est preocupada com minimizar atrasos em transaes, encontrando sesses que tornam as coisas lentas, e realizar passos de otimizao apropriados.

Atividades de manuteno mais importantes


Melhorias

As melhorias ocupam-se da adio de novas caracterstica em software existente em resposta a solicitaes explcitas de usurios. As melhorias so subdividas em melhorias maiores (principais) e melhorias menores.

Melhorias menores. So restritas a atualizaes na aplicao que podem ser feitas em uma semana do calendrio ou menos, o que implica um tamanho de at 5 pontos de funo. Esse tamanho suficiente para adicionar um novo relatrio ou um novo elemento de tela. Melhorias maiores. Ocorrem em atualizaes que geralmente excedem 20 pontos de funo. Nesse tamanho, atualizaes significativas, tais como adicionar completamente uma nova caracterstica so frequentemente encontradas.

A classificao de uma melhoria em menor ou maior, quando ambgua, pode depender de circunstncias especficas. Anualmente, as melhorias aumentam em 7% o total de pontos de funo das aplicaes, embora possa haver amplas variaes. Para melhorias em aplicaes grandes ou aplicaes mal estruturadas, os custos com testes de integrao e aplicao podem ser mais altos que a quantidade equivalente de novo trabalho de desenvolvimento.