Use Case Diagram's Include and Extend Demystified

Learn the ins and outs of include and extend relationships in use case diagrams. This guide provides clear examples and explanations to help you master these concepts and effectively model the functionality of a system.

Include and extend are relationships that can be used to show how one use case is related to another. However, if you're new to use case diagrams, the "include" and "extend" relationships can be confusing. In this article, we'll demystify these concepts and provide clear examples of how they can be used in use case diagrams.

Include

The include relationship is used to show that a use case includes the functionality of another use case. This means that the use case being included is a part of the main use case and cannot be used on its own.

For example, let's say we have a use case called "Create Account" which represents the process of creating a new account on a website. This use case might include the use case "Validate Email," which represents the process of verifying that the email address entered by the user is valid. In this case, the "Validate Email" use case would be included in the "Create Account" use case.

Use case include example
Use case include example

Extend

The extend relationship is used to show that a use case can be extended by another use case. This means that the main use case can be enhanced by adding the functionality of the other use case. However, the extended use case is not required for the main use case to be complete.

For example, let's say we have a use case called "Place Order" which represents the process of placing an order on an online store. This use case might be extended by the use case "Apply Discount," which represents the process of applying a discount to the order. In this case, the "Apply Discount" use case would extend the "Place Order" use case.

We have also a use case called "Update Delivery Address" which represents the process of updating the delivery address for an existing order. This use case can be extended by the "Place Order" use case, as the customer may want to update their delivery address while placing a new order. However, "Update Delivery Address" can also be used directly by the customer actor, as they may need to update their delivery address at any time before or after placing an order. In this case, the "Update Delivery Address" use case extends the "Place Order" use case, but can also be used independently by the customer actor.

Use case extend example
Use case extend example

New Comment

Comment