前面讲述了活动图,那就从活动图的基础上来分析状态图。我们知道活动图侧重从行为的动作来描述活动,而与之相对状态图侧重从行为的结果来描述状态。在实际项目中,活动图并不是必须的。一般在以下情况需要使用活动图:
a、描述一个并行的过程或者行为
b、描述一个算法
c、描述一个跨越多个用例的活动
而状态图描述了一个具体对象的可能状态以及它们之间的转换。联系了这么多以前的内容,那么到底什么是状态图呢。状态图用来描述一个特定对象的所有可能的状态以及由于各种事件的发生而引起的状态之间的转移。为了更好的区分状态、状态机、状态图。在这里做一下系统的阐述一下状态和状态机:
状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
状态机是这样的一种行为,它描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。耽搁类或一组类之间写作的行为可以用状态机来描述。
在看了大家的博客后,发现很多人对状态的把握不是很准确(当然在各位大鸟面前,我小菜一个不能出言不逊)。个人认为因为状态图一般是针对状态变化比较明显的系统更容易一些,而对于咱们的机房收费系统貌似不太明显。个人认为用状态图描述计算机操作系统的各种进程状态变化是最适合不过的了。如下图:
但是在练习阶段,我尝试从用户状态从注册、上机、下机、到注销过程中的状态变化,肯定会有很多缺陷,欢迎大家指出相互交流。
最后的问题集锦,敬请参看uml图验收问题集锦。