A comparison of the generalization, inclusion, and extension relationships of use cases
Source: Internet
Author: User
In general, you can use is a and has a to determine which relationship to use. The generalization and extension relationships represent the is a relationship between use cases, and the relationship represents the has a relationship between use cases. Extension relationships and generalization relationships are more of a concept of extension points, that is, an extended use case can only be extended at the extension point of the base use case.
In an extended relationship, the basic use case is a very formed use case, that is, a use case that can exist independently. When a basic use case executes, it can be executed, or the extension part can not be executed.
In the inclusion relationship, the base use case may or may not be well formed. When you execute the basic use cases, you will certainly execute the include use Cases (inclusion) section.
If you need to repeat two or more use cases, consider using the inclusion relationship to implement a reference to another use case for a basic use case.
When dealing with a variant of normal behavior and only occasionally describing it, you can consider using only generalization relationships.
When describing a variant of normal behavior and want to take more control, you can set the extension point in the basic use case and use the extended relationship.
Extended relationships are a more difficult concept to understand in UML, which can be helpful if you think of extended relationships as generalization relationships with more rule constraints. In fact, before the UML Specification 1.1 version, the extended relationship is the version of the generalization relationship, and after the 1.3 version, the extension relationship is represented by the version of the dependency relationship.
Here is a summary of the differences and relationships between the concepts of UML (relationship), Association (association), generalization (generalization), dependency (dependency).
Relationships are specific semantic links between model elements. Relationships can be divided into associations, generalizations, dependencies, etc., and another relationship is implementation.
An association is a relationship between two or more classifier, which describes the connection between instances of a class element. The class element described here is a modeling element, and common classes include classes (Class), participants (actor), Components (component), data type (s), interfaces (Inferface), nodes (node), signals (signal), subsystems ( subsystem), use cases, and so on, where the class is the most common class element.
A generalization relationship represents a relationship between two of the classes. In these two classes, one is relatively generic and one is relatively special. An instance of a relatively special class element can appear anywhere where an instance of a relatively general class element can appear, that is, the relatively special class element is consistent with the relative general class element in structure and behavior, but the relatively special class element contains more information.
A dependency represents a relationship between two elements and a set of elements called the target element, and the dependent element is called the source element. When the target element changes, the source element also changes accordingly. Both the include and the extended relationships are dependencies.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.