Top Banner

of 33

Sw Engg L4 Requirements Case Study

Apr 06, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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