基于Java web的多功能游戏大厅系统的开发与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
目前,国内游戏市场上的网络游戏有许多种类,游戏在玩法上也越来越雷同,形式越来越单调。

这种游戏性系统给玩家带来的成就感虽然是无穷的,但是也有随之而来的疲惫感,尤其是需要花费大量的时间和精力,这对于大多数人来说都是很难做到的。

本设计采用Java面向对象编程语言,论述了基于Java Web开发的多功能游戏大厅的开发与实现,研究了目前主流的轻量级J2EE应用体系结构,对所选框架进行了分析和论述。

系统集成了Spring MVC、Spring、Mybatis的Java Web
开发框架,使用IntelliJ IDEA集成开发工具和SQL Server数据库管理系系统(DBMS)。

系统界面简单清晰,内容包含用户管理、游戏管理、游戏热度排名、公告展示等模块。

Web游戏大厅与其他游戏大厅不同,首先,它不需要下载客户端,打开网页就能游戏;其次,Web游戏有一定的益智性,比如策略类、经营类等等。

在画面上虽无法与大型网络游戏的界面与规模相比,但是开发者在制作过程中将更多的精力放在了如何提高游戏的趣味性和乐趣上。

于是Web游戏大厅应运而生,并且以其界面简洁、功能齐全、易用性高、对硬件要求低等特点备受青睐。

关键词:游戏大厅;软件开发框架;数据库管理系统
ABSTRACT
At present, there are many kinds of online games in the domestic game market, and the game is more and more similar in terms of gameplay, and the form is more and more monotonous. This kind of gameplay system gives players a sense of accomplishment, but there is also a sense of exhaustion, especially the need to spend a lot of time and energy, which is very difficult for most people.
This design adopts Java object-oriented programming language, discusses the development and implementation of multi-function game hall based on Java Web development, studies the current mainstream lightweight J2EE application architecture, and analyzes and discusses the selected framework. The system integrates the Java Web development framework of Spring MVC, Spring, and Mybatis, using IntelliJ IDEA integrated development tools and SQL Server database management system (DBMS). The system interface is simple and clear, and the content includes modules such as user management, game management, game popularity ranking, and announcement display.
The web game hall is different from other game halls. First, it does not need to download the client, and the webpage can be played. Secondly, the Web game has certain ingenuity, such as strategy, business, and so on. Although it is not comparable to the interface and scale of large online games on the screen, developers are focusing more on how to improve the fun and fun of the game during the production process. So the Web game hall came into being, and it was favored for its simple interface, complete functions, high ease of use, and low hardware requirements.
Keywords:Game Hall;Software Development Framework;DMBS
目录
第一章引言 (1)
第一节课题背景 (1)
第二节研究现状 (1)
第二章开发环境与相关技术 (3)
第一节开发环境 (3)
第二节相关技术 (5)
第三节项目管理工具 (5)
第三章系统分析与设计 (8)
第一节任务概述 (8)
第二节可行性分析 (9)
第三节功能描述 (10)
第四节数据库设计 (12)
第四章系统实现 (16)
第一节架构分析 (16)
第二节登录注册界面设计 (19)
第三节游戏大厅界面设计 (22)
第四节游戏管理模块 (26)
第五节公告管理模块 (29)
第五章系统测试 (34)
第一节测试的基本概念 (34)
第二节系统测试计划 (34)
第三节系统测试结果分析 (36)
第六章结论 (38)
参考文献 (39)
致谢 (40)
第一章引言
本文首先叙述了本次课题的背景、开发目的和意义,其次介绍了系统开发环境、开发工具、相关开发语言、系统框架,并对相关技术进行阐述,重点论述了需求分析、详细设计、编码实现和系统测试等过程[1]。

Java Web开发不仅需要丰富的实战经验,也需要熟练掌握不同框架的优缺点、应用场景,从而开发出符合用户需求、吸引用户的产品[2]。

第一节课题背景
随着经济的发展,个人电脑和网络不断普及,人们物质生活得到提高,因此对精神生活质量提出了新的要求。

随着网络的发展,游戏大厅逐渐成为游戏界的一种主流形式。

目前,游戏已经成为了一种大家喜闻乐见的主流休闲方式。

小游戏正是由于其迭代速度快和简单易玩的属性,以惊人的速度发展着,游戏网站也因此蕴含了巨大的市场潜力。

Web游戏凭借互动性和易用性,深受各年龄段人群的喜爱。

所以设计一款休闲娱乐、简易方便的益智游戏网站前景非常可观。

本系统就是基于Java Web开发的一套简洁的游戏大厅,意在打造一个集合多种益智、休闲游戏的平台,给用户一种不一样的娱乐体验。

在有着庞大数量的小游戏网站中,如何在众多游戏里挑选一款方便易玩,设计巧妙,并拥有较高品质的游戏现如今成为了大家在生活中所关注的问题。

为了适应人们日益增长的娱乐需求,网站开发者们做了许多尝试。

例如,为了方便玩家准确便捷的挑选游戏,许多网站对当前热门的小游戏进行归纳与分类。

本系统在此基础上进一步优化,用户通过登录注册,可于平台上选择小游戏试玩,并对心仪的游戏进行收藏评分。

用户对游戏的评价将实时反馈于界面上。

开发者可通过反馈内容进行总结整理,登录管理员界面发布相关公告,改进系统。

第二节研究现状
随着小游戏数量急速增长,游戏种类也日益繁多,简单的归纳类网站已经无法满足用户的需求,于是根据用户喜好进行排名,能进行个性化收藏的游戏大厅也应运而生。

但他们存在着一个共同的问题,功能繁多、操作复杂。

因此,用户急需一个功能简洁完整的游戏平台,而多功能游戏大厅恰恰满足了这种需求。

多功能游戏大厅的任务主要是为用户提供一个功能完整,使用体验良好的游戏平台。

一方面帮助用户选择并收藏自己喜爱的小游戏,另一方面可以根据用户的反馈与参与度改善游戏大厅的功能与体验,为开发者反馈真实有用的信息,帮助完善系统。

电子游戏自从60年代出现起,发展迅速。

目前已有多种多功能游戏大厅,
在很大程度上已经遍布世界各地并为全世界受众喜爱,具有一定知名度的多功能游戏平台如Steam游戏平台,Origin游戏平台,国内腾讯研发的We Game游戏平台,以及已经延续多年的QQ游戏大厅,这些游戏平台主要提供一个集成式的游戏大厅,供玩家方便快捷的选择自己想玩的游戏。

对于目前市面上所做的多功能游戏大厅,很多只是将不同种类的游戏堆砌在一个笼统的画面与服务器上,缺乏对游戏的分类与管理,由此可以得出,游戏大厅在未来的发展趋势主要有两点,一是提升系统在用户心中的可信度;二是建立好用户与开发者的沟通桥梁。

首先需要做好主界面,使玩家进去大厅能直观的了解最新最热门的游戏,做好游戏宣传以及程序升级,如每周榜单一类的排行榜可以方便玩家了解实时信息。

通过数据统计,针对玩家进行游戏推荐,最好按兴趣对用户进行划分。

做好玩家账户的保护,管理员在后台进行每日维护,并定时更新游戏与最新信息,充分利用网络资源,筛选适合不同年龄层的游戏。

第二章开发环境与相关技术
第一节开发环境
软件开发工具的应用可加快软件开发周期,降低软件开发者的劳动强度,提升软件工程系统化程度。

在本设计中应用了功能强大的IntelliJ IDEA集成开发环境。

一、IntelliJ IDEA集成开发环境
当前软件开发业界使用最广泛,用户友好度最高的Java开发工具是由Jet Brains开发出的IntellingjIDEA(简称为IDEA)。

该工具功能多样性远远优于其他工具性软件,其智能代码助手可以在代码编写过程中自动提示或重构代码,结合代码审查功能大大减少了开发者的工作量;IDEA中内置了Ant这一灵活的构建工具,且支持J2EE架构;在图形页面上更是做到了超前的创新。

在IDEA中,Project和Module在项目结构中的意义完全不同,这是IDEA 与Eclipse的主要差异。

由于IDEA中的Project只起到定义相关项目并限制其范围的作用,并无任何开发功能,所以构成某项目的Module,即使互相之间存在依存关联关系,但是并不需要一定处于同一项目业务之下。

IDEA对语言的支持有Java、scala等,通过安装插件可以支持更多语言,对数据库的支持有My SQL、oracle、SQL Server,对框架的支持有Spring MVC、Web Service、Structs、Hibernate等,对前端框架支持有Html5、CSS3、Node.JS 等
IDEA采用了用户友好度高的设计理念,可以将开发者的静态代码分析能力做到极大的开发,提高总体系统开发速率。

IDEA可以自动为用户代码编写出架构科学的索引,并根据代码上下文自动生成有效建议,为动态代码解析提供了有效支持。

IDEA提供了compile、build和make三种方式的编译,如下:
Compile
IDEA不像Eclipse一下在写完代码后需要进行手动保存,并且保存时会进行编译(可能是项目很缓慢和停顿,用过的都应该有映像),但是不编译也不会影响代码的检查(同样会进行报错)。

ReBuild、Rebuild Module
这是对整个工程、工程下的模块进行编译,执行时间可能较长。

Make
只对修改过的文件进行编译。

二、编程语言
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,在结构上与C++有很大的相似之处,不过相较于C++要更为简单。

Java拥有更为强大的功能,囊括了其他程序语言的大部分优点,相较于C++语言,其更为简单清晰,不但无需使用指针,其可以被视为是中立的,这是由于在对Java进行应用的过程中,首先使用的是聚合成中间代码,即字节码;然后,在进行加载的过程中,会实施奇偶校验,并将其中的代码释放出来,而后就能够在Java平台上进行运行,而且这种运行并不会对所应用的系统做出特殊的要求。

在Java程序运行的过程中,在平台中存在Java解释器,而对字节码的执行就是通过解释器实现的,其中也包括类的性能,使之能够在特定的运行环境中形成有效的结合。

Java语言本身具有多线程的特点,也就是在对某一应用程序进行运行时,其中同时存在多个数据流,共同完成对程序的执行,而多线程程序与应用在计算机工艺设计方面也是未来发展的一个重要方向;Java在虚拟机上解释运行,从而达到实时编译的效果,在一定程度上加快了Java的运行速度。

这些特点使开发人员不用再为内存管理而担忧。

Java最突出的特点之一就是支持多线程,使得多个任务可以同时进行[3]。

但是严格意义上说,受目前的技术限制,当代的计算机在某一时刻仅能执行单一线程,多线程并不能同时执行多个任务。

产生如此矛盾的原因在于计算机硬件技术的飞速发展,处理器速度得到极大的提升,远超人类感官接收信息的速度,使用户的使用体验得到满足。

Java程序的基本组成单元是类,它拥有许多标准类库和大量的第三方类库,对于Java开发人员来说可以使用集成开发环境(比如Spring Tool Suite、IntelliJ IDEA)来帮助他们进行高效地编程[4]。

Java作为一门根深蒂固的编程语言,有一个大型的社区、海量的资源为其作为支持。

三、数据库
(一)数据库意义
数据库(Database)是以某种有组织的方式存储的数据集合,保存有组织的数据的容器。

数据库管理系统(DBMS: Database Manage System):数据库是通过DBMS创建和操作的容器。

(二)SQL Server简介
SQL Server是使用度最高的关系型数据库管理系统之一[5]。

其特点主要是体积小、速度快、成本低,且源码开放,所以在选择WEB应用方面的数据库时,很多中小型网站都会使用SQL Server。

SQL Server可以允许于多个系统(Unix,Linux,Windows)上,并支持多种语言,包括C、C++、python、Java、PHP等。

SQL Server使用最常用的数据库管理语言SQL进行数据库管理。

第二节相关技术
一、B/S架构简介
B/S架构是指:浏览器/服务器结构(Browser/Server)。

它是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种架构下,用户界面通过Web浏览器来实现,事务逻辑的极少部分在前端(Browser)实现,在服务器端(Server)实现主要的事务逻辑,形成所谓的三层结构。

对于C/S结构的客户端来说,使用者需要事先在电脑上安装相应的客户端软件,而B/S结构属于一种“瘦”客户端,它将主要业务逻辑存放在了服务器端,因此使用者不再需要在自己的PC端安装任何客户端软件,通过浏览器即可访问软件服务。

B/S结构的软件系统升级或维护时只需要在服务器端更新即可,这样一来便大大的简化了对客户端电脑的负荷、减轻了系统维护与升级的成本和工作量。

B/S 体系结构如图2-1所示。

图 2-1 基于B/S体系结构图
二、SpringMVC + Spring + Mybatis(SSM)框架
对于绝大部分Java Web 开发者来说,开发的第一个项目应该都是以JA V A 服务器页面JSP[6]或者JSP+Servlet 形式完成的项目。

而这些项目只是学习过程中的练习项目,仅仅能作为是个人练习项目并不能实际应用到企业中去,学习Java Web 开发的目的是研究企业级应用的开发,因此闭门造车的思维模式不可取。

假如一个中小型项目全部使用JSP+Servlet 进行开发和维护,其运行、维护成本都会很高,更不用说大型项目了,开发成本、迭代成本、维护成本将会不可胜计。

俗话说工欲善其事必先利其器,一个优秀的Java Web框架可以说是程序员的利器,开发者的学习成本降低了,同时也能减少开发者的重复编码工作,简化开发过程,加快开发进度,降低维护难度。

在框架整合上,最初是Struts+ Spring + Hibernate,后来演变为Struts2 + Spring + Hibernate,随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring + SpringMVC + Hibernate/Mybatis。

SSM框架在项目开发中经常使用到,相比于SSH框架,它在近几年的开发中运用的更加广泛,因此本次设计选择了SSM框架技术[7]。

本次设计采用SpringMVC + Spring + Mybatis(SSM)开发框架,并且集合了Java服务器页面JSP、Javascript、html5等知识设计,主要目的是针对目前较流行的框架技术进行学习,体会通过使用框架进行开发应用程序的有利之处[8]。

掌握MVC模式结构,熟悉Spring框架的工程设计模式,学会开发基于动态页面的B/S结构程序。

使用SQL Server数据库保存游戏访问量、玩家得分及排名信息,利用JDBC 将Java代码连接到SQL Server数据库,实现SQL语句在数据库中的执行。

SpringMVC属于SpringFrameWork的后续产品,属于表现层框架,已经融合在SpringWebFlow里。

SpringMVC分离了控制器、模型对象、处理程序对象等,使其制定更为容易。

Spring是一种非侵入式的EE
Java框架
Java/Java应用框架。

就各种 Web
而言,Spring可作为一个粘合平台,实现很多技术的有效整合,并形成一个统一整体,进而解决当前所面对的诸多问题,使系统结构和性能更为出彩。

假如Struts2框架所负责的表单相当于提交了显卡,则MyBatis 框架主要负责对数据库计算机CPU进行操作,那么Spring框架相当于将主板和中央处理器进行组装。

Mybatis是一个用来封装JDBC的持久层框架,其主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便。

mybatis的操作均围绕sqlSession展开。

Mybaits通过完成文件配置将实体关联到Mapper文件,Factory
Mapper文件中配置的类对数据库的sql语句完成映射。

在每次同数据库进行交互时,均通过Factory
sqlSession拿到一个sqlSession,再实现sql命令的执行。

Mybatis工作原理如图2-2所示[10]。

图 2- 2Mybatis工作原理
SpringMVC+Spring+Mybatis搭建的框架原理如图2-3所示,Spring在运行
时具有良好的条理性,不同层均由Spring管理,可实现其他层的调用,Handler 调用Service,Service调用Mapper等。

依照此调用关系,我们可以从下往上一步步整合。

图 2- 3 SpringMVC + Spring + Mybatis的架构
三、项目管理工具
项目采用的是Maven管理工具,Maven是Apache下的开源项目,一个跨平台项目管理构建工具,基于Java平台完成的项目构建,利用Maven工具可以实现项目生命周期的管理,包含清除、编译、打包、部署等操作(图2-4)。

基于此可以方便灵活的控制项目,重要的是方便开发人员不必浪费时间去在不同的环境中配置依赖的jar包,能够专心于业务逻辑。

清理测试报告部署
编译打包
图 2- 4 maven构建的生命周期
第三章系统分析与设计
对软件系统功能需求进行分析对于软件的功能实现而言具有重要意义,也是整个系统设计中最为关键的核心步骤之一[11]。

在本文所设计的系统中,主要针对系统的可行性进行论述,并在相应的功能结构下对系统组织结构以及功能实现过程和原理进行说明。

系统需求分析指的是在设计者明确设计前提以及系统所需实现的基本功能前提下对软件进行有目的的开发设计,了解系统应当具备哪些功能。

遵循科学的需求分析步骤可以使需求分析工作更高效。

系统需求包含以下几点:业务需求、用户需求、功能性需求、非功能性的需求[12]。

需求分析的一般步骤如图3-1所示:
图 3- 1需求分析步骤示意图
第一节任务概述
一、课题目标
游戏在当前社会中已经成为了帮助人们释放生活压力、放松心情的最容易、最行之有效的娱乐方式之一。

随着互联网技术的快速发展,网页端游戏备受互联网玩家青睐,设计一种集合多游戏类型的游戏大厅能够快速实现用户对各种主流网页游戏的需求。

在传统网页游戏形式的基础上,首先需求分析确定游戏界面布局,然后采用面向对象编程语言实现用户登录、用户权限管理、信息维护、公告发布、游戏分类管理等功能。

为了能获得用户的喜爱,我们在设计的时候必然要考虑到用户使用时的简洁度与易玩度,系统要能快捷方便的实现客户需求,在基础功能完善的条件下可以尝试添加其他个性化功能。

这要求我们所设计的游戏大厅系统在展示多款游戏的同时,能让用户自由的为喜爱的游戏进行评分与收藏,还能通过有趣方便的操作使新玩家更快适应操作本系统,获得更好的游戏体验。

二、运行环境
表 3- 1软件开发环境配置参数
第二节可行性分析
要想经济获得最高效益,需要通过分析它的可行性来降低开发过程中的成本。

通过对系统分析可行性就能依照各种用户的需求确定要研究的方向以及目标。

最合理的分析步骤是先进性调查,再对满足要求功能的框架进行分析。

要想最合理地利用信息资源,需要从多面对该系统进行调查,包括技术、经济、操作等各方面的可行性。

一、技术可行性
本系统采用IntelliJ IDEA作为开发工具,数据库采用SQL Server 2008,Java 为本系统的开发语言。

在本章之前的内容中已着重介绍了相关开发工具的优点与特点,也分析了所使用的关键技术的核心内容。

由此可知这些技术可以使多功能游戏大厅被成功开发与运行。

综上所述,技术可行性满足要求。

二、运行可行性
该系统采用的模式为B/S模式。

B/S模式作为当今世界网络程序开发体系结构的主流,已经成为了当今应用软件的首选体系结构。

B/S以其相对低廉的开发和维护成本受到了青睐。

在电脑保持网络通畅的情况下,任何浏览器与操作系统均可使用,这大大降低了系统开发的复杂度,可操作性也非常可观。

综上所述,系统的运行和操作在可行性方面都没有问题。

三、进度可行性
表 3- 2进度计划表
由以上进度计划表可以得出本次设计的大致进度计划,在两个月左右的时间里储备计算机的相关知识、熟悉开发技术与开发环境、完成系统的编写与调试,虽然有一定的难度,但通过上文对可行性的逐一分析,大致可以在规定时间内将系统基本实现。

第三节功能描述
作为简单快捷的小游戏大厅系统,主要有游戏体验,游戏管理,公告管理以及用户信息管理等功能。

系统的管理员与在玩用户(即玩家)为此系统的主要使用者。

在本系统内,管理员可对游戏信息进行删、增、改,查等操作。

管理员通过对游戏热度的监控,可实时调整大厅内的游戏种类,同时更新数据库信息,方便管理人员实时了解用户需求并不断调整大厅游戏配置;管理人员还有管理普通用户的权利,根据用户行为增删改查普通用户的基本信息。

对于玩家用户,即本系统的服务对象,主要功能是游戏体验,对于大厅内的每个游戏进行体验,对喜欢的游戏进行收藏方便日后查找。

整个系统需要玩家、管理员与游戏三者有机结合,打造一个轻松专业的管理平台。

根据以上的分析,本系统的构思大致为以下几个方面:通过SQL Server构建游戏的数据库,设计游戏大厅的界面基本功能以及游戏的链接(包含三个小
游戏贪吃蛇,扫雷,走迷宫),设计用户的登录退出以及新用户注册,用户可进行小游戏收藏等功能。

设置管理员权限可发布公告,大厅内根据游戏热度进行实时排名显示在首页。

下面将对整个系统的功能进行描述。

一、用户注册
在注册页面中只能注册普通用户,无管理员权限注册。

为了整个系统管理方便,本系统只设计一位管理员进行所有功能的管理。

二、菜单管理
不同的用户类型登录有不同的菜单选项。

管理员通过账号登录后,拥有对菜单项中所有界面访问的最高权限。

普通用户登陆后仅能访问系统首页、游戏界面、公告页面。

此功能有效的区分了不同用户的权限,提高了系统的逻辑层次。

三、用户管理
(一)系统管理员登录后,在系统内可以新增游戏链接、修改游戏、删除游戏、管理用户账号(用户的增、删、改、查操作)等操作。

如需修改、删除大厅内小游戏或用户,当管理员选择“修改”按钮,当前界面会进行跳转,管理员可以进行需要的修改。

(二)普通用户可修改自身用户密码、手机号等信息。

四、游戏管理
(一)游戏管理中,系统管理员可以新增游戏链接、修改游戏、禁用、删除游戏等操作。

(二)普通用户只能点击游戏列表中的游戏跳转至游戏界面,并增加此游戏的点击量。

五、公告管理
(一)管理员负责公告信息,负责对公告进行新增、禁用、删除等操作。

(二)公告信息是管理发布公告后在用户界面中的公告页面中可以查看。

图 3- 2总体需求分析图
根据图3-2的总体需求分析可知,多功能游戏大厅系统的主要功能模块有:普通用户管理模块,游戏模块和管理员模块。

在各个模块之下,又含有多个子功能,分别是:游戏体验、游戏管理(收藏)、游戏数据、游戏点击量、游戏信息管理、公告信息管理、用户信息管理。

第四节数据库设计
数据库是很重要的部分。

没有了数据库管理系统的支持,是不能进行收集信息和对信息的一系列处理。

当前在进行软件系统设计和系统开发时最为关键也是最为核心的步骤时对系统的数据库部分进行合理设计[13]。

一、概要设计
概要设计的目的是确认系统中存在的所有实体,以及理清各个实体之间的关系,该部分的设计质量会影响数据库逻辑设计的过程。

以下图3-3是本系统的E-R图。

相关文档
最新文档