UML简介
UML是一种统一建模语言(英语:Unified Modeling Language,缩写 UML),用于建立或分析产品的模型和结构,使系统可视化,是一种说明系统的结构或行为模型的工具方法。
UML按照动态和静态分为结构图和行为图两大类,这里主要讲行为图,常用的行为图有流程图、状态图和时序图,本着“拿来就用”的原则,简化删减了部分不常用的内容。
一、流程图(活动图)
1、概要介绍:用来描述事物或对象的活动流程变化的一种动态建模工具,如果活动流程有多个对象时,通过多个泳道来对活动进行分组。
2、应用场景:用来分析事物或对象的活动流程变化。
3、流程图组成元素:
3.1 活动(Activity):流程中被执行的任务,使用圆角矩形表示;
3.2 动作流(Action Flow):所有动作状态之间的转换流称之为动作流,在两个活动之间使用箭头线+动作名称来表示;
3.3 分支(Branch)与合并(Merge):分支一般用于表示对象类所具有的条件行为,条件行为用分支和合并表达,即是条件判断与流程合并。
3.4 泳道(Swimlane):泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,通常为对象。泳道用垂直实线绘出,垂直线分隔的区域就是泳道,在泳道上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。
4、流程图参考模版
二、状态图
1、概要介绍:用来描述特定对象的状态以及状态之间的转移变化的一种动态建模工具;
2、应用场景:应用于分析对象多个状态及各个状态之间的转移,如订单的各个状态及转移等;
3、状态图的组成元素:
3.1 初始状态:对象开始时的初始状态,使用实心圆表示;
3.2 中间状态:对象中间过程的状态,使用圆角矩形表示,内部填写状态名,以及内部活动;
3.3 转移:转移是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。 每个转移只允许有一个事件触发,一个事件只允许有一个动作。
3.4 结束状态:对象最后的状态,使用内部实心的同心圆表示。
4、中间状态的组成
状态名称(Name):当前状态的名称;
进入协作和退出动作(Entry action/exit action):是进入或退出状态时被自动执行的动作;
子状态(Substate):中间状态下可以有多个子状态,使用圆角矩形嵌入到中间状态中;
中间状态还包含:内部转换(Internal transition)、延迟事件(Deferred event)两部分,但不是很常用,此处不阐述。
5、转移的组成
源状态source state
事件触发event trigger
监护条件guard condition
动作action
目标状态target state
6、状态图参考模版
三、时序图
1、概要介绍:是一种描述多个对象之间传递消息的时间顺序,强调消息时间顺序的交互图;
2、应用场景:应用于对象之间的动态信息交互,如两个系统之间的交互;
3、时序图组成元素:(简化去掉了“角色”和“组合片段”两个元素)
3.1、对象:目标事物,如人、系统等。
3.2、生命线:对象生命周期的时间线,在对象下延伸出一条虚线来表示,虚线长度取决于对象之间交互的时长,虚线表示该对象处于休眠(空闲)状态;
3.3、控制焦点:也叫“激活生命线”,是对象被激活时的状态,即是激活的时间线,表明对象正在执行某个活动,最后输出消息,用细长的矩形来表示,矩形的高度表示对象执行一个活动所持续的时间长度,矩形顶部表示活动的开始,底部表示活动的结束;
3.4、消息:对象之间传递的信息、操作或指令,代表了对象的一个操作,或者引起对象状态改变的触发事件;
同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义,以一条实线+实心箭头表示。
异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的,以一条实线+大于号表示。
返回消息:返回消息表示从过程调用返回,以小于号+虚线表示。(自身接收到消息后,自行处理返回处理的结果,然后以消息的形式返回给消息发送者)
3.5、自关联消息:对象自身的一个方法调用自己的另一个方法(如大脑告诉你该喝水,然后发信息给你的手,手拿起水杯喝水,大脑和手就是人这个对象里的两个方法),或是对象的方法调用自己(如告诫自己不要乱想,自己的大脑告诉自己的大脑不要想太多,此时大脑是人这个对象的方法,这个方法调用了自己)
4、时序图参考模版
四、工具
windows:Visio;
Mac:Omnigraffle;
网友评论