状态转换图和用例之间有什么区别

What is difference between State-transition diagram and Use case

伙计们,你能解释一下状态转换图和用例之间的区别吗?因为在我看来,这些东西非常相似,我找不到任何合适的定义来显示差异。如果有人至少给我一个提示,我将非常感激,我可以在哪里阅读这篇文章!

两者都描述了系统行为。但他们的做法却大不相同。

state diagram 捕获系统如何具有状态以及它在该状态下的行为如何进入另一个状态。这不是'going anywhere'。他们倾向于抽象,起源于1949年。一个很好的例子就是网络通信。

Use cases 关注系统如何对外部参与者做出反应,通常但不总是用户。它由实现目标的一系列步骤组成。这是一种捕获需求的紧凑方式,通常对于项目的利益相关者来说是非常可读的。它们是在 1992 年推出的。一个很好的例子可以是 'Buyer creates account'.

两种方法都被广泛采用,并获得了不同的'tastes'。它们只有在应用时才真正栩栩如生,阅读它们只能带你走这么远。
可以看到一些差异 here.

参考文献:
https://en.wikipedia.org/wiki/State_diagram
https://en.wikipedia.org/wiki/Use_case
http://tynerblain.com/blog/2007/03/21/use-case-vs-statechart/

用例:

  • 高调概览
  • 显示与系统交互的演员(人)

状态图:

  • 显示对象状态的演变

我发现 Donald Bell 写的关于 UML 的最好的介绍文章之一是 this one

它们的区别是 用例测试:帮助我们识别测试用例的技术,这些测试用例从头到尾逐个截断地运行整个系统 状态转换测试:输入条件变化导致 (AUT) 状态变化的技术