随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,网上购物系统展现了其蓬勃生命力和广阔的前景。与此同时,为解决网上购物系统需求,网上购物系统发展愈发多元化与网络化,与电子信息技术相结合。网上购物系统应运而生。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。
代码结构讲解
1、 node_modules文件夹(有npn install产生)
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。
该系统利用nodejs语言、MySQL数据库,结合目前流行的将网上购物系统的各个方面都集中到数据库中,以便于用户的需要。该系统在确保系统稳定的前提下,能够实现多功能模块的设计和应用。该系统由管理员功能模块、商家模块和用户模块组成。不同角色的准入制度是有严格区别的。各功能模块的设计也便于以后的系统升级和维护。该系统采用了软件组件化、精化体系结构、分离逻辑和数据等方法。目 录
目 录 II
1绪 论 1
1.1开发背景 1
1.2开发目的与意义 1
1.2.1开发目的 1
1.2.2开发意义 2
1.3本文研究内容 2
2开发技术 3
2.1nodejs介绍 3
2.2 MySql简介 3
2.3express框架 4
2.4 Vue框架 4
3系统分析 6
3.1可行性分析 6
3.1.1技术可行性分析 6
3.1.2经济可行性分析 6
3.1.3法律可行性分析 6
3.2系统性能分析 6
3.3功能需求分析 7
3.3.1管理员需求分析 7
3.3.2商家需求分析 8
3.3.3用户需求分析 8
3.4系统流程分析 8
4系统设计 10
4.1功能模块设计 10
4.2数据库设计 10
4.2.1数据库设计原则 10
4.2.2系统E-R图 11
4.2.3数据库表设计 13
5系统实现 21
5.1 系统功能模块 21
5.2 后台模块实现 23
5.2.1管理员模块实现 23
5.2.2商家后台管理模块实现 26
6系统测试 29
6.1系统测试内容 29
6.1.1 登录测试 29
6.1.2 角色测试 29
6.1.3 性能测试 30
6.2测试用例执行结果 30
结 论 31
参考文献 32
1绪 论
1.1开发背景
改革开放以来,中国社会经济体系复苏,人们生活水平稳步提升,中国社会已全面步入小康社会。同时也在逐渐转型,具有生活的现代化和劳动的社会化等特点。这不仅基于人们过快的工作节奏与生活方式,也是源于人们对于生活品质越来越严苛的要求。如何从工作压力与生活压力中得到解放,是现代人追求的永恒话题[1]。
单从工作压力来讲,网上购物系统在很大程度上可以解决一部分问题,逐渐进入人们的视野。网上购物系统采用的手工记录信息的方式,给工作人员的匹配工作造成很大的困难。这也充分说明了传统的信息处理方式已经很难适应现代管理系统的需要。
近年来,随着计算机技术的飞速发展以及其在全球范围内的普及,计算机技术的在人们生活中应用的占比越来越大,尤其是信息资源管理方面,广泛应用于各个行业,已经产生了不可估量的社会效益[6]。计算机技术在信息资源管理方面的应用大大提高了工作效率,简化了工作程序,改善了服务质量[7]。而这些特点正好对网上购物系统的难题对症下药。网上购物系统一经问世,就展现了其巨大的发展前景与优势。电子信息技术与网上购物系统的结合,使得用户足不出户就可以在系统上操作,符合人们现代生活方式发展;这种结合也对网上购物系统模式的变革也起到了决定性的作用,可以实现网上购物系统信息一次录入,永久使用的便捷,关键词输入即可将用户需求与网上购物系统人员信息进行匹配,达到客户需求最快最优实现的理想[8]。然后这种模式更加节省成本,无论是纸质文字的录入和保存,还有人工的费用都为网上购物系统的资本积累以及变革提供了保障。因此可以看出,网上购物系统网络化,不仅大大提高了本行业的工作效率,简化工作方式,更是一场网上购物系统的深刻变革[9]。1.2开发目的与意义
1.2.1开发目的
近年来,网上购物系统发展迅猛,在拥有广阔发展前景的同时,也面临着许许多多的问题[10]。
我国线上管理起步晚,但发展快速,从业人员激增,多见于传统管理模式,管理体系不规范、不标准。且企业虽然多但规模普遍偏小,很难在市场形成有效的诚信经营的形象与品牌[11]。
我国目前存在的网上购物系统监管制度缺失、市场监管不规范等问题。由于缺乏专业人士的素质和服务品质的明确测量,导致网上购物系统内部鱼龙混杂,难以获得顾客的信赖。
网上购物系统是电子、信息技术相结合,是一种必然的发展趋势。以互联网为基础,以服务于广大用户为目的,发展整体优势,扩大规模,提升服务质量,提高网上购物的管理效率。网上购物系统实现了网上购物系统向现代化和网络化的转型,为管理决策和控制提供保障,这是网上购物系统发展中里程碑式的转型。
1.2.2开发意义
对于网上购物来说,系统的建设大大节省了管理成本和人工成本,增强用户信息安全建设,是网上购物实现管理现代化的有效途径,同时促进网上购物管理更加专业化和网络化。
对于用户来说,建立网上购物系统体系不仅丰富了网上购物系统的商业模式,还能刺激各网上购物进行自我改革,促使其专业性和规范性的提高。这是网上购物系统良性循环发展的里程碑[15]。
1.3本文研究内容
首先,要掌握有关系统的基本理论,如 nodejs技术、 MySQL数据库等,并对其进行全面的分析。为了给系统打下坚实的技术基础,本系统采用了 MySQL数据库的架构,在开始这项工作前,首先要设计好要用到的数据库表。该系统的使用者有两类:管理员和商家,主要功能包括个人中心、商家管理、用户管理、商品种类管理、商城商品管理、系统管理、订单管理等功能。
3系统分析
需求分析是研发人员经过调研和分析后准确理解客户需求,确定系统需要具备的功能。然后对系统进行可行性和功能分析,确保符合网上购物系统的实现价值,对后续的系统创建有显著的帮助。
3.1可行性分析
4.2.1数据库设计原则
要学习程序设计,如果你想了解数据库管理系统或根据要求开发的系统接口,你必须创建一个数据库管理系统模型来存储数据。这样,当您在应用程序编程过程中,就不需要将信息加载到操作系统页面,从而提高整个系统的工作效率。信息库管理系统中存储着许多数据,应该说是管理信息系统建设的中心和基础。信息库管理系统还为管理信息系统的建设提供了添加、删除、更改和搜索的操作功能,使管理信息系统建设能够快速查询所需的数据,而不是直接从程序代码中查找。信息库管理系统通过按照特定的方法将信息表的各个组成部分组合起来,准确地组合、分类并构成信息库管理体系。
3.1.2经济可行性分析
网上购物系统大都是区域性的管理,系统中维护的范围不会非常大,因此数据并发量不会非常高,在数据并发量不是很高的情况下,系统的资源配置相对较低,用户所需要的客户端普通的电脑即可胜任。并且网上购物的管理系统还会提高效率减少纸质物品的使用,节约纸质资源。避免很多的人力消耗和资源浪费。从系统的开发角度分析,此次项目的开发软件全部都是开源且免费的。不需要在开发中投入经济成本,只需要专注于开发的内容即可,不会产生相应的开发费用。系统稳定使用后系统不会有过多的运维成本,投入使用后会在实际工作中发挥出重要的作用。
3.1.3法律可行性分析
网上购物系统是自己独立设计的,该系统是本人开发出来做毕业设计之用,并不会侵犯他人、集体和国家的利益。该系统使用正版软件开发,所有参考资料都是正规网站查询分析得出,开发的技术完全是开源免费的工具,百分百遵守国家法律法规。不会出现任何违反国家的政策和法律的。
3.2系统性能分析
(1)系统安全性
网上购物系统中,系统的安全性要有一定的保障,不仅要保证系统数据存储足够安全,还要保障数据传输过程安全,还要保证对用户权限管理是合理的。保证一些意外情况发生,导致系统数据缺损时,会有历史数据备份对数据进行还原。
(2)可维护性和适应性
世界是在不断进步的,互联网也在不断发展,随着行业发展,对网上购物系统可能会产生新的需求,好的系统应该具有可扩展性,无论在现在还是未来,都能够满足用户需求,可以长期使用本网上购物系统。
(3)可靠性
网上购物系统在发展进步,网上购物会越做越大,到时候系统的访问量就会比现在多很多,网上购物系统要足够可靠,能够在并发量高的情况下,依旧保持优越的运行速度、容错能力。
3.3功能需求分析
系统的目标是为管理员、商家和用户搭建一个网上沟通平台,保证双方的安全,并使双方的利益最大化。
3.3.1管理员需求分析
管理员端的功能主要是开放给系统的管理人员使用,能够对用户的进行管理,包括对他们的账号管理、对个人中心、商家管理、用户管理、商品种类管理、商城商品管理、系统管理、订单管理等进行查看,修改和删除等,对系统整体运行情况进行了解。
4.2.3数据库表设计
网上购物系统的数据以一个个数据表的方式存储在数据库中,这一个个数据表示系统调取数据的基础,在进行系统数据库搭建时,会根据这些设计好的数据表进行优化搭建。系统选用MySQL数据库,对各表进行了详细的说明如下:
表4-1:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-2:关于我们
字段名称 类型 长度 字段说明 主键 默认值
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-3:地址
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
address varchar 200 地址
name varchar 200 收货人
phone varchar 200 电话
isdefault varchar 200 是否默认地址[是/否]
表4-4:收藏表
字段名称 类型 长度 字段说明 主键 默认值
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-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
shangpinzhonglei varchar 200 商品种类
表4-7:商家
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangjiazhanghao varchar 200 商家账号
mima varchar 200 密码
dianpuming varchar 200 店铺名
dianpudizhi varchar 200 店铺地址
lianxifangshi varchar 200 联系方式
fengmiantupian longtext 4294967295 封面图片
lianxiren varchar 200 联系人
shangjiajieshao longtext 4294967295 商家介绍
money float 余额 0
表4-8:商城商品
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpinzhonglei varchar 200 商品种类
shangpintupian longtext 4294967295 商品图片
shengchanchangjia varchar 200 生产厂家
pinpai varchar 200 品牌
shangpinjianjie longtext 4294967295 商品简介
shangjiazhanghao varchar 200 商家账号
dianpuming varchar 200 店铺名
onelimittimes int 单限
alllimittimes int 库存
clicktime datetime 最近点击时间
clicknum int 点击次数 0
price float 价格
vipprice float 会员价 -1
表4-9:订单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
orderid varchar 200 订单编号
tablename varchar 200 商品表名 shangchengshangpin
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 物流
shangjiazhanghao varchar 200 商户名称
goodtype varchar 200 商品类型
表4-10:商城公告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-11:商城商品评论表
字段名称 类型 长度 字段说明 主键 默认值
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-12:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-13:官方客服
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复
表4-14:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
xingbie varchar 200 性别
nianling varchar 200 年龄
touxiang longtext 4294967295 头像
money float 余额 0
vip varchar 200 是否会员 否
表4-15: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-16:购物车表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tablename varchar 200 商品表名 shangchengshangpin
userid bigint 用户id
goodid bigint 商品id
goodname varchar 200 商品名称
picture longtext 4294967295 图片
buynumber int 购买数量
price float 单价
discountprice float 会员价
shangjiazhanghao varchar 200 商户名称
goodtype varchar 200 商品类型
5系统实现
在网上购物系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员和用户功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
5.1 系统功能模块
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到网上购物系统的导航条和商城商品信息推荐等。
6系统测试
每个系统在经过开发者的设计与研究之后,在真正投入使用之前都需要对该系统进行专业的测试。对系统进行简单的测试可以判断它是否满足说明书中所描述的功能,并且可以找出系统设计中存在的问题以此来优化系统。系统测试的方法很多,对本系统主要采取黑盒测试对系统的功能以及性能进行测试。
6.1系统测试内容
6.1.1 登录测试
登录页面测试,测试用户admin用户名的账号系统,测试结果如表6-1所示。
表6-1 登录测试
用例编号 1.0
所属模块 登录
操作步骤 在登录输入框中输入本人的密码和用户名,并点击登录按钮执行登录操作。本系统将验证用户输入的登录信息。如果信息无误,它将成功登录并跳转到个人主页,反之则弹出提示框,提示信息无效。
预测结果 如果错误输入,则会提示登录失败,请检查您的账号重试。
实际结果 在输入框里输入错误的账号或密码,弹出登录失败,请检查您的账号重试的提示框。
6.1.2 角色测试
系统的管理层可在此模块进行以下操作:新增角色;删除角色;修改角色基础信息;给角色设置数据权限。以权限名称:xx,权限字符:admin,菜单权限:系统管理为例对该模块进行测试。对该功能的测试操作如表6-2所示:
表6-2 角色管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试
添加一个新角色,基础信息与已有角色完全一致 添加失败,提示“该角色已存在” 通过
角色管理 权限名称:xx权限字符:admin
菜单权限:系统管理 功能测试
按关键词搜索角色信息 查找成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 删除系统中角色 删除成功 通过
角色管理 权限名称:aa,权限字符:boss
菜单权限:系统管理 功能测试 添加一个新角色,基础信息与已有角色均有所不同 添加成功 通过
6.1.3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.2测试用例执行结果
根据上述测试用例对系统进行测试。测试结果如表6-3所示。
表6-3 测试用例执行结果
测试项目 用例状态 测试结果
登录界面 已执行 测试通过
角色测试 已执行 测试通过
性能测试 已执行 测试通过
结 论
基于nodejs的网上购物在经过系统的开发后,已经成功完成搭建。在搭建过程中,最开始的工作是从查阅相关资料开始的,通过在互联网的网上购物系统资料查询和阅读,对整个网上购物系统有了整体的概念了解,然后对本网上购物系统进行分析设计,本次网上购物系统的诉求是实现用户的基本需求,所以在设计时,整个系统功能模块十分简洁,系统为管理员、商家和用户三大模块。在系统具体实现过程中,先把系统数据库搭建,然后进行功能模块的代码编译,最后将所有模块进行整合,形成完整的网上购物系统。最后对系统进行了测试,测试结果符合预期。
系统仍然存在很多不足,各环节的流程没有做到非常精密的联系,逻辑上还有漏洞。从这些问题中吸取经验教训积累宝贵。
致 谢
经过几个月的深入学习和努力,我的毕业设计终于按计划顺利完成。本次毕业设计是对我们每天学习的理论的综合评估,也是对理论在实践中应用的调查。
首先,我要感谢我的老师定期检查和指导,使我的毕业设计成为高质量的作品,在整个项目的开发和设计过程中,他为项目的设计提供了宝贵的建议,框架的设计、代码的编写和论文框架的设计,他还向我推荐了许多有用的资料和文件,指导和建议对我有很大的帮助。在老师的指导和指导下,我的论文可以成功完成。
同时,我还要感谢在设计过程中帮助过我的同学们,我也要感谢这所大学多年来对我们的培养。学校教师为我们的课堂和辅导工作不懈努力,使我们掌握专业知识,提高处理实际问题的能力,这是我一生中难忘的经历。
在最后要祝愿学校的领导教师以及和我一起奋斗的同学们工作顺利,事业有成,也要祝愿学校的前景更加辉煌,越来越好!