Abstract
Software requirements are often not set in concrete at the start of a software development project; and requirement changes become necessary and sometimes inevitable due to changes in customer requirements and changes in business rules and operating environment; hence, requirements development, which includes requirements changes, is a part of a software process. Previous research reports that correcting requirements errors late costs many times more than correcting them during the requirements development phase. There is, hence, a need to manage them well and to analyse them in order to identify the impacts, difficulties and potential conflicts with existing requirements. Most studies on requirements change analysis are done at the source code level while paying less attention to the initiation of changes at a higher level. In this paper, we present a method of requirements change analysis based on the changes themselves which are initiated at higher levels. This method consists of three steps: namely (1) analysing the change using functions, (2) identifying the change difficulty and (3) identifying the dependencies using a matrix. We illustrate the usefulness of our method by applying it to a course management system of a university.
Similar content being viewed by others
Notes
We point out that requirements changes may also be prioritised by client need; however, for the purpose of this work, we assume we are dealing with changes of nominally equal to client priority. In practice, the results of the analysis of the type described here may be used to influence client priorities.
Please refer to [16]. S. Jayatilleke and R. Lai, “A Method of Specifying and Classifying Requirements Change”, in Software Engineering Conference (ASWEC), 2013 22nd Australian, 2013, pp. 175–180. for full details of the specification and classification method.
References
Boehm BW (1981) Software engineering economics. Prentice Hall, Upper Saddle River, p 768
Cleland-Huang J, Chang CK, Christensen M (2003) Event-based traceability for managing evolutionary change. IEEE Trans Softw Eng 29(9):796–810
Dahlstedt Å, Persson A (2005) Requirements interdependencies: state of the art and future challenges. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 95–116
Regnell B, Paech B, Aurum A, Wohlin C, Dutoit A, Natt och Dag J (2001) Requirements mean decisions!–Research issues for understanding and supporting decision-making in Requirements Engineering. In: Proceedings of the First Swedish Conference on Software Engineering Research and Practise, 2001
Carlshamre P, Sandahl K, Lindvall M, Regnell B, . Natt och Dag J (2001) An industrial survey of requirements interdependencies in software product release planning. In: Proceedings of fifth IEEE international symposium on requirements engineering, 2001, pp 84–91
Sommerville I, Kotonya G (1998) Requirements engineering: processes and techniques. Wiley, Hoboken, p 282
Pohl K (1996) Process-centered requirements engineering. Wiley, Hoboken, p 342
Lago P, Muccini H, Vliet HV (2009) A scoped approach to traceability management. J Syst Softw 82(1):168–182
Zowghi D, Offen R (1997) A logical framework for modeling and reasoning about the evolution of requirements. In: Proceedings of the third IEEE international symposium on requirements engineering, 1997, pp 247–257
Sugden R, Strens M (1996) Strategies, tactics and methods for handling change. In: Proceedings of IEEE symposium and workshop on engineering of computer-based systems, 1996, pp 457–463
Strens M, Sugden R (1996) Change analysis: a step towards meeting the challenge of changing requirements. In: Proceedings of IEEE symposium and workshop on engineering of computer-based systems, 1996, pp 278–283
Gotel OC, Finkelstein AC (1994) An analysis of the requirements traceability problem. In: Proceedings of the first international conference on requirements engineering, 1994, pp 94–101
Torkar R, Gorschek T, Feldt R, Svahnberg M, Raja UA, Kamran K (2012) Requirements traceability: a systematic review and industry case study. Int J Softw Eng Knowl Eng 22(03):385–433
Cleland-Huang J, Settimi R, Duan C, Zou X (2005) Utilizing supporting evidence to improve dynamic requirements traceability. In: Proceedings of 13th IEEE international conference on requirements engineering, 2005, pp 135–144
Heindl M, Biffl S (2005) A case study on value-based requirements tracing. In: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on foundations of software engineering, 2005, pp 60–69
Jayatilleke S, Lai R (2013) A method of specifying and classifying requirements change. In: 22nd Australian software engineering conference (ASWEC), 2013, pp 175–180
Li Y, Li J, Yang Y, Li M (2008) Requirement-centric traceability for change impact analysis: a case study. In: Wang Q, Pfahl D, Raffo DM (eds) Making globally distributed software development a success story. ICSP 2008. Lecture Notes in Computer Science, vol. 5007, Springer, Berlin, Heidelberg
Hassine J, Rilling J, Hewitt J, Dssouli R (2005) Change impact analysis for requirement evolution using use case maps. In: Eighth IEEE international workshop on principles of software evolution, 2005, pp 81–90
Briand LC, Labiche Y, Sullivan L (2003) Impact analysis and change management of UML models. In: IEEE proceedings international conference on software maintenance, ICSM 2003, pp. 256–265
Brynjolfsson E, Renshaw AA, van Alstyne M (1996) The matrix of change: a tool for business process reengineering. Draft Pap. MIT Sloan Sch. Manag. X Available Httpccs Mit EduCCSWP189CCSWP189 Html
Ali N, Lai R (2016) A method of requirements change management for global software development. Inf Softw Technol 70:49–67
Wang S, Capretz MAM (2009) A dependency impact analysis model for web services evolution. In: IEEE international conference on web services, ICWS 2009, pp 359–365
Zhang J, Chang YC, Lin KJ (2009) A dependency matrix based framework for QoS diagnosis in SOA. In: IEEE International Conference on service-oriented computing and applications (SOCA), 2009, pp 1–8
Omer AM, Schill A (2009) Web service composition using input/output dependency matrix. In: Proceedings of the 3rd workshop on Agent-oriented software engineering challenges for ubiquitous and pervasive computing, 2009, pp 21–26
van den Berg K (2006) Change impact analysis of crosscutting in software architectural design. In: Workshop on architecture-centric evolution (ACE 2006), RUG, Groningen, pp 1–15
Li B (2003) Managing dependencies in component-based systems based on matrix model. Proc Net Object Days 2003:22–25
Ruiz M, Mejia V, Kaplan A (2005) Information system comprised of synchronized software application moduless with individual databases for implementing and changing business requirements to be automated. ed: Google Patents
Katz RH, Chang EE (1987) Managing change in a computer-aided design database. Computer Science Division, University of California, Oakland
Maadawy S, Salah A (2012) Measuring change complexity from requirements: a proposed methodology. International Magazine on Advances in Computer Science and Telecommunications (IMACST) 3(1)
Dickinson MW, Thornton AC, Graves S (2001) Technology portfolio management: optimizing interdependent projects over multiple time periods. IEEE Trans Eng Manag 48(4):518–527
Maciaszek L (2007) Requirement analysis and system design. Pearson Education Limited, Edinburgh Gate
Selonen P, Koskimies K, Sakkinen M (2003) Transformations between UML diagrams. J Database Manag 14(3):37
Göknil A, Kurtev I, van den Berg K (2008) Change impact analysis based on formalization of trace relations for requirements, presented at the ECMDA traceability workshop (ECMDA-TW), Berlin, Germany, 12 June 2008
Kilpinen MS (2008) The emergence of change at the systems engineering and software design interface. University of Cambridge, Cambridge
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Jayatilleke, S., Lai, R. & Reed, K. A method of requirements change analysis. Requirements Eng 23, 493–508 (2018). https://doi.org/10.1007/s00766-017-0277-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-017-0277-7