requirement engg process

Upload: mm

Post on 07-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/20/2019 Requirement engg process

    1/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 1

    Requirements Engineering

    Processes

  • 8/20/2019 Requirement engg process

    2/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 2

    Objectives

    To describe the principal requirementsengineering activities and their relationships

    To introduce techniques for requirements

    elicitation and analysis To describe requirements validation and the

    role of requirements reviews To discuss the role of requirements

    management in support of otherrequirements engineering processes

  • 8/20/2019 Requirement engg process

    3/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 3

    Topics covered

    Feasibility studies

    Requirements elicitation and analysis

    Requirements validation

    Requirements management

  • 8/20/2019 Requirement engg process

    4/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 4

    Requirements engineering processes

    The processes used for RE vary widelydepending on the application domain, thepeople involved and the organisation

    developing the requirements !owever, there are a number of generic

    activities common to all processes" Requirements elicitation#

    " Requirements analysis#" Requirements validation#

    " Requirements management

  • 8/20/2019 Requirement engg process

    5/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 5

    The requirements engineering process

    repo

    SystmoUr

    e

  • 8/20/2019 Requirement engg process

    6/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 6

    Requirements engineering

    Requielicita

     SysterequielicitsespeUsereq

    eliciBusispePrFeastR

    S semdoc

  • 8/20/2019 Requirement engg process

    7/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 7

    Feasibility studies

     $ feasibility study decides whether or not the

    proposed system is worthwhile

     $ short focused study that chec%s

    " &f the system contributes to organisational

    objectives#

    " &f the system can be engineered using current

    technology and within budget#

    " &f the system can be integrated with other

    systems that are used

  • 8/20/2019 Requirement engg process

    8/52

  • 8/20/2019 Requirement engg process

    9/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 9

    Elicitation and analysis

    .ometimes called requirements elicitation or

    requirements discovery

    &nvolves technical staff wor%ing with customers to

    find out about the application domain, the servicesthat the system should provide and the systems

    operational constraints

    /ay involve end0users, managers, engineers

    involved in maintenance, domain e1perts, trade

    unions, etc These are called stakeholders.

  • 8/20/2019 Requirement engg process

    10/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 10

    Problems of requirements analysis

    .ta%eholders dont %now what they really want

    .ta%eholders e1press requirements in their own

    terms

    2ifferent sta%eholders may have conflictingrequirements

    Organisational and political factors may influence the

    system requirements

    The requirements change during the analysisprocess 3ew sta%eholders may emerge and the

    business environment change

  • 8/20/2019 Requirement engg process

    11/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 11

    The requirements spiral

    ReqclasorgaRpnRd

    Reqdisc

  • 8/20/2019 Requirement engg process

    12/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 12

    Process activities

    Requirements discovery" &nteracting with sta%eholders to discover their requirements

    2omain requirements are also discovered at this stage

    Requirements classification and organisation

    " 4roups related requirements and organises them intocoherent clusters

    Prioritisation and negotiation" Prioritising requirements and resolving requirements

    conflicts

    Requirements documentation" Requirements are documented and input into the ne1t

    round of the spiral

  • 8/20/2019 Requirement engg process

    13/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 13

    Requirements discovery

    The process of gathering information about

    the proposed and e1isting systems and

    distilling the user and system requirements

    from this information .ources of information include

    documentation, system sta%eholders and the

    specifications of similar systems

  • 8/20/2019 Requirement engg process

    14/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 14

     $T/ sta%eholders

    'an% customers Representatives of other ban%s 'an% managers

    5ounter staff  2atabase administrators .ecurity managers /ar%eting department

    !ardware and software maintenance engineers 'an%ing regulators

  • 8/20/2019 Requirement engg process

    15/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 15

    6iewpoints

    6iewpoints are a way of structuring the

    requirements to represent the perspectives

    of different sta%eholders .ta%eholders may

    be classified under different viewpoints This multi0perspective analysis is important

    as there is no single correct way to analyse

    system requirements

  • 8/20/2019 Requirement engg process

    16/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 16

    Types of viewpoint

    &nteractor viewpoints" People or other systems that interact directly with the

    system &n an $T/, the customers and the accountdatabase are interactor 6Ps

    &ndirect viewpoints" .ta%eholders who do not use the system themselves but

    who influence the requirements &n an $T/, managementand security staff are indirect viewpoints

    2omain viewpoints

    " 2omain characteristics and constraints that influence therequirements &n an $T/, an e1ample would be standardsfor inter0ban% communications

  • 8/20/2019 Requirement engg process

    17/52©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 17

    6iewpoint identification

    &dentify viewpoints using" Providers and receivers of system services#

    " .ystems that interact directly with the system

    being specified#" Regulations and standards#

    " .ources of business and non0functionalrequirements

    "Engineers who have to develop and maintainthe system#

    " /ar%eting and other business viewpoints

  • 8/20/2019 Requirement engg process

    18/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 18

    7&'.8. viewpoint hierarchy

    ArticleproviFinanLibrarmanagLibstUse U!st

    %&tSta Stude#Ssm

  • 8/20/2019 Requirement engg process

    19/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 19

    &nterviewing

    &n formal or informal interviewing, the REteam puts questions to sta%eholders aboutthe system that they use and the system to

    be developed There are two types of interview

    " 5losed interviews where a pre0defined set ofquestions are answered

    " Open interviews where there is no pre0definedagenda and a range of issues are e1plored withsta%eholders

  • 8/20/2019 Requirement engg process

    20/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 20

    &nterviews in practice

    3ormally a mi1 of closed and open0endedinterviewing

    &nterviews are good for getting an overallunderstanding of what sta%eholders do and how

    they might interact with the system &nterviews are not good for understanding domain

    requirements" Requirements engineers cannot understand specific

    domain terminology#

    " .ome domain %nowledge is so familiar that people find ithard to articulate or thin% that it isnt worth articulating

  • 8/20/2019 Requirement engg process

    21/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 21

    Effective interviewers

    &nterviewers should be open0minded, willing

    to listen to sta%eholders and should not have

    pre0conceived ideas about the requirements

    They should prompt the interviewee with aquestion or a proposal and should not simply

    e1pect them to respond to a question such

    as 9what do you want

  • 8/20/2019 Requirement engg process

    22/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 22

    .cenarios

    .cenarios are real0life e1amples of how a

    system can be used

    They should include

    "  $ description of the starting situation#

    "  $ description of the normal flow of events#

    "  $ description of what can go wrong#

    " &nformation about other concurrent activities#"  $ description of the state when the scenario

    finishes

  • 8/20/2019 Requirement engg process

    23/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 23

    7&'.8. scenario (:)

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

    the copy of the article.

    Normal: The user selects the article to be copied. He or she is then prompted by the system to ei ther 

     provide subscriber information for the journal or to indicate ho they ill pay for the article. !lternative

     payment methods are by credit card or by "uoting an organisational account number.

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

    submit this to the LIBSYS system.

    The copyright form is c hec#ed and$ if %&$ the '() version of the article is donloaded to the LIBSYS

    or#ing area on the user*s computer and the user is informed that it is available. The user is as#ed to select

    a printer and a copy of the article is printed. If the article has been flagged as +print,only* it is deleted from

    the user*s system once the user has confirmed that printing is complete.

  • 8/20/2019 Requirement engg process

    24/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 24

    7&'.8. scenario (;)

    What can go wrong: The user may fail to fill in the copyright form correctly. In this case$ the form should

     be re,presented to the user for correction. If the resubmitted form is s till incorrect then the user*s re"uest

    for the article is rejected.

    The payment may be rejected by the system. The user*s re"uest for the article is rejected.

    The article donload may fail. -etry 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,only* then it is held in the

    LIBSYS or#space. %therise$ the article is deleted and the user*s account credited ith the cost of the

    article.

    Other activities: Simultaneous donloads of other articles.

    System state on completion: ser is logged on. The donloaded article has been deleted from LIBSYS

    or#space if it has been flagged as print,only.

  • 8/20/2019 Requirement engg process

    25/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 25

  • 8/20/2019 Requirement engg process

    26/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 26

     $rticle printing use0case

  • 8/20/2019 Requirement engg process

    27/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 27

    7&'.8. use cases

    tUSu#LUs

  • 8/20/2019 Requirement engg process

    28/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 28

     $rticle printing

    requcoreqreturcopdeliarticprinscin-odelet

  • 8/20/2019 Requirement engg process

    29/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 29

    Print article sequence

    requcoreqreturcopdeliarticprinscin-odelet

  • 8/20/2019 Requirement engg process

    30/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 30

    .ocial and organisational factors

    .oftware systems are used in a social and

    organisational conte1t This can influence or

    even dominate the system requirements

    .ocial and organisational factors are not asingle viewpoint but are influences on all

    viewpoints

    4ood analysts must be sensitive to thesefactors but currently no systematic way to

    tac%le their analysis

  • 8/20/2019 Requirement engg process

    31/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 31

    Ethnography

     $ social scientists spends a considerable time

    observing and analysing how people actually wor%

    People do not have to e1plain or articulate their

    wor% .ocial and organisational factors of importance may

    be observed

    Ethnographic studies have shown that wor% is

    usually richer and more comple1 than suggested bysimple system models

  • 8/20/2019 Requirement engg process

    32/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 32

    Focused ethnography

    2eveloped in a project studying the air trafficcontrol process

    5ombines ethnography with prototyping

    Prototype development results in unansweredquestions which focus the ethnographicanalysis

    The problem with ethnography is that it studies

    e1isting practices which may have somehistorical basis which is no longer relevant

  • 8/20/2019 Requirement engg process

    33/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 33

    Ethnography and prototyping

  • 8/20/2019 Requirement engg process

    34/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 34

    .cope of ethnography

    Requirements that are derived from the way

    that people actually wor% rather than the way

    & which process definitions suggest that they

    ought to wor% Requirements that are derived from

    cooperation and awareness of other peoples

    activities

  • 8/20/2019 Requirement engg process

    35/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 35

    Requirements validation

    5oncerned with demonstrating that the

    requirements define the system that the

    customer really wants

    Requirements error costs are high sovalidation is very important

    " Fi1ing a requirements error after delivery may

    cost up to :== times the cost of fi1ing an

    implementation error

  • 8/20/2019 Requirement engg process

    36/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 36

    Requirements chec%ing

    6alidity 2oes the system provide the functions

    which best support the customers needs-

    5onsistency $re there any requirements conflicts-

    5ompleteness $re all functions required by thecustomer included-

    Realism 5an the requirements be implemented

    given available budget and technology

    6erifiability 5an the requirements be chec%ed-

  • 8/20/2019 Requirement engg process

    37/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 37

    Requirements validation techniques

    Requirements reviews" .ystematic manual analysis of the

    requirements

    Prototyping"

    Test0case generation

    " 2eveloping tests for requirements to chec%testability

  • 8/20/2019 Requirement engg process

    38/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 38

    Requirements reviews

    Regular reviews should be held while the

    requirements definition is being formulated

    'oth client and contractor staff should be

    involved in reviews Reviews may be formal (with completed

    documents) or informal 4ood

    communications between developers,customers and users can resolve problems

    at an early stage

  • 8/20/2019 Requirement engg process

    39/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 39

    Review chec%s

    6erifiability &s the requirement realisticallytestable-

    5omprehensibility &s the requirement

    properly understood- Traceability &s the origin of the requirement

    clearly stated-  $daptability 5an the requirement be

    changed without a large impact on otherrequirements-

  • 8/20/2019 Requirement engg process

    40/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 40

    Requirements management

    Requirements management is the process of

    managing changing requirements during the

    requirements engineering process and system

    development

    Requirements are inevitably incomplete and

    inconsistent

    " 3ew requirements emerge during the process as

    business needs change and a better understanding of the

    system is developed#" 2ifferent viewpoints have different requirements and

    these are often contradictory

  • 8/20/2019 Requirement engg process

    41/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 41

    Requirements change

    The priority of requirements from different

    viewpoints changes during the development

    process

    .ystem customers may specify requirementsfrom a business perspective that conflict with

    end0user requirements

    The business and technical environment ofthe system changes during its development

  • 8/20/2019 Requirement engg process

    42/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 42

    Requirements evolution

     rreqe

  • 8/20/2019 Requirement engg process

    43/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 43

    Enduring and volatile requirements

    Enduring requirements .table requirements

    derived from the core activity of the customer

    organisation Eg a hospital will always have

    doctors, nurses, etc /ay be derived fromdomain models

    6olatile requirements Requirements which

    change during development or when the

    system is in use &n a hospital, requirements

    derived from health0care policy

  • 8/20/2019 Requirement engg process

    44/52

  • 8/20/2019 Requirement engg process

    45/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 45

    Requirements management planning

    2uring the requirements engineering process, youhave to plan?" Requirements identification

    "  !ow requirements are individually identified#

    "  $ change management process" The process followed when analysing a requirements

    change#

    " Traceability policies" The amount of information about requirements relationships

    that is maintained#

    " 5$.E tool support" The tool support required to help manage requirements

    change#

  • 8/20/2019 Requirement engg process

    46/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 46

    Traceability

    Traceability is concerned with the relationships

    between requirements, their sources and the system

    design

    .ource traceability

    " 7in%s from requirements to sta%eholders who proposed

    these requirements#

    Requirements traceability

    " 7in%s between dependent requirements#

    2esign traceability

    " 7in%s from the requirements to the design#

  • 8/20/2019 Requirement engg process

    47/52

  • 8/20/2019 Requirement engg process

    48/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 48

    5$.E tool support

    Requirements storage

    " Requirements should be managed in a secure, managed

    data store

    5hange management

    " The process of change management is a wor%flow

    process whose stages can be defined and information

    flow between these stages partially automated

    Traceability management

    "  $utomated retrieval of the lin%s between requirements

  • 8/20/2019 Requirement engg process

    49/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 49

    Requirements change management

    .hould apply to all proposed changes to therequirements

    Principal stages

    " Problem analysis 2iscuss requirementsproblem and propose change#

    " 5hange analysis and costing $ssess effects ofchange on other requirements#

    " 5hange implementation /odify requirementsdocument and other documents to reflectchange

  • 8/20/2019 Requirement engg process

    50/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 50

    5hange management

     

  • 8/20/2019 Requirement engg process

    51/52

    ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7  Slide 51

    @ey points

    The requirements engineering processincludes a feasibility study, requirementselicitation and analysis, requirementsspecification and requirements management

    Requirements elicitation and analysis isiterative involving domain understanding,requirements collection, classification,structuring, prioritisation and validation

    .ystems have multiple sta%eholders withdifferent requirements

  • 8/20/2019 Requirement engg process

    52/52

    @ey points

    .ocial and organisation factors influencesystem requirements

    Requirements validation is concerned with

    chec%s for validity, consistency,completeness, realism and verifiability 'usiness changes inevitably lead to

    changing requirements

    Requirements management includesplanning and change management