UML Diagrams Zicomi Systems publishes some UML example diagrams online from the world famous UML dictionary. more...
Version 2.5 Released Zicomi Systems is delighted to announce that version 2.5 of Zicomi Mentor is released. With support for UML 2.0 and all thirteen UML diagrams more...
Zicomi Systems' Director speaks about the UML at Objects by Design - an informative interview more...
Partner Programme Zicom Systems is delighted to announce a new world wide partner programme, become a partner today. more...
OMG Member Zicom Systems is made a member of the OMG!
Extend
Extend is a relationship that may exist between two use cases, the base use case and the extension use case. It is said to be conditional in the sense that a set of extension points defines conditions under which the insertion will occur. The extension points are defined in a separate section of the use case.
Explanation
The extend relationship is used to extend the behavior of a use case, it is just one of three commonly used devices to achieve this purpose. The other two being the include relationship and use case generalization. The direction of the arrow in the extend relationship is significant; as it indicates important aspects of the way this relationship works. The base use case has no visibility of the attributes of the extension use case, the extension use case, is however able to view and modify the attributes of the base use case. The extend relationship is conditional and the extensions will not proceed unless the condition evaluates to true. The conditions are defined in the extend relationship. The sequence of extension points, that define the location in the base use case where the extensions will be added, are all defined in the base use case.
An extension point is related to a extend because it defines a point in the extended use case where the augmented behavior at the tail end of the extend relationship will be inserted. An extension point appears in a separate compartment and defines a point in the extended use case where the behavior of the use case is augmented. The additional behavior is defined in another use case which is related to the extended use case by an extend relationship.
IncludeSimilar Usage, Graphically Similar, Confused with
The include relationship is related to the extend relationship because both relationships can insert behavior into a base use case. The important difference is that with the extend relationship the extension points are specified in a separate section of the base use case. The behavior will only be inserted if the condition is met, making the behavior conditional. Whereas with the include relationship the conditions are specified in the body of the use case, where upon during a running instance of the use case, if they are reached the addition use case behavior is inserted unconditionally. An important graphic difference is that, while they are both represented by a dashed line with an open arrowhead, include is drawn with the arrow directed away from the base use case, whereas with extend the arrow is directed toward the base use case.