关于雷电游戏的软件工程设计报告Word文档格式.docx
《关于雷电游戏的软件工程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《关于雷电游戏的软件工程设计报告Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
雷电最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。
随着计算机的发展而发展,雷电不断推陈出新,深爱广大玩家喜爱。
这个游戏有的简单,有的复杂,但其根本原理是一样的都是对运动的方块进行组合,来训练玩家的反应能力。
因此开发此游戏软件可满足人们的一些娱乐的需求。
此雷电游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的雷电游戏。
1.2设计目的
通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发俄罗斯广场游戏,使自己熟应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对J2SE基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。
1.3设计要求
本游戏开发的总体任务是实现游戏的可操作性,以及界面的美观性。
整个开发过程遵循软件工程规范,采用JAVAGUI编程实现界面以及事件的控制。
用户根据键盘的四个方向键控制翻转、向左、向右、和向下操作,通过菜单栏中的相应菜单选项实现游戏的开始、结束、变换方向、积分以及等级的功能。
1.4设计目标
通过本游戏的开发,主要实现游戏的可操作性及美观性,同时使自己对JAVA语言的了解更进一层,为将来的实际工作打下坚实的基础。
二.综述
2.1国内外研究现状
针对国内外对游戏软件的巨大需求和基本要求,一个好的游戏软件,必须要功能齐全,操作简便,向用户展示美观的操作界面。
在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。
一个游戏,不管是哪个年龄段的玩家都能轻松上手,操作简单易懂,容易普及。
本游戏系统主要实现对游戏的操作以及评分系统。
2.2研究可行性
信息社会的不断发展,生活节奏的不断加快使人们的生活压力日趋增大,为了满足众多奋战在PC屏幕前的工作人员适当的放松的愿望,我们决定开发一款在工作之余可以方便大众的简单的娱乐游戏,甚至可以通过WIFI等无线网络进行联机评分。
传统的PC软件开发模式具有很大的弊端,如厂商固化硬件、程序不易增加、删除、更新、修改等。
而JAVA技术在网络应用方面却有着非常明显的优势:
1.应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。
2.Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);
3.Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
2.3支持的技术
JDK6.0支持以下技术,并已与下列应用服务器测试。
支持的技术:
JavaEE6,JavaEE5andJ2EE1.4
JavaMESDK3.0
JavaCard3SDK
Struts1.3.8
Spring3.0,2.5
Hibernate3.2.5
JavaAPIforRESTfulWebServices(JAX-RS)1.1
JavaWirelessToolkit2.5.2forCLDC
IssueTracking
Bugzilla3.4或早期版本
Jira3.4或早期版本
C/C++/Fortran
PHP5.3,5.2,5.1
Groovy1.6.4
Grails1.1
ApacheAnt1.8.1
ApacheMaven2.2.1或后期版本
VCS
CVS:
1.11.x,1.12.x
Subversion:
1.5.x,1.6.x
Mercurial:
1.5
ClearCaseV7.0
Git1.7.х
三.方案设计与论证
3.1功能分析图
3.2功能需求定义
用户
分类
功能
玩家
登陆界面
继续未完的游戏
创建新游戏
声音
游戏排名
帮助
退出游戏
游戏过程中
暂停游戏
继续游戏
放大招
玩家吃生命宝物
玩家吃放大招宝物
玩家吃子弹强度宝物
吃子弹变换宝物
吃无敌状态宝物
游戏帮助
声音设置
玩家保存游戏
玩家返回游戏
直接退出游戏
3.3功能性需求
登陆界面:
3.3.1继续未完的游戏
用例名称:
用例编号
01
优先级
必须实现
触发器
菜单选项
前提
用户在游戏中有存档
基本路径
1.用户打开游戏;
2.进入游戏读取画面;
3.选择“继续游戏”选项。
可选路径
N/A
后置条件
系统读取用户存档
异常路径
其他
用户没有存档,提示无存档
参考
TAB1.1-1
TAB1.1-2
3.3.2创建新游戏
02
用户打开游戏
1.用户打开游戏;
2.进入游戏读取画面
3.选择“新游戏”选项。
开始新的游戏
TAB1.1-3
3.3.3声音
03
1.选择“菜单”,然后系统显示运行时菜单
2.选择“声音设置(开/关)”选项
3.选择“开”,游戏声音打开,选择“关”,游戏声音关闭。
系统返回登陆界面
TAB1.1-4
3.3.4游戏排名
04
1.选择“菜单”,然后系统显示运行时菜单;
2.选择“游戏排名”选项;
3.进入游戏排名,列出前三名的游戏分数及用户资料。
TAB1.1-5
3.3.5帮助
05
1.用户选择“帮助”;
2.进入帮助界面。
TAB1.1-6
3.3.6退出游戏
06
1.用户选择“退出游戏”,弹出提示对话框;
2.用户选择“确定”退出游戏;
3.完成存档;
4.游戏结束,退出游戏完成。
系统退出
TAB1.1-7
游戏过程中:
3.3.7暂停游戏
07
暂停按钮
游戏正在进行中
1.当在游戏中时,按“暂停”按钮后暂停游戏
2.屏幕上显示游戏暂停,并显示“继续游戏”按钮
系统暂停游戏
TAB1.1-8
3.3.8继续游戏
08
继续游戏按钮触发
游戏已经暂停
1.当玩家在游戏中请求暂停后,屏幕上显示有“继续游戏”按钮
2.选择“继续游戏”按钮,游戏结束暂停状态,恢复游戏
系统继续游戏
TAB1.1-9
3.3.9放大招
09
按下PCFIRE键
大招可用数>
1.玩家按下FIRE号键后,在当前屏幕中的Plane,子弹,炮塔都死亡
可用数-1,初始化有两个大招;
2.玩家吃到放大招礼物后,可用数+1
3.屏幕又下角显示可用数;
系统继续游戏
TAB1.1-10
3.3.10玩家吃生命宝物
10
玩家控制飞机与宝物接触
玩家处于正常的游戏运行中
玩家处于正常的游戏运行中,飞机与宝物发生接触
玩家的剩余生命数量加一,显示的剩余生命数值也加一
TAB1.1-11
3.3.11玩家吃子弹强度宝物
11
玩家控制的飞机所发射的子弹若已经为加强的子弹,则保持当前子弹状态不变,若为一般强度的状态,则将子弹的状态变成加强的,同时玩家所控制的飞机发出的子弹束加粗
TAB1.1-12
3.3.12吃放大招宝物
吃放大招宝物
12
用户飞机与放大招宝物碰撞
用户已经开始游戏
1.用户飞机与放大招宝物碰撞
2.游戏界面右下角出现相应宝物图标,如果以前已经出现了图标,则数量增加一个。
用户出发按键,放大招,背景上出现的敌方小飞机以及炮塔全被消失。
如果敌方boss在背景上,敌方boss也会有一定受伤。
TAB1.1-13
3.3.13吃子弹变换宝物
13
用户飞机与子弹变换宝物碰撞
1.用户飞机与子弹变换宝物碰撞
2.用户飞机的子弹立即变换为宝物相应的子弹类型。
用户飞机的子弹发射的子弹类型为宝物相应的子弹类型
TAB1.1-14
3.3.14吃无敌状态宝物
14
用户飞机与无敌状态宝物碰撞
1.用户飞机与无敌状态宝物碰撞
2.用户飞机立即变为无敌状态,并持续一定时间,即用户不会被地方子弹所伤害,也不会被敌方的飞机所撞坏。
无底状态只能持续一定时间,在此状态下,即用户不会被地方子弹所伤害,也不会被敌方的飞机所撞坏。
TAB1.1-15
3.3.15游戏帮助
15
1.用户点击“选项”按钮。
2.弹出选项菜单,并且选择“帮助”按钮。
3.进入帮助界面。
TAB1.1-16
3.3.16声音设置
16
4.用户点击“选项”按钮。
5.弹出选项菜单,并且选择“声音设置(开/关)”按钮。
6.选择“开”,游戏声音打开,选择“关”,游戏声音关闭。
TAB1.1-17
3.3.17玩家保存游戏
17
玩家已经进入游戏,点击“选项”按钮。
1.用户点击“选项”按钮。
2.弹出选项菜单,并且选择“返回主菜单”按钮。
3.弹出退出菜单,选择“保存”选项,进行游戏场景保存。
系统进入游戏登录界面。
TAB1.1-18
3.3.18玩家返回游戏
18
1.用户点击“选项”按钮。
2.弹出选项菜单,并且选择“返回主菜单”按钮。
3.弹出退出菜单,选择“返回游戏”选项,重新进入游戏。
游戏继续进行。
TAB1.1-19
3.3.19直接退出游戏
19
3.弹出退出菜单,选择“直接退出”选项,退出游戏。
TAB1.1-20
3.4用例分析
雷电游戏管理有用户和管理员2类用户。
管理员可以对游戏的图片,声音,帮助,评分的基本信息进行增、删、改、查的操作用户则可以创建游戏,删除游戏,增加积分等。
3.5E-R图
3.6关键技术及难点
管理员可以上传配置要求,图片等,用户可以下载补丁。
相反用户结束游戏后要上传给管理员,管理员可以下载用户的积分来更新。
因此游戏的控制系统的难点和重点就是如何控制文件的上传和下载。
上传下载需要用到SmartUpload这个组件。
SmartUpload是一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。
该组件有以下几个特点:
1、使用简单。
在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。
利用SmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。
如此可以滤掉不符合要求的文件。
4、下载灵活。
仅写两行代码,就能把Web服务器变成文件服务器。
不管文件在Web服务器的目录下或在其它任何目录下,都可以利用JSPSmartUpload进行下载。
5、能将文件上传到数据库中,也能将数据库中的数据下载下来。
另外,JSP对上传文件的支持不像PHP中支持的那么好,直接做成了函数,也不像ASP中要通过组件才能实现。
JSP中可以通过JavaBean来实现。
但是我们没有必要自己去写一个上载的Bean,在网上已经有了很多成型的技术,Smartupload就是其中的一个。
但是Smartupload是将文件先读到服务器的内存中,所以上传太大的文件(超过100M)有可能会出问题。
4.1输入输出要求
输入:
玩家可以通过PC键盘控制游戏:
“上”“下”“左”“右”快捷键、中间“确定”键以及左右软键。
“上”“下”“左”“右”快捷键控制己方飞机的上下左右移动。
左软键选择释放清屏大招,右软键退出。
中间“确定”键表示选择。
输出:
进入游戏后屏幕上显示玩家所得的分数,玩家所用的时间,玩家剩余血量、大招数和生命值。
当玩家所控制的飞机被击败后,输出一个消息“GameOver!
”表示游戏结束。
若玩家分数打破当前系统前三名记录,则弹出消息框提示玩家输入用户名,以保存新的前三名记录。
4.2数据流程图
4.3数据流图
4.4界面概览
游戏开始界面:
玩家视角:
技能演示:
结束界面:
五.结果与评价
5.1测试
5.1.1测试的目的
软件测试的目的决定了如何去组织测试。
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
而本系统的测试则着重测试管理员,用户对本系统的满意度、易用性、稳定性进行。
5.1.2黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。
5.1.3测试环境与测试条件
操作系统:
WindowsXP
浏览器:
IE6.0以上
页面开发工具:
Dreamweaver
Java开发工具:
eclipse,myeclipse
5.1.4实例测试
5.2心得体会
经过一个星期的不断努力,课程设计内容基本上完成了。
首先,在这里要感谢我班上的同学,他们都在身边督促我,我们也互相鼓励,共同进步。
另外,我还要谢谢我的室友,是她们对我的课题提出了许多富有启发性和建设性的意见和建议。
在做课程设计中碰到了许多的问题,从一开始的代码错误到实现课程设计报告的格式,特别是在代码中的错误,大大小小的问题很多,但是经过自已的反复查阅和同学的帮助,都一一克服了。
以后再大的事,有自己的努力和朋友的帮助,我相信没有什么事情是可以难倒我的。
5.3参考文献
[1]朱福喜著,JAVA程序设计技巧与开发实例[M]北京:
人民邮电出版社,2004.2
[2]张海藩软件工程(第五版)北京:
清华大学出版社,2008
[3]贾振华Java语言程序设计(第二版)北京:
中国水利水电出版社,2009
[4]王宇,战学刚,高国伟著,计算机算法解决雷电中的数学与计算问题[M]计算机应用与软件,第二十四卷第三期,2007.3
附录:
主要代码
publicErsBlocksGame(Stringtitle)
{
super(title);
setSize(315,392);
DimensionscrSize=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((scrSize.width-getSize().width)/2,
(scrSize.height-getSize().height)/