17.4.  Extension Point

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.

17.4.1.  Extension Point Details Tabs

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]Note

    It is not clear how derived extension points could have any value in analysis.

17.4.2.  Extension Point Property Toolbar

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.

17.4.3.  Property Fields For Extension Point

Name

Text box. The name of the extension point.

[Tip]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]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]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.