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.
secure session
«include»
validate password
make trade
«include»
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»
«extend»
«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.
make trade
trade bonds
trade stocks
trade options
8.1.4 COMBINATIONS OF USE CASE
RELATIONSHIPS
Securities
exchange
Customer
Stock Brokerage System
secure session
«include»
«include»
«include»
make trade
manage account
«include»
validate password
trade options
trade bonds
trade stocks
«extend»
«extend»
margin trading
«extend»
«extend»
short sale
«extend»
limit order
8.1.5. GUIDELINES FOR USE CASE
RELATIONSHIPS
Use Case Generalization
Use Case Inclusion
Think of the included use case meaningful activity but
not as an end in itself.
Use Case Extension
Do not use generalization simply to share behavior
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
:Transaction
:CustomerTable
compute
commission ( )
service level (customer)
:RateTable
Activation or
Focus of control
passive
level
calculate commission (level, transaction)
commission
commission
Sequence Diagram with passive Objects
Life
Line
8.2.2. SEQUENCE DIAGRAM WITH TRANSIENT
OBJECTS
objectA
objectB
operationE (c, d)
createC (arg)
objectC
operationE (m, n)
resultT
{execute order}
resultV
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
execute boot sequence
accept user login
Convex Pentagon
for sending signal
request validation
wait for response
network
receive confirmation
ready
Concave Pentagon
for receiving signal
Activity diagram with Signals for a Workstation Turned On
8.3.2. SWIMLANES
Each column is a swimlane.
Flight attendant
Ground crew
Catering
clean trash
add fuel
load food
and drinks
Swimlanes
Swimlanes
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.
:Airplane
[at gate]
leave gate
:Airplane
[at gate]
:Airplane
[taxiing]
take off
:Airplane
[in flight]
park at gate
:Airplane
[taxiing]
landing
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
© Copyright 2026 Paperzz