You are on page 1of 3

Use Case Relationships

1. Include
OR Uses When to use When several Use Cases need to complete the same sequence of actions. Example: To be able to Manage Contents, or Manage Photos, actor must Login to the system. The Login should be a separate Use Case; other Use Cases includes Use Case Login. Advantages Re-usability: Document once and reuse Consistent behaviors across the system Notes A Use Case that includes other Use Cases is not complete if the Use Cases that are included cannot be executed. Notation Dashed arrow from the including Use Cases to the included Use Case, with the label include

2. Extend
When to use When an extending Use Case continues the behavior of a base Use Case. The extending Use Case adds more action sequences into the base Use Case's sequence. When the sequence of actions in one alternative flow of a Use Case is too complicated, it should be put in a separate Use Case extending the existing Use Case. How it works The flow executes the extending Use Case actions when 2 conditions are satisfied: 1. Appropriate Extension Point in base Use Case is reached 2. Extension condition is fulfilled When the extending Use Case activity sequence is completed, the base Use Case continues. Advantages Cohesion: Avoid over-complexity of one Use Case Notes The base Use Case is complete without the extending Use Case. The extending Use Case can only be executed from an Extension Point in base Use Case.

Notation Dashed arrow from the extending Use Cases to the extended Use Case, with the label extend

3. Generalization
OR Use Case Inheritance When to use The inheriting Use Case replaces a portion of actions, conditions and rules of the inherited Use Case. The actions to be replaced are rewritten; actions not rewritten are executed as in inherited Use Case. Advantages Re-usability of actions that do not require re-writing. Notation Solid line ending in a hollow triangle from the inheriting Use Cases to the inherited Use Case.

Illustration

Manage Websites and Manage Contents are abstract Use Cases Relationship between Manage Websites and Manage Enterprise Websites is Generalization: Manage Enterprise Websites inherits Manage Websites

Relationship between Manage Blogs and Manage Blog Contents is Include: Manage Blogs includes Manage Blog Contents Relationship between Login and Manage Forgotten Passwords is Extend: Manage Forgotten Passwords extends Login

You might also like