requirements elicitation - university of western...

37
Requirements Elicitation Software Requirements and Design CITS 4401 Lecture 17

Upload: nguyennga

Post on 04-May-2018

253 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Requirements

Elicitation

Software Requirements and Design

CITS 4401

Lecture 17

Page 2: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Lecture Overview

What is requirements elicitation?

Underlying difficulties

Generic Techniques

Specific Techniques

Requirements Elicitation Guidelines

CITS4401 Software

Requirements and Design 2

Page 3: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

What is Requirements

Elicitation?

The process through which the

customers, buyers, users, regulators and

any others who are stakeholders in the

development of a software system

discover, reveal, articulate and

understand their requirements.CITS4401 Software

Requirements and Design 3

Page 4: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Requirements vs Specifications

“Requirements is probably the most misused

word in our industry.”

“Required means nonnegotiable, yet in almost

every project we see changed, bartered, and

negotiated requirements”

“I propose using the word “specification”

instead. Specifications are changeable and

are understood as the current state of our

understanding.”W.Royce, IEEE Software, Sep/Oct 2005

Get a copy from http://ieeexplore.ieee.org/ via UWACITS4401 Software

Requirements and Design 4

Page 5: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Underlying Difficulties

Articulation Problems

Communication Barriers

Knowledge and Cognitive Limitations

Human Behaviour Issues

Technical Issues

CITS4401 Software

Requirements and Design 5

Page 6: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Generic Overview of

Techniques

Asking

Observing and Inferring

Discussing and Formulating

Negotiating with respect to a standard set

Studying and Identifying Problems

Discovering through creative processes

Postulating

CITS4401 Software

Requirements and Design 6

Page 7: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

A General Elicitation

Procedure Identify relevant sources of requirements

Ask appropriate questions to gain an

understanding of their needs

Analyse the gathered information, looking for

implications, inconsistencies or unresolved

issues

Confirm your understanding of the

requirements with the users

Synthesize appropriate statements of the

requirementsCITS4401 Software

Requirements and Design 7

Page 8: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Goal-Directed

Requirements

Engineering

Page 9: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

What is a goal?

An objective that the system under

consideration should achieve

Goals are optative (express a wish) rather

than indicative (stating a thing as fact),

e.g.,

“serve more passengers”

“acceleration command is delivered on time”

Notice the different levels of abstractionCITS4401 Software

Requirements and Design 9

Page 10: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

“Vision Statement” (Royce 2005)

“is a user’s need which captures the contract between the development group and the user (or buyer)”

Represent it in a format that the user can understand

Ad hoc format could include text, mockups, use cases, spreadsheets, use cases – all in user terms

CITS4401 Software

Requirements and Design 10

Page 11: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Why are goals needed?

Goals

are a basic driving force (with scenarios) for identifying requirements

help achieve requirements completeness

help to avoid irrelevant requirements

help explain requirements to stakeholders

help explore alternatives

help to manage conflicts

help to separate stable and volatile requirements

the higher level the goal, the more stable it is

CITS4401 Software

Requirements and Design 11

Page 12: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Where do goals come from?

Stakeholders’ wishes

Refinement of other goals

but goals can be extracted from bottom up

as well as top down approaches

Instrumenting elite athletes example

5 whys – see

http://www.olympic.org/Documents/Elite_Athle

tes/PROBLEM_SOLVING_5_WHYS.pdf 12

Page 13: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Scientific American

Order Processing

Problems: labour-intensive, slow, expensive, unreliable, unable to manage peak demands

Solution 1: Replace Tab runs with automated master file processing and updating system

Cashier’s cage

Work stations: sort, code,

punch, verify, batch

Tab runs

orders

cards

Non-orders

Incoming

mail

Master card file

New

master file Bills, labels,

notices

Invalid

inputsCITS4401 Software

Requirements and Design 13

Page 14: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Problems with Solution 1

Costs up

Reliability and quality of service down

More clerical staff required

Employee morale down

Employee turnover up

Why? Programming solution overlooked some key operational elements of the problem

To be continued …

CITS4401 Software

Requirements and Design 14

Page 15: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Solution 2 - first ask some

questions1. What objectives do we try to achieve?

2. What decisions do we control which affect those objectives?

3. What items dictate constraints on our range of choices?

4. What criteria should we use to evaluate candidate solutions?

5. What decision provides with the most satisfactory outcome with respect to those criteria?

CITS4401 Software

Requirements and Design 15

Page 16: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Solution 2 – some answers

1. What objectives do we try to achieve?

* Objectives: increase subscription speed and

reliability, reduce costs, staff level and turnover,

and reduce customer complaints

* Need to Analyse: primary sources of costs,

errors, delays, frustrations

2. What decisions do we control which affect

those objectives?

* Decisions we control: computers, PO box

number sorting into post boxesCITS4401 Software

Requirements and Design 16

Page 17: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Solution 2 – some answers3. What items dictate constraints on our range

of choices?

* Constraints: need to preserve audit trails

4. What criteria should we use to evaluate candidate solutions?

* Criteria: cost of processing, time required to respond, errors rates, personnel levels and turnover

CITS4401 Software

Requirements and Design 17

Page 18: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Solution 2 – some answers5. What decision provides with the most

satisfactory outcome with respect to those criteria?

* Best solution (according to these criteria)

Separate PO box numbers for different types of orders

Interactive terminal, immediate validation of entries

Service bureau processed tape cassettes of daily orders

CITS4401 Software

Requirements and Design 18

Page 19: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Interviewing

Page 20: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Interviewing

An interview is a systematic attempt to collect information from a person.

Interviewing success depends on ability to identify: work flows,

factors that influence the operations of systems, and

the elements (documents, procedures, policies, etc.) that make up systems.

Poorly performed interviews may: lead to systems which do not meet the needs of the

organization

affect the attitudes of the users and have a negative effect on the entire project effort

20

Page 21: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

5 Steps of the Interview Process

1. Preparing for the interview

2. Planning and scheduling the interview

3. Opening and closing the interview

4. Conducting the interview

5. Following up for clarification

CITS4401 Software

Requirements and Design 21

Page 22: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Observation

An Introduction to

Ethnography

Page 23: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Ethnography

An analyst immerses him/herself in the working environment where the system will be used

Observes the day-to-day work and notes the actual tasks in which participants are involved

This helps discover implicit system requirements that reflect the actual rather than formalprocesses in which people are involved

Observer is detached: end-user based, non-judgemental, so not appropriate for discovering organisational or domain requirements

CITS4401 Software

Requirements and Design 23

Page 24: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Vineyard Sensor Network

Case Study“… we looked at

people’s roles across

the entire value chain

of wine production,

with the belief that

each role represents

a different

relationship with the

vineyard and winery

and different

information and

interaction needs.”

CITS4401 Software

Requirements and Design 24

Page 25: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Joint Application

Design

Page 26: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Joint Application Design (JAD)

Technique for promoting co-operation,

understanding and teamwork among

buyers, users and developers

The process facilitates the creation of a

shared vision of what the system should be

Work done in single workshop session (1 week)

Developed at IBM in the late 1970s

CITS4401 Software

Requirements and Design 26

Page 27: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

JAD Activities

1. Project DefinitionJAD facilitator interviews managers and clients to determine objectives and scope.

Forms a team of users, clients and developers; all stakeholders are represented; participants are able to make binding decisions

2. ResearchJAD facilitator interviews present and future users, gathers domain info and describes work flows

Starts a list of issues to be addressed during the session

CITS4401 Software

Requirements and Design 27

Page 28: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

JAD Activities

3. PreparationCreate the Working Doc., a first draft of Final Doc.

Make an agenda for the Session

Make overheads, flip charts etc. to represent information gathered during 2. Research

4. SessionOver 3-5 days guide teams in creating the system specification

Teams define and agree on work flow, data elements, screens and reports

All decisions documented by a scribe in JAD forms

CITS4401 Software

Requirements and Design 28

Page 29: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

JAD Activities

5. Final Document JAD facilitator prepares the Final Document from

the draft and decisions made during

4.Session

Final document distributed to session

participants for review

Participants meet for 1-2 hour meeting to discuss

the reviews and finalise the document

CITS4401 Software

Requirements and Design 29

Page 30: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9

Figure 4-12. Activities of JAD (UML activity diagram). The heart of JAD is the Sessionactivity during which all stakeholders design and agree to a system specification. The activities prior to the Sessionmaximizes its efficiency. The production of the Final document ensures that the

decisions made during the Session are captured.

Management

definition guide

Project

definitionResearch

Preparation

Session

Session agendaPreliminary specification

Working document

Session script

Scribe forms

Final document

preparationFinal document

CITS4401 Software

Requirements and Design 30

Page 31: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Brainstorming

Page 32: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Brainstorming

A simple group technique for generating

ideas

Allows people to suggest and explore

ideas in an atmosphere free of criticism or

judgement

Works best with 4 to 10 people – 1 person

to get the session started, but not

constrain itCITS4401 Software

Requirements and Design 32

Page 33: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Brainstorming

Generation Phase: participants encouraged to offer as many ideas as possible without discussion of the merits of ideas

Consolidation Phase: ideas are discussed, revised and organised

Q: Which of the difficulties identified earlier will be addressed by brainstorming?

CITS4401 Software

Requirements and Design 33

Page 34: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Pulling this all

Together

Some Guidelines

Page 35: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Sommerville & Sawyer

Elicitation Guidelines

1. Assess system feasibility

2. Be sensitive to organisational and political considerations

3. Identify and consult system stakeholders

4. Record Requirements Sources

5. Define the system’s operating environment

6. Use business concerns to drive requirements elicitation

CITS4401 Software

Requirements and Design 35

Page 36: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

Elicitation Guidelines (cont)

7. Look for Domain Constraints

8. Record Requirements Rationale

9. Collect Requirements from Multiple Viewpoints

10. Prototype poorly understood requirements

11. Use scenarios to elicit requirements

12. Define operational processes

13. Reuse requirementsCITS4401 Software

Requirements and Design 36

Page 37: Requirements Elicitation - University of Western Australiateaching.csse.uwa.edu.au/units/CITS4401/lectures/1slidePerPage/lec... · What is requirements elicitation? ... requirements

References

R. S. Pressman, Software Engineering: A Practitioner’s

Approach, 6th ed., McGraw Hill 2005

Chapter 4 “Requirements Eliclitation”

B. Bruegge and A. H. Dutoit, Object-Oriented Software

Engineering – Using UML, Patterns, and Java, 3rd ed.,

Prentice Hall, 2010

Section 4.3.1 “Software Specification”

Section 7.2 “Requirements Elicitation and Analysis”

CITS4401 Software

Requirements and Design 37