🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。
- 代码可以私聊博主获取。🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《python网站项目》600套
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目演示
摘 要
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,线下管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,游戏美术外包管理信息系统就是信息时代变革中的产物之一。
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤;以java语言设计为基础,实现了游戏美术外包管理信息系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括系统首页,个人中心,用户管理,公司管理,作品信息管理,作品订单管理,外包需求管理,外包应征管理,流程追踪管理,在线交流管理,在线回复管理,管理员管理,留言反馈,系统管理等功能模块。
本文首先介绍了游戏美术外包管理信息技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
关键词:游戏美术外包管理信息;java;MySQL数据库
1 绪论
1.1 课题背景
随着科学技术的发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的前提下,网络技术被应用到各个方面,网络信息技术飞速发展提高了办公生活效率,使得人类社会进入了全新的信息化的时代。
游戏美术外包管理信息一直是一大难题,游戏美术外包管理作品信息量多,外包需求量大,因此寻找有效便捷的游戏美术外包管理信息方法就是当务之急。利用日趋成熟的计算机信息管理技术搭建游戏美术外包管理信息系统便成为解决这一难题的唯一之选。
使用游戏美术外包管理信息系统相对传统线下管理方式具备很多优点:首先可以大幅提高游戏美术外包管理信息检索,只需输入游戏美术外包管理相关信息就能在数秒内反馈想要的结果;其次可以对游戏美术外包需求管理、外包应征管理,流程追踪管理,在线交流管理,在线回复管理等进行有效管理。再次,相比传统管理信息,游戏美术外包管理信息安全性保障更高,游戏美术外包管理信息系统更节省空间人力资源。这些优点大大提高效率并节省成本。因此,开发游戏美术外包管理信息系统是很必要的,不仅提高了游戏美术外包管理信息效率,增加了用户信息安全性,方便及时反馈信息给管理员,增加了与管理员之间的互动交流。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而java技术,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。
1.2 课题研究现状
现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,无法有效便捷的管理各类信息,而利用网络技术搭建的游戏美术外包管理信息系统,无疑是管理信息最好的选择,但是随着游戏美术外包管理信息的增多,外包需求量的增加等,使得游戏美术外包管理成为了一个难题。如何高效便捷地管理游戏美术外包信息成为了与时代兼容的当务之急。
游戏美术外包管理信息系统,为用户随时随地查看游戏美术外包管理信息提供了便捷的方法,更重要的是大大的简化了管理员管理游戏美术外包管理信息的方式方法,更提供了游戏美术外包管理信息给公司,成为了解游戏美术外包管理信息及运作情况以及挑选方便快捷的可靠渠道的来源。相比于传统信息管理方法,这样的电子信息管理更为简洁方便,在游戏美术外包管理信息维护信息反馈,在线交流等方面也有得天独厚的优势。
游戏美术外包管理信息系统能做到的不仅是大大简化管理员的信息管理工作,在提高游戏美术外包管理信息思路的同时还能缩减开支,更能在数字化的平面网络上将游戏美术外包管理信息最好的一面展示给用户和潜在用户,而这个系统在带给游戏美术外包管理信息全新用户信息管理统计和分类的同时,还成为日后游戏美术外包管理信息制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为游戏美术外包管理信息者最不可或缺的内容。尽管目前大部分已经将游戏美术外包管理信息系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合游戏美术外包管理信息思路,不同信息管理有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的游戏美术外包管理信息系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着游戏美术外包管理信息规模的不断扩大,用户信息共享也成一种趋势。游戏美术外包管理信息的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,游戏美术外包管理信息完全可以在进入页面时发布各类信息进行推荐交流。
1.3 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用My Eclipse。Java开发技术。
1.4 本文研究内容
本文主要分为七个章节;
第一部分为绪论,主要介绍了目前电脑技术发展状况、游戏美术外包管理信息行业发展阶段,分析当前游戏美术外包管理信息系统弊端以及使用信息技术来管理游戏美术外包管理信息的好处。
第二部分为相关技术简介,主要介绍了各技术的发展历程,技术发展现状,技术优点以及选用该技术的原因等。
第三部分为系统分析,主要分析了软件设计所需要的功能,。
第四部分为系统设计,主要进行了系统的架构设计、数据库设计等
第五部分为系统详细设计。
第六部分为系统调试与测试,利用测试方法进行可行性测试、性能测试、系统测试等。
第七部分为总结与致谢,主要总结了程序设计的完成过程及完成情况,比对完成设计过程中施以援手的同学和老师表达中心的感谢和祝愿。
2 系统开发环境
2.1 Java技术
Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群,所以Java的发展迅速。
2.2 Android平台
Android是谷歌旗下著名的移动开源操作系统。这个系统的内核是Linux。 该系统具有很高的兼容性,可以用在包括智能手机、电视、平板等诸多设备上。有着高度兼容的特性。最重要的是,Android开源的属性使开发者可以自由的通过Android系统进行开发。而本系统就是基于Android开发的一款医院挂号系统。Android的开源属性在07年已经推出,就受到了开发者的高度赞扬,而Android开发也成为一时间最热门的词语。开发者可以在Android系统上尽情挥舞画笔随心所欲地创作。Android作为以智能手机、平板、电视为主战场的可移动设备操作系统,使用度和适用性非常广泛,远远超过诸如塞班、IOS等系统。在Android平台上,APP的体系结构很大幅度的上简化了组件的工作。在这之中,Java成为了APP开发的唯一语言,Java通过跨平台功能,无需编译基于Android框架开发的软件应用程序,即任意一台搭载了Android的设备均可运行。
2.3 B/S模式
B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
2.4MyEclipse环境配置
安装完MyEclipse后选择myeclipse“Window->Preferences”
(1)配置myeclipse的jre为sun的jdk,不要用myeclipse的默认jdk:
选择“java->Installed JREs”,勾中里面的“jdk1.7”.
(2)配置编译的级别为6.0:
选择“Compiler->Compiler compliance level”的值为“6.0”。
(3)配置myeclipse的默认的文件编码格式为“UTF-8”:
选择“General->Workspace”,选中“Text file encod”下面的“Other”,设置里面的值为“UTF-8”。
(4)去掉myeclipse的JSP的验证:
选择“MyEclipse->Validation”,将“Build”列的所有勾都给去掉,这样在编译时因为避免了jsp的验证,所以编译的速度会快很多。
2.5MySQL环境配置
(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
(2)修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.6 SSM框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
3 系统分析
3.1 系统可行性分析
3.1.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。
3.1.2 技术可行性
本系统的开发使用java作为系统开发的开发语言,开发环境选择My Eclipse,而B/S结构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。
3.1.3 运行可行性
本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。
3.2 系统现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,网站管理者的工作量较大较繁琐。通过前期的调研总结出网站现有的对用户管理工作状况如下分析:
缺少统筹规划,如果一个网站在信息化管理中缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使游戏美术外包管理信息变得井井有条,成为市场竞争中的一大优势。任何事情都不可能一蹴而就,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取用户和管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(1)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(2)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于发展存在不可或缺的帮助。
(3)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,游戏美术外包管理信息系统应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对经营者名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。
3.3 功能需求分析
系统功能需求分析是通过软件开发者在参与市场调研,与管理者及使用者交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发的第一步,也是至关重要的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套游戏美术外包管理信息系统,系统主要包括管理员模块和用户模块、公司模块。
(1)管理员用例图如下所示:
图3-1管理员用例图
(2)用户用例图如下所示:
图3-2用户用例图
(3)公司用例图如下所示:
图3-3公司用例图
3.4 系统设计规则与运行环境
软件系统的优劣很大程度上是由系统设计的完善与否决定的。世间万物都必须遵循生老病死的法则,这是大自然的规则不能违反,软件设计也一样需要遵循系统设计规则。因此,在设计过程中必须遵循系统设计规则。
规则如下:
简单性:为了扩大系统使用者的受众面,系统设计应该本着操作越简单约好的原则,这样不仅能提高系统的使用率更能够扩大系统使用面。。
针对性:一个系统针对性越强,所能提供的功能必然越完善,用户体验肯定更好,所以应该明确指定系统针对性。
实用性:实用永远是检验一个系统是否成功的唯一标准,使用的语言再高端,使用的结构再新颖但不能满足用户的要求那就是失败。
运行环境:
本系统是一个利用B/S结构来开发的程序,数据库在服务器上部署MySQL数据库即可,其他包括My Eclipse等常规开发程序。硬件要求:CPU:酷睿i3 -3.0GHZ;内存:4G以上;硬盘:128GB。软件平台:操作系统:Windows 10;数据库:MySQL。
3.5系统流程分析
3.5.1操作流程
图3-4登录流程图
3.5.2添加信息流程
添加信息流程图,如图所示:
图3-5添加信息流程图
3.5.3删除信息流程
删除信息流程图,如图所示:
图3-6删除信息流程图
4 系统设计
4.1 系统设计主要功能
通过市场调研及咨询研究,了解了使用者及管理者的使用需求,于是制定了管理员和用户等模块。其功能结构图如下图4-1所示:
图4-1系统功能结构图
4.2 数据库设计
4.2.1 数据库设计规范
数据可设计要遵循职责分离原则,即在设计时应该要考虑系统独立性,即每个系统之间互不干预不能混乱数据表和系统关系。
数据库命名也要遵循一定规范,否则容易混淆,数据库字段名要尽量做到与表名类似,多使用小写英文字母和下划线来命名并尽量使用简单单词。
4.2.2 E-R图
用户管理E-R图,如图4-2所示:
图4-2 用户管理E-R图
公司管理E-R图,如图4-3所示:
图4-3公司管理E-R图
公告信息E-R图如图4-4所示。
图4-4公告信息E-R图
4.2.3 数据表
本系统采用的是MySQL数据库存储数据,系统中使用到的主要数据表的具体展示部分如下所示。
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
zuopinmingcheng | varchar | 200 | 作品名称 | ||
tupian | varchar | 200 | 图片 | ||
yonghuming | varchar | 200 | 用户名 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
liuchengzhuizong | longtext | 4294967295 | 流程追踪 | ||
caozuoshijian | datetime | 操作时间 | |||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 |
表4-2:作品订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
zuopinmingcheng | varchar | 200 | 作品名称 | ||
zuopinleixing | varchar | 200 | 作品类型 | ||
tupian | varchar | 200 | 图片 | ||
yonghuming | varchar | 200 | 用户名 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
jiage | int | 价格 | |||
xiadanshijian | datetime | 下单时间 | |||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-3:公司
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
gongsimingcheng | varchar | 200 | 公司名称 | ||
fuzeren | varchar | 200 | 负责人 | ||
xingbie | varchar | 200 | 性别 | ||
tupian | varchar | 200 | 图片 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
youxiang | varchar | 200 | 邮箱 | ||
dizhi | varchar | 200 | 地址 | ||
xinyongfen | varchar | 200 | 信用分 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-4:在线交流
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
tupian | varchar | 200 | 图片 | ||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 | ||
jiaoliuneirong | longtext | 4294967295 | 交流内容 | ||
fabushijian | datetime | 发布时间 | |||
yonghuming | varchar | 200 | 用户名 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表4-5:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-6:在线回复
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
tupian | varchar | 200 | 图片 | ||
yonghuming | varchar | 200 | 用户名 | ||
xingming | varchar | 200 | 姓名 | ||
huifuneirong | longtext | 4294967295 | 回复内容 | ||
huifushijian | datetime | 回复时间 | |||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 |
表4-7:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuming | varchar | 200 | 用户名 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | varchar | 200 | 头像 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
shouji | varchar | 200 | 手机 | ||
xinyongfen | varchar | 200 | 信用分 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-8:外包应征
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
zuopinmingcheng | varchar | 200 | 作品名称 | ||
zuopinleixing | varchar | 200 | 作品类型 | ||
tupian | varchar | 200 | 图片 | ||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 | ||
jiage | int | 价格 | |||
xiadanshijian | datetime | 下单时间 | |||
yonghuming | varchar | 200 | 用户名 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-9:外包需求
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zuopinmingcheng | varchar | 200 | 作品名称 | ||
zuopinleixing | varchar | 200 | 作品类型 | ||
tupian | varchar | 200 | 图片 | ||
jiage | int | 价格 | |||
zuopinshuoming | longtext | 4294967295 | 作品说明 | ||
fabushijian | datetime | 发布时间 | |||
zhanghao | varchar | 200 | 账号 | ||
gongsimingcheng | varchar | 200 | 公司名称 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表4-10:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-10:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-12:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-13:留言反馈
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | varchar | 200 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | varchar | 200 | 回复图片 |
表4-14:作品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zuopinmingcheng | varchar | 200 | 作品名称 | ||
zuopinleixing | varchar | 200 | 作品类型 | ||
tupian | varchar | 200 | 图片 | ||
jiage | int | 价格 | |||
zuopinjieshao | longtext | 4294967295 | 作品介绍 | ||
fabushijian | datetime | 发布时间 | |||
yonghuming | varchar | 200 | 用户名 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
shouji | varchar | 200 | 手机 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
5 系统实现
5.1 APP端
登录,用户和公司通过输入账号和密码,选择用户类型并点击登录进行系统登录操作,如图5-1所示。
图5-1登录界面图
用户登陆系统前台,可以对首页,作品信息,外包需求,我的等功能进行详细操作,如图5-2所示。
图5-2前台首页界面图
公司,在我的页面可以查看作品订单,外包需求,外包应征,流程追踪,在线交流,在线回复,留言反馈等详细信息进行操作;如图5-3所示。
图5-3公司功能界面图
用户,在我的页面可以对作品信息,作品订单,外包应征,流程追踪,在线交流,在线回复,留言反馈等详细信息进行操作,如图5-4所示。
图5-4用户功能界面图
5.2管理员功能模块
管理员登录进入游戏美术外包管理信息系统可以查看首页,个人中心,用户管理,公司管理,作品信息管理,作品订单管理,外包需求管理,外包应征管理,流程追踪管理,在线交流管理,在线回复管理,管理员管理,留言反馈,系统管理等功能进行详细操作,如图5-5所示。
图5-5管理员功能界面图
用户管理;在用户管理页面中可以对索引,用户名,用户姓名,性别,头像,身份证,手机,信用分,审核回复,审核状态,审核等内容进行详情,修改和删除操作;如图5-6所示。
图5-6用户管理界面图
公司管理;在公司管理页面中可以对索引,账号,公司名称,负责人,性别,图片,联系电话,邮箱,地址,信用分,审核回复,审核状态,审核等内容进行详情,修改和删除操作;如图5-7所示。
图5-7公司信息管理界面图
公告信息;在公告信息页面中可以对索引,标题,图片等内容进行详情,修改和删除操作;如图5-8所示。
图5-8公告信息界面图
作品信息管理;在作品信息管理页面中可以对索引,作品名称,作品类型,图片,价格,发布时间,用户名,用户姓名,手机等内容进行详情,修改和删除操作;如图5-9所示。
图5-9作品信息管理界面图
作品订单管理;在作品订单管理页面中可以对索引,订单编号,作品名称,作品类型,图片,用户名,用户姓名,价格,下单时间,账号,公司名称,是否支付,审核回复,审核状态等内容进行详情,修改和删除操作;如图5-10所示。
图5-10作品订单管理界面图
外包需求管理;在外包需求管理页面中可以对索引,作品名称,作品类型,图片,价格,发布时间,账号,公司名称,联系电话等内容进行详情,修改和删除操作;如图5-11所示。
图5-11外包需求管理界面图
外包应征管理;在外包应征管理页面中可以对索引,订单编号,作品名称,作品类型,图片,账号,公司名称,价格,下单时间,用户名,用户姓名, 是否支付,审核回复,审核状态等内容进行详情,修改和删除操作;如图5-12所示。
图5-12外包应征管理界面图
管理员管理;在管理员管理页面中可以对索引,用户名,密码,角色等内容进行详情,修改和删除操作;如图5-13所示。
图5-13管理员管理界面图
系统管理;在轮播图管理页面中可以对索引,名称,值等内容进行详情和修改操作,还可以对公告信息进行操作,如图5-14所示。
图5-14系统管理界面图
6 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
该系统的系统测试主要包括功能测试,可用性测试,维护测试,性能测试等部分,测试结果如下:
6.1 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6.1所示:
表6.1 系统功能测试
测试内容 | 测试结果 |
依从性 | 正常 |
安全性 | 正常 |
可操作性 | 正常 |
适用性 | 正常 |
准确性 | 正常 |
6.2 可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6.2所示。
表6.2 系统可用性测试
测试项 | 测试人员的评价 |
操作流程是否合理 | 是 |
所需数据项是否正确显示 | 是 |
模块布局是否协调、合理 | 是 |
模块、提示内容等文字描述是否正确 | 是 |
对选中项能否发生对应切换 | 是 |
操作方式是否简单 | 是 |
操作是否流畅 | 是 |
6.3 维护测试
由于篇幅的原因,本节给出系统部分功能的维护测试用例。具体测试方面如表6-3所示。
表6.3 系统用例测试
序号 | 用例名称 | 用例操作 | 预期结果 | 测试结果 |
1 | 用户登录 | 输入用户名、密码 | 输入正确用户名和密码进入系统主界面,输入错误用户名或密码无法进入并给出提示 | 符合预期 |
2 | 添加游戏美术外包管理信息 | 在页面内输入游戏美术外包管理信息,点击“添加”按钮 | 正确存储游戏美术外包管理信息 | 符合预期 |
3 | 详情游戏美术外包管理信息 | 查看列表,按照查询条件,筛选符合需要的信息,进一步详细查看游戏美术外包管理信息 | 正确显示游戏美术外包管理信息 | 符合预期 |
4 | 添加用户信息 | 在页面内输入用户信息,点击“添加”按钮 | 正确存储用户信息 | 符合预期 |
5 | 翻页功能 | 点击“上一页”“下一页”“首页”“尾页” | 跳转到正确页 | 符合预期 |
6.4 性能测试
性能测试主要通过模拟系统运行环境来测试该系统是否能达到顾客期待。性能测试的重要技术指标就是:系统运行速度、网络响应时间和支持并发节点数。
1)系统运行速度:得益于B/S架构,该系统能在不同配置电脑上运行并无明显卡顿,滞后,完全符合用户要求。
2)网络响应时间:网络响应时间主要包括网络最小响应时间、平均响应时间、最大响应时间三个参数。经过测试,在正常网络运营状态下,局域网内响应时间三参数为:1/2/5s,外网响应时间三参数为3/7/12s,符合用户需求,属于用户心理可承受范围。
3)支持并发节点数:经过模拟环境测试,本系统在并发节点达45个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合用户需求。
6.5 测试结果分析
经过对上述测试结果分析,本系统能够在不同电脑上使用运行,具备一定安全性,用户信息不易泄露,能够日后再增删功能,能够实现所有功能,产品运行性能良好,能达到毕业设计要求。
结 论
本文主要根据目前信息技术发展现状结合人们对于游戏美术外包管理信息方式的转变引出开发游戏美术外包管理信息系统的必要性。然后根据管理员,用户和公司需求指定需求分析和可行性分析,并介绍应用到的相应技术,包括java技术,B/S结构等文中已做相关介绍和科普,然后展示相关模块完成的实现代码和截图,并做相关测试确保程序能正常运行。
本设计所实现的是一个游戏美术外包管理信息系统,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。
本系统具有以下优点:
该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。
系统将用户权限进行划分,管理员,用户和公司能看到及操作的信息不一样,三者具备不同的操作权限。
该系统操作界面简单明了,大部分人都可以正常使用。
但也存在以下问题需要改进:
运行时窗口不能被刷新,可以改进。
参考文献
[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2010.8
[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2005.12
[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2005.6
[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2005.10
[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2005.2
[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社. 2006
[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2003
[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003.6:1-205
[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006
[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2008,2(3):65-90
[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2004
[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2010,Vol.431-432(188-191)
[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2013,Vol.846-847(1558-1561)
[14]Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2006
[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J: IEEE Press, 2009
[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First
International Conference on E-Science and GridComputing,2005:58-70,90
核心代码展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告通知成功").put("data", newsView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}