Chapter 07-状态机图(状态图与活动图)_第1页
Chapter 07-状态机图(状态图与活动图)_第2页
Chapter 07-状态机图(状态图与活动图)_第3页
Chapter 07-状态机图(状态图与活动图)_第4页
Chapter 07-状态机图(状态图与活动图)_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7章:状态机图章:状态机图 状态图与活动图状态图与活动图By 课件下载:课件下载:2 状态机状态机n概念概念q定义对象行为的规格说明定义对象行为的规格说明q对类实例生存周期建立模对类实例生存周期建立模型,表示对象的生命历程型,表示对象的生命历程n说明对象对生存周期内说明对象对生存周期内可能检测到事件的响应可能检测到事件的响应n描述对象随时间变化的动态行为描述对象随时间变化的动态行为n描述对象在外部事件作用下的状态描述对象在外部事件作用下的状态n表示表示q状态图:以状态为中心,对系统的动态方面建模状态图:以状态为中心,对系统的动态方面建模q活动图:以活动为中心,对计算流程和工作流程建模活动图

2、:以活动为中心,对计算流程和工作流程建模3状态图状态图n一个状态图有初始状态、终止状态、状态、转换一个状态图有初始状态、终止状态、状态、转换和分支等元素和分支等元素n图元素的表示图元素的表示q初始状态初始状态q终止状态终止状态q状态状态q分支分支q转换转换4初始状态和终止状态初始状态和终止状态n初始状态初始状态q代表状态图的起始位置代表状态图的起始位置q只能作为转换的源,而不能作为转换的目标只能作为转换的源,而不能作为转换的目标q一个状态图只有一个初始状态一个状态图只有一个初始状态q表示:实心圆表示:实心圆n终止状态终止状态q状态图的终止点,模型元素的最后状态状态图的终止点,模型元素的最后状态

3、q只能作为转换的目标,而不能作为转换的源只能作为转换的目标,而不能作为转换的源q一个状态图可以有多个终止状态一个状态图可以有多个终止状态q表示:一个套有实心圆的空心圆表示:一个套有实心圆的空心圆5状态状态n定义定义q对象状态由对象属性集的取值来确定对象状态由对象属性集的取值来确定q表示:带圆角矩形,分为表示:带圆角矩形,分为3个部分个部分n名称:对象所处状态的唯一标识名称:对象所处状态的唯一标识n内部转换:对象响应外部事件所执行的动作,内部内部转换:对象响应外部事件所执行的动作,内部转换发生时,不改变对象的状态转换发生时,不改变对象的状态n嵌套状态图嵌套状态图 :标明此状态是复合状态:标明此状

4、态是复合状态 6 状态状态n分类分类q简单状态简单状态n不包含子状态不包含子状态n具有内部转换、入口动作和出口动作具有内部转换、入口动作和出口动作q组合状态:包含子状态组合状态:包含子状态q历史状态历史状态n初次进入复合状态,要从嵌套的初次进入复合状态,要从嵌套的子状态的初始状态开始执行子状态的初始状态开始执行n离开复合状态,再次进入时,希离开复合状态,再次进入时,希望从离开时所处于的子状态(望从离开时所处于的子状态(历历史状态史状态)开始)开始7状态状态nMP3播放机的状态图播放机的状态图 前进前进 后退后退 停止停止 播放播放 行为行为 H 暂停暂停 打断打断 恢复恢复 8状态状态n组合状

5、态的分类与表示组合状态的分类与表示q顺序子状态:顺序子状态:子状态之间是互斥关系子状态之间是互斥关系n复合状态被激活时,只能有一个子状复合状态被激活时,只能有一个子状态处于活动状态态处于活动状态q并发子状态:并发子状态:子状态之间是并发关系子状态之间是并发关系n复合状态被激活时,包含复合状态被激活时,包含2个或多个个或多个子状态处于活动状态子状态处于活动状态n注:子状态可能需要通信注:子状态可能需要通信q表示方法表示方法n将子状态图嵌入复合状态中将子状态图嵌入复合状态中n在复合状态中加入分解指示符在复合状态中加入分解指示符 9状态状态n子状态机之间的通信子状态机之间的通信q并发的状态机并发的状

6、态机1和状态机和状态机2进行通信进行通信q状态机状态机1的实验中加入一个退出动作,退出时将的实验中加入一个退出动作,退出时将lab设为设为true,lab同时又是状态机同时又是状态机2的一个监护条件的一个监护条件q只有实验完成了,才能实施团队项目只有实验完成了,才能实施团队项目 不不及及格格 课课程程评评价价 lab 项项目目完完成成 注注册册课课程程 课课程程通通过过 实实验验 2 实实验验 1 exit/lab=true 团团队队项项目目 考考试试 课课程程不不通通过过 及及格格 补补考考 实实验验1完完成成 实实验验2完完成成 10转换转换n定义定义q外部事件作用下,满足特定条件时,对象

7、在源状态下执行外部事件作用下,满足特定条件时,对象在源状态下执行一系列动作,进入目标状态一系列动作,进入目标状态n表示表示q箭头线箭头线n涉及概念涉及概念q源状态源状态q目标状态目标状态q事件:事件:外部作用于对象,触发对象状态改变外部作用于对象,触发对象状态改变q监护条件:监护条件:事件发生,验证监护条件,决定是否执行转换事件发生,验证监护条件,决定是否执行转换q动作:动作:转换被激发,则执行定义的动作转换被激发,则执行定义的动作q活动:活动:对象处于某状态时,进行的一系列动作对象处于某状态时,进行的一系列动作 11转换转换n事件:事件:外部作用于对象,触发对象状态改变外部作用于对象,触发对

8、象状态改变q信号事件:通过发送或接收信号,实现对象之间通信信号事件:通过发送或接收信号,实现对象之间通信n异步机制:对象之间异步发送异步机制:对象之间异步发送/接收信号接收信号n对象之间可以形成泛化关系对象之间可以形成泛化关系neg:鼠标、键盘的操作鼠标、键盘的操作q调用事件:调用对象的成员方法调用事件:调用对象的成员方法n同步机制同步机制neg: 12 转换转换 n事件:事件:外部作用于对象,触发对象状态改变外部作用于对象,触发对象状态改变q改变事件改变事件n根据属性的取值,触发事件根据属性的取值,触发事件q时间事件时间事件n根据时间流逝,触根据时间流逝,触发事件发事件q延迟事件:延迟事件:

9、n对象处在某状态时,外部事件已产生,但没有执行对象处在某状态时,外部事件已产生,但没有执行(相应)事件,而是延迟到其他状态响应(相应)事件,而是延迟到其他状态响应neg:邮件发送邮件发送13转换转换n动作:动作:转换被激发,则执行定义的动作转换被激发,则执行定义的动作q转换被激发后,执行定义的动作转换被激发后,执行定义的动作q动作示例:动作示例:n赋值语句、算术运算、发送信号、调用操作、创建赋值语句、算术运算、发送信号、调用操作、创建和销毁对象、读取和设置属性值、包含多个动作的和销毁对象、读取和设置属性值、包含多个动作的活动活动q动作分类动作分类n入口动作入口动作n出口动作出口动作n动作动作n

10、事件动作事件动作14转换转换n活动:活动:对象处于某状态时,进行的一系列动作对象处于某状态时,进行的一系列动作q表示:表示:“do / 动作名动作名”,添加在状态的转换栏,添加在状态的转换栏 入入口口动动作作,进进入入该该状状态态时时执执行行该该动动作作 动动作作,处处于于该该状状态态时时执执行行的的动动作作 事事件件动动作作, ,状状态态中中出出现现特特定定事事件件时时执执行行的的动动作作 退退出出动动作作, , 离离开开该该状状态态时时执执行行该该动动作作 延延迟迟响响应应事事件件, , 在在该该状状态态出出现现该该事事件件时时, , 不不在在本本状状态态响响应应, ,而而是是延延迟迟到到

11、其其他他状状态态响响应应 15转换转换n分类分类q外部转换外部转换n改变对象的状态改变对象的状态n外部事件作用下,满足特定条件外部事件作用下,满足特定条件监护条件监护条件时,对象时,对象在源状态下执行一系列动作,进入目标状态在源状态下执行一系列动作,进入目标状态n进入状态,执行状态的入口动作进入状态,执行状态的入口动作n离开状态,执行状态的出口动作离开状态,执行状态的出口动作q内部转换内部转换n不改变对象的状态不改变对象的状态n源状态内执行一系列动作源状态内执行一系列动作n动作中不包含入口和出口动作动作中不包含入口和出口动作 电电水水壶壶的的状状态态图图 16 转换转换n分类分类q自动转换自动

12、转换n没有外部事件的作用,执行了一系列活动,完成的没有外部事件的作用,执行了一系列活动,完成的状态转换状态转换n自动激发状态的入口动作或出口动作自动激发状态的入口动作或出口动作q复合转换复合转换n通过分支判断,将通过分支判断,将若干个简单转换组若干个简单转换组合在一起合在一起17 分支分支n对象状态根据监护条件的取值而发生分支对象状态根据监护条件的取值而发生分支q对象在外部事件的作用下,根据监护条件的不同值,转对象在外部事件的作用下,根据监护条件的不同值,转向不同的目标状态向不同的目标状态q表示:菱形框表示:菱形框18绘制状态图绘制状态图n步骤步骤q寻找主要状态寻找主要状态q寻找外部事件,确定

13、状态之间的转换寻找外部事件,确定状态之间的转换q详细描述每个状态和转换详细描述每个状态和转换q把简单状态图转换为复合状态图把简单状态图转换为复合状态图n例子例子q航班订票系统航班订票系统19绘制状态图绘制状态图n寻找主要状态寻找主要状态q确定状态确定状态n机票机票4个状态:无预订、部分预订、预订完、预订关闭个状态:无预订、部分预订、预订完、预订关闭n刚刚确定飞行计划或顾客预订机票前:刚刚确定飞行计划或顾客预订机票前:无预订无预订状态状态n预订分为预订分为部分订定部分订定和和预订完预订完两种状态两种状态n飞机起飞:飞机起飞:预订关闭预订关闭状态状态q寻找外部事件寻找外部事件n预订预订():顾客预

14、订机票:顾客预订机票n退订退订():顾客退订机票:顾客退订机票n关闭关闭():管理员关闭订票系统:管理员关闭订票系统n取消航班取消航班():调度人员取消飞行计划:调度人员取消飞行计划20绘制状态图绘制状态图n确定状态转换确定状态转换q事件与状态事件与状态转换转换q初步状态图初步状态图 源源目目标标 无无预预订订 部部分分预预订订 预预订订完完 预预订订关关闭闭 无无预预订订 预预订订() 不不直直接接转转换换 关关闭闭() 部部分分预预订订 退退订订()事事件件发发生生后后,使使预预订订人人=0 预预订订(), 无无空空座座 关关闭闭() 预预订订完完 不不直直接接转转换换 退退订订() 关关

15、闭闭() 预预订订关关闭闭 无无转转换换 无无转转换换 无无转转换换 关关闭闭() 无无预预订订 部部分分预预订订 预预订订关关闭闭 预预订订完完 退退订订() 预预订订数数=空空位位数数预预订订() 预预订订() 关关闭闭() 关关闭闭() 取取消消航航班班() 退退订订数数=已已预预订订数数退退订订() 21绘制状态图绘制状态图n详细描述每个状态和转换详细描述每个状态和转换 关闭关闭() 部分预订部分预订 event 退订退订() / 退订数退订数已预定数已预定数 event 预订预订() / 预订数预订数空位数空位数 预订关闭预订关闭 预订完预订完 预订预订预订数预订数=空位数空位数 预

16、订预订 已预订已预订数数=已预订数已预订数+预订数预订数 关闭关闭() 关闭关闭() 取消航班取消航班() 退订退订已预订数已预订数=已已预订数预订数-退订数退订数 无预订无预订 entery / reset() 退订退订已预订数已预订数=已预订数已预订数-退订数退订数 退订数退订数=已预订数已预订数 22绘制状态图绘制状态图n把简单状态图转换为复合状态图把简单状态图转换为复合状态图 关关闭闭() 部部分分预预订订 event 退退订订() / 退退订订数数已已预预定定数数 event 预预订订() / 预预订订数数空空位位数数 预预订订关关闭闭 预预订订完完 预预订订预预订订数数=空空位位数

17、数 预预订订 已已预预订订数数=已已预预订订数数+预预订订数数 取取消消航航班班() 退退订订已已预预订订数数=已已预预订订数数-退退订订数数 无无预预订订 entery / reset() 退退订订已已预预订订数数=已已预预订订数数-退退订订数数 退退订订数数=已已预预订订数数 预预定定中中 23活动图活动图n初识活动图初识活动图q是一种表述业务过程以及工作流的技术是一种表述业务过程以及工作流的技术q可以用来对业务过程、工作流建模可以用来对业务过程、工作流建模q可以对用例实现,甚至是对程序实现进行建模可以对用例实现,甚至是对程序实现进行建模q活动图与流程图的最主要的区别在于,活动图能够标识活

18、动图与流程图的最主要的区别在于,活动图能够标识活动的并行行为活动的并行行为n对两个方面建模对两个方面建模q在业务分析阶段,对工作流程进行建模在业务分析阶段,对工作流程进行建模q在系统分析和设计阶段,对操作流程进行建模在系统分析和设计阶段,对操作流程进行建模24 活动图活动图n概念概念q活动图是描述系统或业务的一序活动图是描述系统或业务的一序列活动构成的控制流,它描述了列活动构成的控制流,它描述了系统从一种活动转换到另一种活系统从一种活动转换到另一种活动的整个过程动的整个过程q例如:公司销售活动图例如:公司销售活动图n作用作用q描述业务或软件系统的活动轨迹描述业务或软件系统的活动轨迹q描述系统的

19、活动控制流程描述系统的活动控制流程q对业务过程、工作流和用例实现进行建模对业务过程、工作流和用例实现进行建模n图元素的表示图元素的表示q初始节点、终点、活动节点、转换、分支、分岔与汇合初始节点、终点、活动节点、转换、分支、分岔与汇合25初始节点和终点初始节点和终点n初始节点初始节点q表示活动的起点表示活动的起点q一个活动图中只有一个初始节点一个活动图中只有一个初始节点q表示:实心圆表示:实心圆n终点终点q表示活动的终结点表示活动的终结点q一个活动图中可能包含多个终点一个活动图中可能包含多个终点q表示:一个套有实心圆的空心圆表示:一个套有实心圆的空心圆26 活动节点与转换活动节点与转换n活动节点

20、是活动图中最主要的元素之一活动节点是活动图中最主要的元素之一q用来表示一个活动用来表示一个活动q一个活动表示多个动作的集合一个活动表示多个动作的集合q表示:圆角矩形表示:圆角矩形n文字描述活动节点文字描述活动节点n表达式描述活动节点表达式描述活动节点n消息描述活动节点消息描述活动节点n转换转换q当一个活动结束时,活动控制流就会马上传递给下一个当一个活动结束时,活动控制流就会马上传递给下一个活动节点活动节点q表示:箭头线表示:箭头线27分支与监护条件、分岔与汇合分支与监护条件、分岔与汇合n用分支与监护条件表示活动控制流用分支与监护条件表示活动控制流q表示有条件的转换:表达一个活动节点到另表示有条

21、件的转换:表达一个活动节点到另一个活动节点的转换条件一个活动节点的转换条件q表示:表示:n分支用菱形表示,菱形组合分支用菱形表示,菱形组合“一个一个进入转换进入转换”和和“一个或多个一个或多个离开转换离开转换”n每个离开转换上都会有一个监护条件,表示满足某每个离开转换上都会有一个监护条件,表示满足某种条件时才执行该转换种条件时才执行该转换n分岔与汇合分岔与汇合q强调强调活动的并发活动的并发q表示:表示:28 活动图分类活动图分类n简单活动图简单活动图q订单处理的活动图订单处理的活动图n每个活动都是每个活动都是简单的活动简单的活动n既没有标识活动既没有标识活动的执行者,也没的执行者,也没有标识活

22、动执行有标识活动执行过程中创建了哪过程中创建了哪些对象些对象n三个活动节点三个活动节点“供应商送货供应商送货”、“修改订单项状态修改订单项状态”以及分支以及分支“所有订单项已送货完毕所有订单项已送货完毕”都需要执行都需要执行多次,多次,因为一个订单对应多个因为一个订单对应多个“送货单送货单”29活动图分类活动图分类n标识泳道的活动图标识泳道的活动图q泳道泳道(Swim Lane)n有效地表示各个活动的有效地表示各个活动的负责信息负责信息q通过泳道,不仅体现了整通过泳道,不仅体现了整个活动控制流,还体现出个活动控制流,还体现出了每个活动的实施者了每个活动的实施者q如图示:如图示:n两个泳道:表示

23、两个泳道:表示“窗口窗口”和和“打印机打印机”两个活动执两个活动执行者行者n一条垂直线将两个泳道分开一条垂直线将两个泳道分开n每个泳道都必须有一个唯一的名称每个泳道都必须有一个唯一的名称n每个活动节点、分支必须只属于一个泳道每个活动节点、分支必须只属于一个泳道n转换,分岔与汇合可以跨泳道转换,分岔与汇合可以跨泳道 30活动图分类活动图分类n标识对象流的活动图标识对象流的活动图q两种现象:两种现象:n对象进入活动节点,经过活动处理对象进入活动节点,经过活动处理修改了对象状态修改了对象状态n活动节点活动节点创建或删除了一些对象创建或删除了一些对象q在活动图中,标识对象与活动节点的关系在活动图中,标

24、识对象与活动节点的关系n标识哪些对象进入活动节点标识哪些对象进入活动节点n标识哪些对象从活动节点中输出标识哪些对象从活动节点中输出31 活动图分类活动图分类n标识对象流的活动图标识对象流的活动图q“订单处理订单处理”的活动图的活动图32活动图分类活动图分类n标识对象流的活动图标识对象流的活动图q“订单处理订单处理”的活动图标识的对象流的活动图标识的对象流n当当“用户下订单用户下订单”时,创建时,创建Order类实例存放订单信息,类实例存放订单信息,该该Order类实例还包含着相应的多个类实例还包含着相应的多个OrderItem实例实例n当当“生成送货单生成送货单”时,创建多个时,创建多个Del

25、iverOrder实例实例n当当“修改订单项状态修改订单项状态”后,后,DeliverOrder对象状态对象状态finishedq“订单处理订单处理”的活动图蕴含的对象流的活动图蕴含的对象流n当当“收款收款”后,后,Order类实例的状态类实例的状态“已付款已付款”。n当当“修改订单项状态修改订单项状态”后,后,Order类实例中部分类实例中部分OrderItem的状态的状态“已送货已送货”。n当用户取消或订单超过时限时,当用户取消或订单超过时限时,Order类实例的状态就类实例的状态就将成为将成为Cancel33活动图分类活动图分类n标识信号的活动图标识信号的活动图q信号表示两个对象之间的异

26、步通讯方式信号表示两个对象之间的异步通讯方式q对象接收到信号,触发信号事件对象接收到信号,触发信号事件q三种信号元素三种信号元素n发送信号:发送者发出一个异步消息发送信号:发送者发出一个异步消息n接收信号:接收者收到的一个外部信号接收信号:接收者收到的一个外部信号n时间信号:表示随时间流逝而自动发出的信号,当时时间信号:表示随时间流逝而自动发出的信号,当时间到达某个特定时刻,就会触发时间事件间到达某个特定时刻,就会触发时间事件q10点钟发出响铃信号:每天点钟发出响铃信号:每天10点时,闹钟响铃点时,闹钟响铃34 活动图分类活动图分类n标识信号的活动图标识信号的活动图q小张去必胜客饭店吃饭,发现

27、要排队等待座位,他决定小张去必胜客饭店吃饭,发现要排队等待座位,他决定若若15分钟轮不到,就去隔壁的肯德基分钟轮不到,就去隔壁的肯德基q假设小张排在最前面假设小张排在最前面n图中两个控制流图中两个控制流只有一个控制流只有一个控制流会执行会执行n在时间信号发生在时间信号发生之前,必胜客饭之前,必胜客饭店发出店发出“有空位有空位”信号,小张接收信号,小张接收到到“有空位有空位”信号,执行信号,执行“进入必胜客进入必胜客”活动;否活动;否则小张执行则小张执行“进入肯德基进入肯德基”活动活动35活动图分类活动图分类n标识参数的活动图标识参数的活动图q活动图中标明参数,可以表示更多的信息活动图中标明参数

28、,可以表示更多的信息n活动节点活动节点执行前执行前,需要,需要输入输入哪些哪些参数参数n活动节点活动节点执行后执行后,需要,需要输出输出哪些哪些参数参数n活动节点活动节点执行后执行后,需要进行的,需要进行的错误处理错误处理q参数是参数是小矩形框小矩形框表示的一个对象节点,有表示的一个对象节点,有名称名称和和序号序号,标识在活动节点的边界上标识在活动节点的边界上n输入参数输入参数:标识在活动节点的:标识在活动节点的左边界左边界上上n输出参数输出参数:标识在活动节点的标识在活动节点的右边界右边界上上n错误参数错误参数:36活动图分类活动图分类n标识参数的活动图标识参数的活动图q活动活动“计算利息计

29、算利息”节点节点n输入参数:本金输入参数:本金(principal)、利率利率(rate)、年限年限(year)n输出参数:利息值输出参数:利息值(accrual),若输入若输入参数合法参数合法n输出参数:参数错误,输出参数:参数错误,若输入了错误若输入了错误参数参数 37 活动图分类活动图分类n标识扩展区的活动图标识扩展区的活动图q表示一个活动需要表示一个活动需要多次执行多次执行q订单处理的活动图订单处理的活动图改进改进n用用“扩展区表示活动扩展区表示活动节点的循环执行节点的循环执行”,来代替来代替“通过分支表通过分支表示循环控制流示循环控制流”,更,更为准确为准确n三个活动节点三个活动节点

30、“供应商送货供应商送货”、“修改订单项修改订单项状态状态”以及分支以及分支“所有订单项已送货完毕所有订单项已送货完毕”都都需要执行多次,需要执行多次,因为一个订单对应多个因为一个订单对应多个“送货单送货单”38 活动图分类活动图分类n嵌套活动图嵌套活动图q活动图包含子活动图活动图包含子活动图q活动活动“收款收款”是一个子活动图是一个子活动图39绘制活动图绘制活动图n关键步骤关键步骤q若希望标识活动实施者若希望标识活动实施者n应采用标识泳道的活动图,绘制活动图时,先找出应采用标识泳道的活动图,绘制活动图时,先找出活动执行者,再找出执行者参与的活动活动执行者,再找出执行者参与的活动q若希望描述活动

31、节点关系若希望描述活动节点关系n绘制活动图时,最大限度采用分支、分岔和汇合等绘制活动图时,最大限度采用分支、分岔和汇合等建模元素来描述活动控制流程建模元素来描述活动控制流程q若希望标识活动执行前后的对象创建、销毁、状态变化若希望标识活动执行前后的对象创建、销毁、状态变化n绘制活动图时,应先标识对象流,及对象状态变化绘制活动图时,应先标识对象流,及对象状态变化q若希望标识活动图中更详细的信息若希望标识活动图中更详细的信息n应使用高级的建模元素,如顺序活动图、并发活动应使用高级的建模元素,如顺序活动图、并发活动图、标识发送信号与接收信号、用扩展区来标识活图、标识发送信号与接收信号、用扩展区来标识活

32、动的循环执行等动的循环执行等40绘制活动图绘制活动图n对工作流程建模的原则对工作流程建模的原则q1从整个工作流中,选出一部分能从整个工作流中,选出一部分能体现高层职责的部体现高层职责的部门门,并为每个重要的职责部门,并为每个重要的职责部门创建创建一条一条泳道泳道q2标识工作流标识工作流初始节点的前置条件初始节点的前置条件和和活动终点的后置活动终点的后置条件条件,以便有效地找出,以便有效地找出工作流的边界工作流的边界q3从该工作流的初始节点开始,找出随时间推动的动从该工作流的初始节点开始,找出随时间推动的动作和活动,并在活动图中把它们作和活动,并在活动图中把它们标识标识成成活动节点活动节点q4将

33、复杂的活动或多次出现的活动用一个或多个子活将复杂的活动或多次出现的活动用一个或多个子活动图的动图的引用节点引用节点表示,然后为每个被引用的子活动图绘表示,然后为每个被引用的子活动图绘制出的制出的详细活动图详细活动图q5找出连接这些活动节点的找出连接这些活动节点的转换转换,首先从工作流的顺,首先从工作流的顺序开始,然后考虑序开始,然后考虑分支分支,接着再考虑,接着再考虑分岔和汇合分岔和汇合41绘制活动图绘制活动图n对工作流程建模的原则对工作流程建模的原则q6如果标识出工作流中重要的如果标识出工作流中重要的对象对象,则也可以把对象,则也可以把对象流加入到活动图中流加入到活动图中q7若工作流中有重复

34、执行的活动,我们采用若工作流中有重复执行的活动,我们采用扩展区扩展区来来表示循环活动表示循环活动q说明说明n一条泳道表示一个职责单位一条泳道表示一个职责单位(个人或部门个人或部门),泳道执行,泳道执行者者(职责人职责人)体现了职能部门的工作职责、业务范围、体现了职能部门的工作职责、业务范围、部门之间的交互关系部门之间的交互关系n矩形代表活动,菱形代表判断,平行线代表并行操矩形代表活动,菱形代表判断,平行线代表并行操作,带箭头线代表活动流作,带箭头线代表活动流42绘制活动图绘制活动图n对操作流程建模的原则对操作流程建模的原则q1寻找操作涉及的寻找操作涉及的属性属性,包括操作参数、返回类型、,包括

35、操作参数、返回类型、所属类的属性以及某些邻近的类所属类的属性以及某些邻近的类q2识别操作识别操作初始节点的前置条件初始节点的前置条件和和活动终点的后置条活动终点的后置条件件,也要识别,也要识别操作执行过程中必须保存的信息操作执行过程中必须保存的信息q3从操作的初始节点开始,标识随时间发生的从操作的初始节点开始,标识随时间发生的活动活动,并在活动图中将它们表示为并在活动图中将它们表示为活动节点活动节点q4如果需要,使用如果需要,使用分支分支来说明条件语句及循环语句来说明条件语句及循环语句q5仅当操作属于一个主动类时,才在必要时用仅当操作属于一个主动类时,才在必要时用分岔分岔和和汇合汇合来说明来说

36、明并行的控制流程并行的控制流程q注:常用于对注:常用于对“用例描述中的事件流用例描述中的事件流”进行建模进行建模43状态机图应用状态机图应用n两种应用两种应用q在对象生命周期内,对一个对象的整个活动状态建模在对象生命周期内,对一个对象的整个活动状态建模n描述对象生命周期内,各个状态以及在外部事件作用下状态之描述对象生命周期内,各个状态以及在外部事件作用下状态之间的转换间的转换n交互图和状态机图是交互图和状态机图是对系统动态行为互补的建模对系统动态行为互补的建模n交互图建模交互图建模描述描述多个协作对象多个协作对象的行为,较短的一段时间内对象的行为,较短的一段时间内对象之间的消息传递之间的消息传

37、递n状态机图建模状态机图建模描述描述单个对象单个对象在生命周期内的行为,在生命周期在生命周期内的行为,在生命周期内所接收到的所有可能的消息序列内所接收到的所有可能的消息序列q对反应型对象的行为建模对反应型对象的行为建模n描述描述对象可能处于的状态,对象可能处于的状态,描述描述从状态转换所需要的触发事件从状态转换所需要的触发事件,描述描述状态改变时发生的动作或活动状态改变时发生的动作或活动n交互图的节点是对象,建模交互图的节点是对象,建模“对象到对象的控制流对象到对象的控制流”n活动图的节点是活动,建模活动图的节点是活动,建模“活动到活动的控制流活动到活动的控制流”n状态图的节点是状态,建模状态

38、图的节点是状态,建模“事件到事件的控制流事件到事件的控制流”44示例示例nCD播放机的状态图建模播放机的状态图建模q放置放置CD的光驱的光驱q装入装入(load)按钮:光驱打开按钮:光驱打开光驱关闭光驱关闭q播放播放(play)按钮按钮n光驱关闭且有光驱关闭且有CD播放播放n光驱打开光驱打开放入放入CD先关闭,再播放先关闭,再播放q停止停止(stop)按钮:停止播放按钮:停止播放“正在播放的正在播放的CD”q暂停暂停(paused)按钮:播放按钮:播放暂停暂停q注:注:n任何时刻,都可能按下任一按钮任何时刻,都可能按下任一按钮n按钮代表了事件,不是按钮代表了事件,不是CD播放机的状态播放机的状

39、态45 示例示例n完整状态图建模完整状态图建模46示例示例n自动售票机的状态图建模自动售票机的状态图建模q投币,交易成功则出票找零投币,交易成功则出票找零q若干按钮(含取消按钮),每个按钮代表一种车票若干按钮(含取消按钮),每个按钮代表一种车票q过程:过程:n先选择车票,后投币先选择车票,后投币n先投币,后选择车票先投币,后选择车票n先投币,后选择车票,再投币补足票价先投币,后选择车票,再投币补足票价n按取消按钮或等待按取消按钮或等待30秒秒n票的数量检查,找零检查票的数量检查,找零检查47 示例示例n完整状态图建模完整状态图建模48示例示例n其他其他q打印机打印机q复印机复印机qMP3q 4

40、9 习题习题 10.1nP173图图10.1350习题习题 10.1n参考答案参考答案q(a)初始化初始化(initialize),装入装入(load)nOpen状态状态 q(b)初始化初始化(initialize),装入装入(load),播放播放(play),停止停止(stop)nClosed状态状态q(c)初始化初始化(initialize),装入装入(load),播放播放(play),暂停暂停(pause),播放播放(play)nPaused状态状态(回到历史状态回到历史状态)q(d)初始化初始化(initialize),播放播放(play),停止停止(stop),装入装入(load)nOpen状态状态q(e)初始化初始化(initialize),装入装入(load),暂停暂停(pause),播放播放(play)nPlaying状态状态(暂停暂停(pause)被忽略被忽略)51 习题习题 10.2n参考答案参考答案qCD机处机处于于“Closed”状态,状态,但是抽屉但是抽屉(drawer)仍然开着仍然开着q若此时按下装入若此时按下装入(load)按钮,按钮,CD机转到机转到“Open”状态,状态,但是抽屉但是抽屉(drawer) 仍然开着

温馨提示

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

评论

0/150

提交评论