软件设计论文

更新时间:2024-07-07 05:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科生软件设计论文

目: 名: 院: 业: 级: 号:导教师:

网络游戏资讯查询系统 陈思雷 理学院 信息与计算科学 信科132 23113220 朱毅华 职称: 副教授 2016年7月8日 南京农业大学教务处制

姓 学 专

班 学 指

网络游戏资讯查询系统

摘要:从游戏玩家的角度,进行了网络游戏资讯查询系统开发。在Windows 7,Mac OS操作系统下,采用eclipse集成开发系统,用My SQL作为后台数据库的管理程序,使用Java语言编写,实现网络游戏资讯查询。

关键词:网络游戏;数据库设计;Java

软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。

网络游戏产业是一个新兴的朝阳产业,经历了20世纪末的初期形成阶段,以及21世纪初的快速发展,现在中国网络游戏处在成长期并快速走向成熟期的阶段。

根据国家文化部的统计,2012年,以互联网和移动网游戏市场计算,我国网络游戏市场收入规模达601.2亿元,同比增长28.3%。其中,互联网游戏536.1亿元,同比增长24.7%;移动游戏65.1亿元,同比增长68.2%。2012年,共有883款网络游戏通过文化部的审查或备案。其中,国产游戏830款,较2011年增加226款。国产网络游戏数量继续增长,并仍然在市场上占据主要地位。2013年中国网络游戏市场规模逼近900亿元,同比增长33%。[1]

对于网络游戏而言,最重要的就是人气。人气决定了一款网络游戏的核心竞争力。任何一款游戏,只要没有人气,就是一款不成功的游戏。为了提升游戏体验,扩大玩家群体,避免玩家流失,提升玩家的关注度,让玩家迅速知道、了解、查询游戏资讯就显得十分必要。

毫无疑问,网络游戏非常需要一款合适的、能满足需求的软件.

1 课题分析

1.1 背景分析

随着计算机技术的不断发展,计算机已经逐渐被各行各业广泛应用,逐渐融入我们日常生活的方方面面。我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。

在此背景下,网络游戏迅速发展,游戏玩家数量日益庞大,仅以英雄联盟为例,根据Roit2014年一月官方数据LOL全球日均用户:2700万以上;LOL全球月均用户:6700万以上;LOL全球同时在线纪录:750万。

我们开发网络游戏资讯查询系统,旨在为那些数量庞大的网络游戏玩家群体提供服务,提高他们的游戏体验。

1.2 研究意义及目的

实现游戏玩家对相关游戏资讯的查询,同时,方便 具体的目的:

提供对用户个人的资料,物品和英雄信息的查询操作。

1

2 网络游戏资讯查询现状分析

2.1 现状分析

现在市场上存在一定的游戏资讯查询APP或网页,但大多数查询内容不全,给游戏的玩家带来一定不便,在一定程度上破坏了游戏体验。

2.2 可行性分析

2.2.1 技术可行性

本系统设计运行在Windows 7平台上,采用Client/Server(客户/服务器)结构模式,在分析了用户和网络游戏资讯的具体情况以后,充分利用eclipse在应用程序开发上的高效性和灵活性,以此作为界面开发的工具,并以My SQL作为后台数据库开发工具,分析并设计了“网络游戏资讯查询系统”。

系统软件和对数据库的操作都可在计算机上完成,拥有技术可行性。

2.2.2 操作可行性

系统的开发采用java语言在eclipse平台下建立可视化界面,用户可以轻松使用。整个网络游戏资讯查询系统系统采用友好的交互界面,结构清晰,简洁明了。具有易于操作的可行性。

2.2.3 市场可行性

随着网络游戏的不但发展,游戏玩家用户日益增加,对游戏资讯查询的需求也日益增大。

2.3需求分析

在网络游戏中,由于游戏信息过于庞大,用户很难记住每件物品的信息,和英雄信息。所以我们便萌生开发一个便于用户查询游戏资讯的软件,而且在用户登录后,可以收藏那些自己经常使用的物品和装备。

3.系统的整体设计 3.1 系统的总体目标

本系统开发的目标群体是广大游戏玩家,本系统希望可以达到以下几个目标: 用户只能修改密码和填写自己的个人信息,以及收藏自己所喜欢的英雄和物品信息。

界面窗体简单明了。很容易操作,打开软件,即可轻易操作。 完善的查询功能,极大的缩短查询所需要的时间。

完善的增加、删除、修改、查询和用户自由查询关注功能使得操作简单方便,提高信息处理的速度和准确性,能够及时、准确、有效的查询和接收游戏资讯。

3.2 系统的结构

3.2.1 系统的概述

2

(1)游戏信息管理

在管理这一部分时因为涉及到用户信息表,因此要使用存储过程和触发器来保证数据的一致性。

(2)用户私人信息管理

登陆之后的用户可以对自己收藏表中的信息进行插入、删除、修改等基本操作,可以自主添加和删除收藏物品。 3.3 运行环境

操作系统:Windows 7,Mac OS 数据库服务器:My SQL

3.4 开发软件

本系统采用eclipse集成开发系统,采用My SQL作为后台数据库的管理程序。

3.4.1 eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。 新版本特点编辑:

1.NLS string hover有一个Open in Properties File动作 2.在Caller模式下,调用层级(Call Hierarchy)有一个在上下文菜单中有一个Expand With Constructors动作

3.当你在编辑器中输入的时候,Java比较编辑器会更新其结构 4.有一个新的toString()产生器

5.为可覆盖方法增加了一个Open Implementation链接,可以直接打开其实现

6.编辑器与执行环境一致

7.Debug视图现在提供了breadcrumb(面包屑),显示了活动的debug上下文 8.可运行的JAR文件输出向导还可以把所需的类库打包进一个要输出的可运行JAR文件,或打包进与紧挨着该JAR的一个目录中

9.当在写一个分配表达式(allocation expression)时发生补全操作,ch内容助手可以提示一个类的可用构造方法

10.如果检测到无用代码,编译器可以发出警告

11.类库、变量或容器入口的路径可以是与项目相关的任何位置 12.在Jovadoc hover的头部及Javadoc视图中,都提供了引用其他类型和成员的链接

13.随该Eclipse发行的JUnit4版本更新为4.5

14.Javadoc视图及hovers都支持{@inheritDoc}标签并给覆盖方法增加链接 15.同一值的比较现在由编译器检测,默认情况下会发出警告[8]

3.4.2 My SQL

My SQL是一个关系型数据库管理系统 My SQL的系统特性编辑如下:

3

1.使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3.为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4.支持多线程,充分利用 CPU 资源。

5.优化的 SQL查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

7.提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

8.提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。 9.提供用于管理、检查、优化数据库操作的管理工具。

10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 11.支持多种存储引擎。

12.MySQL 是开源的,所以你不需要支付额外的费用。 13.MySQL 使用标准的 SQL数据语言形式。

14.MySQL 对 PHP 有很好的支持,PHP是目前最流行的 Web 开发语言。 15.MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 My SQL 系统。

16.在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性。 17.复制全局事务标识,可支持自我修复式集群。 18.复制无崩溃从机,可提高可用性。 19.复制多线程从机,可提高性能。

3.5 开发语言

本系统采用面向对象的可视化程序设计语言Java。

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的性能。

编辑Java源代码可以使用任何无格式的纯文本编辑器,在Windows操作系统上可以使用微软记事本(Notepad)、EditPlus等程序,在Linux平台上可使用vi工具等。

[5]

4

4 系统详细设计与实现

4.1 数据库设计

4.1.1 数据库开发平台

数据库设计在程序开发设计中扮演着重要的角色,它往往决定了在后续的代码编写中进行怎样的逻辑设计和结构设计。数据库设计合理、有限可以起到降低程序复杂度的作用,使得后续的程序开发过程更加简单。

本系统是一个网络游戏资讯查询系统,考虑到开发成本、用户需求等问题,决定采用My SQL作为项目中的数据库。

My SQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。My SQL 软件由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 My SQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

My SQL提供一个全面的平台用于部署和开发一项大型的任务,包括以下的优点: 1. 它使用的核心线程是完全多线程,支持多处理器。

2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。

3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。

4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。

5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。

6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。

7. My SQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

4.1.2 数据库设计原则

E-R模型是对现实世界的一种抽象表示。它的主要成分是实体、联系和属性,;灵活使用这三种成分,我们可以构建许多应用环境的E-R模型。

E-R图设计原则 (1)真实性原则 (2)避免冗余原则 (3)简单性原则 (4)合适性原则

4.1.3 数据分析

a) 静态数据:是系统内部有关的数据结构和操作规程

i 物品的各项属性

5

ii 英雄的属性 b) 动态数据:

i 用户的信息

ii 用户收藏的各类信息

4.1.4 E-R模型

6

4.2 系统功能模块设计

模块化应用把程序分为许多小块的、分散的代码,每一块代码都是相对独立的,使得程序结构清晰,增强了后期的可维护性。

模块化设计的可以进一步提高代码的可重用性、提高代码的可维护性以及提高代码的稳定性,使其成为一个模块化程度高、结构清晰的应用程序,使得后期对程序的维护更加的便捷。

本系统的功能模块有以下几部分组成: (1)主界面可视化代码, (2)登陆界面可视化代码, (3)用户操作代码, (4)游客操作代码

7

5 系统测试

系统测试,英文是System Testing,是在系统编写完成后,结合系统软件、硬件、外设和网络等基础环境,对信息系统的各种组装进行测试,确认程序的正确执行。

系统测试的范围是整个系统,具体操作的时候可以进行分模块分阶段的进行,并在系统完成之后进行总体测试。系统测试的目的是验证系统的整体功能是否符合用户的需求、整体结构是否符合系统规范的定义。并且在系统测试的过程中,找出产生冲突矛盾的地方,进行相应的调试,找出问题的原因和位置,从而进行修改完善,使得最终方案可以顺利进行满足客户需求。

6 结论

本系统是一个网络游戏资讯查询系统,具有一定实用性的数据库信息管理系统。本系统采用eclipse来完成整个系统的设计,在数据库的设计上利用了My SQL的便利性、实用性、安全性等。

7 感想

此次课程设想让我充实熟悉到团队协作的主要性,只要合作协作才干保证整个项目标有条不絮。我感受作为一名信息与计算科学专业的学生,此次课程设想是很故意义的。

软件设计课程应该说收获是相当大的。刚开始我们从正在玩游戏中找来了课题,当时觉察很多想法都是不完好的,这让我们伤透了脑子。经过不断的调试、修改、再调试,终于获得了成功。这次设计让我获益良多,我会珍惜每一次这样的机会。

8

参考文献:

[1]蔡 灵, 薛胜文, 李方庭, 沈哲彦. 2016-2020年中国网络游戏市场投资分析及前景预测报告(上下卷)[R].广东深圳:中投顾问.2015.

[2]程杰.大话设计模式[M].北京:企业管理出版社,2010-7-1.

[3]李玮. 软件自动化测试混合框架的研究与实现[D]. 北京:北京交通大学,2007. [4]陆惠恩. 实用软件工程[M].北京:清华大学出版社,2015-5-1. [5]阎宏.java与模式[M]北京:电子工业出版社 ,2002-10-1.

9

本文来源:https://www.bwwdw.com/article/3sj.html

Top