EVOLUÇÃO DE SOFTWARE

sexta-feira, 23 de março de 2007

Understanding Open Source Software Evolution

O artigo analisa as 8 Leis de Evolução de Software do Prof Lehman [1] com relação ao software livre. Como foi discutido em sala de aula, Scacchi [2] apresenta alguns argumentos considerados fracos para algumas leis, como por exemplo, a falta de clareza em medir a satisfação do usuário e a complexidade de um sistema. Com relação a complexidade, ficou claro que basear-se somente em tamanho do software é incipiente. Torna-se necessário medidas de acoplamento e coesão para melhores conclusões relacionadas à complexidade.
Na quarta lei "conservation of organizational stability", Scacchi mostra que no Debian Linux ocorreu um crescimento super-linear, contrariando totalmente o nível invariante de atividade global defendida pelo Prof Lehman.
Na quinta Lei "conservation of familiarity" , Scacchi afirma que em software livre pode haver um aumento incremental no caso de fusão de sistemas, ou uma diminuição significativa quando há refactoring, ao contrário do Prof Lehman, pois o mesmo afirma que a durante a vida de um software, o tamanho das releases é estatisticamente invariante.
Um último questionamento está relacionado aos E-type softwares. Até onde um Software Livre pode ser considerado E-type? Cabe ressaltar que essa classificação não leva em consideração a maneira que o software é desenvolvido e a organização responsável por ele. Provavelmente os sistemas abertos possam ser considerados um diferente tipo de software, devido as suas características singulares.
Por fim, acredito que as Leis propostas Pelo Prof Lehman são contribuições significativas no entendimento da Evolução de Softwares, necessitando apenas serem revistas para uma recente realidade.

Referências:

[1] LEHMAN, M. "Laws of Software Evolution Revisited". EWSPT 1996, LNCS 1149, Springer Verlag, p. 108-124, 1997.
[2] SCACCHI, W. “Understanding Open Source Software Evolution - Applying, Breaking and Rethinking the Laws of Software Evolution”. Institute for Software Research, University of California, 2003.