iteration 3 relating use cases domain model refinement ssd and contracts

9
Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Upload: jeffery-fields

Post on 21-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Iteration 3•Relating Use Cases•Domain Model Refinement•SSD and Contracts

Page 2: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Relating Use Case

Page 3: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Avoid agonizing over use casesUse cases can be related, have common

subtasksWhile useful - this can waste time!

“Analysis paralysis”

Write the use cases first Find obvious relations as you go, when they

make sense and help

Don’t agonize over getting it perfect.“A good plan now is worth a perfect plan

in the indefinite future.” - George Patton

Page 4: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Use Case Terminology

Concrete - performs an entire actionAbstract - use cases that cannot standalone -

part of another use caseBase - Use cases that include other use cases

Page 5: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Include

Allows dividing use cases into sub use casesCan decompose a complex use case Asynchronous events

Under extensions * mark async actionsUse include to separate out details

Include is a “pointer” from the original use case to something new.

Page 6: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Extend

For baselined use cases Used when the initial use cases cannot be

changed.Inherited from another projectNot worth going back to update and changeBaselinedDocuments an earlier versionDoes not have a pointer from the original use

case.

Page 7: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Fig. 30.1NextGen POS

Cashier

Customer

Handle CashPayment

Process Rental

Process Sale

Handle CheckPayment

Handle Returns

«include» «include»

«include»

«include» «include»«include»

«actor»Accounting

System

«actor»Credit

AuthorizationService

Manage Users

...

UML notation: the base use case points to the included use case

Handle CreditPayment

Process Sale and the new Process Rental are updated to include the various payment types.

Page 8: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Fig. 30.2

Process Sale

Extension Points:Payment

VIP Customer

«extend»Payment, if Customer

presents a gift certificate

UML notation: 1. The extending use case points to the base use case.

2. The condition and extension point can be shown on the line.

Handle Gift Certificate Payment

Process Sale does not have a “gift certificate” state.

Page 9: Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts

Summary

Tweaks on use casesWhy are we coming back to use cases?

When you learn a new process, you have to jump in somewhere along the cycle.

Not clear what to do until you have a view of the entire cycle.

Once the overall structure is in place, come back and fill in some of the details