基于SpringBoot的二手数码商场系统的设计与实现.docx
- 文档编号:6371291
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:17
- 大小:329.27KB
基于SpringBoot的二手数码商场系统的设计与实现.docx
《基于SpringBoot的二手数码商场系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SpringBoot的二手数码商场系统的设计与实现.docx(17页珍藏版)》请在冰豆网上搜索。
基于SpringBoot的二手数码商场系统的设计与实现
基于SpringBoot的二手数码商场
系统的设计与实现
在科技日渐繁荣的今天,数码产品已不知不觉地融入到我们的日常生活中。
对于追求高新科技或者经济条件有限的人们而言,由于产品更新换代过快,二手交易的趋势正迅猛地增长。
现存的二手交易平台,如转转、闲鱼等,几乎都存在着商品类型太过于广泛的问题。
用户在众多的商品中难以快速找到满足自己需求的商品,从而造成了购物体验不佳的问题。
同时,在用户向系统提交售卖商品时,存在商品管理困难的问题,操作较为复杂困难。
基于SpringBoot的二手数码商场系统是一个集商品销售、购买为一体的平台,使用SpringBoot框架进行后台搭建,在前端使用JSP技术和使用MySQL数据库的开发环境下,基于B/S的结构进行开发。
本系统主要实现用户在线进行二手数码商品的购买以及售卖自己的二手商品,管理员可对系统进行全面管理,如商品分类管理、审核用户提交物品等功能。
由于是web端的应用,通过本系统用户购买商品不受时间地点限制,选择性多,可以在短时间内定位到满足自己需求的商品,提高购物效率。
同时仅销售数码产品更有针对性,可以大大的提高商品的销量,系统潜在客户巨大,应用前景广阔。
本论文对基于SpringBoot的二手商城系统的设计与实现进行了一系列的分析,从开发技术、目标、流程、功能等方面都进行了总体规划。
最后对系统进行了测试,系统运行流畅,是一款值得应用推广的购物平台。
通过对系统的开发,我将之前学过的知识运用到了实际当中,还学习了框架相关的内容,并且能够正确高效的利用它们。
不但如此,这次的经历培养了我独立解决问题的能力,树立了信心,提高了编程思想和逻辑能力,我相信这对于我以后的学习和工作生活将起到至关重要的作用。
第1章绪论
1.1研究背景及意义
数码商品的应用和普及,除了带来便利的同时,也促使人们对于数码产品的需求也逐渐走向个性化,追求更符合自己使用情况的产品。
由于硬件、软件的技术革新与进步加速了数码产品的更新换代,加上我国拥有庞大的用户群体,数码产品二手交易的需求正呈现出不断扩大的趋势。
电子商务的发展使它具有方便快速的优点,成为了交易的主要形式。
二手交易平台能够使用户足不出户便可购买到心仪的商品,受到了广大消费者的青睐。
同时,二手数码产品交易平台的出现增加了用户出手闲置物品的可能,也为商家开辟了新的销售途径和渠道,具有较高的现实意义。
市场研究公司IDC在最新的一份报告中指出,2019年全球二手智能手机的出货量达到了2.067亿部,相较于2018年1.758亿部的出货量增长了17.6%。
同时报告中还预测,再过两年,二手智能手机的出货量将突破3.32亿部。
由此不难看出二手数码产品交易的广阔前景。
但受限于平台开发的不完善、回收体系的不健全以及消费者供需信息不对等的因素,使得二手交易成为了企业和用户亟待解决的重大难题。
基于SpringBoot的二手数码商场系统与传统的销售方式相比,能够节省大量的人力和物力,同时拓宽了潜在的客户群体。
此网站系统不仅可以满足消费者足不出户买到所需商品的基本要求,给消费者带来便利的同时也方便了管理人员对商品管理、订单管理、会员管理等方面的宏观把控,有助于提高营业额。
回收二手数码产品不仅能够缓解环境污染和资源利用问题,而且能够满足不同消费者购买和售卖的需求。
对这一交易模式进行探究,对完善二手数码产品回收、提高用户的满意度都有十分重要的意义。
1.2国内外研究现状
在国内,人们在追求低价的前提下,还希望能够享受更优质的产品与服务,因此往往倾向于在各种二手平台中进行商品的比较和选购。
目前市面上的二手交易平台大多以APP和手机端的方式展现商城内容,且商品种类复杂多样,缺乏针对性。
由于国外的信息技术起步较早且发展快速,在计算机应用软件方面的技术也一直在不断完善和更新,各个行业信息化程度都比较高。
因此,他们现有的二手交易平台如:
eBay、OfferUp、Poshmark等都相对成熟稳定。
但对于二手数码产品交易方面而言,目前仍没有很好的满足用户的需求。
目前国内外的二手交易平台,普遍对用户数码产品方面的需求没有针对性,往往仅作为一小个分支,用户需求不能得到充分满足。
现有的平台几乎都存在一些不足:
(1)商品项目太多太杂,用户搜索起来存在困难,不同用户需求不同难以用有效的搜索得到想要的结果,往往会浪费大量时间,造成体验不佳。
(2)平台缺乏统一的管理,一般用户发布商品后即可在平台上呈现,良莠不齐存在大量的隐患,用户消费权益难以得到保障。
(3)作为商品的发布者,用户的商品容易被其他大量商品所淹没而造成不对等的供需关系。
“基于SpringBoot的二手数码商场系统的设计与实现”运用了JavaWeb开发中新兴的SpringBoot框架,构建针对用户和管理人员操作方便且使用快捷的二手交易平台。
作为Web端的系统,不仅不需要提前下载,还能够呈现更多内容提供用户筛选,增强了用户的购物体验。
同时,系统提供了用户提交二手商品信息的功能,用户出售、管理自己发布的二手商品时更为便捷,满足了不同用户的需求。
1.3主要工作成果
在经历了对整个系统的需求分析、功能设计,再到逐步的实现过程中,我对JavaWeb的开发有了更深刻的认识。
前端的设计布局,JSP技术相关的方方面面都在实践中更清晰明确了,框架和一些插件的使用也让设计更为的便利。
通过系统的开发,我体验到了SpringBoot框架带来的便利,它能够简化在SSM的开发模式下繁琐的配置问题。
虽然在开发过程中,遇到了不少难题,如数据传输问题、前后端交互问题等,但只有通过不断尝试和修改后才能更好的完善系统,这使得我积累了更多的开发经验,培养了我解决问题的能力。
本系统主要实现了管理员对商品种类的管理,对用户提交商品的审核以及对整个平台相关事宜的管控。
例如设置轮播图,对用户留言的管理等。
对于用户,可以注册登录,方便地使用系统的一系列功能。
包括商品的查找,加入购物车,完成订单操作等等。
本系统能够让用户感受到线上交易的方便性以及快速寻找满足需求的舒适感。
1.4全文组织结构说明
本论文一共分为六章,具体内容如下:
第1章阐明了整个系统的研究背景和意义,以及此类系统在国内外的发展现状,总结了本课题的主要工作成果。
第2章介绍了基于SpringBoot的二手数码商场系统的需求分析。
第3章介绍了系统不同功能模块的业务处理流程,明确了系统的开发步骤。
第4章较为详细地介绍了系统的结构设计,数据库实体以及数据库表。
第5章阐明了系统开发所运用的技术和某些具体功能模块的实现。
第6章对系统设定的功能逐一进行了验证测试。
第2章需求分析
2.1功能需求
管理员需求分析
本二手数码商场系统的角色分为管理员和用户两种,管理员登录后的功能有个人信息修改,商场简介编辑,轮播图编辑,公告管理,论坛板块管理,商品类别管理,商品审核编辑,留言管理等。
管理员用例图如图2-1所示:
图2-1管理员用例图
.1公告管理
管理员可以通过编辑公告告知用户注意事项和近期活动等,方便用户查看,同时可以编辑关于我们来介绍整个商场系统的相关信息让用户更快的了解商场情况。
.2轮播图管理
轮播图是放置在商场首页的滚动图片,可以吸引用户的注意力,方便商场活动的举行,同时可以增加用户购买商品的可能性。
因此,管理员应该能够按需编辑首页的轮播图展示给用户包含活动信息的图片等。
.3论坛管理
论坛是商场提供给用户们互相交流的场所,用户意见可以在论坛反馈。
也可以成为举报不良商家的揭发点。
为了避免用户随意发帖或者回复恶意留言,管理员必须具备论坛管理的功能,管理员可以对论坛新增板块,如:
用户交流区,意见反馈区等。
同时,管理员应该能够删除不当的言论和帖子及时维护商场形象。
.4用户管理
管理员能够对注册过的用户们进行统一的管理,包含查看会员个人信息,对用户进行增删查等操作。
.5商品分类管理
管理员能够对商品的品牌进行管理,采用的是分级目录的方法,分为商品大类和具体品牌。
商品的基本信息主要包括:
商品所属的品牌、审核状态、卖家信息、商品相关描述、上传的时间等。
商品类型的管理,主要是将商品分为大类(如:
手机、电脑)和品牌。
商品为用户所发布后,需要先经过管理员的审核才能够在商场首页上展示提供其他用户购买。
管理员能够设置商品的上下架状态,编辑商品的具体信息。
.6个人信息管理
管理员可以在登录后对自己的信息进行修改操作,包括名称、性别、联系电话和密码等。
.7在线留言回复
管理员可以针对用户的在线留言做出回复解答,帮助用户更好的融入到商场系统中获取所需要的服务。
用户需求分析
系统针对用户所提供的功能有:
用户的注册登录,在用户登录后可以进行商品的搜索,个人购物车管理,创建订单,余额充值,对自己发布的商品进行管理,库存管理,订单管理,退货管理,咨询评论,销售量统计等。
用户用例图如下所示。
图2-2用户用例图
.1注册登录
若用户已注册过可以通过输入正确的账号和密码以及验证码来进入系统实现对个人账号的后续操作,若还未拥有账号的用户则需根据系统提示完成相关信息的填写来注册新账号。
在注册时,系统会判断是否已经存在该用户名来提醒用户,确保更容易对用户进行管理。
.2查找商品
用户完成登录后进入首页可以看到商品大类,如:
手机、电脑;点击即可进入所在大类的商品,在商品大类下可以选择品牌,如:
华为、小米等;用户可以自行选择进入相关的分类。
同时,用户可以在搜索框内输入商品关键字来发起搜索。
完成搜索后,用户可以点击商品图片跳转到商品的详情信息页,可以选择将商品添加到收藏夹或者购物车当中。
此外,用户不能将自己上传的商品加入到购物车当中。
商品详情页下拉可看到已经购买的用户的评价,为了确保评价的真实性只有购买过该商品的用户才可以进行评价。
留言功能可以帮助用户咨询卖家获取商品更进一步的情况。
.3购物车管理
用户需要在完成登录后,才可以在购物车中查看先前加入的商品项目和数量。
用户可以对购物车中的商品进行删除和购买数量的修改,购物车会自动算出商品总价。
用户可以选择清空购物车或者继续购物,点击结算后将到订单创建界面进行下一步的操作。
.4订单与支付
用户在购物车中点击结算按钮将跳转到订单创建界面,首先要求用户填写收货地址、收货人、联系电话等信息。
若先前保存过可以直接选择保存过的地址,若无地址信息则要求用户创建新的收货地址信息。
在支付功能的实现方面,系统用余额充值的方法模拟扣款功能,用户可以在线往自己账号进行充值操作,在进行商品交易时判断余额是否足够,若不足则提醒用户,否则正常进行扣款操作。
针对于卖家用户而言,卖家可以在用户后台界面查看订单详情,对订单进行发货操作,发货前会判断库存是否足够。
发货后,买家用户将会看到订单状态的变化。
.5退货管理
用户在收到商品后,若存在损坏或者不满意的情况可以选择发起退款请求。
在填写相关退货理由后交由卖家进行处理,卖家可以在后台管理界面查看退货详情,选择同意或拒绝用户的请求,并将结果返回给用户。
.6商品管理
在本二手数码商城中,用户既可以作为买家也能够作为卖家出售自己的闲置二手商品。
作为卖家的用户可以向系统提交要售卖的商品信息,通过审核后即可出现在商场首页。
用户可以对商品的属性进行编辑,还应该能够进行商品入库的操作来增加库存量。
.7评论咨询
对于买家用户而言为了进一步明确商品是否满足自己的需求,往往需要联系卖家咨询相关信息。
系统提供了在商品详情页的留言功能以便于用户和商家交流,另一方面来说,用户的评论也能够在某些程度上说明商品的质量等信息,所以用户在购买商品后能够对其做出评论以供其他用户参考。
.8销量统计
作为卖家的用户,往往希望能够直观的看到商品销售的情况。
系统提供用户销量统计的功能,用户可以在自己的后台面板查看最近的销量情况,提供给用户更多的信息帮助他们提高销量。
2.2安全性需求
系统设置了过滤器对访问路径进行了过滤,后台管理的所有功能都需要在登录之后才可以访问,保障了系统的安全性。
前台用户在未登录前也不能进行对购物车,订单等功能进行访问。
为了防止恶意注册,系统设置了验证码,在登录和注册的时候都需要通过验证。
2.3性能需求
1.完整性需求:
要求各种信息记录的完整性,必须根据数据库中的定义完成相关信息录入,某些属性必须是非空的,如:
用户名、商品名等,各种数据间联系应保持正确性,需要注意不同表间设置的关联属性。
2.响应速度需求:
页面响应时间应该及时快速且跳转正常。
3.界面需求:
系统界面要求简单明了,容易操作,符合用户操作习惯。
4.安全性需求:
要充分保证系统的安全性、稳定性。
用户要想进行商品购买操作,必须登录系统,同时管理员要想进行后台管理也必须登录系统后台,否则无权进行管理操作。
2.4本章小结
通过站在管理员和用户的角度对系统各方面进行了需求分析,初步确定了本二手数码商场系统的所要实现的业务功能。
对系统整体有了初步的规划,从用户和管理员的角度来分析系统需求,能够使系统更加符合用户的操作逻辑,更方便快捷容易上手。
第3章系统设计
3.1系统可行性分析
可行性分析
在进行系统开发前,先对可行性做出分析能够让我们更明确系统能够得到的效果。
并采用合适的开发技术和适当的开发周期来实现整个系统的功能。
只有通过详细的分析调查以及系对统功能模块的分析,才能找到可行的方法。
对将要实现的系统从技术上、经济上和操作上进行可行性分析,能够保证系统的合理性与高效性。
提前做好规划也能够避免设计程序过程中因失误而导致的系统错漏问题,协助我们对设计做出更加合理的抉择。
经济可行性
本系统是基于JAVA开发语言的B/S结构,采用MYSQL作为数据库储存数据,所要求的硬件和软件环境,在市场上都很容易实现,程序开发较为简单和且维护便捷。
系统功能并不是很复杂,开发周期短,在经济方面具有较高的可行性。
技术可行性
本基于SpringBoot的二手商城系统主要采用SpringBoot框架结合JSP技术和MYSQL数据库作为设计工具,学习容易并且使用便利。
基于SpringBoot的二手商城系统的硬件要求不是很严格,只需要在普通的硬件配置上便可以进行操作,就能够轻松的实现,系统拥有较高的效率。
大学时,就已经掌握了JSP的主要知识,也对MYSQL数据库的操作进行了系统的学习。
对软件工程,软件测试,UML统一建模语言等课程进行过系统的了解,也能够按这些课程所学知识进行开发。
因此,基于springboot的二手商城系统在技术方面,也具有较高的可行性。
3.2系统整体结构设计
根据对用户和管理员进行的需求分析,本文所设计的商场系统应分为两个核心功能模块:
管理员功能模块和用户功能模块。
具体的系统功能模块图如图3.1所示:
图3.1系统功能结构图
3.3系统流程设计
在进行具体的系统开发前,先对整体流程进行规划可以使开发更具有逻辑性和方向性。
系统开发流程图既可以明确每一阶段的开发步骤也能够使开发更有章可循。
本系统开发流程图如图3.2所示。
图3.2系统开发流程图
用户注册模块流程分析
用户在注册页面提交系统所需信息后,调用页面中的JS函数通过AJAX异步传输数据检测来判断用户名是否已经存在,若已经存在该用户名则提示用户重新输入,否则进一步判断两次输入的密码是否一致,在满足注册条件后完成注册操作,具体流程如图3.2所示。
图3.2注册信息流程图
用户购物流程分析
用户在登录系统后可以查看商场首页的产品,也可以自主选择系统设定的商品大类来快速定位到所需的商品中。
商品种类属性是管理员在商品分类中指定的,可以帮助用户精准定位商品信息。
用户查看商品详细页面时,可以选择将商品加入购物车或者收藏夹中。
加入购物车后,用户可以在购物车界面编辑商品数量并选择进行结算操作。
点击结算后将进入到创建订单页面,若保存过收货地址则可直接选用,若用户暂未填写收货信息,则系统将提示用户完善地址信息后进行订单创建,在填写地址后即可进入结算。
具体购物流程如下所示。
图3-3购物流程图
3.4本章小结
在这一章当中清楚的划分了系统的各个功能模块和实现的具体流程,使整个系统的业务逻辑更为清晰易懂,方便了之后的系统开发。
对系统功能的拆分方便了具体实现的操作和测试,同时理清了系统开发流程,能够使后续工作更有章可循。
第4章数据库设计
4.1概念设计
数据库概念模型的设计可以帮助我们将现实信息进行抽象,对具体要分析的问题进行建模。
通过对模型进一步地分析,方便后续的开发逻辑。
数据库的概念模型设计可以通过E-R图来展示现实世界中事物的属性和联系,本系统的部分E-R图如下所示,表现了系统中各个实体之间的联系。
(1)用户信息实体E-R图主要包括用来进行登录验证的用户名和密码等内容,具体如图4.1所示:
图4.1用户信息ER图
(2)商品信息实体E-R图包含商品名称、商品分类、商品的状态信息、价格等内容,具体如图4.2所示:
图4.2商品信息ER图
(3)订单信息实体E-R图中包括,订单的总金额、下单的用户、系统生成的订单编号和订单状态等内容,具体如图4.3所示:
图4.3订单信息ER图
4.2逻辑设计
在完成了数据库的概念模型设计后,根据每个实体所拥有的属性和实体间的关联,可以进一步完成数据库的各类表单的设计,包括数据库表的属性设计,主码外码设置,属性的数据类型等来抽象出完整的数据表。
本商场系统主要针对于实现用户的商品管理、订单管理的内容,根据以上系统的部分E-R图的结构,可以得出数据库中主要的表格如下:
商品信息表product、会员表member、订单表order等。
用户表
在用户注册账号时系统将采用自动增加memberid的方式来赋予不同用户唯一的用户ID,用户表以该ID作为主键。
同时,用户表还设有如用户的电话号码,邮箱等方面的信息。
具体的用户表表项如下所示。
表4.1用户表(member)
列名
数据类型
主键
允许空
说明
memberid
int
是
否
用户id
uname
varchar
否
否
用户名
upass
varchar
否
否
密码
tname
varchar
否
否
真实姓名
tel
varchar
否
否
电话
varchar
否
否
邮箱
content
text
否
是
个性签名
delstatus
varchar
否
是
删除状态
yue
double
否
是
用户余额
savetime
varchar
否
是
注册时间
商品表
对于商品表,和用户表类似系统用自动增加的方法赋给每个商品一个唯一的商品ID。
商品表中包含发布该商品的用户ID使之能够与用户表进行外码关联,方便查询。
同时表中还应该具有,商品描述信息,如商品的图片、文字描述内容、原价现价等。
为了快速定位到商品,系统还设置的商品大类FID和品牌种类Cid,可以使用户搜索更为便捷。
具体数据表项如下图所示。
表4-2商品表(Product)
名字
数据类型
主键
是否空
说明
id
int
是
否
商品ID
productname
varchar
否
否
商品名称
content
text
否
否
商品描述
filename
varchar
否
否
商品图片
oldprice
double
否
否
原价
price
double
否
否
现价
issj
varchar
否
否
是否上架
shstatus
varchar
否
否
审核状态
fid
int
否
否
所属大类
cid
int
否
否
所属品牌
savetime
varchar
否
否
发布时间
delstatus
varchar
否
否
删除状态
memberid
int
否
否
发布用户
订单表
订单表的设计同样是用户购物功能完成的重要依据,系统用自增的唯一ID标识每一个订单,且生成相应的订单编号。
订单中包含商品总额、用户的付款状态、收货状态等信息。
同时用memberid和sellid与用户表进行关联,addrid与用户收货地址信息相关联。
具体订单表表项如下所示。
表4-3订单表(ordermsg)
名字
类型
主键
是否空
说明
id
varchar
是
否
订单ID
orderno
varchar
否
否
订单号
memberid
int
否
否
下单用户ID
total
double
否
否
商品总额
addrid
varchar
否
否
收货地址ID
fkstatus
varchar
否
否
付款状态
shstatus
varchar
否
否
收货状态
Savetime
varchar
否
否
下单时间
sellid
int
否
否
卖家ID
4.3本章小结
本章给出了系统具体的ER图和数据库表的规划,系统的结构进一步的清晰和明确。
在设计过程中为满足各个功能进行了表项的合理设计和分析,开发时需要注意的各表之间联系,这关乎到查询的正确与否。
第5章系统实现
5.1开发技术简介
SpringBoot框架
SpringBoot是新兴的开源轻量级框架,是伴随着Spring4而产生的技术框架,它除了拥有Spirng框架的所有优点,同时还给开发者的编程工作带来了巨大的便利。
SpringBoot通过其框架中大量的自动化配置等方式来简化原Spring项目开发过程中开发人员繁琐的配置步骤,大部分模块的设置以及类的装载都由SpringBoot预先进行处理,开发人员不再需要进行大量XML的配置,从而解放了开发人员,更加专注于业务功能的实现也因此使得应用的搭建更为快速。
SpringBoot框架中最为突出的两个策略是:
开箱即用和约定优于配置。
相较于传统的Spring框架,他通过一些starter的定义减少了开发人员在管理依赖上所花费的大量时间。
得益于这个特点,开发人员的操作更为便捷了。
同时,SpringBoot直接嵌入Tomcat、Jetty或者Undertow作为Servlet容器,降低了对开发环境的要求,在开发和部署时都无需再安装Tomcat或者Jetty等Web容器,调试更为方便。
JSP技术
JSP可以理解为一种特殊的页面,它在前端页面的编写中嵌套地使用了Java语法,本质上就是一个servlet。
它通过一些tags和scriptlets来使整个页面具有静态页面不具备的新特性,使网页能够对服务端的资源和应用逻辑进行访问。
JSP在html语言里面嵌入JAVA代码运行,使用JSTL和一些EL表达式能够对各种元素进行便捷的管理和操作,方便表单等内容在页面上的呈现。
这对于熟悉JAVA编程的技术人员来讲,前端界面更加容易理解。
因此,在程序的开发过程中,使用JSP进行前端页面开发也不失为一种正确的选择,帮助程序开发者省下许多额外的学习时间和成本。
MYSQL数据库
网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,本次基于springboot的二手数码商城系统使用的数据库是MYSQL数据库,这个数据库是国外微软公司提出来的具有一定扩展性以及性能高的数据库。
MySQL支持多线程的特点,可以方便的利用系统资源,有效提高速度,而且提供了TCP/IP、ODBC和JDBC等多种方式途径来连接数据库。
5.3本章小结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SpringBoot 二手 数码 商场 系统 设计 实现