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 16.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 16.4.2, “Extension Point Property Toolbar” and Section 16.4.3, “Property Fields For Extension Point” below.
Documentation
Standard tab. See Section 12.5, “Documentation Tab”.
Style
Standard tab
![]() | Note |
---|---|
The |
Source
Standard tab. It would not be usual to provide any code for an extension point, since it is external to the system.
![]() | Note |
---|---|
The source tab content can be changed, but this has no effect. |
Constraints
Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
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.
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. |
Stereotype
Drop down selector. ArgoUML does not provide any stereotypes for extension points.
![]() | Tip |
---|---|
Stereotyping does not have great value on an extension point. |
Navigate Stereotype
icon. If a
stereotype has been selected, this will navigate to the
stereotype property panel (see Section 15.4, “Stereotype”).
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.