状态图复习课件_第1页
状态图复习课件_第2页
状态图复习课件_第3页
状态图复习课件_第4页
状态图复习课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

第七讲状态图唐姗计算机与信息学院第七讲状态图唐姗状态图(StatechartDiagram)状态图是UML中对系统的动态行为进行建模的图形之一状态图是系统分析的一种常用工具,它通过建立对象的生存周期模型来描述对象随时间变化的动态行为2状态图(StatechartDiagram)2

状态机一个状态图本质上就是一个状态机状态机可表现对象响应事件所经历的状态序列以及伴随的动作在计算机科学中,状态机的使用非常普遍在编译技术中通常用有限状态机描述词法分析过程在操作系统的进程调度中,通常用状态机描述进程的各个状态之间的转化关系UML用状态机对软件系统的动态特征建模3状态机一个状态图本质上就是一个状态机3状态图一个状态图主要用于表现从一个状态到另一个状态的控制流状态图不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态组成UML的图形元素有:状态、转换、初始状态、终结状态和判定等4状态图一个状态图主要用于表现从一个状态到另一个状态的控制流4状态(State)表示一个模型在其生存期内的状况,如满足某些条件、执行某些操作或等待某些事件。一个状态的生存期是有限的一个时间段转换(Transition)表示两个不同状态之间的联系,事件可以触发状态之间的转换事件(Event)是在某个时间产生的,可以触发状态转换,如信号、对象的创建和销毁、超时和条件的改变等活动(Activity)是状态机中进行的一个非原子的执行,由一系列动作组成动作(Action)是一个可执行的原子计算,它导致状态的变更或者返回一个值5状态(State)5对象:货物状态:未付款对象:小轿车状态:静止不动对象:机器的引擎状态:高速运转对象:Tom

状态:未婚已付款行驶静止不动已婚6状态举例对象:货物状态:未付款对象:小轿车状态:静止不动状态的表示状态由一个带圆角的矩形表示。状态图标可以分为三部分:7名称内部转换嵌套状态

状态的表示状态由一个带圆角的矩形表示。状态图标可以分为三部分转换的表示转换用带箭头的直线表示,一端连接源状态,即转出的状态,箭头一端连接目标状态,即转入的状态转换可以标注与此转换相关的选项,如事件、动作和监护条件如果转换上没有标注触发转换的事件,则表示此转换为自动进行8转换的表示转换用带箭头的直线表示,一端连接源状态,即转出的状初始状态、终止状态初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标初始状态在一个状态图中只允许有一个终止状态是模型元素的最后状态,是一个状态图的终止点终止状态只能作为转换的目标,而不能作为转换的源终止状态在一个状态图中可以有多个9初始状态、终止状态初始状态代表状态图的起始位置,只能作为转换判定的表示判定在状态图中处在这样一个位置:工作流在此处按监护条件的取值而发生分支判定用空心小菱形表示因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。根据监护条件的真假可以触发不同的分支转换10判定的表示判定在状态图中处在这样一个位置:工作流在此处按监护一个简单的状态图11一个简单的状态图1112121313组成状态除了包括简单状态以外,还有一种可以包含嵌套子状态的状态,称为组成状态通过“或”关系分解为顺序子状态使用“与”关系分解为并发子状态14组成状态除了包括简单状态以外,还有一种可以包含嵌套子状态的状ICCardCertification:

IC卡验证状态Ring:拨号状态Connecting:连接状态Talking:通话状态HungUp:挂断状态①顺序子状态15ICCardCertification:①顺序子状态Running:运行状态Forward:前进状态Backward:后退状态HighSpeed:高速行驶状态LowSpeed:低速行驶状态②并发子状态16Running:运行状态②并发子状态16历史状态历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作17历史状态历史状态代表上次离开组成状态时的最后一个活动子状态,1818事件可以是:对象之间发送的信号某些值的改变一个时间段的终结任何影响对象的事物都可以是事件事件19事件可以是:事件19入口事件入口事件表示一个入口的动作序列,它在进入状态时执行入口事件通常用来进行状态所需要的内部初始化20入口事件入口事件表示一个入口的动作序列,它在进入状态时执行2出口事件出口事件表示一个出口的动作序列,它在退出状态时执行当出现代表错误情况的高层转换使嵌套状态异常终止时,出口事件特别有用21出口事件出口事件表示一个出口的动作序列,它在退出状态时执行2动作事件动作事件也称为“do事件”,它表示对一个嵌套状态机的调用与动作事件相关的活动必定引用嵌套状态机,而非引用包含它的对象的操作22动作事件动作事件也称为“do事件”,它表示对一个嵌套状态机的信号事件信号的接收是信号接受对象的一个事件信号分为异步单路通信和双路通信在异步单路通信中,发送者是独立的在双路通信模型中,至少在每个方向上都要有一个信号,这就是所谓的多信号在信号事件中,发送者和接受者可以是同一个对象23信号事件信号的接收是信号接受对象的一个事件23调用事件调用事件是一个对象对调用的接收调用事件至少涉及两个以上的对象调用事件既可以为同步调用,也可以为异步调用24调用事件调用事件是一个对象对调用的接收24修改事件修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换监护条件与修改事件的区别:监护条件只是在引起转换的触发器事件触发时和事件接收者对事件进行处理时被赋值一次修改事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发25修改事件修改事件依靠特定属性值的布尔表达式所表示的条件的满足时间事件时间事件代表时间的流逝时间事件既可以被指定为绝对形式(天数),也可以被指定为相对形式(从某一指定事件发生开始所经历的时间)26时间事件时间事件代表时间的流逝26延迟事件延迟事件是在本状态不处理,要推迟到另外一个状态才处理的事件如果一个转换依赖一个存在于内部延迟事件队列中的事件,则事件立即触发转换如果存在多个转换,则内部延迟事件队列中的第一个事件将有优先触发相应转换的权利27延迟事件延迟事件是在本状态不处理,要推迟到另外一个状态才处理转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态

转换进入的状态为活动状态转换离开的状态变为非活动状态转换28转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态外部转换外部转换是一种改变对象状态的转换,是最常见的一种转换外部转换用从源状态到目标状态的箭头表示火车卫生间状态图29外部转换外部转换是一种改变对象状态的转换,是最常见的一种转换内部转换内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身内部转换的激发规则和改变状态的外部转换的激发规则相同内部转换用于对不改变状态的插入动作建立模型,如建立帮助信息30内部转换内部转换有一个源状态但是没有目标状态,它转换后的状态完成转换完成转换又称为自转换完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换完成转换也可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值31完成转换完成转换又称为自转换31内部转换和自转换(完成转换)区别:自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就不执行入口和出口动作32内部转换和自转换(完成转换)区别:32复合转换复合转换由简单转换组成,这些简单转换通过分支和合并组合起来除了两个分支的判定,还有多条件的分支判定多条件的分支判定有分为链式分支和非链式分支33复合转换复合转换由简单转换组成,这些简单转换通过分支和合并组链式分支:非链式分支:34链式分支:非链式分支:34源状态在转换被激发之前,对象所处的状态就是转换的源状态源状态就是被转换影响的状态一个转换可以有多个源状态,这表示状态机所在对象中的多个控制流在转换发生时会合成一个控制流在UML中,多源状态的转换通常使用活动图表示35源状态在转换被激发之前,对象所处的状态就是转换的源状态35目标状态转换完成后,对象状态发生了变化,这时对象所处的状态就是转换的目标状态一个转换可以有多个目标状态,这表示状态机所在的对象在转换被激活的时刻一个控制流分解为多个控制流在UML中,多目标状态的转换通常使用活动图表示36目标状态转换完成后,对象状态发生了变化,这时对象所处的状态就触发事件触发事件是能够引起状态转换的事件触发事件可以是信号、调用、时间段等一个信号或调用可以带有参数,参数值可以由监护条件和动作的表达式的转换得到37触发事件触发事件是能够引起状态转换的事件37监护条件监护条件是触发转换必须满足的条件,它是一个布尔表达式监护条件只能在触发事件发生时被赋值一次,如果在转换发生后监护条件才由假变为真,那么转换也不会被触发从一个状态引出的多个转换可以有同样的触发器事件,但是每个转换必须具有不同的监护条件38监护条件监护条件是触发转换必须满足的条件,它是一个布尔表达式动作动作是一组可执行语句或者计算处理过程动作可以包括发送消息给另一个对象、操作调用、设置返回值、创建和销毁对象等动作是原子的,不可中断的,动作或动作序列的执行不会被同时发生的其他动作影响或终止整个系统可以在同一时间执行多个动作39动作动作是一组可执行语句或者计算处理过程39建模步骤:找出适合用模型描述其行为的类确定对象可能存在的状态确定引起状态转换的事件确定转换进行时对象执行的相应动作对建模的结果进行相应的精化和细化状态图建模技术40建模步骤:状态图建模技术40使用RationalRose绘制状态图的步骤:创建状态图加入初始状态和终止状态增加状态增加转换增加历史状态图书馆管理系统的状态图41使用RationalRose绘制状态图的步骤:图书馆管理系书的状态图42书的状态图42借阅者帐户的状态图43借阅者帐户的状态图43完成电梯的状态图思考44完成电梯的状态图思考4445questions

&

answers45questions第七讲状态图唐姗计算机与信息学院第七讲状态图唐姗状态图(StatechartDiagram)状态图是UML中对系统的动态行为进行建模的图形之一状态图是系统分析的一种常用工具,它通过建立对象的生存周期模型来描述对象随时间变化的动态行为47状态图(StatechartDiagram)2

状态机一个状态图本质上就是一个状态机状态机可表现对象响应事件所经历的状态序列以及伴随的动作在计算机科学中,状态机的使用非常普遍在编译技术中通常用有限状态机描述词法分析过程在操作系统的进程调度中,通常用状态机描述进程的各个状态之间的转化关系UML用状态机对软件系统的动态特征建模48状态机一个状态图本质上就是一个状态机3状态图一个状态图主要用于表现从一个状态到另一个状态的控制流状态图不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态组成UML的图形元素有:状态、转换、初始状态、终结状态和判定等49状态图一个状态图主要用于表现从一个状态到另一个状态的控制流4状态(State)表示一个模型在其生存期内的状况,如满足某些条件、执行某些操作或等待某些事件。一个状态的生存期是有限的一个时间段转换(Transition)表示两个不同状态之间的联系,事件可以触发状态之间的转换事件(Event)是在某个时间产生的,可以触发状态转换,如信号、对象的创建和销毁、超时和条件的改变等活动(Activity)是状态机中进行的一个非原子的执行,由一系列动作组成动作(Action)是一个可执行的原子计算,它导致状态的变更或者返回一个值50状态(State)5对象:货物状态:未付款对象:小轿车状态:静止不动对象:机器的引擎状态:高速运转对象:Tom

状态:未婚已付款行驶静止不动已婚51状态举例对象:货物状态:未付款对象:小轿车状态:静止不动状态的表示状态由一个带圆角的矩形表示。状态图标可以分为三部分:52名称内部转换嵌套状态

状态的表示状态由一个带圆角的矩形表示。状态图标可以分为三部分转换的表示转换用带箭头的直线表示,一端连接源状态,即转出的状态,箭头一端连接目标状态,即转入的状态转换可以标注与此转换相关的选项,如事件、动作和监护条件如果转换上没有标注触发转换的事件,则表示此转换为自动进行53转换的表示转换用带箭头的直线表示,一端连接源状态,即转出的状初始状态、终止状态初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标初始状态在一个状态图中只允许有一个终止状态是模型元素的最后状态,是一个状态图的终止点终止状态只能作为转换的目标,而不能作为转换的源终止状态在一个状态图中可以有多个54初始状态、终止状态初始状态代表状态图的起始位置,只能作为转换判定的表示判定在状态图中处在这样一个位置:工作流在此处按监护条件的取值而发生分支判定用空心小菱形表示因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。根据监护条件的真假可以触发不同的分支转换55判定的表示判定在状态图中处在这样一个位置:工作流在此处按监护一个简单的状态图56一个简单的状态图1157125813组成状态除了包括简单状态以外,还有一种可以包含嵌套子状态的状态,称为组成状态通过“或”关系分解为顺序子状态使用“与”关系分解为并发子状态59组成状态除了包括简单状态以外,还有一种可以包含嵌套子状态的状ICCardCertification:

IC卡验证状态Ring:拨号状态Connecting:连接状态Talking:通话状态HungUp:挂断状态①顺序子状态60ICCardCertification:①顺序子状态Running:运行状态Forward:前进状态Backward:后退状态HighSpeed:高速行驶状态LowSpeed:低速行驶状态②并发子状态61Running:运行状态②并发子状态16历史状态历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作62历史状态历史状态代表上次离开组成状态时的最后一个活动子状态,6318事件可以是:对象之间发送的信号某些值的改变一个时间段的终结任何影响对象的事物都可以是事件事件64事件可以是:事件19入口事件入口事件表示一个入口的动作序列,它在进入状态时执行入口事件通常用来进行状态所需要的内部初始化65入口事件入口事件表示一个入口的动作序列,它在进入状态时执行2出口事件出口事件表示一个出口的动作序列,它在退出状态时执行当出现代表错误情况的高层转换使嵌套状态异常终止时,出口事件特别有用66出口事件出口事件表示一个出口的动作序列,它在退出状态时执行2动作事件动作事件也称为“do事件”,它表示对一个嵌套状态机的调用与动作事件相关的活动必定引用嵌套状态机,而非引用包含它的对象的操作67动作事件动作事件也称为“do事件”,它表示对一个嵌套状态机的信号事件信号的接收是信号接受对象的一个事件信号分为异步单路通信和双路通信在异步单路通信中,发送者是独立的在双路通信模型中,至少在每个方向上都要有一个信号,这就是所谓的多信号在信号事件中,发送者和接受者可以是同一个对象68信号事件信号的接收是信号接受对象的一个事件23调用事件调用事件是一个对象对调用的接收调用事件至少涉及两个以上的对象调用事件既可以为同步调用,也可以为异步调用69调用事件调用事件是一个对象对调用的接收24修改事件修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换监护条件与修改事件的区别:监护条件只是在引起转换的触发器事件触发时和事件接收者对事件进行处理时被赋值一次修改事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发70修改事件修改事件依靠特定属性值的布尔表达式所表示的条件的满足时间事件时间事件代表时间的流逝时间事件既可以被指定为绝对形式(天数),也可以被指定为相对形式(从某一指定事件发生开始所经历的时间)71时间事件时间事件代表时间的流逝26延迟事件延迟事件是在本状态不处理,要推迟到另外一个状态才处理的事件如果一个转换依赖一个存在于内部延迟事件队列中的事件,则事件立即触发转换如果存在多个转换,则内部延迟事件队列中的第一个事件将有优先触发相应转换的权利72延迟事件延迟事件是在本状态不处理,要推迟到另外一个状态才处理转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态

转换进入的状态为活动状态转换离开的状态变为非活动状态转换73转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态外部转换外部转换是一种改变对象状态的转换,是最常见的一种转换外部转换用从源状态到目标状态的箭头表示火车卫生间状态图74外部转换外部转换是一种改变对象状态的转换,是最常见的一种转换内部转换内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身内部转换的激发规则和改变状态的外部转换的激发规则相同内部转换用于对不改变状态的插入动作建立模型,如建立帮助信息75内部转换内部转换有一个源状态但是没有目标状态,它转换后的状态完成转换完成转换又称为自转换完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换完成转换也可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值76完成转换完成转换又称为自转换31内部转换和自转换(完成转换)区别:自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就不执行入口和出口动作77内部转换和自转换(完成转换)区别:32复合转换复合转换由简单转换组成,这些简单转换通过分支和合并组合起来除了两个分支的判定,还有多条件的分支判定多条件的分支判定有分为链式分支和非链式分支78复合转换复合转换由简单转换组成,这些简单转换通过分支和合并组链式分支:非链式分支:79链式分支:非链式分支:34源状态在转换被激发之前,对象所处的状态就是转换的源状态源状态就是被转换影响的状态一个转换可以有多个源状态,这表示状态机所在对象中的多个控制流在转换

温馨提示

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

评论

0/150

提交评论