Question

Are the relationships «use» and «include» same in use case diagrams?

Was it helpful?

Solution

  • «use» is NOT a standard element of use case diagram. But UML standard allows using foreign diagrams elements. So, you can formally use «use» element that normally belongs to class diagram elements and is a sort of Dependency. Its meaning is:

A Usage is a Dependency in which one NamedElement requires another NamedElement (or set of NamedElements) for its full implementation or operation. The Usage does not specify how the client uses the supplier other than the fact that the supplier is used by the definition or implementation of the client.

(Citation taken from UML 2.5 standard)

  • «include»

"is a DirectedRelationship between two UseCases, indicating that the behavior of the included UseCase (the addition) is inserted into the behavior of the including UseCase (the includingCase) It is also a kind of NamedElement so that it can have a name in the context of its owning UseCase. The including UseCase may depend on the changes produced by executing the included UseCase. The included UseCase must be available for the behavior of the including UseCase to be completely described.".

(Citation taken from UML 2.5 standard)

So, both these two sorts of connections are very close in meaning, but are not the same technically.

  • Usage is applied to NamedElements and Including to Behaviours.
  • Incliding is a bit more powerful element - it can be NamedElement itself.
  • Their main difference IMHO is that Usage can describe implementation.
  • Also, Usage can connect an Including to some other NamedElement. Including cannot connect Usages. That difference is radical enough, but not very important, because of rare need of such connection.

Formally, you can use them both in Use case, but the real reason for it can happen rarely. The most realistic case is when you use some classes in Use Case diagram (it is allowed, too), and use «use» between them.

OTHER TIPS

Of courses not, Usage («uses») and Include («include») are different meaning. Usually, we do not use so much the Usage relationship on use case diagrams which means that an element requires another In the other hand Include are used a lot and means that the source use case includes (always) the targeted use case.

«use» is obsolete in UML 2.0 (maybe even earlier), you should stick with «include» and «extend».

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top