上海网站建设选缘魁 -企查,软件开发外包公司,北京建网站公司,企业网站必须做可信网站认证上篇文章#xff0c;介绍了UML状态图#xff0c;并通过visio绘制一个全自动洗衣机的UML状态图实例进行讲解。
本篇#xff0c;来继续介绍UML中的另一种图——时序图。
1 时序图简介
时序图(Sequence Diagram)#xff0c;也叫顺序图#xff0c;或序列图#xff0c;是一…上篇文章介绍了UML状态图并通过visio绘制一个全自动洗衣机的UML状态图实例进行讲解。
本篇来继续介绍UML中的另一种图——时序图。
1 时序图简介
时序图(Sequence Diagram)也叫顺序图或序列图是一种UML动态图。 UML具有许多不同类型的图表包括 静态图用例图、类图、包图动态图活动图、状态图、时序图、协作图 时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的交互模式。
时序图将交互关系表示为一个二维图
纵向是时间轴时间沿竖线向下延伸横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时角色用一条虚线表示当对象的过程处于激活状态时生命线是一个垂直矩形。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
2 时序图元素介绍
2.1 参与者 参与者或称为系统角色以一个小人图标表示。
2.2 对象 对象以一个矩形表示在一个系统中可以有多个对象。
2.3 生命线 生命线就是一条垂直的虚线。
2.4 激活 激活也叫会话或控制焦点代表时序图中对象执行一项操作的时期, 表示该对象被占用以完成某个任务以一个垂直的窄的矩形表示。
2.5 消息
2.5.1 (同步)消息 以一条实线和实心箭头表示。
消息的发送者把控制传递给消息的接收者然后停止活动等待消息的接收者放弃或者返回控制。用来表示同步的意义。
2.5.2 返回消息 以小于号和虚线表示。
返回消息表示从过程调用返回。
2.5.3 异步消息 以一条实线和大于号表示。
消息发送者通过消息把信号传递给消息的接收者然后继续自己的活动不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
2.5.4 自关联消息 以一个半闭合的长方形下方实心剪头表示。
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。
2.6 片段 2.6.1 选择片段
选择片段或称条件分支可根据不同的条件执行不同的交互类似于if-else语句 2.6.2 循环片段
表明该片段会被重复执行类似于while或for语句 2.6.3 并向片段 2.6.4 片段总结
片段的功能除了上面介绍的选择、循环和并向、还有许多其它类型这里详细列举一下作为参考
片段类型名称说明Alt选择在一组行为中根据特定的条件选择某个交互Loop循环交互片段会被重复执行Par并行支持交互片段的并发执行Opt选项表示一个可选的行为Break中断提供了和编程语言中的break类拟的机制Seq弱顺序有两个或更多操作数片段如果消息涉及的生命线不同会并行交错Strict强顺序有两个或更多操作数片段这些片段必须按给定顺序发生
默认情况下序列图表明可能发生的一系列消息。在运行的系统中可能会出现您未选择显示在关系图上的其他消息。
以下片段类型可用于更改此释义
片段类型名称说明Consider考虑明确标志了应该被处理的消息Assert断言标志了在交互片段中作为事件唯一的合法继续者的操作数Neg否定用来标志不应该发生的交互Ignore忽略明确定义了交互片段不应该响应的消息
3 visio绘制UML时序图
3.1 visio创建时序图
新建一个visio文件打开后会自动提示选择创建某种类型的图这里选择软件和数据库 -UML序列 点击确定之后会进入UML时序图的编辑界面左侧可以看到用于UML时序图编辑的基本元素将这些元素拖拽到右侧的编解面板中可以看到这些元素的基本结构形式 注意visio中的生命线绘图元素实际上包含了参加者元素或对象元素所以命名为了参与者生命线和对象生命线
3.2 时序图实例
下面通过一个实例来介绍一下UML时序图的画法。
这是一个嵌入式开发中常见的对物联网设备进行配网的操作流程配网的方式有很多具体可看之前的文章【图解】物联网设备的N种Wi-Fi配网方式这个时序图是其中的一种配网方式——设备热点配网。
解读一下此时序图
参与者(主角)是用户因为是用户触发了整个流程的执行对象有3个手机上的APP程序、待连网的物联网设备、WiFi路由器配网的时序逻辑为 用户按下设备的配网按钮设备开启一个热点并广播自己的热点信息(热点名称和密码)用户在APP上输入WiFi路由器的名称和密码用于后续发给设备用户操作APP连接上设备的热点然后把WiFi路由器的名称和密码发给设备设备收到WiFi路由器的名称和密码后尝试连接路由器配网成功 本时序图中暂未体现出片段的用法以后有能用到片段用法的例子再举例分析。
3.4 visio中框图不能调节宽度解决
在用Visio绘制UML时序图使用“交互操作数”时可能遇到宽度被锁定不能调节的问题解决方法如下
步骤一文件----选项----高级----常规-----勾选“以开发人员模式运行” 步骤二菜单栏出现“开发工具”选项点击受保护框图取消宽度的保护 4 总结
本篇介绍了UML时序图的基础知识并通过visio绘制一个物联网设备WIFI配网的UML时序图实例来介绍UML时序图的画法与所表达的含义。