V. Goal Diagrams
Goals and AND/OR TrreessSoftgoalsBuilding Goal DiagramsHow and Why Questions
Presentation: N.C. Danh ©2004 John Mylopoulos
1
Goals
▪Goals represent business objectives for the new system and its operating environment.
▪For example,
✔“Fulfill every book request” (Library organization)
✔“Produce 1M MacG5s within a year” (Apple), or,
✔“Serve more passengers” (TTC)
▪ An AND-goal is satisfied if all of its subgoals are; an OR-goal is satisfied if at least one its subgoals is.
▪ An alternative (solution) to a root goal G consists of a set of leaf goals which together satisfy G.
▪ There are 24 alternatives for the goal of the previous slide. 4
Softgoals
▪These are goals that are used as criteria for comparing alternative solutions for other goals.
E.g.,Higher profits[ProductionUnit3], Better service, Satisfied customer, User-friendly[Interface, 2]
Portable[Module4]
5
6
Goal Relationships
▪We will use more than AND- and OR-relationships: ✔+ -- one goal contributes positively towards the fulfillment of another goal; ✔- -- one goal contributes negatively towards the fulfillment of another goal; ✔++ (--) -- one goal subsumes/negates another, i.e., if the first goal is fulfilled, the second is fulfilled/denied;
▪With these enhancements, we can build goal models which could be useful for strategic business analysis or requirements analysis.
7
Alternatives for Satisfying Goals
▪An alternative (solution) to the fulfillment of a goal G consists of one or more leaf goals which together fulfill the root goal. ▪A goal model defines a space of alternatives for the fulfillment of its root goal.
▪An alternative A1 is better than A2 in fulfilling goal G with respect to softgoals G1, G2,… if A1’s net contributions to G1, G2,… (e.g., positive minus negative contributions) is greater than that of A2.
▪ In general, goals and softgoals can be contradictory. Given a set of root goals and softgoals, there may not be an optimal solution [Simon68]. Hence the search for good-enough solutions.
8
Building Goal Diagrams
▪ Start from one or more goals and/or softgoals G1, G2,… , Gn which need to be fulfilled together.
▪ Analyze each, looking for ways to fulfill it through AND- or OR decompositions, or through other refinements which contribute positively (How questions).
▪ Continue this process until there is enough positive support to fulfill all root nodes. At this point you have n disconnected goal trees T(G1), T(G2),…,T(Gn).
▪ Identify positive and negative inter-tree influences, i.e., positive or negative relationships between goals g, g’ which belong to different goal trees.
▪ Repeat the analysis to see if root goals are fulfilled; if so, done, else continue the analysis.
9
Lifecycle Models
10
11
Library Goals
12
Public Transit Goals
13
Why Questions
14
Lifecycle Models
15