Monday, January 24, 2011

Lecture # 4: Kinds of Nonfunctional Requirements

Objective:
This lecture identifies and elaborates the various kinds of Nonfunctional requirements

Nonfunctional Requirement
Following are the types of nonfunctional requirements.
• Product Requirement
o Usability Requirement
o Efficiency Requirement
 Performance Requirement
 Space Requirements
o Reliability Requirement
o Space Requirement
• Organizational Requirement
o Standard Requirement
o Implementation Requirement
o Delivery Requirement
• External Requirement
o Interoperability Requirement
o Ethical Requirement
o Legislative Requirement
 Privacy Requirement
 Space Requirement

Product Requirement:
Product requirements refer to the output of the entire project and project management initiative. This output is called product and product requirements refer to the quality attributes of this output. Product Requirements are further subcategorized into.
• Usability Requirement
These refer to the requirement related to user interface. For example,
“The user should have the facility to dial numbers either by selecting name from contact list or by speaking out the name”

• Efficiency Requirement
These are further divided into
o Performance Requirement
Such requirements refer to the speed of processing user requests, For example
The system should allow 100,000 hits per minute on the website
o Space Requirement
Such requirements refer to the space constraints. For example,
The version of application running on handheld device should not consume more than 1 MB of working memory.
The website will be hosted on an external server. The external server allocates 300 MB of space to each website

• Reliability Requirement
Reliability refers to probability that, a software will provide failure free operation in a fixed environment for a fixed interval of time. Example,
The system should not have a downtime of more than one second for continuous execution of 1000 hours.

• Portability Requirement
Portability refers to the capability of system to perform its functions on multiple platforms or environments. Following is an example of portability requirement
The system should run on both Microsoft and Linux platforms
The web site should be accessible from latest version of Internet Explorer, Chrome, Firefox and Opera.

Organizational Requirement:
There are certain requirements which are not related to the output or product, but are related to the processes and various options that are available to team during development. These options may be specific methodologies and standards that should be followed by the development team while developing the project, or technologies and techniques that can be used to develop and deliver project.
The term organization refers to both developer organization and client organization. Sometimes clients may ask the usage of specific technology for example, whereas sometimes the development team uses certain technology or standard, due to policy or expertise of developer organization
• Standard Requirement
These refer to any constraint to use certain standards. For example,
All development work subcontracted by the development organization shall be carried out in accordance with CMMI
• Implementation Requirements
These refer to the constraint related to implementation aspects which may be usage of specific technology (e.g. .NET), design pattern (e.g. MVC) or paradigm (e.g. O.O.P)
• Delivery Requirement
These refer to the constraint on how product will be delivered. For example,
On Completion, the website should be copied to local server using FTP.
The website and all dependencies should be provided in a DVD.

External Requirement:
Any other authority or stakeholder that is not part of development or client organization lies in the “external” category. In addition, the systems with which the product will interact also lie in the “external’ category. Requirements that come from such external entities are known as external requirement.
Interoperability Requirement:
Any information that identifies the systems with which the product should interact is an interoperability requirement. For example,
The system should send notifications which should be viewable by existing lotus notes applications.
The system should record task information and should also post it on Google calendar.
Ethical Requirement:
There are certain ethics that should be followed by developers and product which are referred to as ethical requirements
Legislative Requirement:
With the popularity and wide usage if IT, legislations have been made regarding usage/implementation of IT and regulatory bodies ensure that the law is followed properly. Any requirement to follow certain law comes in legislative requirement
Legislative requirement can be
• Privacy Requirement
There may be legislation about how securely data should be stored in the system. Specially in a banking sector such constraints are present and are specified by the central bank of the country.
• Safety Requirement
Software systems are now used in scenarios where safety is a major concern. Malfunctioning of software system will put lives of humans on risk. Therefore certain standards have been developed which ensure that the software is reliable enough to be used in such scenarios. Regulatory bodies may make it mandatory for software to follow a specific safety standard.

No comments:

Post a Comment