DGERT   APCER
Relações de compromisso

Vantagens da Utilização da Análise Estática e Dinâmica


Newsl181


A utilização da análise estática durante o desenvolvimento e da análise dinâmica durante os testes permite que as equipas de desenvolvimento possam melhorar significativamente a qualidade do código e obter várias vantagens, como se segue.

 a) Redução dos custos de desenvolvimento

Existem vários estudos a demonstrar que a utilização de produtos de análise estática permitem às equipas de desenvolvimento identificar rápida e facilmente entre cinco e 30 por cento de todos os defeitos do código nas primeiras fases do ciclo de vida do desenvolvimento ? numa altura em que o custo de resolução dos defeitos é mais reduzido. Esta identificação de defeitos relacionados com problemas gerais de qualidade de código à medida que este está a ser desenvolvido ? antes de todo o sistema estar criado ? permite reduzir o número de defeitos na fase de teste e debug. Desta forma, poupa-se tempo e dinheiro.

Por outro lado, o estudo das análises de código produzidas por produtos como o Rational Software Analyzer (análise estática), permite que os programadores aprendam as melhores práticas e melhorem as suas capacidades globais de codificação. Esta implementação das melhores práticas junto das equipas de desenvolvimento permite reforçar o recurso aos standards de codificação e a adesão a directivas relacionadas com a conformidade.

Se quisermos referir a análise dinâmica e mantermo-nos no universo das ferramentas da IBM, podemos referir que a utilização Rational PurifyPlus ajuda a melhorar a detecção de erros ? sobretudo bugs difíceis de identificar relacionados com a memória ? antes da aplicação chegar ao cliente. Ou seja, numa altura em que os custos de resolução desses problemas ainda são relativamente baixos.

b) Apoio nos esforços de conformidade

As ferramentas de análise estática devem permitir que as equipas de desenvolvimento criem as suas próprias regras e relatórios, ajudando a alinhar os requisitos de governação da empresa com as orientações de programação. Os relatórios produzidos também deverão permitir que as equipas de gestão obtenham uma visão de alto nível sobre a qualidade do software e questões relacionadas com a conformidade. Por sua vez, as ferramentas de análise dinâmica deverão permitir demonstrar a inexistência de erros de memória e outros aspectos contratuais acordados com o cliente. Isto é importante para efeitos de garantia da qualidade, tanto relativamente a clientes, como a auditores.

c) Maior controlo relativamente à qualidade do código desenvolvido em outsourcing

Pode ser difícil validar a qualidade do código desenvolvido em outsourcing antes de o introduzir numa aplicação ou produto mais abrangente. As ferramentas de análise estática e dinâmica poderão ser particularmente úteis quando se recorre ao outsourcing de parte ou todo o desenvolvimento do código. A utilização destes produtos deverá permitir validar a qualidade e a construção do código antes de o incorporar numa aplicação. Este aspecto é importante para garantir que o código está em conformidade com os standards da empresa que encomendou o desenvolvimento.

d) Redução do tempo de disponibilização ao mercado

Pode parecer uma contradição afirmar que a introdução de mais dois passos no processo de desenvolvimento pode ajudar a disponibilizar produtos mais rapidamente ao mercado. No entanto, é isso mesmo que pode resultar da utilização da análise estática e dinâmica como parte regular do desenvolvimento. A análise estática permite testar a qualidade do código antes das aplicações serem submetidas à equipa de garantia da qualidade, diminuindo assim a quantidade de tempo gasta a identificar e resolver bugs.

A análise dinâmica permite reduzir significativamente a quantidade de tempo que os programadores gastam a resolver problemas de desempenho, algo que acaba por diminuir o ciclo de desenvolvimento. Tem sido demonstrado por vários estudos que um programador médio gasta cerca de cinco por cento do seu tempo na tarefa de optimizar o desempenho

e) Maior produtividade

As ferramentas de análise estática podem ajudar os programadores na compreensão de boas práticas de codificação e na identificação de áreas de melhoria, permitindo assim progressos nas suas capacidades de codificação. Por outro lado, ao permitirem a identificação de problemas o mais cedo possível durante o ciclo de desenvolvimento, fazem com que seja necessário menos tempo e esforço para corrigir esses problemas. Isto traduz-se num aumento da produtividade de quem desenvolve.

As ferramentas de análise dinâmica podem ajudar a reduzir a quantidade de tempo necessária para o debug das aplicações. A utilização destas ferramentas para identificar automaticamente os bugs permite que os especialistas em desenvolvimento gastem menos tempo no debugging de aplicações existentes e tenham mais tempo para escrever novo código. Paralelamente, uma ferramenta como o Rational PurifyPlus ajuda a compreender como uma aplicação é executada, fornecendo assim informação sobre o seu desempenho, lógica aplicacional e memória. Os especialistas em desenvolvimento poderão assim aprender como criar aplicações livres de erros sérios.

Baseado num documento intitulado ?Minimizing code defects to improve software quality and lower development costs?, publicado no site da IBM Rational.
 

Topo
Pesquisa
Agenda
Destaques