Software Engineering (3rd ed.), By K.
K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Requirement Engineering
Requirements describe
What not How
Produces one large document written in natural language
contains a description of what the system will do without
describing how it will do it.
Crucial process steps
Quality of product Process that creates it
Without well written document
-- Developers do not know what to build
-- Customers do not know what to expect
-- What to validate
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
Problem Statement
Requirements
Elicitation
Requirements
Requirement
Analysis
Engineering
Requirements
Documentation
Requirements
Review
SRS
Crucial Process Steps of requirement engineering
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
Requirement Engineering
Requirement Engineering is the disciplined application of
proven principles, methods, tools, and notations to describe a
proposed system’s intended behavior and its associated
constraints.
SRS may act as a contract between developer and customer.
State of practice
Requirements are difficult to uncover
• Requirements change
• Over reliance on CASE Tools
• Tight project Schedule
• Communication barriers
• Market driven software development
• Lack of resources
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4
Requirement Engineering
Example
A University wish to develop a software system for the
student result management of its M.Tech. Programme. A
problem statement is to be prepared for the software
development company. The problem statement may give
an overview of the existing system and broad expectations
from the new software system.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
Types of Requirements
Types of Requirements
Known Unknown Undreamed
Requirements Requirements Requirements
Stakeholder: Anyone who should have some direct or indirect
influence on the system requirements.
--- User
--- Affected persons
Requirements
Functional Non-Functional
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
Types of Requirements
Functional requirements describe what the software has to
do. They are often called product features.
Non Functional requirements are mostly quality
requirements. That stipulate how well the software does,
what it has to do.
Availability
Reliability
For Users
Usability
Flexibility
Maintainability
Portability For Developers
Testability
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
Types of Requirements
User and system requirements
• User requirement are written for the users and include
functional and non functional requirement.
• System requirement are derived from user requirement.
• The user system requirements are the parts of software
requirement and specification (SRS) document.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
Types of Requirements
Interface Specification
• Important for the customers.
TYPES OF INTERFACES
• Procedural interfaces (also called Application
Programming Interfaces (APIs)).
• Data structures
• Representation of data.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9