Managing class evolution in object-oriented systems

Eduardo Casais · Archive ouverte UNIGE (University of Geneva) · 1995

Software components developed with an object-oriented language undergo considerable reprogramming before they become reusable in a wide range of applications or domains. Tools and methodologies are therefore needed to cope with the complexity of designing, updating and reorganizing vast collections of classes. This paper describes several techniques for controlling change in object-oriented systems, illustrates their functionality with selected examples and discusses their advantages and their limitations. As a complement to traditional approaches like version management, we propose new algorithms for automatically restructuring a hierarchy when classes are added to it. These algorithms not only help in handling modifications in libraries of software components, but they also provide useful guidance for detecting and correcting improper class modelling.

Read the paper · More papers on PaperTik