边用来连接状态机图中的结点,表示状态因事件触发,由源状态到目标状态的转换。图 7.1是描述商店商品的状态机图。 7.2状态 7.21状态的表示 状态用圆角矩形表示。每一个状态应该有名字,状态的名字用标识符表示。状态名 如果用英文,第一个字母要大写。状态的名字放在圆角矩形里面,见图72 状态名 闲 图72状态的表示 7.22状态的类型 状态可以分为下面几种类型 1)简单状态:不包含子状态和子机状态的状态,也被称为原子状态 2)复合状态:内部包含子状态的状态 3)子机状态:由状态机作为复合状态中的一个子状态 7.23状态的动作 一个状态的内部可以包括多个动作和事件。当事物处在该状态时,就可能执行这些 动作或事件,状态的动作或事件写到状态名下面,见图73。一个状态可以有入口动作、 出口动作、内部变迁、延迟事件等 状态名 entry/入口动作 do活动 ex出口动作 event事件名/ defer 图73状态动作或事件 1.入口动作 入口动作是转入该状态时,自动执行的第一个动作。在进入该状态后,在该状态中 的其他所有活动均在入口动作之后发生,转入一个状态仅执行一次入口动作。入口动作3 边用来连接状态机图中的结点,表示状态因事件触发,由源状态到目标状态的转换。图 7.1 是描述商店商品的状态机图。 7.2 状态 7.2.1 状态的表示 状态用圆角矩形表示。每一个状态应该有名字,状态的名字用标识符表示。状态名 如果用英文,第一个字母要大写。状态的名字放在圆角矩形里面,见图 7.2。 7.2.2 状态的类型 状态可以分为下面几种类型: 1)简单状态:不包含子状态和子机状态的状态,也被称为原子状态。 2)复合状态:内部包含子状态的状态。 3)子机状态:由状态机作为复合状态中的一个子状态。 7.2.3 状态的动作 一个状态的内部可以包括多个动作和事件。当事物处在该状态时,就可能执行这些 动作或事件,状态的动作或事件写到状态名下面,见图 7.3。一个状态可以有入口动作、 出口动作、内部变迁、延迟事件等。 状态名 entry/ 入口动作 do/ 活动 exit/ 出口动作 event 事件名/ defer 1. 入口动作 入口动作是转入该状态时,自动执行的第一个动作。在进入该状态后,在该状态中 的其他所有活动均在入口动作之后发生,转入一个状态仅执行一次入口动作。入口动作 图7.2 状态的表示 图 7.3 状态动作或事件