飞机大战游戏需求分析说明书

 

 

项目经理:   王依民

 

 

队伍组成:

          计科1704  王依民 2017317210409

          计科1704  胡应财 2017317210411

          计科1704    悦 2017317210427

          计科1704  胡晓倩 2017317210428

          计科1704  李克勤 2017317210429 

 

 

 

 

 

软件工程

1.引言

 1.1编写目的:

作为软件系统开发技术协议的参考依据,为双方提供参考。根据游戏特点,对被开发软件系统的主要功能、性能进行完整描述,为软件开发者进行详细设计和编程提供基础。为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。

旨在为游戏下阶段的设计、开发提供依据和指导,为项目组成员对需求的详尽理解,以及在开发游戏项目中协同工作提供强有力的保证。本文档的预期读者有用户、需求分析人员、项目经理、程序员和测试人员。在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。

1.2项目背景:

随着计算机图形处理能力的飞速提升,近几年,游戏画面的表现水平已经有了很大的提升。画面的精细的确对故事的表现力有很大帮助,但是许多游戏不管怎么玩,也没法给我们带来最初那种震撼与感动,那些低清的贴图、棱角分明的 3D 形象,却可能是我们最美好的记忆。

幸运的是,随着手机处理能力的飞速提升,我们已经能在移动平台上玩到许多属于时代的经典游戏,不管你是想买一份正版,补上当年盗版欠下的债,还是想回忆经典,追忆过去,或者干脆作为一个新玩家,想体验一下老游戏。

  1.2.1项目名称:

飞机大战

  1.2.2项目基本信息

项目提出者:王依民

项目开发者:王依民、胡晓倩、殷悦、胡应财、李克勤

用户:游戏玩家

实现该软件的计算中心或网络:个人电脑

同其他系统交互:操作系统

  1.3定义:

(1) BGM:Background Music,即背景音乐。

  (2)敌机:我方战机的敌对方,共三种类型,分为小型、中型和Boss战机。

(3)攻击力:对对面造成伤害的多少。

(4)暂停功能:游戏进行过程中按下暂停按钮可进入暂停模式,再按下暂停按钮则返回游戏

   (5)攻击范围:攻击的最大限度范围,超过这个范围则判定无法攻击。

(6)精灵机:即我方战机,在游戏引擎中,主角被称为精灵机,故我方战机取名为精灵机。

(7)战机大招:游戏过程中会随机降落清屏道具,吃下红色降落伞道具获取清屏功能,道具数量会叠加,按下道具按钮每次消耗一个道具可发动大招,对屏幕中的敌机进行清屏。

(8)狂暴模式:吃下随机掉落的黑色降落伞道具会自动触发战机双向炮弹进入狂暴模式,该状态下战机处于狂暴状态,不会损失生命值,持续时间15s.

1.4参考资料

[1]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2016.

[2]窦万峰.软件工程实验教程[M].北京:机械工业出版社,2016.

2.任务概述

2.1项目目标

本项目是一个集休闲娱乐。丰富生活等诸多元素于一身的小游戏。希望通过此项目的设计与推广,为生活增添乐趣,增加休闲时间的活动。本项目名称为“飞机大战”,采用游戏引擎Cocos Creator以JavaScript语言编写,界面简洁流畅,游戏方式简单,玩家易于上手。该项目还必须保证数据的安全性、完整性和准确性。

2.2用户的特点

本项目的最终用户可适应各个年龄阶层,本项目易于上手,通过简单了解游戏规则即可进行游戏。

2.3系统整体结构

本系统是一个独立运行的系统,不需要与其他系统连接。

系统工作流程图如下:

2.4运行环境

2.4.1设备环境:

普通PC, Intel Core 2双核及以上,内存至少500M;需要4个以上的USB接口,支持双鼠标和双键盘工作。

2.4.2硬件环境:

此游戏对计算机的配置要求不高,要求能正常运行当前主流编程软件的计算机,即可正常运行该游戏。但至少需要500M的硬盘空间,显示器1280*768分辨率或者更高。

2.4.3软件环境:

Cocos Creator v2.10

2.4.4网络环境:

    

2.4.5操作环境:

Windows操作系统 Win2000/WinXP/Win7/Win8/Win10(32bit/64bit)

适应Windows操作系统不同的版本,支持不同类型的PC兼容机和笔记本电脑。

2.5游戏要求

① 游戏可正常运行

② 可基本达到最终目标

③ 游戏界面友好,易于交互

④ 项目具有较高的安全性和稳定性

2.6项目关键问题

①游戏不能过于简单单调,没有吸引力,也不能太难,导致难以进行

②游戏规则一定要明确,易于上手

③一定要进行足够的测试确保游戏得以正常运行

④各种设置要准确

2.7假定和约束

(1)软件开发小组提供相应的开发阶段文档,用户提供相适应的行业标准,使软件开发与典型实例考核相结合。

(2)操作员与用户要按照操作规程运行本项目,不得进行恶意破坏性操作。

程序开发人员需要在规定时间内进行系统设计、程序编码、系统测试、程序调试等任务。

3.数据描述

3.1静态数据

本游戏定位为单机游戏,需要考虑游戏的平衡性,以带给玩家更好的游戏体验。因此,本系统需要存储每个角色自身属性、敌机属性、道具的效果、地图自身的初始设定,以及优化游戏的贴图和音乐等。

3.2动态数据

①玩家进入游戏信息

②玩家进入游戏设置

③角色状态变化

④道具加成变化

3.3数据库描述

没用到数据库

3.4数据字典

字段名称

字段含义

数据类型

宽度

NULL

备注

Uid

玩家编号

VARCHAR

12

NO

Fid

战机编号

CHAR

10

NO

Mid

地图编号

CHAR

5

NO

Tid

道具编号

CHAR

5

NO

Sid

战机状态编号

CHAR

5

NO

SKid

技能编号

CHAR

5

NO

F_name

战机名称

CHAR

15

NO

T_name

道具名称

VARCHAR

15

NO

S_name

战机状态名称

VARCHAR

15

NO

战机状态

SK_name

技能名称

VARCHAR

15

NO

SK_description

技能描述

VARCHAR

15

NO

S_ description

状态描述

VARCHAR

15

NO

T_ description

道具描述

VARCHAR

15

NO

T_effect

道具效果

VARCHAR

15

NO

表示道具的作用

3.5数据采集

游戏系统不需读取任何数据,直接点击运行。

4.功能需求

4.1背景移动

背景从上往下移动,当背景的上边框超过游戏界面下边框时应自动补图

4.2背景音乐

在战机发射子弹、精灵机击中敌机、敌机击中战机、精灵机敌机相撞、精灵机大招、游戏暂停、游戏结束时均添加了音效

4.3玩家移动

通过键盘,方向键和ASWD键可控制战机的位置,子弹自动发射,并且后期再增加鼠标控制战机位置这一效果,精灵机的位置随着鼠标的移动而移动。

4.4敌机创建

编写函数并调用函数随机产生敌机和Boss机。

界面中敌机出现的位置,以及敌机和Boss机均为随机的,敌机、Boss机均具有一定的速度,且随着游戏时间的推迟,后期逐渐增大,数量和速度均随着增加而增加。

4.5爆炸实现

添加碰撞效果,包括精灵机的子弹打中敌机爆炸、精灵机与敌机相撞爆炸、精灵机子弹打中Boss、精灵机与Boss碰撞以及精灵机吃到掉落的道具五种碰撞效果。且碰撞发生后子弹、炸弹、道具均消失。并且精灵机与敌机、Boss机发生碰撞则结束游戏。

4.6附加功能

①游戏界面中显示当前状态下游戏得分、无敌模式提醒和道具数量。

②进入游戏先进入欢迎界面,欢迎界面中显示游戏使用说明,点击鼠标左键开始游戏。游戏过程中精灵机命数使用完后用户可选择重新开始游戏或退出游戏。

5.功能说明

序号

功能项

描述

1

飞机能够移动,发射子弹,用子弹击毁敌军战机

1. 用WASD四个键控制飞机上下左右的移动。

2. 子弹发射出去,撞击敌军战机使其爆炸

2

飞机通过吃掉道具,改变自身属性

1. 飞机通过接触道具获得道具的加成

2. 增强子弹威力,提升伤害

3

敌军飞机可以击毁我军飞机

1. 敌军飞机由电脑调用函数随机产生

2. 当精灵机碰撞敌机时,精灵机失去生命,敌机也因此被撞毁,则游戏结束

4

Boss出现以及打败Boss

1. Boss拥有比普通敌机更多的抗击能力

2. 当我军飞机与Boss碰撞时,我方战机直接撞毁。

3. 当我军子弹打中Boss机时,Boss机受到我方一定伤害后爆炸损毁。

 

 

6.详细描述

采用数据流图的方法建立模型。

本飞机大战系统运行游戏,加载游戏音效,生成敌机、战机(即精灵机)、游戏道具,战机发射子弹销毁敌机,改变敌机数量,战机使用游戏道具改变敌机数量,敌机数量改变,获得分数

战机子系统模块数据流图如下图所示:

战机子系统的数据流图

战机会根据代码随机生成,战机本身监听鼠标拖动事件和键盘事件,同时生成子弹,子弹击毁敌机,触发播放爆炸音效,同时增加分数。鼠标拖动战机,移动鼠标,战机移动,按下键盘键,实现飞机的上下左右移动

道具子系统模块数据流图如下图所示:

道具子系统数据流图

 

道具自动生成,道具分为两种,一种具有清屏功能,一种具有增加子弹数量功能。吃下清屏道具,道具数量叠加,按下道具按钮,实现清屏,道具数量减一。吃下增加子弹数量道具,会让子弹变成双道,威力增加。

 

敌机子系统模块数据流图如下图所示:

敌机子系统模块数据流图

 

敌机自动生成,分为普通敌机和Boss机,位置会随机变化,通过碰撞击毁我方战机,并触发爆炸音效的播放,然后结束游戏。

7.性能需求

7.1数据精准性

游戏内数据处理和计算的响应时间不超过5s,后续的实际运行中故障率、出错率均低于20%,软件故障率低于5%。以及相关的并发性、吞吐量。

7.2适应性

适应Windows操作系统的不同的版本。

支持不同类型的PC兼容机和笔记本电脑

能够适应不同类型的手机端

8.运行需求

8.1界面风格

遵守Windows风格

8.2硬件接口:与外部硬件的接口

鼠标、键盘必须是USB接口

 8.3故障处理

鼠标、键盘控制权交换故障,可通过重启或重插拔恢复

9.其他要求

9.1 可用性、可维护性、可靠性、可移植性

游戏可在不同的Windows平台上使用,试玩。

游戏支持不同的PC兼容机。

软件故障率低于10%

9.2安全保密性要求

9.3开发要求:支持软件,包括操作系统、编译程序、测试游戏等

 Cocos Creator版本v2.10及以上

Windows驱动

按照黑盒测试方法设计测试游戏用例进行验收。

 

转载于:https://www.cnblogs.com/pinkbig/p/11055895.html

飞机大战游戏需求分析文档 5改相关推荐

  1. python飞机大战概要设计_飞机大战游戏开发文档(Android版)

    飞机大战游戏 开发文档 (Android版) 课程名称:飞机大战游戏 课程类型:Android游戏编程精彩内容,尽在百度攻略:https://gl.baidu.com 姓名:苏均灿 学号:131342 ...

  2. 需求分析文档_多多果园小游戏需求分析文档

    写在前面: 本文中所有原型图主要考虑了功能与逻辑,均没有过多考虑美观程度,画得有些粗糙,不是学UI出身,已尽力做到高保真,大家海涵~ --尼古拉斯·硕 壹 项目背景 1.1 项目内容 本项目主要研究多 ...

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

    飞机大战概要设计 文档规格说明书 1. 引言部分 1.1目的 该文档描述的是飞机大战的概要设计,主要内容包括飞机大战功能简介等. 本文档预期的读者包括全体小组成员及指导教师. 1.2 范围 1.2.1 ...

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

    飞机大战概要设计 文档规格说明书 1. 引言部分 1.1目的 该文档描述的是飞机大战的概要设计,主要内容包括飞机大战功能简介等. 本文档预期的读者包括全体小组成员及指导教师. 1.2 范围 1.2.1 ...

  5. 【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作

    目录 [iVX 初级工程师培训教程 10篇文拿证]01 了解 iVX 完成新年贺卡 [iVX 初级工程师培训教程 10篇文拿证]02 数值绑定及自适应网站制作 [iVX 初级工程师培训教程 10篇文拿 ...

  6. python飞机大战加背景音乐_python实现飞机大战小游戏 python飞机大战中的音频文件怎么改成MP3...

    怎么样用Python写飞机大战游戏 python开发飞机大战外星人游戏怎么弄双人模式新的一年,哪怕仍是一个人,也要活得像一支队伍,为自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由. 主函数 impo ...

  7. 【java毕业设计】基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码)——飞机大战游戏

    基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Eclipse的飞机大战游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  8. 基于Java的飞机大战游戏的设计与实现(论文+源码)

    毕业设计(论文)任务书 第1页 毕业设计(论文)题目:基于Java的飞机大战游戏的设计与实现毕业设计(论文)要求及原始数据(资料):1.综述基于Java的飞机大战游戏的现状:2.深入了解Java的设计 ...

  9. 基于Java的飞机大战游戏的设计与实现论文

    源码下载 http://www.byamd.xyz/hui-zong-1/ 摘 要 现如今,随着智能手机的兴起与普及,加上4G(the 4th Generation mobile communicat ...

最新文章

  1. css中绝对定位中的left和top属性
  2. 【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!...
  3. Python之初识模块之序列化模块
  4. 基于python的界面自动化测试-基于 Python 的接口自动化测试实例
  5. 基于CentOS 搭建 Seafile 专属网盘
  6. 【grunt整合版】30分钟学会使用grunt打包前端代码
  7. HD 2602 Bone Collector (0-1背包)
  8. 知乎高赞:中国有哪些不错的开源软件产品?
  9. 鸿蒙系统打通iOS,库克真的做到了!正式官宣确认截胡鸿蒙OS系统:软硬件生态全打通...
  10. 蚂蚁金服隗华:十五年时间见证分布式数据库的崛起
  11. 如何快速从基因组中提取基因、转录本、蛋白、启动子、非编码序列?
  12. OOM分析(1) Android 源,如何分析android的OOM,与java静态代码分析工具
  13. Database2Sharp之混合型Winform框架代码生成
  14. 【体系结构】Oracle的kernel.shmmax和kernel.shmall设置
  15. 老李分享:持续集成学好jenkins之解答疑问
  16. 寒武纪2021数字后端笔试题
  17. 集团化企业的电子印章管理模式
  18. 数据挖掘的分析软件和展示工具
  19. 编程匠艺:编写卓越的代码(第二版
  20. 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)

热门文章

  1. 美创科技入选第九届CNCERT网络安全应急服务支撑单位
  2. 淘宝自定义API接口管理
  3. nvidia Quadro P620在linux下安装驱动
  4. unity如何用代码创建自已的logo
  5. wtc java 代码 tpcall(servicename_WebLogic下WTC Service的配置
  6. weblogic的WTC接口配置方法(发送方)
  7. Linux驱动开发之常见error汇总
  8. 敲黑板,定积分也有换元和分部积分法!
  9. 2015年南通二级建造师考试报名通知
  10. 谈谈如何建立价值驱动的数据战略