第7讲 交互建模--顺序模型,活动模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长沙学院计算机系 周景
Frame
Frame的左上角 有文字标签,写 明顺序图的名字。
sd withdrawal
长沙学院计算机系 周景
Combined Fragment
Combined Fragment) 表示为一个矩形区域, 左上角的文字标签表明 控制类型,中括号内的 是守护条件。
长沙学院计算机系 周景
: 预约单 : 餐馆员工 1 : 输入日期() 2 : 获取预约()
: 预约
3 : 返回预约 4 : 更新预约显示 5 : 显示预约
长沙学院计算机系 周景
记录预约的顺序图
参与者是服务员 主事件流:
1.服务员执行用例“查看预约” 2.有一张合适的餐桌可以使用,服务员输入顾 客的姓名和电话号码、预约时间、用餐人数和 餐桌号 3.系统记录并显示该预约
长沙学院计算机系 周景
通信图 强调参加交互的对象的组织。
长沙学院计算机系 周景
长沙学院计算机系 周景
通信图的特点 通信图没有对象的生命线 没有控制焦点 通信图有路径,路径表示了对象的知识源 通信图和顺序图在语义上是等价的
长沙学院计算机系 周景
画顺序图的步骤
1. 首先准备好类图和用况脚本。 2. 从用况脚本中选取一个重要的事件流作 为顺序图描述的系统动态行为。 3. 将参加交互的对象放在图的上方,水平 排列。 4. 把这些对象发送和接收的消息沿垂直轴 方向按时间顺序从上向下放置。
长沙学院计算机系 周景
顺序图
长沙学院计算机系 周景
生命线 每个对象都有一条垂直的虚线,叫生命线, 表示一个对象生存周期。 生命线在接收到destroy消息时结束。
长沙学院计算机系 周景
控制焦点 控制焦点是一个瘦高的矩形,表示一个对 象执行一个动作所经历的时间段。
长沙学院计算机系 周景
消息 顺序图的主要内容是消息。 消息表示为从一条生命线到另一条生命线 的箭线。箭头指向消息接收者。
长沙学院计算机系 周景
什么是活动? 活动是一个状态机中进行的非原子的执行 单元。 活动的执行最终延伸为一些独立动作 (action)的执行,每个动作都可能改变系 统的状态或者传递消息。
长沙学院计算机系 周景
建房项目活动图 活动图用来 捕捉建房项 目中的关键 路径
长沙学院计算机系 周景
活动图的内容 动作 活动结点 流 对象值
长沙学院计算机系 周景
活动图用来做什么?
描述算法:对计算过程中的顺序(也可能是 并发的)进行建模。 数据流建模:对步骤之间的值的流动进行建 模。 业务流程的建模:用来可视化、详述、构造 和文档化对象群体的动态特性。 对一个操作(例如用况)的控制流建模。
长沙学院计算机系 周景
活动图与交互图 交互图强调的是从对象到对象之间的控制 流。 活动图强调的是从步骤(活动)到步骤的 控制流。
长沙学院计算机系 周景
动作和活动节点 动作(ActionState):可执行的原子计算 被称为动作。动作不能被分解。 活动节点(SubactivityState):内嵌的动 作组。放大活动节点的细节,就会发现另 一个制流
当一个活动或活动结点结束 时,控制流将马上传递到下 一个动作或活动结点。 UML图用一个支状箭头来表 示控制流。
长沙学院计算机系 周景
活动图的一般用法 对工作流(业务流程)建模 对操作建模
长沙学院计算机系 周景
对业务流程建模
对系统的关键业务流程建模,包含了具 有高层职责的业务对象 例如:
1. 建房项目的业务流程 2. 电子商务的业务流程 3. 游戏的过程(从开始游戏到游戏结束的关键 路径)
长沙学院计算机系 周景
长沙学院计算机系 周景
记录预约的顺序图
长沙学院计算机系 周景
对创建新预约进行分析
创建新预约应该是一个有多个步骤的动作, 因为一个新的预约对象必须要与餐桌对象 和顾客对象有所关联,而这些关联在现在 的顺序图里并没有表现出来。
长沙学院计算机系 周景
活动图(activity diagram) 活动图显示从活动到活动的流。 从本质上说活动图是一个流程图,展现从 活动到活动的控制流。 活动图能够展示分支和控制分支。
UML统一建模语言
长沙学院计算机系 周景
第7讲 交互建模 –顺序模型
重点:
顺序图 通信图 活动图
长沙学院计算机系 周景
交互图 交互图用于对系统的动态方面建模。 它表现的是一个交互,由一组对象和它们 之间的关系组成,包括它们之间传递的消 息。
长沙学院计算机系 周景
对用况脚本进行可视化
机器人总动员Wall-E
长沙学院计算机系 周景
长沙学院计算机系 周景
交互图 如果把用况脚本比作剧本的话,那么交互 图就可以看成是故事板。 交互图:
顺序图(sequence diagram)是强调时间顺序 的交互图。 通信图(communication diagram)是强调进 行交互的对象之间的组织组织结构的交互图。
长沙学院计算机系 周景
作业
p116 7.3(选取3个用例编写用例脚本并画出 顺序图) 7.5(选取3个用例编写用例脚本) 7.10 p128 8.10
长沙学院计算机系 周景
1.
2. 3. 4. 5.
检查当前线段斜率slope与 另一条线段的斜率 line.slope是否相等 如果是,则两线不相交, 返回Point(0,0) 如果否,计算交叉点的x值 计算交叉点的y值 返回Point(x,y)
长沙学院计算机系 周景
不同层次的模型
分析模型:“做什么”? 设计模型:“怎么做”? 实际上要想严格区分“分析”和“设计” 的界限是非常困难的,例如在对餐馆系统 进行分析时,我们使用了一个用户界面原 型,并设想了用户将会如何使用这个软件, 这实际上在某种程度上就是“设计”。
长沙学院计算机系 周景
餐馆系统的分析模型
选择一个最简单的用况“查看预约”,参 与者是“餐馆员工” 主事件流:
1.餐馆员工输入预约的日期 2.系统显示该日的预约
长沙学院计算机系 周景
查看预约的顺序图
注意在这里进行交互的是角色或者对象 (类的实例),而不是类
长沙学院计算机系 周景
对顺序图进行细化
对象流 对象可以被包含在与活动图相关的控制流 中。 UML图使用矩形来表示对象。
长沙学院计算机系 周景
长沙学院计算机系 周景
扩展区域 扩展区域表示在元素列表或集合上执行的 活动模型片断。 在活动图中,用一个虚线的矩形区域来表 示扩展区域。 扩展区域的输入和输出表示为一行相连的 小方块(代表数组),执行区域将为数组 中的每个元素执行一次。
控制类型 可选执行:opt 条件执行:alt 并行执行:par 循环执行:loop
长沙学院计算机系 周景
Ineraction Operand
Interaction Operand将 Combined Fragment分为 几个分区,每个分区都可 以有守护条件
长沙学院计算机系 周景
嵌套顺序图 Staruml目前没有这个功能
长沙学院计算机系 周景
消息种类 异步消息使用支状箭头,异步消息的发送 对象不会等待返回消息。 同步消息使用实心三角箭头,同步消息的 发送对象会等待返回消息。 返回消息使用带有支状的虚线来表示。返 回消息可以省略。
长沙学院计算机系 周景
顺序图的结构化控制 除了单一的线性序列,通常还需要展示条 件和循环以及多个序列的并发执行。
长沙学院计算机系 周景
分支 1. 菱形表示分支。 2. 菱形还可以表示 合并
长沙学院计算机系 周景
分岔和汇合
对并发流建模 时需要用到分 岔和汇合
长沙学院计算机系 周景
泳道(swimlane)
可以将活动图中的活动 分组,每个分组被称为 泳道 每个泳道表示负责这些 活动的业务机构
长沙学院计算机系 周景
UML一个最大的特点就是可视化,怎样将 用况脚本可视化?
长沙学院计算机系 周景
故事板 故事板是对一个故事的时间和状态的描述。 故事部门将剧情由文字意念变成手绘草图。 分镜表连同声音进行剪接,帮助确立故事 情节、影片节奏和拍摄角度。
长沙学院计算机系 周景
《凯斯宾王子》故事板草图
长沙学院计算机系 周景
申购基金的业务流程
长沙学院计算机系 周景
对操作建模
对一个操作中的动作建模,这是一个底 层的模型。 我们可以利用活动图对操作建模,例如:
1. 在贪吃蛇游戏中,判断游戏结束; 2. 在五子棋游戏中,判断哪一方获胜; 3. 在连连看游戏中,判断方块能否被消除
长沙学院计算机系 周景
对一个操作建模