What is the difference between 'includes', 'extends' and 'uses'?

情到浓时终转凉″ 提交于 2019-12-05 10:07:56

问题


In a use case diagram what is the difference between <<includes>>, <<extends>> and <<uses>>? Are <<includes>> and <<uses>> are the same thing?


回答1:


includes and uses are the same. From http://www.agilemodeling.com/essays/useCaseReuse.htm above

An include dependency, formerly known as a uses relationship in UML v1.2 and earlier




回答2:


Nice writeup here: http://www.agilemodeling.com/essays/useCaseReuse.htm

Summary from that article:

  • An extending use case continues the behavior of a base use case.
  • An include dependency is a generalization relationship denoting the inclusion of the behavior described by another use case. The best way to think of an include dependency is that it is the invocation of a use case by another one.
  • The inheriting use case would completely replace one or more of the courses of action of the inherited use case.



回答3:


The include relationsionship is usually used in use cases to signify that one use case uses the other. In contrast the use relationship is used in UML to show dependencies between models, that one model requires the other in order to function.

Here are the quotes from IBM's documentation.

Include relationships
In UML modeling, an include relationship is a relationship in which one use case (the base use case) includes the functionality of another use case (the inclusion use case). The include relationship supports the reuse of functionality in a use case model.

Usage relationships
In UML modeling, a usage relationship is a type of dependency relationship in which one model element (the client) requires another model element (the supplier) for full implementation or operation.

To recap (as I understand it) includes is a dependency in the model while use is a dependency in the functionality.




回答4:


"includes" and "uses" indicates the mandatory use case where as "extends" indicates the optional use case.



来源:https://stackoverflow.com/questions/3953393/what-is-the-difference-between-includes-extends-and-uses

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!