uml - What's is the difference between include and extend in use case diagram? - Stack Overflow
Extend dependencies between use cases; Include dependencies between use An extend dependency, formerly called an extends relationship in UML v UML defines three stereotypes of association between Use Cases, «include», «include» relationship but give little useful guidance on the «extend» and the. This use case diagram relationships tutorial will cover all you need to know about relationships in use cases. Learn about include, extend.
See discussion of the definition of abstract use cases. Include relationship between use cases is shown by a dashed arrow with an open arrowhead from the including base use case to the included common part use case. Checkout use case includes several use cases - Scan Item, Calculate Total and Tax, and Payment Large and complex Checkout use case has several use cases extracted, each smaller use case describing some logical unit of behavior.
Note, that including Checkout use case becomes incomplete by itself and requires included use cases to be complete. Use Case Relationships Compared This site received many requests related to which use case relationship should be used in which situation. I combined several key points from UML 2.
UML Use Case "extend" and "include" relationships
Also, take a look at related discussion in the next paragraph. An include relationship points from the CheckOrderStatus use case to the LogIn use case to indicate that the CheckOrderStatus use case always includes the behaviors in the LogIn use case. The "extend" relationship is explained as follows: You are developing an e-commerce system in which you have a base use case called Place Online Order that has an extending use case called Specify Shipping Instructions.
An extend relationship points from the Specify Shipping Instructions use case to the Place Online Order use case to indicate that the behaviors in the Specify Shipping Instructions use case are optional and only occur in certain circumstances.
So the key point in the extends relationship is "optional"! It adds further functionality to the base use case which may be restricted by constraints. The following diagram shows this: The registrar helps the student to enroll in seminars via the use case UC 17 Enroll in Seminar.
The student pays the initial fee.
UML Use Case Include
The system prints a receipt. The registrar hands the student the receipt.
The use case ends. Include Dependencies Between Use Cases A second way to indicate potential reuse within use-case models exists in the form of include dependencies. An include dependency, formerly known as a uses relationship in UML v1.
The best way to think of an include dependency is that it is the invocation of a use case by another one. The blue test in Figure 2 presents an example of how you would indicate where the use case is included in the logic of the including use case.
Similar to calling a function or invoking an operation within source code, isn't it?UML Tutorial 1.1 - Basics of Use Case Scenarios
You use include dependencies whenever one use case needs the behavior of another. Introducing a new use case that encapsulates similar logic that occurs in several use cases is quite common. For example, you may discover several use cases need the behavior to search for and then update information about students, indicating the potential need for an "Update Student Record" use case included by the other use cases.
Reuse in Use-Case Models: >, >, and Inheritance
Why should you bother maintaining an "Includes" and an "Extends" list in your use cases? The answer is simple: Yes, it would be nice if everyone has access to the use-case diagram because it also contains this information, but the reality is that sometimes you use different tools to document each part of your model. For example, your diagrams could be drawn using a drawing package and your use cases documented in a word processor.
Some of your project stakeholders may have access to the word processor you are using, but not the drawing package. The main disadvantage of this approach is you need to maintain these two lists in parallel with the diagram, the danger being they may become unsynchronized. Inheritance Between Use Cases Use cases can inherit from other use cases, offering a third opportunity to indicate potential reuse.
Figure 1 depicts an example of this, showing that "Enroll Family Member in University" inherits from the "Enroll In University" use case.