An extension point describes a point in a use case where an extending use case may provide additional behavior.
Examples for a travel agent sales system might be the use case for paying for a ticket, which has an extension point in the specification of the payment. Extending use cases may then extend at this point to pay by cash, credit card etc.
Within the UML metamodel, Extension
Point
is a sub-class of
ModelElement
. A use case may display an extension
point compartment (see Section 17.3, “
Use Case
” for
details), in which extension points are shown with the
following syntax.
name
:
location.
The details tabs that are active for extension points are as follows.
ToDoItem
Standard tab.
Properties
See Section 17.4.2, “ Extension Point Property Toolbar ” and Section 17.4.3, “ Property Fields For Extension Point ” below.
Documentation
Standard tab. See Section 13.4, “ Documentation Tab ”.
Stereotype
Standard tab.
Extensionpoints do not have any stereotypes defined by default.
Tagged Values
Standard tab. In the UML metamodel,
ExtensionPoint
has the following standard
tagged values defined.
derived
(from the
superclass, ModelElement
).
Values true
, meaning the
extension point is redundant -it can be formally
derived from other elements, or
false
meaning it cannot.
![]() | Note |
---|---|
It is not clear how derived extension points could have any value in analysis. |
Go up
Navigate up to the use case which owns this extension point.
New Extension Point
This creates a new Extension Point below the selected extension point, navigating immediately to the properties tab of the newly created extension point.
New Stereotype
This creates a new Stereotype (see Section 16.6, “ Stereotype ”) for the selected extension point, navigating immediately to the properties tab for that stereotype.
Delete
This deletes the selected extension point from the model.
Name
Text box. The name of the extension point.
![]() | Tip |
---|---|
It is quite common to leave extension points unnamed in use case analysis, since they are always listed (within use cases and extend relationships) by their location. |
![]() | Note |
---|---|
ArgoUML does not enforce any naming convention for extension points. |
Location
Text box. A description of the location of this extension point within the owning use case.
![]() | Tip |
---|---|
Extension points are always listed (within use cases and extend relationships) by their location. Typically this will be the number/name of the paragraph in the specification. |
Base Use Case
Text box. Shows the base use case within which this extension point is defined. Button 1 Double Click will navigate to the use case.
Extend
Text box. Lists all use cases which extend the base use case through this extension point.
Where an extending use case exists, button 1 double click will navigate to that relationship.