SlideShare a Scribd company logo
IT607 – Software Engineering Requirements Engineering Kavi Arya M. Mohan
Objectives Introduce the concepts  User  and  System Requirements   Describe  functional  and  non-functional  requirements Explain how to document software requirements
Railway reservation system Who are the users of this system ? Reservation  System  Financial Gateway (bank) Traveler Travel Agent Reservation Clerk System administrator IVR system
Quiz 0 Assume, you are analyzing an existing railway reservation system for devising enhancements. Answer the following questions with reference to any railway reservation system you are familiar with. Please write your assumptions clearly. i) Who are the various kinds of users of the system? What are their expectations of the system? ii) Will a system administrator who manages the system be a user? Justify your answer ? iii) List as many functional requirements of the system as possible ? iv) Write down five non-functional requirements of the system ?
Quiz 0 (contd.) v) Write down any additional requirements you would like to add to the system? (mention clearly whether they are functional or non-functional requirements)   vi) Suppose, the system under study has no facility for making reservations using  SMS. The customer wants this feature 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 the system? Explain why and give two other models you would not use, explaining why.
Users expectations : Traveler What are the Travelers expectations of the System ? Expects reservation, cancellation, adjustment, and enquiry facilities. Above facilities offered online and telephonic are highly appreciated
Users expectations : Travel Agent Travel Agents expectations of the System  Bulk reservation, cancellation, adjustment facilities. Enquiry facilities. Above facilities offered online and telephonic are highly appreciated Wants to be notified of important events like introduction of new / seasonal trains.
Users expectations : Reservation Clerk Reservation Clerks expectations of the System  Reservation, cancellation, adjustment, and enquiry facilities. 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 sales reports etc.
Users expectations : System administrator System administrator’s expectations of the System  A data backup facility An error recovery facility Adding, removing new trains to the system Modifying train schedules and fares
Users expectations : Financial Gateway Financial gateway’s expectations of the System   Communication with the system should be safe to safeguard the integrity of the payment data. System should be using EDI or any other standard data interchange formats that the financial gateway understands. Note : Most of the external systems expectations are interoperability requirements.
Product requirements The reservation system product requirements High availability ( less MTBF ) High throughput: handle more number of transactions per second Reliability Scalability  Security etc.
External requirements External requirements include : Interoperability requirements. Ex: Syntax and semantics of the messages to be used to communicate with the external systems.  Legislative requirements. Ex: Personal information of a client should not be revealed to a third party without his consent.
Overall system requirements User Requirements Product Requirements External Requirements
Requirements Engineering The process of establishing services that the customer requires from a system and the  constraints under which it operates and is developed. The requirements are the descriptions of the system services  and constraints that are generated during the requirements engineering  process. Running example :  Indian Railway Reservation System.
Users  The stakeholders of the system, who interact with the system to accomplish their tasks. A user may be any entity that is interested in the services offered by the system. Eg :  Traveler, Travel Agent, Reservation Clerk, Financial Gateway,  System Administrator etc.
User Requirements  Different users have different expectations of the system behavior, and all these combined together constitute the overall system requirements  Ex :- Traveler expects an easy to use online system for booking tickets. A reservation clerk expects a good user interface and response time for serving the customers efficiently. A payment gateway expects the communication with the system be very secure, to ensure the integrity of the payment data.
Types of Requirements Functional Requirements  ( Application requirements ) Eg: Cancellation, Reservation, enquiry etc. Non-Functional Requirements  ( Quality Requirements ) Eg:  Reservation at counter should be closed by 8 p.m. every day. Online reservations should be allowed till 11 p.m. etc.,
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 for constructing a solution Most of the changing requirements fall in to  this category Ex:-  Some time later, Indian railway may decide to provide online reservation facility round the clock.
Classification of Non-functional requirements Product Requirements: defines product characteristics Ex: Execution speed, Reliability, Security, Scalability etc. Organizational Requirements:  requirements which are a consequence of organizational policies and procedures.  Ex: Operational time in railway reservation time External Requirements:  requirements which arise from factors external to the system. Ex: interoperability requirements, legislative requirements etc.
Characteristics of Requirements   Are they correct ? Are they Consistent ? Are they Complete ? Are they Realistic ?  Are they verifiable ? Are they traceable ?
Characteristics of Requirements   . . Realistic Requirements  :  Are the requirements technically, financially, and operationally  feasible ? Verifiable requirements :  Should be able to verify whether a requirement is implemented correctly or not Traceable requirements :   traceability  is the ability to describe and follow the life of a requirement throughout the software development life cycle.  This is a very useful feature used in  change management .
Requirement Elicitation techniques Traditional Techniques Group elicitation techniques Prototyping
Requirement Elicitation techniques Traditional Techniques   Use of questionnaires and surveys Interviewing stakeholders Analyzing existing systems and processes
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  the requirements for the new system.  This requirement gathering technique is very effective as the end users take active part in requirement definition.  Group size should be reasonably small. Group composition: at least one representative from every group of end-users should be present in the group. This eliminates any bias in defining requirements.
Requirement Elicitation techniques Prototyping   Used when there is a great deal of uncertainty about the requirements, or where early feedback from stakeholders is needed.  A prototype is: B uilt rapidly from initial requirements Analyzed to refine the requirements New prototype is developed from these new requirements.  Process continues until requirements defined satisfactorily.
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 development team It could form a basis for a contractual relationship
How to write it down ? Natural Language Structured Natural Language Graphical Notations  ex. Use cases Mathematical Specifications  ex. finite state machines
Problems with natural language Lack of Clarity :  precision is difficult without making the document difficult to read. Requirements Confusion:  functional and non-functional requirements tend to be mixed-up. Requirements Amalgamation:  several different requirements may be expressed together. Ambiguity:  the readers and writers of the requirement must interpret the same words in the same way. Natural language is ambiguous so this is very difficult. Lack of Modularization:  natural language structures are inadequate to structure system requirements.
Structured Natural Language A predefined template is used for documenting the requirements. All the requirements are written in a standard way. 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.
Structured Natural Language XYZ software/SRS/1.2.4 Function: Description: Inputs: Source: Outputs: Destination: Action: Requires: Pre-condition: Post-condition: Side-effects:
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, train code etc. Source:  customer / reservation clerk / travel agent Outputs:  printed ticket or non-availability status message Destination:  customer / reservation clerk / travel agent
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 user Requires:  Pre-condition:   required seats/berths are unreserved Post-condition:  required seats/berths are reserved and no more available for reservation.  Side-effects:  None
Analysis Models   Use cases, Sequence Diagrams, Class Diagrams, Object Diagrams, Collaboration Diagrams etc.  to be discussed in the next class

More Related Content

PPTX
Ch 2 types of reqirement
PDF
A Software Requirements Specification
DOCX
Case study of spiral process model
PPT
Lecture05
PDF
Use case Modeling
DOCX
Software Requirement Specification - Interest Rate Management
PDF
Aras and Developing Deployment Use Cases and Requirements
DOC
SRS on online auction system
Ch 2 types of reqirement
A Software Requirements Specification
Case study of spiral process model
Lecture05
Use case Modeling
Software Requirement Specification - Interest Rate Management
Aras and Developing Deployment Use Cases and Requirements
SRS on online auction system

What's hot (20)

DOCX
Srs of bms
PPTX
Software requirement specification
PDF
Writing Good Use Cases
PPTX
Software requirement and specification
DOCX
IRCTC projects
PPT
Requirement analysis and specification, software engineering
DOCX
document for Voice banking system mini project
PDF
Software (requirement) analysis using uml
PPT
W3 requirements engineering processes
PPT
SE - Software Requirements
PDF
Srs for banking system
PDF
Se lec-uosl-8
PDF
User stories
PDF
Case study-the next gen pos
PPTX
Software Requirement Specification
PPT
How to write use cases
PPT
Requirement specification
PPTX
Unit2 Software engineering UPTU
PPTX
software requirement specification
DOCX
Software Specification Requirement
Srs of bms
Software requirement specification
Writing Good Use Cases
Software requirement and specification
IRCTC projects
Requirement analysis and specification, software engineering
document for Voice banking system mini project
Software (requirement) analysis using uml
W3 requirements engineering processes
SE - Software Requirements
Srs for banking system
Se lec-uosl-8
User stories
Case study-the next gen pos
Software Requirement Specification
How to write use cases
Requirement specification
Unit2 Software engineering UPTU
software requirement specification
Software Specification Requirement
Ad

Viewers also liked (20)

PPT
Project management
PPT
Requirements Review Process
PDF
Explore Bali with Singaporewww. Tripmart.com
PDF
Informe datos del paciente
PDF
Australia with gold coast, cairns and sydneywww.Tripmart.com
PPT
Määramatus 4
PDF
Formulario consulta general
PDF
Pecha kucha jg
PDF
Thesis presentation
PDF
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
PDF
Formulario sucursales
PPTX
Recount rina
PPSX
Consumer Basics for Renewable Energy
PDF
Volkan emre 106621009 msc_project_2011
PDF
Australia with gold coast, cairns and sydney-tripmart
PPTX
Ecotourism
PPTX
Megan Summers Foundation Portfolio Evaluation
PDF
Hong kong and Macaywww.Tripmart.com
PPT
Abdul kalam team10
PPTX
Start up a business and change the world vs4
Project management
Requirements Review Process
Explore Bali with Singaporewww. Tripmart.com
Informe datos del paciente
Australia with gold coast, cairns and sydneywww.Tripmart.com
Määramatus 4
Formulario consulta general
Pecha kucha jg
Thesis presentation
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
Formulario sucursales
Recount rina
Consumer Basics for Renewable Energy
Volkan emre 106621009 msc_project_2011
Australia with gold coast, cairns and sydney-tripmart
Ecotourism
Megan Summers Foundation Portfolio Evaluation
Hong kong and Macaywww.Tripmart.com
Abdul kalam team10
Start up a business and change the world vs4
Ad

Similar to Sw engg l4_requirements_case_study (20)

PPTX
Software Requirement Engineering Documenting Requirements
PDF
Railway Reservation System - Requirement Engineering
PPTX
SE Unit 2(1).pptx
PPT
Se lect9 btech
PPT
unit2_1 in software engineering note ppt complete
PPTX
CI4305 Lecture Defining Requirements_2023.pptx
PPTX
NF+FR requirements User.pptxxxxxxxxxxxxxx
PDF
Requirement Engineering
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
PPTX
Software Requrement
PPTX
Software engineering Unit 2(Updated)2.pptx
PPTX
Software engineering is a branch of engineering focused on designing, develop...
PPT
Ch 1-Introduction.ppt
PPT
Software engineering lecture 1
PPT
INTRODUCTION to software engineering requirements specifications
PPTX
1602984149-1-introduction.pptx4hjdqehjeg
PPT
Software Requirements
PPTX
REQUIREMENT ENGINEERING
PDF
Se lec 4
PDF
Requirements Engineering
Software Requirement Engineering Documenting Requirements
Railway Reservation System - Requirement Engineering
SE Unit 2(1).pptx
Se lect9 btech
unit2_1 in software engineering note ppt complete
CI4305 Lecture Defining Requirements_2023.pptx
NF+FR requirements User.pptxxxxxxxxxxxxxx
Requirement Engineering
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
Software Requrement
Software engineering Unit 2(Updated)2.pptx
Software engineering is a branch of engineering focused on designing, develop...
Ch 1-Introduction.ppt
Software engineering lecture 1
INTRODUCTION to software engineering requirements specifications
1602984149-1-introduction.pptx4hjdqehjeg
Software Requirements
REQUIREMENT ENGINEERING
Se lec 4
Requirements Engineering

Recently uploaded (20)

PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Modernising the Digital Integration Hub
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
STKI Israel Market Study 2025 version august
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
The various Industrial Revolutions .pptx
Enhancing emotion recognition model for a student engagement use case through...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
DP Operators-handbook-extract for the Mautical Institute
A novel scalable deep ensemble learning framework for big data classification...
Programs and apps: productivity, graphics, security and other tools
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
Chapter 5: Probability Theory and Statistics
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
1 - Historical Antecedents, Social Consideration.pdf
What is a Computer? Input Devices /output devices
WOOl fibre morphology and structure.pdf for textiles
Modernising the Digital Integration Hub
Hindi spoken digit analysis for native and non-native speakers
Group 1 Presentation -Planning and Decision Making .pptx
STKI Israel Market Study 2025 version august
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
O2C Customer Invoices to Receipt V15A.pptx
The various Industrial Revolutions .pptx

Sw engg l4_requirements_case_study

  • 1. IT607 – Software Engineering Requirements Engineering Kavi Arya M. Mohan
  • 2. Objectives Introduce the concepts User and System Requirements Describe functional and non-functional requirements Explain how to document software requirements
  • 3. Railway reservation system Who are the users of this system ? Reservation System Financial Gateway (bank) Traveler Travel Agent Reservation Clerk System administrator IVR system
  • 4. Quiz 0 Assume, you are analyzing an existing railway reservation system for devising enhancements. Answer the following questions with reference to any railway reservation system you are familiar with. Please write your assumptions clearly. i) Who are the various kinds of users of the system? What are their expectations of the system? ii) Will a system administrator who manages the system be a user? Justify your answer ? iii) List as many functional requirements of the system as possible ? iv) Write down five non-functional requirements of the system ?
  • 5. Quiz 0 (contd.) v) Write down any additional requirements you would like to add to the system? (mention clearly whether they are functional or non-functional requirements)   vi) Suppose, the system under study has no facility for making reservations using SMS. The customer wants this feature 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 the system? Explain why and give two other models you would not use, explaining why.
  • 6. Users expectations : Traveler What are the Travelers expectations of the System ? Expects reservation, cancellation, adjustment, and enquiry facilities. Above facilities offered online and telephonic are highly appreciated
  • 7. Users expectations : Travel Agent Travel Agents expectations of the System Bulk reservation, cancellation, adjustment facilities. Enquiry facilities. Above facilities offered online and telephonic are highly appreciated Wants to be notified of important events like introduction of new / seasonal trains.
  • 8. Users expectations : Reservation Clerk Reservation Clerks expectations of the System Reservation, cancellation, adjustment, and enquiry facilities. 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 sales reports etc.
  • 9. Users expectations : System administrator System administrator’s expectations of the System A data backup facility An error recovery facility Adding, removing new trains to the system Modifying train schedules and fares
  • 10. Users expectations : Financial Gateway Financial gateway’s expectations of the System Communication with the system should be safe to safeguard the integrity of the payment data. System should be using EDI or any other standard data interchange formats that the financial gateway understands. Note : Most of the external systems expectations are interoperability requirements.
  • 11. Product requirements The reservation system product requirements High availability ( less MTBF ) High throughput: handle more number of transactions per second Reliability Scalability Security etc.
  • 12. External requirements External requirements include : Interoperability requirements. Ex: Syntax and semantics of the messages to be used to communicate with the external systems. Legislative requirements. Ex: Personal information of a client should not be revealed to a third party without his consent.
  • 13. Overall system requirements User Requirements Product Requirements External Requirements
  • 14. Requirements Engineering The process of establishing services that the customer requires from a system and the constraints under which it operates and is developed. The requirements are the descriptions of the system services and constraints that are generated during the requirements engineering process. Running example : Indian Railway Reservation System.
  • 15. Users The stakeholders of the system, who interact with the system to accomplish their tasks. A user may be any entity that is interested in the services offered by the system. Eg : Traveler, Travel Agent, Reservation Clerk, Financial Gateway, System Administrator etc.
  • 16. User Requirements Different users have different expectations of the system behavior, and all these combined together constitute the overall system requirements Ex :- Traveler expects an easy to use online system for booking tickets. A reservation clerk expects a good user interface and response time for serving the customers efficiently. A payment gateway expects the communication with the system be very secure, to ensure the integrity of the payment data.
  • 17. Types of Requirements Functional Requirements ( Application requirements ) Eg: Cancellation, Reservation, enquiry etc. Non-Functional Requirements ( Quality Requirements ) Eg: Reservation at counter should be closed by 8 p.m. every day. Online reservations should be allowed till 11 p.m. etc.,
  • 18. 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 for constructing a solution Most of the changing requirements fall in to this category Ex:- Some time later, Indian railway may decide to provide online reservation facility round the clock.
  • 19. Classification of Non-functional requirements Product Requirements: defines product characteristics Ex: Execution speed, Reliability, Security, Scalability etc. Organizational Requirements: requirements which are a consequence of organizational policies and procedures. Ex: Operational time in railway reservation time External Requirements: requirements which arise from factors external to the system. Ex: interoperability requirements, legislative requirements etc.
  • 20. Characteristics of Requirements Are they correct ? Are they Consistent ? Are they Complete ? Are they Realistic ? Are they verifiable ? Are they traceable ?
  • 21. Characteristics of Requirements . . Realistic Requirements : Are the requirements technically, financially, and operationally feasible ? Verifiable requirements : Should be able to verify whether a requirement is implemented correctly or not Traceable requirements : traceability is the ability to describe and follow the life of a requirement throughout the software development life cycle. This is a very useful feature used in change management .
  • 22. Requirement Elicitation techniques Traditional Techniques Group elicitation techniques Prototyping
  • 23. Requirement Elicitation techniques Traditional Techniques Use of questionnaires and surveys Interviewing stakeholders Analyzing existing systems and processes
  • 24. 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 the requirements for the new system. This requirement gathering technique is very effective as the end users take active part in requirement definition. Group size should be reasonably small. Group composition: at least one representative from every group of end-users should be present in the group. This eliminates any bias in defining requirements.
  • 25. Requirement Elicitation techniques Prototyping Used when there is a great deal of uncertainty about the requirements, or where early feedback from stakeholders is needed. A prototype is: B uilt rapidly from initial requirements Analyzed to refine the requirements New prototype is developed from these new requirements. Process continues until requirements defined satisfactorily.
  • 26. 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 development team It could form a basis for a contractual relationship
  • 27. How to write it down ? Natural Language Structured Natural Language Graphical Notations ex. Use cases Mathematical Specifications ex. finite state machines
  • 28. Problems with natural language Lack of Clarity : precision is difficult without making the document difficult to read. Requirements Confusion: functional and non-functional requirements tend to be mixed-up. Requirements Amalgamation: several different requirements may be expressed together. Ambiguity: the readers and writers of the requirement must interpret the same words in the same way. Natural language is ambiguous so this is very difficult. Lack of Modularization: natural language structures are inadequate to structure system requirements.
  • 29. Structured Natural Language A predefined template is used for documenting the requirements. All the requirements are written in a standard way. 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.
  • 30. Structured Natural Language XYZ software/SRS/1.2.4 Function: Description: Inputs: Source: Outputs: Destination: Action: Requires: Pre-condition: Post-condition: Side-effects:
  • 31. 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, train code etc. Source: customer / reservation clerk / travel agent Outputs: printed ticket or non-availability status message Destination: customer / reservation clerk / travel agent
  • 32. 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 user Requires: Pre-condition: required seats/berths are unreserved Post-condition: required seats/berths are reserved and no more available for reservation. Side-effects: None
  • 33. Analysis Models Use cases, Sequence Diagrams, Class Diagrams, Object Diagrams, Collaboration Diagrams etc. to be discussed in the next class