您的位置:首页 > 其它

用例图、类图中有哪些关系

2015-08-29 10:42 302 查看
用例图中的关系有关联(Association)、泛化(Generalization)、包含(Include)、扩展(Extend)。

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

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

(1)包含关系(Include):

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

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

包含实例:



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

(2)扩展关系(Extend):

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

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

例如:



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

小结:

包含和扩展的区别:包含关系中,子用例是基用例不可或缺的一部分,只要基用例被执行,子用例一定会执行;扩展关系中,子用例是基用例单纯的功能扩展,即使没有子用例的参与,基用例的功能一样能完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: