Swinburne
Browse

Patterns of component evolution

Download (766.87 kB)
chapter
posted on 2024-07-11, 09:54 authored by Rajesh Vasa, Markus LumpeMarkus Lumpe, Jean-Guy Schneider
Contemporary software systems are composed of many components, which, in general, undergo phased and incremental development. In order to facilitate the corresponding construction process, it is important that the development team in charge has a good understanding of how individual software components typically evolve. Furthermore, software engineers need to be able to recognize abnormal patterns of growth with respect to size, structure, and complexity of the components and the resulting composite. Only if a development team understands the processes that underpin the evolution of software systems, will they be able to make better development choices. In this paper, we analyze recurring structural and evolutionary patterns that we have observed in public-domain software systems built using object-oriented programming languages. Based on our analysis, we discuss common growth patterns found in present-day component-based software systems and illustrate simple means to aid developers in achieving a better understanding of those patterns. As a consequence, we hope to raise the awareness level in the community on how component-based software systems tend to naturally evolve.

History

Available versions

PDF (Accepted manuscript)

ISBN

3540773509

ISSN

0302-9743

Parent title

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Volume

4829 LNCS

Pagination

16 pp

Publisher

Springer

Copyright statement

Copyright © 2007 Springer-Verlag Berlin Heidelberg 2007. The accepted manuscript is reproduced in accordance with the copyright policy of the publisher. The definitive publication is available at www.springerlink.com.

Language

eng

Usage metrics

    Publications

    Categories

    No categories selected

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC