8/3/2019 Sw Engg L4 Requirements Case Study
1/33
IT607 Software EngineeringRequirements Engineering
Kavi Arya
M. Mohan
8/3/2019 Sw Engg L4 Requirements Case Study
2/33
Objectives Introduce the concepts User and System Requirements
Describe functional and non-functional requirements
Explain how to document software requirements
8/3/2019 Sw Engg L4 Requirements Case Study
3/33
Railway reservation system Who are the users of this system ?
ReservationSystem
Financial Gateway(bank)
Traveler
Travel Agent
Reservation Clerk System administrator
IVR system
8/3/2019 Sw Engg L4 Requirements Case Study
4/33
Quiz 0
Assume, you are analyzing an existing railway reservationsystem for devising enhancements. Answer the followingquestions with reference to any railway reservation systemyou are familiar with. Please write your assumptions clearly.
i) Who are the various kinds of users of the system? Whatare their expectations of the system?
ii) Will a system administrator who manages the system bea user? Justify your answer ?
iii) List as many functional requirements of the system aspossible ?
iv) Write down five non-functional requirements of thesystem ?
8/3/2019 Sw Engg L4 Requirements Case Study
5/33
Quiz 0 (contd.)
v) Write down any additional requirements you would like toadd to the system? (mention clearly whether they arefunctional or non-functional requirements)
vi) Suppose, the system under study has no facility formaking reservations using SMS. The customer wants thisfeature to be implemented. Is this requirement functional?If no, can you think of a way of implementing this non-functional requirement in terms of any existing functional
requirements ?
vii) What process model would you adopt in building thesystem? Explain why and give two other models you would
not use, explaining why.
8/3/2019 Sw Engg L4 Requirements Case Study
6/33
Users expectations : Traveler
What are the Travelers expectations of the System ?
Expects reservation, cancellation, adjustment, andenquiry facilities.
Above facilities offered online and telephonic are highlyappreciated
8/3/2019 Sw Engg L4 Requirements Case Study
7/33
Users expectations : Travel Agent
Travel Agents expectations of the System
Bulk reservation, cancellation, adjustment facilities.
Enquiry facilities.
Above facilities offered online and telephonic are highlyappreciated
Wants to be notified of important events like introductionof new / seasonal trains.
8/3/2019 Sw Engg L4 Requirements Case Study
8/33
Users expectations : Reservation Clerk
Reservation Clerks expectations of the System
Reservation, cancellation, adjustment, and enquiryfacilities.
Season ticket issuing facility
Concession handling facility like handling concessions
given to senior citizens, Army personnel, students etc.
Report generation facility. Ex: for generating daily salesreports etc.
8/3/2019 Sw Engg L4 Requirements Case Study
9/33
Users expectations : System administrator
System administrators expectations of the System
A data backup facility
An error recovery facility
Adding, removing new trains to the system
Modifying train schedules and fares
8/3/2019 Sw Engg L4 Requirements Case Study
10/33
Users expectations : Financial Gateway
Financial gateways expectations of the System Communication with the system should be safe tosafeguard the integrity of the payment data.
System should be using EDI or any other standard datainterchange formats that the financial gatewayunderstands.
Note : Most of the external systems expectations are interoperabilityrequirements.
8/3/2019 Sw Engg L4 Requirements Case Study
11/33
Product requirementsThe reservation system product requirements
High availability ( less MTBF )
High throughput: handle more number of transactionsper second
Reliability
Scalability Security etc.
8/3/2019 Sw Engg L4 Requirements Case Study
12/33
External requirementsExternal requirements include:
Interoperability requirements. Ex: Syntax and semantics
of the messages to be used to communicate with theexternal systems.
Legislative requirements. Ex: Personal information of aclient should not be revealed to a third party without his
consent.
8/3/2019 Sw Engg L4 Requirements Case Study
13/33
Overall system requirements
User Requirements
Product Requirements
External Requirements
8/3/2019 Sw Engg L4 Requirements Case Study
14/33
Requirements Engineering
The process of establishing services that the customerrequires from a system and the constraints under which itoperates and is developed.
The requirements are the descriptions of the system
services and constraints that are generated during therequirements engineering process.
Running example : Indian Railway Reservation System.
8/3/2019 Sw Engg L4 Requirements Case Study
15/33
UsersThe stakeholders of the system, who interact with thesystem to accomplish their tasks.
A user may be any entity that is interested in theservices offered by the system.
Eg : Traveler, Travel Agent, Reservation Clerk, Financial Gateway, SystemAdministrator etc.
8/3/2019 Sw Engg L4 Requirements Case Study
16/33
User Requirements
Different users have different expectations of the systembehavior, and all these combined together constitute the
overall system requirements
Ex :-
1. Traveler expects an easy to use online system for booking tickets.
2. A reservation clerk expects a good user interface and response time forserving the customers efficiently.
3. A payment gateway expects the communication with the system be verysecure, to ensure the integrity of the payment data.
8/3/2019 Sw Engg L4 Requirements Case Study
17/33
Types of Requirements
Functional Requirements ( Application requirements )
Eg: Cancellation, Reservation, enquiry etc.
Non-Functional Requirements ( Quality Requirements )
Eg:
1. Reservation at counter should be closed by 8 p.m. every day.
2. Online reservations should be allowed till 11 p.m. etc.,
8/3/2019 Sw Engg L4 Requirements Case Study
18/33
Functional VS Non-functional requirements
Functional Requirements
Describes an interaction between the system and its environment
Functional requirements change less frequently
Non-functional Requirements
Describes a restriction or constraint that limit our choices forconstructing a solution
Most of the changing requirements fall in to this category
Ex:- Some time later, Indian railway may decide to provide onlinereservation facility round the clock.
8/3/2019 Sw Engg L4 Requirements Case Study
19/33
Classification of Non-functional requirements
Product Requirements: defines product characteristics
Ex: Execution speed, Reliability, Security, Scalability etc.
Organizational Requirements: requirements which are aconsequence of organizational policies and procedures.
Ex: Operational time in railway reservation time
External Requirements: requirements which arise from factorsexternal to the system.
Ex: interoperability requirements, legislative requirements etc.
8/3/2019 Sw Engg L4 Requirements Case Study
20/33
Characteristics of Requirements
Are they correct ?
Are they Consistent ?
Are they Complete ?
Are they Realistic ?
Are they verifiable ?
Are they traceable ?
8/3/2019 Sw Engg L4 Requirements Case Study
21/33
Characteristics of Requirements. .
Realistic Requirements : Are the requirements technically,financially, and operationally feasible ?
Verifiable requirements : Should be able to verify whether arequirement is implemented correctly or not
Traceable requirements : traceability is the ability to describeand follow the life of a requirement throughout the software
development life cycle. This is a very useful feature used in changemanagement.
8/3/2019 Sw Engg L4 Requirements Case Study
22/33
Requirement Elicitation techniques
Traditional Techniques
Group elicitation techniques
Prototyping
8/3/2019 Sw Engg L4 Requirements Case Study
23/33
Requirement Elicitation techniques
Traditional Techniques
1. Use of questionnaires and surveys
2. Interviewing stakeholders
3. Analyzing existing systems and processes
8/3/2019 Sw Engg L4 Requirements Case Study
24/33
Requirement Elicitation techniques
Group elicitation techniques
A small group is formed, including some of the stakeholders also,to elicit requirements. This group brainstorms to define therequirements for the new system.
This requirement gathering technique is very effective as the endusers take active part in requirement definition.
Group size should be reasonably small.
Group composition: at least one representative from every group ofend-users should be present in the group. This eliminates any bias indefining requirements.
8/3/2019 Sw Engg L4 Requirements Case Study
25/33
Requirement Elicitation techniques
Prototyping
Used when there is a great deal of uncertainty about the
requirements, or where early feedback from stakeholders isneeded.
A prototype is:
Built rapidly from initial requirements
Analyzed to refine the requirements
New prototype is developed from these new requirements.
Process continues until requirements defined satisfactorily.
8/3/2019 Sw Engg L4 Requirements Case Study
26/33
Why document requirements ?
It will help clarify what you think
It is necessary to communicate with the users
It is necessary to communicate with the developmentteam
It could form a basis for a contractual relationship
8/3/2019 Sw Engg L4 Requirements Case Study
27/33
How to write it down ?
Natural Language
Structured Natural Language
Graphical Notations
ex. Use cases
Mathematical Specificationsex. finite state machines
8/3/2019 Sw Engg L4 Requirements Case Study
28/33
Problems with natural language
Lack of Clarity : precision is difficult without making thedocument difficult to read.
Requirements Confusion: functional and non-functionalrequirements tend to be mixed-up.
Requirements Amalgamation: several different requirementsmay be expressed together.
Ambiguity: the readers and writers of the requirement mustinterpret the same words in the same way. Natural language is
ambiguous so this is very difficult.
Lack of Modularization: natural language structures areinadequate to structure system requirements.
8/3/2019 Sw Engg L4 Requirements Case Study
29/33
Structured Natural Language
A predefined template is used for documenting therequirements. All the requirements are written in a standardway.
Each template defines a unique function (reqmt) or entity.
Describes inputs and where they come from.
Describes outputs and where they go to.
Indicates other entities involved.
Pre and Post conditions (if appropriate).
The side effects (if any) of the function.
8/3/2019 Sw Engg L4 Requirements Case Study
30/33
Structured Natural Language
XYZ software/SRS/1.2.4
Function:
Description:
Inputs:Source:
Outputs:
Destination:
Action:
Requires:
Pre-condition:
Post-condition:
Side-effects:
8/3/2019 Sw Engg L4 Requirements Case Study
31/33
Structured Natural Language contd
Indian railway reservation software/SRS/1.2.4
Function: reservation
Description: makes a reservation on behalf of a customer,
reservation clerk, or travel agent.
Inputs: journey date, source station, destination station, traincode etc.
Source: customer / reservation clerk / travel agent
Outputs: printed ticket or non-availability status message
Destination: customer / reservation clerk / travel agent
8/3/2019 Sw Engg L4 Requirements Case Study
32/33
Structured Natural Language
Indian railway reservation software/SRS/1.2.4
Action: if seats/berths are available reserve them, otherwise send
a non-availability status message to the userRequires:
Pre-condition: required seats/berths are unreserved
Post-condition: required seats/berths are reserved and no moreavailable for reservation.
Side-effects: None
8/3/2019 Sw Engg L4 Requirements Case Study
33/33
Analysis Models
Use cases, Sequence Diagrams, Class Diagrams, ObjectDiagrams, Collaboration Diagrams etc.
to be discussed in the next class