摘 要
基于J2EE的办公用品销售与分销系统是一款为企业提供办公用品在线销售及管理解决方案的软件。该系统采用B/S架构,使用JAVA技术构建前端用户界面和后端服务器端处理程序,并利用JDBC进行数据库操作。系统实现了包括产品信息管理、分销订单处理、用户管理等核心功能,同时支持多用户同时在线操作。系统具有高效稳定、易用性强、可扩展性好等特点。
本文首先对课题的背景和现状进行分析,然后根据系统的开发流程对系统的可行性和需求进行分析,通过对系统总体设计来绘制系统功能结构图,并对数据库结构进行设计。最后进行系统测试。测试的结果能够达到预期的效果,运行状况良好。
关键词:办公用品;销售与分销;JAVA;MySQL数据库
Abstract
The J2EE based office supplies sales and distribution system is a software that provides online sales and management solutions for office supplies for enterprises. The system adopts a B/S architecture, uses java technology to build front-end user interfaces and back-end server-side processing programs, and utilizes JDBC for database operations. The system has implemented core functions such as product information management, distribution order processing, and user management, while supporting multiple users to operate online simultaneously. The system has the characteristics of high efficiency, stability, strong usability, and good scalability.
This article first analyzes the background and current situation of the project, and then analyzes the feasibility and requirements of the system based on the development process. By designing the overall system, a system functional structure diagram is drawn, and the database structure is designed. Finally, conduct system testing. The test results can achieve the expected effect and the running condition is good.
Keywords: office supplies; Sales and distribution; JAVA; MySQL database
目录
第1章 概 述
1.1 课题研究背景与意义
随着科技的发展和市场竞争的加剧,办公用品行业正面临着前所未有的挑战和机遇。传统的销售和分销模式已经难以满足现代企业的需求,企业需要一种更加高效、灵活和智能的解决方案来应对市场变化。办公用品销售与分销系统正是在这样的背景下应运而生的。该系统旨在通过先进的信息技术手段,实现对办公用品销售和分销过程的全面管理和优化,从而提高企业的运营效率和竞争力。
开发和实施办公用品销售与分销系统具有重要的理论意义和实践价值。从理论上来说,该系统的研究可以丰富和发展相关领域的理论知识和技术方法,为其他类似问题提供有益的借鉴和参考。从实践上来说,该系统的应用可以帮助企业实现对办公用品销售和分销过程的有效管理,提高企业的运营效率和竞争力。该系统还可以为企业提供实时、准确和全面的数据支持,帮助企业做出更加科学和合理的决策。办公用品销售与分销系统的研究与实施对于推动企业信息化建设和提升企业核心竞争力具有重要的意义。
1.2 国内外研究现状
在国内,办公用品销售与分销系统的研究和应用已经取得了一定的成果。许多企业和学者开始关注这一领域,并对其进行了深入研究。目前,国内已经出现了一些具有自主知识产权的办公用品销售与分销系统,这些系统在功能、性能和技术方面都取得了显著的进步。然而,与国外的先进水平相比,国内的研究仍存在一定的差距。例如,在系统的集成性、智能化和个性化等方面仍有待提高。此外,国内的研究还面临着一些问题和挑战,如数据安全、隐私保护等。
在国外,办公用品销售与分销系统的研究和应用已经相当成熟。许多国际知名企业和研究机构都在这一领域进行了深入研究,并开发出了一系列先进的系统和解决方案。这些系统在功能、性能和技术方面都达到了很高的水平,能够为企业提供高效、灵活和智能的服务。同时,国外的研究还注重系统的集成性、智能化和个性化等方面的探索和发展。此外,国外还积极应对数据安全和隐私保护等问题,采取了一系列的措施来保障用户信息的安全和隐私。总体来说,国外的研究在办公用品销售与分销系统方面处于领先地位,为国内的研究提供了有益的借鉴和参考。
1.3 课题研究的主要内容
本系统在开发过程中选用Java作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。前端开发部分,我们使用了HTML、CSS、JavaScript以及流行的前端框架Vue.js,这使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统主要分为管理员和用户两个角色,主要功能包括系统首页,用户管理,分销商信息管理,客户信息管理,产品分类管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,系统管理,我的信息等进行解析。
第2章 系统开发技术介绍
2.1 Java技术
java是一种面向对象的面向对象编程语言,它不仅吸收了C++语言的优点,而且摒弃了C++不可理解的多继承和指针的概念,所以Java语言功能强大,使用方便。JavaScript作为一种动态网页制作技术,jQuery提供了丰富而强大的脚本语言库支持。二者结合使用可以有效提高开发效率和质量。Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程[1]。
Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使软件开发过程更加灵活,提高了软件质量,增强了软件可重用性。在当今网络技术迅速发展的情况下,Java已成为目前最流行的编程语言之一。Java是一种开源语言。Java可以编写桌面应用程序、Web应用程序、分布式系统、嵌入式系统应用程序等[2]。
2.2 MySQL数据库
MySQL是一个多用户、多线程的SQL数据库服务器。MySQL不仅仅能够有效地对数据库的数据进行增、删、改、查,还可以做其他更多的事情。MySQL是关系型数据库操作的基本操作语言,它可以保存实体之间的关系,即存储数据,比如用来存储用户、商品或订单,所以特别适合那些数据库和网站开发背景的工作[3]。
MySQL数据库特点:
(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell’s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。
(3)提供不同编程语言的接口,C、C++、Python和JAVA、Perl、JAVA、Ruby等编程语言。
(4)支持使用CPU资源的多线程。
(5)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。
(6)MySQL语言灵活。作为嵌入式语言能够嵌入到其他语言程序中,它的语法结构基本一致,提供了极大的灵活性和方便性。
(7)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。
2.3 Spring Boot框架
Spring Boot是由Pivotal团队提供的轻量级框架,其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中,极大地提高了软件开发项目的效率。相比于Spring框架而言,Spring Boot框架更加能够节省程序员配置XML的时间,Spring Boot项目允许开发者使用它的所有模块和开发功能,此外,Spring Boot内置了服务器,简化了开发者启用服务器的整体流程,Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求,这极大地方便了用户快速搭建应用程序的实现过程。2014年4月,Spring Boot 1.0.0发布,截止到2022年2月,发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中,为了能够快速搭建软件后台服务的开发环境,从技术实现的难度以及平台开发的成本两个方面考虑,Spring Boot框架能够使开发者更关注平台功能的业务逻辑代码实现,可采用Spring Boot框架搭建系统提供数据服务。因此,本案例项目后台开发选择Spring Boot框架[4]。
2.4 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[5]。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势[6]:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.5 J2EE架构
J2EE架构是一种利用Java 2平台来简化企业级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台,即Java 2的标准版。J2EE不仅巩固了标准版中的许多优点,例如“编写一次,到处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP (Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产;高效的开发;支持异构环境;可伸缩性;稳定的可用性。
2.6 VUE框架
Vue.js是一款轻量级的JavaScript框架,用于构建用户界面。它采用了组件化的开发方式,使得代码更加模块化、易于维护和复用。Vue.js还提供了响应式的数据绑定功能,使得数据的变化能够自动更新到视图上,大大提高了开发效率。此外,Vue.js还支持虚拟DOM技术,减少了对真实DOM的操作,提高了性能。在Vue.js中,开发者可以通过编写模板语法来描述视图的结构,然后通过JavaScript代码来处理业务逻辑。Vue.js提供了丰富的指令和过滤器,使得开发者可以更加灵活地操作DOM元素。Vue.js还提供了路由、状态管理等功能,使得开发者可以构建复杂的单页应用。护的用户界面。如果你是一名前端开发者,那么学习Vue.js将会对你的职业生涯产生积极的影响。
2.7 本章小结
本章对办公用品销售与分销系统相关技术进行了一个简单概括,阐述了JAVA技术的特性,也上我们对利用JAVA开发办公用品销售与分销系统有了更深的理解和利用所选的开发环境对系统进行设计与搭建、springboot框架以及MySQL数据库等。针对系统对各个技术框架进行选择,并确定了系统设计的最优方案。
第3章 系统分析
本章主要从经济、技术和操作上对系统进行分析,由于本系统的特殊性,我们只需重点对技术和操作可行性进行分析,可以从一下几个方面进行分析。
3.1 系统可行性分析
3.1.1 经济可行性分析
由于开发本系统主要是为了测试自身的专业和设计能力,基本不考虑经济效益和后来的发展方向,只注重自身水平和设计能力的提高,并且对自身经济的要求也不高,只要有一台普通电脑就可以了,所以不需要考虑经济问题。
3.1.2 技术可行性分析
系统主要采用JAVA技术进行设计,系统基于B/S架构模式,有针对性地解决了架C/S构安装麻烦不便维护等一系列问题。因为本系统是采用MySQL数据库和B/S结构进行设计的一个小型网站,所以应用程序和数据库更是缺一不可,要想使用该程序,必须保证功能完整,操作简单且直观易懂的特点。数据库的建立,对整体的完整和数据安全两方面必须得到保证。我们可以采用JAVA进行优化,加密函数,建立密库,这样可以有效的阻止在传输数据信息的过程中不易出现泄密状况,可以提高安全等级。在加密的同时我们可以开启JAVA安全模式,针对一些被执行命令和可以被使用的函数进行限制来提高系统的安全性。在早期,我已将JAVA的基本知识有了深度的理解,并对MySQL进行了解。对软件工程测试、UML等相关课程大概了解和学习过,通过掌握这些课程有了一定的系统开发、检验和辨别。采用JAVA以及MySQL结合起来开发该系统,必定是可行的并且是高效的。
3.1.3 操作可行性分析
系统的登录界面和业务逻辑简洁明了,采用一般的界面窗口来登录界面,整个系统更加人性化,用户操作更加简洁方便。本系统在操作和管理上比较容易,还具有很好的交互性等特点,在操作上是非常简单的。因此,本系统可以进行设计开发。通过电脑进行访问操作,用户一定能够很快就会对系统熟悉,稍微简单了解下本系统,就能很快上手。
3.2 系统现状分析
由于系统开发出来后使用的人数众多,对于这些用户在管理上会给系统带来繁重的工作量。最后通过前期的调研总结出对现有管理状况分析如下:
(1)缺少统筹规划
系统管理中对标准化、安全性、整体性等方面不够完善,不可避免要投入大量的时间精力和人力去规划好网站后续发展,要实现统一规划就必须引入信息规范化管理后才能实行,本系统充分考虑用户的体验感,突出重点慢慢推进。
(2)业务逻辑繁琐
随着互联网技术越来越成熟,办公用品销售与分销系统不断更新迭代,现在许多办公用品销售与分销系统的界面和业务逻辑都太追求复杂和技术,往往忽略了用户体验,一个好的系统不在于它的功能是否新颖,它的逻辑代码是否复杂,而是在于它是否有一个简洁的界面和简单的业务逻辑,让用户操作起来更简单。
(3)内容定位模糊
除了系统体验之外,好的内容才是各网民最在意的,现在许多办公用品销售与分销系统是面向所有群体的,既然是面向所有的网民,那么各个网民想表达的想法也是层出不穷的,所以就会造成系统的文章内容是各式各样、参差不齐的,系统就没有自己的特点,没有内容特点也就没有了优势,所以系统的内容必须要有精确的定位。
设计本系统时考虑到开放性和兼容性上的问题,要在将来具备扩充的可行性。做到信息更新及时,能够解决系统信息更新迭代,增强用户的体验感。
对于以上陈述,对建设的目标要从实际工作中出发,具体表现如下:
1、系统集信息管理与测评为一体,信息及时更新,功能更强大;
3、系统内容定位精确;
4、系统业务逻辑简单易操作,通过详细论证来确定系统总体的需求。
3.3 系统用例分析
在设计系统的过程中,用例图是系统设计过程中必不可少的模型,用例图可以更为细致的,结合系统中人员的有关分配,能够从细节上描绘出系统中有关功能所完成的具体事件,确切的反映出某个操作以及它们相互之间的内部联系。
其中参与者就是和系统能够发生交互的外在实体,一般可以指系统的某个用户。一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。系统用例图如下所示:
(1)管理员可以对系统首页,用户管理,分销商信息管理,客户信息管理,产品分类管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,系统管理,我的信息等进行操作管理。其用例分析如图3-1所示。
图3-1管理员用例图
(2)用户可以对系统首页,分销商信息管理,客户信息管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,我的信息等进行操作管理。用户用例分析如图3-2所示。
图3-2用户用例图
3.4 系统流程分析
流程图就是用它已经特定的图形符号以及相应的线条,用来展现出系统在执行中的整个的过程。由于这种图形能够很方便的描绘系统的一系列流程,所以它的所有的图形符号是比较关键的,基本都是一个图形符号就能表示某个过程的一个单独的步骤。流程图不只是提供出比较完整、全面的执行过程,而且在整个团队的协作设计过程中,还可以发现其中有可能存在的缺陷以及不足,便于在后续的过程中能够及时的纠正和完善系统。
通过流程图可以对系统的需求和相关过程进行分析,能够详细的细分到每个部分的设计。对于设计者来说在开发过程中能够使用流程图作为基础,可以快速提高自身的逻辑思想,并且还能在后续的操作中能够有章可循,在系统的设计中最重要的就是程序的设计,然后才是程序的具体编写,流程图便是在设计过程中重要的工具,以下就是部分流程图设计。
登录模块有许多规则,这些规则是用来限制用户权限的,没有登录账号的用户除了浏览文章之外不可以对网站进行操作,用户进入系统前要进行登录,登录成功后方可对相关权限的操作。登录流程如图3-3所示。
图3-3系统登录流程图
用户可以添加信息,内容没有问题之后按下确定键就添加成功了。添加信息的流程图如图3-4所示:
图3-4添加信息流程图
用户可以选择把自己发布的信息删掉,选择要删除的文章确认之后,删除信息的操作就完成了。删除信息流程图如图3-5所示:
图3-5删除信息流程图
3.5 本章小结
本章主要是对系统进行分析,主要介绍了可行性分析、用例分析和流程分析等。
第4章 系统设计
4.1 系统功能结构设计图
本次系统所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。系统的功能结构图如图4-1所示。
图4-1 系统功能结构图
4.2 架构设计
(1)可行性。系统的开发一定是在架构的设计基础上。
(2)可靠性。对企事业单位的管理来讲,系统的可靠性非常重要,所以对系统架构设计上就必须具备相当高的可靠性。
(3)安全行。由于大量的数据都是存储在数据库中,这些数据价值高,所以对系统数据库的安全性要特别重视。
(4)可扩展性。在原有的技术上增加一些功能,这样能够逐渐完善网站。
(5)可维护性。在可维护性方面体现在:一是跟踪现有的错误,二是导入新功能需求到系统上,以便减少运营成本。
(6)可升级性。系统能够进行更新迭代,使用户有更好的上网体验。
下面我们将根据架构设计原则和目标来建立系统的架构设计模型。将信息系统中对象分层,可分为三层:用户界面层、业务层、数据访问层(如下图4-2所示),再把各层中的一些公共部分提出来:权限管理、异常处理,这样得到包图如图4-3所示:
图4-2 系统体系架构图
图4-3 系统功能模块包图
4.3 系统架构类图
展开包图,得到类图,它是静态结构图的架构,使各个种类之间的关系,表达了静态联系。系统类图如下图4-4所示。
4.4 数据库设计
4.4.1 数据库E-R图
当前用户量最多的数据库是关系型数据库,属于面向对象系统设计。主要考虑的是怎样去对类映射到关系数据库的二维表上。目前可以采用数据库建模来实现。将“物流信息、用户、产品信息、分销商信息、客户信息、关于我们”等作为实体,它们的局部E-R图,如图4-5所示:
图4-5局部E-R图
4.4.2 数据库表
本系统采用MySQL管理数据,系统使用的数据表具体展示部分如下所示。
表4-1:产品入库
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chanpinmingcheng | varchar | 200 | 产品名称 | ||
chanpinfenlei | varchar | 200 | 产品分类 | ||
chanpintupian | longtext | 4294967295 | 产品图片 | ||
chanpinshuliang | int | 入库数量 | |||
rukujiage | int | 入库价格 | |||
chanpinpinpai | varchar | 200 | 产品品牌 | ||
chanpinguige | varchar | 200 | 产品规格 | ||
chanpinchangjia | varchar | 200 | 产品厂家 | ||
rukushijian | datetime | 入库时间 | |||
rukubeizhu | longtext | 4294967295 | 入库备注 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表4-2:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
mima | varchar | 200 | 密码 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-3:产品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chanpinfenlei | varchar | 200 | 产品分类 |
表4-4:销售订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
chanpinmingcheng | varchar | 200 | 产品名称 | ||
chanpinfenlei | varchar | 200 | 产品分类 | ||
chanpintupian | longtext | 4294967295 | 产品图片 | ||
chanpinshuliang | int | 销售数量 | |||
chanpinjiage | int | 产品价格 | |||
xiaoshouzonge | double | 销售总额 | |||
chanpinguige | varchar | 200 | 产品规格 | ||
xiaoshoushijian | datetime | 销售时间 | |||
kehumingcheng | varchar | 200 | 客户名称 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xiaoshoubeizhu | longtext | 4294967295 | 销售备注 |
表4-5:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-6:物流信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wuliudanhao | varchar | 200 | 物流单号 | ||
chanpinmingcheng | varchar | 200 | 产品名称 | ||
chanpinfenlei | varchar | 200 | 产品分类 | ||
chanpintupian | longtext | 4294967295 | 产品图片 | ||
chanpinshuliang | int | 发货数量 | |||
chanpinguige | varchar | 200 | 产品规格 | ||
fahuoshijian | datetime | 发货时间 | |||
kehumingcheng | varchar | 200 | 客户名称 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
wuliuxinxi | longtext | 4294967295 | 物流信息 |
表4-7:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-8: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-9:客户信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kehubianhao | varchar | 200 | 客户编号 | ||
kehumingcheng | varchar | 200 | 客户名称 | ||
kehutupian | longtext | 4294967295 | 客户图片 | ||
kehudizhi | longtext | 4294967295 | 客户地址 | ||
fuzeren | varchar | 200 | 负责人 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
dengjishijian | datetime | 登记时间 | |||
kehuxiangqing | longtext | 4294967295 | 客户详情 |
表4-10:分销商信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
fenxiaoshangbianhao | varchar | 200 | 分销商编号 | ||
fenxiaoshangmingcheng | varchar | 200 | 分销商名称 | ||
fenxiaoshangtupian | longtext | 4294967295 | 分销商图片 | ||
fenxiaoshangdizhi | longtext | 4294967295 | 分销商地址 | ||
fuzeren | varchar | 200 | 负责人 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
dengjishijian | datetime | 登记时间 | |||
fenxiaoshangxiangqing | longtext | 4294967295 | 分销商详情 |
表4-11:分销订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
fenxiaodanhao | varchar | 200 | 分销单号 | ||
chanpinmingcheng | varchar | 200 | 产品名称 | ||
chanpinfenlei | varchar | 200 | 产品分类 | ||
chanpintupian | longtext | 4294967295 | 产品图片 | ||
chanpinshuliang | int | 分销数量 | |||
chanpinjiage | int | 产品价格 | |||
xiaoshouzonge | double | 销售总额 | |||
chanpinguige | varchar | 200 | 产品规格 | ||
fenxiaoshijian | datetime | 分销时间 | |||
fenxiaoshangmingcheng | varchar | 200 | 分销商名称 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
fenxiaobeizhu | longtext | 4294967295 | 分销备注 |
表4-12:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-13:产品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
chanpinmingcheng | varchar | 200 | 产品名称 | ||
chanpinfenlei | varchar | 200 | 产品分类 | ||
chanpintupian | longtext | 4294967295 | 产品图片 | ||
chanpinshuliang | int | 库存数量 | |||
chanpinjiage | int | 产品价格 | |||
chanpinpinpai | varchar | 200 | 产品品牌 | ||
chanpinguige | varchar | 200 | 产品规格 | ||
chanpinchangjia | varchar | 200 | 产品厂家 | ||
jilushijian | datetime | 记录时间 | |||
chanpinjieshao | longtext | 4294967295 | 产品介绍 |
第5章 系统实现
5.1 系统登录注册功能实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。系统登录界面图5-1所示:
图5-1系统登录界面
在注册流程中,用户在Vue前端填写必要信息(如用户账号、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:
图5-2系统注册页面
5.2 后台功能模块实现
5.2.1 管理员功能实现
管理员进入主页面,主要功能包括对系统首页,用户管理,分销商信息管理,客户信息管理,产品分类管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,系统管理,我的信息等进行操作。管理员主页面如图5-3所示:
图5-3管理员主界面
用户功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图5-4所示:
图5-4用户管理界面
客户信息功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写客户信息表单。这些客户信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除客户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客户信息功能可以看到最新的信息或相应的操作反馈。如图5-5所示:
图5-5客户信息管理界面
销售订单功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写销售订单表单。这些销售订单表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除销售订单信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便销售订单功能可以看到最新的信息或相应的操作反馈。如图5-6所示:
图5-6销售订单管理界面
物流信息功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写物流信息表单。这些物流信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除物流信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便物流信息功能可以看到最新的信息或相应的操作反馈。如图5-7所示:
图5-7物流信息管理界面
5.2.2 用户功能实现
用户进入主页面,主要功能包括对系统首页,分销商信息管理,客户信息管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,我的信息等进行操作。用户主页面如图5-8所示:
图5-8用户主界面
客户信息功能在视图层(view层)进行交互,比如点击“查询”按钮或填写客户信息表单。这些客户信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看客户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客户信息功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9客户信息管理界面
销售订单功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写销售订单表单。这些销售订单表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、物流、修改或删除销售订单信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便销售订单功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10销售订单管理界面
物流信息功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写物流信息表单。这些物流信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除物流信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便物流信息功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11物流信息管理界面
第6章 系统测试
对系统的测试贯穿了整个系统开发的过程,在系统开发中起着重要的作用。系统测试必须贯穿系统软件的整个生命周期,尽快介入测试,能更快地发现错误,减少错误修复的时间成本。
6.1 对功能的测试
想要进行功能测试要熟悉业务需求,对功能的测试内容如下表所示:
6.2 用例测试
用例测试内容包括:可操作性、可理解性、可学习性等方面。用例尽量覆盖已有需求或者潜在需求,尽量对系统测试全面。执行用例时要严格按照用例进行测试。具体测试方面如表6-2所示。
表6-2 系统用例测试
编号 | 用例名 | 操作方法 | 预算结果 | 检测结果 |
1 | 用户登陆 | 填写用户名和密码 | 正确输入用户名和密码后跳转到系统主界面;用户名或密码不正确将跳出提示对话框 | 预期结果达成 |
2 | 用户添加 | 输入用户,点击“添加”按钮 | 正确存储用户 | 预期结果达成 |
3 | 查询用户 | 查看列表,按条件筛选合适的信息进行详查 | 用户显示正确 | 预期结果达成 |
6.3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.4 测试结果分析
通过对以上测试结果的分析,该系统符合办公用品销售与分销运营的需求。实现了所有的基本功能点,操作简单,操作过程是满足业务需求的推广软件,产品运行性能良好,大众化。
6.5 本章小结
本章主要阐述对本系统的具体测试工作,侧重功能和性能这两个方面对系统进行测试,严格遵守现代软件开发流程,使得对软件的测试能够贯穿到整个软件的开发周期,尽早的介入测试也能够尽快的发现系统的错误,能够降低系统修复的成本。
结 论
系统的开发通过简单明了的方式实现办公用品销售与分销系统,主要论述怎样利用JAVA技术来开发出对界面简洁、性能优化、可扩展性强和安全可靠操作简单的办公用品销售与分销系统运营。系统主要分为管理员和用户两部分,主要包括系统首页,用户管理,分销商信息管理,客户信息管理,产品分类管理,产品信息管理,销售订单管理,分销订单管理,产品入库管理,物流信息管理,系统管理,我的信息等功能进行管理。然后根据这些功能对系统进行分析设计,对所用到java、springboot、MySQL和B/S结构等相关技术进行介绍,接着进行需求分析的描述。接着是概要设计和详细设计。描述系统功能实现的方案及过程,以及如何实现系统的测试工作和后期系统的维护。
该设计实现了办公用品销售与分销系统,根据整体的设计实现了办公用品销售与分销系统的基本功能。由于时间有限和我学到的东西有限,系统仍需要在很多地方进行改进,而且还有很多我还没有接触过的功能。我将在接下来的时间里逐步却说加强并完善。
参考文献
[1]黄丽萍.基于 Java 的 Web 软件程序框架分层设计探讨[J]. 信息记录材料,2022,23(07):74-76.
[2] Lindholm T., Yellin F., Bracha G. Java虚拟机规范 (Java SE 8版)[M].爱飞翔, 周志明等.北京: 机械工业出版社, 2015: 57-61.
[3]周志明. 深入理解 Java 虚拟机: JVM 高级特性与最佳实践[M]. 北京: 机械工业出版社, 2020: 214-233.
[4]郭晶晶,刘学博.基于Java的参数设置管理系统的设计与应用[J].山西电子技术,2023,(04):54-56+60.
[5]王慧.“Java程序设计”混合式教学创新模式探究[J].数字通信世界,2023,(06):179-181.
[6]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术.2021,17(30).
[7]邱小群,邓丽艳,陈海潮.基于B/S的信息管理系统设计和实现[J].信息与电脑(理论版),2022,34(20):146-148.
[8]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[9] Wang J, Qian S, Shuai Ju L I, et al. Design and Development of Campus Part-time Information System Based on Web[J]. Journal of Jiaozuo University, 2020:6-8.
[10] Zhang P. Problems and Countermeasures of the College Students' Off-campus Part-time Jobs[J]. Journal of Kaifeng University, 2020:5-6.
[11] Kullberg A L. Nonstandard Employment Relations: Part-time, Temporary and Contract Work[J]. Annual Review of Sociology, 2020, 26:341-365.
致 谢
在这次毕设的开发过程中遇到重重困难,但幸运的是经过我的思考和不停地尝试解决问题,还有在导师的细心指导下我终于圆满地完成了此次毕业设计。在此,我深深地感谢我的导师,每次遇到难题时,我的导师总是会耐心给我解答,他每时每刻的督促使我不敢有丝毫的怠慢,在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力指导下我才能将课本上的知识与自己所设计的系统相结合,真正的做到学以致用。感谢您牺牲自己的休息时间为我们解惑,利用其丰富的教学和项目经验对我们的每一次提问进行耐心指导。认真考虑了系统每一步的实施,发现开发一款优秀的软件绝非一朝一夕之事,需要长期的积累和经验。通过这段时间的亲身经历,我感觉自己学到了:收集、整理资料、共同协作、分析及处理问题等许多方面的知识。然后,在老师的引导和学生的帮助下,让我对这个毕设进行了更深入的思考。并花费了大量的心思和精力来完成这个系统。在这段时间里,我学到了以前没有掌握过的东西。更重要的是,我了解开发人员在开发系统软件时所需要的方法、策略和步骤。如何思考一些问题,以及如何解决它们。最终我通过这个系统的设计学到不少的东西,也接触到很多以前没有接触过的知识。同时还得到了宿友们的支持和帮助,让我重新认识了建立友情的重要性,在将来能够帮助我的事业生涯中一帆风顺!
再次感谢鼓励我的老师和朋友,以及给予我帮助与鞭策的每一个人,我会带着大学收获的知识走向社会,报校祖国!