Abstract
The complexity of a software system is determined partly by its functionality — i.e., what the system does — and partly by global requirements on its development or operational costs, performance, reliability, maintainability, portability, robustness and the like. These non-functional requirements (or NFRs)1 play a critical role during system development, serving as selection criteria for choosing among myriads of alternative designs and ultimate implementations. Errors of omission or commission in laying down and taking properly into account such requirements are generally acknowledged to be among the most expensive and difficult to correct once a software system has been implemented [Brooks87] [Davis93]. The cry from managers, software engineers, and users alike for software that is “better, cheaper, faster, friendlier” further illustrates the need to deal comprehensively with such requirements during the development process.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer Science+Business Media New York
About this chapter
Cite this chapter
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J. (2000). Introduction. In: Non-Functional Requirements in Software Engineering. International Series in Software Engineering, vol 5. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-5269-7_1
Download citation
DOI: https://doi.org/10.1007/978-1-4615-5269-7_1
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-7403-9
Online ISBN: 978-1-4615-5269-7
eBook Packages: Springer Book Archive