【计算机毕业设计】Node.js商城APP-97200,免费送源码,【开题选题+程序定制+论文书写+答辩ppt书写-原创定制程序】

Node.js商城APP的开发

摘  要

在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买各类商品腾出时间,更不会耐心挑选自己想要的商品。所以设计一个商城APP,既是迎合电子商务的大潮流,也是传统商品销售行业的一个突破口,可以给传统销售行业带来转变和机遇。

本系统主要是提供给用户一个购买各类商品的APP,通过价格优势吸引众多消费者来购买,实现正常运营。该系统采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作系统采取Mysql作为后台数据的主要存储单元,运用软件工程原理和开发方法,采用node.js的koa技术构建的一个管理系统,实现了本系统的全部功能。目标是实现一个以销售为中心的计算机系统,构建用户信息与账号,账号与订单信息有机结合的业务系统。

关键词:商城APP;线上购物;Node.js

Development of Node.js Mall APP

ABSTRACT

in the traditional business model, people are used to buying various kinds of daily goods in various stores. However, in the fast-paced new era, people may not be able to spare time for purchasing various kinds of goods, let alone patiently select the goods they want. Therefore, designing a mall APP is not only to meet the trend of e-commerce, but also a breakthrough in the traditional commodity sales industry, which can bring changes and opportunities to the traditional sales industry.

This system mainly provides users with an APP for purchasing various commodities, and attracts many consumers to purchase through price advantage to achieve normal operation. The system adopts the object oriented development mode for software development and hardware erection, which can well meet the needs of actual use. The corresponding software erection and program coding work system adopts MySQL as the main storage unit of background data, uses software engineering principles and development methods, and uses the koa technology of node.js to build a management system, which realizes all the functions of the system. The goal is to realize a sales centered computer system and build a business system that combines user information with account number and account number with order information.

Key words:Mall APP; Online shopping; Node. js

目    录

  

ABSTRACT

第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数据库

2.6 koa框架优点

2.7小程序框架以及目录结构介绍

第3章 系统分析

3.1可行性分析

3.1.1操作可行性

3.1.2技术可行性

3.1.3经济可行性

3.2功能需求分析

3.3用例分析

3.4数据流分析

3.5数据字典

第4章 系统设计

4.1结构设计

4.2功能设计

4.3数据库设计

4.3.1概念设计

4.3.2逻辑设计

4.3.3表设计

第5章 系统详细设计

5.1Node.jsEE连接数据库

5.2登录模块

5.3新闻资讯模块

5.4商品评论模块

5.5商品订单模块

5.6系统用户管理模块

5.7商城管理模块

5.8新闻资讯管理模块

5.9商品售后管理模块

第6章 系统测试

6.1测试目的

6.2测试用例

第7章 结论

参考文献

 

  1.  绪论

1.1研究背景与意义

近些年来,我国的经济和科技水平发展迅猛,尤其是在智能手机的研发和使用方面,取得了世界瞩目的成就。随着智能手机的普及,QQ、微信等日常交流软件的使用率也大大增加,极大的改变了传统沟通方式,微信小程序这一新功能在微信这个应用软件中的应用也不断完善和发展。据权威部门统计,截止到2018年3月,我国微信小程序的用户量和活跃量已经突破了4亿,这不仅得益于我国巨大的人口基数,同时与我国开放发展、自由和谐的社会环境密不可分。

各种物品是人们日常的消费品,物品供应与消费者需求有着极为重要的关系。社会压力造成工作日渐繁忙,时间观念越来越强,简化事务、方便消费,使网络化销售逐渐成为消费社会化的需要。同时,由于人们生活消费质量的不断提高,各种物品消费需要由“数量型”向“质量型”转变,物品消费的消耗性、多样化也成为一种消费需求。

线上购物在当今发达国家已经显示出较强的发展势头,它在推动国家经济增长方面可以说又是一支崭新的力量。相比之下,在我国线上购物还是比较滞后,但是,经过近几年的发展,有越来越多的人认识到“线上订货、送货上门”的方便,也有越来越多的人也开始接受商城APP购物。

1.2系统目标

对于典型的数据库系统,尤其是对于像商城APP这样的数据流量特别大的网络系统,必须要满足使用方便、操作灵活等要求。本系统在设计时应该满足以下几个目标

(1)采用人机对话的操作方式,界面美观、友好,信息查询灵活、方便,数据存储准确、安全可靠;

(2)全面展示所有商品,并可展示主要商品;

(3)便于顾客快捷地进行商品信息查询;

(4)用户可以随时修改自己的基本资料;

(5)实现下单的功能;

(6)顾客可以随时查看自己的订单信息,可以进行商品售后申请等;

(7)对客户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误;

(8)系统最大限度地实现了易维护性和易操作性;

(9)系统运行稳定、安全可靠。

1.3本文的结构

本文具体内容包括:绪论、系统采用的关键技术、系统分析、系统设计、系统实现和系统测试。本文着重描述了系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。本系统在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性。

  1.  关键技术介绍

2.1koa框架

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完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

2.5 MySQL数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

2.6 koa框架优点

首先,借助promise和generator的能力,丢掉了callback,完美解决异步组合问题和异步异常捕获问题。

其次,koa 把express中内置的router、view 等功能都移除了,使得框架本身更轻量化。该设计有如下好处:1、把express各种中间件移植到koa是很简单的一件事;2、express 中内置的功能件未必好,比如view,想添加自己的view engine进入得做较深层次的hack,又比如router,它的效率不是最好的。koa没有内置这些,给了开发者很大的自由度,开发者都能自由发挥制作出更精细更专业的中间件。

2.7 小程序框架以及目录结构介绍

整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。

  1.  系统分析

3.1可行性分析

本系统操作简单,易理解。商城APP与大部分电子商务系统的操作流程类似,避免了用户学习使用系统的时间和负担。

3.1.1操作可行性

本系统使用的是现流行的开发语言,即Node.js技术。同时所有的信息都是以APP网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用本系统,系统管理员只需要懂得文件上传,处理文本即可操作管理后台。系统布局较简单,功能操作不复杂,完全符合现代市场需求。因此本系统具有操作可行性。

3.1.2技术可行性

本系统在Windows7开发环境下,利用Myeclipse10开发工具,并使用Mysql作为数据库管理系统来实现系统的各种功能。Mysql属于主从式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为用户端应用程序提供一致的接口。可以提高系统的性能,降低它的局限性。

3.1.3经济可行性

本系统是一个在线的商城APP,顾客可以直接在商城上购买商品,同时计算机的价格十分低廉,性能却有了长足的进步。而此系统的开发可以有效的提高工作效率,降低管理成本,节省管理费用,为企业的工作效率带来了一个质的飞跃。因此,本系统在经济上是完全具有可行性的。

3.2功能需求分析

通过本系统,商户节省了用于交易场所、服务质量、维护商铺杂支开销等方面的投入,从而降低了价格;买家方面,不仅节约了时间成本,同时降低了购买成本,可以“货比三家”地随意挑选性价比高的产品。加快了交易和货币流通速度,而进而推动经济的增长。

根据条件需要,系统结构主要由二大用户组成。一是用户,二是管理员用户。

1用户登录及身份要求       

验证买家、管理员等用户的信息

2本系统销售功能需求(面向买家用户)

允许用户可以在线对商品进行问题投诉。

允许用户评论商品。

允许用户查询商品的信息。

允许用户对购买订单的管理。

自动生成订单。

用户在线支付订单费用。

选择商品,进行购买,填写发货地址、联系电话等信息。

3本系统管理功能需求(面向管理员用户)

对用户的订单的管理(删除,修改,查询)。

对商城中心的管理(删除,修改,查询)。

对商城列表的管理(删除,修改,查询)。

对商品售后的管理。

3.3用例分析

1.管理员主要负责系统管理、商城管理、订单管理、用户信息管理、商品售后管理,下图所示描述管理员的用例。

图3-1管理员用例图

2.用户主要使用系统的在线购买业务以及进行商品售后申请,下图所示为用户用例图。

图3-2用户用例图

3.4数据流分析

数据流图的设计主要是由于系统目前功能还没有确定,可以先描述可能要使用到的功能内容,并且向用户了解“系统从外界接受什么数据”和“系统向外界送出什么数据”等信息,根据用户所给的答复进行设计数据流图。

如下为系统的0层数据流图,系统用户分为管理员和普通用户。

    

图3-4系统数据流图(0层)

如下图所示为系统1层数据流图。

图3-5系统数据流图(1层)

商城APP第二层数据流图主要详细反应各功能模块对应的操作与数据进行交互的原理。并且更详细的显示出各角色对功能模块操作的数据流向,让开发人员能了解该系统的开发方向,能够更准确的开发出系统模型。

将商品信息维护进行细化得到商品信息管理二层数据流程图,如下图所示。     

图3-6商品管理数据流图(2层)

将订单信息管理进行细化得到订单信息管理二层数据流程图,如下图所示。

图3-7订单管理数据流图(2层)

3.5数据字典

1.数据存储描述

下表描述了用户信息的数据流、数据来源、数据去向和数据流组成的词条。

表3-1用户信息描述

数据流

用户信息

数据流来源

Mysql数据库中用户信息表,用户详细信息表

数据去向

系统界面,用户信息管理界面

数据流组成

用户名、用户密码、添加时间、编号

下表描述了订单信息的数据流、数据来源、数据去向和数据流组成的词条。

表3-2订单信息描述

数据流

订单信息

数据流来源

Mysql数据库中订单表,订单详情表

数据去向

用户订单界面,订单管理界面

数据流组成

用户ID、订单ID、商品ID、下单时间、订单金额

下表描述了商品管理的数据流、数据来源、数据去向和数据流组成的词条。

表3-3商品信息描述

数据流

商品信息

数据流来源

Mysql数据库中商品表、商品类别表

数据去向

商品查询界面、商品详情界面、购买订单界面、商品管理界面

数据流组成

商品名、商品价格、库存数量、商品类别

2.数据处理描述

下表描述用户通过输入用户名和密码进行身份验证处理,验证成功后将返回的信息显示在界面上。

表3-4用户身份验证

处理逻辑名称

用户身份验证

简述

检查输入信息的合法性

输入的数据流

用户名+密码

处理过程

根据输入的用户名和密码,检索用户,显示查询信息

输出的数据流

用户信息、商品信息

下表描述用户成功登录系统后通过商品名查询商品信息,根据查询后返回的数据显示在界面上。

表3-5商品信息查询

处理逻辑名称

商品信息查询

简述

检查输入信息的合法性

输入的数据流

商品名或商品编号或商品类别

处理过程

登录成功的用户,通过商品名查询用户所需的商品,还可查询用户的订单及评论。

输出的数据流

用户订单信息,购买订单信息

下表描述管理员用户成功登录系统后可以对商品售后进行管理。

表3-6商品售后

处理逻辑名称

商品售后

简述

检查输入信息的合法性

输入的数据流

商品售后

处理过程

登录成功的管理员用户,往数据库添加一条商品售后数据。

输出的数据流

售后信息,审核状态

下表描述管理员用户成功登录系统后,购买商品,填写订单收货人、收货地址、联系电话等,生成购买订单后,重新查询订单表,返回的订单数据显示在界面上。

表3-7订单生成

处理逻辑名称

订单生成

简述

检查输入信息的合法性

输入的数据流

订单信息

处理过程

登录成功的用户,往数据库添加一条订单信息数据。

输出的数据流

订单信息

  1.  系统设计

4.1结构设计

本系统的设计是基于Node.js技术+Mysql数据库+Tomcat服务器的方式设计,以Myeclipse10为开发工具,并运用Photoshop CS6技术美化网页,辅之以CSS技术。本系统使用的角色主要有系统管理员和普通用户,系统分为前台和后台,前台主要用于商品的展示和购买以及售后信息编辑,后台用于商城信息和订单信息以及售后信息的管理,首先以普通用户通过账号注册后登录系统前台,可以进行各种商品的信息浏览和搜索,用户可以将需要的商品进行下单购买,用户可以查询订单是否已经被管理员确认,订单生成后表示用户购买成功,前台系统除了可以进行商品的下单还可以对商品进行收藏,进行商品售后的申请,用户同时可以修改个人的信息资料,查看售后审核状态;以管理员的身份登录系统后台可以进行商品维护、订单维护、商品售后管理等。

系统功能结构图如下所示。

图4-1系统功能结构图

4.2功能设计

1.用户登录模块:确保用户注册信息的真实度是提高系统效率和盈利的重要因素。真实的用户才能带来价值,注册是保证真实用户使用系统主要业务的第一步,通过对用户注册信息的审核,可防止机器注册。使用现如今较为流行的管理员进行账号激活的验证方式,对用户注册信息进行过滤,未激活用户信息将不能使用系统主要功能。

如下图所示为用户登录流程图。

图4-2用户登录流程图

2.商品浏览模块:没有登录的用户和登录的用户都可以在系统前台进行商品浏览,用户可以查看商品的详细信息和选择相应的商品类别进行该类别下的商品查看,用户还可以通过商品名称的关键字进行搜索。

如下图所示为商品浏览流程图。

图4-3商品浏览流程图

3.订单管理模块:用户购买商品后,填写收货地址、收货人、电话等信息,生成订单信息,管理员可以审核订单。 

如下图所示为订单管理流程图。

图4-4订单管理流程图

4.商品管理模块

系统管理员可以对商品信息进行增、删、改、查的操作。

5.用户管理模块

系统管理员可以对用户信息进行增、删、改、查的操作。

6.订单模块

用户对个人添加至购买订单里面的商品进行增删改查等操作。

4.3数据库设计

4.3.1概念设计

本系统的E-R图表现了系统中各个实体之间的联系,经过分析,系统的实体有商品、商城、订单、物流配送、用户等。

订单信息的实体图如下图所示。

图4-6订单信息实体图

商品类别实体图如下图所示。

图4-7商品类别信息实体图

用户信息实体图如下图所示。

图4-8用户信息实体图

商品售后的实体图如下图所示。

图4-9商品售后实体图

系统总体的实体图如下图所示。

图4-10系统E-R图

4.3.2逻辑设计

Allusers表是系统用户的信息表,存储系统用户真实姓名、性别、年龄、电话、地址、备注、编号、姓名、用户密码以及其相对应的密码等相关信息。

Dingdan表是订单信息表,存储用户的订单的相关信息,其中包括编号、订单号、金额、订单内容、用户名、姓名、手机号码、添加时间、是否审核等相关信息。

yonghuzhuce表是用户注册信息表,存储用户的注册信息,其中包括编号、用户名、密码、姓名、QQ、邮箱、电话、头像、等相关信息。

shangpinxinxi表是商品信息表,存储商品内容的信息,其中包括标题、描述、类别、价格、库存、分类、备注、图片等相关信息。

shangpinshouhou表是商品售后表,存储用户编辑的商品售后信息,其中包括订单号、商品名称、购买价格、售后内容、售后用户、上传图片等相关信息。

4.3.3表设计

    数据库表设计:经过前期的需求分析、可执行分析、数据流分析等各个流程分析,结合软件工程的高内聚、低耦合规则,并考虑到以后的程序功能扩展,设计如下几张表

名称

类型

长度

不是null

主键

注释

ordinary_users_id

int

11

普通用户ID

user_name

varchar

64

用户姓名

user_gender

varchar

64

用户性别

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

notice_id

mediumint

8

公告id:

title

varchar

125

标题:

content

longtext

0

正文:

create_time

timestamp

0

创建时间:

update_time

timestamp

0

更新时间:

名称

类型

长度

不是null

主键

注释

mall_center_id

int

11

商城中心ID

remarks

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

主键

注释

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

更新时间:

名称

类型

长度

不是null

主键

注释

goods_id

mediumint

8

产品id

title

varchar

125

标题

img

text

0

封面图

description

varchar

255

描述

price_ago

double

8

原价:[1]

price

double

8

卖价:[1]

sales

int

10

销量

inventory

int

11

商品库存

type

varchar

64

商品分类:

hits

int

10

点击量

content

longtext

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:

create_time

timestamp

0

创建时间:

update_time

timestamp

0

更新时间:

customize_field

text

0

自定义字段

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

主键

注释

after_sales_of_goods_id

int

11

商品售后ID

trade_name

varchar

64

商品名称

order_number

varchar

64

订单号

purchase_price

int

11

购买价格

after_sales_users

int

11

售后用户

user_name

varchar

64

用户姓名

after_sales_content

text

0

售后内容

upload_pictures

varchar

255

上传图片

examine_state

varchar

16

审核状态

examine_reply

varchar

16

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间


  1.  系统详细设计

5.1登录模块

本系统主要的用户有系统管理员、用户,一个系统最基本的功能就是登录功能,本系统可以进行系统登录的角色有用户、管理员,用户对应前台登录界面,管理员对应后台登录界面,首先进入登录页,输入用户名和密码,然后提交至服务端进行数据库数据验证,通过Node.js逻辑代码判断数据库是否存在用户输入的这一个记录,如果存在,则判断用户身份,如果是用户,则进入用户前台,如果是管理员用户,则进入系统主页,并把用户对象存放在session中,如果不存在这样一条记录,则返回登录界面。

登录界面如下所示。

图5-1前台登录界面

图5-3用户注册界面

5.3新闻资讯模块

系统为用户提供新闻资讯,方便用户浏览新闻资讯信息。在xinwenzixunlist.jsp实现新闻资讯列表的展示,用户点击浏览。

如下图所示为新闻资讯界面。

图5-4新闻资讯界面

5.4商品评论模块

系统提供商品评论功能,在pinglunadd.jsp实现商品的评论,添加评论后,存入数据库的评论表。管理员管理商品的评论信息。

如下图所示为评论的部分界面。

图5-5评论界面

5.5商品订单模块

用户在浏览商品后,登录系统前台,进行商品购买,将商品添加至购买车,在个人后台可以查看购买车里面的商品,确定商品之后可以生成订单,然后支付。

如下图所示为商品订单的部分界面。

图5-6商品订单界面

5.6系统用户管理模块

过去传统的手工登记管理系统人员信息很不方便,也很容易造成数据出错,所以本系统需要一个可以管理登记人员信息的功能,管理员登入系统,可以添加新的管理员用户,删除现有的管理员,也可以对自己的密码和管理员用户的密码进行修改。修改密码是经过跟数据库的原来的密码字段的数据进行判断,如果输入两次的新密码一致,则更新密码这属性对应的一条数据。

如下图所示为系统用户管理的部分界面。

图5-7系统用户管理界面

5.7商城管理模块

用户在系统前台浏览商城,管理员登录系统后,可以对添加、删除、修改商城信息,系统前台的商城信息时随系统后台变化而变化的。

商城管理的界面如下图所示。

图5-8商城管理界面

5.8新闻资讯管理模块

如下图所示为新闻资讯管理界面。

图5-9新闻资讯管理界面

5.9商品售后管理模块

管理人员可以对用户提交的商品售后进行审核管理的操作,这些操作将在售后管理界面进行。

如下图为商品售后管理界面。

图5-10商品售后管理界面

 

  1.  系统测试

6.1测试目的

该系统能够完成商城资讯浏览、商品购买,物流配送管理,账务信息管理,用户管理等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制,符合系统可维护性,由于系统涉及的信息比较广,数据库中的数据需定期修改,系统可利用的空间及性能也随之下降,为了使系统更好地运转,系统可以对系统数据及一些简单的功能进行独立的维护及调整;符合系统开放性要求,该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。

6.2测试用例

1.注册测试

表6-1注册测试用例

字段名称

描述

测试项

首页注册功能测试

输入数据

1、输入正确的邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮

2、输入错误的用户名或密码、邮箱、验证码等,单击“注册”按钮

3、不输入邮箱、用户名、密码、确认密码、以及验证码之后点击“注册”按钮

预计输出数据

1、用户能正确注册账号,成功插入数据库用户的账户资料,提示注册成功。

2、无法注册用户信息,注册失败。

3、无法注册用户信息,注册失败。

使用上述测试用例对前台首页注册界面进行测试,当在输入正确的邮箱、用户名、密码、确认密码、以及验证码之后,系统将弹出注册成功信息提示对话框。

使用上述测试用例对前台首页注册界面进行测试,当在输入错误的用户名或密码、邮箱、验证码之后,系统将提示错误。

使用上述测试用例对前台首页注册界面进行测试,当在不输入用户名、密码、邮箱、验证码之后,点击注册按钮。

2.登录界面进行测试 

表6-2登录测试用例

测试项

首页登录功能测试

输入数据

1、输入正确的用户名和密码,单击“登录”按钮

2、输入错误的用户名和密码,单击“登录”按钮

3、不输入用户名和密码,单击“登录”按钮

预计输出数据

1、数据库中存在的用户能正确登录,。结果弹出主界面。

2、错误的或者无效用户登录,登录系统失败。

3、输入用户名或密码信息为空,登录系统失败。

3.商品管理进行测试 

名称:用户管理测试        目的:测试商品管理界面 

内容:口令的输入,合法性检查,合理性检查,界面的显示控制。 

下表描述了商品表中目前所存在的记录。

表6-5商品表预存数据

    商品名

商品类别

商品价格

商品状态

A

A

389

上架

B

B

249

上架

C

C

322

下架

D

D

168

上架

添加时应注意事项:

管理员添加商品时必须添加已存在的商品类别,若该商品不属于现有的所有类别,则应该先添加商品类别。

下表描述了添加商品进行测试的用例,主要是为了防止添加商品时出现异常和存在的漏洞。

表6-6添加商品测试用例

输入

输出

商品名

商品价格

商品图片

   空

参数错误

参数错误

请选择上传图片

A

1

a.jpg

添加成功

4.购买商品测试 

名称:购买商品测试        目的:测试购买商品界面 

内容:口令的输入,合法性检查,合理性检查,界面的显示控制。 

下表描述了购买商品的测试用例,防止购买时出错。

表6-7购买商品测试用例

输入

输出

用户ID

商品ID

商品数量

11

1

1

购买商品成功

22

电视

请填写商品数量

33

电视

a

购买失败

用户购买商品时,首先判断商品数量是否小于库存,若超出库存数量,则提示商品数量不足。

  1.  结论

经过这几个月的设计和开发,“基于Node.js的商城APP”已经完成了,其功能符合设计需求,能够完成用户的注册、在线购买、订单管理、商品售后管理和资讯发布、用户管理、商城中心管理等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。

在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。

整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。

由于时间有限,本系统还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善! 

参考文献

  1. 程红琳. 商城APP品目扩容效果几何[N]. 中国政府采购报,2021-05-18(005).
  2. 马君峰, 农产品自营商城APP智慧平台V1.0. 甘肃省,甘肃科博科技咨询有限责任公司,2021-02-01.

[5]王娟.基于Android系统的手机商城APP设计与实现[J].电子技术与软件工程,2021(03):43-44.

[6]韩己峰.综合性商城APP引领山东政府采购驶入高速路[J].中国政府采购,2020(12):39-41.

[7]袁江琛.基于MVC框架商城APP的设计与实现[J].信息与电脑(理论版),2020,32(20):126-128.

[8]袁江琛.Ajax+jQuery在商城APP购物车模块中的设计与实现[J].电脑编程技巧与维护,2020(10):34-35+68.

[9]王柯梦,王瑞平.基于B2C商城APP前台系统数据库设计与实现[J].广西质量监督导报,2020(09):70-71.

[10]薄志强. 基于Koa框架的商城APP系统的设计与实现[D].西安电子科技大学,2020..

[11]张浩. 基于商城APP服务对话系统的研究与实现[D].黑龙江大学,2020.

[12]孙建英.分布式、集中式、区块链技术在商城APP中的应用[J].商场现代化,2020(01):13-15.

[13]李颖,方浪,武瑞婵.“Free-Try”虚拟试衣在商城APP中的实现[J].襄阳职业技术学院学报,2019,18(06):64-66.

[14]王一凡. 基于MOT的云南移动商城APPO2O手机营销策略优化研究[D].云南大学,2019.

[15]布祉颖.论B2C和O2O的进口零食营销的模式——关于零始科技有限公司的零始网研究[J].现代妇女(下旬),2018(12):75-76.

[16]老潘,花椰菜.零食控的购物车[J].宠物世界(狗迷),2018(12):50-55.

致 谢

大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。

我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句“谢谢你们”。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。

免费领取项目源码,请关注❤赞收藏并私信博主,谢谢-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Notpad-- ubuntu下载安装

Notpad-- ubuntu下载安装 下载 Gitee链接: https://gitee.com/cxasm/notepad– 安装 sudo apt install *.deb运行 /opt/apps/com.hmja.notepad/files/Notepad--出错 需要安装qt5 sudo apt-get install qt5-default

米诺地尔行业分析:预计2029年将达到14亿美元

米诺地尔市场规模庞大,不仅包括消费品市场和服务行业,还涵盖了创新科技领域。随着经济的发展和市场需求的不断增长,米诺地尔市场的规模将继续扩大,各行各业都将面临更多机遇和挑战。 随着社会经济发展和城市化进程的推进&#xff…

【JavaEE初阶】计算机是如何工作的

一、计算机发展史 计算的需求在⼈类的历史中是广泛存在的,发展大体经历了从⼀般计算⼯具到机械计算机到目前的电子计算机的发展历程。 人类对计算的需求,驱动我们不断的发明、改善计算机。目前这个时代是“电子计算机”的时代,发展的潮流是…

竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

文章目录 1 简介2 传统机器视觉的手势检测2.1 轮廓检测法2.2 算法结果2.3 整体代码实现2.3.1 算法流程 3 深度学习方法做手势识别3.1 经典的卷积神经网络3.2 YOLO系列3.3 SSD3.4 实现步骤3.4.1 数据集3.4.2 图像预处理3.4.3 构建卷积神经网络结构3.4.4 实验训练过程及结果 3.5 …

【C++百宝箱】语法总结:引用 | 内联函数 | auto | 范围for循环

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:C入门宝典 🔥本文主要探讨C的语法,并深入了解C如何针对C语言中存在的不合理之处进行优化改进。 目录: ⌛…

麒麟KYSEC使用方法02-开启及关闭exectl

原文链接:麒麟KYSEC使用方法02-开启及关闭exectl hello,大家好啊,今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第二篇内容----使用命令开启及关闭exectl,可执行程序策略有三种模式,off/enforing/warning&#xf…

算法(圆的定义和相关术语)

无向图的度 图中每一个顶点的度定义为以该项点为一个端点的边的数目 #include <cstdio>const int MAXN 100;int degree[MAXN] { 0 };int main() {int n, m, u, v;scanf("%d%d", &n, &m);//在输出边度的时候就已经表示度的数目了&#xff0c;所以用一…

Flutter笔记:使用相机

Flutter笔记 使用相机 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134493373 【简介】本文介绍在 Fl…

3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念

在线工具推荐&#xff1a; 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 定义 3D 渲染可视化及其用途 3D 可视化是一种艺术形式。这是一个机会。这是进步。借助 3D 纹理…

基于单片机电梯液晶显示防超重,防气体报警、防夹报警控制系统及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶显示楼层。 3、防超重&#xff0c;防气体报警、防夹报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /lcd1602初始化设置*/ void init_1602() //lcd1602初始化设置 { write_co…

亚马逊出口电热毯日本PSE认证需要什么资料解析

电热毯出口日本需要办理PSE认证&#xff0c;电热毯&#xff0c;又名电褥&#xff0c;是一种接触式电暖器具。 PSE认证介绍是日本强制性认证&#xff0c;包含安全及EMI&#xff0c;用以证明电子电气等产品符合日期电气用品安全法或国际IEC标准的要求。日本电气用品安全法规定&am…

MyBatis框架——Mybatis操作数据库之简单的insert操作的实现

入门_MyBatis中文网https://mybatis.net.cn/getting-started.html一些配置文件的模板可以从mybatis的官网中找到。 一、MyBatis操作数据库步骤 1、读取MyBatis配置文件mybatis-config.xml。 mybatis-config.xml作为mybatis的全局配置文件&#xff0c;配置MyBatis的运行环境等…

【Java 进阶篇】JQuery 遍历 —— 无尽可能性的 `each` 之旅

在前端的征途中&#xff0c;操作元素是开发者不可避免的任务之一。而在 JQuery 中&#xff0c;each 方法则是处理这个任务的得力助手。本文将深入探讨 each 方法的奇妙之处&#xff0c;以及它与原生的 for...of 循环的关系&#xff0c;带你领略无尽可能性的遍历之旅。 起步&am…

2023APMCM亚太杯/小美赛数学建模竞赛优秀论文模板分享

一、模板介绍 二、注意事项 将论文划分小节时&#xff0c;应避免在小节中出现大段的文字叙述&#xff0c;这样的叙述会妨碍评委在浏览论文时掌握论文的要点。重要的句子&#xff0c;包括首次定义的概念&#xff0c;用黑体书写。 重要的数学公式应另起新行单独列出。建模所用的…

微信小程序会议OA-登录获取手机号流程登录-小程序导入微信小程序SDK(从微信小程序和会议OA登录获取手机号到登录小程序导入微信小程序SDK)

目录 获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties …

HarmonyOS从基础到实战-高性能华为在线答题元服务

最近看到美团、新浪、去哪儿多家互联网企业启动鸿蒙原生应用开发&#xff0c;这个HarmonyOS NEXT越来越引人关注。奈何当前不面向个人开发者开放&#xff0c;但是我们可以尝试下鸿蒙新的应用形态——元服务的开发。 元服务是基于HarmonyOS提供的一种面向未来的服务提供方式&…

如何在外部数据库中存储空间化表时使用Mapinfo_mapcatalog

开始创建地图目录表之前 您将使用EasyLoader在要使用的数据库中创建地图目录表。EasyLoader与MapInfo Pro一起安装。 &#xff08;工具“DBMS_Catalog”不再随MapInfo Professional 64位一起提供&#xff0c;因为它的功能可以在EasyLoader工具中找到。&#xff09; ​ 注&…

湖科大计网:传输层

一、传输层概述 一、基本概念 传输层是端到端的协议。 因特网的两种不同的传输层协议&#xff1a; TCP&#xff1a;面向连接 UDP&#xff1a;无连接 我们在学习的过程中&#xff0c;只需要关注传输层之间的通信&#xff0c;不需要关注传输层协议数据是经过路由器转发至目的网络…

一篇文章让你彻底了解Java算法「十大经典排序算法」

✍️作者简介&#xff1a;码农小北&#xff08;专注于Android、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&#x1f449;关注✨、点赞&…

Redis篇---第十二篇

系列文章目录 文章目录 系列文章目录前言一、Memcache与Redis的区别都有哪些?二、单线程的redis为什么这么快三、redis的数据类型,以及每种数据类型的使用场景前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇…