Abstract
Requirements change is inevitable in the development and maintenance of software systems. One way to reduce the adverse impact of change is by anticipating change during requirements elicitation, so that software architecture components that are affected by the change are loosely coupled with the rest of the system. This chapter proposes Change-oriented Requirements Engineering (CoRE), a method to anticipate change by separating requirements into layers that change at relatively different rates. From the most stable to the most volatile, the layers are: patterns, functional constraints, non-functional constraints, and business policies and rules. CoRE is empirically evaluated by applying it to a large-scale software system, and then studying the requirements change from development to maintenance. Results show that CoRE accurately anticipates the relative volatility of the requirements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
From this point on, the word “archetype” is used when referring specifically to the patterns by Arlow and Neustadt [2].
- 2.
A leaf goal is a goal without subgoals.
- 3.
References
Anton AI (1996) Goal-based requirements analysis. In: Proceedings of the 2nd international conference on requirements engineering. Colorado Springs, pp 136–144
Arlow J, Neustadt I (2003) Enterprise patterns and MDA: building better software with archetype patterns and UML. Addison-Wesley, Boston
Berenbach B, Paulish DJ, Kazmeier J, Daniel P, Rudorfer A (2009) Software systems requirements engineering: in practice. McGraw-Hill Osborne Media, New York
Boehm BW (1981) Software engineering economics. Prentice Hall, Englewood Cliffs
Brand S (1995) How buildings learn: what happens after they’re built. Penguin Books, New York
Chung L, Nixon BA, Yu E, Mylopoulos J (1999) Non-functional requirements in software engineering. Springer, Berlin
Cockburn A (2002) Writing effective use cases. Addison-Wesley, Boston
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Programming 20(1–2):3–50
Foote B, Yoder J (2000) Big ball of mud. Pattern Lang Program Des 4(99):654–692
Harker SDP, Eason KD, Dobson JE (1993) The change and evolution of requirements as a challenge to the practice of software engineering. In: Proceedings of the IEEE international symposium on requirements engineering, San Diego, pp 266–272
IEEE Computer Society (2000) IEEE recommended practice for software requirements specifications, Los Alamitos
International Organization for Standardization (2001) Software engineering – product quality, ISO/IEC TR 9126, Part 1–4
Jacobson I (1995) The use-case construct in object-oriented software engineering. In: Scenario-based design: envisioning work and technology in system development. Wiley, New York, pp 309–336
Jones C (1996) Strategies for managing requirements creep. Computer 29(6):92–94
Kotonya G, Sommerville I (1998) Requirements engineering. Wiley, West Sussex
Leffingwell D (1997) Calculating the return on investment from more effective requirements management. Am Program 10(4):1316
Lim SL (2010) Social networks and collaborative filtering for large-scale requirements elicitation. PhD Thesis, University of New South Wales. Available at http://www.cs.ucl.ac.uk/staff/S.Lim/phd/thesis_soolinglim.pdf, accessed on 14 December 2010
Lim SL, Ishikawa F, Platon E, Cox K (2008) Towards agile service-oriented business systems: a directive-oriented pattern analysis approach. In: Proceedings of the 2008 IEEE international conference on services computing, Honolulu, Hawaii, vol 2. pp 231–238
Lim SL, Quercia D, Finkelstein A (2010) StakeNet: using social networks to analyse the stakeholders of large-scale software projects. In: Proceedings of the 32nd international conference on software engineering, vol 1. New York, pp 295–304
Mens T, Galal G (2002) 4th workshop on object-oriented architectural evolution. Springer, Berlin, pp 150–164
Object Management Group (2006) Business motivation model (BMM) specification. Technical Report dtc/060803
O’Neill RV, DeAngelis DL, Waide JB, Allen TFH (1986) A hierarchical concept of ecosystems. Princeton University Press, Princeton
Papantoniou B, Nathanael D, Marmaras N (2003) Moving target: designing for evolving practice. In: HCI international. MIT Press, Cambridge
Robertson S, Robertson J (2006) Mastering the requirements process. Addison-Wesley, Reading
Ross RG (2003) Principles of the business rule approach. Addison-Wesley, Boston
Salthe SN (1993) Development and evolution: complexity and change in biology. MIT Press, Cambridge, MA
Simmonds I, Ing D (2000) A shearing layers approach to information systems development, IBM Research Report RC21694. Technical report, IBM
Sommerville I (2004) Software engineering, 7th edn. Addison-Wesley, Boston
Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. Wiley, Chichester
Standish Group (1994) The CHAOS report
Stark GE, Oman P, Skillicorn A, Ameele A (1999) An examination of the effects of requirements changes on software maintenance releases. J Softw Maint Res Pr 11(5):293–309
van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: Proceedings of the 5th IEEE international symposium on requirements engineering. Toronto, pp 249–262
van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, Chichester
Wiegers K (2003) Software requirements, 2nd edn. Microsoft Press, Redmond
Yu ESK (1997) Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE international symposium on requirements engineering. Annapolis, pp 226–235
Acknowledgments
The authors would like to thank members of the Estates and Facilities Division and Information Services Division at University College London for the RALIC project documentation, their discussions and feedback on the requirements models, as well as Peter Bentley, Fuyuki Ishikawa, Emmanuel Letier, and Eric Platon for their feedback on the work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Lim, S.L., Finkelstein, A. (2011). Anticipating Change in Requirements Engineering. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., Mistrík, I. (eds) Relating Software Requirements and Architectures. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21001-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-21001-3_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21000-6
Online ISBN: 978-3-642-21001-3
eBook Packages: Computer ScienceComputer Science (R0)