飞机大战概要设计文档 4改

飞机大战概要设计

文档规格说明书

 

1. 引言部分

1.1目的

该文档描述的是飞机大战的概要设计,主要内容包括飞机大战功能简介等。

本文档预期的读者包括全体小组成员及指导教师。

1.2 范围

1.2.1 项目目标

开发一个能为生活增添乐趣,填补空闲无聊时间、丰富我们的生活的小游戏,满足我们休闲娱乐的要求。

1.2.2 主要项目需求

该游戏主要功能包括:

 操控战机

 发射炮弹

 攻击敌机

 收集道具

1.2.3 项目设计约束、限制

该游戏支持鼠标或键盘操控。

1.3缩写

1.4参考资料

[1]软件工程方法与实践第3版  主编  窦万峰  机械工业出版

2.数据设计

本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则要描述表的名称和表字段结构;如果数据以外部文件的形式呈现,则要描述文件的内部结构。

2.1数据对象和形成的数据结构

该游戏系统涉及的主要数据结构如下:

存档功能:用来记录玩家当前的游戏进度。其数据结构是一个javascript对象类型。

战机:描述战机的基本信息,包括移动的最大最小速度、子弹数量等。其数据结构是一个javascript对象类型

道具:随着经验的加成到一定值后而生成的物品,用来各提升角色属性值,使角色战力提高。其数据结构是一个javascript对象类型。

敌机:战机在游戏中遇到的敌军战机,包括普通战机和Boss战舰,击败后可获得经验加成。其数据结构是一个javascript对象类型。

游戏基本设置:包括游戏的开始,暂停等功能信息。数据结构是一个javascript对象类型。

系统信息:有关开始界面的相关音乐、背景设置。数据结构是一个javascript对象类型。

2.2文件和数据库结构

描述文件的数据结构或者库表的结构

2.2.1外部文件结构

 包括游戏所需的插图、音乐、保存文档、标志、配置文件、各类数据文档(道具、敌机等)。该游戏主要的外部文件有:

背景音乐文档achievement.mp3、buttet.mp3、game_music.mp3、enemy_down.mp3

插图文档shoot.png、shoot_background.png

游戏标志btnbg.png

游戏配置文件project.json

各类数据文档data.json

 

2.2.2全局数据

该游戏系统的全局变量有:

游戏进行时间Totaltime。

公共事件处理器PublicEventProcessor。

变量计数器VariableCounter

游戏全局基本数据结构定义如下:

properties: {

按钮;

分数;

子弹;

碰撞;

暂停;

战机;

敌机;

音效;

}

2.2.3文件和数据交叉索引

背景音乐文档用在系统地图事件初始化功能中;

背景图片文档用在战斗事件功能中;

游戏标志文档用在数据库初始化功能中;

游戏配置文件用在游戏战斗事件功能中;

各类数据文档用在数据库初始化功能中。

 

3. 体系结构设计

  这一部分主要描述软件的逻辑组成接口,即软件结构图的绘制。

 

3.1数据和控制流复审

对需求规格说明或产品规格说明中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。
    一般对数据流图的精化分析包括两个方面的内容,一是审查整个数据流图,查看有没有遗漏的地方,并补充和完善二是分析每一个数据流图,去掉一些细节的内容,这里去掉数据存储和外部用户。  
  对于面对面结对编程系统,我们补充了一个总体数据流图,如图所示。

1:飞机大作战系统总体数据流图

对部分数据流图的精华如下:

2:游戏初始化操控战机数据流

3:游戏产生并使用道具数据流图

 

 4:游戏生产敌机数据流图

 

3.2得出程序结构

根据复审的数据流图,逐步得出软件的逻辑组成结构。利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图。如下图,是优化过的系统结构图。

3:飞机大作战游戏系统结构图

 

4.界面设计

这一部分主要给出界面设计的总体要求和界面序列,以及界面设计规约。

4.1人机界面规约
给出界面风格、约定和操作要求,设计出用户的所有界面。

飞机大战的界面主要包括下面几种。

 游戏加载界面:该界面用于显示游戏的加载进度。

 游戏开始界面:该界面作为游戏的起始界面,只有开始游戏一个按键。点开 始游戏即可进行游戏;该界面还显示了游戏名称,下方是不断有飞机划过。

 系统总控界面:系统总控界面是系统的主界面,主要完成与用户的交互任务,接收用户的请求,并调用相应的模块。另外总控界面应能够显示用户的角色信息和驾驭者的工作时间,以及显示强制交换的系统时间等。

 系统设置界面:系统设置界面主要设置系统的运行参数。

 游戏界面:用户通过鼠标操作飞机进行游戏,不可触碰其他飞行物,可通过攻击来消灭其他飞行物。

 游戏结束界面:若触碰了其他飞行物,游戏结束。该界面显示了最终得分。可选择重新开始、历史成绩、离开游戏。


4.2人机界面设计规约
  给出界面序列关系,以及每个界面的操作规则和处理规则。

Ø 游戏总控制界面序列:启动游戏 — 启动新游戏 — 进入游戏 —(游戏存档)— 结束游戏。

 

5.接口设计

5.1外部接口设计

与外部系统或设备的连接关系和通信方式。

5.1.1外部数据接口

暂无

5.1.2外部系统或设备接口

与外部系统或接口的连接方式和通信方式。本系统与外部接口仅仅是硬件的接口要求,鼠标、键盘的要求是USB接口连接。

 

5.2内部接口设计规约

内部接口是软件逻辑模块之间的调用接口。内部接口设计规约定义内部模块之间的调用关系和传递的数据结构。

5.2.1内部模块接口调用关系

内部模块的接口调用关系可参看图B-8,为了便于讨论,我们给每一个模块一个编号,并对结构图进一步进行优化。它们的接口调用关系如下。

 

 

 

B-9 飞机大战系统结构图(带编号)

系统总模块:SceneManager.run.

总控模块:SceneManager.program.

1.1初始化模块:SceneManager.init.

1.2 画面制作模块:ImageManager.make.

1.3 记录分数:DataManager.score.

1.4 显示成绩:DataManager.outcome.

1.2.1 制作敌机:ImageManager.oppo.

1.2.2 制作战机:ImageManager.regu.

1.2.3 制作子弹:ImageManager.bull.

1.2.4 制作道具:ImageManager.prop.

1.2.2.2 操控战机:TouchInput.fight.

 

5.2.2接口数据结构

描述接口的每个参数数据结构、参数顺序和默认值。

主要数据结构有user、Managers等。

6.模块过程设计

6.1 处理说明

游戏程序加载模块:设置基本的参数,对各个子系统模块进行初始化操作。

游戏界面设计模块:设置游戏界面等等。

游戏对象绘制模块:对战机、敌机、炮弹等进行设计。

游戏动作执行模块:进行攻击,移动等等

游戏规则调用模块:对玩家当前所做出的动作做出相应的反应,判断是否射中,击毁敌机等等。

6.2使用的模块

系统程序加载模块在启动时,会初始化其他各个模块。

其余各个模块在游戏进行时,会相互调用

 

7.需求交叉索引

描述需求与模块的关系、存在交叉的部分,即共享模块的调用关系。

●游戏开始:1-1 开始游戏。

●设置音效:1-2 音效设置。

●显示成绩:1-3 查看当前分数。

●结束游戏:1-4 退出游戏。

 

8.测试部分

本部分描述测试的原则与方法,以及测试策略和计划。

8.1测试方针

针对主要功能优先测试,查看是否游戏顺利进行,得分是否正确等等。测试方法盒测试方式与白盒测试方式相结合

8.2集成策略

本项目采用自顶向下的方式进行测试。

一层一层往下测试。

8.3特殊考虑

注意击中敌机与得分设置,和键盘或鼠标的稳定性。

 

posted @ 2019-06-19 23:37  bestSoftware  阅读(3202)  评论(0编辑  收藏  举报