Unit 3: �Requirements Engineering
Prepared by
Er. Binod Kumar Rajbhar
www.notedinsights.com
3.1. Functional and Non-Functional Requirements
Differences between Functional and Non Functional Requirements
Functional
Functional Requirements
Differences between Functional and Non Functional Requirements
Functional
Functional Requirements
Requirement Engineering�
Requirement Engineering Process�
It is a four-step process, which includes -
Requirement Engineering Process�
1. Feasibility Study:�
Types of Feasibility:
2. Requirement Elicitation and Analysis: �
3. Software Requirement Specification: �
4. Software Requirement Validation: �
Requirements Validation Techniques
Software Requirement Management: �
3.3 Requirements Elicitation�
Requirements elicitation Activities:
Requirements elicitation Methods:
The success of an elicitation technique used depends on the maturity of the analyst, developers, users, and the customer involved.
1. Interviews:
In structured interview, agenda of fairly open questions is prepared. Sometimes a proper questionnaire is designed for the interview.
2. Brainstorming Sessions:
3. Facilitated Application Specification Technique:
4. Quality Function Deployment:
5. Use Case Approach:
Primary actors – It requires assistance from the system to achieve a goal.
Secondary actor – It is an actor from which the system needs assistance.
Features of requirements elicitation:�
Advantages of Requirements Elicitation:�
Disadvantages of Requirements Elicitation:�
3.4 Requirements Specification�
What is Requirements Specification?�
���
What is a System Requirement?
What is a User Requirement?
What are Functional and Non-Functional Requirements?�
What are The Benefits of Having a Requirements Specification?�
There are many benefits of having a requirements specification. Some of them are listed below:
Requirements Validation�
During the requirements validation process, different types of checks should be carried out on the requirements in the requirements document. These checks include:
be contradictory constraints or different descriptions of the same system function.
requirements should always be written so that they are verifiable. This means that you should be able to write a set of tests that can demonstrate that the delivered system meets each specified requirement.
There are a number of requirements validation techniques that can be used individually or in conjunction with one another: