用例关系(包含、扩展、泛化) UML类关系(依赖、关联、聚合、组合、泛化)
用例关系
用例图使用户 与开发人员交流的一种重要的方式,是对用户需求的一种描述。开发人员从用户的角度整体上理解系统的功能。
用例
“注册学生信息”和“充值”与用例“用户登录”之间的关系就是包含关系。b和a本质不一样,就是做b之前一定要做a,那a和b就是包含。
如图
扩展用例
只有在基本用例满足某种条件的时候才会执行。包含关系中基本用例的基本流执行时,包含用例一定会执行。b和a本质是一样东西,但是b比a大。销户:因为销户必需先进行账户结算,所以这里用include停机提醒:有两个可选项,短信提醒和邮件提醒,所以用extend.
泛化
会员注册时可以采用电话和邮件两种方式。用例“会员注册”和“电话注册”、“邮件注册”之间是泛化关系。本质都是一样的,都是注册,而且一样大。
UML类关系
类
在UML中,我们用分成三栏的长方形表示。第一栏是名称,第二栏是属性,第三栏是方法。
继承
唐老鸭属于鸭的一种,或者说是鸭的细化划分,而鸭属于鸟类,鸟类属于动物,这里无论表达成“是”还是属于,就是这样一个直观的关系。用实线一端带空心三角箭头表示。箭头指向父类。
依赖
凡是动物,生存都需要水和空气,这种必须的需求,我们称之为依赖关系。用虚线一端带箭头表示,箭头指向依赖物。
聚合、组合
这两个关系我们放在一起,因为她们看似十分的相似,但是却有着本质的区别。很多大雁聚合在一起变成雁群,也可以说雁群里有雁,所以是整体和个体之间的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期。即雁群可以不存在了,但是孤雁仍然存在。university与student. 一只鸟由两个翅膀组合而成,即一只鸟有两个翅膀。虽然组合和聚合我们都说“有”什么,但是这个“有”是不同的,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如这只鸟死了,自然这两个翅膀也就不存在了。university与department
关联
企鹅和气候有关联. student与course。
实现
接口与类的关系。