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!
Include
Include is a relationship that may exist between two use cases, a base use case and an addition use case. It means a base use case may insert behavior from an addition use case. The relationship is said to be unconditional in the sense that if the insertion occurs; all the behavior of the addition use case is unconditionally inserted.
Explanation
The include relationship is used to factor out behavior or parts of a use case into an addition use case which can then be included in the base use case. The include relationship is not conditional. If a step is reached in the base use case where the addition use case is "called" it is unconditionally included. The main purpose and indeed the history of the include relationship is to limit the amount of repeating or redundant text.
Important Points
A base use case may have any number of include relationships.
The behavior of the same addition use case may be inserted at many points in the same base use case. The same base use case could have many include relationships with distinct addition use cases.
An addition use case may itself have include relationships.
An addition use case may itself have include relationships with other use cases in which case it is acting as the base use case. There is no restriction to the level of nesting.
The arrow is always directed towards the addition use case.
The arrow in the include relationship is always directed towards the addition use case. The include relationship is similar to a dependency relationship, thus the base use case is a client and the addition use case is a supplier.
The include relationship is not conditional. If a step is reached in the base use case where the addition use case is "called" it is unconditionally included.
Conditional behavior can be specified in the base use case, so that the include will only function if a certain condition is met in the base use case. This can be confused with an extension point - the important difference is that with the include relationship the conditions are specified in the body of the use case whereas with the extend relationship they are specified in a separate section of the use case.
Related Entries
ExtendSimilar Usage, Graphically Similar, Confused with
The extend relationship is related to the include relationship because both relationships can insert behavior into a base use case. The important difference is that with the include relationship the conditions are specified in the body of the use case where upon if they are reached the addition use case behavior is inserted unconditionally. Whereas 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. 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.