Analysis Model
Standard techniques are used for realizing the use cases in the Commonality patterns. The relationships between the use cases are also realized using the normal techniques.
IncludeThe relationship is usually realized with an association navigable from a class in the realization of the base use case to a class in the realization of the inclusion use case.
ExtendThe standard way of realizing an extend relationship is the same as for an include relationship, that is, with an association from a class in the realization of the base use case to a class in the realization of the extension use case. Note that this association has the opposite direction compared to the extend relationship. However, if more special kinds of relationships are available for use between classes, such as extend (Jacobson et al. 1993), the direction of the relationship can be the same as for the extend relationship between the use cases. A third alternative is to use the Observer design pattern (Gamma et al. 1995) where a class in the realization of the base use case plays the role of the Subject and a class in the realization of the extension use case plays the role of Observer.
GeneralizationThe realization of the child use case will most likely include classes being specializations of classes in the realization of the parent use case. Of course, additional classes and associations may also appear in the realization of the child use case.
If the commonality is expressed in a separate section in the description of the use case, it can be realized either as a separate operation or as a separate class (or classes) that is to be called when the sub-sequence is to be performed.