1

For my homework, I have to write functional requirement of a game called downfall (see Wikipedia). We have to make this game, but with not two sides but n (any number of) sides.

In an example solution (another game), the teacher writes the functional requirements, then writes what use case they belong to.

I have created a use case diagram in which I have the player as an actor, and ChooseDial, RotateDial and EndTurn as use cases:

enter image description here

What I dont understand are the following: Is the number of players functional requirement? Is the table having two sides a functional requirement? Is the goal of the game (getting coins from top to bottom) a functional requirement? Is a rule like coins must reach bottom in order a functional requirement?

If they are, what use case could they belong to? Is my use case diagram wrong?

I have no idea where to put these functional requirements, because I feel like they arent part of any of my use cases.

4

2 回答 2

3

关于要求

首先,让我们处理需求问题:

  • 功能需求说明了软件应该做什么。与目标、游戏玩法或游戏规则相关的一切都是功能需求。
  • 非功能性需求说明了软件应该如何,例如准确度、性能、易用性、维护性。你的叙述没有显示出这样的要求。

关于用例

用例驱动的软件开发方法从用例中捕获的高级用户目标开始。就个人而言,我只看到一个这样的目标:

在此处输入图像描述

非常罕见的用法:用例的参与者方面的多样性。这表示一个用例实例中涉及 2 个或更多玩家实例。当然,这仅对整个游戏有意义,而不是对单个动作(就像您在图表中的那样)。

在您的图表中,您展示了 3 个用例:

  • EndTurn用户可以自由决定选择的独立目标吗?不 !它总是跟随玩家行动。所以这绝对不是一个用例。
  • 你说RotateDials 延伸 ChooseDials。这意味着玩家可以ChooseDials但不能旋转它。这是一个有效的场景吗?
  • 另一方面,如果您说ChooseDials include RotateDials,则后者总是会发生。但是,不ChooseDial只是选择一个表盘吗?那不应该叫PlayTurn吗?

我可以理解,出于学习目的,您需要分解Play game更详细的用例。通常,一旦玩家试图达到他们的目标Play game,这可能包括 的子目标Play turn。只要目标明确,不要太详细,就可以了。但是要避免简单的功能分解(它对更多的用户驱动没有帮助,并且用例不是功能)。而且,最重要的是,不要滥用用例图来尝试显示一系列活动

需求追溯

用例没有捕捉到全部需求。它抓住了最本质的东西:系统的目的和用户的目标。

在写下需求时,以用例及其叙述为指导,并追溯每个用例的特定需求是很有用的。

但当然,也有一些一般要求。这些并非特定于特定用例。有些甚至对所有用例都是通用的。将这些标记为一般要求(例如用例*)。

于 2019-11-06T17:47:33.227 回答
0

需求管理 (RM) 确实很棘手。像板必须有两个面这样的要求似乎更多地参与了设计,而不是用例。在这种情况下,您可以将其与边界而不是单个用例相关联。这将表明它是一些“全局”需求(类似于非功能性需求)。通常在一个项目中,您从用户故事中混合的或多或少奇怪的需求组合开始。业务分析师 (BA) 必须梳理这些信息并提出体面的用例(综合附加值)。然后,系统架构师(与 BA)将通过需求和用例来提出(业务)类模型。

有大量描述 RM 的书籍和程序。还有很多研讨会。我认为,如果您掌握了上面的简要想法,您就可以开始了。这是一场马拉松,开始...

于 2019-11-06T11:55:33.830 回答