Include is a relationship between two use cases. Where A includes B, it means B described behavior that is to be included in the description of the behavior of A at some point (defined internally by A).
Examples for a travel agent sales system might be the use case for booking travel, which includes use cases for booking flights and taking payment.
Within the UML metamodel, Include
is a
sub-class of Relationship
.
An include relationship is represented as a dotted link
with an open arrow head and a label
«include»
(see
Figure 17.1, “
Typical model elements on a use case diagram.
”).
The details tabs that are active for include relationships are as follows.
![]() | Note |
---|---|
There is no source tab, since there is no source code that could be generated for an include relationship. |
ToDoItem
Standard tab.
Properties
See Section 17.10.2, “ Include Property Toolbar ” and Section 17.10.3, “ Property Fields For Include ” below.
Documentation
Standard tab. See Section 13.4, “ Documentation Tab ”.
Presentation
Standard tab
![]() | Note |
---|---|
The values in the "bounds" field of the include relationships are not editable, since they are determined by the properties of the endpoints of the line. |
Tagged Values
Standard tab. In the UML metamodel,
Include
has the following standard tagged
values defined.
derived
(from the
superclass, ModelElement
).
Values true
, meaning the include
relationship is redundant -it can be formally
derived from other elements, or
false
meaning it cannot.
![]() | Note |
---|---|
Derived include relationships could have their value in analysis to introduce useful names or concepts. |
Go up
Navigate up through the package structure of the model. For a include this will be the package containing the include.
New Stereotype
This creates a new Stereotype (see Section 16.6, “ Stereotype ”) for the selected include relationship, navigating immediately to the properties tab for that stereotype.
Delete
This deletes the selected include relationship from the model.
![]() | Warning |
---|---|
This is a deletion from the model
not just the diagram. To delete
a include from the diagram, but keep it within the
model, use the main menu |
Name
Text box. The name of the include relationship.
![]() | Tip |
---|---|
It is quite common to leave include relationships unnamed in use case analysis. |
![]() | Note |
---|---|
ArgoUML does not enforce any naming convention for include relationships. |
Namespace
Text box. Records the namespace for the include. This is the package hierarchy.
Button 1 click on the entry will navigate to the package defining this namespace (or the model for the top level namespace).
Base Use Case
Drop down selector. Records the use case that is doing the including in this include relationship. Button 1 click on this entry will give a drop down menu of all available use cases which may be selected by button 1 click.
Included Use Case
Drop down selector. Records the use case that is being included by this include relationship. Button 1 click on this entry will give a drop down menu of all available use cases (and an empty entry) which may be selected by button 1 click.