Chapter 8 Advanced Interaction Modeling
Advanced Interaction Modeling Use Case Relationships Procedural sequence Models Special constructs for Activity Models
Use Case Relationship 8.1.1. Include Relationship 8.1.2. Extend Relationship 8.1.3. Generalization 8.1.4. Combination of Use Case Relationships 8.1.5. Guidelines for Use Case Relationships
8.1.1. Include Relationships The include relationship incorporates one use case within the behavior sequence of another use case. Included use case is like a subroutine – it represents behavior that would otherwise have to be described repeatedly. The fragment is a meaningful unit of behavior for the actors, although this is not required. The included use case may or may not usable on its own.
8.1.2. Extend Relationships The Extend adds incremental behavior to a use case. It represents the frequent situation in which some initial capability is defined and later features are added modularity. Include and Extend both add behavior to base Use Case. trade stocks margin trading short sale «extend» limit order trade options
8.1.3. Generalization A parent use case represents a general behavior sequence. Child use cases specialize the parent by inserting additional steps or by refining steps. UML indicates generalization by an arrow with its tail on the child use case and triangular arrowhead on the parent use case, the same notation that is used for classes.
8.1.4 Combinations of Use Case Relationships trade stocks margin trading short sale «extend» limit order trade options make trade trade bonds secure session «include» validate password manage account Customer Securities exchange Stock Brokerage System «extend» «extend»
8.1.5. Guidelines for Use Case Relationships Use Case Generalization Do not use generalization simply to share behavior Use Case Inclusion Think of the included use case meaningful activity but not as an end in itself. Use Case Extension Use the Extend relationship when a system might be deployed in different configurations, some with the additional features and some without them. Include relationship vs. extend relationship.
8.2 Procedural Sequence Models 1) Sequence Diagrams with passive Objects 2) Sequence Diagrams with Transient Objects 3) Guidelines for Procedural Sequence Models
8.2.1 Sequence Diagrams with Passive Objects Sequence Diagram with passive Objects Activation or Focus of control Life Line passive
8.2.2. Sequence Diagram with Transient Objects Destroys the Object Sequence Diagram with Transient Object
8.2.3. Guidelines for Procedural Sequence Models Active vs. passive objects Advanced features Be selective in using these advanced features Only show implementation details for difficult or especially important sequence diagrams
8.3. Special Constructs for Activity Models 8.3.1. Sending and Receiving Signals 8.3.2. Swimlanes 8.3.3. Object Flows
8.3.1. Sending and Receiving Signals Activity diagram with Signals for a Workstation Turned On Convex Pentagon for sending signal Concave Pentagon for receiving signal
Activity diagram with Swimlanes for servicing an airplane Each column is a swimlane. Swimlanes Activity diagram with Swimlanes for servicing an airplane
Activity diagram with Object Flows It is helpful to see the relationships between an operation and the objects that are its argument values or results. Input and output arrow implies a control flow, therefore it is unnecessary to draw a control flow arrow where there is an object. Activity diagram with Object Flows
Thank You Data flow diagrams do not talk about control flow Object flows in Activity diagram unifies data flow and control flow Thank You