最近刚好有空,遂决议对应 UML 常用的一些图进行收拾,供自己以及需求的人查阅。 UML 分为静态模型与动态模型。静态模型描述一个体系的静态特征,固定的框架结构。包含用例图、类图、目标图、组件图、布置图;动态模型包含时序图、协作图、状况图、活动图。本文将首要对用例图、类图、时序图、状况图的运用进行了扼要介绍。
一、静态建模
1 用例图(use case )
1.1 效果
展示体系的中心功用及与其交互的用户。体系可所以整个体系,也可所以某个部分,但用户一定是在该体系外。
1.2 要素
用例(use case):也便是一个相对独立的功用。
参加者(actor):与用例存在交互联络的外部实体。
联络:包含参加者与用例间的联络,参加者之间的联络,以及用例间的联络。
1.3 语法
用例 用椭圆表明,中心写上功用名。
参加者 一般是一个小人的形状。
联络 用带箭头的直线表明,箭头表明信息传输方向,假如不关注信息的流向,也可省掉箭头。
1.4 举例
如图是某视频软件播映体系的用例图,我们能从中获取的最首要信息是什么呢?显然是普通用户能运用播映、暂停、选集、查历史记录的功用,而会员用户还能运用投屏功用。
2 类图
类图是我们运用较多且相当有用的一种图。
2.1 效果
展示多个类的特性,以及类之间的协作与交互,用来对体系的静态结构进行建模。
2.2 要素
类:包含类名、特点和办法三部分。
接口:这里指的是接口类,不可被实例化,只可被完成。
联络:类之间的联络首要有以下几种:
- 关联 事物之间的一种基本联络,如教师和学生间有教学联络,职工和公司间是雇佣联络。
- 组成联络 包含组合金额集合,前者部分与全体的联络更严密。(1)集合 表明多个同类型的部分构成了全体,如森林是树木的集合,蚁群是蚂蚁的集合。(2)组合 同一事物全体与部分的严密组成联络。如人组合了眼睛,眼睛组合了眼球。
- 依靠 这个联络不好描述,如农人运用锄头种田,鱼依靠水存活,程序员通过chatgpt 干活。
- 泛化 类图里便是承继。
- 完成 完成某个接口。
需求理解,类之间的联络并不总是那么明确,比如关联和依靠,有时间就不太好断定。个人认为,也没必要过于较真究竟是哪种联络,在面向目标写法中,首要便是承继和组合,类图能传递出该用哪种就足够了。
2.3 语法
类 用一块矩形表明。从上到下依次是类名、特点和办法。特点后可加上特点的类型,办法的括号中也可写上参数,但个人比较喜爱下图这种最简略的写法。特点和办法名前需加上符号说明访问权限:
- + 表明公有
- – 表明私有
-
# 表明维护
接口 用一个圆圈表明
联络 联络的表明直接看下面的图吧,当然,部分图有不同的画法,不再赘述。
2.4 举例
下面是我 YY 的一个视频播映体系的类图,首要是看看各种联络怎样画,对照着回忆一下 2.3 中的内容。(1)承继,普通用户和会员用户都承继了用户这个类;(2)依靠,用户依靠于播映管理器进行各种操作;(3)组合,播映管理器组合了多媒体操控器、启停管理器、资源管理器;(4)完成,多媒体操控器需求完成投屏这个接口;(5)关联,资源管理和视频资源间存在管理联络。
3 目标图
个人好像还没有运用过。
3.1 效果
描述在某一时间,类图中各个目标之间的联络。在不同时间,类图中每一个类对应的目标数目是不一样的,也便是说同一个类图的目标图会随着时间改变。
3.2 要素
目标结点:某时间类对应的目标。
联络:目标间的联络,通过链来联络。
3.3 语法
目标结点 的表明办法与类相似,仅仅目标名下加下划线,与类作区别。
联络 用直线表明,有向联络加箭头。
4 组件图
也称为构建图,是被封装起来的软件逻辑部件,软件体系正是由这些部件构成。与类相似,但是其规模更大,可所以包含多个类的子体系,当然也可所以独自一个类。
4.1 效果
描述一个体系所分解的构建及其联络,用来封装体系中的一组类,从而使这组类完成的功用可被复用。
4.2 要素
组件:包含接口和端口。接口是指其向外部提供或从外部获取的操作,与类中的接口相似;端口是一个部件,用来与外部进行通讯,它是对接口的包装,一个构建额能够只有接口而没有端口。
联络:组件间的联络。
4.3 语法
构建 的表明如图。端口能够没有,接口直接由构建出现。
5 布置图
这块我没有实战经验,仅仅根据资料进行的简单总结。
5.1 效果用来体现用于布置软件的物理设备信息。
5.2 要素
结点:能够布置软件制品并能够进行计算的物理设备。 衔接:结点间进行通讯的交互途径。结点间的联络有通讯、包含、和运用。
5.3 语法
结点 用一个立方体表明。
二、动态建模
1 时序图
1.1 效果
描述一段时间规模内,多个目标之间交互的音讯时间顺序。
1.2 要素
实体:时序图中参加交互的角色。
生命线:参加交互的实体及其下面的虚线被称为生命线,在这条线上,时间是从上到下递加的。
音讯:目标之间传递的信息。包含(1)同步音讯,发送者需求停止活动等候接纳方回来;(2)异步音讯,发送方不等候回来,持续活动;(3)回来音讯,过程调用回来。
交互事情:在交互的某个时间发生的事情,也被叫做激活。一条音讯必定对应着发送音讯的事情和接纳音讯的事情。
1.3 语法
生命线 用矩形框加虚线表明。
音讯 的表明如下。(哈哈,我发现这个软件里的小图标画的很到位,我就不画蛇添足再搞一遍了,直接贴过来了)
1.4 举例
还是用之前的视频软件举例,下面是其登录时的时序图。
在这个流程中,有一个 alt 选项框,表明假如校验通过(虚线框上部分),就跳转到内容主页,不然就提示错误信息(虚线框下部分)。其他常用的条件操作还有:
- opt:if true,假如成功就履行条件框里对应的内容;
- loop:循环,满足条件时,虚线框内容能够多次履行;
- par:并行,每一个虚框里的内容会同时履行;
- region:临界区域,该虚框只允许一个线程对它当即履行。
2 协作图
2.1 效果
体现一定规模内目标之间的协作的信息,也便是参加交互目标间的结构联络,也称为通讯图。
2.2 要素
目标实体:参加交互的目标实体。
链:两个实体之间存在的音讯联络。
音讯:实体间传递的音讯。
2.3 语法
目标实体 用矩形框表明,冒号前是目标名(可省掉),冒号后是目标所在类的名。
链 用一条无箭头的线表明。
音讯 用带箭头的直线表明。
2.4 举例
3 状况图
3.1 效果
描述一个目标在事情触发时,其内部状况的改变过程。
3.2 要素
状况结点:表明事物的一个相对安稳的状况,必有一个初始状况和一个结束状况。
动作:导致状况改变的操作或事情。
3.3 语法
状况结点 用一个圆角矩形表明
3.4 举例
4 活动图
4.1 效果
用于事物的动态行为过程建模,描述活动的过程,展示从一个活动到另一个活动的操控流。
4.2 要素
活动结点:活动流程中的一个步骤,分为(1)动作结点,活动的履行单元;(2)操控结点,包含判别(decision)/合并(merge),特点是只会走一条途径;分叉(fork)/结合(join),特点是所有路劲都走了才会持续进行活动流程(3)目标结点,描述活动中的实体或目标。 转换:从一个活动到下一个活动。
4.3 语法
4.4 举例
三、总结
用例图、类图、时序图、状况机图这四种图形是最为常用的,需求熟练制作理解。至于其他几种图形,在我的才智中,几乎没有运用过,能读懂即可,所以我写的也不很具体。