software engineering - ch7

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

Upload: siddharth-ayer

Post on 13-Jan-2015

3.277 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Software Engineering - Ch7

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

Requirements EngineeringProcesses

Page 2: Software Engineering - Ch7

©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 requirementselicitation and analysis

● To describe requirements validation and therole of requirements reviews

● To discuss the role of requirementsmanagement in support of otherrequirements engineering processes

Page 3: Software Engineering - Ch7

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

Topics covered

● Feasibility studies

● Requirements elicitation and analysis

● Requirements validation

● Requirements management

Page 4: Software Engineering - Ch7

©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 organisationdeveloping the requirements.

● However, there are a number of genericactivities common to all processes• Requirements elicitation;• Requirements analysis;• Requirements validation;• Requirements management.

Page 5: Software Engineering - Ch7

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

The requirements engineering process

Page 6: Software Engineering - Ch7

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

Requirements engineering

Page 7: Software Engineering - Ch7

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

Feasibility studies

● A feasibility study decides whether or not theproposed system is worthwhile.

● A short focused study that checks• If the system contributes to organisational

objectives;

• If the system can be engineered using currenttechnology and within budget;

• If the system can be integrated with othersystems that are used.

Page 8: Software Engineering - Ch7

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

Feasibility study implementation

● Based on information assessment (what is required),information collection and report writing.

● Questions for people in the organisation• What if the system wasn’t implemented?

• What are current process problems?

• How will the proposed system help?

• What will be the integration problems?

• Is new technology needed? What skills?

• What facilities must be supported by the proposedsystem?

Page 9: Software Engineering - Ch7

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

Elicitation and analysis

● Sometimes called requirements elicitation orrequirements discovery.

● Involves technical staff working with customers tofind out about the application domain, the servicesthat the system should provide and the system’soperational constraints.

● May involve end-users, managers, engineersinvolved in maintenance, domain experts, tradeunions, etc. These are called stakeholders.

Page 10: Software Engineering - Ch7

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

Problems of requirements analysis

● Stakeholders don’t know what they really want.

● Stakeholders express requirements in their ownterms.

● Different stakeholders may have conflictingrequirements.

● Organisational and political factors may influencethe system requirements.

● The requirements change during the analysisprocess. New stakeholders may emerge and thebusiness environment change.

Page 11: Software Engineering - Ch7

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

The requirements spiral

Page 12: Software Engineering - Ch7

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

Process activities

● Requirements discovery• Interacting with stakeholders to discover their

requirements. Domain requirements are also discoveredat this stage.

● Requirements classification and organisation• Groups related requirements and organises them into

coherent clusters.

● Prioritisation and negotiation• Prioritising requirements and resolving requirements

conflicts.

● Requirements documentation• Requirements are documented and input into the next

round of the spiral.

Page 13: Software Engineering - Ch7

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

Requirements discovery

● The process of gathering information aboutthe proposed and existing systems anddistilling the user and system requirementsfrom this information.

● Sources of information includedocumentation, system stakeholders and thespecifications of similar systems.

Page 14: Software Engineering - Ch7

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

ATM stakeholders

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

Page 15: Software Engineering - Ch7

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

Viewpoints

● Viewpoints are a way of structuring therequirements to represent the perspectivesof different stakeholders. Stakeholders maybe classified under different viewpoints.

● This multi-perspective analysis is importantas there is no single correct way to analysesystem requirements.

Page 16: Software Engineering - Ch7

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

Types of viewpoint

● Interactor viewpoints• People or other systems that interact directly with the

system. In an ATM, the customer’s and the accountdatabase are interactor VPs.

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

who influence the requirements. In an ATM, managementand security staff are indirect viewpoints.

● Domain viewpoints• Domain characteristics and constraints that influence the

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

Page 17: Software Engineering - Ch7

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

Viewpoint identification

● Identify viewpoints using• Providers and receivers of system services;• Systems that interact directly with the system

being specified;• Regulations and standards;• Sources of business and non-functional

requirements.• Engineers who have to develop and maintain

the system;• Marketing and other business viewpoints.

Page 18: Software Engineering - Ch7

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

LIBSYS viewpoint hierarchy

Page 19: Software Engineering - Ch7

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

Interviewing

● In formal or informal interviewing, the REteam puts questions to stakeholders aboutthe system that they use and the system tobe developed.

● There are two types of interview• Closed interviews where a pre-defined set of

questions are answered.• Open interviews where there is no pre-defined

agenda and a range of issues are explored withstakeholders.

Page 20: Software Engineering - Ch7

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

Interviews in practice

● Normally a mix of closed and open-endedinterviewing.

● Interviews are good for getting an overallunderstanding of what stakeholders do and howthey might interact with the system.

● Interviews are not good for understanding domainrequirements• Requirements engineers cannot understand specific

domain terminology;• Some domain knowledge is so familiar that people find it

hard to articulate or think that it isn’t worth articulating.

Page 21: Software Engineering - Ch7

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

Effective interviewers

● Interviewers should be open-minded, willingto listen to stakeholders and should not havepre-conceived ideas about the requirements.

● They should prompt the interviewee with aquestion or a proposal and should not simplyexpect them to respond to a question suchas ‘what do you want’.

Page 22: Software Engineering - Ch7

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

Scenarios

● Scenarios are real-life examples of how asystem can be used.

● 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 scenariofinishes.

Page 23: Software Engineering - Ch7

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

LIBSYS scenario (1)

Initial assumption: The user has logged on to the LIBSYS system and has located the journal containingthe copy of the article.

Normal: The user selects the article to be copied. He or she is then prompted by the system to ei therprovide subscriber information for the journal or to indicate how they will pay for the article. Alternativepayment methods are by credit card or by quoting an organisational account number.

The user is then asked to fill in a copyright form that maintains details of the transaction and they thensubmit this to the LIBSYS system.

The copyright form is c hecked and, if OK, the PDF version of the article is d ownloaded to the LIBSYSworking area on the user’s computer and the user is informed that it is available. The user is asked to selecta printer and a copy of the article is printed. If the article has been flagged as ‘print-only’ it is deleted fromthe user’s system once the user has confirmed that printing is complete.

Page 24: Software Engineering - Ch7

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

LIBSYS scenario (2)

What can go wrong: The user may fail to fill in the copyright form correctly. In this case, the form shouldbe re-presented to the user for correction. If the resubmitted form is s till incorrect then the user’s requestfor the article is rejected.

The payment may be rejected by the system. The user’s 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-only’ then it is held in theLIBSYS workspace. Otherwise, the article is d eleted and the user’s account credited with the cost of thearticle.

Other activities: Simultaneous downloads of other articles.

System state on completion: User is logged on. The downloaded article has been deleted from LIBSYSworkspace if it has been flagged as print-only.

Page 25: Software Engineering - Ch7

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

Use cases

● Use-cases are a scenario based techniquein the UML which identify the actors in aninteraction and which describe theinteraction itself.

● A set of use cases should describe allpossible interactions with the system.

● Sequence diagrams may be used to adddetail to use-cases by showing the sequenceof event processing in the system.

Page 26: Software Engineering - Ch7

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

Article printing use-case

Page 27: Software Engineering - Ch7

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

LIBSYS use cases

Page 28: Software Engineering - Ch7

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

Article printing

Page 29: Software Engineering - Ch7

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

Print article sequence

Page 30: Software Engineering - Ch7

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

Social and organisational factors

● Software systems are used in a social andorganisational context. This can influence oreven dominate the system requirements.

● Social and organisational factors are not asingle viewpoint but are influences on allviewpoints.

● Good analysts must be sensitive to thesefactors but currently no systematic way totackle their analysis.

Page 31: Software Engineering - Ch7

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

Ethnography

● A social scientists spends a considerable timeobserving and analysing how people actually work.

● People do not have to explain or articulate theirwork.

● Social and organisational factors of importance maybe observed.

● Ethnographic studies have shown that work isusually richer and more complex than suggested bysimple system models.

Page 32: Software Engineering - Ch7

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

Focused ethnography

● Developed in a project studying the air trafficcontrol process

● Combines ethnography with prototyping● Prototype development results in

unanswered questions which focus theethnographic analysis.

● The problem with ethnography is that itstudies existing practices which may havesome historical basis which is no longerrelevant.

Page 33: Software Engineering - Ch7

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

Ethnography and prototyping

Page 34: Software Engineering - Ch7

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

Scope of ethnography

● Requirements that are derived from the waythat people actually work rather than the wayI which process definitions suggest that theyought to work.

● Requirements that are derived fromcooperation and awareness of other people’sactivities.

Page 35: Software Engineering - Ch7

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

Requirements validation

● Concerned with demonstrating that therequirements define the system that thecustomer really wants.

● Requirements error costs are high sovalidation is very important• Fixing a requirements error after delivery may

cost up to 100 times the cost of fixing animplementation error.

Page 36: Software Engineering - Ch7

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

Requirements checking

● Validity. Does the system provide the functionswhich best support the customer’s needs?

● Consistency. Are there any requirements conflicts?

● Completeness. Are all functions required by thecustomer included?

● Realism. Can the requirements be implementedgiven available budget and technology

● Verifiability. Can the requirements be checked?

Page 37: Software Engineering - Ch7

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

Requirements validation techniques

● Requirements reviews• Systematic manual analysis of the

requirements.

● Prototyping• Using an executable model of the system to

check requirements. Covered in Chapter 17.

● Test-case generation• Developing tests for requirements to check

testability.

Page 38: Software Engineering - Ch7

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

Requirements reviews

● Regular reviews should be held while therequirements definition is being formulated.

● Both client and contractor staff should beinvolved in reviews.

● Reviews may be formal (with completeddocuments) or informal. Goodcommunications between developers,customers and users can resolve problemsat an early stage.

Page 39: Software Engineering - Ch7

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

Review checks

● Verifiability. Is the requirement realisticallytestable?

● Comprehensibility. Is the requirementproperly understood?

● Traceability. Is the origin of the requirementclearly stated?

● Adaptability. Can the requirement bechanged without a large impact on otherrequirements?

Page 40: Software Engineering - Ch7

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

Requirements management

● Requirements management is the process ofmanaging changing requirements during therequirements engineering process and systemdevelopment.

● Requirements are inevitably incomplete andinconsistent• New requirements emerge during the process as

business needs change and a better understanding of thesystem is developed;

• Different viewpoints have different requirements andthese are often contradictory.

Page 41: Software Engineering - Ch7

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

Requirements change

● The priority of requirements from differentviewpoints changes during the developmentprocess.

● System customers may specify requirementsfrom a business perspective that conflict withend-user requirements.

● The business and technical environment ofthe system changes during its development.

Page 42: Software Engineering - Ch7

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

Requirements evolution

Page 43: Software Engineering - Ch7

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

Enduring and volatile requirements

● Enduring requirements. Stable requirementsderived from the core activity of the customerorganisation. E.g. a hospital will always havedoctors, nurses, etc. May be derived fromdomain models

● Volatile requirements. Requirements whichchange during development or when thesystem is in use. In a hospital, requirementsderived from health-care policy

Page 44: Software Engineering - Ch7

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

Requirements classification

RequirementType

Description

Mutablerequirements

Requirements that change because of changes to the environment in which theorganisation is operating. For example, in hospital systems, the funding of patientcare may change and thus require different treatment information to be collected.

Emergentrequirements

Requirements that emerge as the customer's understanding of the system developsduring the system development. The design process may reveal new emergentrequirements.

Consequentialrequirements

Requirements that result from the introduction of the computer system. Introducingthe computer system may change the organisations processes and open up new waysof working which generate new system requirements

Compatibilityrequirements

Requirements that depend on the particular systems or b usiness processes within anorganisation. As these change, the compatibility requirements on the commissionedor delivered system may also have to evolve.

Page 45: Software Engineering - Ch7

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

Requirements management planning

● During the requirements engineering process, youhave to plan:• Requirements identification

• How requirements are individually identified;

• A change management process• The process followed when analysing a requirements

change;

• Traceability policies• The amount of information about requirements relationships

that is maintained;

• CASE tool support• The tool support required to help manage requirements

change;

Page 46: Software Engineering - Ch7

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

Traceability

● Traceability is concerned with the relationshipsbetween requirements, their sources and the systemdesign

● Source traceability• Links from requirements to stakeholders who proposed

these requirements;

● Requirements traceability• Links between dependent requirements;

● Design traceability• Links from the requirements to the design;

Page 47: Software Engineering - Ch7

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

A traceability matrix

Req.id

1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2

1.1 D R1.2 D D D1.3 R R2.1 R D D2.2 D2.3 R D3.1 R3.2 R

Page 48: Software Engineering - Ch7

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

CASE tool support

● Requirements storage• Requirements should be managed in a secure, managed

data store.

● Change management• The process of change management is a workflow

process whose stages can be defined and informationflow between these stages partially automated.

● Traceability management• Automated retrieval of the links between requirements.

Page 49: Software Engineering - Ch7

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

Requirements change management

● Should apply to all proposed changes to therequirements.

● Principal stages• Problem analysis. Discuss requirements

problem and propose change;• Change analysis and costing. Assess effects of

change on other requirements;• Change implementation. Modify requirements

document and other documents to reflectchange.

Page 50: Software Engineering - Ch7

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

Change management

Page 51: Software Engineering - Ch7

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

Key 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.

● Systems have multiple stakeholders withdifferent requirements.

Page 52: Software Engineering - Ch7

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

Key points

● Social and organisation factors influencesystem requirements.

● Requirements validation is concerned withchecks for validity, consistency,completeness, realism and verifiability.

● Business changes inevitably lead tochanging requirements.

● Requirements management includesplanning and change management.