Software Engineering - What Is Function... Unctional Requirement - Stack Overflow
Software Engineering - What Is Function... Unctional Requirement - Stack Overflow
software engineering - what is functional and non functional requirement - Stack Overflow
sign up
log in
tour
help
x Dismiss
I read many sites. I dont understand exactly difference between functional and non-functional requirements in the context of designing a
software system.
Could you please give an example for both? And give for each a brief definition.
software-engineering
requirements
system-requirements
edited Aug 31 at 9:45
Somnath Muluk
19.6k
13
108
Omid7
141
654
11
In retrospective: Top 10 answers to top 10 software requirements interview question KMn Sep 26 '15 at
17:56
6 Answers
A functional requirement describes what a software system should do, while nonfunctional requirements place constraints on how the system will do so.
Let me elaborate.
An example of a functional requirement would be:
A system must send an email whenever a certain condition is met (e.g. an order is placed, a
customer signs up, etc).
A related non-functional requirement for the system may be:
Emails should be sent with a latency of no greater than 12 hours from such an activity.
The functional requirement is describing the behavior of the system as it relates to the
system's functionality. The non-functional requirement elaborates a performance characteristic
of the system.
Typically non-functional requirements fall into areas such as:
Accessibility
Capacity, current and forecast
Compliance
Documentation
Disaster recovery
Efficiency
Effectiveness
Extensibility
http://stackoverflow.com/questions/16475979/what-is-functional-and-non-functional-requirement
1/4
10/26/2016
software engineering - what is functional and non functional requirement - Stack Overflow
Fault tolerance
Interoperability
Maintainability
Privacy
Portability
Quality
Reliability
Resilience
Response time
Robustness
Scalability
Security
Stability
Supportability
Testability
A more complete list is available at Wikipedia's entry for non-functional requirements.
Non-functional requirements are sometimes defined in terms of metrics (something that can be
measured about the system) to make them more tangible. 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).
edited Jul 19 at 12:49
joshuamabina
LBushkin
191
82.3k
13
22
170
233
functional requirements are the main things that the user expects from the software for example if
the application is a banking application that application should be able to create a new account,
update the account, delete an account, etc. functional requirements are detailed and are specified
in the system design
Non-functional acquirement are not straight forward requirement of the system rather it is related
to usability( in some way ) for example for an banking application a major non-functional
requirement will be availability the application should be available 24/7 with no down time if
possible.
answered May 10 '13 at 5:59
pulasthi
1,171
21
ABDUL
31
http://stackoverflow.com/questions/16475979/what-is-functional-and-non-functional-requirement
2/4
10/26/2016
software engineering - what is functional and non functional requirement - Stack Overflow
I think functional requirement is from client to developer side that is regarding functionality to the
user by the software and non-functional requirement is from developer to client i.e. the
requirement is not given by client but it is provided by developer to run the system smoothly e.g.
safety, security, flexibility, scalability, availability, etc.
edited Jun 24 '14 at 10:58
tashuhka
2,627
Rajnor D S
19
41
11
Functional requirements
1. Functional requirements specifies a function that a system or system component must be
able to perform. It can be documented in various ways. The most common ones are written
descriptions in documents, and use cases.
2. Use cases can be textual enumeration lists as well as diagrams, describing user actions.
Each use case illustrates behavioural scenarios through one or more functional
requirements. Often, though, an analyst will begin by eliciting a set of use cases, from which
the analyst can derive the functional requirements that must be implemented to allow a user
to perform each use case.
3. Functional requirements is what a system is supposed to accomplish. It may be
Calculations
Technical details
Data manipulation
Data processing
Other specific functionality
4. A typical functional requirement will contain a unique name and number, a brief summary,
and a rationale. This information is used to help the reader understand why the requirement
is needed, and to track the requirement through the development of the system.
Non-functional requirements
LBushkin have already explained more about Non-functional requirements. I will add more.
1. Non-functional requirements are any other requirement than functional requirements. This
are the requirements that specifies criteria that can be used to judge the operation of a
system, rather than specific behaviours.
2. Non-functional requirements are in the form of "system shall be ", an overall property of the
system as a whole or of a particular aspect and not a specific function. The system's overall
properties commonly mark the difference between whether the development project has
succeeded or failed.
3. 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.
4. Non-functional requirements place restrictions on the product being developed, the
development process, and specify external constraints that the product must meet.
5. The IEEE-Std 830 - 1993 lists 13 non-functional requirements to be included in a Software
Requirements Document.
1. Performance requirements
2. Interface requirements
3. Operational requirements
4. Resource requirements
5. Verification requirements
6. Acceptance requirements
7. Documentation requirements
8. Security requirements
9. Portability requirements
10. Quality requirements
11. Reliability requirements
12. Maintainability requirements
13. Safety requirements
http://stackoverflow.com/questions/16475979/what-is-functional-and-non-functional-requirement
3/4
10/26/2016
software engineering - what is functional and non functional requirement - Stack Overflow
Somnath Muluk
19.6k
13
108
141
Functional requirements are those which are related to the technical functionality of the system.
non-functional requirement is a requirement that specifies criteria that can be used to judge the
operation of a system in particular conditions, rather than specific behaviors.
For example if you consider a shopping site, adding items to cart, browsing different items,
applying offers and deals and successfully placing orders comes under functional requirements.
Where as performance of the system in peak hours, time taken for the system to retrieve data
from DB, security of the user data, ability of the system to handle if large number of users login
comes under non functional requirements.
answered Aug 31 at 10:12
Maruthi Srinivas
Sikhakolli
67
protected by Community
14
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation
on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
http://stackoverflow.com/questions/16475979/what-is-functional-and-non-functional-requirement
4/4