| The Object-oriented technology, due to it's excellent performance in fields such as dealing with the complex matters in real world and improving the reusability and modifiability of software programs, has become the practical standard in the software industry. However, the features such as encapsulation, inheritance and dynamic binding introduced by object-oriented technology make the relationships among modules of target software more complex and diverse, therefore harder to determine the impact caused by changes in target software. It is of great significance to accurately determine the scope and extent of the change impact so as to manage and control changes in software projects effectively.This paper extracts the dependence relationships among modules of target system in various granularity levels by using static and dynamic analysis methods. The impact of specific change in target system is determined by analyzing the class-function hierarchy diagram constructed by using dependence relationships in target system. Besides, six change impact metrics are designed for quantifying the extent of change impact so as to provide decision support for software developers in manage and control changes of the target system.The main research subjects in this paper are listed in the following:1. Formal represent of meta-change. The cause and nature of change in object-oriented programs is analyzed in detail. The change in software is classified in three aspects: the behavior of the change, the software development life cycle and the logical semantics. One change is converted to independent meta-change in three dimensions by using the orthogonal decomposition method. The formal represent of meta-change is also given.2. Extracting of changes in software system. To make it easier to analyze the target system, the UML model of target system is transformed to equivalent XML model. By comparing differences between XML models of different versions of target software system, the information of changed entities and change type is extracted, which are used to analyze the impact caused to the target system.3. Change impact analysis model based on class-function hierarchy diagram. By analyzing the dependence relationships among modules in software system and adapting some existing change impact analysis model, the analysis model based on class-function hierarchy diagram is proposed. This model extracts relationships among modules of target system in class and function level and constructs the class-function hierarchy diagram reflecting the dependence relationship among classes and functions in target system.4. The rules and metrics of change impact analysis. The rules and algorithms of change impact analysis is given according to the analysis of practical software projects. Besides, a set of change metrics is proposed to quantitative the degree of change impact.5. Design and implemention of prototype system. The prototype system using the change impact analysis model represented in this paper is designed and implemented using java language. A case study is given to verify the validity of the change impact analysis model. |