requirements engineering by varma

Embed Size (px)

Citation preview

  • 7/30/2019 requirements engineering by varma

    1/29

    By

    Ravi Varma

  • 7/30/2019 requirements engineering by varma

    2/29

    Requirements Engineering Requirements Engineering: is the process of establishing the

    services that the customer requires from the system and theconstraints under which it is to be developed and operated

    To create and maintain a system requirement documentWe have four high level RE sub process

    1. Feasibility study: assessing whether the system is useful tobusiness

    2. Elicitation and Analysis: Discovering requirements

    3. Specification: converting the requirements into a standardform

    4. Validation :check the requirements actually define thesystem that the customer wants

  • 7/30/2019 requirements engineering by varma

    3/29

    Requirements Engineering Requirements Engineering Process

  • 7/30/2019 requirements engineering by varma

    4/29

    SPIRAL REPRESENTATION OF REQUIREMENTS

    ENGINEERINGProcess is represented as 3 stage activity.

    1. Requirements Elicitation

    2. Requirements Specification.

    3. Requirements Validation.oActivities are organized as an iterative process around a

    spiral.

    o Early in the process, most effort will be spent on

    Understanding high level business and the userrequirement.

    o Later in the outer rings, more effort will be on systemrequirements engineering and system modeling.

  • 7/30/2019 requirements engineering by varma

    5/29

    SPIRAL REPRESENTATION OF REQUIREMENTS

    ENGINEERING

    Requiremen ts

    specificati on

    Requirements

    validation

    Requirementselicitation

    System requirements

    specification andmodeling

    System

    requirementselicitation

    User requirementsspecification

    Userrequi rements

    elicitation

    Business requirementsspecification

    Prototyping

    Feasibility

    study

    Reviews

    System requirements

    document

  • 7/30/2019 requirements engineering by varma

    6/29

    Feasibility study

    A feasibility study decides whether or not the

    proposed system is worthwhile.A short focused study that checks

    If the system contributes to organisational objectives;

    If the system can be engineered using current

    technology and within budget; If the system can be integrated with other systems that

    are used.

  • 7/30/2019 requirements engineering by varma

    7/29

    Feasibility StudiesFeasibility study implementation

    Based on information assessment, information collection

    and report writing . Questions for people in the organization

    -What if the system doesnt implemented?-What are current process problems?-How will proposed system help?-What will be the integration problems?-Is new technology needed? What skills?-What facilities must be supported by the

    proposed system?

  • 7/30/2019 requirements engineering by varma

    8/29

    Elicitation and Analysis Sometimes called requirements elicitation and

    requirements discovery.

    Involves technical staff working with customers to findout about the application domain the services that thesystem should provide and the systems operationalconstraints.

    May involve end-users, managers, engineers involvedin maintenance, domain experts, trade unions, etc.These are called stakeholders

  • 7/30/2019 requirements engineering by varma

    9/29

    Problems of requirements analysis Stakeholders dont know what they really want.

    Stakeholders express requirements in their own terms.

    Different stakeholders may have conflictingrequirements.

    Organisational and political factors may influence thesystem requirements.

    The requirements change during the analysis process.New stakeholders may emerge and the businessenvironment change.

  • 7/30/2019 requirements engineering by varma

    10/29

    Requirements elicitation and

    analysisThe Process Activities :

    Requirements discovery: Interacting with stakeholders to discover their requirements. Domain

    requirements are also discovered at this stage

    Requirements classification and organisation Groups related requirements and organises them into coherent clusters.

    Requirements prioritization and negotiation Prioritising requirements and resolving requirements conflicts.

    Requirements documentation Requirements are documented and input into the next round of the spiral

  • 7/30/2019 requirements engineering by varma

    11/29

    The requirements elicitation and

    analysis process

    Requirements

    classification andorganisation

    Requ irements

    prioriti zatio n andnegotiation

    Requ irements

    documentation

    Requirements

    discovery

  • 7/30/2019 requirements engineering by varma

    12/29

    Requirements DiscoveryViewpoints

    Interviews

    Scenarios Use-cases

  • 7/30/2019 requirements engineering by varma

    13/29

    Requirements Discovery The process of gathering information about the

    proposed and existing systems and distilling the userand system requirements from this information

    Sources of information include documentation,system stakeholders and the specifications of similarsystems.

    May involve end-users, managers, engineers involvedin maintenance, domain experts, trade unions, etc.These are called stakeholders.

  • 7/30/2019 requirements engineering by varma

    14/29

    Requirements discoveryATM stakeholders Bank customers Representatives of other banks Bank managers Counter staff Database administrators Security managers Marketing department Hardware and software maintenance engineers Banking regulators

  • 7/30/2019 requirements engineering by varma

    15/29

    ViewpointsViewpoints are a way of structuring the requirements

    to represent the perspectives of different stakeholders.Stakeholders may be classified under differentviewpoints.

    This multi-perspective analysis is important as there isno single correct way to analyse system requirements.

  • 7/30/2019 requirements engineering by varma

    16/29

    Types of Viewpoints Interactor viewpoints

    People or other systems that interact directly with the system. In anATM, the customers and the account database are interactor VPs.

    Indirect viewpoints Stakeholders who do not use the system themselves but who

    influence the requirements. In an ATM, management and securitystaff are indirect viewpoints.

    Domain viewpoints Domain characteristics and constraints that influence the

    requirements. In an ATM, an example would be standards for inter-bank communications

  • 7/30/2019 requirements engineering by varma

    17/29

    LIBSYS viewpoint hierarchy

    Article

    providersFinance

    Library

    manager

    Library

    staffUsers

    InteractorIndirect

    All VPs

    Classificationsystem

    UI

    standards

    Do main

    ExternalSta ffStudents CataloguersSystem

    managers

  • 7/30/2019 requirements engineering by varma

    18/29

    Interviewing In informal or formal interviewing , the RE team puts

    questions to stakeholders about the system that theyuse and the system to be developed

    Two types of interview.

    closed interview s where a pre-defined set of questions

    are answered Open interviews discuss a range of issues with

    stakeholders for better understanding their needs.

  • 7/30/2019 requirements engineering by varma

    19/29

    interviewing Normally a mix of closed and open-ended interviewing.

    Interviews are good for getting an overall understanding ofwhat stakeholders do and how they might interact with the

    system. Interviews are not good for understanding domain

    requirements Requirements engineers cannot understand specific domain

    terminology;

    Some domain knowledge is so familiar that people find it hard toarticulate or think that it isnt worth articulating

  • 7/30/2019 requirements engineering by varma

    20/29

    InterviewingEffective interviewers

    Interviewers should be open-minded, willing to listento stakeholders and should not have pre-conceivedideas about the requirements.

    They should prompt the interviewee with a question ora proposal and should not simply expect them to

    respond to a question such as what do you want

  • 7/30/2019 requirements engineering by varma

    21/29

    Scenarios

    Scenarios are real-life examples of how a system can beused.

    They should include

    A description of the starting situation;

    A description of the normal flow of events;

    A description of what can go wrong; Information about other concurrent activities;

    A description of the state when the scenario finishes

  • 7/30/2019 requirements engineering by varma

    22/29

    Scenario for downloading article

    in LIBSYSInitial assumption: The user has logged on to the LIBSYS system and has located the journal containing

    the copy of the article.

    Normal: T he user selects the article to be copied. He or she is t hen prompted by the syst em to ei ther

    provide subscriber information for the journal or to indicate how they will pay for the article. Alternative

    payment methods are by credit card or by quoting an organisat ional account number.

    The user is then asked to fill in a copyright form that maintains details of the transaction and they then

    submit this to t he LIBSYS system.

    The copyright form is checked and, if OK, the PDF version of the art icle is downloaded to the LIBSYS

    working area on the userscomputer and the user is informed that it is available. T he user is asked to select

    a printer and a copy of the article is printed. If the article has been flagged as print-onlyit is deleted from

    the users system once the user has confirmed that printing is complete.

  • 7/30/2019 requirements engineering by varma

    23/29

    Scenario for downloading article

    in LIBSYS

    What can go wrong: T he user may fail to fill in the copyright form correctly. In t his case, the form should

    be re-presented to the user for correction. If the resubmitted form is s till incorrect then the usersrequest

    for the article is rejected.

    The payment may be rejected by the system. The users request for the article is rejected.

    The article download may fail. Retry until successful or the user terminates the session.

    It may not be possible to print the article. If the article is not flagged as print-onlythen it is held in the

    LIBSYS workspace. Otherwise, the article is deleted and the users account credited with the cost of the

    article.

    Other activities: Simultaneous downloads of other articles.

    System state on completion: User is logged on. The downloaded article has been deleted from LIBSYS

    workspace if it has been flagged as print-only.

  • 7/30/2019 requirements engineering by varma

    24/29

    Another scenario for collecting

    medical history

  • 7/30/2019 requirements engineering by varma

    25/29

    Use cases Use cases are a requirements discovery technique that

    were first introduced in the Objectory method.

    They have now become a fundamental feature of theunified modeling language(UML).

    Use-cases are a scenario based technique in the UMLwhich identify the actors in an interaction and which

    describe the interaction itself

  • 7/30/2019 requirements engineering by varma

    26/29

    Simple use case for printing article

  • 7/30/2019 requirements engineering by varma

    27/29

    Use cases for the library system

  • 7/30/2019 requirements engineering by varma

    28/29

    System interactions for article

    printing Sequence diagram

  • 7/30/2019 requirements engineering by varma

    29/29

    Next class Requirements validations

    Requirements management

    Go through text book