目 录
随着我国经济的飞速发展,人们的生活水平从衣食住行方面都得到了质的提高,尤其是汽车工业的发展,从之前的燃油车,再到现在的油电混合汽车、电动汽车,可以说发展速度是惊人的,在这20年的时间里发展迅速,汽车几乎进入到了每家每户,但是由于私家车数量的增多,更新换代下来的闲置汽车也在不断增多,导致了二手车的交易市场日常火爆,之前用户想要购置二手车都需要到二手车市场进行查看,有时候想要看同一价位的二手车要跑很多家,耗时费力,因此滋生了很多二手交易平台,比如58同城的二手模块、瓜子二手车交易平台等,用户在这些平台上都可以查看二手车辆,但是这些平台都采用的是C/C的交易方式,发布的用户都是个人,用户想要对比购买的时候,信息的查询量还是比较大,因此结合目前用户购买以及商家销售二手车方面的需求,设计了本二手车交易平台。
本二手车交易平台采用了nodejs语言,基于B/S结构以及运用了MYSQL数据库开发实现,在功能上分为用户和管理员两部分,满足了用户通过系统进行查看二手车,实现二手车的购买,管理员在后台对注册平台的用户进行管控,二手车辆信息进行上传,供前台用户浏览,处理用户提交的订单,功能比较完善,能够满足二手车在线交易的需求。
关键词:nodejs语言;MYSQL;二手车交易平台
Abstract
With the rapid development of our country's economy, people's living standard from food, clothing, housing and transportation has been qualitatively improved, especially the development of automobile industry, from the former fuel vehicles, to now gas-electric hybrid vehicles, electric vehicles, it can be said that the speed of development is amazing, in the 20 years of rapid development, the automobile has entered almost every household. However, due to the increase in the number of private cars and the increasing number of idle cars that have been replaced, the second-hand car trading market is popular every day. In the past, users had to go to the second-hand car market to check the second-hand car. Sometimes they had to go to many places to see the second-hand car of the same price, which was time-consuming and laborious. For example, 58.com's second-hand module, Guazi second-hand car trading platform, etc., users can view second-hand cars on these platforms, but these platforms adopt C/C trading mode, and the published users are all individuals. When users want to compare the purchase, the information query volume is still large. Designed the second-hand car trading platform.
This used car trading platform adopts nodejs language, based on B/S structure and the use of MYSQL database development and implementation, in function is divided into two parts, users and administrators, to meet the user through the system to view used cars, to realize the purchase of used cars, administrators in the background to the registration platform user control, second-hand vehicle information upload, For the front desk users to browse, processing user submitted orders, the function is relatively perfect, can meet the needs of online trading of second-hand cars.
Keywords: nodejs language; MYSQL; Second-hand car trading platform
1 绪论
1.1研究背景
由于人们生活水平的提高以及生活节奏的加快,很多用户都选择网上选购商品,尤其是从2020年疫情以来,线下的很多行业都收到了很大的冲击,比如服装、餐饮行业,大家都为了避免人口聚集而很少去实体店消费,导致实体经济不断萧条,与之对应的线上交易正如火如荼,目前大多数行业因为疫情或者发展需要都在逐步的将各自的业务投放到了网上,其中主要是以电商服务为主导的互联网平台。很多企业都开始实现网上购买、配送,目前比较火的美团、饿了么等都是将商品放到网上进行售卖,像目前如果主要致力于自己的二手车销售的商家,就要围绕网上二手车的交易而进行展开。通过互联网平台的赋能,能够给二手车交易提供智能化的服务,在为用户提供实质性便利的同时,提高自己的服务质量。所以二手车交易平台更加符合时下二手车行业的需求,更加能适应二手车行行业目前的竞争压力[1]。该二手车交易平台以“互联网+”B2C服务为模式,在为用户提供在线自主选择二手车行进行购买服务的同时,可以帮助商家实现销量的突破,同样也可以为二手车行行业的智能化发展做出努力。
该二手车交易平台其研究的目的就是让传统的二手车信息查询、交易的方式转化为通过网页浏览二手车进行二手车购买的形式,解决了传统二手车查看、交易耗时耗力的问题,系统的具体研究意义如下:
(1)从商家的角度来说,利用计算机网页来实现一个新型的二手车交易平台,可以提高二手车商家之间的竞争力,为二手车商家开辟一条新的销售途径,有利于商家更加长远的发展。
(2)从消费者的角度来说,二手车交易平台的实现,能够给用户带来极大的便利,为用户提供一个更加优质的二手车交易平台,让用户在繁忙的工作、生活中,不用在进行到二手车市场选购,上网进入系统就可以选购自己喜欢的二手车,享受送货上门服务。
(3)对于整个二手车市场来说,能够整合二手车信息,将二手车信息透明化,给买家提供一个优质的、公平的、公正的二手车交易平台,规范二手车市场,促进二手车市场的发展。
在国外的二手交易方面,发展最快的属美国,日本在战后也引进了美国的经验,在二手经营方面有了长足的发展,随后推广至欧洲,慢慢全世界都在使用二手信息网了。而在国内,最开始使用二手交易的平台应该是五八同城,但是五八上面的各种信息太多,不管是二手车、二手房还是二手商品可以上传,而且不能够线上交易,随后各种专一商品的二手交易平台也逐渐发展起来,比如咸鱼、瓜子,二手交易平台以其的优势,节省了时间和人力,二手行业现如今也越来越利用信息化技术来提高服务效率和质量。
二手车交易平台不仅可以提高二手车的使用率,也可以减轻使用者以及服务人员的工作量,便于用户通过网络维护管理,提高了服务效率,同时也有效减少了因为人工疏漏而会产生的错误,提高了用户体验和服务质量。
2 二手车交易平台系统分析
系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。
系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及法律层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。
2.1.1 技术可行性分析
二手车交易平台设计与实现是一个基于Web的交易、管理平台,我们在实现这个系统所采用的技术方案是基于nodejs语言,MYSQL数据库,在大学的学习中这两门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到nodejs和MYSQL,在技术上实现自己的自主开发是可行的。
2.1.2 经济可行性分析
开发本二手车交易平台的技术都是可以从网上直接免费下载,不用花一分钱,而且系统的源代码都是自己进行设计开发的,不需要成本,如果后期想要进行运营,只要把配置到服务器上,花费服务器的租赁费用,在使用中可以进行增加广告收益,因此在经济方面是可性的。
2.1.3 操作可行性分析
当下网络新时代,计算机已经得到了普及,多数人对计算机都比较的熟悉,知道如何使用它,当然也存在对计算机比较陌生的这一群体,也需要对其进行考虑。在进行二手车交易平台页面的设计的时候,考虑到使用人群,可能也存在对计算机比较陌生的人,所以,在页面的设计方面,设计的很是简单、简洁,布局明了,色调明朗,让无论是对计算机陌生还是对计算机熟悉的使用者,都可以使用自如,这也说明了该程序的操作方面非常可行。
本二手车交易平台开发完成后只需要一个管理人员进行后台商品的增删改查以及用户、订单的管理就可以,不需要进行特别的培训,所有的操作只要有一点电脑基础就可以进行管理,在管理方面是可行的。
2.2.1 数据流程
二手车交易平台主要的目的就是实现对二手车的在线选购,图2-1就是系统的数据流图。
图2-1 器材购买操作展开图
3.3.2 业务流程
分析完二手车交易平台的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:
图2-2业务流程图
(1)汽车商城模块:本二手车交易平台最主要的功能就是二手汽车的购买,所有系统中需要管理员添加各种汽车供用户查询,购买,管理员在此模块主要是对汽车商城的增删改查,游客实现对汽车商城的查询,用户则实现汽车商城的收藏、评论、加购等操作。如下图2-1所示。
图2-1 汽车航次模块用例图
(2)汽车资讯模块:管理员在后台可以对汽车资讯及其分类进行增删改查,游客实现查看汽车资讯,用户进行收藏、点赞、评论。如下图2-2所示。
图2-2汽车资讯模块用例图
(3)用户管理模块:在前台游客可以通过注册,然后参与到系统当中,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。如下图2-3所示。
图2-3用户管理模块用例图
(4)购物管理:用户对喜欢的汽车商城可以进行购买,可以选择立即购买或者加入到购物车中进行购买,如下图2-4所示。
图2-4购物车管理模块用例图
(5)订单管理:在二手车交易平台中,用户和管理员都能够管理订单,可以对订单进行查看、删除。如下图2-5所示。
图2-5订单管理模块用例图
系统的性能方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:
(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。
(2)储存性:因为用户使用的关于二手车交易的平台,使用的用户比较多,而且登录后要实现对二手车的购买,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。
(3)可靠性:可靠性指的是用户在进行二手车交易平台信息添加、查询以及管理的时候,能够按照用户的指示进行显示信息,如果用户点击查询汽车商城信息,显示出来的汽车资讯信息,那就违背用户的初衷。
(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。
(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。
本章主要讨论的内容包括二手车交易平台的功能模块设计、数据库系统设计。
3.1 系统体系结构设计
本二手车交易平台总体的体系结构图分为前端用户体系结构和后端管理员体系结构,其具体结构图如图3-1和图3-2所示
系统的前端主要是用户通过浏览器进入到系统当中,对平台的信息进行查看、交易、管理,包括首页,公告信息,汽车资讯,汽车商城,注册登录,个人账户,个人收藏,地址管理,购物管理,订单管理,意见反馈,其前对用户功能模块图如图3-1所示。
图3-1 二手车交易平台前端功能结构图
系统的后端主要是管理员对平台的信息进行管理,包括网站管理,人员管理,内容管理,购物管理,权限管理,模块管理和个人管理七大模块,其后端管理员功能模块图如图3-2所示。
图3-2 二手车交易平台后端功能结构图
本二手车交易平台分为前台用户以及后台管理员两个页面,前端由游客/用户进入,用户登录后实现汽车商城的购买,订单的管理等,后端是管理员进行登录,登录以后对二手车交易平台所有数据进行管理。二手车交易平台的总体用例图如图3-3所示
图3-3 二手车交易平台功能总体用例图
二手车交易平台的前台是用户进行操作的,主要实现用户对汽车资讯以及汽车商城的查看,注册登录以后实现汽车商城的购买以及个人信息、订单的管理、意见反馈。前台系统用户用例图如图3-4所示
图3-4 二手车交易平台前台系统用户用例图
系统前端系统用户的功能包含了公告信息、汽车资讯、汽车商城、注册登录、个人账户、个人收藏、购物管理、订单管理、意见反馈九部分。
(1)用户在前台可以查看器材资讯信息,让用户了解平台的各种资讯,可以对自己喜欢的资讯进行收藏、点赞,也可以实现对资讯的评论,与共同爱好者产生交流,用例说明如下表所示:
表3-1 汽车资讯用例图
用例名称 | 汽车资讯藏/点赞/评论 |
角色 | 普通用户 |
用例说明 | 用户在前台查看汽车资讯,对喜欢的资讯进行收藏、点赞、评论 |
前置条件 | 用户登录 |
后置条件 | 对用户的收藏、点赞、评论在系统中展示出来 |
基本事件流 | 1、用户通过浏览器进入本二手车交易平台 2、用户登录到系统当中 3、用户进入汽车资讯,选择资讯进入详情 4、用户点击收藏或者点赞 5、在评论框输入评论内容,点击提交 |
推展流程 | 无 |
异常事件流 | 1、用户没有登录 2、输入的评论内容为空 |
其他 | 无 |
(2)二手车交易平台主要的功能就是二手车的购买,所有在系统中用户可以选择自己喜欢的汽车商城进行加入购物车进行购买,用例说明如下表所示:
表3-2 汽车商城用例图
用例名称 | 汽车商城购买 |
角色 | 普通用户 |
用例说明 | 用户在前台查看汽车商城,对喜欢的汽车商城进行收藏、评论、立即购买、加入购物车 |
前置条件 | 用户登录 |
后置条件 | 对汽车商城加入购物车或者立即购买 |
基本事件流 | 1、用户通过浏览器进入本二手车交易平台 2、用户登录到系统当中 3、用户进入汽车商城,选择汽车商城进入详情 4、加入购物车或者立即购买 5、在评论框输入评论内容,点击提交 |
拓展流程 | 选择支付方式 |
异常事件流 | 1、用户没有登录,需要注册登录后才能操作 2、购买失败需要取消付款 |
其他 | 无 |
二手车交易平台的后台是由管理员进行操作的,主要实现管理员对网站信息、人员信息、资讯信息、购物信息以及个人信息的管理。后台管理员用例图如图3-5所示
图3-5 二手车交易平台后台管理员用户用例图
系统后端管理员的功能包含了网站管理,人员管理,内容管理,权限管理,模块管理和个人管理五大部分。
(1)管理员在后台对汽车商城的查询、如果需要添加新的汽车,点击添加按钮,输入汽车信息提交,也可以对汽车商城进行修改,删除,查询,用例说明如下表所示:
表3-3 汽车商城管理用例图
用例名称 | 汽车商城管理 |
角色 | 管理员用户 |
用例说明 | 对系统当中的汽车商城进行增删改查 |
前置条件 | 管理员登录 |
后置条件 | |
基本事件流 | 1、管理员通过后台登录到系统当中 2、选择购物管理下的汽车商城按钮 3、显示系统当中的所有的汽车商城,可以输入关键词查询 4、选择内容进行增删改查 5、点击提交 |
拓展流程 | 无 |
异常事件流 | 输入的汽车商城内容不正确,提示错误信息 |
其他 | 无 |
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.4.1 数据库概念结构设计
下面是整个二手车交易平台中主要的数据库表总E-R实体关系图。
图3-6 二手车交易平台总E-R关系图
下面根据二手车交易平台的数据库总E-R关系图可以得出二手车交易平台需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
图3-7系统用户信息E-R关系图
图3-8 购物车信息E-R关系图
图3-9 汽车商城信息E-R关系图
图3-10 订单信息E-R关系图
图3-11 地址信息E-R关系图
图3-12 汽车资讯E-R关系图
图3-13 车库信息E-R关系图
图3-14 出库信息E-R关系图
图3-15 入库信息E-R关系图
图3-16 意见反馈信息E-R关系图
通过上一小节中二手车交易平台中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
(1)system_user表如表3-1所示包含了系统用户id+用户姓名+性别+审核状态等,主要用在前台用户来登录二手车交易平台时进行使用。
表3-1 system_user系统用户信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
system_user_id | int | 11 | 否 | 系统用户id |
user_name | varchar | 64 | 是 | 用户姓名 |
gender | varchar | 64 | 是 | 性别 |
examine_state | varchar | 16 | 是 | 审核状态 |
recommend | int | 10 | 是 | 智能推荐 |
user_id | int | 10 | 是 | 用户ID |
create_time | datetime | 19 | 是 | 创建时间 |
update_time | timestamp | 19 | 是 | 更新时间 |
(2)cart表如表3-2所示,主要用于用户在前台把自己喜欢的汽车加入到购物车中,对购物车中的车辆进行管理。
表3-2 cart购物车信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
cart_id | int | 10 | 否 | 购物车ID: |
title | varchar | 64 | 是 | 标题: |
img | varchar | 255 | 是 | 图片: |
user_id | int | 10 | 是 | 用户ID: |
create_time | timestamp | 19 | 是 | 创建时间: |
update_time | timestamp | 19 | 是 | 更新时间: |
state | int | 10 | 是 | 状态 |
price | double | 9 | 是 | 单价 |
price_ago | double | 9 | 是 | 原价 |
price_count | double | 11 | 是 | 总价 |
num | int | 10 | 是 | 数量 |
goods_id | mediumint | 8 | 是 | 商品id |
type | varchar | 64 | 是 | 商品分类 |
description | varchar | 255 | 是 | 描述 |
(3)auto_mall表如表3-3所示,主要在管理员中可以更好的调动汽车的价格以及推荐的汽车更换,在前端(用户)可以有效的查找汽车、直观的看到汽车外观和汽车的属性等等。
表3-3 auto_mall汽车商城信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
auto_mall_id | int | 11 | 否 | 汽车商城id |
automobile_brand | int | 11 | 是 | 汽车品牌 |
cart_title | varchar | 125 | 是 | 标题 |
cart_img | text | 是 | 封面图 | |
cart_description | varchar | 255 | 是 | 描述 |
cart_price_ago | double | 是 | 原价 | |
cart_price | double | 是 | 卖价 | |
cart_inventory | int | 11 | 是 | 商品库存 |
cart_type | varchar | 64 | 是 | 商品分类 |
cart_content | longtext | 64 | 是 | 正文 |
cart_img_1 | text | 10 | 是 | 主图 |
recommend | int | 11 | 智能推荐 | |
create_time | datetime | 11 | 是 | 创建时间 |
update_time | timestamp | 是 | 更新时间 |
(4)order表如表3-4所示,主要订单信息由前端(买家)发出订单卖家和管理员执行管理而形成的,买家、卖家、管理员都可以在看到订单所有的信息。
表3-4 order订单信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
order_id | int | 11 | 否 | 订单id |
order_number | varchar | 64 | 是 | 订单号 |
goods_id | varchar | 64 | 是 | 商品id |
title | varchar | 32 | 是 | 商品标题 |
img | varchar | 255 | 是 | 商品图片 |
price | double | 是 | 价格 | |
price_ago | double | 是 | 原价 | |
num | int | 11 | 是 | 数量 |
price_count | double | 是 | 总价 | |
norms | varchar | 255 | 是 | 规格 |
type | varchar | 64 | 是 | 分类 |
contact_name | varchar | 32 | 是 | 联系人姓名 |
contact_email | varchar | 125 | 是 | 联系人邮箱 |
contact_phone | varchar | 11 | 是 | 联系人手机 |
contact_address | varchar | 125 | 是 | 收货地址 |
postal_code | varchar | 11 | 是 | 邮政编码 |
user_id | varchar | 10 | 是 | 买家id |
merchant_id` | mediumint | 8 | 是 | 卖家id |
description | varchar | 255 | 是 | 描述 |
state | varchar | 16 | 是 | 状态 |
create_time | datetime | 是 | 创建时间 | |
update_time | timestamp | 是 | 更新时间 |
(5)address表如表3-5所示,主包含了收货地址id+姓名+手机+邮编+地址,主要用在用户对提交订单选择地址的时候进行使用。
表3-5 address收货地址信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
address_id | int | 10 | 否 | 收货地址: |
name | varchar | 32 | 是 | 姓名: |
phone | varchar | 13 | 是 | 手机: |
postcode | varchar | 8 | 是 | 邮编: |
address | varchar | 255 | 是 | 地址: |
user_id | mediumint | 8 | 是 | 用户ID |
create_time | timestamp | 19 | 是 | 创建时间: |
update_time | timestamp | 19 | 是 | 更新时间: |
default | bit | 1 | 是 | 默认判断 |
(6)article表如表3-6所示,主要在系统后台(管理员)中可以更好的管控汽车资讯,在前端(买家)可以有效的查找汽车资讯等。
表3-6 article汽车资讯信息表
数据类型 | 长度 | 允许空 | 说明 | |
article_id | mediumint | 8 | 否 | 汽车资讯id |
title | varchar | 125 | 是 | 标题 |
type | varchar | 64 | 是 | 分类 |
hits | int | 10 | 是 | 点击数 |
praise_len | int | 11 | 是 | 点赞数 |
create_time | datetime | 是 | 创建时间 | |
update_time | timestamp | 是 | 更新时间 | |
source | varchar | 255 | 是 | 来源 |
url | varchar | 255 | 是 | 来源地址 |
tag | varchar | 255 | 是 | 标签 |
content | longtext | 是 | 正文 | |
img | varchar | 255 | 是 | 封面图 |
description | text | 是 | 描述 |
(7)garage_information表如表3-7所示,主要在系统后台(管理员)对车库信息的增删改查,包括汽车编号+汽车名称+车辆类型+汽车型号等。
表3-7 garage_information车库信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
garage_information_id | int | 10 | 否 | 车库信息ID |
car_number | varchar | 64 | 是 | 汽车编号 |
vehicle_name | varchar | 64 | 是 | 汽车名称 |
vehicle_type | varchar | 64 | 是 | 车辆类型 |
vehicle_model | varchar | 64 | 是 | 汽车型号 |
car_color | varchar | 64 | 是 | 汽车颜色 |
inventory_quantity | int | 10 | 是 | 库存数量 |
inventory_details | longtext | 2147483647 | 是 | 库存详情 |
recommend | int | 10 | 是 | 智能推荐 |
create_time | datetime | 19 | 是 | 创建时间 |
update_time | timestamp | 19 | 是 | 更新时间 |
(8)outbound_information表如表3-8所示,主要在系统后台(管理员)对出库信息的增删改查,包括出库号+汽车编号+汽车名称+车辆类型+汽车型号等。
表3-8 outbound_information出库信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
outbound_information_id | int | 10 | 否 | 出库信息ID |
delivery_no | varchar | 64 | 是 | 出库号 |
car_number | varchar | 64 | 是 | 汽车编号 |
vehicle_name | varchar | 64 | 是 | 汽车名称 |
vehicle_type | varchar | 64 | 是 | 车辆类型 |
vehicle_model | varchar | 64 | 是 | 汽车型号 |
car_color | varchar | 64 | 是 | 汽车颜色 |
delivery_quantity | int | 10 | 是 | 出库数量 |
delivery_unit_price | int | 10 | 是 | 出库单价 |
issue_amount | varchar | 64 | 是 | 出库金额 |
delivery_date | date | 10 | 是 | 出库日期 |
recommend | int | 10 | 是 | 智能推荐 |
create_time | datetime | 19 | 是 | 创建时间 |
update_time | timestamp | 19 | 是 | 更新时间 |
(9)warehousing_information表如表3-9所示,主要在系统后台(管理员)对入库信息的增删改查,包括入库号+汽车编号+汽车名称+车辆类型+汽车型号等。
表3-9 warehousing_information入库信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
warehousing_information_id | int | 10 | 否 | 入库信息ID |
warehousing_no | varchar | 64 | 是 | 入库号 |
car_number | varchar | 64 | 是 | 汽车编号 |
vehicle_name | varchar | 64 | 是 | 汽车名称 |
vehicle_type | varchar | 64 | 是 | 车辆类型 |
vehicle_model | varchar | 64 | 是 | 汽车型号 |
car_color | varchar | 64 | 是 | 汽车颜色 |
receipt_quantity | int | 10 | 是 | 入库数量 |
receipt_unit_price | int | 10 | 是 | 入库单价 |
receipt_amount | varchar | 64 | 是 | 入库金额 |
warehousing_date | date | 10 | 是 | 入库日期 |
recommend | int | 10 | 是 | 智能推荐 |
create_time | datetime | 19 | 是 | 创建时间 |
update_time | timestamp | 19 | 是 | 更新时间 |
(10)feedback表如表3-10所示,用户前台用户对意见反馈的提交,管理员在后台对用户提交的意见反馈进行回复。
表3-10 feedback意见反馈信息表
列名 | 数据类型 | 长度 | 允许空 | 说明 |
feedback_id | int | 10 | 否 | 意见反馈ID |
system_user | int | 10 | 是 | 系统用户 |
user_name | varchar | 64 | 是 | 用户姓名 |
feedback_content | text | 65535 | 是 | 反馈内容 |
feedback_date | date | 10 | 是 | 反馈日期 |
examine_state | varchar | 16 | 是 | 审核状态 |
examine_reply | varchar | 16 | 是 | 审核回复 |
recommend | int | 10 | 是 | 智能推荐 |
create_time | datetime | 19 | 是 | 创建时间 |
update_time | timestamp | 19 | 是 | 更新时间 |
4 二手车交易平台详细设计与实现
二手车交易平台的详细设计与实现主要是根据前面的二手车交易平台的需求分析和二手车交易平台的总体设计来设计页面并实现业务逻辑。主要从二手车交易平台界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
当进入二手车交易平台的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
普通的用户只支持对网站信的浏览,想要购买或者交流就必须登录到系统,如果你没有本二手车交易平台的账号的话,添加“注册”根据提示输入好用户信息后,点击“注册”按钮后,系统会对输入的信息进行验证,验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用户注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
4.1.3 用户登录界面
二手车交易平台中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息,然后通过滑动验证通过以后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到二手车交易平台的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3会员登录界面图
4.1.4意见反馈界面
用户在点击导航栏上面的意见反馈后,系统用户,用户姓名都是自动生成的,输入反馈内容、反馈日期,点击“提交”按钮进行提交意见反馈,意见反馈界面如下图4-4所示。
图4-4意见反馈界面图
4.1.5 地址管理界面
当用户点击导航栏上的“地址管理”菜单后,就会显示出目前现有的地址,可以点击“新建收货地址”按钮,输入新的收货地址进行添加,界面如下图4-5所示。
图4-5地址管理界面图
4.1.6 汽车商城详情界面
用户点击导航栏商的“汽车商城”菜单,可以查看到输入关键词搜索汽车,也可以按照分类筛选,或者按照拍下查看,当访客点击了任意汽车后将会进入该款汽车的详情界面,可以了解到该汽车的图片信息、汽车信息、价钱信息等,同时可以对该汽车进行加购+立即购买+收藏+点赞+评论,汽车详情展示页面如图4-6所示。
图4-6 汽车详情界面图
4.1.7 购物管理界面
当用户点击导航栏上的“购物管理”菜单后,会出现自己加入购物车的汽车列表,在购物管理页面可以对汽车删除、修改汽车的数量,选择部分或者全选进行购买,购物管理界面如下图4-7所示。
图4-7 购物管理界面图
当用户点击导航栏上的“订单管理”菜单后,会出现自己提交的订单列表,在订单管理页面可以通过订单状态或者订单的排序查看订单信息,可以删除订单,对未付款的订单进行付款。界面如下图4-8所示。
图4-8 订单管理界面图
4.2管理员功能模块
管理员进入后台后,要通过登录成功之后才能对系统信息进行管理,保证速记的安全性,管理员输入账号+密码,然后通过滑动图片验证成功以后,点击“登录”按钮,进行登录,管理员的账号和密码是直接在数据库中设定的,如果忘记密码,可以点击“忘记密码”,对登录密码重新设定。界面如下图4-9所示。
图4-9 订单列表界面图
4.2.2 人员管理界面
二手车交易平台中的管理人员是可以对前台注册的用户和后台的管理员进行管理的,如果想要添加新的人员,点击下方的“添加”按钮,然后根据系统中的提示输入管理员或者用户信息,点击“确认”按钮,对管理员或者用户进行添加,也可以对已经存在的管理员或者用户进行重置、删除和查询。。界面如下图4-10所示。
图4-10人员管理界面图
管理员点击“内容管理”菜单可以对其下子菜单汽车资讯+资讯分类进行管理,这里以汽车资讯管理为例,管理员可以对已经存储的汽车资讯进行查看详情、编辑、删除、查询、管理前台用户提交的评论,也可以添加新的汽车资讯供前台用户查询,界面如下图4-11所示。
图4-11内容界面图
管理员点击“购物管理”按钮,可以管理汽车商城、分类列表以及订单列表,对汽车商城和分类列表,管理员可以进行添加、删除和查询,对于用户提交的订单,管理员可以进行查询、删除。界面如下图4-11河图4-12所示。
图4-11汽车商城界面图
图4-12订单列表界面图
管理员点击“权限管理”按钮可以分配系统中用户的所拥有的权限。界面如下图4-13所示。
图4-13权限管理界面图
管理员点击“模块管理”菜单下的“意见反馈”可以查看到系统当中所有的意见反馈信息,选择某一条意见反馈,点击“详情”,可以对意见反馈审核以及添加审核回复,也可以删除意见反馈信息,界面如下图4-14所示。
图4-14意见反馈界面图
管理员点击“模块管理”菜单下的“车库信息”可以查看到系统当中所有的车库信息,如果想要添加新的车库,点击下方的“添加”按钮,根据系统的提示输入车库信息进行提交,也可以对车位进行删除,当需要有车辆入库或者出库的时候,选择想要入库或者出库的仓库,点击“入库”或者“出库”按钮,可以提交入库、出库信息,界面如下图4-15所示。
图4-15车库信息界面图
管理员点击“模块管理”菜单下的“出库信息”可以查看到系统当中所有的出库信息,可以对出库进行增删改查操作,界面如下图4-15所示。
图4-15出库信息界面图
5系统测试
到此,系统的开发基本完成,接下来我们对系统的实验与结果进行分析,确保系统能够正常运行,进而投入使用,对系统的实验与结果分析的检测方法就是对系统的测试,测试是系统完成的最后一步,没有测试过的系统是不能进行投入使用的,否则一旦发生bug就会造成损失,下面我们从测试的方法以及测试的用例两部分进行分析,最后给出系统的测试结果。
系统的测试方面有两种,一种是黑盒测试,另一种则为白盒测试,黑盒测试通俗来说就是功能方面的测试,我们也称之为需求测试,在黑盒测试的过程中,我们是不知道其开发原理的,只是作为一名使用者对系统进行测试,我们主要是凭借之前的测试经验,取一些临界值,然后通过测试用例来对其进行测试,这种测试方法是最快的查找问题方法,其次我们可以找一些具有代表性的数据,对系统进行用例测试,在黑盒测试的过程中常用的测试工具是winrunner和AutoRunner;白盒测试我们称之为结果测试,也就是逻辑驱动测试,在白盒测试的过程中,我们主要是根据系统开发的原理进行测试的,主要是以开发者的身份去测试这个代码是不是完成了其具体的功能,实现的具体路径对不对,当然这种测试方法是费时费力的,因为每个功能,他的运行路径不止一条,通过对程序当中运行的路径进行测试,检测开发的代码是不是存在bug,有没有实现预期,在白盒测试的过程中常用的测试工具为Jcontract、C++ Test以及CodeWizard等。
系统测试包括:用户登录功能测试、商品展示功能测试、商品添加、商品搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
商品查看功能测试:
表5-2 商品查看功能测试表
管理员添加商品界面测试:
表5-3 管理员添加商品界面测试表
商品搜索功能测试:
表5-4商品搜索功能测试表
密码修改功能测试:
表5-5 密码修改功能测试表
在本章节对二手车交易平台进行了黑白盒测试,并对系统中的部分功能进行了用例分析,能够发现系统还是比较稳定的,系统的所有功能基本可以实现,能够满足管理员和用户对二手车信息的查询、交易、管理的需求。通过测试可以看出在系统的运行过程中,其功能完整,对于输入的错误信息,能够把错误信息提示出来,方便用户操作的时候发现自己输入的信息哪里有错误,进而进行改正,而且系统界面都设有导航栏,操作非常便捷,不需要对使用者进行任何培训,对于用户以及商家来说都是一个很有价值的系统。
经过了几个月的努力,本二手车交易平台终于完成了,虽然在校期间也开发过一些小型的系统,但是都是在老师的讲解以及辅助下完成的,没有经历过开发之前的需求分析、系统分析,都是直接从系统设计开始的,因此本次开发的二手车交易平台对我意义重大。
在开发系统最初,首先对各个企业年终考核管理方面的需求进行调研,了解对于企业来说,开发的系统需要实现哪些功能才能满足企业的管理需求,对需求进行分析;其次选择自己比较熟悉的Nodejs语言,MYSQL数据库来设计开发,通过知网库、学校图书馆等地方查阅、学习这些技术,掌握编程的思想和方法,然后就是对系统进行分析,从系统开发的可行性、系统实现的功能、系统应该具备的性能以及系统的操作流程方面,对系统进行全方位的分析,确定系统的最终功能,从而对系统的功能和数据库进行设计,最后就是系统的实现以及对实现的功能的测试,确保系统能够稳定的运行。
在开发的过程中暴露出了自己的很多问题,比如前期的准备还是不够充分,不能完全掌握其操作流程;在开发过程中对Nodejs的编程掌握的还不够熟练以及对系统的环境配置上还存在很多问题,经常会导致项目在运行的时候出现错误。学无止境,通过一边查阅资料一边向导师请教,慢慢的解决了这些问题,在以后的学习、工作者我会更加严谨,通过本项目的开发,我将会受益终生!
[1] 汪建文.我国零售企业的商务电子化应用商场现代化[J].2012.(04):56-60
[2] 胡燕.软件工程与标准化.信息技术与标准化[M].2014.(12):17-21
[3] 桃子.商品市场前瞻.微型计算机[J].2013.(13):89-90
[4]基于Web服务的多层软件应用架构研究[J]. 王晓燕. 计算机光盘软件与应用. 2014(23)
[5]Web应用架构模式的分析及应用[J]. 张帆,刘嵩. 微型电脑应用. 2011(01)
[6]MySQL数据库中关于索引的研究[J]. 陈年飞,王麒森,王志勃. 信息与电脑(理论版). 2019(05)
[7]改变Web开发格局的新技术node.js[J]. 赵昆. 程序员. 2011 (07)
[8]基于Node.js的JavaScript并发控制流框架[J]. 李轶. 江汉大学学报(自然科学版). 2015(02)
[9]基于NodeJS平台搭建REST风格Web服务[J]. 黄扬子. 无线互联科技. 2015(16)
[10]基于Node.js的学习交流平台的设计研究[D]. 张镭翕.云南大学 2015
[11]Node.js:一种新的Web应用构建技术[J]. 王金龙,宋斌,丁锐. 现代电子技术. 2015(06)
[12]服务器端javascript技术研究[J]. 高原. 信息与电脑(理论版). 2012(01)
[13]基于Node.js和JS的前后端分离实现[J]. 张鹏飞,王乾,胡晓冬,杨明浩,崔明旺. 软件. 2019(04)
[14]基于Node.js分布式微博系统的设计与实现[D]. 黄涛.北京邮电大学 2018
[15]基于Node.JS博客系统的设计与实现[D]. 彭娜.大连理工大学 2013
[16]MySQL数据库有关数据的备份方法分析[J]. 汪维,胡帅. 信息技术与信息化. 2020(07)
[17]MySQL数据库课程的设计[J]. 郑戟明,董云朝,肖宇,钱之琳. 电脑知识与技术. 2020(03)
[18]My SQL读写分离的技术原理[J]. 练振兴. 福建电脑. 2019(08)
[19]基于MySQL数据库的索引优化研究[J]. 郭冰. 信息与电脑(理论版). 2019(12)
“致谢”意味着论文的结束,也意味着自己的毕业设计顺利完成,同时也代表了自己的大学生涯即将结束,我即将要离开自己敬爱的老师和亲爱的同学们,在这里我首先要感谢的就是所有的老师,“春满江山绿满园,桃李争春露笑颜,东西南北春常在,唯有师恩留心间”,他们无论在我的学业还是在我的生活上付出了所有,对我谆谆教诲;其次我要感谢我的指导老师,他在我的整个毕业设计当中起着引导作用,每当我有困难的时候,他总会第一时间帮助我,引导我进行解决问题,而不是直接告诉我答案,“授人以鱼不如授人以渔”,指导老师的这种做法让我受益终生,同时我也从指导老师身上学习到了许多的开发技巧以及检验,这对我今后的开发起着十分重要的作用;再次,我需要感谢我的同学、室友,他们不仅仅在毕业设计上给我许多帮助意见,在大学同窗四年,他们给过我的帮助太多了,我对他们有太多的不舍,无法用言语表示,我相信在以后的人生道路上只要想到他们,我心里就会很温暖,这种友情是任何感情替代不了的;最后我还要感谢家人,感谢自己,感谢家人对我的支持,感谢自己在学业上的坚持,我相信我以后的道路会越来越好。
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-