UML时序图规定详解_第1页
UML时序图规定详解_第2页
UML时序图规定详解_第3页
UML时序图规定详解_第4页
UML时序图规定详解_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UML时序图规定详解一、UML时序图概述

UML时序图(SequenceDiagram)是统一建模语言(UML)中用于描述对象之间交互时间顺序的图形工具。它通过展示对象生命线和消息传递,清晰地呈现系统或组件的动态行为。本指南将详细解析UML时序图的构成要素、绘制规则及实际应用场景,帮助读者掌握其规范使用方法。

二、UML时序图基本构成

(一)核心元素

1.生命线(Lifeline)

-代表一个对象或组件在一段时间内的存在状态。

-通常表现为垂直的虚线,从顶部到底部贯穿整个时间轴。

-生命线末端可标注对象名称(可选)。

2.消息(Message)

-描述对象间的交互行为,包括同步、异步或返回消息。

-标注方式:

-同步消息:实线箭头(如"调用")。

-异步消息:虚线箭头(如"发送")。

-返回消息:带空心箭头的实线(如"返回")。

3.时间轴(TimeAxis)

-水平线,表示时间流逝的方向,从左到右。

(二)辅助元素

1.激活条(ActivationBar)

-位于生命线内部,表示对象执行操作的时间段。

-可分为矩形(同步操作)或椭圆形(异步操作)。

2.延迟消息(DelayMessage)

-用云形框表示非确定性或忽略的延迟时间。

三、UML时序图绘制规范

(一)基本绘制步骤

1.确定参与者对象

-列出所有交互的核心对象或组件。

-示例:系统A与用户B的登录流程涉及对象:用户界面、认证服务、数据库。

2.排布生命线

-主对象(如用户)置于左侧,其他对象按交互顺序排列。

-对象顺序建议:发起者→中间协调者→最终执行者。

3.添加消息交互

-按时间顺序标注消息,从左至右展开。

-示例:用户→界面→认证服务→数据库→返回结果。

4.绘制激活状态

-在执行关键操作时添加激活条,如登录验证过程。

(二)常见绘图规则

1.消息编号

-按时间顺序连续编号,如:消息1、消息2。

-异步消息可标注为“消息1.1”(嵌套交互)。

2.省略规则

-相同对象的连续消息可省略,仅保留首尾。

-示例:对象A连续发送消息1、消息2、消息3,可简化为消息1→消息3。

3.条件分支处理

-使用菱形框标注条件判断,分支生命线需标注条件。

-示例:登录验证失败时跳转到错误处理流程。

四、应用示例

(一)简单场景:用户登录流程

1.生命线排列:用户界面→认证服务→数据库。

2.消息交互:

-用户界面→认证服务(发送用户名密码)。

-认证服务→数据库(查询用户信息)。

-数据库→认证服务(返回结果)。

-认证服务→用户界面(返回登录成功/失败)。

(二)复杂场景:订单处理流程

1.生命线排列:客户→订单系统→库存管理→支付服务。

2.关键步骤:

-客户→订单系统(提交订单)。

-订单系统→库存管理(验证库存)。

-若库存充足,继续;若不足,返回失败。

-订单系统→支付服务(处理付款)。

-支付服务→订单系统(返回支付状态)。

-订单系统→客户(发送订单确认)。

五、注意事项

1.适度复杂度

-避免过度细化,保持图面简洁,重点突出核心交互。

-示例:内部方法调用可省略,仅展示接口交互。

2.文档关联

-时序图需与用例图、类图等协同使用,补充系统静态与动态描述。

3.工具支持

-常用工具:Visio、StarUML、EnterpriseArchitect等,需遵循工具规范。

四、应用示例(续)

(一)简单场景:用户登录流程(详细步骤)

1.生命线排列:用户界面→认证服务→数据库。

(1)确定核心对象:

-用户界面(发起者):接收用户输入并展示结果。

-认证服务(协调者):处理登录逻辑。

-数据库(执行者):提供用户数据查询。

(2)排布顺序:用户界面(左)→认证服务→数据库(最右)。

2.消息交互绘制:

(1)初始化:用户界面激活,显示登录表单。

(2)第一步:用户输入凭证,用户界面→认证服务(消息1:“发送登录凭证{用户名,密码}”)。

(3)第二步:认证服务接收凭证,进入激活状态(绘制认证服务生命线上的矩形激活条)。

(4)第三步:认证服务→数据库(消息2:“查询用户信息”)。

(5)第四步:数据库响应,进入激活状态(绘制数据库生命线上的矩形激活条)。

(6)第五步:数据库→认证服务(消息3:“返回用户记录[是否存在]”)。

(7)第六步:认证服务处理结果,进入新激活条(表示验证逻辑)。

(8)第七步:认证服务→用户界面(消息4:“返回登录结果{成功/失败}”)。

(9)结束:用户界面根据结果展示提示信息,认证服务与数据库生命线恢复静默状态。

3.绘图优化:

(1)省略中间方法:认证服务内部方法(如密码加密)不绘制,仅展示接口交互。

(2)异常处理:添加分支,如“消息3结果为失败时”,跳转到用户界面→认证服务(消息5:“显示错误提示”)。

(二)复杂场景:订单处理流程(分步骤详解)

1.生命线排列:客户→订单系统→库存管理→支付服务→物流服务(按执行顺序)。

2.关键步骤分解:

(1)第一步:客户→订单系统(消息1:“提交订单{商品列表,地址}”)。

-订单系统进入激活状态,记录订单基本信息。

-订单系统→库存管理(消息2:“验证商品库存”)。

(2)第二步:库存管理分步响应:

-库存管理进入激活状态,查询数据库。

-库存管理→订单系统(消息3a:“商品A库存充足”)。

-库存管理→订单系统(消息3b:“商品B库存不足”)。

(3)第三步:分支处理:

-订单系统收到消息3b后,进入新激活条(表示异常处理)。

-订单系统→客户(消息4:“返回库存不足提示{商品B}”)。

-若所有商品库存充足(如仅消息3a),继续执行。

(4)第四步:订单系统→支付服务(消息5:“发起支付请求{总金额}”)。

-支付服务进入激活状态,调用第三方支付接口。

-支付服务→订单系统(消息6:“返回支付状态{成功/失败}”)。

(5)第五步:条件分支(支付结果):

-若消息6为“失败”,订单系统→客户(消息7:“通知支付失败”)。

-若消息6为“成功”,订单系统进入新激活条,记录支付信息。

(6)第六步:订单系统→物流服务(消息8:“安排发货{订单号}”)。

-物流服务进入激活状态,更新库存状态。

(7)第七步:物流服务→订单系统(消息9:“返回物流单号{运单号}”)。

(8)第八步:订单系统→客户(消息10:“发送发货通知{运单号}”)。

3.图形补充:

(1)异常路径:添加库存不足时的退款流程分支。

(2)时间标注:在关键消息旁标注响应时间(如消息2响应时间≤500ms)。

五、注意事项(补充)

(一)避免常见错误

1.生命线混乱:

(1)规则:单一对象的生命线不应重复出现(避免绘制断裂线)。

(2)示例:认证服务与数据库的交互应始终在同一生命线上。

2.消息遗漏:

(1)规则:关键控制流(如循环、条件)必须明确标注。

(2)示例:订单处理中“重复验证库存”需用菱形+循环箭头表示。

(二)最佳实践清单

1.绘制准备:

(1)列出所有交互对象(避免遗漏被动对象)。

(2)明确交互起点和终点。

2.绘制过程:

(1)先主干后分支:先绘制核心流程,再补充异常路径。

(2)保持对齐:生命线和消息箭头需水平垂直对齐。

3.文档规范:

(1)标注对象角色(如“客户(发起者)”)。

(2)对复杂分支添加文字说明框。

(三)工具应用技巧

1.Visio绘制要点:

(1)使用“UML时序图”模板自动生成框架。

(2)通过“消息属性”窗格设置箭头类型(同步/异步)。

2.StarUML高级功能:

(1)支持状态机嵌入(在激活条内绘制状态图)。

(2)可导出为XML用于模型驱动开发。

一、UML时序图概述

UML时序图(SequenceDiagram)是统一建模语言(UML)中用于描述对象之间交互时间顺序的图形工具。它通过展示对象生命线和消息传递,清晰地呈现系统或组件的动态行为。本指南将详细解析UML时序图的构成要素、绘制规则及实际应用场景,帮助读者掌握其规范使用方法。

二、UML时序图基本构成

(一)核心元素

1.生命线(Lifeline)

-代表一个对象或组件在一段时间内的存在状态。

-通常表现为垂直的虚线,从顶部到底部贯穿整个时间轴。

-生命线末端可标注对象名称(可选)。

2.消息(Message)

-描述对象间的交互行为,包括同步、异步或返回消息。

-标注方式:

-同步消息:实线箭头(如"调用")。

-异步消息:虚线箭头(如"发送")。

-返回消息:带空心箭头的实线(如"返回")。

3.时间轴(TimeAxis)

-水平线,表示时间流逝的方向,从左到右。

(二)辅助元素

1.激活条(ActivationBar)

-位于生命线内部,表示对象执行操作的时间段。

-可分为矩形(同步操作)或椭圆形(异步操作)。

2.延迟消息(DelayMessage)

-用云形框表示非确定性或忽略的延迟时间。

三、UML时序图绘制规范

(一)基本绘制步骤

1.确定参与者对象

-列出所有交互的核心对象或组件。

-示例:系统A与用户B的登录流程涉及对象:用户界面、认证服务、数据库。

2.排布生命线

-主对象(如用户)置于左侧,其他对象按交互顺序排列。

-对象顺序建议:发起者→中间协调者→最终执行者。

3.添加消息交互

-按时间顺序标注消息,从左至右展开。

-示例:用户→界面→认证服务→数据库→返回结果。

4.绘制激活状态

-在执行关键操作时添加激活条,如登录验证过程。

(二)常见绘图规则

1.消息编号

-按时间顺序连续编号,如:消息1、消息2。

-异步消息可标注为“消息1.1”(嵌套交互)。

2.省略规则

-相同对象的连续消息可省略,仅保留首尾。

-示例:对象A连续发送消息1、消息2、消息3,可简化为消息1→消息3。

3.条件分支处理

-使用菱形框标注条件判断,分支生命线需标注条件。

-示例:登录验证失败时跳转到错误处理流程。

四、应用示例

(一)简单场景:用户登录流程

1.生命线排列:用户界面→认证服务→数据库。

2.消息交互:

-用户界面→认证服务(发送用户名密码)。

-认证服务→数据库(查询用户信息)。

-数据库→认证服务(返回结果)。

-认证服务→用户界面(返回登录成功/失败)。

(二)复杂场景:订单处理流程

1.生命线排列:客户→订单系统→库存管理→支付服务。

2.关键步骤:

-客户→订单系统(提交订单)。

-订单系统→库存管理(验证库存)。

-若库存充足,继续;若不足,返回失败。

-订单系统→支付服务(处理付款)。

-支付服务→订单系统(返回支付状态)。

-订单系统→客户(发送订单确认)。

五、注意事项

1.适度复杂度

-避免过度细化,保持图面简洁,重点突出核心交互。

-示例:内部方法调用可省略,仅展示接口交互。

2.文档关联

-时序图需与用例图、类图等协同使用,补充系统静态与动态描述。

3.工具支持

-常用工具:Visio、StarUML、EnterpriseArchitect等,需遵循工具规范。

四、应用示例(续)

(一)简单场景:用户登录流程(详细步骤)

1.生命线排列:用户界面→认证服务→数据库。

(1)确定核心对象:

-用户界面(发起者):接收用户输入并展示结果。

-认证服务(协调者):处理登录逻辑。

-数据库(执行者):提供用户数据查询。

(2)排布顺序:用户界面(左)→认证服务→数据库(最右)。

2.消息交互绘制:

(1)初始化:用户界面激活,显示登录表单。

(2)第一步:用户输入凭证,用户界面→认证服务(消息1:“发送登录凭证{用户名,密码}”)。

(3)第二步:认证服务接收凭证,进入激活状态(绘制认证服务生命线上的矩形激活条)。

(4)第三步:认证服务→数据库(消息2:“查询用户信息”)。

(5)第四步:数据库响应,进入激活状态(绘制数据库生命线上的矩形激活条)。

(6)第五步:数据库→认证服务(消息3:“返回用户记录[是否存在]”)。

(7)第六步:认证服务处理结果,进入新激活条(表示验证逻辑)。

(8)第七步:认证服务→用户界面(消息4:“返回登录结果{成功/失败}”)。

(9)结束:用户界面根据结果展示提示信息,认证服务与数据库生命线恢复静默状态。

3.绘图优化:

(1)省略中间方法:认证服务内部方法(如密码加密)不绘制,仅展示接口交互。

(2)异常处理:添加分支,如“消息3结果为失败时”,跳转到用户界面→认证服务(消息5:“显示错误提示”)。

(二)复杂场景:订单处理流程(分步骤详解)

1.生命线排列:客户→订单系统→库存管理→支付服务→物流服务(按执行顺序)。

2.关键步骤分解:

(1)第一步:客户→订单系统(消息1:“提交订单{商品列表,地址}”)。

-订单系统进入激活状态,记录订单基本信息。

-订单系统→库存管理(消息2:“验证商品库存”)。

(2)第二步:库存管理分步响应:

-库存管理进入激活状态,查询数据库。

-库存管理→订单系统(消息3a:“商品A库存充足”)。

-库存管理→订单系统(消息3b:“商品B库存不足”)。

(3)第三步:分支处理:

-订单系统收到消息3b后,进入新激活条(表示异常处理)。

-订单系统→客户(消息4:“返回库存不足提示{商品B}”)。

-若所有商品库存充足(如仅消息3a),继续执行。

(4)第四步:订单系统→支付服务(消息5:“发起支付请求{总金额}”)。

-支付服务进入激活状态,调用第三方支付接口。

-支付服务→订单系统(消息6:“返回支付状态{成功/失败}”)。

(5)第五步:条件分支(支付结果):

-若消息6为“失败”,订单系统→客户(消息7:“通知支付失败”)。

-若消息6为“成功”,订单系统进入新激活条,记录支付信息。

(6)第六步:订单系统→物流服务(消息8:“安排发货{订单号}”)。

-物流服务进入激活状态,更新库存状态。

(7)第七步:物流服务→订单系统(消息9:“返回物流单号{运单号}”)。

(8)第八步:订单系统→客户(消息10:“发送发货通知{运单号}”)。

3.图形补充:

(1)异常路径:添加库存不足时的退款流程分支。

(2)时间标注:在关键消息旁标注响应时间(如消息2响应时间≤500ms)。

五、注意事项(补充)

(一)避免常见错误

1.生命线混乱:

(1)规则:单一对象的生命线不应重复出现(避免绘制断裂线)。

(2)示例:认证服务与数据库的交互应始终在同一生命线上。

2.消息遗漏:

(1)规则:关键控制流(如循环、条件)必须明确标注。

(2)示例:订单处理中“重复验证库存”需用菱形+循环箭头表示。

(二)最佳实践清单

1.绘制准备:

(1)列出所有交互对象(避免遗漏被动对象)。

(2)明确交互起点和终点。

2.绘制过程:

(1)先主干后分支:先绘制核心流程,再补充异常路径。

(2)保持对齐:生命线和消息箭头需水平垂直对齐。

3.文档规范:

(1)标注对象角色(如“客户(发起者)”)。

(2)对复杂分支添加文字说明框。

(三)工具应用技巧

1.Visio绘制要点:

(1)使用“UML时序图”模板自动生成框架。

(2)通过“消息属性”窗格设置箭头类型(同步/异步)。

2.StarUML高级功能:

(1)支持状态机嵌入(在激活条内绘制状态图)。

(2)可导出为XML用于模型驱动开发。

一、UML时序图概述

UML时序图(SequenceDiagram)是统一建模语言(UML)中用于描述对象之间交互时间顺序的图形工具。它通过展示对象生命线和消息传递,清晰地呈现系统或组件的动态行为。本指南将详细解析UML时序图的构成要素、绘制规则及实际应用场景,帮助读者掌握其规范使用方法。

二、UML时序图基本构成

(一)核心元素

1.生命线(Lifeline)

-代表一个对象或组件在一段时间内的存在状态。

-通常表现为垂直的虚线,从顶部到底部贯穿整个时间轴。

-生命线末端可标注对象名称(可选)。

2.消息(Message)

-描述对象间的交互行为,包括同步、异步或返回消息。

-标注方式:

-同步消息:实线箭头(如"调用")。

-异步消息:虚线箭头(如"发送")。

-返回消息:带空心箭头的实线(如"返回")。

3.时间轴(TimeAxis)

-水平线,表示时间流逝的方向,从左到右。

(二)辅助元素

1.激活条(ActivationBar)

-位于生命线内部,表示对象执行操作的时间段。

-可分为矩形(同步操作)或椭圆形(异步操作)。

2.延迟消息(DelayMessage)

-用云形框表示非确定性或忽略的延迟时间。

三、UML时序图绘制规范

(一)基本绘制步骤

1.确定参与者对象

-列出所有交互的核心对象或组件。

-示例:系统A与用户B的登录流程涉及对象:用户界面、认证服务、数据库。

2.排布生命线

-主对象(如用户)置于左侧,其他对象按交互顺序排列。

-对象顺序建议:发起者→中间协调者→最终执行者。

3.添加消息交互

-按时间顺序标注消息,从左至右展开。

-示例:用户→界面→认证服务→数据库→返回结果。

4.绘制激活状态

-在执行关键操作时添加激活条,如登录验证过程。

(二)常见绘图规则

1.消息编号

-按时间顺序连续编号,如:消息1、消息2。

-异步消息可标注为“消息1.1”(嵌套交互)。

2.省略规则

-相同对象的连续消息可省略,仅保留首尾。

-示例:对象A连续发送消息1、消息2、消息3,可简化为消息1→消息3。

3.条件分支处理

-使用菱形框标注条件判断,分支生命线需标注条件。

-示例:登录验证失败时跳转到错误处理流程。

四、应用示例

(一)简单场景:用户登录流程

1.生命线排列:用户界面→认证服务→数据库。

2.消息交互:

-用户界面→认证服务(发送用户名密码)。

-认证服务→数据库(查询用户信息)。

-数据库→认证服务(返回结果)。

-认证服务→用户界面(返回登录成功/失败)。

(二)复杂场景:订单处理流程

1.生命线排列:客户→订单系统→库存管理→支付服务。

2.关键步骤:

-客户→订单系统(提交订单)。

-订单系统→库存管理(验证库存)。

-若库存充足,继续;若不足,返回失败。

-订单系统→支付服务(处理付款)。

-支付服务→订单系统(返回支付状态)。

-订单系统→客户(发送订单确认)。

五、注意事项

1.适度复杂度

-避免过度细化,保持图面简洁,重点突出核心交互。

-示例:内部方法调用可省略,仅展示接口交互。

2.文档关联

-时序图需与用例图、类图等协同使用,补充系统静态与动态描述。

3.工具支持

-常用工具:Visio、StarUML、EnterpriseArchitect等,需遵循工具规范。

四、应用示例(续)

(一)简单场景:用户登录流程(详细步骤)

1.生命线排列:用户界面→认证服务→数据库。

(1)确定核心对象:

-用户界面(发起者):接收用户输入并展示结果。

-认证服务(协调者):处理登录逻辑。

-数据库(执行者):提供用户数据查询。

(2)排布顺序:用户界面(左)→认证服务→数据库(最右)。

2.消息交互绘制:

(1)初始化:用户界面激活,显示登录表单。

(2)第一步:用户输入凭证,用户界面→认证服务(消息1:“发送登录凭证{用户名,密码}”)。

(3)第二步:认证服务接收凭证,进入激活状态(绘制认证服务生命线上的矩形激活条)。

(4)第三步:认证服务→数据库(消息2:“查询用户信息”)。

(5)第四步:数据库响应,进入激活状态(绘制数据库生命线上的矩形激活条)。

(6)第五步:数据库→认证服务(消息3:“返回用户记录[是否存在]”)。

(7)第六步:认证服务处理结果,进入新激活条(表示验证逻辑)。

(8)第七步:认证服务→用户界面(消息4:“返回登录结果{成功/失败}”)。

(9)结束:用户界面根据结果展示提示信息,认证服务与数据库生命线恢复静默状态。

3.绘图优化:

(1)省略中间方法:认证服务内部方法(如密码加密)不绘制,仅展示接口交互。

(2)异常处理:添加分支,如“消息3结果为失败时”,跳转到用户界面→认证服务(消息5:“显示错误提示”)。

(二)复杂场景:订单处理流程(分步骤详解)

1.生命线排列:客户→订单系统→库存管理→支付服务→物流服务(按执行顺序)。

2.关键步骤分解:

(1)第一步:客户→订单系统(消息1:“提交订单{商品列表,地址}”)。

-订单系统进入激活状态,记录订单基本信息。

-订单系统→库存管理(消息2:“验证商品库存”)。

(2)第二步:库存管理分步响应:

-库存管理进入激活状态,查询数据库。

-库存管理→订单系统(消息3a:“商品A库存充足”)。

-库存管理→订单系统(消息3b:“商品B库存不足”)。

(3)第三步:分支处理:

-订单系统收到消息3b后,进入新激活条(表示异常处理)。

-订单系统→客户(消息4:“返回库存不足提示{商品B}”)。

-若所有商品库存充足(如仅消息3a),继续执行。

(4)第四步:订单系统→支付服务(消息5:“发起支付请求{总金额}”)。

-支付服务进入激活状态,调用第三方支付接口。

-支付服务→订单系统(消息6:“返回支付状态{成功/失败}”)。

(5)第五步:条件分支(支付结果):

-若消息6为“失败”,订单系统→客户(消息7:“通知支付失败”)。

-若消息6为“成功”,订单系统进入新激活条,记录支付信息。

(6)第六步:订单系统→物流服务(消息8:“安排发货{订单号}”)。

-物流服务进入激活状态,更新库存状态。

(7)第七步:物流服务→订单系统(消息9:“返回物流单号{运单号}”)。

(8)第八步:订单系统→客户(消息10:“发送发货通知{运单号}”)。

3.图形补充:

(1)异常路径:添加库存不足时的退款流程分支。

(2)时间标注:在关键消息旁标注响应时间(如消息2响应时间≤500ms)。

五、注意事项(补充)

(一)避免常见错误

1.生命线混乱:

(1)规则:单一对象的生命线不应重复出现(避免绘制断裂线)。

(2)示例:认证服务与数据库的交互应始终在同一生命线上。

2.消息遗漏:

(1)规则:关键控制流(如循环、条件)必须明确标注。

(2)示例:订单处理中“重复验证库存”需用菱形+循环箭头表示。

(二)最佳实践清单

1.绘制准备:

(1)列出所有交互对象(避免遗漏被动对象)。

(2)明确交互起点和终点。

2.绘制过程:

(1)先主干后分支:先绘制核心流程,再补充异常路径。

(2)保持对齐:生命线和消息箭头需水平垂直对齐。

3.文档规范:

(1)标注对象角色(如“客户(发起者)”)。

(2)对复杂分支添加文字说明框。

(三)工具应用技巧

1.Visio绘制要点:

(1)使用“UML时序图”模板自动生成框架。

(2)通过“消息属性”窗格设置箭头类型(同步/异步)。

2.StarUML高级功能:

(1)支持状态机嵌入(在激活条内绘制状态图)。

(2)可导出为XML用于模型驱动开发。

一、UML时序图概述

UML时序图(SequenceDiagram)是统一建模语言(UML)中用于描述对象之间交互时间顺序的图形工具。它通过展示对象生命线和消息传递,清晰地呈现系统或组件的动态行为。本指南将详细解析UML时序图的构成要素、绘制规则及实际应用场景,帮助读者掌握其规范使用方法。

二、UML时序图基本构成

(一)核心元素

1.生命线(Lifeline)

-代表一个对象或组件在一段时间内的存在状态。

-通常表现为垂直的虚线,从顶部到底部贯穿整个时间轴。

-生命线末端可标注对象名称(可选)。

2.消息(Message)

-描述对象间的交互行为,包括同步、异步或返回消息。

-标注方式:

-同步消息:实线箭头(如"调用")。

-异步消息:虚线箭头(如"发送")。

-返回消息:带空心箭头的实线(如"返回")。

3.时间轴(TimeAxis)

-水平线,表示时间流逝的方向,从左到右。

(二)辅助元素

1.激活条(ActivationBar)

-位于生命线内部,表示对象执行操作的时间段。

-可分为矩形(同步操作)或椭圆形(异步操作)。

2.延迟消息(DelayMessage)

-用云形框表示非确定性或忽略的延迟时间。

三、UML时序图绘制规范

(一)基本绘制步骤

1.确定参与者对象

-列出所有交互的核心对象或组件。

-示例:系统A与用户B的登录流程涉及对象:用户界面、认证服务、数据库。

2.排布生命线

-主对象(如用户)置于左侧,其他对象按交互顺序排列。

-对象顺序建议:发起者→中间协调者→最终执行者。

3.添加消息交互

-按时间顺序标注消息,从左至右展开。

-示例:用户→界面→认证服务→数据库→返回结果。

4.绘制激活状态

-在执行关键操作时添加激活条,如登录验证过程。

(二)常见绘图规则

1.消息编号

-按时间顺序连续编号,如:消息1、消息2。

-异步消息可标注为“消息1.1”(嵌套交互)。

2.省略规则

-相同对象的连续消息可省略,仅保留首尾。

-示例:对象A连续发送消息1、消息2、消息3,可简化为消息1→消息3。

3.条件分支处理

-使用菱形框标注条件判断,分支生命线需标注条件。

-示例:登录验证失败时跳转到错误处理流程。

四、应用示例

(一)简单场景:用户登录流程

1.生命线排列:用户界面→认证服务→数据库。

2.消息交互:

-用户界面→认证服务(发送用户名密码)。

-认证服务→数据库(查询用户信息)。

-数据库→认证服务(返回结果)。

-认证服务→用户界面(返回登录成功/失败)。

(二)复杂场景:订单处理流程

1.生命线排列:客户→订单系统→库存管理→支付服务。

2.关键步骤:

-客户→订单系统(提交订单)。

-订单系统→库存管理(验证库存)。

-若库存充足,继续;若不足,返回失败。

-订单系统→支付服务(处理付款)。

-支付服务→订单系统(返回支付状态)。

-订单系统→客户(发送订单确认)。

五、注意事项

1.适度复杂度

-避免过度细化,保持图面简洁,重点突出核心交互。

-示例:内部方法调用可省略,仅展示接口交互。

2.文档关联

-时序图需与用例图、类图等协同使用,补充系统静态与动态描述。

3.工具支持

-常用工具:Visio、StarUML、EnterpriseArchitect等,需遵循工具规范。

四、应用示例(续)

(一)简单场景:用户登录流程(详细步骤)

1.生命线排列:用户界面→认证服务→数据库。

(1)确定核心对象:

-用户界面(发起者):接收用户输入并展示结果。

-认证服务(协调者):处理登录逻辑。

-数据库(执行者):提供用户数据查询。

(2)排布顺序:用户界面(左)→认证服务→数据库(最右)。

2.消息交互绘制:

(1)初始化:用户界面激活,显示登录表单。

(2)第一步:用户输入凭证,用户界面→认证服务(消息1:“发送登录凭证{用户名,密码}”)。

(3)第二步:认证服务接收凭证,进入激活状态(绘制认证服务生命线上的矩形激活条)。

(4)第三步:认证服务→数据库(消息2:“查询用户信息”)。

(5)第四步:数据库响应,进入激活状态(绘制数据库生命线上的矩形激活条)。

(6)第五步:数据库→认证服务(消息3:“返回用户记录[是否存在]”)。

(7)第六步:认证服务处理结果,进入新激活条(表示验证逻辑)。

(8)第七步:认证服务→用户界面(消息4:“返回登录结果{成功/失败}”)。

(9)结束:用户界面根据结果展示提示信息,认证服务与数据库生命线恢复静默状态。

3.绘图优化:

(1)省略中间方法:认证服务内部方法(如密码加密)不绘制,仅展示接口交互。

(2)异常处理:添加分支,如“消息3结果为失败时”,跳转到用户界面→认证服务(消息5:“显示错误提示”)。

(二)复杂场景:订单处理流程(分步骤详解)

1.生命线排列:客户→订单系统→库存管理→支付服务→物流服务(按执行顺序)。

2.关键步骤分解:

(1)第一步:客户→订单系统(消息1:“提交订单{商品列表,地址}”)。

-订单系统进入激活状态,记录订单基本信息。

-订单系统→库存管理(消息2:“验证商品库存”)。

(2)第二步:库存管理分步响应:

-库存管理进入激活状态,查询数据库。

-库存管理→订单系统(消息3a:“商品A库存充足”)。

-库存管理→订单系统(消息3b:“商品B库存不足”)。

(3)第三步:分支处理:

-订单系统收到消息3b后,进入新激活条(表示异常处理)。

-订单系统→客户(消息4:“返回库存不足提示{商品B}”)。

-若所有商品库存充足(如仅消息3a),继续执行。

(4)第四步:订单系统→支付服务(消息5:“发起支付请求{总金额}”)。

-支付服务进入激活状态,调用第三方支付接口。

-支付服务→订单系统(消息6:“返回支付状态{成功/失败}”)。

(5)第五步:条件分支(支付结果):

-若消息6为“失败”,订单系统→客户(消息7:“通知支付失败”)。

-若消息6为“成功”,订单系统进入新激活条,记录支付信息。

(6)第六步:订单系统→物流服务(消息8:“安排发货{订单号}”)。

-物流服务进入激活状态,更新库存状态。

(7)第七步:物流服务→订单系统(消息9:“返回物流单号{运单号}”)。

(8)第八步:订单系统→客户(消息10:“发送发货通知{运单号}”)。

3.图形补充:

(1)异常路径:添加库存不足时的退款流程分支。

(2)时间标注:在关键消息旁标注响应时间(如消息2响应时间≤500ms)。

五、注意事项(补充)

(一)避免常见错误

1.生命线混乱:

(1)规则:单一对象的生命线不应重复出现(避免绘制断裂线)。

(2)示例:认证服务与数据库的交互应始终在同一生命线上。

2.消息遗漏:

(1)规则:关键控制流(如循环、条件)必须明确标注。

(2)示例:订单处理中“重复验证库存”需用菱形+循环箭头表示。

(二)最佳实践清单

1.绘制准备:

(1)列出所有交互对象(避免遗漏被动对象)。

(2)明确交互起点和终点。

2.绘制过程:

(1)先主干后分支:先绘制核心流程,再补充异常路径。

(2)保持对齐:生命线和消息箭头需水平垂直对齐。

3.文档规范:

(1)标注对象角色(如“客户(发起者)”)。

(2)对复杂分支添加文字说明框。

(三)工具应用技巧

1.Visio绘制要点:

(1)使用“UML时序图”模板自动生成框架。

(2)通过“消息属性”窗格设置箭头类型(同步/异步)。

2.StarUML高级功能:

(1)支持状态机嵌入(在激活条内绘制状态图)。

(2)可导出为XML用于模型驱动开发。

一、UML时序图概述

UML时序图(SequenceDiagram)是统一建模语言(UML)中用于描述对象之间交互时间顺序的图形工具。它通过展示对象生命线和消息传递,清晰地呈现系统或组件的动态行为。本指南将详细解析UML时序图的构成要素、绘制规则及实际应用场景,帮助读者掌握其规范使用方法。

二、UML时序图基本构成

(一)核心元素

1.生命线(Lifeline)

-代表一个对象或组件在一段时间内的存在状态。

-通常表现为垂直的虚线,从顶部到底部贯穿整个时间轴。

-生命线末端可标注对象名称(可选)。

2.消息(Message)

-描述对象间的交互行为,包括同步、异步或返回消息。

-标注方式:

-同步消息:实线箭头(如"调用")。

-异步消息:虚线箭头(如"发送")。

-返回消息:带空心箭头的实线(如"返回")。

3.时间轴(TimeAxis)

-水平线,表示时间流逝的方向,从左到右。

(二)辅助元素

1.激活条(ActivationBar)

-位于生命线内部,表示对象执行操作的时间段。

-可分为矩形(同步操作)或椭圆形(异步操作)。

2.延迟消息(DelayMessage)

-用云形框表示非确定性或忽略的延迟时间。

三、UML时序图绘制规范

(一)基本绘制步骤

1.确定参与者对象

-列出所有交互的核心对象或组件。

-示例:系统A与用户B的登录流程涉及对象:用户界面、认证服务、数据库。

2.排布生命线

-主对象(如用户)置于左侧,其他对象按交互顺序排列。

-对象顺序建议:发起者→中间协调者→最终执行者。

3.添加消息交互

-按时间顺序标注消息,从左至右展开。

-示例:用户→界面→认证服务→数据库→返回结果。

4.绘制激活状态

-在执行关键操作时添加激活条,如登录验证过程。

(二)常见绘图规则

1.消息编号

-按时间顺序连续编号,如:消息1、消息2。

-异步消息可标注为“消息1.1”(嵌套交互)。

2.省略规则

-相同对象的连续消息可省略,仅保留首尾。

-示例:对象A连续发送消息1、消息2、消息3,可简化为消息1→消息3。

3.条件分支处理

-使用菱形框标注条件判断,分支生命线需标注条件。

-示例:登录验证失败时跳转到错误处理流程。

四、应用示例

(一)简单场景:用户登录流程

1.生命线排列:用户界面→认证服务→数据库。

2.消息交互:

-用户界面→认证服务(发送用户名密码)。

-认证服务→数据库(查询用户信息)。

-数据库→认证服务(返回结果)。

-认证服务→用户界面(返回登录成功/失败)。

(二)复杂场景:订单处理流程

1.生命线排列:客户→订单系统→库存管理→支付服务。

2.关键步骤:

-客户→订单系统(提交订单)。

-订单系统→库存管理(验证库存)。

-若库存充足,继续;若不足,返回失败。

-订单系统→支付服务(处理付款)。

-支付服务→订单系统(返回支付状态)。

-订单系统→客户(发送订单确认)。

五、注意事项

1.适度复杂度

-避免过度细化,保持图面简洁,重点突出核心交互。

-示例:内部方法调用可省略,仅展示接口交互。

2.文档关联

-时序图需与用例图、类图等协同使用,补充系统静态与动态描述。

3.工具支持

-常用工具:Visio、StarUML、EnterpriseArchitect等,需遵循工具规范。

四、应用示例(续)

(一)简单场景:用户登录流程(详细步骤)

1.生命线排列:用户界面→认证服务→数据库。

(1)确定核心对象:

-用户界面(发起者):接收用户输入并展示结果。

-认证服务(协调者):处理登录逻辑。

-数据库(执行者):提供用户数据查询。

(2)排布顺序:用户界面(左)→认证服务→数据库(最右)。

2.消息交互绘制:

(1)初始化:用户界面激活,显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论