UML图包含元素分析
用例图UML知识小总结
定义:用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图,用例图是系统的蓝图
UML用例图包含六个元素:角色(Actor)、用例UseCase)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。
(1)角色(Actor)
系统中的用例交互的一些实体,在实际情况中,角色可以是人,也可以是其他系统或者硬件设备。
(2)用例(UseCase)
系统的功能,它是系统某个功能的所有执行动作的集合。
(3)子系统(Subsystem)
用来展示系统的一部分功能,这部分功能联系紧密。
(4)关系
用例图中涉及的关系有:关联、泛化、包含、扩展。
关联(Association):是角色与用例的连接,表达此角色可以初始化此用例。
【箭头指向】:指向消息接收方
泛化(generalization):即继承关系,子用例和父用例相似,但表现出更特别的行为。
【箭头指向】:指向父用例
包含关系(Include):是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分以便基用例复用.当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例。
【箭头指向】:指向分解出来的功能用例
扩展关系(Extend):extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被**时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。
【箭头指向】:指向基础用例1) 关联, association, 表示为一条实线[+单向或双向开口箭头], 如图客户和订单直接属于关联关系
2) 包含, include, 表示为一条虚线+单向的开口箭头+书名号包含的include字样, 如图订单和付款属于包含关系(订单包含付款, 付款被订单包含)
3) 扩展, extern, 表示为一条虚线+单向的开口箭头+书名号包含的extern字样, 如图订单和请求商品目录属于扩展关系(请求商品目录是订单的扩展)
4) 泛化, generalization, 表示为一条实线+单向空心箭头, 如图使用现金支付是付款的实现
5) 依赖, dependency, 表示为一条虚线+单向或双向空心箭头
5、关系区分
包含(include)、扩展(extend)、泛化(Inheritance) 的区别:
条件性:
泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;
直接性:
泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者间接服务。
对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。
对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关
参考资料:点击打开链接