90 likes | 109 Views
Week 11. Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts. Chapter 30. Relating Use Case. Avoid agonizing over use cases. Use cases can be related, have common subtasks While useful - this can waste time! “Analysis paralysis” Write the use cases first
E N D
Week 11 Iteration 3 Relating Use Cases Domain Model Refinement SSD and Contracts
Chapter 30 Relating Use Case
Avoid agonizing over use cases • Use cases can be related, have common subtasks • While 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
Use Case Terminology • Concrete - performs an entire action • Abstract - use cases that cannot standalone - part of another use case • Base - Use cases that include other use cases
Include • Allows dividing use cases into sub use cases • Can decompose a complex use case • Asynchronous events • Under extensions * mark async actions • Use include to separate out details • Include is a “pointer” from the original use case to something new.
Extend • For baselined use cases • Used when the initial use cases cannot be changed. • Inherited from another project • Not worth going back to update and change • Baselined • Documents an earlier version • Does not have a pointer from the original use case.
Fig. 30.1 Process Sale and the new Process Rental are updated to include the various payment types.
Fig. 30.2 Process Sale does not have a “gift certificate” state.
Summary • Tweaks on use cases • Why 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