社区便利店销售微信APP的设计与实现

摘 要

社区便利店销售小程序采用的技术:第一是Mysql数据库;第二是java程序开发语言;第三是ssm框架;第四是B/S结构。系统主要分为管理员、商家、用户三部分,这个销售小程序的功能有首页和个人中心,同时还有针对商家和用户不同的管理系统,将商品进行分类,管理商品的基本信息,能及时处理订单,对评价做出管理。可以满足整个社区便利店销售小程序信息管理的过程。本系统在一般社区便利店销售小程序的基础上增加了首页推送最新信息的功能方便用户快速浏览,是一个高效的、动态的、交互友好的社区便利店销售小程序。

关键词:社区便利店销售小程序;java技术;Mysql数据库;B/S结构

Abstract
Community convenience store sales small program using B/S structure, Java development language, SSM framework and MYSQL database technology. The system is mainly divided into three parts: administrator, merchant, and user. The functions of this small sales program include homepage and personal center, as well as different management systems for merchants and users. It classifies products and manages basic information of products, which can be timely Process orders and manage evaluations. This system in the general community convenience store sales small program on the basis of the home page to push the latest information to facilitate users to quickly browse, is an efficient, dynamic, interactive friendly community convenience store sales small program.

Key words:community convenience store sales applet; Java technology; MySQL database; B/S structure

目 录

1 绪论
1.1 研究背景、研究目的和研究意义
1.1.1 研究背景
1.1.2 研究目的与研究意义
1.2 国内外研究现状
2 系统开发环境
2.1 系统功能分析
2.2 系统开发平台
2.3 平台开发相关技术
2.3.1 B/S结构
2.3.2 Java技术介绍
2.3.3 Mysql数据库
2.3.4 SSM框架
2.4 微信开发者工具
3 需求分析
3.1 系统目标
3.2 系统功能
此系统的功能分为用户端和服务端:
4 系统设计
4.1 系统流程设计
4.2 系统功能设计
4.3 数据库概念设计
4.4 数据表设计
5 系统实现
5.1 系统框架实现
5.1.1 SpringMVC配置
5.1.2 Spring配置
5.1.3 MyBatis配置
5.1.4 web.xml配置
6 系统测试
6.1 系统测试的目的
6.2 系统测试的目的
6.2.1 系统整体测试
6.2.2 系统基本功能测试
6.3 测试用户端功能实现
6.3.1 用户登录
6.3.2 用户注册
6.3.3 用户首页
6.4 后台管理实现
6.4.1 管理员登录
6.4.2 管理员功能图界面
6.4.3 商家管理
6.4.4 用户管理
6.4.5 商品类型管理
6.4.6 商品管理
6.4.7 订单管理
6.4.8 系统管理界面图
6.5 系统测试的结果
结 论
参考文献

1绪论

1.1研究背景、研究目的和研究意义
1.1.1研究背景
随着网络时代的到来,互联网的优势和普及时刻影响并改变着人们的生活方式。在信息技术迅速发展的今天,计算机技术已经遍及全球,使社会发生了巨大的变革。
为了不受时间和地点的限制,智能手机用户可以通过移动网络访问网站和处理各种业务和互联网,这是一个有效的将应用系统的功能扩展到手机终端的方法。智能手机的普及导致市面上出现的手机软件也越来越多。因为小程序不占内存,随取随用的特点,所以现在人们更加普遍的使用小程序,而不是花大量的时间和内存去下载App软件。
本文主要研究的是为社区便利店,提供销售服务的小程序。有大量的关于数据库和计算机技术方面的知识基础,利用这些知识能够很好地提高便利店工作人员的效益。
1.1.2研究目的与研究意义
当今各式各样的社区便利店销售小程序相继兴起,为了使大众可以快速获得大量信息,节省精力和财力。在本系统中,实现了查看商品信息详细内容,在线销售等功能。
该系统具有首页、个人中心、商家管理、用户管理、商品分类管理、商品信息管理、订单信息管理、订单评价管理、系统管理等功能。首先在该系统中用户可以通过本网站的商品信息功能进行查看。其次用户可以进入系统来管理商品信息、订单信息、订单评价、我的收藏管理等功能。最后在主页页面,增加了推送功能,使用户可以直接快速接触到最丰富的内容,提高了用户体验感。
此网站基本上实现了整个社区便利店销售管理的过程,向大众提供了一个安全、动态、高效的社区便利店销售小程序。过去人们由于信息的局限性往往不知道怎样选择最适合自己的销售方案,往往耗费大量的时间和精力。而如今,21世纪是信息化的世界,互联网行业发展迅猛带动了生活中方方面面,信息管理的规范化、高效化的重要性日益凸显。
社区便利店销售小程序利用信息的合理管理,动态的、高效的、安全的实现了用户的各种需求,改变了传统的销售方式,使用户可以足不出户的选择最适合自己的销售方案。

1.2国内外研究现状
随着我国计算机技术的发展,我国进入了互联网发展的高峰期,许多的资本家基本家都投资互联网市场。各国也都加大了对互联网的投入,都希望用技术革命减少对人的依赖,使国家可以更高效的发展,所以,全球的互联网发展会保持增长的趋势。
社区便利店销售小程序是主要致力于社区便利店销售的攻略。首先,社区便利店销售小程序为用户提供一站式的服务方式。社区便利店销售小程序坚持“以人为本”的原则对网站的内容进行分类,同时该网站全面整理了广大用户喜爱的商品信息,是目前中国具有一定影响力的社区便利店销售小程序。目前,国内外对推荐系统的研究取得了阶段性进展和显著成果。我国国内已经将推荐系统广泛应用到各个行业,包含了电商、新闻,音乐等行业。我国国内对于推荐系统的开发研究是从21世纪初才开始,所以相对于国外来说开始的时间是比较迟的。众所周知,国外电商行业巨头亚马逊在个性化推荐方面是做得非常好的,而在国内的话,由马云创立的阿里巴巴公司在这个方面表现比较优秀。要让推荐算法变得更加完善,必须要充分了解用户想要买什么,会买什么,再根据他们买的东西,给他们提供相应的个性化推荐服务。一般来说,学术界和工业界不同。前者更加注重分析理论方案,提升模型的准确度和精度,而后者更加注重实际得到的反馈来将用户的体验变得更好。随着机器学习技术的发展,推进系统开始使用机器学习构建推进系统。
主要研究的热点问题例如冷启动问题,通过对社交信息、标签、文本等信息的分析;开始引入机器学习,构建用户画像,处理复杂的社交信息,实现更精准的推荐;随着用户量和商品数据的增加,推荐效率的提高也成为一个趋势;网络安全的加强也是一方面的趋势,更好的保护用户推荐隐私和安全也是当前推荐系统的严峻问题。

2系统开发环境

2.1系统功能分析
为了系统可以更好的应用社会,我对系统的功能做了细致的分析通过详细的分析,我选择了java技术来进行开发设计,该社区便利店销售小程序利用Mysql数据库进行数据储存。社区便利店销售小程序的系统的程序开发语言为java语言。java语言具有简单性和安全性等很多优点。数据库使用的是MySQL,软件工程师建立应用软件的工具为Dreamweaver,处理硬和操作系统等等的服务器软件是IIS,开发平台是由微软公司(Microsoft)开发的操作系统Windows 10,采用的是Browser/Server即浏览器/服务器模式结构。
2.2系统开发平台
在该社区便利店销售小程序中,ssm框架技术可以给用户带来极大方便,其主要特点就是可以使用户学习起来方便、快捷,另一方面就是信息储存量也是非常大的,该功能主要被应用为数据库中进行查询和编程。并且该功能的数据应用比较灵活,通过我们现在的发展可以得知,只要利用一小部分代码就可以来实现非常强大的功能。因此,该系统数据库开发主要是由ssm框架技术进行系统代码管理。
2.3平台开发相关技术
2.3.1B/S结构
BROWSER/SERVER的优点是这个程序结构可以不用安装,就可以在浏览器上使用,比Client-Server更加方便和人性化。
在BROWSER/SERVER即浏览器/服务器模式结构中,用户可以随时随地利用网络系统使用网站。它的原理是程序被全部放入了服务器里面,所以直接通过互联网就可以给用户提供服务。这样可以有效地减少系统工作量,只需要将http通信请求发送到服务器API接口,从而获取相关数据就可以了。
BROWSER/SERVER即浏览器/服务器模式结构有三个层面。第一是进行数据管理的数据层;第二是控制逻辑层;第三则是视图层。使用该结构的用户首先可以利用第一层即视图层在数据层里面找到自己所需的数据,然后利用第二层即控制逻辑层进行数据调用。这三个层面各自独立,使用和维护起来更加的方便。无疑会将效率提高到一个新的高度。
2.3.2Java技术介绍
Java语言擅长开发互联网类应用和企业级应用,现在已经相当的成熟,而且使用人数众多。Java语言的优点之一是它是面向对象的。它有两个特性,一个是封装,另一个是继承。封装,顾名思义,就是将一个事物的性质和关系以及方法想尽办法的封住。当外界只能够利用接口访问时,他们自然而然也不会知道这个是如何实现的。继承的意思就是所有的子类都有一个“父亲”,即父类。同时除了final修饰的类,所有的子类都有继承的权力,它们可以继承父类的使用的方法。一方面,继承性可以再一次的使用代码,另一方面这样也能够加大开发软件的效率。
Java语言是为了程序的开发和设计存在的。它最大的特点就是它可以在面对对象的同时跨越不同的平台,进行分布式运行。而且,最重要的是,它在能保证项目安全性特别高的前提下,还能保证项目进行的特别稳定,同时还可以多个项目一起运行。
java语言可以利用封装和继承以及多态的方法对代码进行多次使用,同时将程序变得更加简单,来达到增大开发效率的目的。有效的将信息封装,提高代码复用率,减少冗余度,提高效率。在Java中难能可贵的一点就是它的垃圾回收机制,它使得以往程序中大量存在的内存泄漏的问题得到了较好的缓解。所谓的内存泄漏就是程序向操作系统申请了一块存储空间,比如定义了一个变量,但是由于某种原因,这个变量一直没有使用,但是仍然占用着系统的内存空间,可能一两个这样的变量对程序和操作系统造不成什么大的影响,但是试想如果这样的变量定义的多了系统的内存空间就会一步步减少,从而造成机器的性能降低甚至宕机。但是在Java中有垃圾回收机制的存在,这种机制极大地避免了内存泄漏的出现,在Java虚拟机中,垃圾回收机制会对长时间没有引用变量指向的对象实施垃圾回收,简单的说就是将这个对象销毁,以避免内存泄漏的情况出现。
2.3.3Mysql数据库
mysql数据库具有很多的优点,他操作起来非常的简单,只需要编写一小段代码就可以实现相应的功能,而且编写出的代码可以在任何的平台下进行使用,对使用平台没有任何的要求,因此任何的软件开发人员都可以利用mysql数据库来进行系统的开发设计,同时他也可以为软件开发节省了很多的开销,mysql数据库由于存储量大、操作简单。功能强大因此将他最为该系统的数据存储是完全可以的。
mysq数据库是一个开放的架构,任何软件开发员都可以进行使用,随着计算机网络的不断发展,MySQL数据库也在功能方面不断的进行提升,也更加适应所有的系统的开发,我们在对数据库进行操作的时候,是非常简单易上手的,我们只需要编写一小段的代码就可以实现相应的功能,而且编辑出的代码可以在任何的平台上使用,不需要在进行二次的编译。由于MySQL数据库具有以上非常多的优点,我们将它最为数据库的首选应用到系统的开发中,由于他的体积非常小,开发的成本也非常的低,所有受到很多软件开发者的喜欢,被更多的运用到系统的开放中,所以本系统也是利用MySQL数据库来对所有的数据进行存储和编辑。
2.3.4SSM框架
当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis首字母的简称。“组合SSM框架”代表的团队精神是各自负责掌握自己的职责,强者和强者互相结合,从而协调对方的优点,补足对方的缺点。web项目的框架特别好的地方就是它的数据源特别的简单。Spring作为面向表面的容器(Aspect Oriented Programming)。SpringMVC一般是拿来对系统进行解耦治疗。它的工作内容是分类,同时与模型对象分开处理程序对象和自动取款机。这样更加简单地让系统变得个性化。MyBatis可以一直使用下去,同时他还能够支持SQL(Structured Query Language)查询对在储存过程当中得到的数据进一步的优化。
2.4微信开发者工具
现在只需要微信扫码就可以直接登录微信开发者工具,利用帐号的信息就可以开发和调试小程序。
在这里插入图片描述
上面就是开发者工具一般会使用到的基本功能,随着经济的进步和科技的发展,为了进一步满足使用者对小程序的需求,开发者工具也在逐渐的变得更加人性化。

3需求分析

3.1系统目标
本系统设计的是一个社区便利店销售小程序的网站,此网站使用户实现了不需出门就可以在电脑前进行网上查看首页、商品信息、订单信息、订单评价、我的等。不需亲临现场就可以在网站的上查看商品信息。
用户在首页上会看到各类模块的推送内容,可以以最直接的方式获取信息,注册登陆后,可以对应进行操作管理,并且可以管理自己的商品信息、订单信息、订单评价、我的收藏管理等。而管理员则可以在后台直接管理和处理用户信息等。本网站模块设计的独立性强,用户体验良好、后期维护修改管理十分方便。
3.2系统功能
此系统的功能分为用户端和服务端:
用户端的模块首先有首页和商品的信息,订单的信息和评价,以及还有我的等功能。
管理端的模块有首页和个人中心,同时还有针对商家和用户不同的管理系统,将商品进行分类,管理商品的基本信息,能及时处理订单,对评价做出管理的部分。
用户使用的过程图见下图3.1:

在这里插入图片描述

图3.1 用户用例图

管理员用例图如图3.2所示
在这里插入图片描述

图3.2 管理员用例图

(1)程序前台功能设计:
第一部分,用户注册账号;
第二部分,用户登录自己的个人账号;
第三部分,出现商品模块,这一部分主要是对商品进行陈列,更好的将商品的信息展示出来,让用户更方便的就能搜索到相关商品,从而购买商品。
第四部分,购物车,用户在选购自己需要的商品过后,可以直接在购物车里修改自己的订单信息。这样用户能够更加清楚的知道自己购买的哪些东西。
第五部分,推荐模块,这一模块主要是利用后台的大数据,针对特定的用户推荐他们可能会购买的产品,推荐结果会出现在小程序的主页面上。
第六部分,是个人中心,在这一部分,用户可以自由的修改自己的个人信息,账户密码以及收货地址等等。
(2)程序后台功能设计:
第一部分,管理员管理,这一部分主要是添加删除普通管理小程序的人员。 在数据库里面已经提前设置好超级管理,而只有超级管理能够进入这个管理界面来添加删除和更改普通的管理员。
第二部分,用户管理,主要的工作内容就是将一些违规的账户停用或者帮助用户启用一些账户,同时帮助那些忘记密码的用户重置他们的帐号,以及查看用户基本的个人信息;
第三部分,主要是商品模块方面的管理,这一部分主要是对小程序里面的商品信息进行更新。比如说新添了哪些商品,又淘汰了哪些商品,这些数据都要及时的展示出来。
第四部分,是商品类型的管理,利用后台接收到的用户的使用数据,经系统计算优化得到推荐结果,管理小程序的工作人员就需要把这个推荐结果显示到相应用户的浏览界面里面。
第五部分,是订单的管理,这一部分主要是管理员对有效订单的查看和无效订单的删除,以及将订单及时发货。
第六部分,是小程序推荐这一部分,主要是利用算法来计算分析用户在使用小程序当中产生的一些行为数据,最终得出一个结果,这个结果会被发送到前台。

4系统设计

4.1系统流程设计
此系统的功能分为用户端和服务端:
用户端模块包括:首页、商品信息、订单信息、订单评价、我的等功能。
管理端模块包括:首页、个人中心、商家管理、用户管理、商品分类管理、商品信息管理、订单信息管理、订单评价管理、系统管理等功能。这些结构叠加在一起,增加了程序模块之间信息的依赖程度。Spring属于SpringMVC。Spring的优点就是它不借助人工来创建对象,而是自动的创建和管理类。SpringMVC包含模型、视图和控制器,控制器接收到系统发出的请求,将产生的模型和数据库里的数据一起计算,最后将产生的结果又返回至view层。JDBC的基本框架结构是MyBatis,利用好这个插件可以降低工作中存在的一些重复性操作。而且它不仅能自动的生成模型,而且还可以直接产生有大量操作数据的配置文件。[17]。
在这里插入图片描述

图4.1 登录流程图
4.2系统功能设计
由上文的分析讲解,我们可以得知可以实现一些相关的系统功能。
为系统设计的功能模块
见下图4.2。
在这里插入图片描述

图4.2 系统功能模块图
总体功能模块如图4.3所示。

在这里插入图片描述

图4.3 总体功能模块图
在这里插入图片描述

4.4主要功能模块图
4.3数据库概念设计
如果要对现有的系统进行扩展,那么就应该去了解数据库是用来干什么的,再设计一个功能与实际用途相适应的,同时能够充分利用数据资源的结构模型。
设计数据库的基本内容是对系统需求进行分析。在设计的过程中,需要顾及的内容有:
第一,为了防止产生一些不可预测的编码错误或者乱码,就要对数据库采用行业内规定的统一字符和编码格式。
第二,如果系统突然出现死机的现象或者磁盘在运行时发生了一些错误,要尽可能的完整保留数据。
第三,数据库应该加强安全防护,尽可能的提高系统的安全性,避免发生一些不法分子利用一些非常简单的口令就可以入侵系统的现象。
第四,在满足程序使用的条件下,尽可能的使用数据库,将数据库的使用效率提到最高,充分的利用系统的资源数据。

该系统建立数据库模型的工具是PowerDesigner,使用它生成SQL语句。Navicat Premium不仅可以导入生成的语句进而创建数据表,还可以导出数据和结构语句。
管理员信息
E-R设计见下图4.5。
在这里插入图片描述

图4.5 管理员信息实体结构E-R图

商品信息实体属性图如图4.6所示。
在这里插入图片描述

图4.6 商品信息实体属性图
订单评价实体属性图如图4.7所示。
在这里插入图片描述

图4.7 订单评价实体属性图
4.4数据表设计
本系统物理模型图展示数据表之间的主外键联系,如图4.8所示。
在这里插入图片描述

图4.8 物理模型图
此系统需要数据库的支撑,下面是数据库中表的详细信息。
数据表设计分为以下9张表,如表4.1、表4.2、表4.3、表4.4、表4.5、表4.6、表4.7、表4.8、表4.9、表4.10、表4.11、表4.12。
表4.1 商品信息评论表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 是
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4.2 订单信息表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 是
addtime timestamp 创建时间 CURRENT_TIMESTAMP
dingdanbianhao varchar 200 订单编号
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
shangpintupian varchar 200 商品图片
jiage varchar 200 价格
shuliang int 数量
zongjiage int 总价格
shangjiabianhao varchar 200 商家编号
shangjiamingcheng varchar 200 商家名称
lianxidianhua varchar 200 联系电话
xiadanshijian datetime 下单时间
xiadanbeizhu varchar 200 下单备注
yonghuming varchar 200 用户名
xingming varchar 200 姓名
shouji varchar 200 手机
dizhi varchar 200 地址
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
userid bigint 用户id
表4.3 订单评价表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
dingdanbianhao varchar 200 订单编号
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
shangpintupian varchar 200 商品图片
shangjiabianhao varchar 200 商家编号
lianxidianhua varchar 200 联系电话
beizhu varchar 200 备注
shangpinpingfen varchar 200 商品评分
shangpinpingjia longtext 4294967295 商品评价
yonghuming varchar 200 用户名
xingming varchar 200 姓名
shouji varchar 200 手机
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
userid bigint 用户id

表4.4 用户表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
touxiang varchar 200 头像
shouji varchar 200 手机
youxiang varchar 200 邮箱
表4.5 配置文件表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4.6 用户表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4.7 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.8 收藏表
字段名 数据类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 收藏id
tablename varchar 200 表名
name varchar 200 收藏名称
picture varchar 200 收藏图片
表4.8 商品信息表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
shangpintupian varchar 200 商品图片
shangpinguige varchar 200 商品规格
shangpinpinpai varchar 200 商品品牌
shangpinxiangqing longtext 4294967295 商品详情
jiage int 价格
shuliang int 数量
shangjiabianhao varchar 200 商家编号
shangjiamingcheng varchar 200 商家名称
lianxidianhua varchar 200 联系电话
shangjiadizhi varchar 200 商家地址
clicktime datetime 最近点击时间
clicknum int 点击次数 0
userid bigint 用户id

表4.9 商品分类表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinfenlei varchar 200 商品分类

表4.10 商品分类表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinfenlei varchar 200 商品分类

表4.11 商品表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangjiabianhao varchar 200 商家编号
mima varchar 200 密码
shangjiamingcheng varchar 200 商家名称
zhaopian varchar 200 照片
lianxidianhua varchar 200 联系电话
shangjiadizhi varchar 200 商家地址
jingyingfanwei varchar 200 经营范围

表4.12 公告信息表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容

5系统实现

5.1系统框架实现
该系统采用的是“SSM”,即Spring + SpringMVC + MyBatis首字母的简称。Spring框架不是个人层面的框架,而是企业级别的系统框架,负责管理bean生命周期。SpringMVC将控制器和模型和视图这三个方面层级化。如果要通过映射的方式来对数据库进行调整,其中一个方法就是利用MyBatis不需要人工干预的自动产生Mapper.xml文件。
该系统将Maven作为一种工具去对项目进行管理。它最主要的功能特点是对Java项目进行有效的的管理和构建,同时它还能够对系统中的集成单元进行测试和打包。SpringMVC配置
SpringMVC框架不仅包含的项目有:第一种是配置控制器;第二种是拦截器;第三种是监听器;第四种是视图解析器;第五种是映射器;第六种是适配器。
见下图5.1所展示
在这里插入图片描述

图5.1 SpringMVC配置
5.1.1Spring配置
要实现Spring,必须要注册Bean。该系统利用第三方JDBC插件——阿里巴巴的Druid连接池,来配置程序系统数据源dataSource。同时还要给MyBatis配置sessionFactory,达到取得数据源对象的目的。还要加入数据源于事务管理中,做好这些过后,还需要扫描两类文件,一类是与业务处理相关的Java文件,另一类是MyBatis的映射文件。
具体的配置。
见图5.2所展示。
在这里插入图片描述

图5.2 Spring配置
5.1.2MyBatis配置
MyBatis配置文件Mapper.xml通过逆向工程生成,MyBatis的配置如图5.3所示。
在这里插入图片描述

图5.3 MyBatis配置
5.1.3web.xml配置
首先,需要读取配置的文件的内容,然后系统加载运行内容才会将项目启动。Web项目能够正常启动的前提是系统不会发生错误运行,需要web.xml文件内容一点缺失都没有。一旦系统发生错误运行,这个项目是启动不了的。
在这里插入图片描述

图5.4 web.xml配置

6系统测试

6.1系统测试的目的
在程序设计的过程当中,肯定会产生一些错误。然而,有一些错误的后果十分严重,比如说个人用户的私人信息被泄露,再比如说,系统的服务器崩溃导致小程序不能够正常启动或者浏览页面直接加载不出来。为了减少这些错误发生的概率,就需要工作人员对程序进行不停的测试,从而发现程序存在的漏洞。再将漏洞进行填补,不停地对程序进行迭代升级更新,让程序变得更加的稳定和安全。
第六章的主要内容就是将可能会产生的问题进行陈述,同时提出一些修改的意见。这个过程虽然会花费大量的精力,但是对于小程序的发展建设,确实十分必要且不可缺少的。
设计成功后的软件需要做一定的调试。可以用一些软件测试方法来对软件进行调试。
如果要开发一个新的软件,系统测试也是十分必要的,可以检测出设计的软件否满足用户需求。
要保证社区便利店销售小程序顺利上线。为了让系统中的功能模块更准确无误的运行,让操作更加的完善,系统必须要经过测试。在小程序正式上线之前,需要要对整个程序做一个全面的系统的测试。及时发现小程序里面可能存在的一些漏洞,将这些漏洞马上进行填补。最后将更新迭代最完美的小程序权限给用户。系统整体测试
第一步,单元测试
又叫模块测试。这个部分主要是码农,也就是负责写程序代码的人进行自检,检查自己编写的单位模块程序是否有错误,保证功能是能够正常运行的。及时修改程序编写中的一些错误。
第二步,集成测试
又叫组装测试。由负责软件开发的工作人员对各个模块一起进行测试,要保证模块结合起来,也能够让程序正常运行。这个过程需要不停的反复测试,发现模块组合可能出现的问题。及时地提出解决办法。
第三步,确认测试
又叫位验收测试。一般做确认测试的目的是确认开发研究设计的软件是否有效。这一步骤通常是在所有工作都完成过后才对软件进行测试。采用的方法是黑盒测试。黑盒测试可以比较准确的验证最后设计出的软件达不达标。
6.1.1系统基本功能测试
在对小程序进行测试过程中发现的问题,要及时地提出解决办法,保证提供给用户最流畅的使用体验,同时减少小程序开发的周期。如果一个错误在测试的时候反复出现,就说明解决的办法不对,开发者要意识到可能存在的问题。要将整个社区便利店销售小程序开发所牵扯的该问题都必须解决掉,这样可以让社区便利店销售小程序更加安全稳定的运行。
一般用来测试的有两种方法:
分别是白盒测试与黑盒测试
第一,白盒测试
又叫结构测试,这个测试的基本原理是将程序的设计逻辑都完整的走一遍,如果逻辑没有出现错误,那么基本上设计出来的程序也能够正常的运行,与最终的理想结果基本一致。
第二,黑盒测试
又叫功能测试,这个测试是直接在程序的接口处开始进行的,它不关注程序本身涉及的一些编码逻辑问题,而是直接看结果,结果能否满足程序的功能需求得到的数据是否是正常的,以及产生的信息是否完整。就像把程序放入一个黑箱中,所以这个测试方法又叫做黑盒测试。
6.2测试用户端功能实现
6.2.1用户登录
见下图6.1
第一步,把注册的用户名和密码填写到登录界面里,选择自己的身份登录。
在这里插入图片描述

图6.1 登陆界面图

6.2.2用户注册
在注册页面通过填写用户信息进行注册操作。如图6.2所示。
在这里插入图片描述

图6.2 用户注册
6.2.3用户首页
如图6.3所示,登陆系统后,可以对功能模块进行操作。

在这里插入图片描述

图6.3 系统首页界面图
在这个程序界面,可以直接查看的信息有:第一类是商品名称、第二类是商品图片、第三类是商品分类、第四类是商品规格、第五类是商品品牌、第六类是价格、第七类是数量以及商家编号、商家名称、联系电话、商家地址等等信息,如图6.4 所示。
在这里插入图片描述

图6.4 商品信息界面图
订单信息,在订单信息页面可以查看订单编号、商品名称、商品分类、商品图片、价格、数量、总价格、商家编号、商家编号、商家名称、联系电话、下单时间、下单备注、用户名、姓名、手机、地址、审核回复等信息,根据需要进行支付操作,如图6.5所示。
在这里插入图片描述

图6.5 订单信息界面图
订单评价,在订单评价页面可以查看订单编号、商品名称、商品分类、商品图片、商家编号、联系电话、备注、配送时间、商品评分、用户名、姓名等信息进行操作,如图6.6所示。
在这里插入图片描述

图6.6 订单评价界面图

见下图6.7,商家可以直接在“我”的程序界面增添或修改商品信息、订单的信息和评价以及我的收藏管理等详细信息进行操作。
在这里插入图片描述

图6.7 商家界面图
如图6.8用户,在我的页面可以对商品信息、订单信息、订单评价、我的收藏管理等详细信息进行操作。
在这里插入图片描述

图6.8 用户界面图
如图6.9所示,在用户信息页面可以填写用户名、密码等详细信息进行保存操作。
在这里插入图片描述

图6.9 用户信息界面图

6.3后台管理实现
后台页面都是用栅格的方式进行布局,使用的框架类型有:第一类是HTML5、第二类是CSS3、第三类是JavaScript、第四类是AJAX以及Bootstrap、jQuery、layer、vali-admin-master等等。
要用MD5加密以及验证码来进行验证才能够登录后端,同时为了提高安全系数添设了监听器以及过滤器。
6.3.1管理员登录
在登陆界面输入用户名和密码,选择管理员身份进行登录,见下图6.10。
在这里插入图片描述

图6.10 管理员登录页面
6.3.2管理员功能图界面
管理员登陆系统后,可以对首页、个人中心、商家管理等等程序界面出现的所有功能模块进行修改,增添和删除等操作,如图6.11所示。
在这里插入图片描述

图6.11 管理员功能图界面
6.3.3商家管理
如图6.12所示,商家管理,在商家管理页面可以对索引、商家编号、商家名称、照片、联系电话、商家地址、经营范围等内容进行详情,修改或删除等操作。
在这里插入图片描述

图6.12 商家信息管理
6.3.4用户管理
在小程序的用户管理页面可以操作修改一些用户的个人信息,比如下图中的索引、用户名、头像以及邮箱等内容见下图6.13所示。
在这里插入图片描述

图6.13 用户信息管理
6.3.5商品类型管理
商品分类管理,在小程序商品分类管理的界面可以进行一些操作。比如说对商品分类的修改,索引的增添操作等等。如图6.14所示。
在这里插入图片描述

图6.14 商品类型管理
6.3.6商品管理
在小程序商品信息管理的界面可以对下图中出现的商品的分类、商品规格、商品品牌、价格、数量、商家编号、商家名称、联系电话、商家地址等内容进行详情、查看评论、修改或删除等操作。如图6.15所示。
在这里插入图片描述

图6.15 商品管理
6.3.7订单管理
订单信息管理,在订单信息管理页面可以对索引、订单编号、商品名称、商品分类、商品图片、价格、数量、总价格、商家编号、商家名称、联系电话、下单时间、下单备注、用户名、姓名、手机、地址、是否支付等内容进行查看。如图6.16所示。

在这里插入图片描述

图6.16 订单信息管理界面图
订单评价管理,在订单评价管理页面可以对索引、订单编号、商品名称、商品分类、商品图片、商家编号、联系电话、备注、配送时间、商品评分、用户名、姓名、手机、审核回复、审核状态等内容进行详情,修改或删除等操作,如图6.17所示。
在这里插入图片描述

图6.17 订单评价管理界面图
6.3.8系统管理界面图
在小程序的轮播图管理界面能够进行一些操作,比如说修改索引、修改名称、增删内容等等。见下图6.18所示。
在这里插入图片描述

图6.18 系统管理界面图
6.4系统测试的结果
经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。

结 论

在这个项目正式启动之前,我花了大量的时间去做一些准备和学习,提前去了解要开发一个系统需要哪方面的技术。这导致项目的前期准备时间很长,但是实际完成项目的时间却并没有花费多少。在前期准备和正式实施项目的这个过程中,我发现了自己身上一些不足的地方。前前后后统共经历了几个月才最终设计建立好现在的系统。在整个过程中,我遇到了很多的难题,通过和指导老师的沟通以及查看一些书籍报刊解决了这些困惑。毕业设计的圆满完成,老师和同学给予了我很大的帮助。
为了开发一个功能比较完善的系统,首先我安装了一些配置,调试好系统的开发环境。这两个方面难度系数都不是很高,凭我可以自己就能够动手完成。其次,在项目设计过程中,我使用的开发工具是SSM,利用数据库进行系统数据之间的交互。最后,我为了保证系统能够安全和稳定的运行,又利用技术语言与实际的需求相匹配,将数据库里的数据进行整改。
在设计过程中,我遇到的最大的难题就是由于自己的英语水平有限,所以不能够及时地翻译外国的文献。而我查找的大量文献都是英文版本的,这就导致我花费了大量的时间和精力去解决这个问题。关键词语以及技术性词汇不能很好的理解。只有在借助翻译软件的实时性翻译功能的辅助下才勉强看懂。显然英语水平的高低直接影响到项目的完成时间。
最后我对整个毕业设计进行了一个复盘,一份耕耘,一份收获,我付出的大量汗水还是换来了一个不错的项目。在这个过程中,痛苦伴随着快乐。虽然在系统开发过程中各种难题都出现过,我也没有因此就放弃,不断地进行分析研究,解决问题。由于个人能力有限,设计开发的系统肯定还存在一些缺憾。有了这次学习经验,我的信心增加了,我相信在未来的路上,我会走的更好。

致 谢

毕业设计结束的同时也意味着四年的大学生活就要结束了。社区便利店销售小程序的完成以及如何在系统运行过程中实现的更好,这其中付出了很大的努力,这段时光将会终身难忘。
在毕业设计的这一段时间里,离不开导师的细心指导,还有同学们的热情帮助,有时候几个同学在一起讨论系统中的某个功能模块如何实现,如何实现的更好,或是问题没得到有效的解决,就会没有心思做其他的事情,让我们对学习充满了动力。
在毕业设计即将结束之时,首先要感谢我的指导老师,谢谢您在毕业设计和毕业论文中对我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。 课堂上,您教会我们如何学习、教会我们新的知识,在课下,您又像朋友一样亲切,教会了我很多道理,让我意识到先做人、后做事。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢大学里教过我的每一位老师,真心祝福您们。
在这里还得感谢我的战友们,也就是同学们对我的大力支持及帮助。正是因为有你们的不断帮助、鼓励,熬夜通宵,不停的调试、测试程序,给我带来了极大的动力,才能最终完成网站的运行。我们在一起交流、谈论的时光,都将是我们在通往未来道路上的宝贵财富。我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
最后,我要向牺牲了休息时间来对本文进行审阅,评议和参与论文答辩的各位老师表示深深的感谢。在此,衷心的谢谢您们!

参考文献

[1]范立峰,乔世全,程文彬 SSM程序设计 人民邮电大学出版社 2016。
[2]西尔伯沙茨(Silberschatz.A.) . 计算机科学丛书:数据库系统概念(原书第6版)[M]. 机械工业出版社,2018,03.。
[3]陈雄华 企业应用开发详解 电子大学出版社,2017。
[4]李宁Java Web开发技术大全–SSM+Servlet清华大学出版社,2017。
[5]聂哲 SSM动态WEB技术实例教程。
[6]李绪成,闫海珍 java Web开发教程—入门与提高篇(SSM+Servlet) 清华大学出版社 2017。
[7]史胜辉,王春明,沈学华 JavaEE基础教程 清华大学出版社 2016 。
[8] Symfon,CakeSSM,Zend Bartosz Porebski,Karol Przystalski,Leszek Nowak, 付勇. SSM框架高级编程:应用[M]. 清华大学出版社,2017,02.
[9] 波诺赛克 (Boroncxyk.T.),Elizabeth Naramore,薛焱. Web开发入门经典:使用SSM6、Apache和MySQL[M]. 清华大学出版社 ,2016,06
[10]Robert W.Sebesta著,刘伟琴等译.Web程序设计[M].(第4版).北京:清华大学出版社,2018:9-450.
[11]赵强 编著.精通SSM编程[M].北京:电子工业出版社,2016:34-56.
[12]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2018:10-180.
[13]陈刚.Eclipse从入门到精通[M].(第2版).北京:清华大学出版社,2017:17-380.
[14]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2015:19-421.
[15]鲁国琪,周鹏凯,卫嘉馨.Java编程语言在计算机软件开发应用中的探究[J].电脑编程技巧与维护,2020(12):5-7.

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

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

相关文章

计算机毕业设计|基于SpringBoot+MyBatis框架健身房管理系统的设计与实现

计算机毕业设计|基于SpringBootMyBatis框架的健身房管理系统的设计与实现 摘 要:本文基于Spring Boot和MyBatis框架,设计并实现了一款综合功能强大的健身房管理系统。该系统涵盖了会员卡查询、会员管理、员工管理、器材管理以及课程管理等核心功能,并且…

MySQL 教程 1.4

MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。 实例 以下是从命令行中连接mysql服务器的简单实例: [roothost]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗…

Android11编译第八弹:root用户密码设置

问题:user版本增加su 指令以后,允许切换root用户,但是,root用户默认没有设置密码,这样访问不安全。 需要增加root用户密码。 一、Linux账户管理 1.1 文件和权限 Linux一切皆文件。文件和目录都有相应的权限&#x…

微信小程序踩坑记录

一、引言 作者在开发微信小程序《目的地到了》的过程中遇到过许多问题,这里讲讲一些技术和经验问题。 基本目录机构: 二、问题 1、定位使用 获取定位一定要在app.json里面申明,不然是没办法获取定位信息的 "requiredPrivateInfos"…

jetson nano SSH远程连接(使用MobaXterm)

文章目录 SSH远程连接1.SSH介绍2.准备工作3.连接步骤3.1 IP查询3.2 新建会话和连接 SSH远程连接 本节课的实现,需要将Jetson Nano和电脑保持在同一个局域网内,也就是连接同一个路 由器,通过SSH的方式来实现远程登陆。 1.SSH介绍 SSH是一种网…

腾讯云最新优惠券领取入口,总面值2000元代金券,新用户、老用户、企业用户均可领取!

腾讯云推出年末感恩回馈活动,新老用户可免费领取总面值2000元的代金券礼包,适用于多种预付费产品,最高可抵扣36个月订单,领取后30天内有效。 领取入口: https://curl.qcloud.com/UpmL4ho3 领取说明: 腾…

制作太阳能小车

今天偶然星期想搞一个太阳能小车耍一下子,那么接下来就介绍下相关的准备物品吧 首先介绍下需要准备的物品: 1、玩具车拆下四个轮子 2、小马达一个 3、1.5v太阳能板(根据自己的需求购买相应的电压1.5v 3.7v 5v 12v等等) 4、3D打…

11.28~11.29基本二叉树的性质、定义、复习;排序算法;堆

完全二叉树(Complete Binary Tree)是一种特殊的二叉树结构,它具有以下特点: 所有的叶子节点都集中在树的最后两层;最后一层的叶子节点都靠左排列;除了最后一层,其他层的节点数都达到最大值。 …

Python 进阶(十二):随机数(random 模块)

《Python入门核心技术》专栏总目录・点这里 文章目录 1. 导入random库2. 常用随机数函数2.1 生成随机浮点数2.2 生成随机整数2.3 从序列中随机选择2.4 随机打乱序列3. 设置随机数种子4. 应用实例4.1 游戏开发4.2 数据分析4.3 加密与安全4.4 模拟实验

C++核心编程——运算符重载

C核心编程——运算符重载 运算符重载的方法运算符重载函数作成员函数与友元函数重载双目运算符重载单目运算符重载流插入运算符和"<<"和流提取运算符">>"重载流插入运算符和"<<"流提取运算符">>" 运算符重载的…

finebi 新手入门案例

finebi 新手入门案例 连锁超市销售数据分析 步骤&#xff1a; 准备公共数据新建分析主题处理数据在数据中分析在图形中分析数据大屏 准备公共数据 点击公共数据 点击新建文件夹 修改文件夹名称 上传数据 鼠标悬停在文件夹上&#xff0c;右侧出现 鼠标悬停在文件夹上&#x…

Ubuntu中MySQL安装与使用

一、安装教程&#xff1a;移步 二、通过sql文件创建表格&#xff1a; 首先进入mysql&#xff1a; mysql -u 用户 -p 回车 然后输入密码source sql文件&#xff08;路径&#xff09;;上面是sql语句哈&#xff0c;所以记得加分号。 sql文件部分截图&#xff1a; 创建成功后的部…

《opencv实用探索·七》一文看懂图像卷积运算

1、图像卷积使用场景 图像卷积是图像处理中的一种常用的算法&#xff0c;它是一种基本的滤波技术&#xff0c;通过卷积核&#xff08;也称为滤波器&#xff09;对图像进行操作&#xff0c;使用场景如下&#xff1a; 模糊&#xff08;Blur&#xff09;&#xff1a; 使用加权平…

与原有视频会议系统对接

要实现与原有视频会议系统对接&#xff0c;需要确保通信协议的一致性。连通宝视频会议系统可与第三方视频会议系统对接。实现与第三方会议系统对接还可以使用会议室连接器&#xff0c;可以确保不同系统之间的数据传输和交互。 具体对接流程可能因不同品牌和类型的视频会议系统而…

蓝桥杯第四场双周赛(1~6)

1、水题 2、模拟题&#xff0c;写个函数即可 #define pb push_back #define x first #define y second #define int long long #define endl \n const LL maxn 4e057; const LL N 5e0510; const LL mod 1e097; const int inf 0x3f3f; const LL llinf 5e18;typedef pair…

BEV+Transformer架构加速“上车”,智能驾驶市场变革开启

BEVTransformer成为了高阶智能驾驶领域最为火热的技术趋势。 近日&#xff0c;在2023年广州车展期间&#xff0c;不少车企及智能驾驶厂商都发布了BEVTransformer方案。其中&#xff0c;极越01已经实现了“BEVTransformer”的“纯视觉”方案的量产&#xff0c;成为国内唯一量产…

Leetcode-二叉树oj题

1.二叉树的前序遍历 144. 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/这个题目在遍历的基础上还要求返回数组&#xff0c;数组里面按前序存放二叉树节点的值。 既然要返回数组&#xff0c;就必然要malloc一块空间&#xff0c;那么我们需…

C# WPF上位机开发(第一个应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 万事开头难&#xff0c;很多事情都是难在第一步。走出了这第一步&#xff0c;回过头看以前走的每一步&#xff0c;发现其实也不难。用c# wpf编写界…

系列九、声明式事务(xml方式)

一、概述 声明式事务(declarative transaction management)是Spring提供的对程序事务管理的一种方式&#xff0c;Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明&#xff0c;是指在配置文件中声明&#xff0c;用在Spring配置文件中声明式的处理事务来…

Go 数字类型

一、数字类型 1、Golang 数据类型介绍 Go 语言中数据类型分为&#xff1a;基本数据类型和复合数据类型基本数据类型有&#xff1a; 整型、浮点型、布尔型、字符串复合数据类型有&#xff1a; 数组、切片、结构体、函数、map、通道&#xff08;channel&#xff09;、接口 2、…