整理UML类图、包图知识

近期UML视频已经快要接近尾声了,但是面对即将要画的各种图有一种说不清道不明的感觉,不知道从何下手。此刻,自己真的成了画图行动上的矮子。下面就让我们来回顾一下UML的重要知识。

首先,我们要知道UML建模工具就是用图来模拟现实世界的物体,其中包括他们本身的特性,以及物体与物体之间如何进行消息传递的描述。

用例图:他是伴随着软件开发进行的,在进行软件需求设计的时候,作为软件的开发人员不但需要留下文档记录需求,而且还要通过用例图来描述需求。例如学生需要查询自己的英语自主学习记录。那么用例图如下:


图中的小人为动作的执行者,椭圆表示一个用例,带箭头的直线表示两者之间的关联。其实说到底用例图就是用来在软件需求分析阶段用来定义软件功能用的。

类图、对象图、包图:

类是具有相同属性和方法的对象的集合。例如图中的人这个类


在软件的分析阶段,类图主要是用来描述概念类,就拿我们的机房收费系统来说吧,在这个系统设计之前,我们通过需求分析得知将来软件的使用者大致上分为三类人:一般用户、操作员、管理员。此外这些外部人员需要多次交流使用的还有学生信息系统、操作员系统、管理员结帐系统。那么我们就可以通过类图来描述他们三类人和他们多次使用的系统的属性和方法。当然人员与系统之间要相互传递信息,这个世界才会多姿多彩热闹非凡。那怎样描述他们的消息传递呢?这就需要通过类间关系才能满足。类间关系主要分为:普通关联、聚合、组合、依赖、泛化、实现。接下来这些关系都是在什么样的场景下使用呢?


依赖:强调着两者的使用与被使用的关系,这种关系通常具有偶然性、临时性、非常弱的,但是使用的范围很广。关系用虚线箭头表示,箭头方向指向被依赖方。例如小明回家需要坐公交车。图如下所示:


关联:这种关系比依赖更强,不存在偶然性、关系也不是临时的,例如我和小明是好朋友。他强调一种结构关系。如图所示:

此外在关联里面还有两种特殊的关联关系一个是组合还有一个是聚合。他们的相同点就是都强调整体与部分的关系。


聚合:建议和组合比较着来看,他强调类能够独立存在。例如,人和小明组成了一个团队,但是我和小明都能够独立存在。人和小明都是这个团队的一份子。类图如下所示:


组合:比较得出,要满足原子性,不可分割性。就比如人由大脑、四肢构成,分开就不是人这个体了。

泛化:他强调的是一种父类与子类之间的继承关系,用空心三角直线表示。箭头方向指向父类。例如鸟和生物之间就是泛化关系。

个人疑点:

实现:   他主要强调类与接口之间的关系,但是个人又觉得他本身也是继承,还有点疑问,希望有人指点.

包图:它就是UML里面用来分组用的规则,例如对用例或者是类进行分组,这样就可以将复杂的问题简化,让结构更加清晰。

以上的图还没有模拟现实世界物体相互通信的动态过程,例如从时间的角度,又或者是参与者的角度分析物体的交互过程。具体情况如何,且看下期博客!



评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值