状态机图状态活动.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 状态机 状态 活动
- 资源描述:
-
,单击此处编辑母版文本样式,第二级,第三级,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,状态机图,(State machine Diagram),状态机(,state machine,):,一种逻辑上的流程机,用于描述一个对象在其生命周期中的动态行为,表现对象响应事件所经历的状态序列以及伴随的动作,状态图和活动图用于描述一个状态机,(,状态机图,),活动图,强调了从活动到活动的控制流,状态图,强调了从状态到状态的转换,状态图,状态图的作用,描述一个特定对象的所有可能状态,以及由于各种事件的发生,而引起的状态间的转移,状态图,状态图的组成,节点是,状态,:包括初始状态和终止状态,用圆角矩形表示,关系是,转换,(或转移):用状态之间包含一些文字描述的有向箭头线表示,状态,状态的几种类型,1.,初态和终态,2.,中间状态,3.,组合状态,4.,历史状态,1.,初态和终态,初态(,Start state,),显示状态图中状态机的执行的开始,一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。如果一个状态机用多张图描述,则多张图用同一个初态,嵌套状态中可以使用新的初态,终态(,End State,),表示一个最后的或者终端状态,终态的数目可以不确定,2.,中间状态,中间状态的组成,1,)状态名(,Name,),2,)进入,/,退出动作(,entry/exit action,),2.,中间状态,3,)内部转换(,Internal Transition,),不导致状态改变的转换,不会执行,entry,和,exit,动作,语法格式:,event,事件名,/,动作表达式,2.,中间状态,4,)子状态(,Substate,),嵌套在另外一个状态中的状态,2.,中间状态,4,)子状态(,Substate,),嵌套在另外一个状态中的状态,3.,组合状态,(,composite state,),含有子状态的状态被称为组合状态,1.,顺序组合状态图,2.,并发组合状态图,顺序组合状态图,并发组合状态图,在中已经废弃了同步状态,4.,历史状态,(,History state,),历史状态是一种伪状态,可以存储退出组合状态时所处的子状态,则返回组合状态时可以直接回到相应的子状态,转换的五要素,源状态,(Source State),:转换激发之前对象所处的状态,目标状态,(Target State),:,转换完成后对象所处的状态,触发事件,(Trigger Event),:引起转换发生的事件,监护条件,(Guard Condition),:方括号括起来的布尔表达式,用于决定是否激活转换,动作,(Action),:转换激活时对象执行的操作,智能水壶的状态图,打开,有水,/,烧水:,打开:触发事件,有水:监护条件,烧水:动作,信用卡状态图,无触发转移,定义:,状态转移不是因为某个事件触发引起的,而是由于对象完成了某些活动,而引起的状态的转变,触发事件的四种类型,信号事件,对象之间通过发送信号和接收信号实现通信,信号是两个对象之间通信的媒介,它是一种异步机制,在计算机中,鼠标和键盘的操作均属于此类事件,对于一个信号而言,对象一般都有相应的事件处理器,如,onMouseClick(),等,调用事件,调用某个对象的成员方法就是调用事件,它是一种同步的机制。,例如:在烧水器的状态图中,,turnOn,就是一种调用事件,用来将开关置于“,On”,状态。,触发事件的四种类型,改变事件,某个指定属性值为真时,事件得到触发。,在对象生命周期内,一直在计算改变事件中的属性值。当属性值为真时,事件触发,计算停止,例如:,when(temperature100)/alerm(),时间事件,当时间流逝到某个时刻,触发事件对对象起作用,它可以指定为绝对形式,也可以指定为相对形式。,其他事件,延迟事件(,Deferred event,),延迟到下一状态中处理的事件,是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行,例如,当,E-mail,程序中正在发送第一封邮件时,用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事件,转换类型,状态图应用,为对象生命周期建模:,主要描述对象能够响应的事件、对这些事件的响应以及过去对当前行为的影响,为反应型对象建模:,这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作,状态机图既可以用来表示一个业务领域的知识,也可以用来描述设计阶段对象的状态变迁,绘制状态机图的步骤,寻找主要的状态,确定状态之间的转换,细化状态内的活动与转换,用复合状态来展开细节,状态图(购物网站),当从状态,“,结账,”,和,“,显示购物车,”,返回子状态,“,显示索引信息,”,时,将进入的是离开时的历史状态。,也就是说,转到购物或结账区之后,再回到,“,浏览目录,”,的页面时,其中的内容是不变的,仍保留原来的信息。,状态图(,CD,播放机),状态图(智能卡系统),阅读状态图,状态图(订单处理,1,),订单处理,办理发货之前需要检查商品,查看是否齐全。如果缺部分商品,则进入等待状态(直至商品齐全),货品发出之前,任何时候都可以取消订单,状态图(订单处理,2,),状态图(订单处理,3,),状态图(航班预订,1,),状态图(航班预订,2,),细化状态内的活动与转换,状态图(航班预订,3,),使用复合状态,课堂练习,绘制电脑工作时的状态转换图,课堂练习,绘制手机工作时的状态转换图,课堂练习(,电梯系统的状态图,),电梯开始处于空闲状态(,idle,),当有人按下按钮要求使用电梯时(事件,is required,发生),电梯进入运行状态(,run,)。如果电梯的当前楼层比想要的楼层高时(监护条件,currentFloordesiredFloor,成立),电梯进入下降状态(,moving down,);反之,如果电梯的当前楼层比想要的楼层低时(监护条件,currentFloordesiredFloor,成立),电梯进入上升状态(,moving up,);如果电梯的当前楼层与想要的楼层相同时(监护条件,currentFloor=desiredFloor,成立),电梯门打开(,door open,)。在电梯上升或下降期间,每经过一个楼层就判断监护条件,currentFloor=desiredFloor,是否成立,若不成立,继续移动,若成立,就进入停止状态(,stop,),,15,秒后,电梯门自动打开(,door open,),,2,分钟后,电梯门自动关上(,door close,),如果有更多的电梯使用要求,进入运行状态(,run,),反之,则进入空闲状态(,idle,)。,课堂练习(,电梯系统的状态图,),带有复杂转换的状态图,补充说明(状态图),适用情况:,适用于描述跨越多个用例的单个对象行为,不适合描述多个对象之间的行为协作,故需与其他技术(类图、对象图)结合使用,注意事项:,不要花费大量时间和精力为系统中的每个类都画对应的状态图,开发人员只关心关键类的行为,只需为这些类建立状态图,帮助理解所研究的问题,活动图,(,Activity Diagram,),概念:,由,活动节点,和,转换流程,构成的状态机图,作用:,描述系统或业务的活动序列构成的控制流,用来描述事物或对象的活动变化流程,为,系统,或业务,工作流程,和,用例实现,建模,活动图,(,Activity Diagram,),活动图与流程图:,流程图:表示算法的执行序列、过程、判定点、分支和循环,活动图:支持并行活动,支持多线程编程,活动图的应用:,描述类的操作,描述用例的执行过程,活动图的缺点:,难以清楚地表示对象和动作之间的关系,即:这两个活动的执行顺序是任意的,一个进入转换,多个离去转换,如果一个状态机用多张图描述,则多张图用同一个初态,分叉线和汇合线(同步线):都使用加粗的水平线或垂直线段表示,描述一个特定对象的所有可能状态,2)进入/退出动作(entry/exit action),如果一个状态机用多张图描述,则多张图用同一个初态,监护条件(Guard Condition):方括号括起来的布尔表达式,用于决定是否激活转换,3)内部转换(Internal Transition),活动图(Activity Diagram),注意:当且仅当所有的并发分支都到达汇合点后,活动流程才能进入下一个活动节点,教师查看信息后,修改学生信息,修改完成后保存学生信息,这时系统会将修改后的信息保存到数据库。,3、如果约定地点是公司之外,那么咨询顾问就要用膝上电脑准备一份陈述报告,由某个过程中若干对象的活动序列组成,以活动为中心,一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。,如果查询到该客户,则会判断客户的咨询类型。,含有子状态的状态被称为组合状态,活动图,(,Activity Diagram,),与状态图的区别,状态图,由某个对象的状态序列组成,以状态为中心,活动图,由某个过程中若干对象的活动序列组成,以活动为中心,活动图,(,Activity Diagram,),组成元素,活动节点,起点和终点(即初态和终态),中间活动节点,转换流程,转换,分支与合并,分叉与汇合,活动节点,活动节点是活动图中最主要的元素之一,用来表示工作过程中的一个(或多个)工作步骤,表示方法,:用一个圆角矩形表示,活动的名称写在圆角矩形内部,活动节点的表示,活动节点,动作状态:,原子性的动作或操作的执行状态,不能被外部事件的转换中断,活动状态:,非原子性的,可以分解成其他子活动或动作状态,可以从外部中断。可以在图标中给出入口动作和出口动作等信息,组合活动:,一种内嵌活动图的状态,用于表示复杂的活动,转换,(,State Transition,),作用:,当一个活动结束时,活动控制流马上转向下一个活动节点,表示方法:,一条带箭头的直线,转换的表示,分支与合并(决策),程序控制流的三种基本结构:顺序、分支、循环,分支:,用于将一条转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果,当动作流遇到分支时,会根据监护条件的真假来判定动作的流向,注意:,分支的每个路径的监护条件应该是互斥的,,因此只有一条路径的转换会被激发,分支的表示,条件互斥,分支与合并(决策),合并:两个或者多个控制路径在此汇合的情况,表示从对应分支开始的条件行为的结束,合并和分支都使,用菱形表示,且,常常成对使用,省略表示分支与合并的菱形不会丢失任何信息,分叉与汇合(同步),分叉与汇合:,都用,来表示并发执行的活动,分,叉,线和汇合线,(同步线):,都使用加粗的水平线或垂直线段表示,分叉:,一个进入转换,多个离去转换,表明系统从单一的过程变为过个并发的过程,分叉与汇合(同步),汇合:,多个进入转换,一个离去转换,表示系统将结束多个并发过程,再次进入单一的过程,注意:当且仅当所有的并发分支都到达汇合点后,活动流程才能进入下一个活动节点,语法格式:event 事件名/动作表达式,描述一个特定对象的所有可能状态,而是由于对象完成了某些活动,而引起的状态的转变,由活动节点和转换流程构成的状态机图,先对活动进行全局的分析,一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。,每个活动节点、分支必须只属于一个泳道;,以及由于各种事件的发生,而引起的状态间的转移,终态(End State),历史状态(History state),活动图:支持并行活动,支持多线程编程,用户可以在活动图中把相关的对象标识出来,示例(同步),商品打包,与,付款,两个活动是,并行,的,即:这两个活动的执行顺序是任意的,可以先后进行,可以同时交叉进行,泳道,泳道技术:,将活动用线条分成一些纵向的矩形,每个矩形属于一个特定的对象或部门,对象的名字放在泳道的顶部,属于该对象的所有活动都被放在泳道的区域内,绘制顺序,方法一:,先确定参与活动的对象,然后分析在整个过程中每个对象的活动,方法二:,先对活动进行全局的分析,再将活动分配各具体的对象,建议:,两种方法各有利弊,根据个人习惯和具体情况而定,分类(,1.,简单活动图),分类(,1.,简单活动图),分类(,2.,标识泳道的活动图),泳道,(SwimLane),:用于有效地标识每个活动的实施者。,表示方法:,用一条垂直的线将活动分开,每个泳道都有一个唯一的名称,每个活动节点、分支必须只属于一个泳道;而转换,分叉与汇合是可以跨泳道的。,分类(,2.,标识泳道的活动图),分类(,3.,标识对象流的活动图),某些活动中,对象与节点活动是紧密相关的:,活动节点创建、删除或输出一些对象,经过活动处理,修改了对象的状态,对象流描述了活动与对象之间的关系,表示了活动使用对象以及活动对对象的影响。,用户可以在活动图中把相关的对象标识出来,标识哪些对象进入活动节点,标识哪些对象从活动节点中输出,分类(,3.,标识对象流的活动图),注册(活动图),构建活动图,1.,业务分析阶段,活动图中每一条泳道表示一个职责单位(个人或部门),每个泳道的执行者体现了职能部门的工作职责、业务范围、部门之间的交互关系,2.,系统分析和设计阶段,用活动图对对象的职责进行建模,每一个对象占据一个泳道,而活动是该对象的成员方法,本阶段采用带泳道活动图的情况较少,因为序列图会更好地体现对象间的交互关系。活动图更适合于对复杂用例中的事件流进行建模,课堂练习,一个咨询公司会见新客户时的业务过程:,1,、公司业务员打电话给客户确定一个约定,2,、如果约定地点是在公司之内,那么公司中的技术人员就要为会面准备一间会议室,3,、如果约定地点是公司之外,那么咨询顾问就要用膝上电脑准备一份陈述报告,4,、咨询顾问与顾客在约定的时间和地点见面,5,、业务员随后给他们准备好会议用纸,6,、如果会议产生了一个问题陈述,咨询顾问就根据问题陈述建立一个提案并把该提案发给客户。,请分别建立简单活动图和标识泳道的活动图,1,、确定需求用例,系统管理员查看修改员工信息,系统管理员是参与者,其在查看修改员工信息的活动中,共有,3,个用例:,1.,登录:要进入系统,首先要登录。,2.,查询员工信息:进入系统后可以选择查询不同员工的信息。,3.,修改员工信息:需要修改某些员工的部分信息,比如员工晋升后需要修改的员工的职务和工资信息。,2,、确定用例路径,3,、绘制完整的活动图,教师查看、修改学生信息,建立,“,教师查看、修改学生信息,”,用例的活动图,教师在登录时,系统会验证教师输入的账号、密码、动态码等登录信息。如果验证未通过,则登录失败。,如果验证通过,教师登录成功,并选择需要查询的学生,系统会显示教师选中的学生信息。,教师查看信息后,修改学生信息,修改完成后保存学生信息,这时系统会将修改后的信息保存到数据库。,之后教师退出系统,系统注销教师账号。,教师查看、修改学生信息,远程网络教学系统,系统管理员,登录后可以处理注册申请或者审核课件,在处理注册申请后,需要发送邮件通知用户处理结果,在审核完课件后需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面,当完成以上工作后,系统管理员退出系统,系统则注销系统管理员账号,请画出活动图,远程网络教学系统,客服来电系统,“,客户来电,”,用例:客户可以向客服人员拨打电话,如果电话未拨通,则活动结束;如果拨通电话,客服人员会首先查询客户信息,如果未查询到该客户,则向系统添加该客户的信息;如果查询到该客户,则会判断客户的咨询类型。,咨询类型有三种:,“,咨询,”,、,“,报修,”,和,“,投诉,”,。如果是咨询类型,则先判断是否能解答问题,如果能则直接处理,否则由维护人员跟进;如果是保修类型,则转入故障申报;如果是投诉类型,则转入投诉处理。无论哪种类型的咨询完毕后,都需要填写处理结果表,然后活动才能结束。,谢谢观看,谢谢观看,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


状态机图状态活动.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14522032.html