Monday, 7 September 2020

Software Engineering: Classification of Requirements

Software Engineering: Classification of Requirements

Requirement can be classified as:

  • Functional requirements
  • Non-functional requirements
  • User requirements
  • System requirements

What is a Functional Requirement?

In software engineering, a functional requirement defines a system or its component. It describes the functions a software must perform. A Functional Requirement is a description of the service that the software must offer. It describes a software system or its component.  

For example, in a hospital management system, a doctor should be able to retrieve the information of his patients. 

What is a Non-Functional Requirement?

A non functional requirement defines the quality attribute of a software system. Advantage of Non-functional requirement is that it helps you to ensure good user experience and ease of operating the software. They are also called non-behavioral requirements. Types of Non-functional requirement are  Scalability, Reliability, Availability, Maintainability, Performance, Flexibility Reusability etc.

Functional requirement defines  system or its components whereas anon functional requirement defines the performance attributes of a software system. comparison of functional and non functional is given below:

Parameters

Functional Requirement

Non-Functional Requirement

Requirement

It is mandatory

It is non-mandatory

End-result

Product feature

Product properties

Capturing

Easy to capture

Hard to capture

Objective

Helps you verify the functionality of the software.

Helps you to verify the performance of the software.

Area of focus

Focus on user requirement

Concentrates on the user's expectation.

Documentation

Describe what the product does

Describes how the product works

Type of Testing

Functional Testing like System, Integration etc.

Non-Functional Testing like Performance, Maintainability, Usability, Reliability, etc.

Product Info

Product Features

Product Properties


User Requirement

The user requirements for a system should describe the functional and non-functional requirements so that they are understandable by users who don’t have technical knowledge. User requirements, we must write in natural language supplied by simple tables, forms, and  diagrams etc. Details of system design must be included in requirement.

System Requirement

The system requirements on the other hand are expanded version of the user requirements that are used by software engineers as the starting point for the system design. It is essential that how the user requirements should be provided by the system. 




The system requirements on the other hand are expanded version of the user requirements that are used by software engineers as the starting point for the system design. It is essential that how the user requirements should be provided by the system. 

0 comments:

Post a Comment