用例图类图中有哪些关系

Posted 「已注销」

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用例图类图中有哪些关系相关的知识,希望对你有一定的参考价值。

用例图中的关系有关联(Association)、泛化(Generalization)、包含(Include)、扩展(Extend)

类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)。

关联、泛化、实现、聚合、组合、依赖在我的博客UML的四种关系如需浏览请猛戳红色字体中已经详细阐述过了,这里着重讲一下包含和扩展。


(1)包含关系(Include)

定义 : 当两个或多个用例中共用一组相同的动作时,可以将相同的动作提取出来作为一个单独的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以包含关系中的基用例必须和子用例一起使用才够完整,执行基用例子用例也必然被执行。

用例图中使用带箭头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例

包含实例:



众所周知,只要执行维护数据库操作必然要用到增删改查四大功能,图示就表示维护数据库动作中包含增、删、改、查(箭头指向被包含方)。


(2)扩展关系(Extend):

定义:是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。扩展的基用例中存在一个扩展点,只有扩展点被激活时,子用例才会被执行。 

用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例
例如:





查询学生信息上机记录和查询学生充值记录模块可以不需要子用例的参与而独自完成。只有点击导出为excel按钮时才会执行相应的导出动作。

小结:

包含和扩展的区别:包含关系中,子用例是基用例不可或缺的一部分,只要基用例被执行,子用例一定会执行;扩展关系中,子用例是基用例单纯的功能扩展,即使没有子用例的参与,基用例的功能一样能完成。


以上是关于用例图类图中有哪些关系的主要内容,如果未能解决你的问题,请参考以下文章

EA-用例图、类图、顺序图

UML(统一建模语言)

UML用例图、类图

UML实践详细经典教程----用例图顺序图状态图类图包图协作图

ML实践详细经典教程----用例图顺序图状态图类图包图协作图

UML实践---用例图顺序图状态图类图包图协作图