Вы находитесь на странице: 1из 22

REQUIREMENT ENGINEERING

What We Learn In This Presentation…??


➢ Introduction to Requirement Engineering
➢ Functional & Non-Functional Requirements
➢ Requirement Engineering Process

Reference :
1) Software Engineering, A Practitioner’s Approach by Roger S. (8th Edition)
2) Software Engineering by Sommerville (9th Edition)
3) https://www.tutorialspoint.com/software_engineering/software_requirements.htm
What Is Requirement Engineering?

▪ “A discipline in which broad range of tasks and techniques


lead to an understanding of requirements is known as
Requirement Engineering”.

▪ It is a process to gather software requirements from client,


analyze them and document them.

▪ In Software Engineering, requirement engineering is a


major activity that starts during the Communication
Activity and continues into the Modeling Activity.

▪ Requirement Engineering builds a bridge to design and


construct Software.
What Is Requirement Engineering?

▪ The goal of requirement engineering is to develop and maintain


“Software Requirements Specification”.
▪ It helps software engineer to better understand the problem.
Functional and Non-Functional Requirements

Functional Requirements:
Those necessary requirements which describe what the software
should do are known as Functional Requirements. It depends on
the type of software being developed.

Non-Functional Requirements:
Those requirements which describe that how the software will
perform are known as Non-Functional Requirements. For example,
Performance, Security, Reliability, Usability, etc.
Functional and Non-Functional Requirements (Examples)

Functional Requirement: Open a new account


Non-Functional Requirement: Update database within 2 seconds

Functional Requirement: Ability to contain coffee or tea


Non-Functional Requirement: ………………………………..??
REQUIREMENT ENGINEERING
PROCESS
Requirement Engineering Process

It is five step process, which includes


1) Feasibility Study
2) Requirement Elicitation
3) Requirement Specification
4) Requirement Validation
5) Requirement Management
Requirement Engineering Process
Feasibility Study
A study which shows that the proposed software is how much
suitable for an organization is known as Feasibility Study

Feasibility Study checks:


✓ The software can be practically materialized in terms
of implementation.
✓ The software contributes towards the objectives of
organization.
✓ The software cost and schedule constraints.
✓ The software can be integrated with other systems.
Requirement Elicitation
The process of discovering the requirements for a system by
communicating with customers, system users and others who
have stake in the system development is called Requirement
Elicitation.
Requirement Elicitation Process

1. Requirement
Gathering

4. Documentation 2. Requirement
Organisation

3. Negotiation
Requirement Elicitation Process

➢ Requirement Gathering: The developers discuss with the client and end users
and know their expectations from the software.

➢ Requirement Organisation: The developers prioritize and arrange the requirements


in order of importance and necessity.

➢ Negotiation: The developers negotiate and discuss the requirements


if they are unclear or there are some conflicts in some
requirements of stakeholders.

➢ Documentation: All formal & informal, functional and non-functional


requirements are documented.
Requirement Elicitation Techniques: Interviews

The developing team conduct several type of interviews:

1. Closed Interviews: In this interview there are pre-defined questions


and to get every single information is decided in
advance.

2. Open Interviews: In this interview there is not a pre-defined agenda


and every issue is raised with stakeholder.

3. One-to-One Interview: It is held between only two persons.

4. Group Interview: It is held between group of participants.


Requirement Elicitation Techniques

Surveys: Developing team may conduct surveys among various


stakeholders by querying about their expectation and
requirements from the upcoming system.

Questionnaires: A document with pre-defined set of objective questions


and respective options is handed over to all stakeholders
to answer, which are collected and compiled.

Task Analysis: Developers may analyze the operation for which the new
system is required.

Observation: Developers observe the actual working of existing


installed system of organization.
Requirement Specification

Requirements are properly documented in a formal artifact


known as Requirement Specification.
It is also called SRS (Software Requirement Specification)

It contains both written information and graphical models


like DFD, ER diagrams, etc.

The information is written in both natural language and


technical language.
Software Requirement Specification (Key Points)

Include table of contents.

Express the user requirements in natural language.

Include prints of Format of forms and GUI screens.

Make sure each requirement is unique and


uniquely identified.

All information contained in the document must be


accurate and complete.
Requirement Validation

The process of checking that the documented


requirements and models meet the needs of the
stakeholder is known as Requirement Validation.

Requirements validation is important because errors in


a requirements specification can lead to extensive
rework costs when these problems are discovered
during development.
Requirement Validation (Checklist)
∆ To ensure that all the software
requirements have been stated
uniquely.
∆ To detect and correct all omissions
and errors.
∆ All requirements can be practically
implemented
∆ All requirements are complete.
∆ All requirements are valid and as
per functionality of software.
Requirement Management
A set of activities that help the project team identify, control
and track requirements and changes to requirements at any
time as the project proceed is known as Requirement
Management.
It is the process of understanding and controlling changes to
system requirements.
ANY QUESTIONS ??

DANGER
Thank You

Вам также может понравиться