状态机与时序图共27页文档
- 格式:ppt
- 大小:2.60 MB
- 文档页数:27


产品之术一目了然的状态机图什么状态机图,它的使用情景是什么?文章为你解读。
做产品的时候,直觉我们当遇到一些比较复杂的逻辑问题。
比如状态的转换,字段状态的确认,权限的控制,状态的对应。
而普通的流程图,或时序图,相当侧重于流程特技和动作的描述,对于第三类和状态的解读缺乏准确直观。
这里我们推荐一种方式,就是图表画一个简单的状态机图:那么什么是状态机呢?状态机我们将的一般是指有限状态机:有限状态机,(英语:Finite-statemachine,FSM),又称有限状态自动机,简称状态机,是步法表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
[1]有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间动作转移和的等行为的数学模型。
[1]有限状态机可以将复杂的逻辑简化为有限个稳定状态,在稳定状态中判断事件。
其中有限不是指有限是非次处理,而是有限个稳定状态,并且有限状态机是一个闭环系统,可以用有限的初始状态处理无尽有限的事务。
有限状态机是一种用来进行对象行为建模的工具,其作用主要积极作用是描述对象在它的生命周期内所历经的状态序列,以及如何响应来自外界的各种事件。
在计算机科学中,非常有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。
基本元素当你需要描绘一个对象或系统的行为状态时,相比于直接的语言描述,更推荐使用状态机表或状态机图的形式。
首先我们看一下基本元素:做需求时,至少要了解以下三种元素:起始、终止、状态、历史状态。
再加上动作和条件,我们就可以完成一个状态机图了:所以对于数据类型图来说,基本要用到6个元素:对于历史相态的使用,我们可以参考资料下面的案例。
比如我们举个简单的例子,一个洗衣机的快洗净模式状态图:遇到断电的时候,机器是有缓存的,所以跳出流程恢复操作方法流程之后,是会回到历史竞技状态。
状态机表怎么画?首先我们看得出来下下面这张状态机图,展示了一张简单的单审批人的状态流转情况。
状态机图1.概述状态机图(State Machine Diagram)是用来显示状态机的图,包括简单状态、转换和嵌套的复合状态等,一个典型的状态机图如图1所示:图1. 状态机图2.基本表示符号状态机图的基本元素包括:状态、转移、事件、伪状态和复合状态。
2.1状态(State)状态是对象生命周期中的一个条件或形态。
状态由对象的属性值、与其他对象的关系以及正在执行的活动来确定。
在UML中,状态用圆角矩形和状态名表示,初始状态用实心圆表示,终止状态用牛眼表示,如图2所示:图2. 状态状态可以有一个或多个分栏,这些分栏是可选的,包括名称分栏、嵌套区域、内部转换分栏等,如图3所示:图3. 带分栏的状态状态也可用圆角矩形上带有状态名称标签的方框表示,如图4所示:图4. 带有名称标签符号的状态2.2转移(Transaction)转移表示状态之间可能的路径,可以表示外部转换(用箭头表示),也可以表示内部转换(嵌套在状态内部)。
如图5所示:图5. 转移2.3事件(Event)事件是对,在特定时间和空间上,所发生的有意义的事情。
在状态机中,事件触发转移,事件或者显示在转换之上,或显示在状态以内。
共有四种类型的事件:信号事件、调用事件、时间事件、改变事件。
信号用于对象间异步传递的信息包,它没有任何操作,只有自身携带的信息。
信号事件是通过信号来触发的事件,在UML中,信号如图6所示:图6. 信号调用事件是请求在类语境的实例上调用特定的操作,在UML中,调用事件如图7所示:图7. 调用事件时间事件用关键字after表示,说明事件被触发的临界时间。
改变事件用关键字when表示,说明将事件改变所满足的条件。
如图8所示:图8. 时间事件和改变事件2.4伪状态(Pseudo State)伪状态指在一个状态机中具有状态的形式,同时具有特殊行为的顶点。
它是一个瞬时状态,用于构造转换的细节。
当伪状态处于活动时,状态机还没有完成从运行到完成的步骤,也不会处理事件。