+ All Categories
Home > Documents > Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang...

Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang...

Date post: 15-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
25
10/13/2009 | 1 2009 Fall Peng Liang Requirements Engineering Department of Computer Science / Peng Liang Rijksuniversiteit Groningen (RUG) http://www.cs.rug.nl/~liangp/teaching/courses/RE2009Fall/ Requirements Engineering Unit 6: Use case approach for requirements management 2009 Fall | 2 Peng Liang Requirements Engineering 10/13/2009 Course outline Requirements Engineering Requirements Engineering process Requirements elicitation Requirement analysis Requirement validation Requirements documentation Requirement negotiation Requirements management 2009 Fall | 3 Peng Liang Requirements Engineering 10/13/2009 Last Unit Requirements specification & validation This Unit Requirements management Next Unit Agile requirements 2009 Fall | 4 Peng Liang Requirements Engineering 10/13/2009 Contents From use cases to implementation From use cases to test cases Tracing requirements Managing requirements change
Transcript
Page 1: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

10/13/2009 | 1

2009 FallPeng Liang Requirements Engineering

› Department of Computer Science / Peng Liang

› Rijksuniversiteit Groningen (RUG)

› http://www.cs.rug.nl/~liangp/teaching/courses/RE2009Fall/

Requirements EngineeringUnit 6:Use case approach for requirements management

2009 Fall

| 2

Peng Liang Requirements Engineering

10/13/2009

Course outlineRequirements Engineering

Requirements Engineering process

Requirements elicitation

Requirement analysis

Requirement validation

Requirements documentationRequirement

negotiation Requirements management

2009 Fall

| 3

Peng Liang Requirements Engineering

10/13/2009

Last UnitRequirements specification & validation

This UnitRequirements management

Next UnitAgile requirements

2009 Fall

| 4

Peng Liang Requirements Engineering

10/13/2009

Contents

› From use cases to implementation

› From use cases to test cases

› Tracing requirements

› Managing requirements change

Page 2: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 5

Peng Liang Requirements Engineering

10/13/2009

From use cases to implementation

2009 Fall

| 6

Peng Liang Requirements Engineering

10/13/2009

Use case centric requirements management

design

2009 Fall

| 7

Peng Liang Requirements Engineering

10/13/2009

From use cases to implementation

› Simple requirements can be directly mapped to design and code

Display the progress bar

2009 Fall

| 8

Peng Liang Requirements Engineering

10/13/2009

From use cases to implementation

› BUT most of requirements are orthogonal with design and implementation• UC-01 : “edit field”

• FR-01: “user shall edit fields in accordance with the user privileges established by system administrator”

• NFR-01: “the system shall handle up to 100,000 users simultaneously”

Page 3: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 9

Peng Liang Requirements Engineering

10/13/2009

So how to map complex use case to implementation?

2009 Fall

| 10

Peng Liang Requirements Engineering

10/13/2009

Object orientation

traceability

UML diagram series

2009 Fall

| 11

Peng Liang Requirements Engineering

10/13/2009

Object orientation example

› FR-01: “user shall edit fields in accordance with the user privileges established by system administrator”

File Administration System

2009 Fall

| 12

Peng Liang Requirements Engineering

10/13/2009

From use case to interaction diagram

Page 4: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 13

Peng Liang Requirements Engineering

10/13/2009

Identify classes from interaction diagram

2009 Fall

| 14

Peng Liang Requirements Engineering

10/13/2009

Architectural views

Water Engineer

Electrical Engineer

Security engineer

Structural Engineers

2009 Fall

| 15

Peng Liang Requirements Engineering

10/13/2009

4+1 architectural view stakeholders

Class, subsystems

statechart deployment

component

Use case

› P. Kruchten. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software, 12(6):42-50, 1995.

2009 Fall

| 16

Peng Liang Requirements Engineering

10/13/2009

The “newer” 4+1 view and SOA (web service)

Structural Packaging/Implementation

Behavioral Infrastructure/Environment

Use cases, Test case/Validation Criteria

Service Contract(s)

Classes and Components (EJB)that physically representthe service

Workflows showing how the service fulfils a logical business-unit-of-work (BPEL). Also includes intra-service behavioral models

Service interface (WSDL) and usage semantics. Includes service

policy definitionsand metadata

Deployment on .Net and/or J2EE – emphasis on reliability,availability and security.

Page 5: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 17

Peng Liang Requirements Engineering

10/13/2009

Role of use case in software architecture

› Use cases• Drive the design

• Link all architectural view

• Check the implementation

• Project control (baseline/iteration)

2009 Fall

| 18

Peng Liang Requirements Engineering

10/13/2009

From use cases to test cases

2009 Fall

| 19

Peng Liang Requirements Engineering

10/13/2009

From use cases to test cases› Use case is a natural assets for testing process

• actor, interactions, steps

• black-box

› Use cases provide template for writing test cases

2009 Fall

| 20

Peng Liang Requirements Engineering

10/13/2009

Scenarios in a use case

› A use case execution wherein a user executes the use case in a specific way

Scenario-01: Basic flow, Alternate flow 1, Alternate flow 2

Page 6: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 21

Peng Liang Requirements Engineering

10/13/2009

Deriving test case from use case

› Step1: Identify the use case scenarios

› Step2: For each scenario, identify one or more test cases

› Step3: For each test case, identify the conditions that will cause it to execute

› Step4: Complete the test case by adding data values

2009 Fall

| 22

Peng Liang Requirements Engineering

10/13/2009

Step1: Identify the use case scenarios

Alternate flow 4Alternate flow 3Basic flowSN8

Alternate flow 4Basic flowSN7

Alternate flow 2Alternate flow 1Alternate flow 3Basic flowSN6

Alternate flow 1Alternate flow 3Basic flowSN5

Alternate flow 3Basic flowSN4

Alternate flow 2Alternate flow 1Basic flowSN3

Alternate flow 1Basic flowSN2

Basic flowSN1

Next AlternateNext AlternateAlternate FlowOriginating FlowSN

2009 Fall

| 23

Peng Liang Requirements Engineering

10/13/2009

Step2: Identify the test cases

Scenario 2TC3Scenario 2TC2Scenario 1TC1

Actual Result

Expected Result

Data Value N

Data Value 2

Data Value 1

Scenario/ Condition

Test Case ID

Scenario2: The user enters the desired lighting sequence for each day of the week up to a maximum of seven different daily settings. The system confirms acceptance of each daily entry with a beep.

Lighting Control System

TC2: correct number of daily settings is entered, Sequence saved with a beep

TC3: invalid number of daily setting is entered, Error message

2009 Fall

| 24

Peng Liang Requirements Engineering

10/13/2009

Step3: Identify the test conditionsspecific conditions that cause the test case to execute

Valid

Test conditions

Invalid N/A

Step4: Add data values to test case

TC2: 0-7 TC3: >8

Page 7: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 25

Peng Liang Requirements Engineering

10/13/2009

Tracing requirements to software artifacts

2009 Fall

| 26

Peng Liang Requirements Engineering

10/13/2009

Tracing requirements

› Benefit• high-assurance software process

• improving the software quality and reliability

› Shortage

• High cost for producing and maintaining traceability

(value vs. cost)

specification

architecture

design

implementation

testing

2009 Fall

| 27

Peng Liang Requirements Engineering

10/13/2009

Generalized traceability model based on UCbusiness goals

High level requirement

NFRs, Design

Constrains

2009 Fall

| 28

Peng Liang Requirements Engineering

10/13/2009

Tracing requirement to requirement

› Traceability Matrix: Tracing Features to Use cases

XXFeature mFeature n

XXFeature 2XFeature 1

Use Case kUse Case iUse Case 2Use Case 1

Use case 1 is a gratuitous use case

Feature n needs to be defined by some use case

Page 8: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 29

Peng Liang Requirements Engineering

10/13/2009

Tracing requirement to requirement

XGoal-04XXGoal-03

XXGoal-02XGoal-01

Feature kFeature i. . .Feature 1

XRequirement mXXXRequirement nXXRequirement 2XXRequirement 1

…NFR-0p. . .NFR-01System wide NFR

2009 Fall

| 30

Peng Liang Requirements Engineering

10/13/2009

Tracing requirements to implementation

2009 Fall

| 31

Peng Liang Requirements Engineering

10/13/2009

Tracing requirements to testing

› Tracing use cases to test cases• Scenario are thread of concrete operations

to get valuable result

• Test cases are set of input and output given to the system

2009 Fall

| 32

Peng Liang Requirements Engineering

10/13/2009

Tracing use cases to test case scenariosUC: Control

light

TS: verifying that a user is able to open the light

TC1: user can push the open light button TC2: pushing the button, the

electricity will be current

TC3: current electricity will turn on the light

Page 9: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 33

Peng Liang Requirements Engineering

10/13/2009

Using requirements traceability tools

› Traceability matrix generation and maintenance

› Conflict and completeness analysis

› For a small project (1-10 person.year, KLOC)

• Spreadsheet, database, REWiki

› For larger project (above 100 person.year, MLOC)

• Specialized requirements management tools

2009 Fall

| 34

Peng Liang Requirements Engineering

10/13/2009

REWiki

Traceability from stakeholders to requirements

2009 Fall

| 35

Peng Liang Requirements Engineering

10/13/2009

Telelogic DOORS

traceability

Architectural Design

System Requirements

User Requirements

2009 Fall

| 36

Peng Liang Requirements Engineering

10/13/2009

IBM Rational RequisitePro

http://www.ibm.com/developerworks/downloads/r/rrp/

Features

Traceability Matrix

Use cases

Page 10: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 37

Peng Liang Requirements Engineering

10/13/2009

Just right amount of traceability

› Identify the right traceability critical for your project• business goals vary frequently

• requirement to requirement traceability is critical

• Architecture will be used for a long time

• Requirement to architecture views traceability is important

2009 Fall

| 38

Peng Liang Requirements Engineering

10/13/2009

How to manage requirements change

2009 Fall

| 39

Peng Liang Requirements Engineering

10/13/2009

Managing requirements change

› Requirement change• External factors

• Business change (market, business strategy)

• Problem change (regulations, technology)

• Environment change (hardware and software)

• User change their mind

• Internal factors• Incomplete requirements elicitation

• Iterating from requirements to design causes new requirements (two peak model)

2009 Fall

| 40

Peng Liang Requirements Engineering

10/13/2009

Process for managing requirements change

› Baseline the requirements

› Establish a single channel to control change

› Change control system to capture changes

› Manage change hierarchically

Page 11: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 41

Peng Liang Requirements Engineering

10/13/2009

Step1: Baseline the requirements

› Baseline for the development team

› Compare new requirements against the baseline

› Version controlBusiness goals,

Features, Use cases, FRs, NFRs

V1

V2

V3

V4

2009 Fall

| 42

Peng Liang Requirements Engineering

10/13/2009

Step1: Baseline the requirements

› Requirements change rate of 1-4% each month during the course of development is appropriate

› Requirements change rate over 6% each month is a very serious risk to the project

Previous baseline (PB)

New baseline (NB)

Requirement Change rate = (NB-PB)/(PB)%

2009 Fall

| 43

Peng Liang Requirements Engineering

10/13/2009

Step2: Establish single channel to control change

› Who are responsible to make official decision about whether the change is going to be made

› For small projects• Product manager/Team leader

› For larger systems• CCB (change control board, key stakeholders)

2009 Fall

| 44

Peng Liang Requirements Engineering

10/13/2009

Step3: Use change control system to capture changes

› Change can take place at any level from requirements to coding and testing

“I'm trying to enter a new employee into my payroll system, but whenever I have an employee whose first name is more than 16 characters, the program crashes."

Is this a coding bug or new requirement (allow employee

names of up to 16 chars)?

End-user

Page 12: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 45

Peng Liang Requirements Engineering

10/13/2009

Step3: Change control system to capture changes

CCB

1

2

3

2009 Fall

| 46

Peng Liang Requirements Engineering

10/13/2009

Step4: Manage change hierarchically

› Top-down hierarchical management to make sure the traceability update

2009 Fall

| 47

Peng Liang Requirements Engineering

10/13/2009

Review of today

› Manage software artifacts using use case as the core artifacts

› Techniques for tracing and managing the requirements from a use case point of view

10/13/2009 | 48

2009 FallPeng Liang Requirements Engineering

Reading- V. Kirova, N. Kirby, D. Kothari and G. Childress. Effective requirements traceability: models, tools, and practices. Bell Labs Technical Journal, 12(4):143-157, 2008.

Page 13: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

10/13/2009 | 49

2009 FallPeng Liang Requirements Engineering

› Department of Computer Science / Peng Liang

› Rijksuniversiteit Groningen (RUG)

› http://www.cs.rug.nl/~liangp/teaching/courses/RE2009Fall/

Requirements EngineeringUnit 7:Agile requirements

2009 Fall

| 50

Peng Liang Requirements Engineering

10/13/2009

Course outlineRequirements Engineering

Requirements Engineering process

Requirement elicitation

Requirement analysis

Requirement validation

Requirement documentationRequirement

negotiation Requirement management

Agile?

2009 Fall

| 51

Peng Liang Requirements Engineering

10/13/2009

Last UnitRequirements management

This UnitAgile

requirements method

In the future2009 Fall

| 52

Peng Liang Requirements Engineering

10/13/2009

Contents

› Why agile RE?

› Guidelines of agile RE

Page 14: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 53

Peng Liang Requirements Engineering

10/13/2009

Agility

› A definition• “the ability to both create and respond to

change in order to profit in a changingbusiness environment”

Jim Highsmith, 2002

2009 Fall

| 54

Peng Liang Requirements Engineering

10/13/2009

Agile manifesto (values)

› Individuals and interactions over process and tools

› Working software over comprehensive documents

› Customer collaboration over contract negotiation

› Responding to a change over following a plan

Adaptation

Anticipation

over

2009 Fall

| 55

Peng Liang Requirements Engineering

10/13/2009

Agile software development

› Agile Modeling

› Agile Unified Process

› Extreme programming (XP)

› Feature Driven Development (FDD)

› Lean Development

› Scrum (Iterative incremental process)

2009 Fall

| 56

Peng Liang Requirements Engineering

10/13/2009

Why agile RE?

Changing world

Changing requirements

Page 15: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 57

Peng Liang Requirements Engineering

10/13/2009

Traditional RE vs. Agile RE

› Traditional RE• Up-front requirements

• Massive documentation

• “system should be clearly specified before its design and implementation can start”

› Agile RE

• Latest Responsible Moment decision making

• “put off decision (documentation) as long as you can till the latest responsible moment”

2009 Fall

| 58

Peng Liang Requirements Engineering

10/13/2009

Decide it, and do it

Any requirement decisions made ahead of the responsible moment will

be waste of effort !

But deciding the latest responsible time is a trick !

2009 Fall

| 59

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Customer Developer

Scene 1

“Hi, Developer, I want the toaster can automatically pop

up the toast when it’s done.”

2009 Fall

| 60

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Developer

hard thinking “Use the optical

sensor to detect the color of toast”

“Use the custom brownness detecting software to detect the toasting status”

“Use the spring to pop up the toast”

Scene 2

Page 16: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 61

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Developer Customer

“Hi, Dear Customer, is that what you want?”

Scene 3

2009 Fall

| 62

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Customer

Scene 4

Developer

“Hmm, it looks nice, but how much dose these

components cost?”

2009 Fall

| 63

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Scene 5

Developer Customer

“Hmm, about 50 Euro for the optical sensor, 50 Euro for

the software, and other cost, totally about 200 Euro?”

2009 Fall

| 64

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Customer Developer

Scene 5

“Oh, NO, 200 Euro is too expensive for a simple

toaster?”

Redesign it

Page 17: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 65

Peng Liang Requirements Engineering

10/13/2009

Example: Up-front vs. Agile requirements

Scene 6

Developer

“Oh, waste of my time. I should have designed the toaster after asking this

guy how much they really want to pay for the toaster, and how good quality the toaster should be. Then I can just

use a timer to pop up the toast”

2009 Fall

| 66

Peng Liang Requirements Engineering

10/13/2009

Latest Responsible Moment decision making

Waste of effort

Waste of effort

2009 Fall

| 67

Peng Liang Requirements Engineering

10/13/2009

Guidelines of agile RE

› Minimum Useful Feature Set (MUFS)

› Start with user stories

› Agile RE process

› Miracle of collaboration

2009 Fall

| 68

Peng Liang Requirements Engineering

10/13/2009

Minimum Useful Feature Set (MUFS)› Smallest amount of features that provides the most

new market value

Satisfy the most valued part first, and remaining market in

increments

Satisfy everyone in a market all at once by including all possible

features

Pairwise method

Page 18: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 69

Peng Liang Requirements Engineering

10/13/2009

iPhone example

Most valuable features

Polished functions

2009 Fall

| 70

Peng Liang Requirements Engineering

10/13/2009

Minimum Useful Feature Set (MUFS)› How to define a “feature” in agile requirements?

• The smallest set of functionality that has most value to the market

› Send/receive message 90%

› Calendar 84%

› Take photo 76%

› Manage photo 71%

› Watch video 69%

› Map navigation 65% …

2009 Fall

| 71

Peng Liang Requirements Engineering

10/13/2009

Capture features by user stories

user stories

2009 Fall

| 72

Peng Liang Requirements Engineering

10/13/2009

Start with user stories› What stories are

› Users and user roles

› Gathering stories

Page 19: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 73

Peng Liang Requirements Engineering

10/13/2009

What the stories are

› Same purpose as use case, but not the same• Written by users, not the requirements analyst

• 1~3 sentences in the plain English of the user

• Can be implemented in code up to 3 person.weeks

• Don’t using database to manage stories

2009 Fall

| 74

Peng Liang Requirements Engineering

10/13/2009

Ron Jeffries’s three Cs for user stories

Card

Conversation

Confirmation

* User stories are written on note cards.

* Cards can be annotated with time estimates.

* Details behind the story come out during conversations with users.

* Acceptance tests confirm the story was implemented correctly.

2009 Fall

| 75

Peng Liang Requirements Engineering

10/13/2009

Samples from a travel website

As a user, I want to

reserve a hotel room.As a vacation planner,

I want to see the

photos of the hotels.

As a user, I want to cancel a reservation.

As a frequent flyer, I want to rebook a past trip, so that I save time booking trips.

2009 Fall

| 76

Peng Liang Requirements Engineering

10/13/2009

Adding barely enough details users care

› As a user, I can cancel a reservation• How far ahead must the reservation be cancelled?

• Dose the user get a full or partial refund?

• Is the cancellation condition the same for all users?

Page 20: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 77

Peng Liang Requirements Engineering

10/13/2009

Details added in smaller sub-stories

As a user, I want to cancel a reservation.

As a premium user, I can cancel a reservation up to the last minute, and get full refund.

As a normal user, I can cancel a reservation up to 24 hours in advance, and get 90% refund.

2009 Fall

| 78

Peng Liang Requirements Engineering

10/13/2009

Details as conditions of satisfaction

› Acceptance tests by users (or product owner)

As a user, I want to cancel a reservation.

* Verify that a premium user can cancel the reservation the last day without a fee.

* Verify that a normal user is charged 10% for a cancellation before the reserved date.

2009 Fall

| 79

Peng Liang Requirements Engineering

10/13/2009

Users and user roles

› Users’ stories

Who are the users?

2009 Fall

| 80

Peng Liang Requirements Engineering

10/13/2009

User role modeling steps

› Brainstorming an initial set of user roles

› Organize the initial set (similar, related roles)

› Consolidate roles

› Refine roles

Page 21: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 81

Peng Liang Requirements Engineering

10/13/2009

User roles brainstorming (high school website)

Brainstorm the user roles who

will interact with this website?

2009 Fall

| 82

Peng Liang Requirements Engineering

10/13/2009

Organize/consolidate the initial set of roles

› Any arrangement rules all participants agree

graduate

geographic searcher

alumni

current student

potential student

job seeker

job poster

recruiter

resume reviewer

sys admin

recruiter

2009 Fall

| 83

Peng Liang Requirements Engineering

10/13/2009

Advantages of using roles

Users become tangible

Incorporate roles into stories

Start thinking of software solving the needs of real people.

“As a <user role>, I want to <goal> so that <benefit>.”

job seeker

Tom

As a job seeker, I want to find job information, so that I can apply for it.

2009 Fall

| 84

Peng Liang Requirements Engineering

10/13/2009

Gathering stories

› Techniques for gathering stories• Questionnaires

• Observation

• User interviews

• Story-writing workshops (similar to JAD, using template)

Refer to the Unit 3: Requirements elicitation

“As a <user role>, I want to <goal> so that <benefit>.”

Page 22: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 85

Peng Liang Requirements Engineering

10/13/2009

Agile requirements engineering process

User stories

collaboration

Agile Requirements Best Practices

2009 Fall

| 86

Peng Liang Requirements Engineering

10/13/2009

Miracle of collaboration

› Exploration of customer involvement• On-site customer

• Off-site customer

Experience it with a very simple experiment

2009 Fall

| 87

Peng Liang Requirements Engineering

10/13/2009

Metaphors

Release the product to market and see what happens

Presenter compares the “implemented product” to “product vision”

The “programmer” implement the product

Hand-drawn copy of the product vision by “developer”

The “customer” knows the product vision

Diagram that only “customer” is allowed to look at

A start-up company trying to bring a new product to market

Team with “customer” and “developer”

MetaphorReality

2009 Fall

| 88

Peng Liang Requirements Engineering

10/13/2009

A metaphor of software product

Straight-line

Curved-line

Diamond

Page 23: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 89

Peng Liang Requirements Engineering

10/13/2009

Off-site customer

Customer developer

A start-up company

SRSProduct5 minutes

5 minutes

2009 Fall

| 90

Peng Liang Requirements Engineering

10/13/2009

On-site customer

A start-up company

Customer developer Product

Verbal communication

10 minutes

2009 Fall

| 91

Peng Liang Requirements Engineering

10/13/2009

Compare the experiment results

“on-site customer”

vs.

“off-site customer”

2009 Fall

| 92

Peng Liang Requirements Engineering

10/13/2009

Is Agile RE a replacement to traditional RE?

› Agile is just a way of life (many other ways)• more iteration, user interaction, latest decisions

• appropriate for constant changing business environment

› The traditional RE techniques still apply• elicitation, validation, management

› K. Orr. Agile Requirements: opportunity or Oxymoron. IEEE Software, 21(3):71-73, 2004.

Page 24: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

2009 Fall

| 93

Peng Liang Requirements Engineering

10/13/2009

In the future of RE

› Adapt the requirement techniques into practical context

› Most important

• RE is mostly a social skill (communication, coordination, negotiation)

• Business value first

2009 Fall

| 94

Peng Liang Requirements Engineering

10/13/2009

Review of today

› The techniques to make your RE process agile to embrace the changing/uncertain world

› How to use user stories to effectively document agile requirements

10/13/2009 | 95

2009 FallPeng Liang Requirements Engineering

Reading- K. Orr. Agile requirements opportunity or oxymoron. IEEE Software, 21(3):71-73, 2004.- D. Leffingwell. Agile requirements methods. Rational Edge, 8(7):11-23, 2002.

10/13/2009 | 96

2009 FallPeng Liang Requirements Engineering

Course assignment - (1) course project meeting submissions, see deadlines

http://www.cs.rug.nl/search/Teaching/RE2009FallDeadlines

Submission method(1) should be submitted in the meeting agenda and minutes (finishing the remaining requirement tasks that you didn’t perform) of Week 42

Page 25: Requirements Engineering - University of Groningen · 2011-02-22 · 2009 Fall | 17 Peng Liang Requirements Engineering 10/13/2009 Role of use case in software architecture ›Use

10/13/2009 | 97

2009 FallPeng Liang Requirements Engineering

Course assignment - (2) presentation of group project, 20-10-2009, 11:15-14:00, V 5161.0253

http://www.cs.rug.nl/search/Teaching/RE2009FallDeadlines

2009 Fall

| 98

Peng Liang Requirements Engineering

10/13/2009

Presentation of group project

› The content each group needs to present• Scope of the system (with reasons why your group makes such

scope)

• Stakeholders of the system (with how you identify these stakeholders)

• Selected requirements (e.g., business goals, scenarios, FRs, NFRs, etc.) and their rationale

• Forward traceability from stakeholders to requirements

• The problems identified by your peer reviewer

• The feedbacks (improvements) to these problems

2009 Fall

| 99

Peng Liang Requirements Engineering

10/13/2009

Presentation rules

› Each group can choose 1~n (n is the number of group members) presenters to give the presentation

› 15-20 minutes for the presentation

› 5 minutes for questions by your customer group (other groups can also post questions with extra grading bonus)• Group 1 (developer) vs. Group 2 (customer)

• Group 2 (developer) vs. Group 3 (customer)

• Group 3 (developer) vs. Group 1 (customer)

• Group 4 (developer) vs. Group 5 (customer)

• Group 5 (developer) vs. Group 6 (customer)

• Group 6 (developer) vs. Group 4 (customer)

2009 Fall

| 100

Peng Liang Requirements Engineering

10/13/2009

Submissions

› Each group should record the questions/commentsposed to your presentation, and your feedbacks to these questions using the template provided in the course website

› Submit your group presentation slides with comments & feedbacks before the deadline (week 43)


Recommended