Information Technology Reference
In-Depth Information
5.1.2 Non-Functional Requirements or Constraints
Non-functional requirements are essentially constraints placed on various attributes
of these functions or tasks. Because of this, non-functional requirements tend to be
stated in terms of constraints that are placed on the results of tasks considered
functional requirements (e.g., constraints on the speed or efficiency of a given task).
A task-based functional requirements statement is commonly a useful ''skeleton''
upon which to construct a complete requirements statement. It can be helpful to
think of non-functional requirements as adverbially related to tasks or functional
requirements: how fast, how efficiently, how safely, etc. Non-functional require-
ments 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 pro-
vide desired functionality. 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. The use of the framework for particular application areas is
illustrated for software architecture, as well as enterprise modeling. Feedback from
domain experts in industry and government provides an initial evaluation of the
framework and some case studies (Chung et al. 1999 ).
5.1.2.1 Sources of Non-Functional Requirements
Non-functional requirements arise from the operating environment, the user(s),
and competitive products such as:
• System Constraints.
• User Objectives, Values and Concerns.
• Competitive Analysis of Features.
• Development Organization Constraints.
• Development Organization Objectives, Values and Concerns.
• Product requirements: Requirements that specify a products behavior.
• Organizational requirements: Policies and procedures of customer and devel-
oper's organization.
• External requirements: All requirements that are derived from factors external to
the system.
Search WWH ::




Custom Search