Differentiate between functional and non-functional requirements of software engineering requirements.
Difference between Functional and Non-functional Requirements
Functional requirements
- A functional requirement defines a system or its component.
- It specifies "What should the software system do?"
- A functional requirement is specified by the User.
- It is mandatory.
- It is captured in the use case.
- Defined at a component level.
- Helps you verify the functionality of the software.
- Functional Testing like System, Integration, End to End, API testing, etc is done.
- Usually easy to define.
Non-functional requirements
- A non-functional requirement defines the quality attributes of a software system.
- It places constraints on "How should the software system fulfill the functional requirements?"
- A non-functional requirement is specified by technical peoples e.g. Architect, Technical leaders, and software developers.
- It is not mandatory.
- It is captured as a quality attribute.
- Applied to a system as a whole.
- Helps you to verify the performance of the software.
- Non-Functional Testing like Performance, Stress, Usability, Security testing, etc is done.
- Usually more difficult to define.
Comments
Post a Comment