欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章状态图.ppt

    • 资源ID:82771023       资源大小:198.50KB        全文页数:40页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章状态图.ppt

    第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-2-made by cnHexu第8章 状态图n状态图是系统分析的一种常用工具,它通过建立类对象的生存周期模型来描述对象随时间变化的动态形为。n8.1 状态机n状态机是展示状态与状态转换的图。计算机科学中状态机使用普遍:n编译原理-有限状态机;n操作系统-进程间的转换;n面向对象分析与设计-状态的转换n状态机包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应。n利用状态机可以精确地描述对象的行为n从对象的初始状态开始,开始响应事件并执行某些动作,这些事件引起状态的转换;对象在新的状态下又开始响应状态和执行动作,如此连续进行直到终结状态。-3-made by cnHexu第8章 状态图n8.1 状态机n状态机的组成n状态(State)n转换(Transition)n事件(Event)n活动(Activity)n动作(Action)第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-5-made by cnHexu第8章 状态图n8.2 状态图n一个状态图表示一个状态机,主要用于状态图表现从一个状态到另一个状态的控制流。n状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。n若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发。n组成UML状态图的元素:n状态(State)n转换(Transition)n初始状态(Start State)n终结状态(End State)n判定(Decision)-6-made by cnHexu第8章 状态图n8.2 状态图-7-made by cnHexu第8章 状态图n8.2.1 状态n状态由一个带圆角的矩形表示。n状态图标可以分为三部分:n名称n内部转换n嵌套状态 n状态有2种:n简单状态,不包含其它状态。n组合状态,包含子状态。-8-made by cnHexu第8章 状态图n8.2.2 转换n转换用带箭头的直线表示,一端连接源状态即转出的状态,箭头一端连接目标状态即转入的状态。n转换可以标注与此转换相关的选项如事件、动作和监护条件n当源状态接收到一个事件,并且监护条件得到满足,则执行相应的动作,同时从源状态转换到目的状态。n如果转换上没有标触发转换的事件,则表示此转换为自动进行。-9-made by cnHexu第8章 状态图n8.2.3 初始状态n初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。n初始状态在一个状态图中只允许有一个,它用一个实心的圆表示。-10-made by cnHexu第8章 状态图n8.2.4 终止状态n终止状态是模型元素的最后状态,是一个状态图的终止点。n终止状态只能作为转换的目标,而不能作为转换的源。n终止状态在一个状态图中可以有多个,它用一个套有一个实心圆的空心圆表示。-11-made by cnHexu第8章 状态图n8.2.5 判定n判定在状态图中的位置:n工作流在此处按监护条件的取值而发生分支。n判定用空心小菱形表示。n判定的执行:n因为监护条件为布尔表达式,所以通常条件下的判定只有一个入转换和两个出转换。n根据监护条件的真假可以触发不同的分支转换。第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-13-made by cnHexu第8章 状态图n8.3.1 概述n状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。n在对系统建模时,可以只关心那些明显影响对象行为的属性以及由他们表达的对象状态,而不用理睬那些于对象行为无关的状态。n例,对“飞机”对象建模时,其属性相当多,不可能对所有的属性进行描述。n随时间的进行,其某些属性值将发生变化,则其状态也发生变化。-14-made by cnHexu第8章 状态图n8.3.1 概述n状态种类:n简单状态(Simple State)n组成状态(Composite State)n状态组成:n状态名(Name)n活动(Activity)n入口动作(Entry Action)n出口动作(Exit Action)-15-made by cnHexu第8章 状态图n8.3.2 状态名n状态名表示状态的名字,通常用字符串表示。n一个状态的名称在状态图所在的上下文中应该是唯一的。不过,状态允许匿名。n状态的名字通常放在状态图标的顶部n8.3.3 内部转换n内部转换只有一个源状态而没有目标状态,因此转换激发的结果并不改变状态本身。n如果一个内部转换带有动作,动作也要被执行,但是由于没有状态改变发生,因此不需要执行入口和出口动作。n内部转换和自转换不同,虽然两者都不改变状态本身,但是自转换会激发入口动作和出口动作的执行,而内部转换却不会-16-made by cnHexu第8章 状态图n8.3.4 入口动作与出口动作n入口动作和出口动作表示进入或退出这个状态所要执行的动作。n入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的动作”表达。n8.3.5 简单状态n简单状态是指不包含其他状态的状态。n简单状态没有子结构,但它可以具有内部转换、入口动作和出口动作等。-17-made by cnHexu第8章 状态图n8.3.6 组成状态n组成状态是可以包含一些嵌套的子状态的状态。n组成状态可以使用“与”关系分解为并发子状态,或者通过“或”关系分解为互相排斥的顺序子状态。n组成状态的一个入转换代表对其嵌套子状态区域内的初始状态的入转换;对嵌套子状态区域内的终结状态的转换代表包含它的终止状态的相应活动的完成。-18-made by cnHexu第8章 状态图n8.3.6 组成状态n1.顺序子状态n如果一个组成状态的子状态对应的对象在其生命期内的任何时刻都只能处于一个子状态,即多个子状态之间是互斥的,不能同时存在,这种子状态称为顺序子状态。n当状态机通过转换从某种状态转入组成状态时,此转换的目的可能是这个组成状态本身,也可能是这个组成状态的子状态。-19-made by cnHexu第8章 状态图n8.3.6 组成状态n2.并发子状态n有时组合状态有两个或者多个并发的子状态机,此时称组成状态的子状态为并发子状态。n顺序子状态与并发子状态的区别在于后者在同一层次给出两个或多个顺序子状态,对象处于同一层次中来自每个并发子状态的一个时序状态中。-20-made by cnHexu第8章 状态图n8.3.7 历史状态n历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示。n每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-22-made by cnHexu第8章 状态图n8.4 事件n事件表示在某一特定的时间或空间出现的能够引发状态改变的一种运动变化。n事件是一个激励的出现,它定义一个触发子以触发对象改变其状态,任何影响对象的事物都可以是事件。n事件种类:n入口事件n出口事件n动作事件n信号事件n调用事件n修改事件n时间事件n延迟事件-23-made by cnHexu第8章 状态图n8.4.1 入口事件n入口事件表示一个入口的动作序列,它在进入状态时执行。n入口事件的动作是原子的,并且先于人和内部活动或转换。n8.4.2 出口事件n出口事件表示一个出口的动作序列,它在退出状态时执行。n出口事件也是原子的,它跟在所有的内部活动之后,但是先于所有的出口转换。-24-made by cnHexu第8章 状态图n8.4.3 动作事件n动作事件也称为“do事件”,它表示对一个嵌套状态机的调用。n与动作事件相关的活动必定引用嵌套状态机,而非引用包含它的对象的操作。n8.4.4 信号事件n信号的接收是信号接受对象的一个事件。n信号分为异步单路通信和双路通信。n在异步单路通信中,发送者是独立的。n在双路通信模型中,至少在每个方向上都要有一个信号。n在信号事件中,发送者和接受者可以是同一个对象。-25-made by cnHexu第8章 状态图n8.4.5 调用事件n调用事件是一个对象对调用的接收。n调用事件至少涉及两个以上的对象。n调用事件既可以为同步调用,也可以为异步调用。n8.4.6 修改事件n修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换。n修改事件表示了一种具有时间持续性的并且可能是涉及全局的计算过程。n监护条件与修改事件的区别:n监护条件只是在引起转换的触发器事件触发时和事件接收者对事件进行处理时被赋值一次。n修改事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发。-26-made by cnHexu第8章 状态图n8.4.7 时间事件n时间事件代表时间的流逝。n时间事件既可以被指定为绝对形式(天数),也可以被指定为相对形式(从某一指定事件发生开始所经历的时间)。n时间事件可以描述一个通知信息,自进入状态以来某个时间期限已到,时间事件就会激发状态的转换n8.4.8 延迟事件n延迟事件是在本状态不处理,要推迟到另外一个状态才处理的事件。第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-28-made by cnHexu第8章 状态图n8.5 转换n转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。n转换进入的状态为活动状态,转换离开的状态变为非活动状态。n转换种类:n外部转换、内部转换、完成转换、复合转换。n转换组成:n源状态、目标状态、触发事件、监护条件、动作。-29-made by cnHexu第8章 状态图n8.5.1 外部转换n外部转换是一种改变对象状态的转换,是最常见的一种转换。n外部转换用从源状态到目标状态的箭头表示。-30-made by cnHexu第8章 状态图n8.5.2 内部转换n内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身。n内部转换的激发规则和改变状态的外部转换的激发规则相同。n内部转换用于对不改变状态的插入动作建立模型。-31-made by cnHexu第8章 状态图n8.5.3 完成转换n完成转换又称为自转换。n完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换。n完成转换也可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值。n内部转换和自转换(完成转换)不同:n自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行。n内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就不执行入口和出口动作。-32-made by cnHexu第8章 状态图n8.5.4 复合转换n复合转换由简单转换组成,这些简单转换通过分支判定、分叉或接合组合在一起。n除了两个分支的判定,还有多条件的分支判定。n多条件的分支判定有分为链式的和非链式的分支。-33-made by cnHexu第8章 状态图n8.5.4 复合转换n链式分支:n非链式分支:-34-made by cnHexu第8章 状态图n8.5.5 触发事件n触发事件是能够引起状态转换的事件。n触发事件可以是信号、调用、时间段等。n8.5.6 监护条件n监护条件是触发转换必须满足的条件,它是一个布尔表达式。n监护条件只能在触发事件发生时被赋值一次,如果在转换发生后监护条件才由假变为真,那么转换也不会被触发。n从一个状态引出的多个转换可以有同样的触发器事件,但是每个转换必须具有不同的监护条件。-35-made by cnHexu第8章 状态图n8.5.7 动作n动作是一组可执行语句或者计算处理过程。n动作可以包括发送消息给另一个对象、操作调用、设置返回值、创建和销毁对象等。n动作是原子的,不可中断的,动作或动作序列的执行不会被同时发生的其他动作影响或终止。n整个系统可以在同一时间执行多个动作。nUML动作的种类:n赋值、调用、创建、销毁、返回、发送、中止。第8章 状态图8.1 状态机8.2 状态图8.3 状态8.4 事件8.5 转换8.6 状态图建模技术8.7 实例-37-made by cnHexu第8章 状态图n8.6 状态图建模技术n建模步骤:n找出适合用模型描述其行为的类。n确定对象可能存在的状态。n确定引起状态转换的事件。n确定转换进行时对象执行的相应动作。n对建模的结果进行相应的精化和细化。-38-made by cnHexu第8章 状态图n8.7 实例图书馆管理系统的状态图n8.7.1 使用Rational Rose绘制状态图的步骤n创建状态图nLogic ViewNew Statechart Diagram-39-made by cnHexu第8章 状态图n8.7.1 使用Rational Rose绘制状态图的步骤n增加状态n增加入口动作nOn Entryn增加出口动作nOn Exitn增加活动nDo-40-made by cnHexu第8章 状态图n8.7.1 使用Rational Rose绘制状态图的步骤n增加历史状态选中

    注意事项

    本文(第8章状态图.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开