Prev | Next |
Extend
Description
An Extend connector is used to indicate that an element extends the behavior of another, mainly in Use Case models where one Use Case (optionally) extends the behavior of another Use Case. An extending Use Case often expresses alternative flows that are integrated with the behavior of the extended Use Case, at a specific point in the behavior flow identified within the element by an extension point. The extension point is represented by a text string such as 'on startup' or 'before connection is established'.
A Use Case can have more than one extension point, and can extend or be extended by more than one other Use Case. The precise relationship between the extending Use case, extended Use Case and the point at which the extension applies can be identified on the Extend relationship, as shown.
Identify Extension Point
Step |
Action |
See also |
---|---|---|
1 |
Right-click on the Extend connector and select the 'Advanced | Extension Point | Set Extension Point' option. The 'Element Usage' dialog displays, listing the Extension Points currently defined in the target Use Case element. |
|
2 |
Click on the Extension Point on which the source Use Case acts, and click on the . The dialog closes and the Extend connector shows a small circle at the mid-point, with a Notelink to a Note element that identifies the selected Extension Point. (The Note might not initially display close to the Extend connector - check the upper left corner of the diagram and drag the Note to the position you want it to occupy.) Use these same steps to change the extension point identified in the Note. |
Show/Hide Extension Point Note
Step |
Action |
See also |
---|---|---|
1 |
Right-click on the Extend connector and select the 'Advanced | Extension Point | Show Extension Point' option. If there are any Extension Points identified on the selected Extend connector, they are displayed as shown. |
|
2 |
Right-click on the Extend connector and deselect the 'Advanced | Extension Point | Show Extension Point' option. Any Extension Points identified on the selected Extend connector are hidden, as shown: |
Toolbox icon
Notes
- The Extend connector is not the same as the Extension connector, which is used in Profile diagrams to indicate that a Stereotype element extends a Metaclass or another Stereotype element; the two types of connector have different appearances
Learn more
- Use Case Diagram
- Use Case
- Use Case Extension Points
- Profile Toolbox (Extension connector)
OMG UML Specification:
The OMG Unified Modeling Language specification, (v2.5.1, pp.640-641) states:
An Extend is a relationship from an extending UseCase (the extension) to an extended UseCase (the extendedCase) that specifies how and when the behavior defined in the extending UseCase can be inserted into the behavior defined in the extended UseCase. The extension takes place at one or more specific extension points defined in the extended UseCase. Extend is intended to be used when there is some additional behavior that should be added, possibly conditionally, to the behavior defined in one or more UseCases. The extended UseCase is defined independently of the extending UseCase and is meaningful independently of the extending UseCase. On the other hand, the extending UseCase typically defines behavior that may not necessarily be meaningful by itself. Instead, the extending UseCase defines a set of modular behavior increments that augment an execution of the extended UseCase under specific conditions.
NOTE. The same extending UseCase can extend more than one UseCase. Furthermore, an extending UseCase may itself be extended.