Hi
I’m pulling from the IBM documentation of the UML standards.
Include Relationships are where a base use case “includes the functionality of another use case (the inclusion use case).”
Example situations:
- The base case includes/uses the inclusion use case (like a subprocess?)
- The behavior of the inclusion use case is common to two or more use cases
- The result of the behavior that the inclusion use case specifies (not the behavior itself) is important to the base use case
Extend Relationships can access and modify the attributes of the base use case; however, the base use case is not aware of the extension use case and, therefore, cannot access or modify the attributes and operations of the extension use case.”
Example situations:
- A part of the use case that is optional system behavior
- A subflow that is executed only under certain conditions
- A set of behavior segments that may be inserted in a base case
I think the key for how I think about the difference, is that the “include” relationship is aware of the subprocess functionality and depends on it to complete its work.The “extend” relationship is doing something separate from or in addition to the base use case.
Does that help? Is there something else that would be helpful in trying to explain the nuance here?
Reply
Create an account in the community
A Lucid account is required to interact with the community. You will be redirected to the Lucid app to create an account.
Log in to the community
A Lucid account is required to interact with the community. You will be redirected to the Lucid app to log in.
Login with SSO
Log in with LucidEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.