Author Topic: What are the Non Functional Requirements  (Read 10694 times)

BhaskerJ

  • Global Moderator
  • Newbie
  • *****
  • Posts: 1
What are the Non Functional Requirements
« on: May 19, 2016, 06:55:07 pm »
Non Functional Requirements capture that do not directly relate to the behavior or functionality of the solution, but rather describe environmental conditions under which the solution must remain effective or qualities that the system have. They are also know as quality or supplementary requirements. These can include requirements related to capacity, speed, security, availability and the information architecture and presentation of the user interface. 

MadhaviL

  • Global Moderator
  • Newbie
  • *****
  • Posts: 12
Re: What are the Non Functional Requirements
« Reply #1 on: May 19, 2016, 09:16:07 pm »
Nonfunctional Requirements: The statements or conditions which support the usage of the application or the software and which help in aligning the functional requirements are considered under the non-functional requirements. The non-functional requirements are defined to explain the different abilities  of the software developed. The non-functional requirements are also termed as non-behavioral requirements or quality attributes defined in order to support the quality analysts to approve the software against the different constraints which must be met. They define the overall attributes of the end product.

The different abilities or the checklist supporting the non-functional requirements are mentioned as below:

Availability: It defines the percentage availability of the system which is expected at the time of the system operations. The hardware capacity of the system is designed referring to this availability percentage of the software or application. The details are approved by the business owners and documented by the business analysts during the business requirement documentation.
Usability and Reusability: This defines the convenience by which the system can be used by the intended users. This ability of the system explains the capacity of the software to be learned, installed and used by the business users. How easily the users can be trained on the system defines the usability of the software. Some softwares are designed to be used for the development other systems which have common components. This capability is known as reusability of the software. A software is considered as well designed and developed if it can be used for other softwares with some common features.
Reliability: A software is authentic if the user can rely on the features of the software and its usage for longer duration. This feature of the software helps the organizations in choosing the product for their sensitive data. The demand of the product is directly proportional to the reliability of the software. The product or software is reliable if it’s also stable. The business owners prefer the stable product in order to get the higher availability of the same for the users.
Flexibility: There should be always a scope of the extension of the functionality within the developed product. This feature is known as flexibility. The software is designed in such a way that it should provide a room for expansion even after the deployment of the end product. The flexibility of the product depends on the design and techniques used for the development of the product and thus a business analyst has to take care of certain steps while finalizing the software design and development techniques.
Supportability: This feature of the software or the product is massively used during the maintenance phase. The ability to deploy new releases, alter the code, customization as per the users’ locations are covered under this feature. The customization of the product should not hamper the international usage and it should target the local users only.
Performance: How well the software performs at different timings for different number of users is defined under this capacity of the software. There is a common agreement on the performance of the software which is signed off at the time of BRD sign-off and it helps in designing the software and hardware structure of the product accordingly.

RahulH

  • Global Moderator
  • Newbie
  • *****
  • Posts: 8
Re: What are the Non Functional Requirements
« Reply #2 on: May 22, 2016, 08:57:06 am »
Non Fictional Requirement refer to needs that must be fulfilled related to things like user interface, access security, availability, system failure, integration and migration. They do not deal with actual functionality of the system but represent key project success factors.

GiridharanK

  • Global Moderator
  • Newbie
  • *****
  • Posts: 16
Re: What are the Non Functional Requirements
« Reply #3 on: May 23, 2016, 12:17:36 pm »
Non Functional Requirement means any requirement which specifies how the system performs a certain function.
In other words, a non-functional requirement will describe how a system should behave and what limits there are on its functionality.

Non-functional requirements generally specify the system’s quality attributes or characteristics, for example:
Typical non-functional requirements include:

·         Performance – for example: response time, throughput, utilization, static volumetric

·         Scalability

·         Capacity

·         Availability

·         Reliability

·         Recoverability

·         Maintainability

·         Serviceability

·         Security

·         Regulatory

·         Manageability

·         Environmental

·         Data Integrity

·         Usability

·         Interoperability

Ankita

  • Global Moderator
  • Newbie
  • *****
  • Posts: 4
Re: What are the Non Functional Requirements
« Reply #4 on: January 07, 2017, 02:13:10 pm »
Non-functional requirements are also known as quality or supplementary requirements. They capture conditions that do not directly relate to the behavior or functionality of the solution. These can include requirement related to capacity, security, speed, availability and the information architecture and presentation of the user interface. Non-functional requirements may also describe aspects of the system that don't relate to it's execution, but rather to it's evolution over time (e.g. maintainability, extensibility, documentation, etc).

170422303

  • Global Moderator
  • Newbie
  • *****
  • Posts: 10
Re: What are the Non Functional Requirements
« Reply #5 on: July 07, 2017, 03:19:27 pm »
The basic difference between Functional and Non-functional requirements are:

*) For example: A FUNCTIONAL REQUIREMENT WOULD BE - A system must send an email whenever a certain condition is met, i.e
                                                                                                        when an order is placed online, a customer sign up etc.
                         

                          NON-FUNCTIONAL REQUIREMENT WOULD BE - Email should be sent with a latency of no greater than 1from
                                                                                                              such an activity.

The non-functional requirements elaborates a performance characteristics of the system such as:
*) capacity
*)speed
*)Security
*)stability
*)scalability
« Last Edit: July 07, 2017, 03:27:46 pm by 170422303 »

172732205

  • Global Moderator
  • Newbie
  • *****
  • Posts: 11
Re: What are the Non Functional Requirements
« Reply #6 on: July 09, 2017, 10:34:49 am »
n systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. They are contrasted with functional requirements that define specific behavior or functions.

170123204

  • Global Moderator
  • Newbie
  • *****
  • Posts: 10
Re: What are the Non Functional Requirements
« Reply #7 on: July 09, 2017, 02:10:50 pm »
 Non-functional requirements describe how the system works, while functional requirements describe what the system should do.
This does not mean the latter are more important, but most requirement gathering techniques focus on functional requirements, so large gaps in non-functional requirements are common.
So what exactly are we looking for here? Well, here are four examples of Non-Functional requirement groups; usability, reliability, performance, and supportability.

172624703

  • Global Moderator
  • Newbie
  • *****
  • Posts: 5
Re: What are the Non Functional Requirements
« Reply #8 on: July 17, 2017, 11:12:21 am »
Basically, non-functional requirements relate to qualities of the system that cut across user facing features, such as security, reliability, and performance. Non-functional is probably a bad name because it sounds like these requirements are intangible, simply properties of a static system. However, these requirements do affect the function of the system and it is possible to design tests that these qualities are present.

The difference from functional requirements is that these qualities must be present throughout the system rather than delivered in one-shot like a user facing feature. Alternative terms for non-functional requirements are "constraints", "quality attributes", "quality goals" and "quality of service requirements" but let’s stick to calling them "non-functional requirement" (NFR) for now. So they have to be considered in every development cycle and factored into our test strategy.

NFR can be grouped into:

Execution qualities, such as security and usability, which are observable at run time.
Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system.

172031605

  • Global Moderator
  • Newbie
  • *****
  • Posts: 11
Re: What are the Non Functional Requirements
« Reply #9 on: August 02, 2017, 04:30:20 pm »
Non-functional requirements are often called "quality attributes" of a system. Other terms for non-functional requirements are "qualities", "quality goals", "quality of service requirements", "constraints" and "non-behavioral requirements".Informally these are sometimes called the "ilities", from attributes like stability and portability. Qualities—that is non-functional requirements—can be divided into two main categories:

    Execution qualities, such as security and usability, which are observable at run time.
    Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system

1172904607

  • Global Moderator
  • Newbie
  • *****
  • Posts: 16
Re: What are the Non Functional Requirements
« Reply #10 on: October 15, 2017, 10:08:25 am »
Hi,
Any project’s requirements need to be well thought out, balanced and clearly understood by all involved, but perhaps of most importance is that they are not dropped or compromised halfway through the project.

what exactly is the difference between ‘functional’ and ‘non functional’ requirements? It’s not that complex, and once you understand the difference, the definition will be clear.
Basically, Non-functional requirements describe how the system works, while functional requirements describe what the system should do.

The official definition of ‘a functional requirement’ is that it essentially specifies something the system should do.

Typically, functional requirements will specify a behavior or function, for example:
“Display the name, total size, available space and format of a flash drive connected to the USB port.” Other examples are “add customer” and “print invoice”.

Simply put, the difference is that non-functional requirements describe how the system works, while functional requirements describe what the system should do.

The definition for a non-functional requirement is that it essentially specifies how the system should behave and that it is a constraint upon the systems behavior. One could also think of non-functional requirements as quality attributes for of a system.

170832105

  • Global Moderator
  • Newbie
  • *****
  • Posts: 10
Re: What are the Non Functional Requirements
« Reply #11 on: October 17, 2017, 02:24:54 am »
Non Functional requirements is a requirement that specifies criteria to judge the operation of "SYSTEM"

Non-functional requirements - can be divided into two main categories:
1)Execution qualities, such as security and usability, which are observable at run time.
2)Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system.

1170220109

  • Global Moderator
  • Newbie
  • *****
  • Posts: 10
Re: What are the Non Functional Requirements
« Reply #12 on: October 18, 2017, 05:04:34 pm »
Non Functional Requirements capture conditions that do not directly relate to the behaviour or functionality of the solution, but rather describe environmental conditions under which the solution must remain effective or qualities that the systems must have. They are also known as quality or supplementary requirements. They can include requirements related to
-capacity
-speed
-security
-availability and information
-architecture and
-presentation of user interface
Example of non functional requirement: After entering the login credentials by the user  to login into the system, how much speed the system take in order to login represents non functional requirement.

171034206

  • Global Moderator
  • Newbie
  • *****
  • Posts: 10
Re: What are the Non Functional Requirements
« Reply #13 on: October 27, 2017, 10:21:39 pm »
A functional requirement describes what a software system should do, while non-functional requirements place constraints on how the system will do so.
Non functional requirements are as follows:
Accessibility
Capacity, current and forecast
Compliance
Documentation
Disaster recovery
Efficiency
Effectiveness
Extensibility
Fault tolerance
Interoperability
Maintainability
Privacy
Portability
Quality
Reliability
Resilience
Response time
Robustness
Scalability
Security
Stability
Supportability
Testability

171036906

  • Global Moderator
  • Newbie
  • *****
  • Posts: 11
Re: What are the Non Functional Requirements
« Reply #14 on: November 11, 2017, 09:02:29 am »
I wanted to give a little more detail about each of the items on that list, and there's a good excerpt that I think will help.

Availability: A system's availability, or "uptime," is the amount of time that it is operational and available for use. This is specified because some systems are designed with expected downtime for activities like database upgrades and backups.
Efficiency: Specifies how well the software utilizes scarce resources: CPU cycles, disk space, memory, bandwidth, etc.
Flexibility: If the organization intends to increase or extend the functionality of the software after it is deployed, that should be planned from the beginning; it influences choices made during the design, development, testing, and deployment of the system.
Portability: Portability specifies the ease with which the software can be installed on all necessary platforms, and the platforms on which it is expected to run.
Integrity: Integrity requirements define the security attributes of the system, restricting access to features or data to certain users and protecting the privacy of data entered into the software.
Performance: The performance constraints specify the timing characteristics of the software. Certain tasks or features are more time-sensitive than others; the nonfunctional requirements should identify those software functions that have constraints on their performance.
Reliability: Reliability specifies the capability of the software to maintain its performance over time. Unreliable software fails frequently, and certain tasks are more sensitive to failure (for example, because they cannot be restarted, or because they must be run at a certain time).
Reusability: Many systems are developed with the ability to leverage common components across multiple products. Reusability indicates the extent to which software components should be designed in such a way that they can be used in applications other than the ones for which they were initially developed.
Robustness: A robust system is able to handle error conditions gracefully, without failure. This includes a tolerance of invalid data, software defects, and unexpected operating conditions.
Scalability: Software that is scalable has the ability to handle a wide variety of system configuration sizes. The nonfunctional requirements should specify the ways in which the system may be expected to scale up (by increasing hardware capacity, adding machines, etc.).
Usability: Ease-of-use requirements address the factors that constitute the capacity of the software to be understood, learned, and used by its intended users.