Non-Functional Requirements in Software Engineering

L. Chung, B. A. Nixon, E. Yu and J. Mylopoulos, Kluwer Academic Publishing.

Non-Functional Requirements in Software Engineering presents a systematic and pragmatic approach to `building quality into' software systems. Systems must exhibit software quality attributes, such as accuracy, performance, security and modifiability. However, such non-functional requirements (NFRs) are difficult to address in many projects, even though there are many techniques to meet functional requirements in order to provide desired functionality. This is particularly true since the NFRs for each system typically interact with each other, have a broad impact on the system and may be subjective. To enable developers to systematically deal with a system's diverse NFRs, this book presents the NFR Framework. Structured graphical facilities are offered for stating NFRs and managing them by refining and inter-relating NFRs, justifying decisions, and determining their impact. Since NFRs might not be absolutely achieved, they may simply be satisfied sufficiently (`satisficed'). To reflect this, NFRs are represented as `softgoals', whose interdependencies, such as tradeoffs and synergy, are captured in graphs. The impact of decisions is qualitatively propagated through the graph to determine how well a chosen target system satisfices its NFRs. Throughout development, developers direct the process, using their expertise while being aided by catalogues of knowledge about NFRs, development techniques and tradeoffs, which can all be explored, reused and customized. Non-Functional Requirements in Software Engineering demonstrates the applicability of the NFR Framework to a variety of NFRs, domains, system characteristics and application areas. This will help readers apply the Framework to NFRs and domains of particular interest to them. Detailed treatments of particular NFRs – accuracy, security and performance requirements – along with treatments of NFRs for information systems are presented as specializations of the NFR Framework. Case studies of NFRs for a variety of information systems include credit card and administrative systems. The use of the Framework for particular application areas is illustrated for software architecture as well as enterprise modelling. Feedback from domain experts in industry and government provides an initial evaluation of the Framework and some case studies. Drawing on research results from several theses and refereed papers, this book's presentation, terminology and graphical notation have been integrated and illustrated with many figures. Non-Functional Requirements in Software Engineering is an excellent resource for software engineering practitioners, researchers and students. Kluwer Academic Publishers, Boston Hardbound, ISBN 0-7923-8666-3 October 1999, 472 pp.


*

  1. Chapter 3 - an earlier version [ps]
  2. Chapter 4 - an earlier version [ps]
  3. M. Rawlins and L. Chung, "OO-edi or XML/EDI?: A Comparison Based on `Non-Functional' Requirements: Part II,"Journal of Electronic Commerce, Spring 2000 (to appear). A draft version in Word97, zipped
  4. M. Rawlins and L. Chung, "OO-edi or XML/EDI?: A Comparison Based on `Non-Functional' Requirements: Part I,"Journal of Electronic Commerce, May 1999 (to appear). A draft version in Word98
  5. J. Mylopoulos, L. Chung, S. S. Y. Liao, H. Wang and Eric Yu, "Extending Object-Oriented Analysis to Explore Alternatives," submitted for publication.
  6. E. Yu, L. Chung, N. Hodjati, D. Gross, T. Gray and S. Mankovski, Applying Non-Functional Requirements Analysis to an Existing Project - An Experience Report, Working Memo.
  7. Q. Tran and L. Chung, "Tool Support for Dealing with Non-Functional Requirements," Proc., IEEE ASSET'99, Dallas, TX, March 1999.
  8. L. Chung, D. Gross and E. Yu, "Architectural Design to Meet Stakeholder Requirements," Proc., The First Working IFIP Conference on Software Architecture (WICSA1), 22-24 February 1999, San Antonio, TX.
  9. J. Mylopoulos, L. Chung and E. Yu, "From Object-Oriented to Goal-Oriented Requirements Analysis," CACM, January, 1999. pp. 31-37.
  10. L. Chung, "Architecting Quality Using Quality Requirements," Proc., 1998 KUST, Oct. 22-24, Vienna, Virginia, 1998.
  11. L. Chung and E. Yu, "Achieving System-Wide Architectural Qualities ,"; OMG-DARPA-MCC Workshop on Compositional Software Architectures,Monterey, CA, January 6-8, 1998.
  12. L. Chung, B. A. Nixon and E. Yu, "Dealing with Change: An Approach Using Non-Functional Requirements ," Requirements Engineering Journal, 1(4), pp. 238--259, 1996.
  13. L. Chung, B. A. Nixon and E. Yu, "An Approach to Building Quality into Software Architecture ," IBM CASCON, CD-ROM, Oct. 1995.
  14. L. Chung and B. A. Nixon, "Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach,"; Proc., IEEE 17th International Conference on Software Engineering,Seattle, April 24-28, 1995., pp. 25-37. "A Longer Version ";
  15. L. Chung, B. Nixon and E. Yu, "Using Non-Functional Requirements to Systematically Select Among Alternatives in Architectural Design ,"; Proc., 1st International Workshop on Architectures for Software Systems, Seattle, April 24-28, 1995., pp. 31-43.
  16. L. Chung and B. Nixon and E. Yu, "Using Non-Functional Requirements to Systematically Support Change ,";Proc., IEEE 2nd International Symposium on Requirements Engineering,York, England, March 27-29, 1995., pp. 132-139.Viewgraph
  17. L. Chung, B. A. Nixon and E. Yu, "Using Quality Requirements to Systematically Develop Quality Software,"; Proc., 4th International Conference on Software Quality, McLean, VA, U.S.A. Oct. 3-5, 1994.
  18. L. Chung, B. Nixon and E. Yu, "Using Quality Requirements to Drive Software Development," Workshop on Research Issues in the Intersection Between Software Engineering and Artificial Intelligence, Sorrento, Italy, May 16-17, 1994.
  19. L. Chung, "Dealing with Security Requirements During the Development of Information Systems,"; In Colette Rolland, Francois Bodart, Corine Cauvet (Eds.), Proc. CAiSE '93, 5th Int. Conf. Advanced Information Systems Engineering, Paris, France. Berlin: Springer-Verlag, 1993, pp. 234-251.
  20. L. Chung, P. Katalagarianos, M. Marakakis, M. Mertikas, J. Mylopoulos and Y. Vassilou, "From Information System Requirements to Designs: A Mapping Framework." In M. Jarke (Ed.), Database Application Engineering with DAIDA, Berlin: Springer-Verlag, 1993.
  21. J.Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Non-Functional Requirements: A process-Oriented Approach", IEEE Transactions on Software Engineering, Special Issue on Knowledge Representation and Reasoning in Software Development, 18(6), June 1992, pp. 483-497.
  22. L. Chung, P. Katalagarianos, M. Marakakis, M. Mertikas, J. Mylopoulos and Y. Vassilou, "From Information System Requirements to Design: A Mapping Framework," Information Systems, 16(4), 1993, pp. 429-461.
  23. L. Chung, "Representation and Utilization of Non-Functional Requirements for Information System Design ,"; In R. Anderson, J. A. Bubenko, Jr. and A. Solvberg (Eds.), Proc. CAiSE '91, 3rd Int. Conf. on Advanced Information Systems Engineering, Trondheim, Norway. Berlin: Springer-Verlag, 1991, pp. 5-30.
  24. Y. Vassiliou, M. Marakakis, P. Katalagrianos, L. Chung, M. Mertikas and J. Mylopoulos, "IRIS -- A Mapping Assistant for Generating Designs from Requirements." In B. Steinholtz, A. Solvberg, L. Bergman (Eds.), Proc. CAiSE '90, 2nd Nordic Conf. on Advanced Information Systems Engineering, Stockholm, Sweden. Berlin: Springer-Verlag, 1990, pp. 307-338.
  25. L. Chung, "Representing and Using Non-Functional Requirements: A Process-Oriented Approach,", Ph.D. thesis, Univ. of Toronto, 1993.

Back to my home page