17
Goal Directed Analysis with Use Cases Presented by Chin-Yi Tsai [email protected] http://140.134.26.25/~cyt Journal of Object Technology William N. Robinson and Greg Elofson

Goal Directed Analysis with Use Cases

Embed Size (px)

DESCRIPTION

Goal Directed Analysis with Use Cases. Journal of Object Technology William N. Robinson and Greg Elofson. Presented by Chin-Yi Tsai [email protected] http://140.134.26.25/~cyt. Outline. Modeling with Goals A Goal-Oriented Method Defining System Goals and Requirements - PowerPoint PPT Presentation

Citation preview

Page 1: Goal Directed Analysis with Use Cases

Goal Directed Analysis with Use Cases

Presented by Chin-Yi [email protected]

http://140.134.26.25/~cyt

Journal of Object TechnologyWilliam N. Robinson and Greg Elofson

Page 2: Goal Directed Analysis with Use Cases

2

Outline• Modeling with Goals

• A Goal-Oriented Method

• Defining System Goals and Requirements

• Deriving Use-Cases

• Elevator Requirements

• Discussion

Page 3: Goal Directed Analysis with Use Cases

3

Concept

• Use cases are touted as means to manage the complexity of object-oriented software specification.The UML Use Case relationship

• It is difficult to determine the scope of a single use case, as well as define its elaborations.

HoweverHowever

Define a goal-directed modeling approach based upon functional definition for domain property, goal, requirement, and specification.Helps manage specification complexity.

Page 4: Goal Directed Analysis with Use Cases

4

Modeling with Goals• Software specification by use cases has grown with

the popularity of object-oriented software engineering.

• Four foundational definition to the description of software systemsA goal is a desired property of the environmentA domain property is a property that exists naturally in

the environmentA requirement is a special kind of goal that constrains the

software behaviorA specification is special kind of requirement that only

reference system properties.

Page 5: Goal Directed Analysis with Use Cases

5

Goal-Oriented Modeling

• Goals are used in a variety of ways to analyze software systems.

• Van LamsweerdeGoals derive the elaboration of requirements to supp

ort them.Requirement “implement” goals much the same way

as programs implement design specification

Page 6: Goal Directed Analysis with Use Cases

6

Goal-Oriented Modeling (cont’d)• Object-oriented analysis

Define use case to satisfy goals Goal has different abstraction level

• Five opportunities for goals Attach non-functional requirements to goal Track the project by goals Get subtle requirements from goal failure Use goal with responsibility-based design Match user goals to operational concept

• Goal can assist in choosing parameters from the object model

• Sometimes goals are called features A service the system provides to fulfill one or more stakeholder

needs

System goalSystem goal

User goalUser goal

subfunctionsubfunction

Page 7: Goal Directed Analysis with Use Cases

7

A Goal-Oriented Method

• Define a method for deriving UML specifications from goals.

• The method is synthesis of common UML methodsRUPGoal-oriented requirements analysis methodKAOS

Page 8: Goal Directed Analysis with Use Cases

8

Goal-Directed Analysis with Use CasesGoal-Directed Analysis with Use CasesMethod

• Elicit the system context• Define the system goals• Derive requirements• Derive use cases• Derive UML models

• Elicitation is common to all system analysis methods

• Defining goals and deriving requirement is common to goal-oriented method

• Defining use case at varied abstraction levels and deriving their associated models is common to object-oriented methods.

Page 9: Goal Directed Analysis with Use Cases

9

Benefit (adding goals to UML method of analysis)

• Abstraction Goals provide high-level, functional and non-functional, understanda

ble descriptions of what the system shall do, without the complexity of describing how the system works.

• Direction Goals provide analysis with a checklisk of activities to complete

• Traceability Bridge linking stakeholder request to system specification

• Analysis Provide a means to analyze the system prior to its construction

Page 10: Goal Directed Analysis with Use Cases

10

Defining System Goals and Requirements

• Analysts define desired properties of the environment, or goal, based on stakeholder need.

• Analysts refine goals by adding details, which typically constrain the software

requirements can be derived from goal by refinement

goalgoal

RefineAdd detail

RefineAdd detail

Page 11: Goal Directed Analysis with Use Cases

11

Defining System Goals and Requirements (cont’d)

• Analysts structure goals according to how they relate to each other. Provide a hierarchical structuring of goals

• To define a goal hierarchy One initial goal Two questions : how? and why?

Page 12: Goal Directed Analysis with Use Cases

12

Refinement Patterns

• BasicDisjunction (or)Conjunction (and)

• Milestone

• Case-based

Page 13: Goal Directed Analysis with Use Cases

13

When to stop asking How?

• Ideally, requirements are a minimal set of description that constrain the system behavior as a means to bring about desired properties of the environment.Only necessary

Page 14: Goal Directed Analysis with Use Cases

14

Deriving Use-Cases• In UML, a use case describes a sequence of action

a system performs that yield a result of value to a particular actor.Difference level of abstraction

• Three common use case typeOrganizational use casesTask use casesLow-level use case

• Consider use cases based on goal statement as abstract, and use cases based on requirements or specifications are concrete

Page 15: Goal Directed Analysis with Use Cases

15

Deriving Use-Cases (cont’d)

• Analysts derive use cases from the goal hierarchy. Consider each node: If it has sub-goals, then an abstract use case can be

defined with the sub-goals as use case steps

If is has sub-requirements, then a concrete use case can be defined with the sub-requirements as use case step

If it is a leaf requirement, then a low-level use case can be defined using specification statements

Page 16: Goal Directed Analysis with Use Cases

16

Elevator Requirements

• Three high-level goalsThe elevator shall minimize its cost of operationThe elevator shall minimize its movementThe elevator shall move passengers between floors

Page 17: Goal Directed Analysis with Use Cases

17

Discussion

• Analysts are quick to grasp the functional definitions

• Analysts find it natural to generate goal hierarchies using How and Why questions

• Analysts can quickly generate good use case from the goal hierarchy