© Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

14
© Colin Potts C2- Goal-oriented approaches Colin Potts Georgia Tech

Transcript of © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

Page 1: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-1

Goal-oriented approaches

Colin Potts

Georgia Tech

Page 2: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-2

Goals & requirements

Systems exist to meet goals or objectives» Goals are not requirements

– may be ambiguous and inconsistent

– not absolute (some take priority)

– idealized rather than implementable

– not allocated to product

» Goals are not business processes– processes are implementations of goals

Page 3: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-3

Example of goal properties

SATISFY patron’sinfo. requests

MAINTAIN librarybudget

MAKE booksavailable to public

inconsistent

inconsistent

idealized

highpriority

none allocatedto Library IS

Page 4: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-4

Goals, requirements and fitness for use

Goals

Sys Sys

reqts. thatmeet goals

reqts. that don’t quite meet goals

Page 5: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-5

Pre-requirements traceability

Pre-reqts. traceability shows where reqt. traces from

thus, goals provide rationale for reqts.

1.1 The system shall blah, blah...1.2 If the co-worker is blah, blah, thesystem shall inform the user ...1.2.1...

Reqts.

MAKE blah blah

MAINTAIN userawareness of blah

Goals

Page 6: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-6

Types of goals

Achieve some desired state of affairs» MAKE <something true>» KNOW <some information>» SATISFY <some desired condition>

Maintain some desired state of affairs» KEEP <some good condition>» AVOID <some bad condition>

Improve along some trajectory» IMPROVE <some property>, etc.

Page 7: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-7

Expansion of goals

MAKE meeting scheduled

KNOW meetingconstraints

KNOW meetingparticipants’preferences

KNOW meetingparticipants’ identities

KNOW allfeasibletimesdepends

on

Page 8: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-8

Allocation of responsibilities to system

& environment

MAKE meeting scheduled

KNOW meetingconstraints

KNOW meetingparticipants’preferences

KNOW meetingparticipants’ identities

KNOW allfeasibletimes

System

Envt

Page 9: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-9

Realization of goals as requirements

KNOW meeting constraints

1. When an initiator calls a meeting, he or she willdefine a set of meeting constraints.

1.1. The meeting scheduler shall display aform into which constraints may be entered.1.2. If any constraints are unspecified, themeeting scheduler shall insert default values.1.3. Meeting constraints include the following:

- earliest meeting time- latest meeting time- names of invited participants

allocationsunderlined

Page 10: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-10

Identifying obstacles to goals

What can go wrong to thwart a goal?» The actor responsible for MAKE goals may fail

– mechanical failure or human error

» The infrastructure responsible for KNOW goals may garble or misremember relevant information

– communications errors– human error (forgetting, confusion)

» A SATISFY goal may be intrinsically unsatisfiable– resource contention

Is it worth worrying about?» If so, add secondary requirements to defend against it or

mitigate its effects

Page 11: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-11

Retracting idealized assumptions

Idealized goal & refinement

Realistic goal

KNOW schedulepreferences

KNOW schedulepreferences

data entryrequirements

data entryrequirements

datamodificationrequirements

changenotification

reqts.

Page 12: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-12

Team exercise: Goal refinement

As a class» Define some high-level goals for the system described in the

example requirements» Expand them into more detailed goals» Choose one intermediate-level goal

In teams of 2-3» Identify obstacles that could thwart that goal» Write a set of primary and secondary reqts. for the goal

As a class» Discuss insights achieved about the system

Page 13: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-13

Methods for goal-oriented requirements definition

Make process concrete» Define, expand, realize and “de-idealize”

goals by considering concrete scenarios Use goals as a benchmark of

consensus» If people can’t agree on goals, they won’t

agree on product features– Modified JAD or CRC meetings useful

Page 14: © Colin Potts C2-1 Goal-oriented approaches Colin Potts Georgia Tech.

© Colin Potts C2-14

Goal-oriented approaches: how to find out more

Goal-oriented methods are just emerging from the research community» No textbooks or handbooks» Experience in telephony, electronic

commerce, software reuse, BPR» Several recent action-research papers

from GA Tech & Univ. Namur (Belgium)