Use Case Relationships
Use Case Relationships
Generalization of an Actor
Generalization of an actor means that one actor can inherit the role of the
other actor. The descendant inherits all the use cases of the ancestor. The
descendant has one or more use cases that are specific to that role. Let’s
expand the previous use case diagram to show the generalization of
an actor.
A generalized actor in an use case diagram
Although extending use case is optional most of the time it is not a must. An
extending use case can have non-optional behavior as well. This mostly
happens when your modeling complex behaviors.
For example, in an accounting system, one use case might be “Add Account
Ledger Entry”. This might have extending use cases “Add Tax Ledger Entry”
and “Add Payment Ledger Entry”. These are not optional but depend on the
account ledger entry. Also, they have their own specific behavior to be
modeled as a separate use case.
• The base use case is incomplete without the included use case.
• The included use case is mandatory and not optional.
Includes is usually used to model common behavior
For example, in the previous banking example, there might be a use case
called “Pay Bills”. This can be generalized to “Pay by Credit Card”, “Pay by
Bank Balance” etc.