CHAPTER 8 ADVANCED INTERACTION MODELING ADVANCED INTERACTION MODELING

















- Slides: 17

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 «extend» margin trading trade options «extend» short sale limit order

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 Securities exchange Customer Stock Brokerage System secure session «include» make trade manage account «include» validate password trade options trade bonds «extend» margin trading trade stocks «extend» short sale «extend» limit order

8. 1. 5. GUIDELINES FOR USE CASE RELATIONSHIPS � Use Case Generalization � Do � Use not use generalization simply to share behavior 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 Activation or Focus of control passive Life Line Sequence Diagram with passive Objects

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 Convex Pentagon for sending signal Concave Pentagon for receiving signal Activity diagram with Signals for a Workstation Turned On

8. 3. 2. SWIMLANES � Each column is a swimlane. Swimlanes Activity diagram with Swimlanes for servicing an airplane

8. 3. 3. 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

� Data flow diagrams do not talk about control flow � Object flows in Activity diagram unifies data flow and control flow THANK YOU