关于状态图和流程图的区别

活动图用来描述事件流(这儿我开始避免用流程图这一词,以免混同意传统的流程图术语),状态图是描述某个<>的内部状态变迁

状态图是用来描述一个用例的执行过程中所经过的状态。至于这些状态是内部状态还是与外部相关,并不重要。所以,跟流程图有很大的相似性。因为在UML里面好象是没有流程图这种东西的,当我希望表达一个操作流程的时候,最合适的工具就是状态图了,本来活动图也是可以扮演这个角色,而且更加适合。但是实际上活动图也是一种特殊的状态图,所以我就干脆大胆的用状态图来表示了。:)
而且,在系统的需求阶段,有哪些对象以及哪些子系统都是不明确的,甚至于操作流程也是不明确的,在这种情况下运用活动图就需要引进很多人为的假设因素。
当然,状态图顾名思意,就是要表达用例执行过程中的每一个稳定状态,而不是表示一个行为。但我以为,在需求阶段,可以把这个原则作为一条参考即可。因为需求阶段我们的目标是准确的用客户的语言来描述系统,而不必很深入的去研究某个用例中到底哪里是一个稳定状态。过早的深入细节会使我们失去对宏观的控制。
但是如果到了分析阶段、乃至设计阶段,不去分析稳定状态就完全不行了,所以如果在分析、设计阶段应用状态图、活动图,就必须遵循表达稳定状态的原则。但是我个人觉得,如果是到了分析阶段、设计阶段,状态图、活动图这些东西所能包含的信息也许就过于有限,反而必须要大量的使用交互图、时序图了。

你可能感兴趣的:(关于状态图和流程图的区别)