Abstract
Non-functional requirements (or quality requirements, NFRs) such as confidentiality, performance and timeliness are often crucial to a software system. Concerns for such NFRs are often the impetus for change. To systematically support system evolution, this paper adapts the ‘NFR Framework’, which treats NFRs as goals to be achieved during development. Throughout the process, consideration of design alternatives, analysis of trade-offs and rationalisation of design decisions are all carried out in relation to the stated goals, and captured in historical records. We show how such historical records of treating NFRs as goals also system-atically support system evolution. This approach is illustrated by a study of changes in loan policies at Barclays Bank. The study considered changes in NFRs, and associated changes in priorities, workload and functionality. The study's historical records helped quickly determine the impact of changes. We also present guidelines for consistently managing historical records, and address tool support for the change process.
Similar content being viewed by others
References
Jarke M, Pohl K. Requirements engineering in the year 2001: On (virtually) managing a changing reality. Workshop on system requirements: analysis, management, and exploitation, Schloß Dagstuhl, Saarland, Germany, 4–7 October 1994
Curtis B, Krasner H, Iscoe N. A field study of the software design process for large systems. Commun ACM 1988; 31(11): 1268–1287
Green S. Goal-driven approaches to requirements engineering. Tech Rep 94/9, Department of Computing, University of the West of England, 1994
Chung KL. Representing and using non-functional requirements: a process-oriented approach. PhD thesis, Department of Computer Science, University of Toronto, June 1993. Also Technical Report DKBS-TR-93-1
Mylopoulos J, Chung L, Nixon B. Representing and using non-functional requirements: a process-oriented approach. IEEE Trans Software Eng (special issue on knowledge representation and reasoning in software development) 1992; 18(6): 483–497
Chung L, Nixon BA, Yu E, Mylopoulos J. Non-functional requirements in software engineering. Forthcoming monograph, 1997
The Barclays code of business banking. Barclays Bank, London, 1992
The Barclays code of business banking. Barclays Bank, London, 1993
Loucopoulos P, Karakostas V. System requirements engineering. McGraw-Hill, New York, 1995
Annual review and summary financial statement. Barclays Bank, London, 1993
Chung L, Nixon BA, Yu E. Using quality requirements to drive software development. Workshop on research issues in the intersection between software engineering and artificial intelligence, Sorrento, Italy, May 1994
Chung L, Nixon BA, Yu E. Using quality requirements to systematically develop quality software. Proceedings of the fourth international conference on software quality, McLean, VA, 3–5 October 1994
Nixon BA. Performance requirements for information systems. PhD thesis draft, Department of Computer Science, University of Toronto, March 1997
Simon HA. The sciences of the artificial (2nd edn) MIT Press, Cambridge, MA, 1981
Nilsson, N. Problem-solving methods in artificial intelligence. McGraw-Hill, New York
Chung L. Representation and utilization of non-functional requirements for information system design. In: Anderson R, Bubenko Jr JA, Sølvberg A (ed). Advanced information systems engineering. Proceedings of the third international conference, CAiSE '91. Trondheim, Norway, 13–15 May 1991. Springer-Verlag, Berlin, 1991, pp 5–30
Chung L. Dealing with security requirements during the development of information systems. In: Rolland C, Bodat F, Cauvet C (eds). Advanced information systems engineering. Proceedings of the fifth international conference. CAiSE '93. Paris, 8–11 June 1993. Springer-Verlag, Berlin, 1993, pp 234–251
Nixon B. Implementation of information systems design specifications: a performance perspective. In Kanellakis P, Schmidt JW (eds). Database programming languages: bulk types and persistent data — The third international workshop, August 1991, Nafplion, Greece. Morgan Kaufmann, San Mateo, CA, 1992, pp 149–168
Nixon BA. Dealing with performance requirements during the development of information systems. Proceedings of the IEEE international symposium on requirements engineering, San Diego, CA, 4–6 January 1993. IEEE Computer Society Press, Los Alamitos, CA, 1992, pp 42–49
Nixon BA. Representing and using performance requirements during the development of information systems. In: Jarke M, Bubenko J, Jeffery K (eds). Advances in database technology-EDBT '94, proceedings of the fourth international conference on extending database technology, Cambridge, UK. Springer-Verlag, Berlin, 1994, pp 187–200
European Communities. Information technology security education criteria, provisional harmonised criteria, Version 1.2, June 1991, Luxembourg
Smith CU. Performance engineering of software systems. Addison-Wesley, Reading, MA, 1990
McCabe TJ, Schlmeyer GG. The Pareto principle applied to software quality assurance. In: Schulmeyer GG, McManus JI (eds). Handbook of software quality assurance. Van Nostrand Reinhold, New York, 1987, pp 178–210
Juran JM, Gryna Jr FM, Bingham Jr RS (eds). Quality control handbook (3rd Edn). McGraw-Hill. New York, 1979
Report and accounts. Barclays Bank, London, 1993
Chung L, Nixon BA. Dealing with non-functional requirements: three experimental studies of a process-oriented approach. Proceedings of the 17th ICSE, Seattle, WA, April 1995, pp 25–37
Nixon BA, Chung KL, Lauzon D, Borgida A, Mylopoulos J, Stanley M. Design of a compiler for a semantic data model. In: Schmidt JW, Thanos C (eds). Foundations of knowledge base management. Springer-Verlag, Berlin, 1989, pp 293–343
Hyslop WF. Performance prediction of relational database management systems. PhD thesis, Department of Computer Science, University of Toronto, 1991
Mylopoulos J, Borgida A, Jarke M, Koubarakis M. Telos: representing knowledge about information systems. ACM Trans Inform Syst 1990; 8: 325–362
Kramer BM. RepBrowser tool and documentation, Department of Computer Science, University of Toronto, 1995
Stanley MT, Telos sh tool and documentation. Department of Computer Science, University of Toronto, 1995
Jarke M (ed). ConceptBase V3.1 User Manual. University of Passau, 1992
Yu E. Modelling strategic relationships for process reengineering. PhD thesis, Department of Computer Science, University of Toronto, 1995. Also Technical Report DKBS-TR-94-6
Chung L, Nixon BA, Yu E. Using non-functional requirements to systematically select among alternatives in architectural design. Proceedings of the first international workshop on architectures for software systems, Seattle, Washington, April 1995, pp 31–43
Chung L, Nixon BA, Yu E. Using non-functional requirements to systematically support change. Proceedings of the second international symposium on requirements engineering, York. 27–29 March 1995, pp 132–139
Lehman MM, Belady LA. Program evolution: processes of software change. Academic Press, London, 1985
Harker SDP, Eason KD, Dobson JE. The change and evolution of requirements as a challenge to the practice of software engineering. Proceedings of the IEEE International symposium on requirements engineering, San Diego, CA, 4–6 January 1993. IEEE Computer Society Press, Los Alamitos, CA, 1992, pp 266–272
Madhavji N. Panel on ‘impact of environmental evolution on requirements change’. In Proceedings of the Third IEEE International Symposium on Requirements Engineering, Annapolis, MD, 6–10 January 1997, pp 98–99
Lee J. Extending the Potts and Bruns model for recording design rationale. Proceedings of the 13th International Conference on Software Engineering, Austin, TX, May 1991, pp 114–125
Potts C, Bruns G. Recording the reasons for design decisions. Proceedings of the 10th ICSE, 1988, pp 418–427
Pohl K. A process centered requirements engineering environment. PhD dissertation, Informatik V, RWTH-Aachen, Germany, February 1995
Pohl K. Process-centered requirements engineering. Wiley/Research Studies Press. New York, 1996
Sutcliffe, A. A conceptual framework for requirements engineering. Requirements Eng 1996; 1(3): 170–189
Gotel OCZ, Finkelstein ACW. An analysis of the requirements traceability problem. Proceedings of the international conference on requirements engineering, Colorado Springs, 1994
Basili VR, Rombach HD. The TAME project: towards improvement-oriented software environments. IEEE Trans Software Eng 1988; 14(6): 758–773
Coleman D, Ash D, Lowther B, Oman P. Using metrics to evaluate software system maintainability. IEEE Comput 1994; 27(8)
Coombes AC, McDermid JA. Using qualitative physics in requirements specification of safety critical systems: a potential AI user's perspective. Workshop on Research Issues in the Intersection Between Software Engineering and Artificial Intelligence, Sorrento, Italy, May 1994
Artif Intell J (Special issue on qualitative reasoning) 1984; 24(1–3)
Fickas S. Desert island column. Automated Software Eng 1994; 1(1): 141–146
Jarke M, Mylopoulos J, Schmidt JW, Vassiliou Y. DAIDA: an environment for evolving information systems. ACM Trans Inform Syst 1992; 10(1): 1–50
Chung KL, Katalagarianos P, Marakakis M, Mertikas M, Mylopoulos J, Vassiliou Y. From information system requirements to designs: a map** framework. Inform Syst 1991; 16(4): 429–461
Jarke M, Rose T. Managing knowledge about information system evolution. Proceedings of SIGMOD '88, Chicago, May 1988, pp 303–311
Rolland C. Modeling the evolution of artifacts. Proceedings of the international conference on requirements engineering, Colorado Springs, CO, April 1994
Yu E. Modelling Organizations for information systems requirements engineering. Proceedings of the IEEE international symposium on requirements engineering, San Diego, CA, 4–6 January 1993. IEEE Computer Society Press, Los Alamitos, CA, 1992, pp 34–41
Yu ESK, Mylopoulos, J. Understanding ‘Why’ in software process modelling, analysis, and design. Proceedings of the 16th international conference on software engineering, Sorrento, Italy, May 1994, pp 159–168
Yu E. Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the third IEEE international symposium on requirements engineering, Annapolis, MD, 6–10 January 1997, pp 226–235
Greenspan SJ, Mylopoulos J, Borgida A. Capturing more world knowledge in the requirements specification. Proceedings of the Sixth International Conference on Software Engineering, 1982, pp 225–234
Greenspan S, Mylopoulos J, Borgida A. On formal requirements modeling languages: RML revisited. Proceedings of the 16th ICSE, Sorrento, Italy, May 1994, pp 135–147
Mylopoulos J, Borgida A, Yu E. Representing software engineering knowledge. Automated Software Engineering 1997; 4(3) to appear
Yu E, Mylopoulos J. From E-R to ‘A-R’: modelling strategic actor relationships for business process reengineering. Int J Intell Coop Inform Syst 1995; 4(2,3): 1995, 125–144
Yu E, Mylopoulos J, Lesperance Y. AI models for business process reenineering. IEEE Expert 1996; 16–23
Author information
Authors and Affiliations
Corresponding author
Additional information
This is an extended and revised edition of a paper [34] appearing in theProceedings of the Second International Symposium on Requirements Engineering. York, England, March 1995. A draft of that paper was prepared when all three authors were at the Department of Computer Science, University of Toronto.
Rights and permissions
About this article
Cite this article
Chung, L., Nixon, B.A. & Yu, E. Dealing with change: An approach using non-functional requirements. Requirements Eng 1, 238–260 (1996). https://doi.org/10.1007/BF01587102
Issue Date:
DOI: https://doi.org/10.1007/BF01587102