Python二手电脑商城的开发
摘 要
计算机技术、网络通信技术、多媒体技术及数据存储技术的飞速发展,对人类的生产和生活方式产生了很大影响。二手笔记本电脑交易网站以其特有的快速、高效、便捷的方式被人们所接受。随着多媒体数据的存储、传播和应用技术的不断成熟,以及网络的不断发展,我们相信二手电脑交易商城一定会成为网络内容创新的重头戏和未来生活的新空间,逐渐成为网络发展的必然趋势之一。
本文主要通过对二手电脑商城的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。二手电脑商城使用技术主要有Python编程语言,MySQL数据库,Ajax异步交互,根据Ajax异步模式等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、二手资讯、二手商城、订单列表、商品列表、在线付款功能以及商品发货的实现过程。
关键词:二手电脑; Python编程语言;二手资讯
Development of Python second-hand computer mall
Abstract
The rapid development of computer technology, network communication technology, multimedia technology and data storage technology has had a great impact on human production and lifestyle. Second hand notebook computer trading website is accepted by people in its unique fast, efficient and convenient way. With the continuous maturity of multimedia data storage, dissemination and application technology, as well as the continuous development of the network, we believe that the second-hand computer trading mall will become the highlight of network content innovation and a new space for future life, and gradually become one of the inevitable trends of network development.
The rapid development of computer technology, network communication technology, multimedia technology and data storage technology has had a great impact on human production and lifestyle. Second hand notebook computer trading website is accepted by people in its unique fast, efficient and convenient way. With the continuous maturity of multimedia data storage, dissemination and application technology, as well as the continuous development of the network, we believe that the second-hand computer trading mall will become the highlight of network content innovation and a new space for future life, and gradually become one of the inevitable trends of network development.
Key words:Second hand computer; Python programming language; Second hand information
目 录
第1章 绪论 1
1.1 研究背景与意义 1
1.2 开发现状 1
1.3 论文组成结构 2
第2章 开发工具及相关技术介绍 3
2.1 Pycharm简介 3
2.2 MySQL描述 3
2.3 Python编程语言 3
2.4 Django框架 4
2.5 B/S体系工作原理 4
第3章 系统分析 6
3.1 可行性分析 6
3.1.1 经济可行性 6
3.1.2 技术可行性 6
3.1.3 操作可行性 6
3.2 功能性需求分析 6
3.3 非功能性需求分析 9
3.4 业务流程分析 10
第4章 系统设计 11
4.1 功能模块设计 11
4.2 数据库设计 12
4.2.1 概念模型设计 12
4.2.2 数据库逻辑设计 13
4.2.3 数据库表设计 13
第5章 系统实现 23
5.1 用户登录的实现 23
5.2 系统前台主要功能实现 24
5.2.1 首页的实现 24
5.2.2 用户注册的实现 25
5.2.3 公告栏展示的实现 26
5.2.4 热门商品搜索的实现 27
5.2.5 热门商品购买的实现 28
5.3 系统后台主要功能实现 30
5.3.1 用户管理的实现 30
5.3.2 二手商品管理的实现 31
5.3.3 订单管理的实现 33
第6章 系统测试 35
6.1 系统可靠性测试 35
6.2 系统功能性测试 35
6.3 系统合格性测试 36
6.4 测试结果 36
第7章 总结与展望 37
参考文献 38
致谢 40
随着社会和经济的迅速发展,人们的生活水平不断提高以及追求新鲜事物需求的增长,人们在自己的经济能力范围内往往喜欢跟随时代潮流购买主流产品。现如今的各大超市、商场、综合类购物网站等经常推出花样百出的促销活动,人们对于此类低价打折物品没有抵抗力常常忽略自己的需求度,待回到家里之后才发现自己买的大多数物品对于自己的利用价值不大,因而新物品常常没被利用就处于闲置的状态了。物品的产生主要是为了实现它的价值,然而处于闲置阶段并不能发挥它的用途,故而将闲置物品二次利用,将他转给那些需要他的人们才能实现他的真正价值,现如今流动人口大规模涌入城市,偏远欠发达地区的开发为二手物品的交易提供了十分开阔市场前景。二手物品交易市场蕴藏了巨大的商机也是资源再利用的表现。
古往今来,不乏二手物品的交易市场,了解以往的二手物品交易多是在二手市场完成的,实体的二手物品交易市场往往需要交纳一定的摊位费或者中介费用,并且会占用交易双方大量的时间,二手物品也只能局限在某个地域的小范围之内,但借助于互联网的优势,在服装二手交易平台上发布二手物品信息时,闲置物品的信息能够及时的发布,并且在互联网上信息的传播速度快、范围也非常广但凡能否连接到网络的用户都可以看到,用户也可以通过支付宝或者自己开通的网上银行等进行线上金钱交易,通过当今良好的物流配送系统收发物品,在很大程度上节约了交易双方的宝贵时间,简化了交易的复杂性更加便捷。
赶集网、百姓网为代表的本地的分类信息网站现状:随着我国网络购物模式的飞速发展,政府部门也对这一发展状况进行了强有力的支持和对相关服装商务人才进行了大力的培养,技术与政府政策的结合使得此类分类信息网站的发展得到了良好的保障。目前国内分类信息网站以本地化的交易为主要特点,依靠广告的收入、会员的加盟费用,同时与搜索引擎的联合推广和对用户提供的深化服务等方式来进行盈利。本地化的分类信息网站弥补了面向全国大范围的服装商务的不足,充分利用了自己的地域的便捷性,买卖双方不仅仅可以进行线下交易,也可以利用现在成熟的物流快递系统进行货物的邮寄,进行网上支付交易,快速省时,综合来看发展潜力巨大。
淘宝、易趣、亚马逊等大型综合类贸易网站的现状:现如今这种大型的综合类贸易网站里的二手商品是与新商品一同销售,但分为三类,其一新旧商品同一个平台且没有特别的标识,人们只能凭借对商品的详细描述来加以辨识,往往我们查看不仔细的话会容易错买,给自己造成困扰:其二是新旧商品虽然处于同一个销售网络平台,但是对二手物品进行了单独的分类,譬如当当网;最后是服装商为二手物品的交易设计了专门的交易平台用于旧物品的交易例如亚马孙中国的Z-实惠。
根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出二手电脑商城。
本文共有七章,如下所示。
第一章概述了二手电脑商城的研究目的和意义;精炼地总结了国内外在内的领域研究情况和未来的研究趋势,最后给出了论文的组成结构。
第二章简要概述了本文所用的开发技术和工具。
第三章简要对系统各业务流程进行需求分析、可行性分析。
第四章对二手电脑商城进行设计。
第五章对二手电脑商城进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。
第六章对二手电脑商城采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。
第七章总结全文并对未来的研究做出展望。
PyCharm是用于Python脚本语言的最流行的IDE。
1.每个文件都有其输出窗口。
2.可以终止进程(只要点下按钮就行)。
3.各种提示超强:①没用的变量颜色会变灰②用错了的变量下面会有红色波浪线③书写提示(sublime也有但较弱)。
4.索引功能超强。
现在MySQL数据库在网络上它可以支撑许多个用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系。
MySQL是一款非常流行的关系型数据库管理系统,它的出现一直都是佼佼者,它不仅功能非常强大,而且使用起来非常方便,并且MySQL的跨平台能力也很好,软件开发人员非常喜欢它的这些强大的优点。不同于其他关系型数据库,对于数据库的管理它有着自己的一套方案,通过对用户设定相应的权限和角色来达到对数据库的管理。由此可见,MySQL是一个能够适用于吞吐量高,可靠性高,效率高的一款数据库管理软件。
优点一:MySQL中对于不同身份的用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。
优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。
优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作。
Python是一种开发语言,能够以直译的方式进行计算机语言,而且可以面向对象编程。它是由Guido van Rossum在十九世纪八十年代末研发出来,并且在九一年公开发行使用。Python有很多特点,比如有简洁的语法,清晰的语句,丰富的类库。正式由于这些优点,能够非常快速的和其他语言进行结合,来实现各种功能模块。很多人给它起了个外号叫“黏黏胶”语言。使用Python快速生成程序的原型,是现在很多程序员使用的方法。如果其中有比较特殊要求的地方,也非常方便的进行修改。
而且PyQt具有双证,为它能够跨平台运行(例如UNIX,微软和苹果的平台)提供了保证。
使用Python语言之前,要进行平台的安装,用户需要根据不同的平台,下载不同的版本,然后进行环境变量的配置,便可以进行运行。
Python 特点:
1.相对于其他计算机语言来说学习起来比较简单:Python的关键字较少,结构相对简单,语法简单,对于刚学编程语言的人来说更容易上手。
2.阅读起来也相对简单:Python代码结构简洁明了,并在定义上看起来也非常清晰,所以在阅读的过程中更加简单。
3.维护起来方便:Python的维护简单方便。
4.标准库特别广泛:Python的最大的最大优势是有非常多的库,而且是跨平台的,而且对系统的兼容性很好,比如在UNIX,Windows和Macintosh系统上都能够进行兼容。
5.具有方便的互动模式:有了互动模式的支持,开发者可以从代码就可以看到结果,这样开发者对程序的测试与调试,变的更方便。
6.可移植性好:Python可以跨平台运行。
7.扩展性非常好的:如果有关键的代码,你可以用特殊的语言进行编写,也能够在系统中调试运行。
Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。
Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
本系统将在经济、技术、操作这三个角度上进行可行性分析。
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于Python技术,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
二手电脑商城的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Django框架开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
前台需求:
(1)用户模块:主要包括用户的注册和登陆、用户个人信息管理和用户帐单查询等功能。
(2)二手商品模块:主要包括二手商品浏览、信息展示、商品搜索、商品购买等功能。
(3)购买记录模块:主要包括添加购买记录、查看我的购买记录和删除购买记录等功能。
(4)订单模块:主要包括生成订单、我的订单、查看订单详细信息、在线支付、确认收货等功能。
(5)二手资讯:主要发布二手资讯。
后台需求:
(2)商品管理:主要包括商品列表、类目管理、商品添加、商品信息管理等功能。
(3)订单管理:主要包括发货和配送管理、退货退款管理等功能。
系统用例图如下所示。
图3-1系统用例图
商品添加用例描述如下表所示。
表3-1商品添加用例描述
用例名称 |
添加新商品 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行添加新商品操作 |
|
前置条件 |
管理员添加新商品前必须登录系统 |
|
后置条件 |
系统中添加一个新商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
4、管理员填写新商品信息,点击“添加”按钮。 |
2、系统打开添加新商品界面。 3、系统检查管理员输入的商品信息是正确有效的。 5、系统将商品添加到数据库中。 6、系统提示“操作成功”。 7、系统跳转到商品管理界面。 |
|
其他事件流 |
1、系统验证管理员输入的商品名为空,则提示“*请填写商品名称!”。 2、系统验证管理员输入的价格不是货币格式,则提示“*价格必须是货币格式!” |
商品删除用例描述如下表所示。
表3-2商品删除用例描述
用例名称 |
删除商品 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行删除商品操作 |
|
前置条件 |
管理员删除商品前必须登录系统 |
|
后置条件 |
系统中删除一个商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“商品管理”。 4、管理员选择一个商品,点击“删除”按钮。 6、管理员点击“确定”按钮。 |
2、系统从数据库中获取商品信息列表 3、系统打开商品列表界面。 5、系统提示“你确定要删除吗?”。 7、系统将商品从数据库中删除。 8、系统提示“删除成功”。 9、系统跳转到商品管理界面。 |
|
其他事件流 |
无 |
用户编辑用例描述如下表所示。
表3-3用户编辑用例描述
用例名称 |
修改用户 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行修改用户信息操作 |
|
前置条件 |
管理员已经登录系统 |
|
后置条件 |
系统中更新一条用户记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“用户管理”。 4、管理员在用户列表中选择一个用户,点击“编辑”按钮。 6、管理员填写用户信息,点击“保存修改”按钮。 |
2、系统从数据库中获取用户信息。 3、系统打开用户列表界面。 5、系统打开修改用户信息界面。 7、系统将更改后的添加到数据库中。 8、系统提示“操作成功”。 9、系统跳转到用户管理界面。 |
|
其他事件流 |
无 |
热门商品购买用例描述如下表所示。
表3-5热门商品购买用例描述
用例名称 |
热门商品购买 |
|
参与者 |
用户 |
|
用例概述 |
本用例用于用户进行对热门商品购买操作 |
|
前置条件 |
用户已经登录系统 |
|
后置条件 |
系统中增加一条用户购买记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、用户在前台首页选择任意一个热门商品分类。 4、管理员在用户列表中选择一个热门商品。 7、用户填写购买订单,点击“购买”按钮。 |
2、系统从数据库中获取热门商品列表信息。 3、系统打开热门商品列表界面。 5、系统从数据库中获取热门商品信息。 6、系统打开热门商品信息及购买界面。 8、系统检查用户输入的信息是正确有效的。 9、系统将购买记录添加到数据库中。 |
|
其他事件流 |
1、系统验证用户输入的字段为空,则提示“*购买数量不能为空!”。 |
随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。
系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。
二手电脑商城的前台中,用户模块和热门商品模块进行数据交互,实现购买的功能。前台的功能主要包括用户模块、商品模块、购买记录模块和订单模块。
二手电脑商城的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。后台的功能主要包括用户管理、商品管理、订单管理。
系统业务流程图如下所示。
图3-2系统业务流程图
通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。
图4-2系统功能结构图
注册/登录
游客(未进行注册或登陆的用户)可以浏览、搜索商品,但不能进行收藏和购买。用户注册首先需要进行表单验证,来验证用户名和手机号码是否合法,然后验证用户名和手机号是否已经存在,验证通过即可注册。
注册成功后,用户可以通过输入用户名来登录系统,输入密码后进行验证。登录成功后,用户可以进行商品购买、查看我的订单、个人信息管理等功能。
个人信息管理
用户登录系统后,在账户设置中,可以修改昵称、头像、手机号、登陆密码、收货地址等个人基本信息。
热门商品搜索
系统首页展示了商品搜索输入框,用户在输入框内输入与商品名称相关的关键字,系统通过模糊查询搜索到用户需要的商品并展示。
热门商品展示
用户在浏览热门商品时,点击某一个热门商品,跳转到该热门商品的信息展示页。在热门商品信息页面展示了热门商品的详情信息,比如热门商品介绍,热门商品详情等,用户通过浏览信息了解热门商品的主要功能和评价,最终决定是否购买。
商品购买
在商品信息页面,用户可以通过点击“购买”进行购买商品,点击后跳转到订单生成页面。订单生成页面会展示商品信息,收货地址,优惠信息等,用户确认后信息无误点击“提交”生成订单,订单生成后跳转到支付页面,支付完成则购买成功。
二手资讯
在资讯信息页面,用户可以通过点击“资讯浏览”,查看系统发布得二手资讯信息。管理员对资讯数据进行维护管理。
生成订单
用户在购买商品时,点击商品信息页面的“立即购买”或购买记录页面的“去结算”,跳转到订单生成页面,在订单生成页面用户需要确认收货地址、收货人手机号、收货人姓名等信息,确认无误后点击“提交订单”,订单提交成功,生成一条订单信息。
查看订单详情
用户在查看我的订单列表时,可以点击某一个订单来查看该订单的详细信息,主要包括订单编号、订单状态、订单日期、订单中的商品、交易金额等。订单详情还可以查看商品物流信息,用户通过能够物流信息了解所购买商品的发货状态。
商城列表列表
管理员可以在“商城列表”中展示商城中需要销售的商品,包含商品名称,商城列表属性以及类目等商城列表信息。管理员可以对商城列表进行搜索,对其进行分类。
商品添加
添加商品首先需要输入商品基本信息,如商品名称、商品价格、商品分类等;然后需要编辑商品信息详情,如商品规格,商品描述,商品图片等。管理员也可以删除已添加的商品。
概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。
系统E-R图如下所示。
图4-3系统E-R图
在图中,用户购买商品,关系为1:N,用户申请退货的关系为1:1,用户和订单的关系为1:N。
针对系统的实体和属性,结合数据设计思想,对系统的逻辑设计的内容进行如下描述。
热门商品(商品编号、名称、图片、价格、类目、新旧程度、二手价、介绍)。
订单(订单编号、用户名、订单内容、总金额、手机号、收货地址、是否支付、当前状态)。
商品类目(商品类目编号、添加时间、名称)。
数据库表是设计和实现系统的一个重要基础。以下列出了该购物系统几个重要的数据库表。
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
second_hand_mall_id |
int |
11 |
是 |
是 |
二手商城ID |
performance |
varchar |
64 |
否 |
否 |
性能 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
cart_title |
varchar |
125 |
否 |
否 |
标题 |
cart_img |
text |
0 |
否 |
否 |
封面图 |
cart_description |
varchar |
255 |
否 |
否 |
描述 |
cart_price_ago |
double |
8 |
是 |
否 |
原价:[1] |
cart_price |
double |
8 |
是 |
否 |
卖价:[1] |
cart_inventory |
int |
11 |
是 |
否 |
商品库存 |
cart_type |
varchar |
64 |
是 |
否 |
商品分类: |
cart_content |
longtext |
0 |
否 |
否 |
正文 |
cart_img_1 |
text |
0 |
否 |
否 |
主图1: |
cart_img_2 |
text |
0 |
否 |
否 |
主图2: |
cart_img_3 |
text |
0 |
否 |
否 |
主图3: |
cart_img_4 |
text |
0 |
否 |
否 |
主图4: |
cart_img_5 |
text |
0 |
否 |
否 |
主图5: |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
return_of_goods_id |
int |
11 |
是 |
是 |
商品退货ID |
order_number |
varchar |
64 |
否 |
否 |
订单号 |
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
shipment_quantity |
varchar |
64 |
否 |
否 |
发货数量 |
shipment_no |
varchar |
64 |
否 |
否 |
发货单号 |
return_time |
date |
0 |
否 |
否 |
退回时间 |
delivery_or_not |
varchar |
64 |
否 |
否 |
是否发货 |
user_account |
int |
11 |
否 |
否 |
用户账号 |
reason_for_return |
text |
0 |
否 |
否 |
退回原因 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
examine_reply |
varchar |
255 |
否 |
否 |
审核回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
popular_goods_id |
int |
11 |
是 |
是 |
热门商品ID |
commodity_number |
varchar |
64 |
否 |
否 |
商品编号 |
commodity_type |
varchar |
64 |
否 |
否 |
商品类型 |
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
picture |
varchar |
255 |
否 |
否 |
图片 |
product_introduction |
text |
0 |
否 |
否 |
商品简介 |
hits |
int |
11 |
是 |
否 |
点击数 |
praise_len |
int |
11 |
是 |
否 |
点赞数 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
goods_delivery_id |
int |
11 |
是 |
是 |
商品发货ID |
order_number |
varchar |
64 |
否 |
否 |
订单号 |
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
shipment_quantity |
int |
11 |
否 |
否 |
发货数量 |
shipment_no |
varchar |
64 |
否 |
否 |
发货单号 |
delivery_logistics |
varchar |
64 |
否 |
否 |
发货物流 |
delivery_time |
datetime |
0 |
否 |
否 |
发货时间 |
user_account |
int |
11 |
否 |
否 |
用户账号 |
delivery_or_not |
varchar |
64 |
否 |
否 |
是否发货 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
goods_id |
mediumint |
8 |
是 |
是 |
产品id |
title |
varchar |
125 |
否 |
否 |
标题 |
img |
text |
0 |
否 |
否 |
封面图 |
description |
varchar |
255 |
否 |
否 |
描述 |
price_ago |
double |
8 |
是 |
否 |
原价:[1] |
price |
double |
8 |
是 |
否 |
卖价:[1] |
customize_field |
text |
0 |
否 |
否 |
自定义字段 |
sales |
int |
10 |
是 |
否 |
销量 |
inventory |
int |
11 |
是 |
否 |
商品库存 |
type |
varchar |
64 |
是 |
否 |
商品分类: |
hits |
int |
10 |
是 |
否 |
点击量 |
content |
longtext |
0 |
否 |
否 |
正文 |
create_time |
timestamp |
0 |
是 |
否 |
创建时间: |
update_time |
timestamp |
0 |
是 |
否 |
更新时间: |
img_1 |
text |
0 |
否 |
否 |
主图1: |
img_2 |
text |
0 |
否 |
否 |
主图2: |
img_3 |
text |
0 |
否 |
否 |
主图3: |
img_4 |
text |
0 |
否 |
否 |
主图4: |
img_5 |
text |
0 |
否 |
否 |
主图5: |
source_table |
varchar |
255 |
否 |
否 |
来源表: |
source_field |
varchar |
255 |
否 |
否 |
来源字段: |
source_id |
int |
10 |
是 |
否 |
来源ID: |
user_id |
int |
11 |
否 |
否 |
添加人 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
order_id |
int |
11 |
是 |
是 |
订单ID: |
order_number |
varchar |
64 |
否 |
否 |
订单号: |
goods_id |
mediumint |
8 |
是 |
否 |
商品id: |
title |
varchar |
32 |
否 |
否 |
商品标题: |
img |
varchar |
255 |
否 |
否 |
商品图片: |
price |
double |
10 |
是 |
否 |
价格: |
price_ago |
double |
10 |
是 |
否 |
原价: |
num |
int |
8 |
是 |
否 |
数量: |
price_count |
double |
8 |
是 |
否 |
总价: |
norms |
varchar |
255 |
否 |
否 |
规格: |
type |
varchar |
64 |
是 |
否 |
商品分类: |
contact_name |
varchar |
32 |
否 |
否 |
联系人姓名: |
contact_email |
varchar |
125 |
否 |
否 |
联系人邮箱: |
contact_phone |
varchar |
11 |
否 |
否 |
联系人手机: |
contact_address |
varchar |
255 |
否 |
否 |
收件地址: |
postal_code |
varchar |
9 |
否 |
否 |
邮政编码: |
user_id |
int |
10 |
是 |
否 |
买家ID: |
merchant_id |
mediumint |
8 |
是 |
否 |
商家ID: |
create_time |
timestamp |
0 |
是 |
否 |
创建时间: |
update_time |
timestamp |
0 |
是 |
否 |
更新时间: |
description |
varchar |
255 |
否 |
否 |
描述 |
state |
varchar |
16 |
是 |
否 |
订单状态 |
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
type_id |
int |
11 |
是 |
是 |
商品分类ID: |
father_id |
smallint |
5 |
是 |
否 |
上级分类ID: |
name |
varchar |
255 |
否 |
否 |
商品名称: |
desc |
varchar |
255 |
否 |
否 |
描述: |
icon |
varchar |
255 |
否 |
否 |
图标: |
source_table |
varchar |
255 |
否 |
否 |
来源表: |
source_field |
varchar |
255 |
否 |
否 |
来源字段: |
create_time |
timestamp |
0 |
是 |
否 |
创建时间: |
update_time |
timestamp |
0 |
是 |
否 |
更新时间: |
用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。
登录流程图如下所示。
图5-1登录流程图
登录界面如下图所示。
图5-2登录界面
用户界面要尽量简洁大方,使用户能够方便找到需要的功能入口,浏览、购买商品,且要易于修改和维护,同时还要保证用户合法和系统安全。
首页载入流程图如下所示。
图5-3首页载入流程
首页界面如下图所示。
图5-4首页界面
用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名、密码和手机号,页面进行表单验证,验证输入的用户名和手机号是否合法,表单验证通过后,点击“立即注册”按钮,利用 Ajax 技术,对用户名和手机号实现页面无刷新验证,检测数据库中是否已经存在该用户名或手机号,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。
用户注册流程图如下所示。
图5-5用户注册流程图
用户注册界面如下所示。
图5-6用户注册界面
公告栏展示页是展示系统商品的页面,
公告栏展示页面,如下图所示。
图5-7公告栏商品展示页面
系统首页提供了搜索热门商品产品的输入框,用户在输入框内输入想要查找热门商品产品的关键字,点击搜索按钮,系统将用户输入的关键字传递到后台。首先创建一个实体类 PageBean,该实体类的属性包括页码 pageCode、每页记录数 pageSize、总记录数 totalRecord 和一个 List 集合 beanList,利用输入的关键字对数据库进行模糊查询,将得到的结果存入 PageBean 中,返回PageBean 跳转到 goodList.php 页面,在 goodList.php 页面,使用循环将搜索到的结果分页展示。
如下图所示为热门商品产品搜索流程图。
图5-8热门商品搜索流程图
热门商品产品搜索界面如下图所示。
图5-9热门商品产品搜索界面
用户在浏览热门商品产品时,对于心仪的想要购买的热门商品产品,可以将该热门商品产品添加到购买记录中。点击“添加购买记录”按钮,页面将该热门商品产品的数据传递到后台,首先查询数据库购买记录表中是否已经存在该热门商品产品,若存在直接将热门商品产品数量加一,若不存在则创建一个新的购买记录对象,添加购买记录成功,数据库中的购买记录表添加一条信息。用户还可以点击“我的购买记录”查看添加到购买记录的热门商品产品,系统通过读取 session获取到用户 ID,将用户 ID 传递到后台,在购买记录表中查询该用户的所有购买记录信息,返回数据到我的购买记录页面。
如下图所示为热门商品产品购买流程图。
图5-10热门商品产品购买流程图
热门商品产品购买界面如下图所示。
图5-11热门商品产品购买界面
订单支付界面如下图所示。
图5-12订单支付界面
管理员对系统用户的管理,在yhzhgl.php实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,提交到mod.php中,使用sql命令更新密码。
用户管理流程图如下所示。
图5-13用户管理流程图
用户管理界面如下图所示。
图5-14用户管理界面
修改收货地址界面如下图所示。
图5-15收货地址修改界面
管理员可以获取系统中所有二手商品的列表并对其进行编辑。管理员在添加二手商品时,需要输入二手商品基本信息,如名称、价格、类型等,还需要输入二手商品详情描述,包括对二手商品功能的描述以及展示图片等。添加二手商品完成,数据库二手商品表添加一条信息。管理员可以搜索二手商品,同时可以对已经添加的二手商品进行编辑。
二手商品管理流程图如下所示。
图5-16二手商品管理流程图
二手商品管理界面如下图所示。
图5-17二手商品管理流程图
管理员在后台管理界面点击到所有订单界面dingdan_list.php,向控制层dingdanAction发送请求,搜索当前所有订单信息,dingdanAction向订单数据访问层调用搜索全部订单的请求,向数据库的订单表搜索当前所有订单并将订单信息以对象的形式层层返回到dingdan_list.php界面,显示出当前所有订单信息。同时可以删除过期订单,确认已有订单,进行发货处理。
订单审核流程图如下所示。
图5-18订单审核流程图
订单管理界面如下图所示。
图5-19订单管理界面
商品发货界面如下图所示。
图5-20商品发货界面
以进入系统首页的访问速度为例展示系统的性能测试;系统的主要用户群体是购物理念较为先进的消费者,系统要在3秒钟内响应;需要完成页面的菜单栏、首页轮播图片、类目及商城列表、二手商品信息以及各功能模块入口等元素的显示。
功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。
系统功能性测试表如下表所示。
表6-1系统功能性测试表
编号 |
测试功能 |
测试内容 |
测试结果 |
1 |
用户登录 |
1.验证用户名与密码的正确性。 2.验证密码是否可见。 |
通过 |
2 |
首页展示 |
1.首页数据是否成功加载。 2.验证搜索功能的准确性。 3.验证是否可以异步加载。 4.验证导航栏按钮。 |
通过 |
3 |
个人信息修改 |
1.验证登录名是否可以正常更改。 2.验证联系方式是否可以更改。 3.验证收货地址可以正常修改。 4.验证密码是否可以修改。 |
通过 |
4 |
购买记录管理 |
1.购买记录清单是否可以生成。 2.验证消费信息是否准确。 |
通过 |
7 |
二手商品管理 |
1.验证类目新增是否可以成功。 2.验证类目删除是否可以成功。 |
通过 |
8 |
热门商品管理 |
1.热门商品信息是否与上传一致。 2.是否能完成价格修改。 3.验证库存信息修改。 |
通过 |
9 |
订单处理 |
1.能否正常上传单号完成发货。 2.验证数据准确性。 |
通过 |
10 |
添加商品 |
1.上传商品是否添加验证。 2.图片是否成功上传。 3.验证表单是否提交成功。 |
通过 |
11 |
用户管理 |
1.验证用户录入功能。 2.验证用户违规清理功能。 |
通过 |
集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。
在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。
本文针对二手电脑商城的特点和用户需求,利用 Python+MySQL技术,通过详细的需求分析、页面设计和功能设计,最终实现了一个二手电脑商城。实现了包括用户模块、二手商品模块、二手资讯模块和订单模块的前台系统以及包括用户管理模块、热门商品管理模块、订单管理模块的后台系统。另外,系统还进行了数据安全设计,并添加了用户的访问控制,建立了一个完整、健壮、安全稳定的二手电脑商城。
该系统的特点有:
(1)简单大方,易于操作的 Web 页面;
(2)利用 Ajax 技术使页面进行无刷新更新;
(4)系统具有商品搜索功能,使用户能够简单方便的找到自己心仪的商品;
(5)评论功能可以帮助用户更全面的了解商品信息,用户可以发表自己对已购买商品的评价;
(6)有良好的安全性和可扩展性,增强了系统的可靠性,使系统保持持久的生命力。
由于时间限制和本人能力条件有限,该系统还存在一些不足,今后也会出现许多新的开发技术,未来还可以对系统做出如下改进:
(1)优化系统页面,使页面更加美观且方便操作;
(2)优化商品搜索功能,提供多条件选择查询搜索;
(4)优化在线支付功能,提供更多支付接口,使用户付款更加方便;
(5)进一步提高系统的安全性,使系统更加健壮;
(6)优化数据和代码,提升软件效率,方便系统维护和扩展。
[3]赵琳琳. 新政鼓励下 我国“互联网+二手”模式迎来发展新契机[N]. 中国产经新闻,2021-07-14(002).
[4]杨文豪. 基于微服务的网上商城系统的设计与实现[D].北京邮电大学,2021.
[5]王娟.基于Android系统的手机网上商城设计与实现[J].电子技术与软件工程,2021(03):43-44.
[6]袁江琛.Ajax+jQuery在网上商城购物车模块中的设计与实现[J].电脑编程技巧与维护,2020(10):34-35+68.
[7]王柯梦,王瑞平.基于B2C网上商城前台系统数据库设计与实现[J].广西质量监督导报,2020(09):70-71.
[8]朱袁健. C2C二手交易平台用户管理研究[D].天津大学,2020.
[9]张宇. 二手商品线上交易信用管理研究[D].北京化工大学,2020.
[10]孙建英.分布式、集中式、区块链技术在网上商城中的应用[J].商场现代化,2020(01):13-15.
[11]徐连霞.基于SSM的校园二手商品交易系统设计与实现[J].中外企业家,2019(36):69.
[12]宁克南. 基于lightGBM的电子商城二手商品价格推荐分析[D].天津财经大学,2019.
[13]邵蓝洁,陈克远,吴文治.互联网上的消费新时尚[J].康颐,2018(07):42-45.
[14]白忠军. 基于云平台的校园二手商品交易系统的设计与实现[D].贵州大学,2018.
[15]刘子才. 网络二手市场“柠檬”问题研究[D].四川省社会科学院,2018.
[16]赵佳. 基于web的跳蚤市场网络交易平台的开发与设计[D].吉林大学,2018.
[17]张蕾.基于J2EE技术的网上电脑商城的设计[J].软件导刊,2018,10(07):127-128.
[15]Ni Kadek Yuni Ristyawati , I Ketut Adi Purnawan , Gusti Made Arya Sasmita. The Implementation of Enterprise Resource Planning ERP on Sales Management Module using Odoo 11[J]. Journal of Trend in Scientific Research and Development,2020,4(4):
[18]Katarzyna Midor. New technologies and quality of customer service – case study[J]. Multidisciplinary Aspects of Production Engineering,2019,2(1):
[20]Yi Wang,Jian Ming Zhang,Jian Rong Hu. Application of Ontology Technology in Building Knowledge Base of E-Commerce System in Direct Selling Clothing Network[J]. Advanced Materials Research,2018,3245(952-952):
时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。
免费领取项目源码,请关注点赞+私聊