顺序图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交互图是用来描述对象之间的动态协作关系以及协作过程 中的行为次序,它常常用来描述一个用例的行为,显示该 用例中所涉及的对象和这些对象之间的消息传递情况。
交互图的两种形式
交互图有两种形式:
顺序图(sequence diagram) 协作图(collaboration diagram)
顺序图:强调消息的时间顺序的交互图。图形 上是一张表,对象沿X轴排列,消息沿Y轴按时 间顺序排列。
对象相互链接的地方就有交互 具有对象协作的系统、子系统语境中
如Web商务系统,客户对象、服务器对象间交互
操作实现语境中
操作的参数、局部变量、全局对象相互交互完成操作的实 现算法
类语境中
通过交互显示类的属性是如何相互协作的
对象通过消息交互
Messages,传递信息的对象之间所进行的通 信,消息带有对将要发生的活动的期望
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
协作图:强调发送和接收消息的对象之间的组织 结构的交互图。图形上是顶点和弧的结合
顺序图(Sequence diagram)
定义:顺序图描述了对象之间传送消息的时间 顺序,它用来表示用例中的行为顺序。
Sequence图中的组成元素
顺序图中的一些主要元素:
– Object (包括actor实例) – Lifeline (生命线) – Focus of control(控制焦点)和activation(激活期) – Message
初步类图
购买饮料主要场景的顺序图
已售完场景的顺序图
“零钱数目不对”的场景
“零钱找不开”场景的顺序图
一般的顺序图
Leabharlann Baidu:顾客
:前端
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
水平轴上的对象间的相互顺序并不重要。
顺序图不表示对象间的关联(associations)关系。
建立顺序图的步骤
1. 确定交互过程的上下文(context); 2. 识别参与交互过程的对象; 3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过
程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命线之间从顶到
Object
sequence图和collaboration图描述的是对象之间 的消息发送关系,而不是类之间的关系。
在顺序图中并不包括系统中的所有类的对象。也有 可能某些对象属于同一个类。
交互图中的对象的常见命名方式:
显示对象名和类名 只显示类名
只显示对象名
Message
消息的类型:在UML 1.4以上版本的规范说明中消息分 同步消息,异步消息,返回消息三种。
用例阐述:
“购买饮料”用例的次要场景1—饮料已售完 1)若饮料已售完,记录仪要求显示屏显示“已售完” 2)记录仪将钱币从退币口返回给顾客 “购买饮料”用例的次要场景2—需要找零 1)记录仪查找自己的现金储备以便找零; 2)记录仪更新自己的钱币存储记录; 3)记录仪将找回的钱通过退币口返还给顾客; 4)记录仪通知饮料分配器传送一罐饮料到出货口。 “购买饮料”用例的次要场景3—零钱找不开 1)记录仪查找自己的现金储备以便找零; 2)如果无法找零,记录仪要求显示屏显示“投入正好的货 币” 3)记录仪将钱币从退币口返回给顾客
顺序图:从用例到类
顺序图使你可以可视化地对系统逻辑建模。 对象、类和参与者都在顺序图中进行了描述。 理解分析阶段的基本逻辑,在设计阶段详细将 其突出出来。
实例:饮料销售机系统
用例图
用例阐述:
“购买饮料”用例的主要场景: 1)顾客从投币口塞入钱币,然后选择想要的饮料; 2)系统将钱币送入钱币记录仪; 3)记录仪检查是否还有存货; 4)记录仪更新自己的钱币存储记录; 5)记录仪通知饮料分配器传送一罐饮料到出货口。
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
练习
用户在ATM(自动取款机)提取1000元人民币的最理想 场景(卡内有余额5000,密码1234)如下描述
开始用户(张三)将银行卡插入到读卡器,读卡器读卡号, 打开张三的账目对象,并初始化屏幕,屏幕提示输入PIN (密码),张三输入密码(1234),然后系统验证密码 与帐户对象,发出相符的信息。ATM屏幕向张三提供选项, 张三选择取款,然后屏幕提示张三输入取款金额,他选择 了1000元RMB,系统启动账目对象进行核实,之后从帐 户中取钱;系统启动一系列的账目对象要完成的过程。首 先,验证张三的帐目至少有1000元RMB ,然后从中扣除 1000元RMB,再让吐钱机提供1000元RMB现金,另外 还需要让票据打印机提供取款凭据,最后让读卡器退卡。
可视化建模与UML
东软信息学院 计算机系
主要内容
描述系统的动态建模以及如何在一个模型中捕获 它。 介绍交互图的两种形式
顺序图 (sequence diagram) 协作图(collaboration diagram)
比较顺序图和协作图的异同点
Example1
Example2
对象需要交互
一个消息实例的接收可看作一个事件的实例 发送消息引发的动作:执行可执行语句——导致
状态改变
RegisterControl getCourseOfferings(forSemes... CourseCatalogSystem
交互图(interaction diagram)
交互图是一种详细表示对象之间以及对象与系统外部的参 与者(actor)之间动态联系的图形文档。
下依次画出随后的各个消息; 5. 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,
则采用FOC; 6. 如果需要说明时间约束,则在消息旁边加上约束说明; 7. 如果需要,可以为每个消息附上前置条件和后置条件。
图书管理系统——借书顺序图
练习1:还书顺序图
练习2:解释下面的顺序图
:顾客
:前端
【问题:】请你利用UML的动态视图中的顺序图对在ATM 取款最理想的场景进行建模
其它消息类型:如阻止(balking)消息,超时(time-out)消息等为 UML核心的扩充。
同步消息
异步消息
返回消息
顺序图的特点
顺序图是一个二维图形。在顺序图中水平方向为 对象维,沿水平方向排列参与交互的对象;竖向 方向为时间维,沿垂直向下方向按时间递增顺序 列出各对象所发出和接收的消息。
交互图的两种形式
交互图有两种形式:
顺序图(sequence diagram) 协作图(collaboration diagram)
顺序图:强调消息的时间顺序的交互图。图形 上是一张表,对象沿X轴排列,消息沿Y轴按时 间顺序排列。
对象相互链接的地方就有交互 具有对象协作的系统、子系统语境中
如Web商务系统,客户对象、服务器对象间交互
操作实现语境中
操作的参数、局部变量、全局对象相互交互完成操作的实 现算法
类语境中
通过交互显示类的属性是如何相互协作的
对象通过消息交互
Messages,传递信息的对象之间所进行的通 信,消息带有对将要发生的活动的期望
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
协作图:强调发送和接收消息的对象之间的组织 结构的交互图。图形上是顶点和弧的结合
顺序图(Sequence diagram)
定义:顺序图描述了对象之间传送消息的时间 顺序,它用来表示用例中的行为顺序。
Sequence图中的组成元素
顺序图中的一些主要元素:
– Object (包括actor实例) – Lifeline (生命线) – Focus of control(控制焦点)和activation(激活期) – Message
初步类图
购买饮料主要场景的顺序图
已售完场景的顺序图
“零钱数目不对”的场景
“零钱找不开”场景的顺序图
一般的顺序图
Leabharlann Baidu:顾客
:前端
:记录仪
:分配器
接收顾客现钞和选择
获得顾客输入
[没有零钱]返还现金
[现钞>价格]找零
显示提示信息
《transaction over》[没有 零钱]
[售完]返还现金
检查库存
水平轴上的对象间的相互顺序并不重要。
顺序图不表示对象间的关联(associations)关系。
建立顺序图的步骤
1. 确定交互过程的上下文(context); 2. 识别参与交互过程的对象; 3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过
程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命线之间从顶到
Object
sequence图和collaboration图描述的是对象之间 的消息发送关系,而不是类之间的关系。
在顺序图中并不包括系统中的所有类的对象。也有 可能某些对象属于同一个类。
交互图中的对象的常见命名方式:
显示对象名和类名 只显示类名
只显示对象名
Message
消息的类型:在UML 1.4以上版本的规范说明中消息分 同步消息,异步消息,返回消息三种。
用例阐述:
“购买饮料”用例的次要场景1—饮料已售完 1)若饮料已售完,记录仪要求显示屏显示“已售完” 2)记录仪将钱币从退币口返回给顾客 “购买饮料”用例的次要场景2—需要找零 1)记录仪查找自己的现金储备以便找零; 2)记录仪更新自己的钱币存储记录; 3)记录仪将找回的钱通过退币口返还给顾客; 4)记录仪通知饮料分配器传送一罐饮料到出货口。 “购买饮料”用例的次要场景3—零钱找不开 1)记录仪查找自己的现金储备以便找零; 2)如果无法找零,记录仪要求显示屏显示“投入正好的货 币” 3)记录仪将钱币从退币口返回给顾客
顺序图:从用例到类
顺序图使你可以可视化地对系统逻辑建模。 对象、类和参与者都在顺序图中进行了描述。 理解分析阶段的基本逻辑,在设计阶段详细将 其突出出来。
实例:饮料销售机系统
用例图
用例阐述:
“购买饮料”用例的主要场景: 1)顾客从投币口塞入钱币,然后选择想要的饮料; 2)系统将钱币送入钱币记录仪; 3)记录仪检查是否还有存货; 4)记录仪更新自己的钱币存储记录; 5)记录仪通知饮料分配器传送一罐饮料到出货口。
显示提示信息 《transaction over》[售完]
更新现钞储存
[现钞>价格]接收找零
发送饮料
接收饮料 《transaction over》
练习
用户在ATM(自动取款机)提取1000元人民币的最理想 场景(卡内有余额5000,密码1234)如下描述
开始用户(张三)将银行卡插入到读卡器,读卡器读卡号, 打开张三的账目对象,并初始化屏幕,屏幕提示输入PIN (密码),张三输入密码(1234),然后系统验证密码 与帐户对象,发出相符的信息。ATM屏幕向张三提供选项, 张三选择取款,然后屏幕提示张三输入取款金额,他选择 了1000元RMB,系统启动账目对象进行核实,之后从帐 户中取钱;系统启动一系列的账目对象要完成的过程。首 先,验证张三的帐目至少有1000元RMB ,然后从中扣除 1000元RMB,再让吐钱机提供1000元RMB现金,另外 还需要让票据打印机提供取款凭据,最后让读卡器退卡。
可视化建模与UML
东软信息学院 计算机系
主要内容
描述系统的动态建模以及如何在一个模型中捕获 它。 介绍交互图的两种形式
顺序图 (sequence diagram) 协作图(collaboration diagram)
比较顺序图和协作图的异同点
Example1
Example2
对象需要交互
一个消息实例的接收可看作一个事件的实例 发送消息引发的动作:执行可执行语句——导致
状态改变
RegisterControl getCourseOfferings(forSemes... CourseCatalogSystem
交互图(interaction diagram)
交互图是一种详细表示对象之间以及对象与系统外部的参 与者(actor)之间动态联系的图形文档。
下依次画出随后的各个消息; 5. 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,
则采用FOC; 6. 如果需要说明时间约束,则在消息旁边加上约束说明; 7. 如果需要,可以为每个消息附上前置条件和后置条件。
图书管理系统——借书顺序图
练习1:还书顺序图
练习2:解释下面的顺序图
:顾客
:前端
【问题:】请你利用UML的动态视图中的顺序图对在ATM 取款最理想的场景进行建模
其它消息类型:如阻止(balking)消息,超时(time-out)消息等为 UML核心的扩充。
同步消息
异步消息
返回消息
顺序图的特点
顺序图是一个二维图形。在顺序图中水平方向为 对象维,沿水平方向排列参与交互的对象;竖向 方向为时间维,沿垂直向下方向按时间递增顺序 列出各对象所发出和接收的消息。