Uml 我想创建一个砖块破坏游戏的用例图,我的正确吗?

Uml 我想创建一个砖块破坏游戏的用例图,我的正确吗?,uml,use-case,use-case-diagram,Uml,Use Case,Use Case Diagram,我以前从未制作过用例图,所以我想知道我的用例图是否正确。简而言之 这是一个几乎有效的用例图。但这并不能使它们成为好的用例。但最终重要的是它是否对你有用 更多细节 根据UML,它在形式上正确吗? UML是价值不可知的,在我强调的规范第637页定义了UC: 用例是一种表示 声明一组提供的行为。每个用例都指定了一些 主体可以与一个或多个主体协作执行的行为 演员。用例定义了主题提供的行为,而没有 参考其内部结构。这些行为,包括 参与者和主体之间的互动可能会导致变化 主体的状态及其与环境的沟通 让我们根据

我以前从未制作过用例图,所以我想知道我的用例图是否正确。

简而言之 这是一个几乎有效的用例图。但这并不能使它们成为好的用例。但最终重要的是它是否对你有用

更多细节 根据UML,它在形式上正确吗? UML是价值不可知的,在我强调的规范第637页定义了UC:

用例是一种表示 声明一组提供的行为。每个用例都指定了一些 主体可以与一个或多个主体协作执行的行为 演员。用例定义了主题提供的行为,而没有 参考其内部结构。这些行为,包括 参与者和主体之间的互动可能会导致变化 主体的状态及其与环境的沟通

让我们根据以下定义检查UC的有效性:

开始游戏、移动挡板、重新启动游戏和退出游戏是游戏主体与玩家-演员合作提供的行为。根据UML,这些是有效的UC。 落球、击中所有砖块、击中砖块和显示分数是更值得怀疑的行为:它们不需要与玩家协作或互动。然而,您可以争辩说,只有当用户观察到这些行为时,这些行为才有意义,因此与玩家进行了交互。所以可以说,就UML定义而言,这些也是有效的。 添加分数似乎是一种纯粹的内部行为,在没有用户参与的情况下完成,甚至用户都没有观察到。这将不是有效的UC。然而,标签可能会产生误导:如果显示分数意味着最后一场比赛超过分数,而添加分数意味着屏幕上分数的更新,那么可能再次认为这是一个有效的UC。 扩展可选和包含系统的使用似乎也是正确的

这是一个好地方吗? 虽然UML是价值不可知的,但许多作者以更模糊的方式定义用例。特别是,用例的发明者:

用例是使用系统实现特定目标的所有方法 特定用户的目标。把所有的用途集合在一起 案例为您提供了使用该系统的所有有用方法,以及 说明了它将提供的价值

根据这个定义,这里只有一个用例:

玩游戏:这是用户带来价值的目标。 所有其他元素都是使用系统实现此目标的唯一方法。因此,它们属于单一用例。一种方法是将它们表示为用例描述的细节:

一种合适的方式是以一种特定的方式从意图的角度来展示这些。这种方法是康斯坦丁和洛克伍德在1999年发明的。它以中心位置使用,并在用户界面中保留操作顺序的完全灵活性

另一种现代方式是由Ivar Jacobson在2011年发明的。这些细节将显示为用例片段,其方式与用户故事非常相似

简言之 这是一个几乎有效的用例图。但这并不能使它们成为好的用例。但最终重要的是它是否对你有用

更多细节 根据UML,它在形式上正确吗? UML是价值不可知的,在我强调的规范第637页定义了UC:

用例是一种表示 声明一组提供的行为。每个用例都指定了一些 主体可以与一个或多个主体协作执行的行为 演员。用例定义了主题提供的行为,而没有 参考其内部结构。这些行为,包括 参与者和主体之间的互动可能会导致变化 主体的状态及其与环境的沟通

让我们根据以下定义检查UC的有效性:

开始游戏、移动挡板、重新启动游戏和退出游戏是游戏主体与玩家-演员合作提供的行为。根据UML,这些是有效的UC。 落球、击中所有砖块、击中砖块和显示分数是更值得怀疑的行为:它们不需要与玩家协作或互动。然而,您可以争辩说,只有当用户观察到这些行为时,这些行为才有意义,因此与玩家进行了交互。所以可以说,就UML定义而言,这些也是有效的。 添加分数似乎是一种纯粹的内部行为,在没有用户参与的情况下完成,甚至用户都没有观察到。这将不是有效的UC。然而,标签可能会产生误导:如果显示分数意味着最后一场比赛超过分数,而添加分数意味着屏幕上分数的更新,那么可能会再次认为这是错误的 有效的UC。 扩展可选和包含系统的使用似乎也是正确的

这是一个好地方吗? 虽然UML是价值不可知的,但许多作者以更模糊的方式定义用例。特别是,用例的发明者:

用例是使用系统实现特定目标的所有方法 特定用户的目标。把所有的用途集合在一起 案例为您提供了使用该系统的所有有用方法,以及 说明了它将提供的价值

根据这个定义,这里只有一个用例:

玩游戏:这是用户带来价值的目标。 所有其他元素都是使用系统实现此目标的唯一方法。因此,它们属于单一用例。一种方法是将它们表示为用例描述的细节:

一种合适的方式是以一种特定的方式从意图的角度来展示这些。这种方法是康斯坦丁和洛克伍德在1999年发明的。它以中心位置使用,并在用户界面中保留操作顺序的完全灵活性

另一种现代方式是由Ivar Jacobson在2011年发明的。这些细节将显示为用例片段,其方式与用户故事非常相似


似乎您完全没有理解UML用例的要点。这些只是你的游戏将支持的所有功能。请看我的答案:不足以创建答案。重新阅读UC的定义。这不是一个单一的步骤像开始游戏或重新启动游戏。这是一个包含所有可能选项的完整过程,其背后是一个过于简单化的过程!。我喜欢看UC的一个好方法是——如果你可以启动应用程序,执行这个UC,然后离开应用程序,那么有些东西就是有效的UC。你的所有UCs都没有通过这个测试。看起来你完全错过了UML用例的要点。这些只是你的游戏将支持的所有功能。请看我的答案:不足以创建答案。重新阅读UC的定义。这不是一个单一的步骤像开始游戏或重新启动游戏。这是一个包含所有可能选项的完整过程,其背后是一个过于简单化的过程!。我喜欢看UC的一个好方法是——如果你可以启动应用程序,执行这个UC,然后离开应用程序,那么有些东西就是有效的UC。你的UCs没有一个通过这项测试。你的答案非常清楚和详细,但都是因为它是一个好的UC吗?这超出了OP问题的范围。OP问题被标记为UML,而不是你所说的其他形式主义,不管他们的兴趣如何。相反,根据UML,该部分是否正式正确?完全在OP问题的范围内。@bruno谢谢你的客气话。我更感激他们,因为我了解并尊重你们对UML的深刻了解。然而,这个问题也有一个“用例”标签,用例不仅仅是UML。这就是为什么我觉得有必要打开OP在这方面的想法。此外,UML的三位创始人写了一本关于如何在软件开发中使用UML的书《统一软件开发过程》“。他们声称包含关于UI的隐式决策的用例是一个问题,第164页,并且用例不是用来描述用户界面的,第160页。所以我觉得完全在范围内。@qwerty_所以是的,在这方面OMG在抽象的moloch中转换了UML。顺便说一句,BPMN也是这样的,所以它是这个组织的一种if商标。I al所以我更熟悉增值定义,但幸运的是布鲁诺在这里提醒我们,在这个问题上还有其他观点。观点的多样性始终是进步的源泉。@qwerty_顺便说一句,我刚刚注意到我推广的用例2.0,因为它是面向价值的,而且更清楚,UML规范是由Ivar J共同编写的acobson和Bittner&Spence;-感谢您的回答,是的,显示分数意味着最后一场比赛超过分数,添加分数意味着屏幕上分数的更新。您的回答非常清楚和详细,但这都是一个好的UC吗?它不在OP问题的范围内。OP问题被标记为UML,而不是tagged对于你提到的其他形式主义,不管他们感兴趣。相反,根据UML,这部分形式正确吗?完全在OP问题的范围内。@bruno感谢你的客气话。我更感谢他们,因为我知道并尊重你对UML的深刻了解。不过,这个问题也有一个“用例”标签和用例不仅仅是UML。这就是为什么我觉得有必要打开OP在这方面的思路。此外,UML的三位创始人写了一本关于如何在软件开发中使用UML的书《统一软件开发过程》“。他们声称包含关于UI的隐式决策的用例是一个问题,第164页,用例不是用来描述用户界面的,第160页。所以我觉得我完全在范围内。@是的,在这方面OMG在抽象的moloch中转换了UML。顺便说一句,它在
BPMN,所以它是这个组织的一种if商标。我也更熟悉增值的定义,但幸运的是布鲁诺在这里提醒我们,在这个问题上还有其他观点。而且观点的多样性始终是进步的源泉。@qwerty_顺便说一句,我刚刚注意到我推广的用例2.0,因为它是面向价值的,而且更清晰,UML规范是由Ivar Jacobson和Bittner&Spence共同编写的-谢谢你的回答,是的,显示分数意味着最后一场比赛超过分数,添加分数意味着屏幕上分数的更新。