Engenharia de Requisitos - Eduardo Magno

domingo, março 26, 2006

Segunda Lei: Increasing Complexity

Esta lei de Lehman [2] afirma que a complexidade de um programa aumenta, a não ser que sejam feitos esforços de manutenção e redução do mesmo.

Os dados e gráficos contidos no artigo de Scacchi [3] mostram um crescimento contínuo em tamanho e acoplamento de Software Livre (SL) durante sua evolução – dados confirmados, por exemplo, na avaliação do Linux Kernel avaliado no artigo.

Apesar da complexidade de software não poder ser avaliada apenas em função de seu tamanho e acoplamento entre módulos, estes atributos são bons indicadores da complexidade de sistemas [1]. Portanto, em minha opinião as informações do artigo confirmam esta segunda lei de Lehman para SL.

Finalmente, concordo com Scacchi [3] quando ele afirma (página 21, parágrafo 2) que novos estudos são necessários para melhor avaliar a complexidade, tanto no Linux Kernel quanto em outros sistemas de software. Além disso, acredito ser importante utilizar medidas de coesão em adição a tamanho e acoplamento para melhor expressar a complexidade.

[1] HENDERSON-SELLERS, B. “Object-Oriented Metrics: Measures of Complexity”. Prentice Hall, 1996. 234p.

[2] LEHMAN, M. "Laws of Software Evolution Revisited". EWSPT 1996, LNCS 1149, Springer Verlag, p. 108-124, 1997

[3] SCACCHI, W. “Understanding open source software evolution - Applying, breaking and rethinking the laws of software evolution”. Institute for Software Research, University of California, 2003.

1 Comments:

  • Eduardo,

    Concordo. Converse como o Cláudio Sant'Anna sobre isso e veja se ele tem alguma sugestão de artigo no que se refere a evolução.

    jcl

    By Blogger evolsoftware, at 5:18 PM  

Postar um comentário

<< Home