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.
CITATION STYLE
Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2000). Introduction. In Non-Functional Requirements in Software Engineering (pp. 1–9). Springer US. https://doi.org/10.1007/978-1-4615-5269-7_1
Mendeley helps you to discover research relevant for your work.