Skip to main content
Log in

Dealing with change: An approach using non-functional requirements

  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

  2. Curtis B, Krasner H, Iscoe N. A field study of the software design process for large systems. Commun ACM 1988; 31(11): 1268–1287

    Google Scholar 

  3. Green S. Goal-driven approaches to requirements engineering. Tech Rep 94/9, Department of Computing, University of the West of England, 1994

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

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

    Google Scholar 

  6. Chung L, Nixon BA, Yu E, Mylopoulos J. Non-functional requirements in software engineering. Forthcoming monograph, 1997

  7. The Barclays code of business banking. Barclays Bank, London, 1992

  8. The Barclays code of business banking. Barclays Bank, London, 1993

  9. Loucopoulos P, Karakostas V. System requirements engineering. McGraw-Hill, New York, 1995

    Google Scholar 

  10. Annual review and summary financial statement. Barclays Bank, London, 1993

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

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

  13. Nixon BA. Performance requirements for information systems. PhD thesis draft, Department of Computer Science, University of Toronto, March 1997

  14. Simon HA. The sciences of the artificial (2nd edn) MIT Press, Cambridge, MA, 1981

    Google Scholar 

  15. Nilsson, N. Problem-solving methods in artificial intelligence. McGraw-Hill, New York

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  21. European Communities. Information technology security education criteria, provisional harmonised criteria, Version 1.2, June 1991, Luxembourg

  22. Smith CU. Performance engineering of software systems. Addison-Wesley, Reading, MA, 1990

    Google Scholar 

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

    Google Scholar 

  24. Juran JM, Gryna Jr FM, Bingham Jr RS (eds). Quality control handbook (3rd Edn). McGraw-Hill. New York, 1979

    Google Scholar 

  25. Report and accounts. Barclays Bank, London, 1993

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

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

    Google Scholar 

  28. Hyslop WF. Performance prediction of relational database management systems. PhD thesis, Department of Computer Science, University of Toronto, 1991

  29. Mylopoulos J, Borgida A, Jarke M, Koubarakis M. Telos: representing knowledge about information systems. ACM Trans Inform Syst 1990; 8: 325–362

    Google Scholar 

  30. Kramer BM. RepBrowser tool and documentation, Department of Computer Science, University of Toronto, 1995

  31. Stanley MT, Telos sh tool and documentation. Department of Computer Science, University of Toronto, 1995

  32. Jarke M (ed). ConceptBase V3.1 User Manual. University of Passau, 1992

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

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

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

  36. Lehman MM, Belady LA. Program evolution: processes of software change. Academic Press, London, 1985

    Google Scholar 

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

    Google Scholar 

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

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

  40. Potts C, Bruns G. Recording the reasons for design decisions. Proceedings of the 10th ICSE, 1988, pp 418–427

  41. Pohl K. A process centered requirements engineering environment. PhD dissertation, Informatik V, RWTH-Aachen, Germany, February 1995

    Google Scholar 

  42. Pohl K. Process-centered requirements engineering. Wiley/Research Studies Press. New York, 1996

    Google Scholar 

  43. Sutcliffe, A. A conceptual framework for requirements engineering. Requirements Eng 1996; 1(3): 170–189

    Google Scholar 

  44. Gotel OCZ, Finkelstein ACW. An analysis of the requirements traceability problem. Proceedings of the international conference on requirements engineering, Colorado Springs, 1994

  45. Basili VR, Rombach HD. The TAME project: towards improvement-oriented software environments. IEEE Trans Software Eng 1988; 14(6): 758–773

    Google Scholar 

  46. Coleman D, Ash D, Lowther B, Oman P. Using metrics to evaluate software system maintainability. IEEE Comput 1994; 27(8)

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

  48. Artif Intell J (Special issue on qualitative reasoning) 1984; 24(1–3)

  49. Fickas S. Desert island column. Automated Software Eng 1994; 1(1): 141–146

    Google Scholar 

  50. Jarke M, Mylopoulos J, Schmidt JW, Vassiliou Y. DAIDA: an environment for evolving information systems. ACM Trans Inform Syst 1992; 10(1): 1–50

    Google Scholar 

  51. Chung KL, Katalagarianos P, Marakakis M, Mertikas M, Mylopoulos J, Vassiliou Y. From information system requirements to designs: a mapping framework. Inform Syst 1991; 16(4): 429–461

    Google Scholar 

  52. Jarke M, Rose T. Managing knowledge about information system evolution. Proceedings of SIGMOD '88, Chicago, May 1988, pp 303–311

  53. Rolland C. Modeling the evolution of artifacts. Proceedings of the international conference on requirements engineering, Colorado Springs, CO, April 1994

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

    Google Scholar 

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

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

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

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

  59. Mylopoulos J, Borgida A, Yu E. Representing software engineering knowledge. Automated Software Engineering 1997; 4(3) to appear

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

    Google Scholar 

  61. Yu E, Mylopoulos J, Lesperance Y. AI models for business process reenineering. IEEE Expert 1996; 16–23

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lawrence Chung.

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

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01587102

Keywords

Navigation