Class 图与状态图 (UML)

Class diagram vs State diagram (UML)

谁能给我一个例子,说明什么时候最好使用状态图,什么时候使用 Class 图。提前Tnx!

对于哪种类型的软件系统,您会使用状态机图来模拟功能需求? 通过 UML class 图进行数据建模适合哪种类型的软件系统?

一张 class 图显示了 classes 之间的关系及其属性和方法。

状态图可视化 class 的状态以及它们如何随时间变化。

在这两种情况下,您所讨论的图表只是模型中的 window。 class 关系定义了单个 classes 之间的关系。可以为每个 class 定义一个状态机以显示其状态。在嵌入式系统中,您几乎一直都在使用状态机,但也有用于业务应用程序的状态机(如果有,您可以这样做)。

这个问题揭示了一个非常普遍的误解。 UML 中只有十三种图。它们不用于描述不同类型的系统,而是用于描述您正在记录的系统的不同方面。在任何给定情况下选择哪个更多是风格问题,你想强调什么。

如果你想关注系统如何进入不同的状态以响应各种事件,最好使用状态图。 Activity 如果你想关注按某种顺序执行的活动,图表更好,如果你想显示实体之间发送的消息,序列图更好。

以上是显示行为的所有类型的图表。 Class 图完全是另一种类型的野兽,展示了事物的结构如何组合在一起(包图和组件图也是如此)。

可能值得指出的是,虽然 UML 不包含 "requirement" 元素类型,但相关的建模语言 SysML 包含。如果你想在模型中以"the system shall"的形式表达一些功能需求,SysML更适合。

状态图显示了 class 的行为。 class 模型显示两个或多个 class 之间的关系。它包括 properties/attributes... 状态是 class 模型中允许的对象变化序列。