900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python飞机大战概要设计说明书_飞机大战概要设计文档 4改

python飞机大战概要设计说明书_飞机大战概要设计文档 4改

时间:2020-03-11 16:57:25

相关推荐

python飞机大战概要设计说明书_飞机大战概要设计文档  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特殊考虑

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。