UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第七章状态图 什么是状态图,如何使用它 如何使用事件,动作和保护条件 如何对子状态,历史状态和连接点建模
Page 2 第七章 状态图 什么是状态图,如何使用它 如何使用事件,动作和保护条件 如何对子状态,历史状态和连接点建模
概述 状态视图通过对类对象的生存周期建立模型来描述对象随时间变化的动 态行为。每一个对象都被看作是通过对事件进行探测并做出回应来与外 界其他部分通信的独立的实体。 事件表示对象可以探测到的事物的一种运动变化如接受到从一个对象 到另一个对象的调用或信号、某些值的改变或一个时间段的终结。任何 影响对象的事物都可以是事件,真实世界所发生的事物的模型通过从外 部世界到系统的信号来建造的。 状态是给定类的对象的一组属性值这组属性值对所发生的事件具有相同 性质的反应。换而言之,处于相同状态的对象对同一事件具有同样方式 的反应,所以当给定状态下的多个对象当接受到相同事件时会执行相同 的动作,然而处于不同状态下的对象会通过不同的动作对同一事件做出 不同的反应。例如,当自动答复机处于处理事务状态或空闲状态时会对 取消键做出不同的反应
Page 3 1、概述 状态视图通过对类对象的生存周期建立模型来描述对象随时间变化的动 态行为。每一个对象都被看作是通过对事件进行探测并做出回应来与外 界其他部分通信的独立的实体。 事件表示对象可以探测到的事物的一种运动变化—如接受到从一个对象 到另一个对象的调用或信号、某些值的改变或一个时间段的终结。任何 影响对象的事物都可以是事件,真实世界所发生的事物的模型通过从外 部世界到系统的信号来建造的。 状态是给定类的对象的一组属性值,这组属性值对所发生的事件具有相同 性质的反应。换而言之,处于相同状态的对象对同一事件具有同样方式 的反应,所以当给定状态下的多个对象当接受到相同事件时会执行相同 的动作,然而处于不同状态下的对象会通过不同的动作对同一事件做出 不同的反应。例如,当自动答复机处于处理事务状态或空闲状态时会对 取消键做出不同的反应
状态用于描述类的行为,但它们也描述用例、协作和方法的动态行为。对 这些对象方面而言,一个状态代表了执行中的一步。我们通常用类和对象 来描述状态,但是它也可以被其他元素所直接应用 状态描述了一个类对象生命期中的一个时间段。它可以用三种附加方式说 明:在某些方面性质相似的一组对象值;一个对象等待一些事件发生时的 段时间;对象执行持续活动时的一段时间。虽然状态通常是匿名的并仅 用处于该状态时对象进行的活动描述,但它也可以有名字 在状态机中,一组状态由转换相连接。虽然转换连接着两个状态(或多个 状态,如果图中含有分支和结合控制),但转换只由转换出发的状态处理 当对象处于某种状态时,它对触发状态转换的触发器事件很敏感。 状态用具有圆形拐角的矩形表示。如图所示 Initialization
Page 4 状态用于描述类的行为,但它们也描述用例、协作和方法的动态行为。对 这些对象方面而言,一个状态代表了执行中的一步。我们通常用类和对象 来描述状态,但是它也可以被其他元素所直接应用。 状态描述了一个类对象生命期中的一个时间段。它可以用三种附加方式说 明:在某些方面性质相似的一组对象值;一个对象等待一些事件发生时的 一段时间;对象执行持续活动时的一段时间。虽然状态通常是匿名的并仅 用处于该状态时对象进行的活动描述,但它也可以有名字。 在状态机中,一组状态由转换相连接。虽然转换连接着两个状态(或多个 状态,如果图中含有分支和结合控制),但转换只由转换出发的状态处理 。当对象处于某种状态时,它对触发状态转换的触发器事件很敏感。 状态用具有圆形拐角的矩形表示。如图所示。 Initialization
状态间带箭头的实线代表状态的迁移,箭头指向目标状态。 图中的实心圆代表状态转移的起点,带圆圈的实心圆代表终 点 Initialization Canceled
Page 5 Initialization 状态间带箭头的实线代表状态的迁移,箭头指向目标状态。 图中的实心圆代表状态转移的起点,带圆圈的实心圆代表终 点。 Canceled