一个完整的功能模块包含“先决条件、操作、结果、冲突与联系”四个部分。在拆分功能执行案之前,首先会拿到一个框架案。试开发流程的不同,他有可能来自项目内某人的口述、框架案文档或撰写功能执行案的人自己设定。
那么,我们首先来看一段框架案:
①
商城分充值与消费两大部分,充值通过页面操作进行,消费在游戏内进行。
②
点券的获得:用户通过账号充值获得点券。
③
点券的消耗:购买商城内的道具消耗点券。
④
有新品和热销商品的标示。
⑤
商城购买的道具不可出售给系统。
⑥
商城的道具分类沿用商店的设定。
好的,现在我们已经拿到框架案了,接下来让我们看看该做些什么。首先,这份框架案并不是按照用户操作流程撰写的,而只是将框架案的关键信息写出来了。而我么拆分功能模块的依据是用户的操作流程,那么让我们将上面的框架案转换成一个用户使用商城的操作流程。
①
商城的主要功能是购买道具,这是在一个游戏窗口上完成的。那么用户使用商城的第一个操作步骤是:打开商城。
②
相对于打开商城,一定有一个关闭商城的操作。因为用户需要退出商城进行其他的游戏内容。
③
获得点券是在网页上完成的,那么可以不放到功能模块中。
④
因为有道具分类,那么可查看之前的设定,因为之前不同分类的道具是在不同的标签之下。为了保证游戏内容统一,在我们这里也沿用标签的设计。所以需要一个切换标签页的功能模块。
⑤
商城的主要功能是进行虚拟道具的购买,那么我们需要一个购买道具的功能模块。
⑥
商城购买的道具不可出售给系统:商城购买的道具将存储到用户仓库内,而不可出售给系统的操作是在用户仓库内完成,不属于商城系统。所以不需要在该功能执行案内列出单独的模块。
⑦
新品和热销商品的标示,首先新品和热销商品的显示不是用户操作的结果,而属于打开商城后,商品的显示规则。那么我们可以单独列出一个模块,我们称为商品排列规则。
⑧
另外,为了帮助用户挑选商品,我们需要提供商品信息的显示。所以可以单独列出一个功能模块查看商品信息。
⑨
商品的数量可能大于一页,那么我们还需要一个功能模块:翻页。
用户的操作可能是如下几种:
①
鼠标左键单击某按钮/角色/图标/窗口某位置,扩展一下,还包括鼠标右键、鼠标中键、双击、长按、拖动。
②
按下键盘某按键,扩展一下,还包括按住、按击数次。
如果是PC游戏就是键鼠操作了,没有其他。那么以上,每需要用户一次单独操作的功能模块都应该是独立的功能模块。
有的时候会出现这样的情况,完成一个功能需要依次完成两次操作。例如上例在商城中购买商品,有这样的实现方式:1.鼠标左键单击商品图标,选中商品;2.鼠标左键单击购买商品按钮,完成商品购买。类似这样的情况,建议拆分成两个不同的功能模块,因为他们可能有不同的冲突与联系,拆分成不同的功能模块,单个框的内容较少、且冲突与联系的归属清晰,易于程序阅读。 系统处于某种状态(不需要用户操作)后的结果可以是一个独立的功能模块。
商品名称、商品图标、商品类型、商品价格。
4.
上翻页按钮、下翻页按钮、当前页数/最大页数;最大页数根据商品数据表中商品的数量和一页能显示的商品数量计算得到。
5.
购买、赠送、购买试穿、取消试穿按钮;按钮的状态见《按钮状态规则》功能模块。
6.
用户账号、点券数量根据用户对应信息显示。
7.
人物框及角色名称根据用户对应信息显示。
①
人物框默认显示角色当前装备的武器和防具。
②
人物角色默认正面朝向用户。
③
人物动作默认大厅待机动作。