UML之状态图

时间:2024-03-30 11:31:29

状态机

就是描述从一个状态转换都另一个状态的过程。就是一个事务从一个状态到另一个状态的详细解读。比如一个密码门的开和关。从关的状态,到输入密码,然后密码锁核对密码,然后启动开锁程序,然后开锁,最终门的状态变为开。
状态机由状态、事件、转换、活动和动作5部分。
状态:就是某一事务在某一时刻的状态,但是该状态一般处在等待状态,等待着某些条件或者操作,改变状态,是状态机的重要组成部分,状态机就是整件事件中所有状态的总和(此处为方便理解有不精确的地方。)。
转换:就是某一状态在满足某些条件的时候,转换为另一种状态。如登录系统中的限制登录次数的情况。
事件:就是引发状态转换的条件或操作。就是状态等待的东西。
活动:就是在状态转换的时候的一部分非原子的执行,也就是转换的一部分,但是这一部分是可以再分的。
动作:也是转换的一部分,但是是原子性的,就是不可再分的。

状态图

包含状态和转换两部分,这两个的概念上面讲了,就不讲了。

状态的组成:

1、名字
2、入口出口动作
表示进入\退出这个状态所执行的动作。也就这个状态接受信息和被激发所需要满足的条件。
3、内部转换
不会引起状态变化的转换。其实也就是一些不被状态所接受的信息,不能将状态**。
4、延迟事件
就是系统在某一状态的时候不能处理的事件,这些时间就会被放到延迟事件的队列中,然后当系统到达某一状态的时候可以处理这些事件了,就会将这些事件**处理。
我想知道进程这个意思的人应该都懂这个意思。就是说当某一进程需要使用CPU,但是该进程还没有分配到资源,只能让该进程进入到阻塞队列,当该进程分配到资源之后,再**该进程,然后放入就绪队列,等待CPU。
5、子状态
也就是一个状态还包含其他状态,被包含的状态成为子状态,而包含子状态的状态称为复合状态。
子状态有两种形式:顺序子状态和并发子状态。
顺序状态:子状态所对应的对象任何时刻只能有一个状态。
并发子状态:一个转换所到的祝贺状态被分解成多个并发子状态时,控制就分成与并发子状态的控制流。
就是一个状态的转换被分解成多个状态的装换,让这些转换并发执行。

转换的组成

1、状态源
转换前对象所处的状态。
2、目标状态
对象完成转换后的状态
3、触发事件
当对象满足一定条件的时候才会发生状态转换。触发事件就是触发对象状态转换的事件。
4、监护事件
监护事件依据事件的属性和触发事件的参数,判断触发事件是否有效。
5、动作
当转变被**时,它对应的动作被执行。该动作可以是操作、调用、另一个事件的创建或撤销。

下面就用登录的保护机制来画一个状态图。
UML之状态图