Dota2资料库智能管理平台的设计与实现html
摘 要前端
当今社会,游戏产业蓬勃发展,如PC端的绝地求生、坦克世界、英雄联盟,再到移动端的王者荣耀、荒野行动的火爆。都离不开科学的游戏管理系统,游戏管理系统当今已经受到开发者和运营者的高度重视,经过游戏管理能够对游戏自身及玩法进行系统性、战略性的调整和协调,以提升可玩性。经过对权限的控制将游戏管理系统转变为面向玩家的资料库,玩家能够经过资料库对Dota2信息进行由浅入深的了解,从而进一步提升游戏可玩性。node
本项目是基于SpringMVC+Spring+Mybatis+SpringBoot开发的一款Dota2资料库智能管理平台,数据库采用了MySQL,前端采用了ExtJs+jQuery技术。ios
关键词:管理平台;Spring MVC;SpringBoot;ExtJsgit
Design and Implementation of Dota2 Database Intelligent Management Platform程序员
Abstractgithub
In today's society, the game industry is booming, such as player unknown’s battlegrounds, world of tanks, the league of legends of the PC, the honor of the kings, and wild and action of the mobile, are inseparable from the scientific game management system, management system today has been attached great importance to developers and operators, the game itself and gameplay will be systematic and strategic adjusted to and coordinated through the game management, in order to improve playability. The game management can be transformed into a player oriented database management system through the permissions control, the player can obtain information from the game database on the game, thus he can get further enhance gameplay.web
This project is a Dota2 database intelligent management platform based on SpringMVC+Spring+MyBatis+SpringBoot. MySQL is used in the database, and ExtJs and jQuery are used in the front end.数据库
Keywords: Management platform; Spring MVC; SpringBoot; ExtJs编程
目 录
引言... - 1 -
第1章 绪论... - 2 -
1.1 课题研究的背景及意义... - 2 -
1.2课题的研究现状和发展趋势... - 2 -
1.2.1国内外发展示状... - 2 -
1.2.2发展趋势... - 3 -
第2章 开发工具及相关技术介绍... - 4 -
2.1 开发技术... - 4 -
2.1.1 SpringBoot - 4 -
2.1.2 SpringMVC框架... - 4 -
2.1.3 ExtJs. - 4 -
2.1.4 MyBatis. - 4 -
2.2 开发工具... - 5 -
2.2.1Intellij IDEA.. - 5 -
2.2.2Visual Studio Code. - 5 -
第3章 需求分析... - 6 -
3.1可行性分析... - 6 -
3.1.1 经济可行性... - 6 -
3.1.2 技术可行性... - 6 -
3.1.3 操做可行性... - 6 -
3.2 系统分析... - 6 -
3.2.1 业务流分析... - 6 -
3.2.2 数据流分析... - 8 -
3.2.3 数据字典... - 9 -
3.2.4 数据库需求分析... - 10 -
第4章 概要设计... - 12 -
4.1 系统模块结构设计... - 12 -
4.1.1系统模块... - 12 -
4.2 系统整体结构设计... - 14 -
4.2.1 整体结构设计功能... - 14 -
4.2.2 系统E-R图... - 15 -
4.3 数据库表设计... - 16 -
第5章 系统详细设计... - 18 -
5.1系统登陆模块... - 18 -
5.2 用户操做模块... - 21 -
5.3 游戏运营人操做模块... - 26 -
第6章 系统测试... - 28 -
6.1 系统测试的概述... - 28 -
6.2 功能性测试... - 28 -
6.3 非功能性测试... - 29 -
结论与展望... - 31 -
致谢... - 32 -
参考文献... - 33 -
附录... - 35 -
插图清单
图3-1 Dota2资料库管理平台玩家流程图... - 7 -
图3-2 Dota2资料库管理平台运营人流程图... - 8 -
图3-3 Dota2资料库管理平台数据流图... - 9 -
图4-1系统功能模块结构图... - 12 -
图4-2 Dota2资料库管理平台玩家模块流程图... - 13 -
图4-3 Dota2资料库管理平台游戏运营人模块流程图... - 14 -
图4-4 Dota2资料库管理平台整体结构设计功能图... - 15 -
图4-5 Dota2资料库管理平台的E-R图... - 15 -
图5-1 Dota2资料库管理平台平台登录首页图... - 18 -
图5-2 Doat2资料库登陆界面图... - 19 -
图5-3 Dota2资料库登陆界面图... - 20 -
图5-4查看英雄信息... - 21 -
图5-5查看物品信息... - 22 -
图5-6 查看天赋信息... - 23 -
图5-7物品模拟界面... - 24 -
图5-8天赋模拟界面... - 25 -
图5-9战绩信息模块... - 26 -
图5-10用户修改表单... - 26 -
图5-11角色分配... - 27 -
图5-12权限分配... - 27 -
表格清单
表3-1 用户表... - 9 -
表3-2 角色表... - 9 -
表3-3 权限表... - 9 -
表3-4 英雄表... - 10 -
表3-5 物品表... - 10 -
表3-6 天赋表... - 10 -
表4-1 用户表... - 16 -
表4-2 角色表... - 16 -
表4-3 权限表... - 16 -
表4-4 英雄表... - 16 -
表4-5 物品表... - 17 -
表4-6 天赋表... - 17 -
表 6-1重置用户密码测试用例... - 28 -
表 6-2角色分配测试用例... - 28 -
表 6-3新增权限功能测试用例... - 29 -
表 6-4物品模拟功能测试用例... - 29 -
表 6-5性能测试用例... - 29 -
随着社会的高速发展,互联网行业不断发展,尤为是游戏产业的快速发展,愈来愈多的人开始接触游戏,游戏产业进入了高并发、大数据和数据共享时代。当今时代,游戏运营是游戏厂商所要应对的问题,而且玩家对游戏信息获取的需求日渐提升。所以一个科学的游戏管理平台能够改善开发者和运营者对数据的管理,Dota2资料库管理平台操做简单,玩家根据本身的需求一些获取关于Dota2的信息。
本系统是基于SpringBoot的SSM开发,该框架是目前风靡的一种Web应用程序开源框架,其中Spring是一个轻量级的Java开发框架。前端使用jQuery、ExtJs等框架,数据访问层使用MyBatis,采用MVC设计模式。
近年来,随着游戏产业的大爆发,产生了大量优秀的网络游戏做品,游戏已经融入不少人的生活中,游戏品质是决定一款游戏是否受欢迎的直接因素,但渠道商的发行与宣传、后期的运营、版本的更新、强大的游戏管理系统等因素交织在一块儿才能决定它是否能延续成功,只有真正有想法的团队、有品质的游戏才能经得起时间的考验,在竞争激烈的游戏市场上存活下来。
考虑到游戏策划和运营人员不太了解编程开发,信息的可视性和灵活性较差,难以对游戏进行有效的数据管理、便捷地对开发人员提出需求等,所以游戏信息化、系统化管理就显得迫在眉睫。游戏厂商须要专业化的管理系统,提升游戏策划和运营人员管理效率及游戏开发人员开发效率;玩家须要获取游戏数据,例如历史战绩、英雄使用状况和装备属性等,经过更加专业的角度来了解这款游戏,如经过网页、手机浏览器。以往玩家在游戏过程当中了解游戏数据会浪费玩家的游戏时间,带来的效率问题已经日益突出。
游戏管理系统首先应能提供与游戏相关的数据,不管是游戏内容数据仍是记录玩家行为的数据,都应该完整地呈现给工做人员,必要时还需提供精确查找,并可以生成图表。对于玩家,管理系统应提供部分游戏内容数据。
(1)框架技术国内外的研究现状
REST全称为表述性状态转移(Representational State Transfer),一种分布式软件架构风格,可有效地下降系统开发的难度,增长系统可扩展性,王正华认为,具备面向资源性、无状态性、连通性强、方法统一等特征的REST式架构优于面向活动的RPC和面向服务的SOA[3]。盛伟翔等人[4]从架构风格的角度,研究了如何统一操做接口,下降系统耦合度,以轻量级的架构方法提升系统性能,加强系统的可见性和容错性,优化交互方式,减小无心义的服务器任务[16]。
秦姣华等人[1]提出了基于ExtJS3.2的调优方案,根据本身的须要延迟加载JS库,江雪等人[1]认为,能够经过ExtJS的ViewModel的继承特性来完成不一样需求的数据绑定,李亚丽等人[2]提出了ExtJS能够用来开发RIA,即富客户端的Ajax应用,是一个用JavaScript编写的,主要用于建立前端用户界面,是一个与后台技术无关的前端Ajax框架[17],Sencha中文站在2017年5月24日发布ExtJS6.5版本,推出了ExtJS6.5 Modern toolkit,能够为移动设备,也能够为桌面应用带来丰富的体验[18],推出了更多的新组件以及优化大量数据管理、无缝滚动等。
(2)游戏管理系统国内外的研究现状
蒋伟[7]使用基于JSF-EJB3.0开发模式设计了网络游戏管理系统,可是该系统对远程调用的安全机制等没有相应的讨论。王贞[10]设计实现的网络游戏管理系统中,代理服务器使用了基于集群的负载均衡,失败恢复技术,前端使用了基于静态页面缓存的Web加速器,前端代理服务器将大部分的静态资源缓存起来,直接返回给访问者,减小应用服务器的负载,该系统将数据按照不一样策略方案划分到不一样的服务器上,分散数据库的压力。郭杰[12]对游戏资源管理系统的各方面作了充分的讨论和阐述,详细的分析OGRE中资源管理框架的设计模式,而且分析了OGRE资源管理框架的优势和缺点。施海华等人[8]设计了基于NGB的互动游戏管理系统,有如下三个模块:互动电视游戏管理审核模块、互动电视游戏管理发布模块及互动电视下载应用服务模块,基于NGB的互动游戏管理系统的建设解决了各游戏厂商提供的游戏没法直接被网络运营商运营发布的问题,实现了对来自不一样厂商的游戏的审核、发布等统一管理功能。董欢[9]在游戏管理系统中增强了后台数据安全的管理,他在系统中采用了“所见即所得”设计方式,使用户在不具有操做数据库能力的条件下也能够实现对数据库数据的备份与恢复操做,可是该系统是在B/S架构上进行设计开发的,管理人员必须经过PC端网页进行数据的获取,不适用于手机、平板电脑等移动设备。费国俊[6]提出,随着Symbian系统的没落,iOS和安卓、winPhone系统的兴起,针对新兴的系统开发的手机游戏的管理、推广运营将是新的业务需求。张士铎等人[11]采用基于LAMP的Web开发平台,敏感数据的传输采用报文加密,他们认为,经过对基本的游戏数据统计进行数据挖掘,分析用户的行为模型,为游戏的发展战略提供数据指导,具备更深的意义。张灿[5]将游戏管理系统分为五大模块,其中数据日志模块包括输入SQL语句的查询,以及其余相关日志的查询。游戏服务器每时每刻产生的记录大量用户行为的日志,游戏管理系统会定时将这些日志从游戏服务器迁移到本地,并将这些日志读取后存储至数据库,工做人员经过游戏管理系统查询具体日志信息,该管理系统还包括服务器配置模块,工做人员可经过该模块设置服务器配置,由于游戏有不一样的物理服务器,针对不一样的玩家会有不一样的查询结果和操做结果,所以须要配置不一样的服务器信息。
2017年上半年国内游戏市场收入达997.8亿元(同比+26.7%,环比+14.9%);移动端市场收入达561.4亿元(同比+49.8%,环比+26.3%)。其中,上半年PC端游戏市场实际销售收入达到319.5亿元[20]。
2018 年,游戏行业发明了新的方式,如 loot boxes(战利品宝箱)和现实加强(AR)类游戏来吸引和娱乐玩家。游戏行业的将来将发生改变,既有娱乐性,也充满了创新和争议。
预计2019年,电子游戏市场整合将急剧加速,其中 80% 的收入来自大型上市公司。不过,2018年也有一些小型游戏制做公司发布了畅销的游戏,如《PUBG(绝地求生)》和《Cuphead(茶杯头)》,并且这种趋势将持续下去。独立开发者没有顶级公司的资源,由于较小的预算一般意味着更大的偏差幅度,但他们确实有创新的自主权[26]。
本系统采用的是Java语言开发,系统主要采用了Spring MVC框架,基于SpringBoot,数据库采用了MySQL,前端使用了ExtJs、jQuery等技术[4]。
多年以来,SpringIO平台饱受争议的一点就是大量的XML配置以及复杂的依赖管理。SpringBoot的目标之一就是实现免XML的开发体验。Boot所实现的功能超出了这个任务的描述,开发人员不只再也不须要编写XML,并且在一些 场景中甚至不须要再编写繁琐的import语句[13]。
SpringBoot的目的不在于为已解决的问题提供新的处理方式,而是为平台带来另外一种开发体验,从而简化这些已有技术的应用。对于已经熟悉Spring生态系统的开发人员来讲,Boot是一种很完美的选择,不过对于使用Spring的新人来讲,Boot提供一种更简约的方式来运用这些技术。
对Java项目而言,利用maven对第三方jar包进行统一管理,丰富的第三方库减少了开发量,提升了工做质量。
MVC是一个以设计界面应用程序为基础的设计模式。它主要利用分离模型、视图及控制器在应用程序中所扮演的角色将业务逻辑从界面中分离。一般,模型负责封装应用程序,数据在视图层展现。视图仅仅展现这些数据,不包含任何业务逻辑。控制器担任接收用户的各类请求的责任,并调用后台服务(service和dao)来处理业务逻辑。通过处理,后台业务逻辑层返回数据在视图层展示,控制器搜集这些数据及模型在视图层展现。MVC模式的核心思想是将业务逻辑从界面中分离出来,容许它们单独改变而不会相互影响[14]。
SpringMVC属于SpringFramework的后续产品,已经融合在Spring Web Flow里面。Spring框架提供了构建web应用程序的全功能MVC模块。使用Spring可插入MVC架构,从而在使用Spring进行Web开发时,能够选择使用Spring的SpringMVC框架或集成其余MVC开发框架,如Struts,Struts2等[21]。
在SpringMVC应用程序中,模型一般由POJO对象组成,它在业务层中被处理,在持久层中被持久化[22]。
ExtJs源于YUI,最早由Jack Slocun开发,采用OOP设计思想创建类库与后台语言无关的JavaScript框架[15],它将OOP思想发挥得淋漓尽致,然而ExtJs不只仅是个JavaScript框架,它能够独立于其余JavaScript框架经过Adapter(适配器)[16]。对于后台程序员来讲,不用深知前端网页开发技术,就能够快速开发出相似桌面应用的用户体验很高的界面。一方面减小了与美工的交流,本身来开发客户端界面,另外一方面,页面交互能力强,可以很好地实现后台功能。
Ajax做为Web2.0的核心技术之一,带来了Web用户体验革命性的转变。ExtJs做为Ajax的客户端UI框架,很大程度上减小了系统开发成本,同时又保证了系统的美化以及页面响应速度。 利用 Ajax+ExtJS 组合,有效地避开了传统 B/S 结构用户体验差的特色, 又具备了 C/S 结构的强交互能力,同时还具备很好的可移植性和可维护性[1]。
MyBatis是支持简单SQL查询、存储过程和高级映射的优良持久层框架。MyBatis避免了一切JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Ordinary Java Objects)映射成数据库中的记录。
每一个Mybatis应用程序主要都是使用SqlSessionFactoryBean实例的,一个SqlSessionFactoryBean实例,对该实例设置dataSource和映射文件xxx(mapper).xml,它将构成一个基本的MyBatis应用程序。
MyBatis的功能架构分为三层[14]:
(1)API接口层:提供给外部使用的接口API,开发人员经过这些本地API来操纵数据库,接口层接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2)数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果的映射处理等。它主要的目的是根据调用的请求完成一次数据库操做。
(3)基础支承层:负责最基础功能的支撑,包括链接管理、事务管理、配置加载和缓存处理等,将他们抽取出来做为最基础的组件。为上层的数据处理层提供最基础的支撑。
本系统使用Intellij IDEA开发工具,数据库使用可视化编辑工具Navicat for MySQL,组合完成了一套完整的资料库管理系统,IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为最好的Java开发工具之一,尤为在智能代码助手、代码自动提示、重构、J2EE支持、各种版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能能够说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
本系统前端使用Visual Studio Code开发工具,用来编写Html,CSS,jQuery。Visual Studio Code是一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
该编辑器也集成了全部一款现代编辑器所应该具有的特性,包括语法高亮(syntax high lighting),可定制的热键绑定(customizable keyboard bindings),括号匹配(bracket matching)以及代码片断收集(snippets)。Somasegar 也告诉笔者这款编辑器也拥有对 Git 的开箱即用的支持。
可行性分析主要就是研究这个项目是否能够施行,而且具备必要性、迫切性、科学性等,不但能产生可观经济效益,并且能产生巨大社会效益、生态效益等等。用往年的数据和资料证实研究该项目是有意义的[12]。
可行性分析是经过对项目的主要内容,如配套条件、设施选型、资源供给、建设规模、工艺路线、市场需求、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行考查研究和分析比较,并对项目建成之后可能得到的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的征询意见,为项目决策提供根据的一种综合性的系统分析措施。可行性分析应具有公正性、预见性、科学性和可靠性的特色。
可行性研究是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各类因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。为告终论的须要,每每还须要加上一些附件,如试验数据、论证材料、计算图表、附图等,以加强可行性报告的说服力[23]。
Dota2资料库管理平台,提供高效便捷的服务,该平台提供给已注册的用户使用,平台的运行环境是SpringBoot+Windows+MySQL,该环境成本低,所须要的成本主要集中在开发成本和推广成本。Dota2资料库管理平台一旦投入使用,游戏运营人员能够对游戏数据进行有效管理,也可让玩家对游戏信息进行深刻了解。该平台能够经过广告来营收,后期的经济效益将大于系统开发和推广成本。
本系统基于SSM框架开发,开发过程当中分为两大模块,一个模块是后端模块,一个模块是前端模块。后端框架Spring+Spring MVC+Mybatis,数据库使用MySQL。前端使用ExtJs框架,物品天赋模块前端使用jQuery,从所用的框架来看,都是已经成熟的框架,从开发语言来看,Java和Html语言也是很是熟悉的,因此开发本系统在技术上是可行的。
Dota2资料库管理平台是方便游戏运营人员对游戏数据进行有效管理和使玩家了解游戏动向。平台提供一套完整的控制体系,经过角色权限控制,游戏运营人员能够多游戏数据进行增删改操做,而玩家只能浏览信息,如查询物品信息、战绩信息,并进行物品和天赋的模拟。通过简单的注册就能够成为该平台的用户。玩家登录平台就能够浏览游戏信息,游戏开发与运营人员拥有更高权限的帐号。平台的设计首先考虑到用户使用起来简单,用户体验问题。因此Dota2资料库管理平台是可行的。
Dota2资料库管理平台全部用户均可以浏览英雄、物品、天赋信息,而且容许进行物品合成模拟和天赋加点模拟,玩家不能够对游戏信息进行增删改操做,运营人员能够对用户、角色、权限、英雄、物品、天赋进行增删改操做。Dota2
资料库管理平台玩家流程图如图3-1所示,Dota2资料库管理平台运营人流程图如图3-2所示。
图3- 1 Dota2资料库管理平台玩家流程图
图3- 2 Dota2资料库管理平台运营人流程图
Dota2资料库管理平台的数据流是依赖平台进行流向的,录入操做是输入数据,查询操做是输出数据。输入和录入数据保持同步,Dota2资料库管理平台数据流图如图3-3所示。
图3-3 Dota2资料库管理平台数据流图
数据字典是指对数据的数据存储、处理逻辑、数据流、数据项、数据结构、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素作出详细的说明,使用数据字典为简单的建模项目。数据字典是一种用户能够访问应用程序元数据和记录数据库的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容能够由DBMS自动更新的数据字典。被动数据字典是指修改时必须手动更新里面的内容的数据字典[24]。
Dota2资料库管理平台的用户数据模型表的数据字典,是由用户详细信息组成的,而这些信息是保存在数据库中,用户能够经过该信息登陆平台系统。如表3-1所示。
表3-1 用户数据模型表
数据项存储名 |
Dota2资料库管理平台的用户信息 |
数据项来源 |
Dota2资料库管理平台的用户表 |
数据项去向 |
Dota2资料库管理平台的用户登录模块 |
数据项组成 |
管理平台的用户信息=管理平台的用户帐号+管理平台的用户密码+管理平台的用户操做权限 |
数据项描述 |
保存了管理平台用户的基本信息 |
角色数据模型表是保存用户角色信息的数据字典,游戏运营人用户进行角色分配、修改和读取的同时,这些信息会记录到数据库中。如表3-2所示。
表3- 2 角色数据模型表
数据项存储名 |
Dota2资料库管理平台的角色信息 |
数据项来源 |
角色信息表 |
数据项去向 |
用户模块、角色模块、权限模块 |
数据项组成 |
角色信息=角色名称+角色状态等 |
数据项描述 |
保存了用户的角色信息 |
权限数据模型表是保存角色权限信息的数据字典,游戏运营人用户进行权限读取、分配和修改的同时,这些信息会记录到数据库中。如表3-3所示。
表3- 3 权限数据模型表
数据项存储名 |
Dota2资料库管理平台的权限信息 |
数据项来源 |
权限信息表 |
数据项去向 |
用户模块、角色模块、权限模块 |
数据项组成 |
权限信息=权限名称+权限状态等 |
数据项描述 |
保存了角色的权限信息 |
英雄数据模型表是保存英雄信息的数据字典,游戏运营人用户和玩家用户进行英雄查询和修改的同时,这些信息会记录到数据库中。如表3-4所示。
表3- 4 英雄数据模型表
数据项存储名 |
Dota2资料库管理平台的英雄信息 |
数据项来源 |
英雄信息表 |
数据项去向 |
英雄管理模块、天赋模拟模块 |
数据项组成 |
英雄信息=英雄名称+英雄图片路径等 |
数据项描述 |
保存了英雄的基本信息 |
物品数据模型表是保存物品信息的数据字典,游戏运营人用户和玩家用户进行物品查询、修改和物品模拟合成的同时,这些信息会记录到数据库中。如表3-5所示。
表3-5 物品数据模拟表
数据项存储名 |
Dota2资料库管理平台的物品信息 |
数据项来源 |
物品信息表、物品合成表 |
数据项去向 |
物品管理模块、物品模拟模块 |
数据项组成 |
物品信息=物品名称+物品图片路径等 |
数据项描述 |
保存了物品的基本信息 |
天赋数据模型表是保存天赋信息的数据字典,游戏运营人用户和玩家用户进行天赋查询、修改和天赋模拟的同时,这些信息会记录到数据库中。如表3-6所示。
表 3-6 天赋数据模拟表
数据项存储名 |
Dota2资料库管理平台的天赋信息 |
数据项来源 |
天赋信息表 |
数据项去向 |
天赋管理模块、天赋模拟模块 |
数据项组成 |
天赋信息=天赋名称+天赋图片路径等 |
数据项描述 |
保存了天赋的基本信息 |
Dota2资料库管理平台使用MySQL数据库,MySQL是一种关系数据库管理系统,关系数据库将数据保存在不一样的表中,MySQL所使用的 SQL 语言是用于访问数据库的最经常使用标准化语言[25],系统须要利用数据库的增长,修改,删除,查询语句来实现信息的及时更新。
所以要求数据库的底层架构能承受各类信息的输入和输出,以及输入和输出数据的安全性能、时间性能和完整性。在进行数据库需求分析的时候,咱们须要对系统需求进行详细的分析,这样才能够准确地把数据库设计出来,避免在设计数据库中存在一些逻辑上的问题。经过对系统的功能需求分析以及系统的数据库需求分析,Dota2资料库管理平台根据用户对象不一样各个模块有以下具体功能需求信息:
(1)管理员功能需求分析
1)用户、角色和权限信息的增删改查功能;
2)英雄、物品和天赋信息的增删改查功能;
3)项目需求和玩家意见的增删改查功能。
(2)玩家功能需求分析
1)英雄、物品和天赋信息的查询功能:玩家能够对游戏信息进行检索;
2)天赋模拟功能:玩家能够自行对天赋加点进行模拟;
3)物品模拟功能:玩家能够自行对物品进行模拟合成;
4)战绩信息查询功能:玩家能够自行玩家战绩进行检索。
通过Dota2资料库管理平台的详细需求分析以后,Dota2资料库管理平台开发进入到概要设计阶段,也称系统设计阶段,本阶段主要对Dota2资料库管理平台进行基本的流程设计、架构设计、模块设计、功能设计、接口设计以及数据设计等,为资料库管理平台软件的详细设计提供基础。
本设计主要实现Windows平台下的Dota2资料库管理平台。此系统根据角色主要包括游戏运营人(管理员)模块和玩家模块。Dota2资料库管理平台的系统功能模块如图4-1所示。
图4-1系统功能模块结构图
玩家模块包括英雄、物品、天赋和战绩信息的检索,以及物品模拟和天赋模拟。
游戏运营人模块包括英雄、物品、天赋和战绩信息的增长、删除、修改、查询,以及用户、角色和权限信息的增长、删除、修改、查询。
(1)玩家模块流程图
首先判断玩家有没有登陆管理平台,若没有,则不能访问平台系统的信息。若是登陆成功,能够访问英雄、物品、天赋和战绩信息,以及模拟物品合成和天赋加点,玩家模块流程图如图4-2所示。
(2)游戏运营人模块流程图
首先判断游戏运营人有没有登陆管理平台,若没有,则不能访问平台系统的信息。若是登陆成功,能够对英雄、物品、天赋和战绩信息进行增长、删除、修改、查询,以及对用户、角色和权限信息增长、删除、修改、查询,游戏运营人模块流程图如图4-3所示。
图4-2 Dota2资料库管理平台玩家模块流程图
图4-3 Dota2资料库管理平台游戏运营人模块流程图
Dota2资料库管理平台设计包含了玩家模块和运营人模块,能够对游戏信息进行检索处理,极大提升了游戏的版本迭代效率和游戏可玩性,Dota2资料库管理平台整体结构设计功能图如图4-4所示。
图4-4 Dota2资料库管理平台整体结构设计功能图
E-R图也称实体-联系图,提供了表示属性、实体类型和联系的方法,用来描述真实世界的概念模型。Dota2资料库管理平台的E-R图如图4-5所示。
图4-5 Dota2资料库管理平台的E-R图
用户表CT_USER如表4-1所示,CT_USER表是存储了用户信息的数据字典,用户进行注册时,用户信息会加入到此表中。
表4-1用户表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
用户id |
USERNAME |
VARCHAR |
NO |
|
用户名 |
REALNAME |
VARCHAR |
YES |
NULL |
真实姓名 |
PASSWORD |
VARCHAR |
NO |
|
密码 |
SEX |
TINYINT |
YES |
|
性别 |
PHONE |
VARCHAR |
YES |
|
手机号 |
STATUS |
TINYINT |
NO |
|
状态,0禁用1正常 |
UPDATE_TIME |
TIMESTAMP |
NO |
CURRENT_TIMESTAMP |
修改时间 |
CREATE_TIME |
DATETIME |
NO |
'0000-00-00 00:00:00' |
建立时间 |
角色表CT_ROLE如表4-2所示,CT_ROLE表是用来存储角色信息的数据字典,与用户表构成多对多关系。
表4-2 角色表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
角色id |
NAME |
VARCHAR |
NO |
|
角色名 |
DESCRIPTION |
VARCHAR |
YES |
NULL |
描述 |
STATUS |
TINYINT |
NO |
|
状态 |
UPDATE_TIME |
TIMESTAMP |
NO |
CURRENT_TIMESTAMP |
修改时间 |
CREATE_TIME |
DATETIME |
NO |
'0000-00-00 00:00:00' |
建立时间 |
权限表CT_RESOUCE如表4-3所示,CT_RESOURCE表存储了权限信息,与角色表构成了多对多关系。
表4-3 权限表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
角色id |
NAME |
VARCHAR |
NO |
|
权限名 |
TYPE |
VARCHAR |
NO |
NULL |
描述 |
ICON |
VARCHAR |
YES |
|
权限图标 |
PARENT_ID |
INT |
NO |
|
父类ID |
PERMISSION |
VARCHAR |
NO |
|
权限地址 |
URL |
VARCHAR |
NO |
|
|
STATUS |
TINYINT |
NO |
|
状态 |
UPDATE_TIME |
TIMESTAMP |
NO |
CURRENT_TIMESTAMP |
修改时间 |
CREATE_TIME |
DATETIME |
NO |
'0000-00-00 00:00:00' |
建立时间 |
英雄表HERO如表4-4所示,HERO表是用来存储英雄信息的字典。
表4- 4英雄表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
英雄ID |
NAME |
VARCHAR |
NO |
|
英雄名 |
LOCALIZED_NAME |
VARCHAR |
YES |
NULL |
英文名 |
HEADPORTRAIT_PATH |
VARCHAR |
NO |
|
头像路径 |
HERO_PATH |
VARCHAR |
NO |
CURRENT_TIMESTAMP |
英雄图片路径 |
物品表ITEM如表4-5所示,ITEM表是用来存储物品信息的字典。
表4-5物品表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
物品ID |
NAME |
VARCHAR |
NO |
|
物品名 |
COST |
INT |
NO |
NULL |
花费 |
SECRET_SHOP |
TINYINT |
NO |
|
秘密商店 |
SIDE_SHOP |
TINYINT |
NO |
|
路边商店 |
RECEIPE |
TINYINT |
NO |
|
是否卷轴,0否,1是 |
UPGRATED_ITEM |
VARCHAR |
NO |
0 |
是否更新物品 |
ITEM_PATH |
VARCHAR |
YES |
|
物品图片路径 |
LOCALIZED_NAME |
VARCHAR |
YES |
CURRENT_TIMESTAMP |
英文名 |
CHINESE_NAME |
VARCHAR |
YES |
'0000-00-00 00:00:00' |
中文名 |
天赋表TALENT表如表4-6所示,TALENT表用来存储英雄天赋信息。
表 4-6 天赋表
字段名 |
数据类型 |
容许非空 |
默认值 |
备注 |
ID |
INT |
NO |
|
天赋ID |
TEXT |
VARCHAR |
NO |
|
天赋名 |
HERO_ID |
INT |
NO |
|
英雄ID |
GRADE |
TINYINT |
NO |
|
天赋等级 |
TYPE |
TINYINT |
NO |
|
天赋类型,类型1,类型2 |
IS_DELETE |
TINYINT |
NO |
0 |
是否已删除,0否,1是 |
第5章系统详细设计
系统登陆模块实现了登陆注册功能,注册须要用户名和密码,真实姓名、性别等其余信息选填,一个用户名只能注册一次。用户登陆须要用户名和密码,连续输入用户名密码错误五次十分钟内不容许登陆系统。登陆界面如图5-1所示。
图 5-1 Dota2资料库管理平台平台登录首页图
核心代码:
@POST
@Path("/login")
@Produces(MediaType.APPLICATION_JSON)
// 此方法不处理登陆成功,由shiro进行处理.
public PcsResult login(@Context HttpServletRequest request,@FormParam("username") String username,
@FormParam("password") String password,@FormParam("roomcode")String roomcode) throws Exception {
PcsResult result = new PcsResult();
SecurityUtils.setSecurityManager(securityManager);
Subject subject = SecurityUtils.getSubject();
OfficeUsernamePasswordToken token=new OfficeUsernamePasswordToken(username,password,roomcode);
try {
subject.login(token);
} catch (AuthenticationException exception) {
// 登陆失败从request中获取shiro处理的异常信息。
// shiroLoginFailure:就是shiro异常类的全类名.
EnumPcsServiceError msg = EnumPcsServiceError.BUSINESS_DATA_NONE;
if (exception != null) {
if (exception instanceof UnknownAccountException) {// 帐号不存在
msg = EnumPcsServiceError.BUSINESS_USER_NONE;
logger.warn("login failed, account not existed. account={}", username);
} else if (exception instanceof IncorrectCredentialsException) {//密码不正确
msg = EnumPcsServiceError.BUSINESS_USER_PASSWORD_ERROR;
logger.warn("login failed, password not correct. account={}", username);
} else if (exception instanceof ExcessiveAttemptsException){//登陆失败屡次
msg = EnumPcsServiceError.BUSINESS_USER_LOGIN_ERROR;
logger.warn("login failed, login failed times too much. account={}", username);
} else if ("kaptchaValidateFailed".equals(exception)) {// 验证码错误
msg = EnumPcsServiceError.BUSINESS_USER_VERIFYCODE_ERROR;
}else if (exception instanceof IncorrectOfficeException) {
msg = EnumPcsServiceError.BUSINESS_ROOM_EXISTED;
logger.warn("login failed, login failed not in office. account={}", username);
}
}
result.setCode(msg.getCode()).setMessage(msg.getDesc());
}
return result;
}
Dota2资料库管理平台界面如图5-二、5-3所示。
图5-2 Doat2资料库登陆界面图
图5-3 Dota2资料库登陆界面图
核心代码:
Ext.define('Admin.view.main.Main', {
extend: 'Ext.Container',
xtype: 'main',
requires: [
'Ext.button.Button',
'Ext.container.Container',
'Ext.list.Tree',
'Ext.toolbar.Fill'
],
controller: 'main',
viewModel: 'main',
cls: 'sencha-dash-viewport',
itemId: 'mainView',
layout: {
type: 'vbox',
align: 'stretch'
},
initComponent: function () {
var me = this, boxData = {}, record = {}, modifyPassword = 1;
Common.util.Util.doAjax({
url: Common.Config.requestPath('System', 'Users', 'info'),
method: 'get',
async: false
}, function (data) {
record = data.data;
boxData.realname = record.realname;
boxData.userId=record.userId;
modifyPassword = record.modifyPassword;
Common.permission.Permission.server_permcollections = record.buttonList;
Common.Config.user.userid = record.userId;
Common.Config.IMAGE_ADDRESS=record.dicMap.IMG_ADDRESS;
});
//construct navigationTree store data
})
玩家登陆平台后,玩家能够查询英雄、物品、天赋信息,还能够对物品合成模拟和对天赋加点模拟。查看英雄信息如图5-4所示。
图5-4查看英雄信息
核心代码:
@GET
@Path("queryHero")
@Produces(MediaType.APPLICATION_JSON)
//@RequiresPermissions(value="hero:queryHero")
public PcsResult queryHero(@Query HeroBean heroBean){
Map map = heroService.queryHero(heroBean);
if(map.size()==0){
return newResult(false).setCode(EnumPcsServiceError.ERROR_OPERATE.getCode()).setMessage(EnumPcsServiceError.ERROR_OPERATE.getDesc());
}else {
return newResult(true).setData(map);
}
}
查询物品信息如图5-5所示。
图5-5查看物品信息
核心代码:
@GET
@Path("queryItem")
@Produces(MediaType.APPLICATION_JSON)
//@RequiresPermissions(value="item:queryItem")
public PcsResult queryHero(@Query ItemBean itemBean){
Map map = itemService.queryItem(itemBean);
if(map.size()==0){
return newResult(false).setCode(EnumPcsServiceError.ERROR_OPERATE.getCode()).setMessage(EnumPcsServiceError.ERROR_OPERATE.getDesc());
}else
{return newResult(true).setData(map); }
}
查看天赋信息如图5-6所示。
图5-6 查看天赋信息
核心代码:
@GET
@Path("queryTalent")
@Produces(MediaType.APPLICATION_JSON)
//@RequiresPermissions(value="hero:queryHero")
public PcsResult queryTalent(@Query TalentBean talentBean){
Map map = talentService.queryTalent(talentBean);
if(map.size()==0){
return newResult(false).setCode(EnumPcsServiceError.ERROR_OPERATE.getCode()).setMessage(EnumPcsServiceError.ERROR_OPERATE.getDesc());
}else
{ return newResult(true).setData(map); } }
物品模拟如图5-7所示,点击右侧的物品便可在右下方看到模拟结果。
图5-7 物品模拟
核心代码:
@GET
@Path("getTalentByHeroId")
@Produces(MediaType.APPLICATION_JSON)
//@RequiresPermissions(value="hero:getTalentByHeroId")
public PcsResult getTalentByHeroId(@QueryParam("heroId") Integer heroId){
Map map = talentService.getTalentByHeroId(heroId);
if(map.size()==0){
return newResult(false).setCode(EnumPcsServiceError.ERROR_OPERATE.getCode()).setMessage(EnumPcsServiceError.ERROR_OPERATE.getDesc());
}else {
return newResult(true).setData(map);
}
}
天赋模拟如图5-8所示,点击左侧的英雄图像,在右侧会显示出天赋模拟的信息。
图5-8天赋模拟界面
核心代码:
@GET
@Path("getMatchDetail")
@Produces(MediaType.APPLICATION_JSON)
@RequiresPermissions(value="match:getMatchDetails")
public Map<String,Object> getMatchDetails(@QueryParam("match_id") Long match_id) throws IOException {
Map<String,Object> modelMap = new HashMap<String,Object>();
String jsonArray = "";
if (match_id == null || match_id .equals("")) {
jsonArray = URLUtil.getUrlForMatchDetail("https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v1/?key=" + steamKey + "&match_id=" + "3839053706");
}else{jsonArray = URLUtil.getUrlForMatchDetail("https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v1/?key=" + steamKey + "&match_id=" + match_id);
}
List<MatchDetail> matchDetails = GsonUtil.getObjectList(jsonArray,MatchDetail.class);
for (MatchDetail matchDetail:matchDetails){
String startTime = String.valueOf(matchDetail.getStart_time());
String normalStartTime = DateUtil.TimeStamp2Date(startTime);
matchDetail.setString_start_time(normalStartTime);
}
Map<String,Object> data = new HashedMap();
modelMap.put("data",data);
data.put("list",matchDetails);
data.put("total",matchDetails.size());
modelMap.put("success",true);
return modelMap;
}
战绩信息如图5-9所示,输入SteamId,就能够查询该SteamId的比赛信息,双击比赛信息,会弹出一个记载着比赛详细信息的窗口。
图5-9战绩信息模块
游戏运营人登陆平台以后,能够对用户、角色、权限、英雄、天赋、物品进行增长、删除、修改、查询操做。用户的修改如图5-10所示,进入用户管理,点击该行右侧的修改图标,会弹出来用户修改表单,输入信息便可修改。
图5-10用户修改表单
角色的分配如图5-11所示,进入用户管理,点击该行右侧的编辑图标,弹出来权限分配表单,下拉选择要分配的权限便可分配。
图5-11角色分配
权限的分配如图5-12所示,进入角色管理,单击选择该行右侧的权限分配图标,在弹出表单的右侧树状的权限打钩便可完成权限的分配。
图5-12权限分配
系统测试是软件开发流程中相当重要的环节,也是项目上线以前的必经之路。只有经过系统全面的测试,才能保证管理平台在功能和性能方面均已达到上线的要求。本章首先介绍系统测试的功能性测试部分,其次介绍非功能性测试,最后介绍系统针对性能作出的改进和优化。
功能性测试又称为黑盒测试,它是指对系统各项功能进行测试与验证,从而使其能知足用户的需求[5],本节主要介绍Dota2资料库管理系统各模块部分功能的测试用例。
用户管理模块用户密码重置功能的测试用例如表6-1所示,重置密码是指将用户密码重置为初始密码(123456),该用例旨在验证重置用户密码功能是否能成功地重置用户的密码。
表 6-1重置用户密码测试用例
测试用例编号 |
TC003 |
测试用例标题 |
重置用户密码功能测试 |
测试目的 |
验证可否成功重置用户密码 |
优先级 |
1 |
测试流程 |
(1)点击进入系统设置用户管理模块 (2)在操做中点击重置图标 (3)在弹出表单中确认重置 (4)使用该用户名和重置后的密码,可否登陆系统 |
预期结果 |
用户能够登陆系统 |
实际结果 |
(1)成功登陆系统 (2)密码已重置 |
结论 |
重置用户密码功能测试符合预期结果,测试经过 |
角色管理模块角色分配功能的测试用例如表6-2所示,角色分配是指给用户分配指定角色,并拥有相应的权限。该用例旨在验证角色分配功能可否成功地给用户分配指定的角色。
表 6-2角色分配测试用例
测试用例编号 |
TC005 |
测试用例标题 |
角色分配功能测试 |
测试目的 |
验证可否成功进行角色分配 |
优先级 |
1 |
测试流程 |
(1)点击进入系统设置用户管理模块 (2)在操做中点击用户的角色分配图标 (3)在弹出表单中下拉框选择角色并确认 (4)在用户管理查看是否已分配角色,并从新登陆检查是否拥有相应角色的权限 |
预期结果 |
用户得到相应的角色和相应的权限 |
实际结果 |
(1)角色分配成功 (2)拥有权限 |
结论 |
角色分配功能测试符合预期结果,测试经过 |
权限管理模块新增权限的测试用例如表6-3所示,权限分配是指往数据库CT_RESOURCE表里新增权限内容,与后台权限内容相对应。该用例旨在验证新增权限功能可否成功地新增权限。
表 6-3新增权限功能测试用例
测试用例编号 |
TC008 |
测试用例标题 |
新增权限功能测试 |
测试目的 |
验证可否成功新增权限 |
优先级 |
1 |
测试流程 |
(1)点击进入系统设置权限管理模块 (2)在操做中点击添加的图标 (3)在弹出表单中填入权限名称、图标、地址 (4)在权限管理查看是否已添加权限,并将该权限分配到角色,再把角色分配给用户,登陆验证 |
预期结果 |
用户得到相应的角色和相应的权限 |
实际结果 |
(1)新增权限成功 (2)拥有权限 |
结论 |
新增权限功能测试符合预期结果,测试经过 |
物品模拟模块物品模拟的测试用例如表6-4所示,物品模拟是指玩家进入物品模拟界面,点击物品,能够看到物品的父物品(该物品能够合成什么)和子物品(该物品须要哪些配方)。该用例旨在验证物品模拟功能可否成功地进行物品模拟。
表 6-4物品模拟功能测试用例
测试用例编号 |
TC0011 |
测试用例标题 |
物品模拟功能测试 |
测试目的 |
验证可否成功物品模拟 |
优先级 |
1 |
测试流程 |
(1)点击进入刀塔物品模拟模块 (2)在操做中点击升级物品按钮 (3)随机点击一个物品 (4)在右下角区域观察是否有该物品的父物品和子物品出现 |
预期结果 |
该物品、其父物品和其子物品均出现 |
实际结果 |
(1)物品模拟成功 |
结论 |
物品模拟功能测试符合预期结果,测试经过 |
非功能性测试一样重要,主要是测试平台在性能、兼容性以及可用性方面的表现,本节以性能测试为例对系统进行非功能性测试。
性能测试的用例如表6-5所示,平台面向运营人员和玩家,并发量较高,所以平台涉及了大量数据查询,因此在响应时间方面有较高的要求。
表 6-5性能测试用例
测试用例编号 |
TC050 |
测试用例标题 |
性能测试 |
测试目的 |
验证英雄信息查询的响应时间,系统可否在合理的时间返回英雄信息 |
优先级 |
2 |
测试流程 |
从系统服务器日志中抽取1000条与英雄信息查询相关的日志,统计每次相关操做的相应时间,并对其分析 |
预期结果 |
根据用户的体验,理想的响应时间应该在1s之内返回全部数据,所以预期结果在1s之内 |
实际结果 |
95%的处理时间在1s之内;3.2%的处理时间在1s以上,1.8%的结果是操做失败 |
结论 |
实际结果在目标范围内,测试经过 |
近些年来,游戏市场规模愈来愈庞大,国内仅手游市场收入达819.2亿元。在Dota界,国内代理商完美世界不曾作过专门的游戏数据分析软件,只有DotaMAX游戏数据分析作得较为专业,然而DotaMAX并不支持物品和天赋模拟。Dota2资料库管理平台在国内第一次实现物品和天赋模拟。
通过历时一个半月的开发,主要研究成果以下:
(1)采用开源软件和开源框架,减小了开发成本
Intellij IDEA社区版彻底免费,前端框架ExtJs有trial版本,阿里云的诸多SDK在必定的用户并发量下能够免费调用,项目部署在阿里云学生服务器上,价格也是至关便宜。
(2)采用市面较新的框架和生产环境
采用基于SSM的SpringBoot框架和Maven仓库管理,摈弃了Spring的复杂配置、tomcat的安装部署和繁杂的jar包管理
(3)增强了不一样用户之间的交流
玩家能够对游戏运营人员留言,提出改进意见,运营人员进行回复,促进游戏的版本更迭,以玩家需求为导向。
(4)便捷的用户角色权限机制
管理员对用户分配角色、对角色分配权限,合理控制每一个用户能拥有哪些权限,方便管理。
(5)提供了智能数据统计功能
玩家不只能够对战绩信息进行检索,也能够看到通过后台计算处理过的战绩详情。
然而,Dota2资料库管理平台存在一些问题。
(1)缺乏移动端的支持
本项目主要是在B/S架构上进行设计和开发的,在移动端上没法顺利运行,给移动端用户带来了不便。
(2)物品模拟和天赋模拟未与属性相结合
物品和天赋模拟不能计算出攻击力、智力、力量和其余基础属性的值,也没有对这些属性值结果进行运算处理,这些未完善的功能须要更长的时间来开发完成。
我要感谢个人指导老师,她为人友善认真,在论文的用词她总会以专业标准要求我,从选题开始,她就给我细心的指导,开题报告也通过导师的指导反复修改,导师认真负责,从平台开发到结束遇到了许多困难,导师给我鼓励,最终使我克服重重困难,完成了Dota2资料库管理平台的开发,在指导教师的引领下,我完成了毕业论文。
我要感谢计算机与软件工程系提供一个良好的学习氛围,感谢学院对个人辛勤栽培,我在学校四年来学到了不少有用的知识,感谢计算机软件工程学院为我提供了教育资源,感谢导师给个人悉心指导,在此我还要感谢曾经实习的同事和班里的同窗,在我遇到难题时给了我方向,使我再也不迷茫,感谢大家。
做者:Jonas
2018年4月30日
[1] 秦姣华,袁智威,王振,刘纯和. 利用Ajax与ExtJS改善用户体验[J]. 电子设计工程,2011,19(10):1-4.
[2] 江雪,曹子钰,李洋,钟逸.ExtJS中ViewModel的数据继承[J].中国新通讯,2017,19(17):91-91.
[3] 李亚丽,梁华国,张国平.基于ExtJS和SSH2的软件工程资源共享平台[J].信息技术,2017(07):99-102.
[4] 王正华. 基于REST与Shiro的遗留系统再工程技术研究[D].太原理工大学,2014.
[5] 盛伟翔,王昊,董晓睿,谢桂华.基于REST架构风格的精品课程平台建设[J].南昌大学学报(理科版),2015,39(03):251-254.
[6] 张灿. 游戏管理系统的设计与实现[D].北京交通大学,2016.
[7] 费国俊. 基于Struts框架的手机游戏产品管理系统的设计与实现[D].北京工业大学,2012.
[8] 蒋伟.Java EE简洁模式设计及其在网络游戏管理系统中应用[D].哈尔滨工业大学,2007.
[9] 施海华,陈宝霞,吴坚等.基于NGB的互动游戏管理系统的设计[J].有线电视技术,2012,(4):27-29.
[10] 董欢.网络游戏管理系统的设计与实现[D].南开大学,2012.
[11] 王贞.网络游戏管理系统设计与实现[D].华中科技大学,2009.
[12] 张士铎,刘克.网络游戏后台管理系统的关键技术研究[J].中国传媒大学学报(天然科学版),2016,23(5):62-66.
[13] 郭杰.基于OGRE框架的3D网络游戏资源管理系统设计与实现[D].北京交通大学,2010.
[14] 杨家炜.基于Spring Boot的web设计与实现[J].轻工科技,2016,32(07):86-89.
[15] 武志强. 基于SpringMVC和MyBatis框架的理财规划系统的设计与实现[D].北京交通大学,2016.
[16] 雷镭,陈俊. 基于ExtJS及Pushlet实现Web及时交流[J].软件导刊,2010,9(2):118-120.LEI Lei, CHEN Jun. Implementation of Web communication by ExtJS and pushlet [J]. Software Guide,2010, 9(2):118-120.
[17] 程冬梅,王瑞聪,刘燕,秦伟俊.基于REST架构风格的物联网服务平台研发[J].计算机工程与应用,2012,48(14):74-78+157.
[18] 死神的丧钟. 几款Web富客户端(RIA)框架[EB/OL]. https://blog.csdn.net/accountwcx/article/details/47835261.
[19] Sencha中文站. ExtJS 6.5 和 Sencha Cmd 6.5 GA版本发布[EB/OL]. http://extjs.org.cn/node/818.
[20] 刘雅琴. 浅析Oracle大型数据库的性能优化[J].中国科技博览,2013(2):307-307.
[21] 中国产业信息. 2017年我国文化产业占GDP比重及相关产业企业营收增速分析[EB/OL]. http://www.chyxx.com/industry/201711/587273.html.
[22] 仙剑. Java Web 学习笔记(四) 基于 SpringMVC+BootStrap 建立WebApp[EB/OL]. https://blog.csdn.net/jian200801/article/details/54379381.
[23] Franson. Spring MVC 完整示例[EB/OL]. http://www.cnblogs.com/franson-2016/p/5603651.html.
[24] 百度百科. 可行性分析[EB/OL]. https://baike.baidu.com/item/%E5%8F%AF%E8%A1%8C%E6%80%A7%E5%88%86%E6%9E%90.
[25] 百度百科. 数据字典[EB/OL]. https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%AD%97%E5%85%B8.
[26] 吴沧舟,兰逸正,张辉.基于MySQL数据库的优化[J].电子科技,2013,26(09):182-184.
[27] 半宇白肌. http://baijiahao.baidu.com/s?id=1595717762932558144&wfr=spider&for=pc[M]. 百家号:百家号, 2018.
附录
附录A 引用的外文文献及其译文
Critical success factors to improve the game development process from a developer’s perspective
Saiqa, Aleem, Luiz, Fernando, Capretz, Faheem, Ahmed. Critical success factors to improve the game development process from a developer’s perspective[M]. Canada:Thompson River University, 2018. 1-5
Abstract
The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game development is a complex process, and one important game development choice is to consider the developer perspective to produce good-quality software games by improving the game development process. The objective of this study is to provide a better understanding of the developer’s dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of key developer factors on the software game development process and eventually on the quality of the resulting game. A quantitative survey was developed and conducted to identify key developer factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key developer factors on the game development process.
Keywords:Developer’s perspective; Software games; Empirical investigation; Good-quality games; Game development process; Game developer’s factors.
1. Introduction
The first software game was created half a century ago. In the world of software gaming, many things have changed during this time period. Now the software game industry has reached the point that it rivals other well-established industries such as music and cinema. As a result, the soft-ware gaming business has grown enormously, has made billions of dollars in profit, and has started to mature over time . The game development process has also had an impact on the industry, which now counts on special methodologies and mature processes for its development, ultimately leading to an enhanced game development process. Game developers try to produce games that are different from any other game in the market. This difference can be achieved through by introducing new perspectives, new gameplays, new genre combinations, enhanced graphics, or new characters. Therefore, almost all games must be novel, and their success depends on their overall quality . Only good-quality games are able to retain their players, and this has become an important factor for any software game to succeed commercially. In other words, if a game is not of good quality, players can easily switch to another game. Hence, it has become mandatory for the software game industry to try to morph and adapt to the preferences and demand of its players.
One of the main concerns in game development process is that developers need to follow best practices and procedures from software engineering discipline to develop good quality games. The game development process involves four main phases: concept, pre-production, production, and post-production. It consists of various activities such as synopsis, background research, script writing, visualization and concept art, level and inter-action design, animation, programming, media editing, integration, testing, and publishing. Soft-ware games are also characterized based on the category into which they fall, which is called the genre of the game. Genres include action, shooters, fighting, racing, adventure, sports, role playing, strategy, simulations, puzzles, dance, music, and others. Each genre has its own requirements which must be taken into consideration during the pre-production phase. For this reason, software game development is considered as a complex process that involves multidisciplinary collaborative team efforts and processes (including sound, gameplay, art, artificial intelligence, control systems and human factors) to develop a creative product. Fundamentally, game development is a form of software development process with sever-al additional requirements such as creative design, artistic aspects, and visual presentation. In this context, game development organizations can apply the same software engineering principles to improve their development processes. However, many studies have discussed the challenges of applying software engineering principles to the game development process.
Kultima highlighted these challenges from the game design perspective. Blow discussed their implications from the perspective of technical frameworks and development techniques. Blow and McGill discussed issues even for the required technical skills for game development. Software game development also re-quires a range of skills that include design, project management, development, and asset creation. It also involves team members from heterogeneous disciplines, e.g., game designers, artists, programmers, and software developers. Knowledge of best practices for game development is very important and has become crucial to sustain the growth of the software game industry. Finally, this knowledge will help game developers make correct game development decisions at the right time. An investigation of key success factors from a developer’s perspective will contribute to the under-standing of current development process implications and will help developers improve the game development process.
Exploring diverse developers’ preferences for software game development will provide a significant benefit to improve the development process by generating valuable insights. No research has been done to date on including developer centered factors in the software game development process. This study will help identify key factors empirically from the developer’s perspective, an effort that will ultimately help improve the software game development process to produce good-quality software games. To identify key factors, a quantitative survey was conducted, and the results are reported here. The survey was used to test the re-search model and several hypotheses. Finally, the results show that consideration of key factors from a developer’s perspective helps identify important game development choices and their implications for the current process.
1.1 Research Background
The software game domain covers a great variety of player modes and genres .The complexity of digital games has posed many challenges and issues in software development be-cause it involves diverse activities in creative arts disciplines (storyboarding, design, refinement of animations, artificial intelligence, video production, scenarios, sound effects, marketing, and finally sales) besides technological and functional requirements. This inherent diversity leads ta greatly fragmented domain from the perspectives of both underlying theory and design methodology. The software game literature published in re-cent years has focused mainly on technical issues.
Issues of game production, development, and testing reflect only the general state of the art in soft-ware engineering. Pressman stated that a game is a kind of software which entertains its users, but game development faces many challenges and issues if only a traditional software development process is followed.
Many researchers have discussed game development challenges. Pertillo et al. surveyed the problems faced by game development organizations. The overall game development process combines both an engineering process and the creation of artistic assets. Ramadan and Widyani compared various game development strategies from a management perspective, and some re-searchers , have proposed frame-works for game development. To effectively man-age and improve the game development, key developer’s factors are required. Tschang and Petrillo et al. highlighted the issues in the game development process and its differences from traditional software development practices.
In traditional software engineering, the development phase usually involves activities like application design and implementation, and the production phase is when the software actually runs and is ready for use. However, in the game development, the production phase includes the development process, which is the pre-production phase of the software engineering process, and the production phase of software engineering is actually the post-production phase of the game development life cycle. Therefore, the game development is different from the traditional software engineering process, and many researchers have studied the challenges faced by this domain. Kanode and Haddad stated that an important incorrect assumption has been made that game development follows the waterfall method. More recently, researchers have agreed that it must follow the incremental model because it combines the waterfall method with an iterative process. Petrillo et al.reported a major concern, that developers for software creation in the game industry commonly use very poor development methodologies. The game development life cycle (GDLC) is the object of questions on many forms, which at-tempt to determine what types of practices are used. However, this question has no single answer. The most prominent observation made in these studies is that to address the challenges faced by the GDLC, more rigorous software engineering strategies must be used. However, the proposed GDLCs do not ensure the quality of the development process. Hagan et al. published a systematic literature review of software process models used for game development. They concluded that agile and hybrid approaches are used by most organizations for game development. They also reported that Scrum,Kanban, Rapid Development Application(RAD), XP, and incremental methodologies are used by game development organizations. The major difference in software development and game development is in the design phase because design of game may undergo major change in late development. The other differences are content development and quality criteria. Managing game development has become a much harder process that anyone could have initially imagined, and because of the fragmented nature of the domain, no clear picture of its advancement can be found in the literature.
From the above discussion, it can be easily concluded that game development process is different from traditional software development process. Kasurinen et al. argued that current software engineering knowledge is unable to bridge the gap between software engineering and certain aspect of game development. The overall development process to produce a game includes art, audio and gameplay other than software development discussed above. In the game development process, the content and production activities are performed in tandem with the development and engineering activities. Further, it is well agreed that the game development process is a
multidisciplinary activity that involves the merging of creative and technical talent to bring a concept to life, where the main activities can be categorized into content and production, and engineering at each phase of the development process.
Moreover, sometime game development organizations reduce their development process due to of high competition and extreme market demand so they can be first to market. This reduction of the development process definitely affects game quality. Therefore, they do not strictly follow the software engineering standards and practices. Because of these types of complex project-management tasks, the game development process diverges from traditional software development. Nevertheless, the differences between software engineering and games development are not exclusive; it seems that traditional software development does not fully support game development activities and provide process assessment procedures. So, we need key success factors to improve game development process that may overlap with traditional software development factors or just exclusive to game development. There-fore, it has become important now to investigate the critical success factors for game development organizations in developing good quality games from developer’s perspective.
1.2 Research Motivation
Game development has become incredibly challenging due to rapid changes in game technology such as game platforms, game engines, and reuse of code modules for different genres. During the 1990s, game development was usually carried out by small team members and involved simple architectures consisting of 2D graphics, sound, simulation, and input/output streaming. The first software games were developed by a few talented individuals from diverse backgrounds like mathematics, computer science, and physics with no educational background in engineering or computer science. At that time, developers were mainly focused on how to develop interesting games rather than on architecture or software engineering principles. The current success of the game industry, continuous enhancements in game technology, and the need to meet the ever-higher expectations of the players resulted in a complex game development process.
The main research motivations behind this study are the rapid and continual changes in technology and the severity of competition in game development organizations. Ultimately, these factors will not only affect the business, but also will have a major impact on the game development process. Nowadays, games are developed by large teams because game projects have grown in size and complexity. Various stakeholders are involved in the development process and have different expectations and world views. For example, the game designer does not know the level of complexity involved in implementing artificial intelligence to represent the behavior of a non-player character. A software engineer may think that some features in the game design document are infeasible to implement due to time deadlines or technical constraints. Another important requirement that must be part of the game is the fun, flow, and enjoyment factors.
基于开发者角度提升游戏开发进程的决定性因素
加拿大:汤姆逊河大学, 2018.
摘要
随着游戏软件开发产业巨大的增加,游戏软件产业得到了愈来愈多的重视。这种增加增长了游戏开发社区压力和严峻的挑战。游戏开发是一个复杂的过程,一个重要的游戏开发方案是经过提升游戏开发过程考虑到开发者角度来制做优良的软件。这种研究的目的是提供一种更好的理解,将开发者维度做为重要因素考虑在游戏的成功中。它主要聚焦于在游戏开发过程当中关键开发者因素和最终将要完工的游戏质量的经验性调查上。必定数量的调查被开展用来肯定关键开发者因素在已被提升游戏开发进程所发挥的做用。对于这个研究,被开展的调查被用做测试研究模型和假设。这些结果提供了游戏开发组织活动必须处理多因素来保证有竞争力和处理在游戏软件产业的高压力的证据。该研究的主要贡献在于经验性地调查了关键开发者因素在游戏开发进程中的影响。
关键词:开发者视角,游戏软件。经验性调查,高质量游戏,游戏开发过程,游戏开发者因素。
半个世纪前第一款游戏软件问世,在游戏软件世界里,许多事在此时期发生改变。如今游戏软件产业已经到达了能够与其余成熟的产业如音乐和电影相媲美的程度。结果是游戏软件商业化极速扩张,有数十亿美圆的收入,已经开始随着时间成熟,游戏开发过程一样对游戏产业有影响。游戏产业依赖于特殊的方法学和开发的成熟过程,最终引向增强的游戏开发过程。游戏开发者尝试生产和市场中其余游戏不一样的游戏。这种差别也能够经过新视角、新的游戏设置、先进的图像处理或者引入新角色来达到。所以,几乎全部游戏必须来源小说,他们的成功依靠整体的质量。只有高质量的游戏才能赢得玩家的垂青,这已经成为任何一个游戏软件商业成功的重要因素。换句话说,若是一个游戏不具有高质量,玩家能够轻易地选择其余游戏。所以,高质量成为对游戏软件产业尝试达到高图像标准和知足玩家的偏好强制的要求。
一个主要的担心在于开发过程是开发者须要根据最好的实践和软件工程开发高质量产品的原则。游戏开发过程包括四个阶段:概念、预生产、生产和后期制做。它包含不一样的活动,如大纲、背景研究、脚本编写、视觉化、概念种类、水平和交互动做设计、动画、变成、媒体处理、集成、测试和出版。游戏软件也具备基于他们所属的类别,这叫作游戏的流派。流派包括动做、射击者、打斗、比赛、冒险、运动、角色扮演、策略、模拟、解谜、跳舞、音乐和其余。每一个流派都有本身的、必须在预生产阶段就被考虑进去要求。由于这个缘由。游戏软件开发被认为是一个包括多学问的和多合做的团队努力和过程(包括声音、游戏设置、美术、人工智能、控制系统和人为因素)来开发一个创造性的产品的复杂的过程。根本地,游戏开发是一种有着服务附加要求如创造性设计、艺术形式和视觉展示的软件开发过程的形式。在本文中,游戏开发组织能够应用一样的软件工程原则来提升开发流程。然而,许多研究已经讨论过针对于游戏开发过程的应用软件工程原则的挑战。
Kultima强调了这些来自于游戏设计角度的挑战。Blow讨论了从科技框架和开发技术的角度的影响。Blow和McGill甚至讨论了游戏开发必备技能的问题。游戏软件开发也须要必定的技能,包括设计、项目管理、开发和资产建立。它包含了具有多种技术的团队成员,例如游戏设计者、美术家、编程者和软件开发者。游戏开发知识的最佳实践是相当重要的,已经成为支撑游戏软件产业成长的重要的基石。最终,知识会在正确的时间帮助游戏开发者作出正确的游戏开发决定。在对基于开发者角度的关键成功因素的调查中会有助于开发过程影响的理解,而且帮助开发者提升游戏开发过程。
探究不一样的开发者对游戏软件开发的偏好会提供一个有意义的优点经过产生有价值的洞察力来提升开发过程。没有研究记录过在游戏软件开发中以开发者为中心的做用。此研究会帮助人们经验性地找出基于开发者角度的关键因素,咱们所作的努力会最终帮助提升软件开发过程来制造高质量的游戏软件。为了找出关键因素,大量的调查会被试验,结果会在这里被报告。这份调查被用做测试研究模型和许多假设。最终,结果展示了基于开发者角度帮助提升游戏开发选择和他们对现阶段进程的影响关键因素的考量。
1.1研究背景
游戏软件领域包括一大堆玩家模型和流派。电子游戏的复杂性已经在游戏软件开发领域造成了许多挑战和问题,由于它包含了在创造性的美术原则中不一样的活动(情节制做、设计、动画的精制、人工智能、影像设计、剧本、声音效果、市场和最后销售)除了科技和功能的要求。内在的多样性将咱们引入了成碎片性的领域基于潜在的理论和设计方法学。近些年游戏软件文学出版物大多数关于科技问题的探讨。
游戏生产、开发的问题,而且在软件工程中测试仅仅影响普通美术的基本状态。Pressman陈述了游戏是一种让用户快乐的软件,若是仅仅采用传统的软件开发过程,游戏开发会面对许多挑战和问题。
许多研究者已经讨论过游戏开发挑战。Pertillo调查了许多游戏开发组织活动的所面临的问题。整体的游戏开发过程混合了工程过程和艺术的创造。Ramadan和Widyanib根据管理的角度比较了不一样的游戏开发策略。一些研究者计划将框架应用于游戏开发中。为了有效地管理和提升游戏开发,须要关键开发者因素。Tschang和Petrillo 强调了在游戏开发过程当中的问题和与传统软件开发实践的差别。
在传统的软件工程中,开发阶段一般包含活动,如应用设计和实现,生产阶段是当软件事实上运行和准备投入使用的时候。然而,在游戏开发阶段,生产阶段包含了开发过程,是软件工程过程的预生产阶段,而且软件工程的生产阶段事实上是游戏开发生命周期的后期处理阶段。所以,游戏开发和传统的软件工程过程不一样,许多研究者研究了该领域所面临的挑战。Kanode和Haddad陈述了一个重要的错误的开发使用瀑布模型的假设已经被证明。最近,研究者赞成遵照增长的模型,由于它包含了用迭代流程的瀑布方法。Petrillo表达了担心,游戏工业的软件开发者一般在开发方法上很薄弱。游戏开发生命周期是许多形式问题的目标,它可以决定使用哪一种实践方案。然而,这种问题已经没有惟一的答案。最显著的观察使这些研究处理游戏开发生命周期面对的挑战,更多严谨的软件工程
策略会被使用。然而,提出的游戏生命开发周期不保证开发过程的质量。Hagan出版了一个回顾软件过程模型使用在游戏开发的系统文献。他们总结了敏捷和混开发。他们也报告了快速开发应用和增长的被使用在游戏开发组织活动的方法学。软件开发和游戏开发的主要不一样在于设计阶段,由于游戏设计在后期会经历不少变化。其余的不一样在于满意的开发和质量标准。管理游戏开发已经成为很艰难的过程,任何人均可以想象而且由于碎片化的天然领域,在文献中没有进步的迹象能找到。
从上面的讨论,能够很容易的总结出游戏开发过程是不一样于传统的软件开发过程。Kasurinen持有异议,他认为目前的软件工程知识是不可以在软件工程和特定的游戏开发方面架起桥梁弥补这之间的间隙。整体的开发过程生产一个游戏,包括美术、声音和游戏设置。在游戏开发过程当中,内容和生产活动与开发和工程活动相串联。更进一步来讲,你们都知道游戏开发过程是一个多学科的活动,它包括创造和科技才能的混合来给生活带来一个全新的概念,主要活动(每一个开发过程阶段的)能够被归类为内容和生产、制造和工程。
此外,由于竞争激烈和市场需求有时游戏开发组织活动减小了开发过程,因此这些产品能率先进入市场。这种开发过程的缩减确定会影响游戏的质量。所以,他们不能严格地遵循软件工程标准和实践。因为这些复杂的项目管理任务的种类,游戏开发过程偏离了传统软件开发。然而,这种在软件工程和游戏开发之间的差别不是可排除的;看起来传统的软件开发不能彻底地支持游戏开发活动而且提供流程评定步骤。因此,咱们须要关键成功信息来提升能和传统软件开发过程重叠的或者仅仅为游戏开发服务的游戏开发过程。所以,调查基于游戏开发者角度的游戏开发组织活动的决定性的成功因素如今已经变得很是重要。
1.2研究动机
由于游戏科技快速的改变如游戏平台、游戏引擎、和不一样流派的代码模块的重用,游戏开发已经难以置信地变得越来越具备挑战性。在九十年代,游戏开发一般由一些小型队伍成员完成,这些游戏项目包括简单的结构设计,包含了2D图像、声音、模拟和输入输出流。第一个游戏软件是由有觉得有天赋的人,不像数学家、计算机科学家和物理学家,他没有软件工程和数学的教育背景。在当时,开发者专一于如何开发有趣的游戏而不是研究架构和软件工程原则。最近游戏产业的成功,持续的游戏科技进步和知足玩家的天马行空的需求,致使出现了复杂的游戏开发流程。
该研究的主要的研究动机是快速和持续不断的科技变化和游戏开发组织中的激烈竞争。最终,这些因素不只仅只影响商业利益,也会对游戏开发进程有重要的影响。现现在,游戏由大型团队开发,由于游戏项目已经在量和复杂度上增长。不一样的利益相关者与开发进程有关,他们有不一样的指望和世界观。例如,游戏设计者不知道实现人工智能来表明非人来玩家的行为的复杂水平。一个软件工程师可能基于项目开发时间和技术限制认为游戏设计文档中的一些方案是不可行的。另一个很重要的要求是游戏必须有趣、流畅和乐趣。
附件B 主要参考文献的题录及摘要
一、利用Ajax与ExtJS改善用户体验
【篇名】利用Ajax与ExtJS改善用户体验
【做者】秦姣华,袁智威,王振,刘纯和
【关键词】Ajax; ExtJS; 富网络应用框架; B/S结构; 用户体验;
【摘要】随着Web技术的不断发展,传统的B/S"瘦客户端,胖服务器"结构已不能知足用户正常体验和实时交互要求。Ajax技术能够实现用户异步请求,减轻网络负载,ExtJS做为Ajax的RIA框架,使得界面构建更加容易。从Ajax原理,ExtJS在OA型系统中的应用及性能调优出发,设计实现了三农电子商城后台管理系统,并探讨了ExtJS在基于B/S结构的OA型电子商务系统中对用户体验的改善。系统界面美观,操做方便,开发效率高,维护规范,能够知足用户正常体验和实时交互需求。
四、基于REST与Shiro的遗留系统再工程技术研究
【篇名】基于REST与Shiro的遗留系统再工程技术研究
【做者】王正华
【关键词】基于REST与Shiro的遗留系统再工程技术研究;
【摘要】遗留系统再工程为遗留系统的复用提供了现实可行的途径,可将现存的遗留系统从新构造为新的形式。随着互联网及软件工程技术的迅猛发展,Web服务给遗留系统再工程提供了一种很好的解决方案。传统的RPC(Remote Procedure Call,简称RPC)式Web服务,接口设计复杂且很难标准化,而基于表述性状态转移(Representational State Transfer,简称REST)的设计原则更契合Web服务复用的理念。面向资源架构的REST风格渐已成为Web服务设计趋势的主流,然而在复杂的互联网环境下Web服务的安全性显得尤为重要,Shiro做为一个强大而灵活的安全框架,具备直观和易于使用的特性,集成Shiro至遗留系统,能够简化应用程序的安全操做。本课题针对传统的RPC式Web服务存在的缺陷,引入REST风格的Web服务至遗留系统再工程领域,而且结合Shiro安全框架可以增强遗留系统的身份认证的安全性以及权限控制的灵活性,从而保证REST服务的安全性,为此,本文提出一种基于REST与Shiro的遗留系统再工程技术方案。本文首先分析遗留系统再工程的国内外研究现状,对遗留系统、软件再工程、Web服务以及Shiro框架等背景知识做出详细的阐述,对比了几种不一样的Web服务方式,引出REST风格的Web服务的特征,在分析其优点的基础上,从设计的角度详细分析了REST式Web服务理论及相关技术。文中详细阐述了基于REST与Shiro的遗留系统再工程技术方案,结合实际项目背景,设计并实现了基于Shiro重构身份认证以及统一用户管理系统权限的实例以及基于REST包装“帐户”服务的实例。经过实例验证说明REST与Shiro在遗留系统再工程中应用的优越性。
十一、网络游戏管理系统设计与实现
【篇名】网络游戏管理系统设计与实现
【做者】王贞
【关键词】网络游戏; 后台管理系统; PHP语言; B/S模型; 安全;
【摘要】随着Internet和计算机网络的普及,网络已经走进千家万户,人们的生活愈来愈离不开网络。学习,工做闲暇之余人们能够经过网络来放松本身,也正由于如此网络游戏开始走进咱们的生活。好比说日本麻将就是一个必须依托于互联网进行,能够容许多人同时参与的网络游戏,经过用户与用户之间的互动达到交流,休闲和娱乐的目的。正因为网洛游戏容许多用户参与,因此在后台对与用户的管理是必不可缺的。针对麻将游戏系统后台用户管理的须要,构建了一个基于PHP与MySQL的麻将用户管理系统。该系统运用健全的网络体系,创建一个集与B/S结构与先进的PHP加MySQL技术为一体的系统。系统中涉及到用户登录,用户信息管理,用户游戏得分排名,大会的具体状况等各个环节,具备对多层次用户的完善的管理功能。设计时使用了Apache+PHP+MySQL三者结合的先进开发模式。经过使用系统,用户能够更好地了解游戏,进入游戏,享受游戏。同时也方便管理员更好的管理用户的信息,知足了系统管理员和游戏玩家等的信息管理需求,达到了用户,游戏,管理员三者一体的目的。用户只须要在浏览器上操做就能够实现系统的全部功能。系统的界面人性化,操做方便。系统使用了多级安全保护措施,充分保证了系统的安全运行。