SWEng IIESTS 03 RequirementsAnalysis
SWEng IIESTS 03 RequirementsAnalysis
Requirements
Analysis
Requirements
Specification
Requirements Engineering
Process
Feasibility
Study Requirements
gathering
Requirements
analysis
Feasibility Requirements
report specification
SRS Document
Why requirements analysis?
Requirements: capabilities & conditions to
which the system and the project must
conform
Cos
An Example:
t
Cost of fixing errors in req. , design , coding ,
acceptance testing and operation are 2 , 5 , 15 ,
50 , 150 person-months
Requirement process..
Specification itself
needs
may lead to more
analysis
Gathering
Validation can show
Analysis
gaps that can lead
to further analysis
Specification
and specification .
Validation
SRS
Requirements gathering
Analyst gathers requirements through
Observing similar existing systems
Discussion with customer / end-user / stake-holder
BDD: Behavior driven development (*)
Example :
The temp of the furnace raises above 400 C then
an alarm bell must be sounded
Importance of SRS
Contract document with customer
Reference document for design & development
team
Verifiable
Contents of SRS document
Functional requirements
Non-functional requirements
Goals of implementation
Functional requirements
A system considered as a set of high-level
functions or requirements
Each high-level function or requirement
Users can do some useful piece of work through
this
E.g. search for a book in library
May involve a series of interactions of system with
user
Described by specifying input data (from user),
processing required and output data
May consist of a set of sub-functions / sub-
Example functional requirements
Example: online library system
Requirement 1: search for a book
Requirement 2: renew borrowed book
R1.2
Input: key words
Output: Details of all books whose title or author
name matches any of the key words
Processing: search books list for the key words
R2: renew borrowed books
R2.1
Input: ‘renew’ option selected
Output: user prompted to enter membership id,
password
R2.2
Input: membership id and password
Output:
List of books borrowed by user displayed. User prompted to
indicate books to be renewed, or
User informed about bad password. Again prompt for id,
passwd
Processing: password validation; search for books
borrowed by user and display
R2: renew borrowed books (contd.)
R2.3
Input: user choice for renewal of the books issued
to him
Output: confirmation of the books renewed
Processing: renew the books selected by user.
Non-functional
Requirements
Characteristics of the system which can not be
expressed as functions:
Performance
Maintainability
Portability
Usability
Security
Safety, etc.
Non-functional
Requirements
Reliability issues :
Performance issues :
Example: How fast the system can produce results
so that it does not overload another system to
which it supplies data, etc.
Needs to be measurable (verifiability)
Eg resp time should be xx 90% of the time
Design and Implementation
Constraints
Hardware to be used,
Operating system or DBMS to be used
Eg. Oracle DBMS needs to be used as this would facilitate
easy interfacing with other applications that are already
operational in the organization
Capabilities of I/O devices
Standards compliance
Data representations
by the interfaced system
External Interface
Requirements
User interfaces
Hardware interfaces
Software interfaces
These are the items which the developers might keep in their
mind during development
Representing complex processing logic
Decision trees - gives a graphic view of the
processing logic involved in decision making and the
corresponding actions taken
Renewal
Cancel membership
Representing complex processing logic
Decision table - used to represent the complex
processing logic in a tabular or a matrix form
Feasibility
Study
Requirements
Analysis and
Hardware
Specification
Development
Hardware
Software
Partitioning
Software
Development
Integration
and Testing
Project Management