15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

172<br />

Existem diferentes métricas voltadas à reutilização 1 , que focam em aspectos econômicos e<br />

estruturais de artefatos de software. No contexto desta questão destacam-se apenas os aspectos<br />

estruturais, pois esta tese trata de uma abordagem voltada para a engenharia para reutilização.<br />

A literatura apresenta algumas métricas simples para medir a reutilização no nível estrutural dos<br />

artefatos, mas nenhuma delas é capaz de oferecer uma imagem completa do nível de reutilização<br />

em um sistema (MASCENA; ALMEIDA; MEIRA, 2005). Assim, faz-se necessária uma análise mais<br />

cuidadosa, comb<strong>in</strong>ando-se diferentes métricas que avaliem os aspectos importantes para este<br />

estudo específico.<br />

Assim, as segu<strong>in</strong>tes métricas foram def<strong>in</strong>idas para a questão Q1:<br />

M1. Porcentagem de reutilização (RP - <strong>Reuse</strong> Percent). Esta é a métrica mais básica de<br />

reutilização, sendo def<strong>in</strong>ida como a razão entre o número de l<strong>in</strong>has de código reutilizadas e<br />

o número total de l<strong>in</strong>has de código (POULIN; CARUSO, 1993). Um cuidado especial deve ser<br />

tomado com esta métrica, pois pode levar a conclusões <strong>in</strong>corretas. Por exemplo, caso seja<br />

reutilizado um único método, pequeno, de uma classe com milhares de l<strong>in</strong>has de código, esta<br />

porcentagem seria alta mas não refletiria a realidade de que apenas uma porção da classe<br />

foi reutilizada. A coleta desta métrica envolve a identificação dos módulos reutilizados e a<br />

contagem das l<strong>in</strong>has de código dos módulos reutilizados e não-reutilizados.<br />

M2. Razão de reutilização (RR - <strong>Reuse</strong> Ratio). Esta métrica é calculada da mesma forma<br />

que a M1, porém também considerando-se a reutilização do tipo caixa-branca (DEVANBU et al.,<br />

1996): artefatos modificados até um certo nível são considerados como reutilizados. Devanbu<br />

et al. (1996) sugerem o valor de 25% como margem de tolerância: artefatos que tiveram mais<br />

de 25% de seu código modificado não são considerados como reutilizados.<br />

M3. Porcentagem de reutilização não desejada. Conforme destacado na métrica M1, a<br />

reutilização de grandes trechos de código que não são efetivamente utilizados pode distorcer<br />

a métrica de porcentagem de reutilização. O uso desta métrica permite determ<strong>in</strong>ar se este<br />

efeito está ocorrendo. Além disso, reutilizar código que não é efetivamente aproveitado pode<br />

ser prejudicial, agregando <strong>in</strong>formações descartáveis que podem confundir a equipe durante a<br />

manutenção do software. Portanto, esta métrica também ajuda a caracterizar a reutilização. Esta<br />

métrica consiste no cálculo da porcentagem, para cada artefato reutilizado, das l<strong>in</strong>has de código<br />

que não são efetivamente utilizadas em relação ao número total de l<strong>in</strong>has de código reutilizadas.<br />

Para a coleta desta métrica pode-se utilizar funcionalidades das IDEs que permitem determ<strong>in</strong>ar<br />

quais métodos não são chamados, por exemplo.<br />

M4. Porcentagem de reutilização gerada. Esta métrica calcula a porcentagem de artefatos<br />

1 Uma revisão sobre métricas para MDD e reutilização é apresentada no Capítulo 9.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!