(附源码)基于Springboot的球鞋调货管理系统设计与实现 毕业设计160942

Springboot球鞋调货管理系统

摘 要

大部分的球鞋销售商和球鞋生产商他们的运营方式还停留在比较古老的时代。固然有一小部分球鞋销售商已经开始运用互联网作业,但是他们的球鞋销售管理系统并非很完美,许多鞋店的信息管理比较落后,劳动强度大并且效率低下,甚至有的鞋店还在使用着纸质介质进行信息的管理。另外一方面,球鞋文化的快速传播,促使越来越多的年轻人开始关注并且收藏球鞋,球鞋交易必然会掀起一波浪潮。所以与球鞋相关的管理系统也会随着Sneaker文化的传播越来越被需要,发展趋势不容小觑。作为Sneaker圈子中的一员,同时考虑到国内球鞋相关管理系统的不完善,本文研究开发一个球鞋调货管理系统,为国内球鞋的相关管理系统的发展尽一点微薄之力。

本系统主要是提供给用户一个买卖球鞋的平台,通过价格优势吸引众多消费者来购买,实现正常运营。本文主要是采用Java语言、Springboot框架、Mysql数据库作为开发平台,系统采用B/S结构进行开发。目标是实现一个以球鞋销售为中心的计算机系统,构建用户信息与账号,账号与订单信息有机结合的业务系统。

关键词:球鞋;Mysql数据库;Springboot框架

Springboot sneaker transfer management system

ABSTRACT

Most of the shoe sellers and shoe manufacturers still operate in an ancient era. Although a small number of shoe sellers have begun to use the Internet, their shoe sales management system is not perfect. Many shoe stores have backward information management, high labor intensity and low efficiency. Some shoe stores even use paper media for information management. On the other hand, the rapid spread of sneaker culture has prompted more and more young people to pay attention to and collect sneakers, and the sneaker trade is bound to set off a wave. Therefore, the management system related to sneakers will be more and more needed with the spread of sneaker culture, and the development trend can not be underestimated. As a member of sneaker circle and considering the imperfection of domestic sneaker related management system, I decided to develop a sneaker transfer management system to make a modest contribution to the development of domestic sneaker related management system.

This system is mainly to provide users with a platform for buying and selling sneakers, attract many consumers to buy through price advantage, and realize normal operation. This paper mainly uses Java language, springboot framework and MySQL database as the development platform, and the system is developed with B / S structure. The goal is to realize a computer system centered on shoe sales and build a business system with the organic combination of user information and account number, account number and order information.

Key words:Shoe sales; Mysql database; Springboot framework

目 录

摘 要 I

ABSTRACT II

第1章 绪论 1

1.1研究背景 1

1.2研究内容 1

1.3系统目标 1

1.4本文的结构 2

第2章 关键技术介绍 3

2.1开发环境介绍 3

2.2统一建模语言 3

2.3 开发技术 3

2.3.1J2EE技术 3

2.3.2MVC模式 3

2.3.3MySQL数据库 3

2.3.4 B/S结构 4

2.3.5Springboot框架 4

2.3.6 MyEclipse开发工具 4

第3章 系统分析 5

3.1可行性分析 5

3.1.1操作可行性 5

3.1.2技术可行性 5

3.1.3经济可行性 5

3.2功能需求分析 5

3.3用例分析 6

3.4数据流分析 7

3.5数据字典 9

第4章 系统设计 13

4.1结构设计 13

4.2功能设计 13

4.3数据库设计 16

4.3.1概念设计 16

4.3.2逻辑设计 19

4.3.3表设计 19

第5章 系统详细设计 23

5.1JavaEE连接数据库 23

5.2登录模块 23

5.3球鞋资讯模块 25

5.4沟通信息模块 27

5.5购买商品模块 27

5.6系统用户管理模块 28

5.7商品信息管理模块 31

5.8下单购买管理模块 31

第6章 系统测试 35

6.1测试目的 35

6.2测试用例 35

第7章 结论 38

参考文献 39

致 谢 40

    • 绪论

1.1研究背景

网络时代正在慢慢融入现代人的生活和工作,嗅觉敏锐的企业当然更是早已经“事先士卒”,中小企业必须和大的企业展开竞争,但是中小企业在制度管理以及销售管理等环节都比较薄弱。正所谓“牵一发而动全身”,一方面的不足足以毁掉一个企业的前程。所以,具备良好的、有效的调货销售管理也逐渐成为企业发展的命脉。

网络技术在不断发展,人们的文化生活也在不断的进步。不只是传统的文化在发展,一些新兴的带有文化气息的事物也被人们所接受和认可甚至是追捧。正在这时,一个新奇的字眼“Sneaker”开始逐渐被人们所了解。Sneaker的英文直译是胶底鞋的意思,也是我们通称的一次硫化布胶鞋。鞋文化最早是在美国兴起,在2000年左右传入了中国,受到了一大批青少年的追捧并且逐渐发展了起来。而对于这些喜欢鞋子并且热爱运动的人,他们统称自己为“Sneaker”。而NIKE公司为美国传奇篮球运动员乔丹所量身定做的“AIRJORDAN”系列球鞋更是把Sneaker文化推向了一个巅峰。Sneaker 文化的传播也带动了一定的经济效益,一些大型的球鞋交易网站开始被人们所关注。Sneaker 鞋文化的发扬与传播必定会带动鞋类企业的发展,所以完备的球鞋调货管理系统也会被越来越需求。

1.2研究内容

球鞋调货管理系统的开发及实现,所需要的工作内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,球鞋调货管理系统的开发使用Springboot框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。

(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对球鞋调货管理系统的设计主要划分别为管理员和用户角色(买家、卖家),并所使用的功能模块也相应不同,但是系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行课程信息,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。

(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。

1.3系统目标

对于典型的数据库系统,尤其是对于像球鞋调货管理系统这样的数据流量特别大的网络系统,必须要满足使用方便、操作灵活等要求。本系统在设计时应该满足以下几个目标

(1)采用人机对话的操作方式,界面美观、友好,信息查询灵活、方便,数据存储准确、安全可靠;

(2)全面展示所有球鞋商品,并可展示主要球鞋商品;

(3)便于顾客快捷地进行球鞋类型信息查询;

(4)用户可以随时修改自己的基本资料;

(5)顾客可以随时查看自己的订单信息;

(6)对客户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误;

(7)系统最大限度地实现了易维护性和易操作性;

(8)系统运行稳定、安全可靠。

1.4本文的结构

本文具体内容包括:绪论、系统采用的关键技术、系统分析、系统设计、系统实现和系统测试。本文着重描述了系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。本系统在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性。

    • 关键技术介绍

2.1开发环境介绍

1.软件体系结构方案:采用B/S模式,B/S代表的是服务器端由web服务器发放,客户端由浏览器接收的系统,它的前台是html语言,由浏览器解释。B/S结构可以由web服务器能够解释的脚本语言如jsp、php、asp、JavaScript。

2.操作系统方案:Windows 7(旗舰版)操作系统,该系统可以兼容需要的软件,并且具有良好的运行速度,界面良好。

3.后台数据库:选用Mysql。Mysql旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。

4.开发工具:选用Myeclipse10

5.开发语言:Java语言。

6.开发技术:JavaEE+html+css+js技术

2.2统一建模语言

统一建模语言(Unified Modeling Language ,UML)是一种可视化建模语言,通俗上讲就是系统开发者利用UML可以清楚地表达出自己对系统是如何设计,是一种设计思想的体现,然而UML就是作为辅助工具,就如汽车轴承的轮滑油。UML包括了一些可以相互组合图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法规。UML提供了多种图来设计设计系统,如设计系统前期常用的用例图,行为图等,这些图需要用多个视图来展示一个系统,这组视图被称为一个模型(Model)。一个UML模型描述了一个系统需要做什么。同时,UML提供了组织和扩展这些图的方法。

2.3 开发技术

2.3.1J2EE技术

人可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE,用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便[1][2]。

2.3.2MVC模式

MVC模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。

视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVC 模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理[3]。

模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVC 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架[4]。

控制器(Controller)可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户[5][6]。

2.3.3MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的物流信息管理系统也需要这项技术的支持[7]。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象[8]。

2.3.4B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题[9]。

2.3.5Springboot框架

Springboot即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求[10] [11]。

2.3.6MyEclipse开发工具

MyEclipse是由Genuitec公司开发的,一款功能非常强大的JavaEE的集成开发环境,其中包括有:完备的编码、调试、测试和发布功能[10],完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技术。在体系结构上,MyEclipse的特征可以被分为7类:JavaEE模型;Web开发工具、EJB开发工具、JavaEE项目部署服务、应用程序服务器的而连接器、数据库服务、MyEclipse整合帮助[11]。

对于以上每一种功能的类别,在MyEclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse在结构上的这种模块化,可以让它在不影响其他模块的情况下,对其中任意的一个模块进行单独的扩展和升级。强大的MyEclipse应用开发平台也不仅仅只是Eclipse的插件而已,同时更是一款功能强大的,用于JavaEE的集成开发环境[12]。

    • 系统分析

3.1可行性分析

本系统操作简单,易理解。球鞋调货管理系统与大部分电子商务系统的操作流程类似,避免了用户学习使用系统的时间和负担。

3.1.1操作可行性

本系统使用的是现流行的开发语言,即Java技术。同时所有的信息都是以网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用本系统,系统管理员只需要懂得文件上传,处理文本即可操作管理后台。系统布局较简单,功能操作不复杂,完全符合现代市场需求。因此本系统具有操作可行性。

3.1.2技术可行性

本系统在Windows7开发环境下,利用Myeclipse10开发工具,并使用Mysql作为数据库管理系统来实现系统的各种功能。Mysql属于主从式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为用户端应用程序提供一致的接口。可以提高系统的性能,降低它的局限性。

3.1.3经济可行性

本系统是一个在线的球鞋调货管理系统,顾客可以直接在系统上购买商品,同时计算机的价格十分低廉,性能却有了长足的进步。而此系统的开发可以有效的提高工作效率,降低管理成本,节省管理费用,为企业的工作效率带来了一个质的飞跃。因此,本系统在经济上是完全具有可行性的。

3.2功能需求分析

根据条件需要,系统结构主要由三大用户组成。一是用户,二是卖家用户,三是管理员。

1用户登录及身份要求

验证买家、管理员等卖家用户的信息

2本系统销售功能需求(面向买家用户)

允许用户可以在线对进行沟通。

允许用户评论商品。

允许用户查询商品的信息。

自动生成订单。

用户在线支付订单。

选择商品,进行购买,填写发货地址、联系电话等信息。

3本系统管理功能需求(面向管理员用户)

对用户的订单的管理(删除,修改,查询)。

对商品信息的管理(删除,修改,查询)。

对球鞋资讯的管理(删除,修改,查询)。

对沟通信息的管理。

3.3用例分析

1.管理员主要负责系统管理、商品管理、下单购买管理、用户信息管理、沟通信息管理,下图所示描述管理员的用例。

图3-1管理员用例图

2.用户主要有商品信息搜索、下单购买、球鞋资讯浏览等,下图所示为用户用例图。

图3-2用户用例图

3.4数据流分析

数据流图的设计主要是由于系统目前功能还没有确定,可以先描述可能要使用到的功能内容,并且向用户了解“系统从外界接受什么数据”和“系统向外界送出什么数据”等信息,根据用户所给的答复进行设计数据流图。

如下为系统的0层数据流图,系统用户分为管理员和普通用户。

图3-4系统数据流图(0层)

如下图所示为系统1层数据流图。

图3-5系统数据流图(1层)

球鞋调货管理系统第二层数据流图主要详细反应各功能模块对应的操作与数据进行交互的原理。并且更详细的显示出各角色对功能模块操作的数据流向,让开发人员能了解该系统的开发方向,能够更准确的开发出系统模型。

将商品信息维护进行细化得到商品信息管理二层数据流程图,如下图所示。

图3-6商品管理数据流图(2层)

将订单信息管理进行细化得到订单信息管理二层数据流程图,如下图所示。

图3-7订单管理数据流图(2层)

3.5数据字典

1.数据存储描述

下表描述了用户信息的数据流、数据来源、数据去向和数据流组成的词条。

表3-1用户信息描述

数据流

用户信息

数据流来源

Mysql数据库中用户信息表,用户详细信息表

数据去向

系统界面,用户信息管理界面

数据流组成

用户名、用户密码、添加时间、编号

下表描述了下单购买信息的数据流、数据来源、数据去向和数据流组成的词条。

表3-2下单购买信息描述

数据流

下单购买信息

数据流来源

Mysql数据库中下单购买表,下单购买详细信息表

数据去向

下单购买界面

数据流组成

下单购买、用户、商品、数量

下表描述了沟通信息的数据流、数据来源、数据去向和数据流组成的词条。

表3-3沟通信息描述

数据流

沟通信息

数据流来源

Mysql数据库中沟通表,沟通详情表

数据去向

用户沟通界面,沟通信息管理界面

数据流组成

用户、沟通、商品、沟通信息

下表描述了商品分类的数据流、数据来源、数据去向和数据流组成的词条。

表3-4商品分类信息描述

数据流

商品分类信息

数据流来源

Mysql数据库中商品分类表、商品详情表

数据去向

商品详情界面、购买订单界面、商品分类管理界面

数据流组成

商品分类名

下表描述了商品管理的数据流、数据来源、数据去向和数据流组成的词条。

表3-5商品信息描述

数据流

商品信息

数据流来源

Mysql数据库中商品表、商品类别表

数据去向

商品查询界面、商品详情界面、购买订单界面、商品管理界面

数据流组成

商品名、商品价格、库存数量、商品类别

2.数据处理描述

下表描述用户通过输入用户名和密码进行身份验证处理,验证成功后将返回的信息显示在界面上。

表3-6用户身份验证

处理逻辑名称

用户身份验证

简述

检查输入信息的合法性

输入的数据流

用户名+密码

处理过程

根据输入的用户名和密码,检索用户,显示查询信息

输出的数据流

用户信息、商品信息

下表描述用户成功登录系统后通过商品名查询商品信息,根据查询后返回的数据显示在界面上。

表3-7商品信息查询

处理逻辑名称

商品信息查询

简述

检查输入信息的合法性

输入的数据流

商品名或商品编号或商品类别

处理过程

登录成功的用户,通过商品名查询用户所需的商品,还可查询用户的订单及评论。

输出的数据流

用户订单信息,购买订单信息

下表描述管理员用户成功登录系统后可以对球鞋资讯进行管理。

表3-8球鞋资讯

处理逻辑名称

球鞋资讯

简述

检查输入信息的合法性

输入的数据流

球鞋资讯

处理过程

登录成功的管理员用户,往数据库添加一条球鞋资讯数据。

输出的数据流

球鞋资讯,资讯分类

下表描述管理员用户成功登录系统后,购买商品,填写订单收货人、收货地址、联系电话等,生成购买订单后,重新查询订单表,返回的订单数据显示在界面上。

表3-9订单生成

处理逻辑名称

订单生成

简述

检查输入信息的合法性

输入的数据流

订单信息

处理过程

登录成功的用户,往数据库添加一条订单信息数据。

输出的数据流

订单信息

    • 系统设计

4.1结构设计

本系统的设计是基于Java技术+Mysql数据库+Tomcat服务器的方式设计,以Myeclipse10为开发工具,并运用Photoshop CS6技术美化网页,辅之以CSS技术。本系统使用的角色主要有系统管理员和普通用户,系统分为前台和后台,前台主要用于商品的展示和购买,后台用于商品信息和订单信息的管理,首先以普通用户通过账号注册后登录系统前台,可以进行各种商品的信息浏览和搜索,用户可以将需要的商品进行下单购买,用户可以查询订单是否已经被管理员确认,订单生成后表示用户购买成功,前台系统除了可以进行商品的下单还可以对球鞋资讯进行浏览,进行问题沟通,用户同时可以修改个人的信息资料,查看订单信息;以管理员的身份登录系统后台可以进行商品维护、订单维护、沟通信息管理等。

系统功能结构图如下所示。

图4-1系统功能结构图

4.2功能设计

1.用户登录模块:确保用户注册信息的真实度是提高系统效率和盈利的重要因素。真实的用户才能带来价值,注册是保证真实用户使用系统主要业务的第一步,通过对用户注册信息的审核,可防止机器注册。使用现如今较为流行的管理员进行账号激活的验证方式,对用户注册信息进行过滤,未激活用户信息将不能使用系统主要功能。

如下图所示为用户登录流程图。

图4-2用户登录流程图

2.商品浏览模块:没有登录的用户和登录的用户都可以在系统前台进行商品浏览,用户可以查看商品的详细信息和选择相应的商品类别进行该类别下的商品查看,用户还可以通过商品名称的关键字进行搜索。

如下图所示为商品浏览流程图。

图4-3商品浏览流程图

3.商品管理模块

系统管理员可以对商品信息进行增、删、改、查的操作。

4.用户管理模块

系统管理员可以对用户信息进行增、删、改、查的操作。

5.下单购买模块

用户对买家添加至购买订单里面的商品进行增删改查等操作。

6.沟通信息管理模块

系统管理员可以对用户的沟通信息进行审核回复操作。

4.3数据库设计

4.3.1概念设计

本系统的E-R图表现了系统中各个实体之间的联系,经过分析,系统的实体有商品、球鞋资讯、沟通信息、订单、用户等。

商品信息的实体图如下图所示。

图4-6商品信息实体图

商品类别实体图如下图所示。

图4-7商品类别信息实体图

用户信息实体图如下图所示。

图4-8用户信息实体图

下单购买的实体图如下图所示。

图4-9下单购买实体图

系统总体的实体图如下图所示。

图4-10系统E-R图

4.3.2逻辑设计

Allusers表是系统用户的信息表,存储系统用户真实姓名、性别、年龄、电话、地址、备注、编号、姓名、用户密码以及其相对应的密码等相关信息。

Dingdan表是订单信息表,存储用户的订单的相关信息,其中包括编号、订单号、金额、订单内容、卖家信息、买家信息、是否审核等相关信息。

yonghuzhuce表是用户注册信息表,存储用户的注册信息,其中包括编号、用户名、密码、姓名、性别、出生年月、QQ、邮箱、电话、身份证、头像、地址、备至、折扣等相关信息。

shangpinxinxi表是商品信息表,存储商品内容的信息,其中包括编号、商品编号、商品名称、类别、价格、发布人、图片、添加时间等相关信息。

4.3.3表设计

数据库表设计:经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展,设计如下几张表。

名称

类型

长度

不是null

主键

注释

user_id

int

11

用户ID

user_name

varchar

64

用户名

gender

varchar

64

性别

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

seller_customers_id

int

11

卖家用户ID

seller_account

varchar

64

卖家账号

full_name

varchar

64

姓名

gender

varchar

64

性别

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

product_information_id

int

11

商品信息ID

seller_account

int

11

卖家账号

commodity_number

varchar

64

商品编号

trade_name

varchar

64

商品名称

commodity_brand

varchar

64

商品品牌

commodity_price

varchar

64

商品价格

commodity_quality

varchar

64

商品成色

commodity_code_number

varchar

64

商品码数

product_picture

varchar

255

商品图片

名称

类型

长度

不是null

主键

注释

order_purchase_id

int

11

下单购买ID

buyers

int

11

买家

seller_account

int

11

卖家账号

commodity_number

varchar

64

商品编号

trade_name

varchar

64

商品名称

commodity_brand

varchar

64

商品品牌

commodity_price

varchar

64

商品价格

commodity_code_number

varchar

64

商品码数

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

communication_information_id

int

11

沟通信息ID

buyers

int

11

买家

seller_account

int

11

卖家账号

commodity_number

varchar

64

商品编号

trade_name

varchar

64

商品名称

commodity_brand

varchar

64

商品品牌

commodity_price

varchar

64

商品价格

commodity_code_number

varchar

64

商品码数

buyer_information

text

0

买家信息

seller_information

text

0

卖家信息

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

collect_id

int

10

收藏ID:

user_id

int

10

收藏人ID:

source_table

varchar

255

来源表:

source_field

varchar

255

来源字段:

source_id

int

10

来源ID:

title

varchar

255

标题:

img

varchar

255

封面:

create_time

timestamp

0

创建时间:

update_time

timestamp

0

更新时间:

    • 系统详细设计

5.1登录模块

本系统主要的用户有系统管理员、用户,一个系统最基本的功能就是登录功能,本系统可以进行系统登录的角色有用户、管理员,用户对应前台登录界面,管理员对应后台登录界面,首先进入登录页,输入用户名和密码,然后提交至服务端进行数据库数据验证,通过JavaEE逻辑代码判断数据库是否存在用户输入的这一个记录,如果存在,则判断用户身份,如果是用户,则进入用户前台,如果是管理员用户,则进入系统主页,并把用户对象存放在session中,如果不存在这样一条记录,则返回登录界面。

登录界面如下所示。

图5-1前台登录界面

图5-3用户注册界面

登录关键代码如下:

/**

* 注册

* @param user

* @return

*/

@PostMapping("register")

public Map<String, Object> signUp(@RequestBody User user) {

// 查询用户

Map<String, String> query = new HashMap<>();

query.put("username",user.getUsername());

List list = service.select(query, new HashMap<>()).getResultList();

if (list.size()>0){

return error(30000, "用户已存在");

}

user.setUserId(null);

user.setPassword(service.encryption(user.getPassword()));

service.save(user);

return success(1);

}

/**

* 用户ID:[0,8388607]用户获取其他与用户相关的数据

*/

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = "user_id")

private Integer userId;

/**

* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

*/

@Basic

@Column(name = "state")

private Integer state;

/**

* 所在用户组:[0,32767]决定用户身份和权限

*/

@Basic

@Column(name = "user_group")

private String userGroup;

/**

* 上次登录时间:

*/

@Basic

@Column(name = "login_time")

private Timestamp loginTime;

/**

* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

*/

@Basic

@Column(name = "phone")

private String phone;

/**

* 手机认证:[0,1](0未认证|1审核中|2已认证)

*/

@Basic

@Column(name = "phone_state")

private Integer phoneState;

/**

* 用户名:[0,16]用户登录时所用的账户名称

*/

@Basic

@Column(name = "username")

private String username;

/**

* 昵称:[0,16]

*/

@Basic

@Column(name = "nickname")

private String nickname;

/**

* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

*/

@Basic

@Column(name = "password")

private String password;

/**

* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

*/

@Basic

@Column(name = "email")

private String email;

/**

* 邮箱认证:[0,1](0未认证|1审核中|2已认证)

*/

@Basic

@Column(name = "email_state")

private Integer emailState;

/**

* 头像地址:[0,255]

*/

@Basic

@Column(name = "avatar")

private String avatar;

/**

* 创建时间:

*/

@Basic

@Column(name = "create_time")

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

private Timestamp createTime;

@Basic

@Transient

private String code;

}

5.3球鞋资讯模块

系统为用户提供球鞋资讯推荐,方便用户浏览资讯信息。在qiuxiezixunlist.jsp实现球鞋资讯列表的展示,用户点击浏览,通过推荐id传递值,找到数据表的该球鞋资讯信息。

如下图所示为球鞋资讯界面。

图5-4球鞋资讯界面

球鞋资讯关键代码如下:

@Transactional

public Map<String, Object> addMap(Map<String,Object> map){

service.insert(map);

return success(1);

}

public Map<String,Object> readBody(BufferedReader reader){

BufferedReader br = null;

StringBuilder sb = new StringBuilder("");

try{

br = reader;

String str;

while ((str = br.readLine()) != null){

sb.append(str);

}

br.close();

String json = sb.toString();

return JSONObject.parseObject(json, Map.class);

}catch (IOException e){

e.printStackTrace();

}finally{

if (null != br){

try{

br.close();

}catch (IOException e){

e.printStackTrace();

}

}

}

return null;

}

public void insert(Map<String,Object> body){

StringBuffer sql = new StringBuffer("INSERT INTO ");

sql.append("`").append(table).append("`").append(" (");

for (Map.Entry<String,Object> entry:body.entrySet()){

sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

}

sql.deleteCharAt(sql.length()-1);

sql.append(") VALUES (");

for (Map.Entry<String,Object> entry:body.entrySet()){

Object value = entry.getValue();

if (value instanceof String){

sql.append("'").append(entry.getValue()).append("'").append(",");

}else {

sql.append(entry.getValue()).append(",");

}

}

sql.deleteCharAt(sql.length() - 1);

sql.append(")");

log.info("[{}] - 插入操作:{}",table,sql);

Query query = runCountSql(sql.toString());

query.executeUpdate();

}

5.4沟通信息模块

用户点击沟通信息页面,在goutongxinxiadd.jsp实现问题的发布,添加问题后,存入数据库的沟通表。管理员管理用户的沟通信息。

如下图所示为投诉的部分界面。

图5-5沟通信息界面

沟通信息关键代码如下:

@RequestMapping("/get_list")

public Map<String, Object> getList(HttpServletRequest request) {

Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

return success(map);

}

5.5购买商品模块

用户在浏览商品后,登录系统前台,进行商品购买,将商品添加至购买车,在个人后台可以查看购买车里面的商品,确定商品之后可以生成订单,然后支付。

如下图所示为购买商品的部分界面。

图5-6购买商品界面

5.6系统用户管理模块

过去传统的手工登记管理系统人员信息很不方便,也很容易造成数据出错,所以本系统需要一个可以管理登记人员信息的功能,管理员登入系统,可以添加新的管理员用户,删除现有的管理员,也可以对自己的密码和管理员用户的密码进行修改。修改密码是经过跟数据库的原来的密码字段的数据进行判断,如果输入两次的新密码一致,则更新密码这属性对应的一条数据。

如下图所示为买家用户管理的部分界面。

图5-7买家用户管理界面

如下图所示为卖家用户管理的部分界面。

图5-8卖家用户管理界面

用户管理关键代码如下:

@RequestMapping("/get_obj")

public Map<String, Object> obj(HttpServletRequest request) {

List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

if (resultList.size() > 0) {

JSONObject jsonObject = new JSONObject();

jsonObject.put("obj",resultList.get(0));

return success(jsonObject);

} else {

return success(null);

}

}

5.7商品信息管理模块

用户在系统前台浏览商品信息,管理员登录系统后,可以对添加、删除、修改商品信息信息,系统前台的商品信息随系统后台变化而变化的。

商品信息管理的界面如下图所示。

图5-9商品信息管理界面

商品信息管理关键代码如下:

public Map<String, Object> error(Integer code, String message) {

Map<String, Object> map = new HashMap<>();

map.put("error", new HashMap<String, Object>(4) {{

put("code", code);

put("message", message);

}});

return map;

}

5.8下单购买管理模块

管理人员可以对系统用户的下单购买信息进行管理的操作。

如下图为下单购买管理界面。

图5-11下单购买管理界面

下单购买管理关键代码如下:

public class FindConfig {

public static String PAGE = "page";

public static String SIZE = "size";

public static String LIKE = "like";

public static String ORDER_BY = "orderby";

public static String FIELD = "field";

public static String GROUP_BY = "groupby";

public static String MIN_ = "_min";

public static String MAX_ = "_max";

}

    • 系统测试

6.1测试目的

该系统能够完成球鞋资讯发布,商品信息浏览、下单购买管理,沟通信息管理,用户管理等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制,符合系统可维护性,由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,系统可以对系统数据及一些简单的功能进行独立的维护及调整;符合系统开放性要求,该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。

6.2测试用例

1.注册测试

表6-1注册测试用例

字段名称

描述

测试项

首页注册功能测试

输入数据

1、输入正确的邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮

2、输入错误的用户名或密码、邮箱、验证码等,单击“注册”按钮

3、不输入邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮

预计输出数据

1、用户能正确注册账号,成功插入数据库用户的账户资料,提示注册成功。

2、无法注册用户信息,注册失败。

3、无法注册用户信息,注册失败。

使用上述测试用例对前台首页注册界面进行测试,当在输入正确的邮箱、用户名、密码、确认密码、以及验证码之后,系统将弹出注册成功信息提示对话框。

使用上述测试用例对前台首页注册界面进行测试,当在输入错误的用户名或密码、邮箱、验证码之后,系统将提示错误。

使用上述测试用例对前台首页注册界面进行测试,当在不输入用户名、密码、邮箱、验证码之后,点击注册按钮。

2.登录界面进行测试

表6-2登录测试用例

测试项

首页登录功能测试

输入数据

1、输入正确的用户名和密码,单击“登录”按钮

2、输入错误的用户名和密码,单击“登录”按钮

3、不输入用户名和密码,单击“登录”按钮

预计输出数据

1、数据库中存在的用户能正确登录,。结果弹出主界面。

2、错误的或者无效用户登录,登录系统失败。

3、输入用户名或密码信息为空,登录系统失败。

3.商品管理进行测试

名称:用户管理测试 目的:测试商品管理界面

内容:口令的输入,合法性检查,合理性检查,界面的显示控制。

下表描述了商品表中目前所存在的记录。

表6-5商品表预存数据

商品名

商品类别

商品价格

商品状态

A

A

389

上架

B

B

249

上架

C

C

322

下架

D

D

168

上架

添加时应注意事项:

管理员添加商品时必须添加已存在的商品类别,若该商品不属于现有的所有类别,则应该先添加商品类别。

下表描述了添加商品进行测试的用例,主要是为了防止添加商品时出现异常和存在的漏洞。

表6-6添加商品测试用例

输入

输出

商品名

商品价格

商品图片

参数错误

参数错误

请选择上传图片

A

1

a.jpg

添加成功

    • 4. 结论

经过这几个月的设计和开发,“基于Springboot的球鞋调货管理系统”已经完成了,其功能符合设计需求,能够完成用户的注册、商品信息浏览、下单购买管理、沟通信息管理等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。

在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。

整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。

由于时间有限,本系统还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善!

参考文献

  1. 王江霖,黄彩霞,樊旭龙.基于Springboot框架的网络资源共享平台的研究与实现[J].电脑知识与技术,2021,17(28):76-78.

  1. 曹华山.Springboot框架在Web应用开发中的设计与实现[J].无线互联科技,2021,18(11):108-109.

  1. 程红琳. 网上商城品目扩容效果几何[N]. 中国政府采购报,2021-05-18(005).

  1. 马君峰, 农产品自营网上商城智慧平台V1.0. 甘肃省,甘肃科博科技咨询有限责任公司,2021-02-01.

[5]王娟.基于Android系统的手机网上商城设计与实现[J].电子技术与软件工程,2021(03):43-44.

[6]韩己峰.综合性网上商城引领山东政府采购驶入高速路[J].中国政府采购,2020(12):39-41.

[7]袁江琛.基于MVC框架网上商城的设计与实现[J].信息与电脑(理论版),2020,32(20):126-128.

[8]袁江琛.Ajax+jQuery在网上商城购物车模块中的设计与实现[J].电脑编程技巧与维护,2020(10):34-35+68.

[9]王柯梦,王瑞平.基于B2C网上商城前台系统数据库设计与实现[J].广西质量监督导报,2020(09):70-71.

[10]薄志强. 基于Springboot框架的网上商城系统的设计与实现[D].西安电子科技大学,2020..

[11]张浩. 基于网上商城服务对话系统的研究与实现[D].黑龙江大学,2020.

[12]孙建英.分布式、集中式、区块链技术在网上商城中的应用[J].商场现代化,2020(01):13-15.

[13]李颖,方浪,武瑞婵.“Free-Try”虚拟试衣在网上商城中的实现[J].襄阳职业技术学院学报,2019,18(06):64-66.

[14]王一凡. 基于MOT的云南移动网上商城O2O手机营销策略优化研究[D].云南大学,2019.

[15]布祉颖.论B2C和O2O的进口零食营销的模式——关于零始科技有限公司的零始网研究[J].现代妇女(下旬),2018(12):75-76.

[16]老潘,花椰菜.零食控的购物车[J].宠物世界(狗迷),2018(12):50-55.

致谢

大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。

我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句“谢谢你们”。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。

免费领取项目源码,请关注点赞+私聊

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值