Using non-functional requirements to systematically support change

Non-functional requirements (or quality requirements, NFRs) such as confidentiality, performance and timeliness are often crucial to a software system. Our NFR-framework treats NFRs as goals to be achieved during the process of system development. Throughout the process, goals are decomposed, design tradeoffs are analysed, design decisions are rationalised, and goal achievement is evaluated. This paper shows how a historical record of the treatment of NFRs during the development process can also serve to systematically support evolution of the software system. We treat changes in terms: of (i) adding or modifying NFRs, or changing their importance, and (ii) changes in design decisions or design rationale. This incremental approach is illustrated by a study of changes in banking policies at Barclays Bank.

[1]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[2]  E. Yu,et al.  USING QUALITY REQUIREMENTS TO SYSTEMATICALLY DEVELOP QUALITY SOFTWARE , 1994 .

[3]  R. BasiliV.,et al.  The TAME project , 1988 .

[4]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[5]  Matthias Jarke,et al.  Managing knowledge about information system evolution , 1988, SIGMOD '88.

[6]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[7]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[8]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[9]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[10]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[11]  Paul W. Oman,et al.  Using metrics to evaluate software system maintainability , 1994, Computer.

[12]  Matthias Jarke,et al.  DAIDA: an environment for evolving information systems , 1992, TOIS.

[13]  Lawrence Chung,et al.  Representation and Utilization of Non-Functional Requirements for Information System Design , 1991, CAiSE.

[14]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[15]  John Mylopoulos,et al.  From E-R to "A-R" - Modelling Strategic Actor Relationships for Business Process Reengineering , 1994, Int. J. Cooperative Inf. Syst..

[16]  Brian A. Nixon,et al.  Representing and Using Performance Requirements During the Development of Information Systems , 1994, EDBT.

[17]  John Mylopoulos,et al.  From information system requirements to designs: a mapping framework , 1991, Inf. Syst..

[18]  Brian A. Nixon,et al.  Dealing with performance requirements during the development of information systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[19]  Nilson Arrais Quality control handbook , 1966 .

[20]  Lawrence Chung,et al.  Dealing with Security Requirements During the Development of Information Systems , 1993, CAiSE.

[21]  Matthias Jarke,et al.  Requirements Engineering in the Year 2001: On (Virtually) Managing a Changing Reality , 1995 .

[22]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[23]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[24]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[25]  Brian A. Nixon Implementation of Information System Design Specifications: A Performance Perspective , 1991, DBPL.

[26]  Colette Rolland Modeling the evolution of artifacts , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[27]  John Mylopoulos,et al.  Understanding "why" in software process modelling, analysis, and design , 1994, Proceedings of 16th International Conference on Software Engineering.

[28]  Eric S. K. Yu,et al.  Modeling organizations for information systems requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[29]  John Mylopoulos,et al.  On formal requirements modeling languages: RML revisited , 1994, Proceedings of 16th International Conference on Software Engineering.