【问题标题】:Are my Uml diagrams correct?我的 Uml 图正确吗?
【发布时间】:2014-03-23 14:52:18
【问题描述】:
  • 我有这些 uml 图。它们是一个名为的游戏的图表 井字。只是一个简单的带有得分的tictactoe。所以我想要你 检查或给出我的图表是否正确或需要的意见 改进。
  • 这是图表:

活动图 类图 用例图 状态图

【问题讨论】:

    标签: uml diagram


    【解决方案1】:

    简单回答:图表不正确。

    即使不看图表的问题域方面,也有明显的问题。

    1) 你的活动图不可能工作。所有传入连接都必须提供令牌,然后才能开始操作;因此, SwitchCurrentPlayer 永远无法启动。您可能会发现相关答案很有帮助:activity diagram - call operation example with parameters?

    2) 您的类图没有关联端名称。您在 Tictactoe 中有两个 Board 类型的属性,在 Board 中有两个 Tictactoe 类型的属性。

    【讨论】:

    • 关联端名称是什么意思?并且必须提供代币?
    • 活动图具有 Petri-net 令牌语义。请按照我提供的链接阅读康拉德·博克的优秀系列文章。
    • 能否请您回礼并接受我的回答?
    • 其他图表是否正确?除了活动和课程。
    • 用例图看起来很合理。
    【解决方案2】:

    是的,它看起来很不错。虽然我对 TickTackToe 的组合 Player 持怀疑态度。我的意思是即使没有播放器,类本身也可以存在。

    并且活动图中的用户也应该终止游戏。不要忘记那个功能。

    【讨论】:

    • 终止游戏是什么意思?
    • 玩家也应该结束游戏。
    • 我应该放 End Game 吗?
    【解决方案3】:
    • 第一个活动图

      • 在第二个决定之后,您又错过了一个决定 - 董事会是否已满?如果是 - 打平,如果不是,即下一点
      • 您错过了循环。您可以将其显示为第三次决策的返回或通过循环片段元素覆盖所有重复操作。
    • 最后一张图。您必须在检查后进行退货,而不是在检查之前。否则你将陷入无限循环。

    • 类图

      • 您不需要将碎片作为类 - 使板由单元组成,每个单元的状态取自枚举 Pieces(x,o) 或 null,以及函数 putPiece(Pieces)
      • TickTackToe
      • 应该有字段 currentPiece 和 currentPlayer。
      • 其他图中提到的函数和字段在哪里。你应该在他们的基础上制作类图。
      • player2 字段有什么用?

    【讨论】:

      【解决方案4】:

      活动图:

      您的活动图只允许执行“先移动”或“第二移动”动作一次,您必须重新开始整个活动才能继续。 玩家不是参与者。游戏只是参与者。当你开始游戏时,它必须等待事件“开始”。事件发生后,您可以等待“Move First”或“Move Second”事件。在某些移动事件发生后,您必须切换播放器。 我认为,您的活动图不需要具有最终节点。当你关闭游戏时,我停止了活动。 活动定义行为。 Behaviorn 可以设置为分类器行为,并在创建分类器实例时激活。

      类图:

      玩家不参与游戏

      用例:

      我会说您定义的用例是活动图的步骤。有意义的用例将是“玩游戏”或“显示分数”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多