Skip to main content

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ANSI/IEEE Std 830-1984 (1984) IEEE guide to software requirements specifications, Institute of the Electrical and Electronics Engineers

    Google Scholar 

  2. Bass L, Clements P, Kazman R (2003) Software architecture in practice, Addison Wesley

    Google Scholar 

  3. Bohner SA, Arnold RS (1996) Software change impact analysis, IEEE Computer Society Press

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. Bosch J (2000) Design & use of software architectures-Adopting and evolving a product-line approach. Pearson Education, UK

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. Cleland-Huang J, Chang CK, Wise JC (2003) Automating performance-related impact analysis through event based traceability. Requirements Engineering 8(3):171–182

    Article  Google Scholar 

  10. 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

    Google Scholar 

  11. Cohen J (1960) A coefficient of agreement for nominal scales, educational and psychological measurement 20(1):37–46

    Google Scholar 

  12. Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Transactions on Software Engineering 29(2):116–132

    Article  Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. Gallagher KB (1996) Visual impact analysis. In: Proceedings of the International Conference on Software Maintenance, November 4–8, Monterey, USA, pp 52–58

    Google Scholar 

  16. Gallagher KB, Lyle JR (1991) Using program slicing in software maintenance. IEEE Transactions on Software Engineering 17(8):751–761

    Article  Google Scholar 

  17. 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

    Google Scholar 

  18. Haney FM (1972) Module connection analysis-A tool for scheduling software debugging activities. In Proceedings of AFIPS Joint Computer Conference, pp 173–179

    Google Scholar 

  19. 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

    Google Scholar 

  20. Kotonya G, Sommerville I (1998) Requirements engineering-Processes and techniques. Wiley and Sons, UK

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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

    Google Scholar 

  23. Leffingwell D, Widrig D (1999) Managing software requirements-A unified approach. Addison Wesley

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. Lindvall M, Sandahl K (1998) How well do experienced software developers predict software change?, Journal of Systems and Software 43(1):19–27

    Article  Google Scholar 

  27. Maciaszek L (2001) Requirements analysis and system design-Developing information systems with UML, Addison Wesley

    Google Scholar 

  28. 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

    Google Scholar 

  29. 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

    Article  Google Scholar 

  30. 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

    Google Scholar 

  31. Ramesh B, Jarke M (2001) Towards reference models for requirements traceability. IEEE Transactions on Software Engineering 27(1): 58–93

    Article  Google Scholar 

  32. Robertson S, Robertson J (1999) Mastering the requirements process. Addison Wesley, UK

    Google Scholar 

  33. 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

    Google Scholar 

  34. Software Engineering Institute (2004): How do you define software architecture?, http://www.sei.cmu.edu/architecture/definitions.html, Accessed November 19, 2004.

    Google Scholar 

  35. Sommerville I, Sawyer P (1997) Requirements engineering-A good practice guide. John Wiley and Sons, London

    Google Scholar 

  36. 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

    Google Scholar 

  37. Turver RJ, Munro M (1994) An early impact analysis technique for software maintenance. Journal of Software Maintenance Research and Practice 6(1):35–52

    Google Scholar 

  38. Weinberg GM (1983) Kill that code. Infosystems 30: 48–49

    Google Scholar 

  39. Weiser M (1979) Program slices: formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. thesis, University of Michigan, Michigan, USA

    Google Scholar 

  40. Wiegers KE (2003): Software requirements. Microsoft Press

    Google Scholar 

  41. Yau SS, Collofello JS (1980) Some stability measures for software maintenance. IEEE Transactions on Software Engineering 6(6): 545–552

    Google Scholar 

  42. 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

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics