本文主要是介绍springboot+mysql电竞社交平台C2C服务订单管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘 要
随着计算机网络应用迅速发展,使得网络游戏的开发更加灵活、内容更加丰富,国内外网游人数也急剧增加,游戏中的虚拟物品的交易需求也大大增强。RMT这个词随之流行起来。RMT(Real-Money Trading),即现实金钱交易,即用真实货币去买卖虚拟物品或用虚拟物品兑换真实货币的行为,此类交易的订单数量正在不断增加。本文详细介绍了电竞社交平台C2C服务系统设计与实现的过程。
本文介绍了系统的产生与研究现状,说明了本课题的研究背景及意义。阐述了系统的相关技术,其中包括B/S体系结构,即浏览器和服务器结构,并说明了该架构在运行成本和维护升级上的优势及在服务器负荷上的不足;还说明了vue技术,对AJAX技术等做了简要介绍。本系统采用SpringBoot+Java的开发模式,以 Tomcat6.0为服务器,以MySQL4.0作为数据库管理服务器,在设计中尽最大可能的提高软件性能和安全性。
由于需求分析是系统设计与实现的基础,本文结合系统的实际,首先进行了非常系统的初期的调查和研究,初步掌握了系统的基本功能,在这个基础上,进行了系统功能的细化和整体结构的设计,在调研总结和概要设计中描述了系统的基本功能需求,包括对系统使用人员需求分析、用户操作分析、查询需求分析、交易需求分析、管理员需求分析和性能需求等作了详尽的分析。
本文提出软件的总体设计方案,包括系统设计原则、设计思想和总体功能模块的构成等。并对系统的功能模块包括后台首页,系统用户(管理员,顾客,接单员),模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等进行了详细分析和设计。
在数据库设计中,对数据库管理系统的选择和相关数据库表的设计及优化进行了详细说明。本文最后介绍了软件测试的若干方法,主要从安全测试和压力测试两方面按照测试方案和流程对产品进行功能和性能的全面测试。全面的测试和试运行表明,本文开发的系统运行稳定,操作简单,用户反馈良好。本文的研究工作对同类研究具有一定参考价值。
关键词:电竞社交平台C2C服务订单管理系统;SpringBoot框架;B/S结构;Java
SpringBoot Esports Social Platform C2C Service Order Management System
Abstract
With the rapid development of computer network applications, the development of online games has become more flexible and rich in content. The number of domestic and foreign online games has also sharply increased, and the demand for virtual item transactions in games has greatly increased. The term RMT became popular. RMT (Real Money Trading), also known as Real Money Trading, refers to the act of buying and selling virtual items in real currency or exchanging virtual items for real currency. The number of orders for such transactions is constantly increasing. This article provides a detailed introduction to the design and implementation process of the C2C service order management system for the esports social platform.
This article introduces the generation and research status of the system, and explains the research background and significance of this topic. Elaborated on the relevant technologies of the system, including the B/S architecture, which includes browser and server structures, and explained the advantages of this architecture in terms of operating costs and maintenance upgrades, as well as its shortcomings in server load; It also explained Vue technology and provided a brief introduction to AJAX technology. This system adopts the development mode of SpringBoot+Java, with Tomcat 6.0 as the server and MySQL 4.0 as the database management server, to maximize software performance and security in the design.
Due to the fact that requirement analysis is the foundation of system design and implementation, this article first conducted a very systematic initial investigation and research based on the actual situation of the system, and initially grasped the basic functions of the system. On this basis, the system functions were refined and the overall structure was designed. In the research summary and summary design, the basic functional requirements of the system were described, including analysis of the needs of system users, user operation analysis Detailed analysis was conducted on query requirements, transaction requirements, administrator requirements, and performance requirements.
This article proposes an overall design plan for the software, including system design principles, design ideas, and the composition of overall functional modules. And detailed analysis and design were conducted on the functional modules of the system, including the backend homepage, system users (administrators, customers, and order recipients), module management (customer information, recharge information, order release, order reception information, order cancellation, payment records, service evaluation), etc.
In database design, the selection of database management system and the design and optimization of related database tables are described in detail. Finally, this article introduces several methods of software testing, mainly conducting comprehensive functional and performance testing of products based on testing plans and processes from two aspects: safety testing and stress testing. Comprehensive testing and trial operation indicate that the system developed in this article runs stably, is easy to operate, and has good user feedback. The research work in this article has certain reference value for similar studies.
Keywords: esports social platform C2C service order management system; SpringBoot framework; B/S structure; Java
目 录
摘 要
Abstract
第1章 绪论
1.1 研究背景
1.2 开发现状
1.3研究内容
1.4 研究方法
1.5论文组织结构
第2章 主要技术和工具介绍
2.1 SpringBoot框架
2.2 JAVA简介
2.3 MySQL数据库
2.4 B/S体系工作原理
2.5 Myeclipse开发工具
2.6 Tomcat服务器概述
2.7 Vue.js 介绍
第3章 系统分析
3.1可行性分析
3.1.1经济可行性
3.1.2技术可行性
3.1.3社会可行性
3.2功能需求分析
3.3非功能需求分析
3.4安全性需求分析
3.4.1系统的安全性
3.4.2数据的安全性
3.5系统开发原则与要求
3.6业务流程分析
3.7数据流程分析
第4章 系统设计
4.1开发环境
4.2系统概要设计
4.3系统架构设计
4.4开发流程设计
4.5系统结构设计
4.6主要功能模块设计
4.7数据库设计
4.7.1数据库设计概述
4.7.2概念设计
4.7.3表设计
第5章 系统实现
5.1登录模块的实现
5.2用户子系统模块的实现
5.2.1用户首页的实现
5.2.2注册模块的实现
5.2.3订单模块的实现
5.2.4服务评价模块的实现
5.3管理员子系统模块的实现
5.3.1系统用户管理模块的实现
5.3.2密码修改模块的实现
5.3.3顾客信息模块的实现
5.3.4充值记录管理模块的实现
第6章 系统测试
6.1 测试定义
6.2 测试目的
6.3测试方案
6.4功能测试
6.5性能测试
6.6系统分析
第7章 总结
致 谢
参考文献
第1章 绪论
随着开发与发行网络游戏的商人数量日益壮大,一个产业的生态环境终于成型,此产业具有规模巨大、分工明确的优势。这时的“大型网络游戏”的构思初步形成,网络游戏能直接连接进入互联网,不同于以前独立地保留在服务平台与服务商之间的模式,在世界范围内形成了一个大一统的市场。从1998年以后,联众游戏世界、网络三国、传奇、魔兽世界等大型网络游戏相继出现。此类游戏以其画面的优美,场面的巨大,剧情的创新,人物的功能以及炫舞的游戏场面,征服了很多的游戏玩家。也就是从那以后,网络游戏进入了商业模式。网络游戏市场的迅速膨胀刺激了网络服务业的发展,网络游戏开始进入收费时代,许多消费者都愿意支付高昂的费用来玩网络游戏。
人们对这种游戏的喜爱,产生了对游戏中物品的需求,游戏中的物品有了需求,也就有了价值。游戏者之间通过在现实世界中约定好的价格进行交易,交易的方式很简单,在游戏世界中你把宝物"送"给我,在现实世界中我回报给你货币。而 RMT这个词就是现实金钱交易(Real-Money Trading)的缩写。指真实货币交易,原是一个动作。但现在这个动词已经延伸为名词,指交易双方(卖虚拟物品和买虚拟物品的人)比方说游戏中的游戏代练、RMB换游戏虚拟货币等等用真实货币去买卖虚拟物品或用虚拟物品兑换真实货币的行为。这就是 RMT最初产生的原因。
人们针对这种情况发现了商机,一些公司建立起信息交流平台,并利用公司的信誉促成游戏者之间的交易;还有一些公司干脆全权代理,低价收购游戏中的物品,再以相对高一些的价格(有时候是高很多)卖给有需要的游戏者,从中赚取差价。这就是RMT 经营者的产生。有了游戏者对游戏中物品的需求,又有了帮助交易的 RMT经营者,于是一些游戏者就专门生产这些宝物,通过 RMT经营者进行交易。这样,生产者、商人和消费者就都产生了,RMT市场也就形成了。RMT市场形成后,并没有停止发展。由于网络没有国界,很快地RMT市场就向国际化方向发展了。
初期形成的 RMT存在一些问题,关键问题有两个:一个是信息不畅通,也就是说想要买宝物的游戏者不知道谁有自己想要的宝物,也不知道谁想卖这种宝物,反之亦然。另一个问题是信誉问题,双方都怕对方是骗子,尤其是一些宝物价格不菲,更不敢轻信别人。目前我国RMT市场正处于快速发展阶段,也因此引起了网游业内极大的的关注。虽然目前如 17173等国内一批专业的游戏媒体的版图尚未规划到游戏物品交易区域,但是不排除未来可能在国内的 RMT产业规范成熟后进军我国的游戏物品交易市场。对于国内所存在的游戏物品交易平台经营者来说都是潜在的强大竞争者。
由目前的国内C2C市场来看,由淘宝网目前占领了70%的 C2C的交易额,显示目前国内网民目前普遍未承认“付费型网络服务”的说法,目前,在网络上相对成功的“付费型网络服务”主要为提供数据的。比如网络研究机构的调查信息、管理顾问公司或是某些数据库。网络游戏物品卖家对于网络游戏物品交易平台的选择依然趋向于由专业的交易平台所提供的免费交易服务,因此开发一个电竞社交平台C2C服务订单管理系统是非常有必要的。
1.3研究内容
通过对管理员和用户的需求分析,我们将该系统的功能逐步进行了添加,然后进行功能分析和检测,而且针对这两方面进行了深入研究探讨,该系统主要对开发背景、市场需求、数据库分析、功能模块以及开发技术进行了着重介绍和分析。最后对系统中的功能信息进行测试和分析。本次毕业实现的系统,不管是可行性分析、系统整体框架设计还是编码,都需要严格遵守系统开发的三个周期八个阶段,在该系统的开发过程中,要保证系统具有良好的时效性、易安装性以及稳定性。在代码编写时一定要按照要求进行,让代码编写看起来更美观,开发出一个便于用户的使用的系统是本次开发的主要目标。在系统完成之后,利用电脑来将系统进行安置,并且用户可以通过电脑随时查看书籍论坛信息。此次在系统的开发中,对系统要进行可行性分析、系统需求分析等基本分析,并且完成系统的部署和测试,在这些功能都实现之后,通过电脑进行操作系统。系统规划分析中,需要按照以下所示的技术路线。
1.4 研究方法
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用java平台来设计开发本系统,MySQL作为设计数据库的工具。即利用java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
1.5论文组织结构
第一章是论文的绪论部分,主要介绍了课题的研究背景以及研究目的和意义。
第二章研究了系统的所采用的开发技术和开发工具。
第三章研究了系统的需求分析,根据系统的特点,分析系统采用的体系结构及开发方法,以及该系统的运行环境,并分析了业务流程,绘制了业务流程以及数据流程。
第四章是对系统的详细设计进行说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
第2章 主要技术和工具介绍
2.1 SpringBoot框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2.2 JAVA简介
Java编程语言是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,.Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载( operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占据的内存空间,使符程序员不用再为内存管理而担忧。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(byte code),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。但在J2SE 1.4.2发布后,Java的执行速度有了大幅提升。与传统程序不同,Sun 公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一、并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对,Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java语言的特点如下:
(1)简单性:Java是个精简的系统,无需强大的硬件环境便可以很好地运行。Java的风格和语法类似于C++,因此,C++程序员可以很快就掌握Java编程技术。Java据弃了C++中容易引发程序错误的地方,如多重继承、运算符重载、指针和内存管理等,Java语言具有支持多线程、自动垃圾收集和采用引用等特性。Java提供了丰富的类库,方便用户迅速掌握Javas
(2)面向对象:面向对象可以说是Java最基本的特性。Java语言的设计完全是面向对象的,它不支持类似C++语言那样的面向过程的程序设计技术。所有的Java程序和 applet均是对象,Java支持静态和动态风格的代码继承及重用。
(3)分布式:Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。
(4)健壮性:Java是一种强类型语言,它在编译和运行时要进行大量的类型检查。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java的数组并非采用指针实现,从而避免了数组越界的可能。Java通过自动垃圾收集器避免了许多由于内存管理而造成的错误。Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误发生的可能。
(5)结构中立:作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构无关的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。从而使同一版本的应用程序可以运行在不同的平台上。
(6)安全性:作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除。避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏行为的发生。
(7)可移植:Java与体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。Java通过定义独立于平台的基本数据类型及其运算,使Java数据得以在任何硬件平台上保持一致,这也体现了Java语言的可移植性。还有Java编译器本身就是用Juva语言编写的,Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成,Java语言规范中也没有任何“同具体实现相关”的内容,这说明Java本身也具有可移植性。同时java语言的类库也具有可移植性。
JDK (Java Development Kit)是整个Java的核心,包括了Java运行环境(Java RuntimeEnvironment),一堆Java工具和Java 基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM (Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的 JDK5.0开始,提供了泛型等非常实用的功能,其版本信息也不再延续以前的1.2,1.3,1.4,而是变成了5.0,6.0了。从6.0开始,其运行效率得到了非常大的提高,尤其是在桌面应用方面。
2.3 MySQL数据库
MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。因为其自身的功能相当强大,目前已成为最为流行的数据库软件之一。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.4 B/S体系工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今系统应用的主流结构模式。
2.5 Myeclipse开发工具
MyEclipse 是目前最便于Java编程的开发环境之一,流行于各种平台应用程序的Java集成开发环境。该开发环境不仅可以完成基本的应用软件的开发,同样的可以集成相当多的插件进行应用开发的辅助。软件虽然本身个头小,但是由于拥有众多的功能插件,使其具有结构上短小精悍,功能上全面强大的特色。在开发的过程中,对硬件的要求不高,使得人人只要具备一台一般性能的电脑,都可以进行开发,人人都可以是软件的创造者。
没有完美的开发工具,插件化是Myeclipse的优点,同样也是其缺点。开发的过程中如果需要添加协助开发的功能,需要对插件进行寻找与安装,当然Myeclipse本身是支持在线安装插件的,但是由于主要的插件都是国外开发人员创造的,使得我们安装插件时,需要访问境外的服务器,那么这也是在线安装插件往往速度慢,经常失败的原因,我们也可以使用阿里,淘宝等的镜像,但是操作难度肯定是比集成化要高。我们也可以进行本地安装,这就需要插件的相关压缩文件,对Myeclipse安装文件进行修改对于初学者来说一定的难度。
2.6 Tomcat服务器概述
Tomcat 是Apache 开发的Web应用服务器。因为其技术先进,性能稳定,重要是免费等原因,在Java开发中深受欢迎,当然也得到很多软件开发商的认可。
Tomcat是轻量级的Web服务器,免费,开源,在很多中小型,并发访问用户不是很多的情况下被人们普遍使用,那么在国内那么受欢迎,个人觉得可能更多的还是免费的原因。通过在本地的计算机上安装Tomcat,就可以将本地计算机建立成一个小型的服务器,就可以通过http请求对本地服务器上的项目进行访问[14]。Tomcat是servlet的容器,很多人都说,要想学好web开发,必须学好servlet,因为服务器能够让用户交互式地浏览和修改数据,帮助生成动态Web内容,都归功于servlet。
2.7 Vue.js 介绍
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
Vue.js 语言特点:
易用:在有HTML,CSS,JavaScript的基础上,快速上手;Vue.js 的 API 是参考了AngularJS、KnockoutJS、Ractive.js、Rivets.js;Vue.js 的 API 的对于其他框架的参考不仅是参考,其中也包含了许多 Vue.js 的独特功能。
灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。
性能:20kb min+gzip 运行大小、超快虚拟 DOM 、最省心的优化。
第3章 系统分析
3.1可行性分析
在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术可行性,社会可行性,经济可行性对我们的系统进行可行性的研究。系统的可行性分析如下所示:
3.1.1经济可行性
使用比较成熟的技术,系统是基于SpringBoot框架开发,采用MySQL数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
3.1.2技术可行性
本系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用SpringBoot开发工具,使用比较成熟的MySQL数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
系统对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于系统搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.1.3社会可行性
社会可行性主要包括法律和用户两个方面,下面将从这两方面进行分析。
(1)法律因素
本系统是学习开发所制作的程序,并不用作商业用途,是在根据实际调研的结果结合现有的系统后得出的,而且系统制作的全部过程都是在个人的工作电脑中完成的,使用的都是开源和免费的开发环境、分析系统和数据库,不存在侵权问题。
(2)用户可行性
操作人员或者客户只需要具备一定的windows电脑操作常识,不需要精通计算机技能。此外系统管理人员,只需要在windows常识之上再熟悉下使用Tomcat服务器的操作流程,只要掌握一定的计算机知识即可,在正式上线运营之前,仅需要对操作人员进行简单的熟悉流程培训即可。所以从用户可行性上也是可行的。
3.2功能需求分析
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的系统。
本系统主要包含了后台首页,系统用户(管理员,顾客,接单员),模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等多个功能模块。下面分别简单阐述一下这几个功能模块需求。
3.3非功能需求分析
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对订单信息管理系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
3.4安全性需求分析
3.4.1系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护订单的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对订单的负责。尤其针对于系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
3.4.2数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
3.5系统开发原则与要求
1、关于系统的基本要求
(1)功能要求:可以管理后台首页,系统用户,模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等功能模块。
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。
2、开发原则
为了设计出符合一般标准又具有特色的界面,系统开发时要遵循以下开发原则:
(1)保证界面设计的风格具有一致性。
(2)界面设计时,控件的摆放要协调和匀称。
(3)常用操作(如后台首页,系统用户,模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等操作应建立快捷方式,方便管理员日常操作。
(4)提供错误处理信息,在出现错误时,系统应该能检测出错误并提供错误处理的能;错误出现后,系统的状态不发生变化,或者系统要提供错误恢复的向导。
(5)为了方便管理员的管理应设置工具栏和状态栏。
3.6业务流程分析
经过对系统功能的分析,调查,研究,总结出系统主要实现的是对订单信息、用户信息等管理功能。这样,可以对该系统绘制业务流程图。
如下为业务流程图图例。
图3-1业务流程图图例
系统的业务流程如下图所示。
图3-2系统业务流程图
3.7数据流程分析
根据上文所述的业务流程特点,首先对各个方面总的数据处理环节和外部实体进行了描述, 根据自顶向下原则,逐层分解功能,这个过程产生DFD图。
以下是本文当中使用的数据流图图例,见下图所示。
图3-3系统数据流图(0层)
零层数据流程是流程中最抽象的一层,它包括了注册与登录管理、用户功能管理和检索维护管理等功能模块,在登录注册模块使用到的数据存储有用户账户信息文档、用户信息文档,用户功能管理模块需要的存储是用户动态信息文档、留言信息文档、图片信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。
系统的0层数据流图如下图所示。
图3-4系统数据流图(0层)
一层数据流程图是对零层数据流程图的细化,将登录与注册细分为填制登录注册信息和完善信息,用户功能管理细分为用户基本功能管理和用户特色功能管理。
系统的1层数据流图如下图所示。
图3-5系统数据流图(1层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户基本功能和用户特色功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户基本功能细化为充值信息,发布订单,接单信息,取消订单,付款记录,服务评价操作。
系统的2层数据流图如下图所示。
图3-6系统数据流图(2层)
第4章 系统设计
4.1开发环境
- 软件体系结构方案:采用B/S模式,B/S代表的是服务器端由web服务器发放,客户端由浏览器接收的系统,它的前台是html语言,由浏览器解释。B/S结构可以由web服务器能够解释的开发语言如Java。
- 操作系统方案:Windows 7(旗舰版)操作系统,该系统可以兼容需要的软件,并且具有良好的运行速度,界面良好。
- 后台数据库:选用MySQL。MySQL旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。
- 开发工具:前台网页使用dreamweaver工具,后台逻辑选用Meclipse10。
- 开发语言:Java语言。
4.2系统概要设计
本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.3系统架构设计
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。
图4-2系统架构图
4.4开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-3所示。
图4-3开发系统流程图
4.5系统结构设计
本系统使用的角色主要有系统管理员、顾客、接单员,本系统为后台管理系统,游客用户可以经过账号注册,管理员审核通过后,用账号密码登录系统,查看后台首页,模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价),顾客可以登录个人中心进行个人资料修改、订单查询、在线付款等功能。
管理员使用时,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用后台首页,系统用户(管理员,顾客,接单员),模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等功能操作。。
系统的功能结构图如下图所示。
图4-4系统功能结构图
4.6主要功能模块设计
该模块包括顾客管理和接单员管理,系统用户主要是管理员,顾客和接单员,管理员对用户信息进行管理,只有用户才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户
- 登录模块
根据用户输入的 Id 和密码到数据库中查找该用户,如果未能找到该用户则做出 提醒“用户名或密码错误”,如果找到该用户,则要判断用户的类别然后根据用户类别进入相应的页面。
- 注册模块
当新用户第一次登陆时,要求注册账号。在登陆页点击注册后进入用户注册界面,新用户需要填写本人的手机号、用户名、设置登录密码,之后单击注册,则完成了初步信息的填写
(1)订单添加;顾客必须填写订单标题、订单编号、顾客编号、顾客姓名、发布时间,订单类型、订单佣金、需求描述等信息,订单编号必须是唯一的, 提交后判断某一项是否为填写, 如果是则做出提醒, 填写符合规则后方可添加到数据库。
(2)订单查询:可以根据订单编号等信息对订单进行查询,查询结果仅有一个。
(3)订单修改:除了订单编号外,其他信息均可以修改。
(4)订单取消:首先找到要取消的订单(一个或多个),然后取消,等待管理员审核即可。
- 评价信息管理模块
评价模块分为用户评价和管理员管理评价信息,用户登录系统后,选择想要评价的订单,添加评价,管理员查询该评价信息,并有权对其管理,包括删除。
4.7数据库设计
4.7.1数据库设计概述
为了实现系统的功能设计,就要有相应的数据库表设计。根据系统的功能设计要求为各个数据库表设计字段、数据类型、是否为空等的相关信息。在实际调研和需求分析的基础上,对该系统设计数据库。再有系统的需求分析可以看出,本系统有三个角色:顾客,接单员和管理员,他们分别在系统的运行和使用中起着不同的作用。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。数据库中表的设计主要考虑两个方面:一是整个管理系统的所有表中的数据要共享性高、冗余度小、占用最可能小的存储空间。
4.7.2概念设计
概念设计是整个数据库设计的关键,在概念设计阶段,由需求分析得到了E-R模型。E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。是对现实世界的抽象和概括,是数据库设计人员进行数据可设计的有力工具,能够方便直接地表达应用中的各种语义知识,令一方面它简单、清晰、易于用户理解。
图4-10系统总体ER图
4.7.3表设计
概念模型是独立于任何一种数据模型的信息结构。将概念模型转换成逻辑模型,转换的一般原则如下:
(1)一个实体性转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个1:1联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(3)一个1:n联系可以转化为一个独立的关系模式,也可以与n端对应的关系模式合并。
(4)一个m:n联系转化为一个关系模式。
本系统设计如下多个表,包括顾客信息表、订单表、评价表。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cancellation_of_order_id | int | 10 | 0 | N | Y | 取消订单ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
4 | order_type | varchar | 64 | 0 | Y | N | 订单类型 | |
5 | order_commission | int | 10 | 0 | Y | N | 0 | 订单佣金 |
6 | receiver_number | int | 10 | 0 | Y | N | 0 | 接单员编号 |
7 | order_receiving_time | varchar | 64 | 0 | Y | N | 接单时间 | |
8 | cancel_time | date | 10 | 0 | Y | N | 取消时间 | |
9 | reason_for_cancellation | varchar | 64 | 0 | Y | N | 取消原因 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | customer_id | int | 10 | 0 | N | Y | 顾客ID | |
2 | customer_no | varchar | 64 | 0 | N | N | 顾客编号 | |
3 | customer_name | varchar | 64 | 0 | Y | N | 顾客姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | customer_information_id | int | 10 | 0 | N | Y | 顾客信息ID | |
2 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
3 | customer_name | varchar | 64 | 0 | Y | N | 顾客姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
6 | account_balance | int | 10 | 0 | Y | N | 0 | 账户余额 |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_receiver_id | int | 10 | 0 | N | Y | 接单员ID | |
2 | receiver_number | varchar | 64 | 0 | N | N | 接单员编号 | |
3 | name_of_receiver | varchar | 64 | 0 | Y | N | 接单员姓名 | |
4 | gender | varchar | 64 | 0 | Y | N | 性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表order_receiving_information (接单信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | order_receiving_information_id | int | 10 | 0 | N | Y | 接单信息ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
4 | order_type | varchar | 64 | 0 | Y | N | 订单类型 | |
5 | order_commission | int | 10 | 0 | Y | N | 0 | 订单佣金 |
6 | requirement_description | text | 65535 | 0 | Y | N | 需求描述 | |
7 | receiver_number | int | 10 | 0 | Y | N | 0 | 接单员编号 |
8 | name_of_receiver | varchar | 64 | 0 | Y | N | 接单员姓名 | |
9 | order_receiving_time | date | 10 | 0 | Y | N | 接单时间 | |
10 | annotation_notes | varchar | 64 | 0 | Y | N | 标注说明 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | payment_records_id | int | 10 | 0 | N | Y | 付款记录ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
4 | order_type | varchar | 64 | 0 | Y | N | 订单类型 | |
5 | order_commission | int | 10 | 0 | Y | N | 0 | 订单佣金 |
6 | receiver_number | int | 10 | 0 | Y | N | 0 | 接单员编号 |
7 | name_of_receiver | varchar | 64 | 0 | Y | N | 接单员姓名 | |
8 | payment_time | date | 10 | 0 | Y | N | 付款时间 | |
9 | payment_amount | int | 10 | 0 | Y | N | 0 | 付款金额 |
10 | remarks | varchar | 64 | 0 | Y | N | 备注 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recharge_information_id | int | 10 | 0 | N | Y | 充值信息ID | |
2 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
3 | customer_name | varchar | 64 | 0 | Y | N | 顾客姓名 | |
4 | recharge_time | date | 10 | 0 | Y | N | 充值时间 | |
5 | recharge_amount | int | 10 | 0 | Y | N | 0 | 充值金额 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | release_order_id | int | 10 | 0 | N | Y | 发布订单ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
4 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
5 | customer_name | varchar | 64 | 0 | Y | N | 顾客姓名 | |
6 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
7 | order_type | varchar | 64 | 0 | Y | N | 订单类型 | |
8 | order_commission | int | 10 | 0 | Y | N | 0 | 订单佣金 |
9 | requirement_description | text | 65535 | 0 | Y | N | 需求描述 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | service_evaluation_id | int | 10 | 0 | N | Y | 服务评价ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
3 | customer_no | int | 10 | 0 | Y | N | 0 | 顾客编号 |
4 | order_type | varchar | 64 | 0 | Y | N | 订单类型 | |
5 | order_commission | int | 10 | 0 | Y | N | 0 | 订单佣金 |
6 | receiver_number | int | 10 | 0 | Y | N | 0 | 接单员编号 |
7 | name_of_receiver | varchar | 64 | 0 | Y | N | 接单员姓名 | |
8 | evaluation_time | date | 10 | 0 | Y | N | 评价时间 | |
9 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
第5章 系统实现
5.1登录模块的实现
系统的系统入口就是用户登录功能,在浏览器输系统地址跳转至系统首页,包括用户名、密码、权限、验证码,除了权限框使用下拉列表,其他使用文本框,验证码下方为登录和重置两个按钮,用户点击登录按钮,则进行登录验证。
登录流程图如下所示。
图5-1登录流程图
5.2用户子系统模块的实现
5.2.1用户首页的实现
用户主要有顾客和接单员两个角色。在顾客用户的系统首页,主要有后台首页,模块管理(顾客信息,充值信息,发布订单,接单信息,取消订单,付款记录,服务评价)等主要模块。在接单员用户的系统首页,主要有后台首页,模块管理(订单信息,接单信息,取消订单,已付款订单,服务评价)等主要模块。
5.2.2注册模块的实现
这块程序首先根据所取得的表单中的用户名查询数据库中是否有相同用户名的记录,如果数据库存在相同的用户名,则提示用户名已存在,否则,打开记录集并添加一条新的记录,然后系统默认要给用户发送注册成功的提醒。
用户注册流程图如下所示。
图5-2用户注册流程图
图5-3用户注册界面图
5.2.3订单模块的实现
发布订单:顾客填写订单标题、订单编号、顾客编号、顾客姓名、发布时间,订单类型、订单佣金、需求描述等信息发布订单,待接单员接单后完成支付则订单成立,完成订单后还可进行订单取消,服务评价等操作,如下图所示。
图5-4发布订单界面图
订单信息与接单:接单员在订单信息列表查看顾客发布的订单信息,包括订单标题、订单编号、顾客编号、顾客姓名、发布时间,订单类型、订单佣金、需求描述等信息,可以进行查询,重置,接单等操作,如下图所示。
图5-5订单信息列表
图5-6接单界面图
5.2.4服务评价模块的实现
顾客用户点击某个订单点进入订单详细页,可以进行查询,重置,删除,添加,评价等操作,如下图所示。
图5-7待评价订单列表
图5-8评价界面图
5.3管理员子系统模块的实现
5.3.1系统用户管理模块的实现
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。
图5-9用户管理界面图
图5-10用户添加界面图
5.3.2密码修改模块的实现
密码修改是对当前登录用户的密码进行修改,在用户登录后右上方也能进行密码修改。
密码修改流程图如下所示。
图5-11密码修改流程图
5.3.3顾客信息模块的实现
顾客信息功能主要指对其顾客编号,姓名,性别,联系电话,账户余额等一些基本信息的添加、删除和修改。顾客信息查询能根据顾客编号、名称等多种条件对顾客信息进行查询。如下图所示。
图5-12顾客信息管理界面
5.3.4充值记录管理模块的实现
管理员对顾客的充值记录进行维护管理,包括顾客编号,姓名,充值时间,金额等信息,可以根据需要进行查询,重置,删除,添加等操作,如下所示。
图5-13充值记录管理界面
图5-14充值界面
第6章 系统测试
一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的系统是否可以正常无误的运行,尽可能的发现系统的问题,已使后期系统投入使用后系统尽少出错。
6.1 测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。因此就应该对系统进行测试,在一开始就发现系统中存在的问题,就能保证以后系统能够正常稳定的运行。在测试系统中,开发人员应该站在用户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和用户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2 测试目的
测试的目的在于要对系统的稳定和可操作性能进行对照检查。对于软件的开发利用最终的目的在最后的测试和试用,这是一个不可缺少的重要环节。对于软件开发者而言,在对每一个单独的功能进行编排时候,都要有单独的测试,并通过测试阶段才可以研发多个功能性软件,这样既缩短了研发时间,也可以在的单个的早期测试中发现问题,以免融合后的软件,在查找问题时就很难快速解决或者急速定位问题。
系统开发设计完成后,需要对其进行系统测试,测试的主要目的就是发现并找出系统中存在的问题,并及时的进行解决,确保系统可以正常稳定的运行下去,在进行系统测试的时候,在一定要非常的认真、仔细,切记不能粗心,不能放过一个漏洞,测试时候一定不要着急,要按照之前指定好的测试步骤一步一步进行,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样既可以节省时间而且也能确保测试的准确性,如果采用人工测试的方法就不会这么的方便,由于人工测试有很多不确定的因素,在测试过程中很可能会出现一些问题,用机器测试就不会出现任何的问题,而且机器不会疲惫会一直二等工作下去。在测试的时候一定要非常专注,时刻关注着测试的结果,一但发现异常及时进行修改,最后,测试完之后的文档应该保存下来,方便以后测试时用到。系统测试的方法有很多,对于本系统的测试,我们使用了测试用得最多的黑盒测试方法来对该系统进行测试。
6.3测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
1.软件耗费较少。
2.可以提前发现端口的错误。
3.更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
终于到了结尾性的工作了。这一步就是为了给用户看一下我们的系统功能是否达到了预期的效果。
6.4功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项检测,检查产品是否达到用户要求的功能。下面列出的测试用例是基于需求分析阶段的用例描述而进行的设计。
下面将通过表格的形式介绍针对本系统每个功能模块所进行的功能测试。
1.注册模块功能测试,如下表所示。
表6-1注册测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名,密码为空 | 无法注册 | 提示密码不得为空,无法注册 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入不合适的用户名、2次相同的密码 | 无法注册 | 提示用户注册失败 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名,两次密码不一致 | 无法注册 | 提示用户名不得为空,无法注册 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入的用户名为空 | 无法注册 | 提示用户名不能为空 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名和两次相同的密码 | 正常注册 | 注册成功 | 正常 |
2.登录模块功能测试,如下表所示。
表6-2登录测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名,密码为空 | 无法登录 | 提示密码不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名,输入错误密码 | 无法登录 | 提示密码不正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的密码,用户名为空 | 无法登录 | 提示用户名不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的密码,错误的用户名 | 无法登陆 | 提示用户名不正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 用户名及密码都为空 | 无法登录 | 提示用户名和密码不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 用户名及密码都输入错误 | 无法登录 | 提示用户名和密码正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名和密码 | 正常登录 | 进入主界面 | 正常 |
3.修改密码模块功能测试,如下表所示。
表6-3修改密码测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 修改密码 | 用户打开修改密码界面 | 输入正确初始密码和2次相同的新密码 | 密码修改成功 | 密码修改成功 | 正常 |
| 修改密码 | 用户打开修改密码界面 | 输入错误的原始密码 | 密码修改失败 | 密码修改失败 | 正常 |
| 修改密码 | 用户打开修改密码界面 | 输入正确初始密码和2次不相同的新密码 | 密码修改失败 | 密码修改失败 | 正常 |
6.5性能测试
使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。
压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。
6.6系统分析
本系统设计要求基本都可以达到,此系统具有完整的软件功能,良好的用户界面,能够正确的处理错误信息,而且能够准确的提出错误的种类。但是系统测试时也出现了一些系统的不足和缺陷,所以在今后的日子里我会对其视觉上的不足作出修改,其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗余现象。
经过对上述的测试结果分析,本系统无论是在技术方面,还是操作方面,还是经济方面都是完全可以实行的,并且经过测试,该系统操作简单,所有的功能都可以实现,因此该系统可以满足人们的使用需求,值得被推广。
总体说来,系统通过测试。
第7章 总结
在本次毕业设计的过程中,从开始的懵懂无知,感觉设计一个系统非常困难,不知道该从何做起,但是通过查阅相关资料和网站之后,让我对该系统的开发有了新的认知,开发系统最重要的就是需求调查和系统分析,也通过老师指导和学过相关的知识,在加上我的不懈努力,最后将该系统逐步完成。在此次毕业设计中,让我知道了做什么事都必须要坚持,努力去查阅资料,并且善于发现和研究,充分利用身边资源,我相信办法总比困难多,所有问题都会迎刃而解。通过此次系统的开发设计,将我在大学期间所学的知识都应用到了其中。使理论知识和现实实践进行相结合,开发系统将理论知识和实践相结合,也将计算机信息与实践问题进行了相结合,通过现代计算机网络的便利来解决生活中的问题,并且还提高了我的计算机编程能力,在这次的开发设计过程中,虽然我遇到了很多的问题和困难,但是通过老师和同学们的帮助下,所有的问题都迎刃而解了,让我顺利的完成了此次的毕业论文设计,通过此次毕业设计的开发与设计,大大的提高了我的动手动脑能力,并且为我以后的工作奠定了坚实的基础。
通过本次设计,让我学到了更多的知识,而且在设计中会有一些问题出现,最后通过查阅资料和在老师和同学的帮助下完成了系统的设计和开发,使得这次系统的开发非常的有意义。同时通过这次系统的设计也让我明白了自己在哪方面有不足,以后加以学习争取可以开发住更多有用的适用的系统。
致 谢
大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。
回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。
最后,我要特别感谢指导系统论文设计的老师。本论文是在他的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。老师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。
由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。
参考文献
[[1]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).
[2]赵梓皓,崔应留,葛晨,沈盈之,雷妤婷.基于SpringBoot的社区防控管理系统的设计与实现[J].软件,2022,43(10):154-159.
[3]陈颖灵,朱映辉,江玉珍,黄栾雅.基于SpringBoot学生实训管理系统的设计与实现[J].电脑知识与技术,2022,18(19):49-51.DOI:10.14004/j.cnki.ckt.2022.1319.
[4]朱启方,黄彩霞,范旭,万坦,任淑晖,牛佳坤.基于SpringBoot和Vue的多功能时间管理系统的设计与实现[J].电脑知识与技术,2022,18(18):31-32+41.DOI:10.14004/j.cnki.ckt.2022.1024.
[5]向兵,董晓红.基于SpringBoot的高校教材管理系统的设计与实现[J].电脑知识与技术,2022,18(14):12-15.DOI:10.14004/j.cnki.ckt.2022.0827.
[6]杨宇,徐万明.基于Springboot微信小程序用户管理系统设计[J].电脑与电信,2022(03):63-67.DOI:10.15966/j.cnki.dnydx.2022.03.023.
[7]Gu Mengdie,Sun Rui,Yang Shulin,Gu Huijie,Yuan Ming. Research on copyright appointment registration microplatform system based on vue[J]. MATEC Web of Conferences,2022,355.
[8]蒋晟,陈科.基于SpringBoot的学生宿舍管理系统的设计与实现[J].现代信息科技,2021,5(12):6-9.DOI:10.19850/j.cnki.2096-4706.2021.12.002.
[9]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).
[10]钟怡旸,郭昱君.基于Springboot的博客管理系统设计与实现[J].现代信息科技,2021,5(07):18-20+24.DOI:10.19850/j.cnki.2096-4706.2021.07.005.
[11]文淑华,黄明源,刘雪帆,朱鹏飞,徐子嘉,王瑞锦.基于Flutter和SpringBoot的多平台会议室管理系统[J].实验科学与技术,2021,19(01):155-160.
[12]李唯.基于SpringBoot的作业管理系统设计与开发[J].电脑编程技巧与维护,2020(12):73-74.DOI:10.16184/j.cnki.comprg.2020.12.028.
[13]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).
[14]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[15]葛萌,王颖.基于SpringBoot+SSM框架的进销存管理系统设计与实现[J].科学技术创新,2020(24):74-77.
[16]胡明,文翠,黄川.基于SpringBoot的毕业论文管理系统设计和开发[J].电脑编程技巧与维护,2020(07):92-93+104.DOI:10.16184/j.cnki.comprg.2020.07.033.
[17]邱丹萍.应用SpringBoot的食堂订餐管理系统设计[J].福建电脑,2020,36(06):115-117.DOI:10.16707/j.cnki.fjpc.2020.06.035.
[18]赵玺博,夏琦,刘章茂.基于Springboot的校园网故障管理系统的实现[J].科学技术创新,2020(13):58-59.
[19]杨锦山,王辉.基于SpringBoot的项目信息管理系统的设计与实现[J].电子技术与软件工程,2020(09):38-39.
[20]任鹏,陆旭昇.基于区块链的游戏资产交易系统[J].现代商贸工业,2019,40(17):87-88.DOI:10.19311/j.cnki.1672-3198.2019.17.042.
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
这篇关于springboot+mysql电竞社交平台C2C服务订单管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!