【问题标题】:Drawing UML state diagrams绘制 UML 状态图
【发布时间】:2009-12-15 17:51:01
【问题描述】:

在绘制状态图时,您如何知道哪些状态放在方框中,哪些状态用于转换箭头?我注意到转换也是状态。

我正在查看this page 上的图 1:

【问题讨论】:

    标签: uml diagram state-diagram


    【解决方案1】:

    转换不是状态。转换是将对象从一种状态移动到下一种状态的事件。状态由对象中变量的值和对象的行为定义。以具有“新等待批准”值的 Student 对象为例。该学生不得注册或上课。但是,如果值更改为“已批准”,则可能允许同一学生注册和上​​课。有什么不同?学生对象实际上有两种状态。

    是什么导致学生对象从一种状态移动到另一种状态?事件“批准到达”可能。所以 Approval Arrives 在两个状态之间的箭头上前进。

    【讨论】:

    • 这似乎是一个教师状态机,而不是学生。
    【解决方案2】:

    图中的“过渡箭头”不是状态,它们是“TRANSITION/ACTION/HAPPENING”。例如在上面提到的图中,“Scheduled”是状态,open 是动作,之后它会进入“Open for registration”状态。这个“打开”的过渡可以用“正在打开”来代替更详细 不幸的是,像调度/打开这样的转换动作也很容易与状态混淆,但这不是意图。

    【讨论】:

      【解决方案3】:

      首先,您需要识别系统中的对象。在这些对象中,您需要选择具有随时间变化的概率的对象。然后您需要为所有这些选定的对象分别绘制状态图。框表示该对象的状态,箭头表示导致状态改变的活动特定对象的。

      【讨论】:

        【解决方案4】:

        我同意一点,在规范中,在某些示例中,转换看起来像状态。

        对我来说,“selectAmount”并不完全是州名...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-21
          • 1970-01-01
          • 1970-01-01
          • 2017-12-19
          • 1970-01-01
          相关资源
          最近更新 更多