Goaloriented approaches Colin Potts Georgia Tech Colin Potts

  • Slides: 14
Download presentation
Goal-oriented approaches Colin Potts Georgia Tech © Colin Potts C 2 -1

Goal-oriented approaches Colin Potts Georgia Tech © Colin Potts C 2 -1

Goals & requirements l Systems exist to meet goals or objectives » Goals are

Goals & requirements l 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 © Colin Potts C 2 -2

Example of goal properties SATISFY patron’s info. requests inconsistent MAINTAIN library budget MAKE books

Example of goal properties SATISFY patron’s info. requests inconsistent MAINTAIN library budget MAKE books available to public inconsistent idealized none allocated to Library IS © Colin Potts high priority C 2 -3

Goals, requirements and fitness for use Goals reqts. that don’t quite meet goals Sys

Goals, requirements and fitness for use Goals reqts. that don’t quite meet goals Sys © Colin Potts reqts. that meet goals Sys C 2 -4

Pre-requirements traceability l Pre-reqts. traceability shows where reqt. traces from Goals MAKE blah MAINTAIN

Pre-requirements traceability l Pre-reqts. traceability shows where reqt. traces from Goals MAKE blah MAINTAIN user awareness of blah Reqts. 1. 1 The system shall blah, blah. . . 1. 2 If the co-worker is blah, the system shall inform the user. . . 1. 2. 1. . . thus, goals provide rationale for reqts. © Colin Potts C 2 -5

Types of goals l Achieve some desired state of affairs » MAKE <something true>

Types of goals l Achieve some desired state of affairs » MAKE <something true> » KNOW <some information> » SATISFY <some desired condition> l Maintain some desired state of affairs » KEEP <some good condition> » AVOID <some bad condition> l Improve along some trajectory » IMPROVE <some property>, etc. © Colin Potts C 2 -6

Expansion of goals MAKE meeting scheduled KNOW meeting constraints depends on © Colin Potts

Expansion of goals MAKE meeting scheduled KNOW meeting constraints depends on © Colin Potts KNOW meeting participants’ KNOW all preferences feasible times KNOW meeting participants’ identities C 2 -7

Allocation of responsibilities to system & environment MAKE meeting scheduled KNOW meeting constraints Envt

Allocation of responsibilities to system & environment MAKE meeting scheduled KNOW meeting constraints Envt System KNOW meeting participants’ KNOW all preferences feasible times KNOW meeting participants’ identities © Colin Potts C 2 -8

Realization of goals as requirements KNOW meeting constraints allocations underlined 1. When an initiator

Realization of goals as requirements KNOW meeting constraints allocations underlined 1. When an initiator calls a meeting, he or she will define a set of meeting constraints. 1. 1. The meeting scheduler shall display a form into which constraints may be entered. 1. 2. If any constraints are unspecified, the meeting scheduler shall insert default values. 1. 3. Meeting constraints include the following: - earliest meeting time - latest meeting time - names of invited participants © Colin Potts C 2 -9

Identifying obstacles to goals l What can go wrong to thwart a goal? »

Identifying obstacles to goals l 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 l Is it worth worrying about? » If so, add secondary requirements to defend against it or mitigate its effects © Colin Potts C 2 -10

Retracting idealized assumptions l Idealized goal & refinement KNOW schedule preferences data entry requirements

Retracting idealized assumptions l Idealized goal & refinement KNOW schedule preferences data entry requirements © Colin Potts l Realistic goal KNOW schedule preferences data entry requirements change notification reqts. data modification requirements C 2 -11

Team exercise: Goal refinement l As a class » Define some high-level goals for

Team exercise: Goal refinement l 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 l In teams of 2 -3 » Identify obstacles that could thwart that goal » Write a set of primary and secondary reqts. for the goal l As a class » Discuss insights achieved about the system © Colin Potts C 2 -12

Methods for goal-oriented requirements definition l Make process concrete » Define, expand, realize and

Methods for goal-oriented requirements definition l Make process concrete » Define, expand, realize and “de-idealize” goals by considering concrete scenarios l 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 © Colin Potts C 2 -13

Goal-oriented approaches: how to find out more l Goal-oriented methods are just emerging from

Goal-oriented approaches: how to find out more l 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) © Colin Potts C 2 -14