Abstract
Quality improvement such as increased reliability and maintainability are of utmost importance in software development. In this field, which was previously ad hoc and unpredictable rather than customer‐oriented, increasing competition and focus on customer satisfaction have motivated management to put more emphasis on quality issues. This paper provides insight in techniques for dealing with what customers call generic quality attributes and what software engineers call nonfunctional requirements. Since requirements management more than many other disciplines in software engineering need practical insight, examples are provided for dealing with four nonfunctional requirements in large telecommunication systems, namely performance, usability, reliability, and maintainability. Guidelines are presented for specifying, constructing, analyzing, measuring and tracing nonfunctional requirements. Many examples from telecommunication system development show how to specifically and pragmatically deal with nonfunctional requirements. Extracts from three common standards (SEI CMM, ISO 9000–3, BELLCORE suite) are added in the form of a checklist for underlining the importance of proper requirements management from a customer viewpoint.
Similar content being viewed by others
References
Brown, P. (1991), “QFD: Echoing the Voice of the Customer,” AT&T Technical Journal 70,2, 18–32.
Costello, R.J. and D.-B. Liu (1995), “Metrics for Requirements Engineering,” Journal of Systems and Software 29,1, 39–63.
Davis, A.M. (1993), Software Requirements — Objects, Functions & States, Prentice Hall, Englewood Cliffs, NJ.
Dorfman, M. and R.H. Thayer (1990), Standards, Guidelines, and Examples on System and Software Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA.
Dromey, R.G. (1996), “Concerning the Chimera,” IEEE Software 13,1, 33–43.
Ebert, C. and T. Liedtke (1995), “An Integrated Approach for Criticality Prediction,” In Proceedings of the. 6th International Symposium on Software Reliability Engineering (ISSRE'95), IEEE Computer Society Press, Los Alamitos, CA, pp. 14–23.
Gause, D.C. and G.M. Weinberg (1989), Exploring Requirements: Quality before Design, Dorset House, New York, NY.
Glossbrenner, K.C. (1993), “Availability and Reliability of Switched Services,” IEEE Communications Magazine 31,6, 28–32.
Karmarkar, V.V. (1994), “Assuring SS7 Dependability: A Robustness Characterization of Signaling Network Elements,” IEEE Journal on Selected Areas in Communications 12,3, 475–489.
Kazman, R. and L. Bass (1994), Toward Deriving Software Architectures from Quality Attributes, CMU/SEI-94-TR-10, Software Engineering Institute, Pittsburgh, PA.
Linger, R.C. (1994), “Cleanroom Process Model,” IEEE Software 11,2, 50–58.
McDonald, J.C. (1994), “Public Network Integrity — Avoiding a Crisis in Trust,” IEEE Journal on Selected Areas in Communications 12,1, 5–12.
Myopoulos, J., L. Chung, and B. Nixon (1992), “Representing and Using Nonfunctional Requirements: A Process-Oriented Approach,” IEEE Transactions on Software Engineering 18,6, 483–497.
Ohmori, A. (1993), “Software Quality Deployment Approach: Framework Design, Methodology and Example,” Software Quality Journal 3, 209–240.
Porter, A.A., L.G. Votta, and V.R. Basili (1995), “Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment,” IEEE Transactions on Software Engineering 21,6, 563–575.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ebert, C. Dealing with nonfunctional requirements in large software systems. Annals of Software Engineering 3, 367–395 (1997). https://doi.org/10.1023/A:1018933820619
Issue Date:
DOI: https://doi.org/10.1023/A:1018933820619