一、绪论
(一)研究背景
20世纪,随着科学技术的飞速发展,数字化和信息化成为了一个新的发展趋势,信息化的经营方式成为了各个行业的追求的目标,而信息化的经营方式更是成为了人们追求的目标。目前,我国高等院校工程技术和电子管理学已经将信息化技术作为必修课[1]。
在当今社会,人们的生活节奏逐渐加快,人们对经济的要求逐渐降低,越来越多的人开始追求简单、快捷的方式。然而,随着用户工作繁忙的原因,去商城购买商品的人已经越来越少了。更多人会选择居家在网站上购买商品,在此基础上,我进行了思考,如果可以开发一款在系统前台可以购买商品,后台可以进行发货的系统,对于用户、商家来说会不会更方便呢?对管理员来说,可以管理商品信息、秒杀商品、商城资讯等,不仅能做到随时更新,更能提高管理效率,非常方便。
......
二、关键技术介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。
(二)Java语言
Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了页面的内容,增强了页面的活力。另外,Java技术也被广泛地运用于该系统,比如对用户输入的数据进行检测,以保证其有效性。Java技术可以在不依赖Web服务程序的基础上在本地客户机上运行。从而有效地解决了因网络速度所带来的迟缓问题,使用户能够更加顺畅、快捷地进行访问。一些功能,比如用户的数据输入,可以通过JavaScript这样的客户语言来完成。该系统采用Java客户机进行用户身份认证,确保了系统的安全性和可靠性。
(三)MySQL
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小,速度快,总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
(四)B/S架构
B/S这一结构模式和互联网的发展密不可分,它是对C/S的改进,因为以前的C/S结构需要在电脑上进行安装,比如我们最常使用的QQ、杀毒软件、办公软件等等,都是C/S结构开发的,但是随着互联网的发展,人们已经不满足于C/S这种结构,更想要一种能够实现信息数据共享的结构体系,鉴于人们需求的变化,诞生了B/S这一结构,改不了以往需要直接访问服务器的方式(即C/S模式),让用户通过浏览器就可以去实现访问服务器。这种体系结构不仅使得开发出的程序访问更为便捷,而且还减少了更新维护成本,提高交互性。
B/S架构具有以下优点:
- 无需安装专门的软件
- 服务器上的负荷显然减少了,并且局部可以进行实时更新。
三、系统分析
进行在线购物商场系统的开发,首先需要进行系统需求分析。对用户需求进行调研,接着设计系统的体系构造和数据库表构造,确定使用的开发工具和后台数据库。
系统分析的重点是对用户和系统的需求进行相关分析,包括对系统的需求进行分析。在系统的分析中,要介绍目前系统的运行过程,并对目前的系统的问题进行分析,给出业务需求,且一并给出相应的解决方案,然后将其应用于平时的管理之中。
(一)业务需求分析
首先,对现在业务需求进展描述。当前,我国大部分企业普遍存在着资本规模小、人员素质差、管理不规范等问题,基本停留在人工录入的阶段。因此不可避免地导致了经营过程的低效,且易出现错误。然而,在市场上出现的各种信息管理系统,往往都是几万元乃至几十万元,因为操作过于繁琐,对于一般商城来说,使用起来比较困难,维护起来也不方便[7]。在服务行业蓬勃发展的今天,在平时的管理中涉及到的各类业务信息也变得复杂起来,面对不断增长的信息量,利用MIS提高工作效率是非常有必要的,因此,制定一套专门的在线购物商场系统就是一个很好的办法。利用在线购物商场系统进行信息的处理,具有传统的人工记录所不能比拟的优势,它可以实现对数据的规范化,同时也可以对进度进行科学的统计,并快速地查找,从而到达提高工作效率、服务质量的目的。本文在对网上商城管理的实践中,提出了实现工作信息化的必要性。
易于操作;快速反应;准确的记录和方便的操作是评价一个系统服务质量的重要指标,它可以提高服务质量,并让用户迅速得到有关的信息。:
- 使用不便。
- 信息管理复杂。
3.效率低,安全性及准确率不够。以往的进度控制方法是以人力进行的,这就造成了人力资源的浪费,且工作效率极低[8]。
本文在对上述问题进行归纳和剖析后,针对上述问题,给出了相应的改进措施:利用MySQL数据库技术,将商品信息、秒杀商品等信息存储在预先设定的相应的数据表单中,并利用程序技术进行信息的分类处理,从而达到可以动态地更改信息的目标。用户只要搜索一下关键字,就能找到所需要的信息,系统还能根据用户的收藏或搜索量,使用协同过滤的算法进行推荐相关信息。用户只要提交相应的要求,就能得到相应的反馈。运用电脑、手机技术和数据库技术,极大地提高了的工作质量,为用户提供了便利。
1、管理员需求分析
管理员端的功能主要是开放给系统的管理人员使用,能够对用户的信息进行管理,包括对用户管理、商家管理、商品分类管理、商品信息管理、秒杀商品管理、系统管理进行查看,修改和删除、新增等,对系统整体运行情况进行了解。
管理员用例分析图,如图3-1所示。
......
图3-1管理员用例分析图
2、用户需求分析
用户的功能主要是对个人账号和密码进行更新信息,然后对首页、商品信息、秒杀商品、商城资讯、购物车、个人中心进行查询详情操作。
用户用例分析图,如图3-2所示。
......
图3-2用户用例分析图
3、商家需求分析
商家的功能主要是对个人账号和密码进行更新信息,然后对系统首页、个人中心、商品信息管理、秒杀商品管理、订单管理进行查询详情操作。
商家用例分析图,如图3-3所示。
......
图3-3商家用例分析图
(二)系统可行性分析
1.技术可行性
该平台采用java语言,springboot框架,而Eclipse则是利用MySQL进行数据库的选择,在数据库的开发中,SQL是最高效、最简洁的,在这个体系中,Eclipse是最安全、最稳定的。由于它的使用方便,无论是开发者,还是管理员,都可以轻松地使用它们。综合来看,解决技术上的问题是切实可行的[9]。
2.经济可行性
针对本系统而言,需要一系列的硬软件支持,主要硬软件及相关费用如下:需要CPU为400MHz及以上的处理器的计算机,硬盘空间为100M及以上即可,除此之外,相关的设备的安装工作都比较简单,并且设计开发软件的本钱也不高,都相比照较简单,所以只需要对客户进展相关的提示工作便可以让其成功地使用本系统,故本系统的本钱是非常低的。综上所述,本系统在经济上也是可行的。
3.操作可行性
在在线购物商场系统方面,目前已经有许多成功的网上商城管理信息化系统在支撑系统的运营。就本系统而言,操作简捷,适合大部分商城或个人使用。无论是对业务过程的系统的处理,还是对商城的系统的运用,都能够很好地适应系统的正常运作需求。综上所述,本系统在操作上也是可行的[10]。
四、系统设计
(一)系统的框架设计
该体系结构将以MVC模型作为体系结构,其体系结构上将其划分为三个层次:表示级、服务级、数据库级。采用MVC模型的思路,实现了各个业务的分离,实现了多个功能的高内聚和低耦合。在代码编写中,对通用代码、相同逻辑代码进行精化和包装,以提升代码使用效率,并使代码逻辑更为清楚[11]。
1.表示层:网页浏览器是展示层面的主体,使用者可以透过网页浏览进入该网页。利用java技术在前端网页中的应用,通过Ajax技术来与后台的业务服务进行交互,以满足网页的局部动态改变。
2.逻辑层:当系统使用者在进入该体系之后,能够在该层呼叫该业务的业务函数界面。其中,有几个商业运作界面,即:商品信息、秒杀商品是系统运作的保证,它将随着统一的商业逻辑应用而被自动地应用。
3.数据库:该系统使用MySQL实现对数据的持久性管理,为了实现数据的标准化、简化和快速的存储,将会引进MybatisORM持久性架构。
(二)系统功能模块设计
在线购物商场系统在设计与实施时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。如商品信息、秒杀商品模块等[12]。
管理员后台主要功能是:用户管理、商家管理、商品分类管理、商品信息管理、秒杀商品管理、系统管理等功能。系统功能模块图如图4-1所示。
......
图4-1系统功能模块图
(三)数据库设计与实现
在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。
1.概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
商家信息实体体属图如下所示。
......
图4-2商家信息实体属性图
用户信息实体属图如下所示。
......
图4-3用户信息实体属图
商品信息实体属图如下所示。
......
图4-4商品信息实体属图
秒杀商品实体属图如下所示。
......
图4-5秒杀商品实体属图
(四)数据库逻辑结构设计
在本系统中,采用的是目前比较主流的MySQL数据库,并且设计了几个数据表如下所示:
表4-1:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | miaoshashangpin | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | float | 价格 | 0 | ||
discountprice | float | 折扣价格 | 0 | ||
total | float | 总价格 | 0 | ||
discounttotal | float | 折扣总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
remark | varchar | 200 | 备注 | ||
logistics | longtext | 4294967295 | 物流 | ||
zhanghao | varchar | 200 | 商户名称 | ||
goodtype | varchar | 200 | 商品类型 |
表4-2:商城资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-3:秒杀商品
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
pinpai | varchar | 200 | 品牌 | ||
tupian | longtext | 4294967295 | 图片 | ||
shangpinxiangqing | longtext | 4294967295 | 商品详情 | ||
zhanghao | varchar | 200 | 账号 | ||
shangjiariqi | date | 上架日期 | |||
onelimittimes | int | 单限 | |||
alllimittimes | int | 库存 | |||
clicktime | datetime | 最近点击时间 | |||
reversetime | datetime | 倒计结束时间 | |||
price | float | 价格 |
表4-4:商品信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-5:秒杀商品评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-6:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-7:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
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 | ||
tablename | varchar | 200 | 商品表名 | miaoshashangpin | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 图片 | ||
buynumber | int | 购买数量 | |||
price | float | 单价 | |||
discountprice | float | 会员价 | |||
zhanghao | varchar | 200 | 商户名称 | ||
goodtype | varchar | 200 | 商品类型 |
表4-10:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-11:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-12:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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-13:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuming | varchar | 200 | 用户名 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
youxiang | varchar | 200 | 邮箱 | ||
shouji | varchar | 200 | 手机 | ||
money | float | 余额 | 0 | ||
vip | varchar | 200 | 是否会员 | 否 |
表4-14:商品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
tupian | longtext | 4294967295 | 图片 | ||
pinpai | varchar | 200 | 品牌 | ||
zhanghao | varchar | 200 | 账号 | ||
shangjiariqi | date | 上架日期 | |||
shangpinxiangqing | longtext | 4294967295 | 商品详情 | ||
onelimittimes | int | 单限 | |||
alllimittimes | int | 库存 | |||
clicktime | datetime | 最近点击时间 | |||
price | float | 价格 | |||
vipprice | float | 会员价 | -1 |
表4-15:商品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinfenlei | varchar | 200 | 商品分类 |
表4-16:商家
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
shangjiaxingming | varchar | 200 | 商家姓名 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | longtext | 4294967295 | 头像 | ||
youxiang | varchar | 200 | 邮箱 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
money | float | 余额 | 0 |
五、系统实现
(一)前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到在线购物商场系统的导航条显示首页、商品信息、秒杀商品、商城资讯、购物车等。系统首页界面如图5-1所示:
图5-1 系统首页界面
点击用户注册,用户通过注册页面填写用户名、密码、确认密码、姓名、头像、性别、邮箱、手机等信息,并点击注册操作,如图5-2所示。
图5-2用户注册界面图
点击用户登录,用户通过登录页面输入账户、密码,并点击登录操作,如图5-3所示。
图5-3用户登录界面图
用户点击商品信息;在商品信息页面的搜索栏输入商品名称、商品分类,进行查询,然后可以查看商品名称、商品分类、图片、品牌、上架日期、单限、库存、价格、会员价等信息,如有需要可以添加到购物车、立即购买、收藏和评论等操作;如图5-4所示。
图5-4商品信息界面图
购物车:用户将想要购买的商品加入购物车,加入购物车后可以增减数量、删除、点击购买,可一键清除失效商品,如图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商家注册、商家登录界面图
商家登录系统后,可以对系统首页、个人中心、商品信息管理、秒杀商品管理、订单管理等功能进行相应操作,如图5-15所示。
图5-15商家功能界图面
最后附下载地址:源码+毕业论文+ppt答疑