An Empirical Study of Requirements-Driven Impact Analysis in Object-Oriented Software Evolution

Abstract: Requirements-driven impact analysis (RDIA) identifies the set of software entities that need to be changed to implement a new requirement in an existing system. RDIA thus involves a transition from requirements to software entities or to a representative model of the implemented system. RDIA is performed during the release planning phase. Input is a set of requirements and the existing system. Output is, for each requirement, a set of software entities that have to be changed. The output is used as input to many project-planning activities, for example cost estimation based on change volume.The overall goal of this thesis has been to gather knowledge about RDIA and how to improve this crucial activity. The overall means has been an empirical study of RDIA in the industrial object-oriented PMR-project. RDIA has been carried out in two releases, R4 and R6, of this project as a normal part of project developers' work. This in-depth case-study has been carried out over four years and in close contact with project developers.Problems with underprediction have been identified - many more entities than predicted are changed. We have also found that project developers are unaware of their own positive and negative capabilities in predicting change. We have found patterns that indicate that certain characteristics among software entities, such as size, relations and inheritance, may be used together with complementary strategies for finding candidates for change. Techniques and methods for data collection and data analysis are provided as well as a thorough description of the context under which this research project was conducted. Simple and robust methods and tools such as SCCS, Cohen's kappa, median tests and graphical techniques facilitate future replications in other projects than PMR.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.