Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

What is the difference between functional and non functional requirements?

People often interchange the characteristics of functional and non functional requirements while discussing them, including experienced people who should know better. This concept was given official acceptance in the year of 1982. In this post we have tried to list out all the basic differences between the functional and non functional requirements that will help you understand the two types of requirements. So here we go:
1. Functional requirements are those requirements of a software system or application that are used to define the features and functionalities of the system or its constituent components. On the other hand non functional requirements are those requirements that focus on the quality of the software system or application. There are other names for non functional requirements like constraints, quality attributes and goals etc. Non functional requirements basically denote the quality of the non behavioural requirements of a system.
2. As a typical function is a set of input, processing and output, the typical functional requirements can be data manipulation, calculations, processing and other technical details. A functional requirement can define a specific functionality which tells us that what a system is expected to achieve. The non functional requirements provide a helping hand or support these functional requirements. The non functional requirements support the functional requirements by defining additional constraints for them like security, reliability and other performance related constraints.
3. Functional requirements are all about the behaviour of the software system or application and are stored in use cases whereas the non functional requirements are concerned with the non behavioural aspects of the system.
4. The way of expressing functional requirements is somewhat like “system ought to do ”. On the other the non functional requirements are expressed as “system expected to be ”.
5. Functional requirements are all about the system design i.e., the implementation design and plan for the functional requirements whereas the non functional requirements are all about the system architecture i.e., implementation strategy for the non functional requirements of the system.
6. There is another purpose of the functional requirements which is that they specify the results for the software system or application in the same manner as the non functional requirements specify the characteristics of the system like accuracy, reliability and cost etc on a whole basis.
7. Functional requirements are employed to drive the architecture of the application of a system with simultaneously having the non functional requirements driving its technical architecture.
8. During the requirement analysis of the functional requirements, use cases are generated after the validation of the functional requirements.
The non functional requirements are of two types as described below:
(a) Evolution qualities: These are non functional requirements like maintainability, testability, scalability and extensibility which form an integral part of the software architecture.
(b) Execution qualities: These are non functional requirements like usability and security. These qualities can be observed during run time.
9. A typical functional requirement has a unique number and name and contains a brief summary of itself and of course a rationale. All these aspects help the programmers to understand the usability of a requirement. It mainly defines the behaviour of the software system. Non functional requirements when compared to functional requirements are used for specifying the criterion that helps one in deciding about the system rather than justifying the behaviour. Some examples are back up, documentation, accessibility, extensibility etc.

Agile Software Requirements More About Software Requirements Software Requirements 2

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>