Abstract
Software changes are necessary and inevitable in software development, but may lead to software deterioration if not properly controlled. Impact analysis is the activity of identifying what needs to be modified in order to make a change, or to determine the consequences on the system if the change is implemented. Most research on impact analysis is presented and discussed in literature related to software maintenance. In this chapter, we take a different approach and discuss impact analysis from a requirements engineering perspective. We relate software change to impact analysis, outline the history of impact analysis and present common strategies for performing impact analysis. We also mention the application of impact analysis to non-functional requirements and discuss tool support for impact analysis. Finally, we outline what we see as the future of this essential change management tool.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
References
ANSI/IEEE Std 830-1984 (1984) IEEE guide to software requirements specifications, Institute of the Electrical and Electronics Engineers
Bass L, Clements P, Kazman R (2003) Software architecture in practice, Addison Wesley
Bohner SA, Arnold RS (1996) Software change impact analysis, IEEE Computer Society Press
Bohner SA (2002) Extending software change impact analysis into COTS components. In: Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop, December 4–6, Greenbelt, USA, pp.175–182
Bohner SA, Gracanin D (2003) Software impact analysis in a virtual environment. In: Proceedings of the 28th Annual NASA Goddard Software Engineering Workshop, December 2–4, Greenbelt, USA, pp.143–151
Bosch J (2000) Design & use of software architectures-Adopting and evolving a product-line approach. Pearson Education, UK
Bratthall L, Johansson E, Regnell B (2000) Is a design rationale vital when predicting change impact?-A controlled experiment on software architecture evolution. In: Proceedings of the 2nd International Conference on Product Focused Software Process Improvement, June 20—22, Oulo, Finland, pp.126–139
Briand LC, Labiche Y, O’sullivan L (2003) Impact analysis and change management of UML models. In: Proceedings of the International Conference on Software Maintenance, September 22–26, Amsterdam, Netherlands, pp 256–265
Cleland-Huang J, Chang CK, Wise JC (2003) Automating performance-related impact analysis through event based traceability. Requirements Engineering 8(3):171–182
Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Nord R, Stafford J (2003) Documenting software architectures: Views and beyond. Addison Wesley, UK
Cohen J (1960) A coefficient of agreement for nominal scales, educational and psychological measurement 20(1):37–46
Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Transactions on Software Engineering 29(2):116–132
Eick SG, Graves L, Karr AF, Marron JS (2001) Does code decay? Assessing the evidence from change management data. IEEE Transactions on Software Engineering 27(1):1–12
Fasolino AR, Visaggio G (1999) Improving software comprehension through an automated dependency tracer. In: Proceedings of the 7th International Workshop on Program Comprehension, May 5–7, Pittsburgh, USA, pp 58–65
Gallagher KB (1996) Visual impact analysis. In: Proceedings of the International Conference on Software Maintenance, November 4–8, Monterey, USA, pp 52–58
Gallagher KB, Lyle JR (1991) Using program slicing in software maintenance. IEEE Transactions on Software Engineering 17(8):751–761
Godfrey LW, Lee EHS (2000) Secrets from the monster-Extracting Mozilla’s software architecture. In: Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools, Limerick, Ireland, pp 15–23
Haney FM (1972) Module connection analysis-A tool for scheduling software debugging activities. In Proceedings of AFIPS Joint Computer Conference, pp 173–179
Hoffmann M, Kühn N, Bittner M (2004) Requirements for requirements management tools. In: Proceedings of the 12th IEEE International Requirements Engineering Conference, September 6–10, Kyoto, Japan, pp 301–308
Kotonya G, Sommerville I (1998) Requirements engineering-Processes and techniques. Wiley and Sons, UK
Lam W, Shankararaman V (1999) Requirements change: A dissection of management issues. In: Proceedings of the 25th EuroMicro Conference, September 8–10, Milan, Italy, Vol. 2, pp.244–251
Lee M, Offutt JA, Alexander RT (2000) Algorithmic analysis of the impacts of changes to object-oriented software. In: Proceedings of the 34th International Conference on Technology of Object-Oriented Languages and Systems, July 30–Aug 4, Santa Barbara, USA, pp 61–70
Leffingwell D, Widrig D (1999) Managing software requirements-A unified approach. Addison Wesley
Lehman MM, Ramil JF, Wernick PD, Perry DE, Turski WM (1997) Metrics and laws of software evolution-The nineties view. In: Proceedings of the 4th International Software Metrics Symposium, November 5–7, Albuquerque, USA, pp 20–32
Lindvall M (1997) An empirical study of requirements-driven impact analysis in object-oriented systems evolution. Ph.D. thesis no. 480, Linköping Studies in Science and Technology, Sweden
Lindvall M, Sandahl K (1998) How well do experienced software developers predict software change?, Journal of Systems and Software 43(1):19–27
Maciaszek L (2001) Requirements analysis and system design-Developing information systems with UML, Addison Wesley
Mockus A, Votta LG (2000) Identifying reasons for software changes using historic databases. In: Proceedings of the International Conference on Software Maintenance, October 11–14, San Jose, USA, pp 120–130
Natt och Dag J, Regnell B, Carlshamre P, Andersson M, Karlsson J (2002) A feasibility study of automated support for similarity analysis of natural language requirements in market-driven development. Requirements Engineering 7:20–33
O’Neal JS, Carver DL (2001) Analyzing the impact of changing requirements. In: Proceedings of the International Conference on Software Maintenance, November 6–10, Florence, Italy, pp.190–195
Ramesh B, Jarke M (2001) Towards reference models for requirements traceability. IEEE Transactions on Software Engineering 27(1): 58–93
Robertson S, Robertson J (1999) Mastering the requirements process. Addison Wesley, UK
Shahmehri N, Kamkar M, Fritzson P (1990) Semi-automatic bug localization in software maintenance. In: Proceedings of the Conference on Software Maintenance, November 26–29, San Diego, USA, pp 30–36
Software Engineering Institute (2004): How do you define software architecture?, http://www.sei.cmu.edu/architecture/definitions.html, Accessed November 19, 2004.
Sommerville I, Sawyer P (1997) Requirements engineering-A good practice guide. John Wiley and Sons, London
Tip F, Jong DC, Field J, Ramlingam G (1996) Slicing class hierarchies in C++. In: Proceedings of Object-Oriented Programming, Systems, Languages & Applications Conference, October 6–10, San Jose, USA, pp 179–197
Turver RJ, Munro M (1994) An early impact analysis technique for software maintenance. Journal of Software Maintenance Research and Practice 6(1):35–52
Weinberg GM (1983) Kill that code. Infosystems 30: 48–49
Weiser M (1979) Program slices: formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. thesis, University of Michigan, Michigan, USA
Wiegers KE (2003): Software requirements. Microsoft Press
Yau SS, Collofello JS (1980) Some stability measures for software maintenance. IEEE Transactions on Software Engineering 6(6): 545–552
Zhao J (1998) Applying slicing technique to software architectures. In: Proceedings of the 4th IEEE International Conference on Engineering of Complex Computer Systems, August 10–14, Monterey, USA, pp.87–98
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Jönsson, P., Lindvall, M. (2005). Impact Analysis. In: Aurum, A., Wohlin, C. (eds) Engineering and Managing Software Requirements. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-28244-0_6
Download citation
DOI: https://doi.org/10.1007/3-540-28244-0_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25043-2
Online ISBN: 978-3-540-28244-0
eBook Packages: Computer ScienceComputer Science (R0)