| The assessment of the changeability of software systems is of major concern for our industrial partner, Bell Canada. In fact, industrials in fast-moving domains need to be sure of the behavior of systems facing an on-going flow of changes. We define the changeability of a software system as its ability to absorb changes.; We believe that an object-oriented system's design influences its changeability. So, a system with some specific design properties can more easily absorb changes than if such properties are missing.; In this thesis, we explore the ability of architectural properties to predict the changeability of software systems. We used a change impact model to evaluate the changeability. Concerning the architectural properties, they have been estimated by well-known design metrics from the literature. Then, we conducted several experiments to test the relationship between design metrics and the impact estimated by the basic change impact model.; As results, we observed that class coupling is a good indicator of changeability. Meanwhile, class cohesion as defined by available metrics cannot be used to predict changeability.; To obtain a fine-grained assessment of system changeability, we decided to extend the basic change impact model. The extension takes into account impact due to ripple effect and the impact due to regression testing. Then, we designed a new experiment to test the relationship between changeability, as assessed by the extended change impact model, and design properties. We considered more changes and a larger set of design metrics than in previous experiments.; We noted that several design properties showed a strong correlation with the impact of change. In fact, we noticed that the results obtained with the extended model are more encouraging than these found with the basic change impact model. We conclude our thesis by proposing some future research work. |