Abstract
One of the most easily understood tasks during any systems design endeavor is to define the systems functional requirements. The functional requirements are a direct extension of the stakeholder’s purpose for the systems and the goals and objectives that satisfy them. Less easily understood are a systems non-functional requirements, or the constraints under which the entire system must operate. Identification of non-functional requirements should happen early in the conceptual design stage of the systems life cycle, for the same reason that functional requirements are defined up-front—that is, costs sky-rocket when new requirements are added late in a systems design sequence. Approaches for addressing non-functional requirements are rarely addressed in texts on systems design. In order to provide a logical and repeatable technique for addressing over 200 existing non-functional requirements, they must be reduced parsimoniously to a manageable number. Over 200 non-functional requirements are reduced, using results reported in eight models from the extant literature. The 27 resultant non-functional requirements have been organized in a taxonomy that categorizes the 27 major non-functional requirements within four distinct categories. Utilization of this taxonomy provides a framework for addressing non-functional requirements during the early system design stages.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The on-line version of the IEEE standard was also used and is indicated by [SEVOCAB].
References
Blundell, J. K., Hines, M. L., & Stach, J. (1997). The measurement of software design quality. Annals of Software Engineering, 4(1), 235–255.
Boehm, B. W., Brown, J. R., & Lipow, M. (1976). Quantitative evaluation of software quality. In R. T. Yeh & C. V. Ramamoorthy (Eds.), Proceedings of the 2nd International Conference on Software Engineering (pp. 592–605). Los Alamitos, CA: IEEE Computer Society Press.
Bowen, T. P., Wigle, G. B., & Tsai, J. T. (1985). Specification of software quality attributes: Software quality evaluation guidebook (RADC-TR-85-37, Vol. III). Griffiss Air Force Base, NY: Rome Air Development Center.
Budgen, D. (2003). Software design (2nd ed.). New York: Pearson Education.
Buede, D. M. (2000). The engineering design of systems: Models and methods. New York: Wiley.
Cavano, J. P., & McCall, J. A. (1978). A framework for the measurement of software quality. SIGSOFT Software Engineering Notes, 3(5), 133–139.
Chung, L., Nixon, B. A., Yu, E. S., & Mylopoulos, J. (2000). Non-functional requirements in software engineering. Boston: Kluwer Academic Publishers.
Cleland-Huang, J., Settimi, R., Zou, X., & Solc, P. (2007). Automated classification of non-functional requirements. Requirements Engineering, 12(2), 103–120.
Cysneiros, L. M., & do Prado Leite, J. C. S. (2004). Nonfunctional requirements: From elicitation to conceptual models. IEEE Transactions on Software Engineering, 30(5), 328–350.
Cysneiros, L. M., & Yu, E. (2004). Non-functional requirements elicitation. In J. do Prado Leite & J. Doorn (Eds.), Perspectives on Software Requirements (Vol. 753, pp. 115–138). Norwell: Kluwer Academic.
de Weck, O. L., Roos, D., & Magee, C. L. (2011). Engineering systems: Meeting human needs in a complex technological world. Cambridge: MIT Press.
Ebert, C. (1998). Putting requirement management into praxis: dealing with nonfunctional requirements. Information and Software Technology, 40(3), 175–185.
Fenton, N. E., & Pfleeger, S. L. (1997). Software metrics: A rigorous & practical approach (2nd ed.). Boston: PWS Publications.
Grady, R. B. (1992). Practical software metrics for project management and process improvement. Englewood Cliffs, NJ: Prentice-Hall.
Grady, R. B., & Caswell, D. (1987). Software metrics: Establishing a company-wide program. Englewood Cliffs: Prentice-Hall.
Gregoriades, A., & Sutcliffe, A. (2005). Scenario-based assessment of nonfunctional requirements. IEEE Transactions on Software Engineering, 31(5), 392–409.
Gross, D., & Yu, E. (2001). From non-functional requirements to design through patterns. Requirements Engineering, 6(1), 18–36.
IEEE. (1998a). IEEE Standard 830—IEEE recommended practice for software requirements specifications. New York: Institute of Electrical and Electronics Engineers.
IEEE. (1998b). IEEE Standard 1233: IEEE guide for developing system requirements specifications. New York: Institute of Electrical and Electronics Engineers.
IEEE, & ISO/IEC. (2008). IEEE and ISO/IEC Standard 15288: Systems and software engineering—system life cycle processes. New York and Geneva: Institute of Electrical and Electronics Engineers and the International Organization for Standardization and the International Electrotechnical Commission.
IEEE, & ISO/IEC. (2010). IEEE and ISO/IEC Standard 24765: Systems and software engineering—vocabulary. New York and Geneva: Institute of Electrical and Electronics Engineers and the International Organization for Standardization and the International Electrotechnical Commission.
ISO/IEC. (1991). ISO/IEC Standard 9126: Software product evaluation—quality characteristics and guidelines for their use. Geneva: International Organization for Standardization and the International Electrotechnical Commission.
ISO/IEC. (2011). ISO/IEC Standard 25010: Systems and software engineering—Systems and software quality requirements and evaluation (SQuaRE)—system and software quality models. Geneva: International Organization for Standardization and the International Electrotechnical Commission.
Kossiakoff, A., Sweet, W. N., Seymour, S. J., & Biemer, S. M. (2011). Systems engineering principles and practice (2nd ed.). Hoboken: Wiley.
Mairiza, D., Zowghi, D., & Nurmuliani, N. (2010). An investigation into the notion of non-functional requirements. In Proceedings of the 2010 ACM Symposium on Applied Computing (pp. 311–317). New York: ACM.
McCall, J. A., & Matsumoto, M. T. (1980). Software quality measurement manual (RADC-TR-80-109-Vol-2). Griffiss Air Force Base, NY: Rome Air Development Center.
Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capability for processing information. Psychological Review, 63(2), 81–97.
Nuseibeh, B. (2001). Weaving together requirements and architectures. Computer, 34(3), 115–119.
Pfleeger, S. L. (1998). Software engineering: Theory and practice. Upper Saddle River, NJ: Prentice-Hall.
Robertson, S., & Robertson, J. (2005). Requirements-led project management. Boston: Pearson Education.
Somerville, I. (2007). Software engineering (8th ed.). Boston: Pearson Education.
Suh, N. P. (2005). Complexity in engineering. CIRP Annals—Manufacturing Technology, 54(2), 46–63.
Sun, L., & Park, J. (2014). A process-oriented conceptual framework on non-functional requirements. In D. Zowghi & Z. Jin (Eds.), Requirements Engineering (Vol. 432, pp. 1–15) Berlin: Springer.
Wiegers, K. E. (2003). Software requirements (2nd ed.). Redmond: Microsoft Press.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Adams, K.M. (2015). Introduction to Non-functional Requirements. In: Nonfunctional Requirements in Systems Analysis and Design. Topics in Safety, Risk, Reliability and Quality, vol 28. Springer, Cham. https://doi.org/10.1007/978-3-319-18344-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-18344-2_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-18343-5
Online ISBN: 978-3-319-18344-2
eBook Packages: EngineeringEngineering (R0)