node.js电商管理系统
摘 要
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,电商管理系统当然也不能排除在外。电商管理系统 是以实际运用为开发背景,运用软件工程开发方法,采用互联网技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。
电商管理系统采取Mysql作为后台数据的主要存储单元,运用软件工程原理和开发方法,采用node.js的koa技术构建的一个管理系统,实现了本系统的全部功能。完成系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户管理、商品信息、订单列表、商品管理、商品出库、商品入库、商品采购、订单发货、订单取消、订单收货、销售统计、财务统计、商品种类分析等功能的实现过程。
关键词:电商管理系统 ; Node.js;
node. JS e-commerce management system
Abstract
With the rapid development of science and technology, all aspects of society and all walks of life are trying to integrate with modern advanced technology and improve their own advantages through scientific and technological means. Of course, e-commerce management system cannot be excluded. E-commerce management system is a management system based on practical application, software engineering development method and Internet technology. The whole development process first analyzes the requirements of the software system and obtains the main functions of the system. Then the overall design and detailed design of the system are carried out. The overall design mainly includes the overall system structure design, system data structure design, system function design and system security design; The detailed design mainly includes the key code of module implementation, system database access and the specific implementation of main function modules. Finally, the function of the system is tested, and the test results are analyzed and summarized to improve the shortcomings of the system in time, which not only provides convenience for future system maintenance, but also provides reference and help for the development of similar systems in the future.
The e-commerce management system adopts MySQL as the main storage unit of background data, uses software engineering principles and development methods, and adopts node JS koa technology to build a management system, to achieve all the functions of the system. Complete the page design and function realization of the main modules of the system. This paper shows the implementation effect diagram of the home page, and introduces the implementation process of user management, commodity information, order list, commodity management, commodity delivery, commodity warehousing, commodity purchase, order delivery, order cancellation, order receipt, sales statistics, financial statistics, commodity category analysis and other functions through the code and page.
Key words: E-commerce management system; Node. js;
目 录
第1章 绪论
1.1 研究背景与意义
1.2 开发现状
1.3 论文组成结构
第2章 相关技术介绍
2.1 koa框架
2.2 Vue.js主要功能
2.3 MVVM模式介绍
2.4 B/S体系工作原理
2.5 Mysql数据库
第3章 系统分析
3.1 可行性分析
3.1.1 经济可行性
3.1.2 技术可行性
3.1.3 操作可行性
3.2 功能性需求分析
3.3 非功能性需求分析
第4章 系统设计
4.1 功能模块设计
4.2 数据库设计
4.2.1 概念模型设计
4.2.2 数据库逻辑设计
4.2.3 数据库表设计
第5章 系统实现
5.1登录模块的实现
5.2 注册模块的实现
5.3商品列表的实现
5.4 用户管理模块 19
5.5订单列表管理的实现
5.6商品入库管理的实现
5.7 个人资料模块
5.8商品采购管理的实现
第6章 系统测试
6.1 系统可靠性测试
6.2 系统功能性测试
6.3 系统合格性测试
6.4 测试结果
第7章 总结与展望 29
参考文献
致谢
21世纪是经济全球化和一体化高速发展的时代,互联网技术的不断成熟及其广泛的应用,使得电子商务这一新的商业活动模式应运而生,引起了企业竞争模式的巨变。市场的竞争已经从企业与企业之间内部资源和优势的竞争,转变为企业内、外部资源和优势的全面竞争,以满足生产为主导的传统供应链管理所具有的横向集成特性难以适应经济全球化、市场竞争日趋激烈的新形势。作为时代发展的产物,新一代的供应链管理不仅有效地实现了企业内部各部门之间信息技术以及各种资源的传递和共享,而且有利于木企业与其他企业之间各种资源与利益的共享,作为企业内部不同部门之问以及企业与外部之问沟通的方式,在企业的运行和管理过程中发挥着越来越重要的作用。
基于计算和信息交流来实现前端和后端业务流程的电子商务技术已经成为推动这种新一代供应链管理模式发展的重要力量,也是供应链管理在未来的改革中不可替代的关键因系。电子商务这一,人的环境是企业推行供应链管理以及改革的过程中必然要面临的,也是无法逃避的。因此如何对供应链管理进行适当的改革和优化以适应现代电子商务的大环境,建立并进一步完善企业供应链管理的平台,是提高和扩大现代企业核心竞争力的关键,也是判断企业是否能在激烈的供应链市场竞争中发挥优势,抓住机会,立于不败之地的重要标准。基于电子商务的供应链管理体现了供应链管理的发展方向,也代表着现代市场经济不断发展变化的潮流和趋势,同时也是现代企业在激烈的市场竞争环境中不断提高绩效,塑造企业核心竞争能力的源泉。
随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。然而,许多管理领域的不合理结构,人员不足以及管理需求的增加使得更多的人具备了互联网管理的意识。
在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。 “电商管理系统 ”是基于Mysql数据库,在node.js的koa技术程序设计的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,蓬勃发展。同时,随着信息社会的快速发展,电商管理系统面临着越来越多的信息,因此很难获得他们对高效信息的需求,如何使用方便快捷的方式使查询者在广阔的海洋信息中查询,存储,管理和共享信息方面有效,对我们的工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——电商管理系统 诞生了。
根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出电商管理系统 。
本文共有七章,如下所示。
第一章概述了电商管理系统 的研究目的和意义;精炼地总结了国内外在内的领域研究情况和未来的研究趋势,最后给出了论文的组成结构。
第二章简要概述了本文所用的开发技术和工具。
第三章简要对系统各业务流程进行需求分析、可行性分析。
第四章对电商管理系统 进行设计。
第五章对电商管理系统 进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。
第六章对电商管理系统 采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。
第七章总结全文并对未来的研究做出展望。
Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。
koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。
阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。
2.2 Vue.js 主要功能:
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
2.3 MVVM模式介绍:
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
本系统将在经济、技术、操作这三个角度上进行可行性分析。
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于VUE框架,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
电商管理系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Node.js技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
(1)用户管理:主要包括用户列表、用户数据管理等功能。
(2)商品管理模块:主要包括商品编号、商品分类、库存、图片、员工账号、备注等功能。
(3)商品出库模块:主要包括商品编号、商品分类、出库数量、出库时间、出库人等功能。
(4)商品入库模块:主要包括商品编号、商品分类、入库数量、入库时间、入库人等功能。
(5)商品采购管理:主要包括商品编号、商品分类、采购数量、采购价格、总金额、申请人、采购说明等功能。
(6)销售统计模块:主要包括销售编号、商品分类、销售时间、销售数量、销售总金额等功能。
(7)财务统计模块:主要包括统计编号、商品分类商品名称、应付金额、应付数量、实付金额、实付数量、未收金额等功能。
系统用例图如下所示。
图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-4用户编辑用例描述
用例名称 |
修改用户 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行修改用户信息操作 |
|
前置条件 |
管理员已经登录系统 |
|
后置条件 |
系统中更新一条用户记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“用户管理”。 4、管理员在用户列表中选择一个用户,点击“编辑”按钮。 6、管理员填写用户信息,点击“保存修改”按钮。 |
2、系统从数据库中获取用户信息。 3、系统打开用户列表界面。 5、系统打开修改用户信息界面。 7、系统将更改后的添加到数据库中。 8、系统提示“操作成功”。 9、系统跳转到用户管理界面。 |
|
其他事件流 |
无 |
订单取消用例描述如下表所示。
表3-5订单取消用例描述
用例名称 |
订单取消 |
|
参与者 |
用户 |
|
用例概述 |
本用例用于用户进行对订单取消操作 |
|
前置条件 |
用户已经登录系统 |
|
后置条件 |
系统中增加一条订单取消记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、用户在前台首页选择任意一个订单取消分类。 4、管理员在用户列表中选择一个职位。 7、用户填写投递订单,点击“投递”按钮。 |
2、系统从数据库中获取订单取消列表信息。 3、系统打开订单取消列表界面。 5、系统从数据库中获取订单取消信息。 6、系统打开订单取消信息及投递界面。 8、系统检查用户输入的信息是正确有效的。 9、系统将订单取消添加到数据库中。 |
|
其他事件流 |
1、系统验证用户输入的字段为空,则提示“*订单取消不能为空!”。 |
随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。
系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。
通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。
图4-1系统功能结构图
注册/登录
游客(未进行注册或登陆的用户)可以浏览、搜索物资,但不能进行收藏和购买。用户注册首先需要进行表单验证,来验证用户名和手机号码是否合法,然后验证用户名和手机号是否已经存在,验证通过即可注册。
注册成功后,用户可以通过输入用户名来登录系统,输入密码后进行验证。登录成功后,用户可以使用首页、库存物资、物资入库、物资出库、通知公告等功能。
个人信息管理
用户登录系统后,在账户设置中,可以修改昵称、头像、手机号、登陆密码、收货地址等个人基本信息。
商品搜索
系统首页展示了商品搜索输入框,用户在输入框内输入与商品信息相关的关键字,系统通过模糊查询搜索到用户需要的商品并展示。
订单发货信息展示
用户在浏览订单发货时,点击某一个订单发货,跳转到该订单发货的信息展示页。在订单发货信息页面展示了订单发货的详情信息,比如订单发货介绍,订单发货详情,订单发货状态和收藏等,用户通过浏览信息了解订单发货的主要内容,最终决定是否订单发货申请。
商品采购
在商品采购信息页面,用户可以通过点击“商品”进行商品采购,点击后跳转到商品采购成功页面。生成页面会展示商品采购信息等,用户确认后信息无误点击“提交”生成。
商品入库
管理员可以在“商品入库”中展示服务内容,包含客户名称、地址、联系电话、备注等客户信息。管理员可以对客户进行搜索,查询客户。
概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。
系统E-R图如下所示。
图4-2系统E-R图
在图中,用户投递简历,关系为1:N,管理员管理简历的关系为1:N,用户和投递简历的关系为1:N。
针对系统的实体和属性,结合数据设计思想,对系统的逻辑设计的内容进行如下描述。
普通用户(普通用户编号、性别、审核状态、用户ID)。
销售统计(销售统计编号、销售编号、商品分类、销售时间、销售数量、销售总金额)。
员工用户(员工用户编号、性别、审核状态)。
财务统计(财务统计编号、统计编号、商品分类、商品名称、应付金额、应付数量、实付金额、实付数量、未收金额、未收数量、时间)。
订单取消(订单取消编号、订单编号、商品名称、取消时间、退款金额、用户账号、员工账号、取消原因)。
订单收货(订单收货编号、订单编号、商品名称、发货数量、物流名称、物流单号、用户账号、收货时间)。
订单发货(订单发货编号、订单编号、商品名称、发货数量、发货时间、物流名称、物流单号、用户账号、出库状态、员工账号)。
商品(商品编号、物资编号、物资名称、物品类别、库存、图片、备注、审核状态、审核回复)。
商品种类分析(商品种类分析编号、分析编号、商品分类、销售数量、预购数量、时间、种类分析)。
商品管理(商品管理编号、商品编号、商品分类、库存、图片、员工账号、备注)。
数据库表是设计和实现系统的一个重要基础。以下列出了电商管理系统 几个重要的数据库表。
sales_statistics表:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
sales_statistics_id |
int |
11 |
是 |
是 |
销售统计ID |
|||||
sales_number |
varchar |
64 |
否 |
否 |
销售编号 |
|||||
commodity_classification |
varchar |
64 |
否 |
否 |
商品分类 |
|||||
sales_time |
date |
0 |
否 |
否 |
销售时间 |
|||||
sales_volumes |
int |
11 |
否 |
否 |
销售数量 |
|||||
total_sales_amount |
varchar |
64 |
否 |
否 |
销售总金额 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
ordinary_users表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
ordinary_users_id |
int |
11 |
是 |
是 |
普通用户ID |
|||||
gender |
varchar |
64 |
否 |
否 |
性别 |
|||||
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
user_id |
int |
11 |
是 |
否 |
用户ID |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
order_shipment表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
order_shipment_id |
int |
11 |
是 |
是 |
订单发货ID |
|||||
order_number |
varchar |
64 |
否 |
否 |
订单编号 |
|||||
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
|||||
shipment_quantity |
int |
11 |
否 |
否 |
发货数量 |
|||||
delivery_time |
date |
0 |
否 |
否 |
发货时间 |
|||||
logistics_name |
varchar |
64 |
否 |
否 |
物流名称 |
|||||
logistics_order_no |
varchar |
64 |
否 |
否 |
物流单号 |
|||||
user_account |
int |
11 |
否 |
否 |
用户账号 |
|||||
outbound_status |
varchar |
64 |
否 |
否 |
出库状态 |
|||||
employee_account_number |
int |
11 |
否 |
否 |
员工账号 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
order_receipt表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
order_receipt_id |
int |
11 |
是 |
是 |
订单收货ID |
|||||
order_number |
varchar |
64 |
否 |
否 |
订单编号 |
|||||
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
|||||
shipment_quantity |
varchar |
64 |
否 |
否 |
发货数量 |
|||||
logistics_name |
varchar |
64 |
否 |
否 |
物流名称 |
|||||
logistics_order_no |
varchar |
64 |
否 |
否 |
物流单号 |
|||||
user_account |
int |
11 |
否 |
否 |
用户账号 |
|||||
receiving_time |
date |
0 |
否 |
否 |
收货时间 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
order_cancellation表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
order_cancellation_id |
int |
11 |
是 |
是 |
订单取消ID |
|||||
order_number |
varchar |
64 |
否 |
否 |
订单编号 |
|||||
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
|||||
cancel_time |
date |
0 |
否 |
否 |
取消时间 |
|||||
refund_amount_ |
int |
11 |
否 |
否 |
退款金额 |
|||||
user_account |
int |
11 |
否 |
否 |
用户账号 |
|||||
employee_account_number |
int |
11 |
否 |
否 |
员工账号 |
|||||
cancellation_reason |
text |
0 |
否 |
否 |
取消原因 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
financial_statistics表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
financial_statistics_id |
int |
11 |
是 |
是 |
财务统计ID |
|||||
statistical_number |
varchar |
64 |
否 |
否 |
统计编号 |
|||||
commodity_classification |
varchar |
64 |
否 |
否 |
商品分类 |
|||||
trade_name |
varchar |
64 |
否 |
否 |
商品名称 |
|||||
amount_payable |
int |
11 |
否 |
否 |
应付金额 |
|||||
payable_quantity |
int |
11 |
否 |
否 |
应付数量 |
|||||
paid_in_amount |
int |
11 |
否 |
否 |
实付金额 |
|||||
paid_in_quantity |
int |
11 |
否 |
否 |
实付数量 |
|||||
uncollected_amount |
int |
11 |
否 |
否 |
未收金额 |
|||||
uncollected_quantity |
int |
11 |
否 |
否 |
未收数量 |
|||||
time |
date |
0 |
否 |
否 |
时间 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
employee_user表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
employee_user_id |
int |
11 |
是 |
是 |
员工用户ID |
|||||
gender |
varchar |
64 |
否 |
否 |
性别 |
|||||
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
user_id |
int |
11 |
是 |
否 |
用户ID |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
commodity_category_analysis表 |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
commodity_category_analysis_id |
int |
11 |
是 |
是 |
商品种类分析ID |
|||||
analysis_number |
varchar |
64 |
否 |
否 |
分析编号 |
|||||
commodity_classification |
varchar |
64 |
否 |
否 |
商品分类 |
|||||
sales_volumes |
int |
11 |
否 |
否 |
销售数量 |
|||||
pre_order_quantity |
int |
11 |
否 |
否 |
预购数量 |
|||||
time |
date |
0 |
否 |
否 |
时间 |
|||||
species_analysis |
text |
0 |
否 |
否 |
种类分析 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
commodity_management表: |
||||||||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
|||||
commodity_management_id |
int |
11 |
是 |
是 |
商品管理ID |
|||||
commodity_number |
varchar |
64 |
否 |
否 |
商品编号 |
|||||
commodity_classification |
varchar |
64 |
否 |
否 |
商品分类 |
|||||
stock |
int |
11 |
否 |
否 |
库存 |
|||||
picture |
varchar |
255 |
否 |
否 |
图片 |
|||||
employee_account_number |
int |
11 |
否 |
否 |
员工账号 |
|||||
remarks |
text |
0 |
否 |
否 |
备注 |
|||||
recommend |
int |
11 |
是 |
否 |
智能推荐 |
|||||
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
|||||
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
|||||
用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。
登录界面如下图所示。
图5-1登录界面
用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名、密码和手机号,页面进行表单验证,验证输入的用户名和手机号是否合法,表单验证通过后,点击“立即注册”按钮,利用 Ajax 技术,对用户名和手机号实现页面无刷新验证,检测数据库中是否已经存在该用户名或手机号,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。
用户注册界面如下所示。
图5-1用户注册界面
用户在浏览商品时,对于想要查看的商品,可以将该求商品下载。点击“搜索”按钮,页面将该商品的数据传递到后台,首先查询数据库商品表中是否已经存在该商品,若存在直接将商品数量加一,若不存在则创建一个新的服务表,上传成功,数据库中的服务表添加一条信息。系统通过读取 session获取到用户 ID,将用户 ID 传递到后台。
商品列表界面如下图所示。
图5-1商品界面
管理员对用户的管理,在yhzhgl.jsp实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,提交到mod.jsp中,使用sql命令更新密码。
用户管理的界面如下图所示。
图5-1商品列表历界面
管理员可以获取系统中所有订单列表的列表并对其进行编辑。管理员在添加订单列表时,需要输入订单列表基本信息,如商品名称等,还需要输入订单列表详情描述,包括对订单列表功能的描述以及展示图片等。添加订单列表完成,数据库订单列表表添加一条信息。管理员可以搜索订单列表,同时可以对已经添加的订单列表进行编辑。
订单列表管理界面如下图所示。
图5-1订单列表管理界面
管理员在后台管理界面点击到所有商品入库界面dingdan_list.php,向控制层dingdanAction发送请求,搜索当前所有商品入库信息,dingdanAction向商品入库数据访问层调用搜索全部商品入库的请求,向数据库的商品入库搜索当前所有商品入库并将商品入库信息以对象的形式层层返回到dingdan_list.node界面,显示出当前所有商品入库信息。同时可以删除过期商品入库,确认已有商品入库,进行发布。
商品入库管理界面如下图所示。
图5-1商品入库管理界面
用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。
密码修改流程图如下所示。
图5-1密码修改流程图
管理员在后台管理界面点击到所有商品采购界面dingdan_list.php,向控制层dingdanAction发送请求,搜索当前所有商品采购信息,dingdanAction向商品采购数据访问层调用搜索全部商品采购的请求,向数据库的商品采购搜索当前所有商品采购并将商品采购信息以对象的形式层层返回到dingdan_list.php界面,显示出当前所有商品采购信息,包括,商品编号、商品分类、采购价格、总金额、申请人、采购说明等。
商品采购管理界面如下图所示。
图5-1商品采购管理界面
以进入系统首页的访问速度为例展示系统的性能测试;系统的主要用户群体是购物理念较为先进的消费者,系统要在3秒钟内响应;需要完成页面的菜单栏、首页轮播图片、类目及商品列表、商品评价以及各功能模块入口等元素的显示。
功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。
系统功能性测试表如下表所示。
表6-1系统功能性测试表
编号 |
测试功能 |
测试内容 |
测试结果 |
1 |
用户登录 |
1.验证用户名与密码的正确性。 2.验证密码是否可见。 |
通过 |
2 |
首页展示 |
1.首页数据是否成功加载。 2.验证搜索功能的准确性。 3.验证是否可以异步加载。 4.验证导航栏按钮。 |
通过 |
3 |
个人信息修改 |
1.验证登录名是否可以正常更改。 2.验证联系方式是否可以更改。 3.验证收货地址可以正常修改。 4.验证密码是否可以修改。 |
通过 |
7 |
订单列表 管理 |
1.验证类目新增是否可以成功。 2.验证类目删除是否可以成功。 |
通过 |
8 |
商品入库管理 |
1.商品入库信息是否与上传一致。 2.是否能完成信息修改。 3.验证商品入库发布信息修改。 |
通过 |
9 |
商品出库 |
1.能否正常进行商品出库。 2.验证数据准确性。 |
通过 |
10 |
商品采购 |
1.商品采购是否添加验证。 2.商品采购是否回复上传。 3.验证表单是否提交成功。 |
通过 |
11 |
用户管理 |
1.验证用户录入功能。 2.验证用户违规清理功能。 |
通过 |
集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。
在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实际到的技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。系统的开发环境和配置都是可以自行安装的,系统使用VUE.js开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。
电商管理系统 的主要特点有:
(1)简单大方,易于操作的 Web 页面;
(2)利用 Ajax 技术使页面进行无刷新更新;
(3)根据用户的浏览和搜索记录,向用户推荐可能感兴趣的服务信息;
(4)系统具有物资搜索功能,使用户能够简单方便的找到自己想要了解的物资信息;
(5)商品入库功能可以帮助管理员对物资的商品编号、商品分类、入库数量、入库时间、入库人;
(6)有良好的安全性和可扩展性,增强了系统的可靠性,使系统保持持久的生命力。
由于时间限制和本人能力条件有限,该系统还存在一些不足,今后也会出现许多新的开发技术,未来还可以对系统做出如下改进:
(1)优化系统页面,使页面更加美观且方便操作;
(2)优化服务搜索功能,提供多条件选择查询搜索;
(3)优化资讯推荐功能,提高资讯推荐的精准度;
(4)进一步提高系统的安全性,使系统更加健壮;
(5)优化数据和代码,提升软件效率,方便系统维护和扩展。
[1]李艳杰.基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J].黑龙江科学,2022,13(02):56-57.
[2]冯凯.“MySQL数据库”课程教学中常见问题探析[J].无线互联科技,2021,18(24):158-159.
[3]陈洁.“MySQL数据库安全”课程教学方法优化分析[J].无线互联科技,2021,18(24):160-161.
[4]罗尹奇.基于JNI的MySQL数据库访问性能优化研究[J].电子元器件与信息技术,2021,5(12):3-6.
[5]Győrödi Cornelia A.,DumşeBurescu Diana V.,Győrödi Robert Ş.,Zmaranda Doina R.,Bandici Livia,Popescu Daniela E.. Performance Impact of Optimization Methods on MySQL Document-Based and Relational Databases[J]. Applied Sciences,2021,11(15).
[6]Bouamrane Karim,Matallah Houcine,Belalem Ghalem. Comparative Study Between the MySQL Relational Database and the MongoDB NoSQL Database[J]. International Journal of Software Science and Computational Intelligence (IJSSCI),2021,13(3).
[7]石涵. 构建传统功法治疗KOA动作分析框架的探索研究[D].北京中医药大学,2021.
[8]张倩,李旭英,林华焜,苟睿,石睿.基于Vue.js+Koa框架的APP平台设计与实现——以酒类文化交流与电子商务为例[J].现代信息科技,2021,5(07):63-66+70.
[9]He Zhenhua,Ma Jinjing. E-commerce company strategic management system based on balanced scorecard with Computer Aid[J]. Journal of Physics: Conference Series,2021,1744(4).
[10]陈荣鑫.基于NodeJS+Express框架的学院会议室预定系统设计与开发[J].信息与电脑(理论版),2021,33(02):95-97.
[11]Gyorodi Cornelia A.,Dumse Burescu Diana V,Zmaranda Doina R.,Gyorodi Robert S.,Gabor Gianina A.,Pecherle George D.. Performance Analysis of NoSQL and Relational Databases with CouchDB and MySQL for Application's Data Storage[J]. APPLIED SCIENCES-BASEL,2020,10(23).
[12]遇宇.基于Nodejs的定制化流程引擎设计与实现[J].电脑编程技巧与维护,2020(11):39-40+65.
[13]刘丰. 基于全栈平台NodeJS的矿场综合管理系统的设计与实现[D].华中师范大学,2020.
[14]Chenjie Li. E-Commerce Enterprise Marketing Management: Realistic Dilemma, Main Incentives and Resolution Strategies[J]. Open Journal of Social Sciences,2020,08(07).
[15]张贵强,王美玲.基于NodeJS的企业网站的设计与实现[J].信息技术与信息化,2019(12):58-60.
[16]何锡浩,单玉刚.基于nodejs的校园智能视频监控系统设计和实现[J].电脑知识与技术,2019,15(36):198-200.
[17]钟德福,张良国,艾红,黄小华,吕俊霖.基于NodeJS的渔业资源调查数据采集系统框架重构[J].渔业现代化,2019,46(06):104-109.
[18]徐浪. 基于Node.js的Web应用框架研究与实现[D].安徽工业大学,2019.
[19]毛英杰.基于Koa框架的停车诱导系统[J].福建电脑,2019,35(01):143-144+125.
[20]孙跃. 基于NodeJS与NoSQL的跨平台即时消息系统的研究和实现[D].东南大学,2018.
[21]许正义. 基于NodeJs的成果管理辅助系统设计与实现[D].江西师范大学,2018.
时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。
免费领取本源代码,请关注点赞+私信