基于SSM框架的微信小程序-外卖平台

基于SSM框架的微信小程序-外卖平台的设计与实现

摘要:近几年来,科技的迅速发展和不断创新,一定程度上影响着金融的创新和发展,人们无形之中在生活的方方面面都体验着智能时代带来的便捷和高效。在这样的背景下,电子商务与传统实体店的互相融合,人们的衣食住行、教育办公都被商家扩充在互联网上。对于餐饮行业来讲而言,线上交易解决了传统餐厅在地里位置和经营策略上的不利,同时,线上菜品照片、用户评价、实时显示外卖的配送情况等线上功能增加了用户与商家之间的互动性和透明性。
微信自2011推出,其注册用户数量超过3亿,每年稳定增长,截止2017年,微信月用户数量超过9亿。比起其他的通讯APP,微信不止是在沟通工具上雄霸首位,在安全支付[1]、地图导航[2]、小游戏也不逊于其他APP,在营销[3]方面更有着不可代替的地位。随着微信小程序入口能力不断开放,微信小程序与其他上线APP几乎无差别,还独有免安装、占内存小等优势,因此受到了餐饮行业的喜爱和欢迎。
在科技迅速发展的带动下,为讲效率和便捷,人们的生活方式和工作方式也在相对改变。此时,外卖平台对餐饮外卖的规范逐步定型,外卖服务质量不断提升,上班族、学生党往往更喜欢在线上解决就餐问题。且在这个特殊的期间–2020年防疫期间[4],提倡人与人之间适当保持距离,所有的实体店都建议顾客打包带走,谢绝堂食,这与线上订餐的差别仅在于线上订餐可以节省更多时间,由此我们不难看出,线上订餐、无接触配送不仅可以节省用户买菜、做饭、排队这些必须的生活作业时间,还提供给用户更多最新菜品资讯、更直观的菜品呈现以及获得更多互动优惠券,甚是减少了人与人之间的接触,降低被感染的风险。
基于微信小程序的订餐系统的建立,一种新型的营销方式为餐饮行业提供了第二种的消费方式,节约时间,高效利用时间的同时也因此步入了一种新的饮食方式,网上的点餐也预示这社会的智能化的步伐走到了我们预想的节奏,这种便捷,高效的方式也同时预示这生活的科技化是一个坚定的方向。

关键词:外卖、点餐、餐饮

Design takeout table platform based on WeChat small program
Abstract:In recent years, the rapid development and continuous innovation of science and technology have affected the innovation and development of finance to a certain extent, and people are experiencing the convenience and efficiency brought by the intelligent era in all aspects of life.In this context, the integration of e-commerce and traditional physical stores, people’s clothing, food, housing, transportation, education and office have been expanded on the Internet by businesses. For the catering industry, online transactions solve the disadvantages of traditional restaurants in terms of location and business strategies. Meanwhile, online features such as online dish photos, user reviews, real-time delivery display of take-out, etc. increase the interaction and transparency between users and merchants.
WeChat was launched in 2011, and the number of its registered users has exceeded 300 million, with a steady growth every year. By 2017, the number of WeChat users had exceeded 900 million. Compared with other communication apps, WeChat not only dominates the communication tools, but also plays an irreplaceable role in terms of security payment, map navigation and small games. With the continuous opening of WeChat small program entrance ability, WeChat small program and other online APP almost no difference, also unique free installation, small memory and other advantages, so by the catering industry love and welcome.
Driven by the rapid development of science and technology, people’s way of life and working is also changing in order to promote efficiency and convenience. At this time, the delivery platform has gradually finalized the standard of food delivery, the delivery service quality has been constantly improved, and the office workers and student party often prefer to solve the dining problem online. And - 2020 epidemic prevention during this special period, advocates the proper distance between people, all stores suggest customers pack out, reject the sit-in, the difference only lies in the online order to online order can be save more time, thus we see not hard, online order, no contact distribution can not only save users must buy vegetables, cooking, line up the operation time of life, also provide users with more new items information, more intuitive food coupons and get more interaction, what is to reduce the contact between people, reduce the risk of infection.
Reservation system based on WeChat applet the establishment of a new type of marketing for the food and beverage industry provides a second mode of consumption, saving time, the efficient use of their time at the same time also entered into a new way of eating, online order also the pace of the social intelligence to the rhythm, we expected this kind of convenient, efficient way also indicated that the life science and technology is the direction of a firm.
Key words: take-out, order, Food and beverage

目 录

TOC \o “1-3” \h \u 第1章 绪论
1.1 系统开发的背景及意义
1.2 国内外设备管理研究现状
1.2.1国外设备管理发展状况
1.2.2国内设备管理发展状况
1.3 论文的主要研究内容
第2章 系统需求分析
2.1 系统的需求分析
2.2 系统的功能需求
2.3 实体关系图(E-R图)
2.4 类图
2.5 本章小结
第3章 系统设计
3.1 系统设计
3.1.1 系统总体架构设计
3.1.2 数据库设计
3.2 系统模块的设计
1)商家网页注册模块
2)商家登录模块 18
3)商品信息管理模块
4)商店信息管理模块
5)订单管理模块
6)评论管理
7)用户登录操作模块
3.3 本章小结
第4章 系统实现
4.1 商家端功能模块的实现
4.1.1.商家注册模块的实现
4.1.2商家登录模块的实现
4.1.3商家个人信息管理模块
4.1.4商店信息管理实现
4.1.5商品管理实现
4.1.6评论管理实现
4.1.7订单管理实现
4.2 微信用户端模块的实现:
4.2.1用户授权登录实现 28
4.2.2用户点餐结单实现 29
4.2.3用户个人信息管理实现 30
4.3 本章小结
第5章 系统测试
5.1 系统测试
5.1.1 测试的意义
5.1.2 测试的目的
5.1.3 软件测试方法
5.2 测试用例及测试结果
5.3 本章小结
第6章 结束语
6.1 全文总结
6.2 课题展望
参考文献
致谢

第1章 绪论

1.1 系统开发的背景及意义
近几年来,随着科技的迅速发展和不断创新,人们的生活方式发生了翻天覆地的变化,新的生产方式和生活理念在慢慢地渗入到生活的方方面面。千变万化中不变的是民以食为天的基本生活理念。餐饮行业作为一个拥有悠久历史的服务行业,在过去传统的实体经营中发展非常缓慢,一直受到各种约束,例如:顾客流量局限于某一片区域、商家无法提前为顾客做准备、商家营业账单需要繁琐的人工盘算等。如今,餐饮行业在智能化的科技时代迎来了春天–外卖订单管理系统[5]。外卖平台的线上交易活动消除了实体[6]餐饮行业在地理位置的不利因素,同时,在这个追求高效便捷、视时间为成本且渴望解放双手的时代,对于上班族、学生党而言,线上点餐的确节省了不少时间,足不出户便可解决生活一大难题[7],很受大众群体的喜爱。
外卖平台蒸蒸日上的同时,也存在不少质疑的声音。人们担心外卖增长了人们的惰性,甚有一些外卖存在食品安全[8]问题,危害人们的身体健康。但是,每个新事物都在发展过程逐渐完善。外卖是效率社会的产物,它也受到食品安全的规范和监管。另一方面,外卖平台提供给顾客评价、实物图片等服务来增加商品的透明性。在过往的实体店中,商品食品安全问题也是小部分存在,却因为顾客之间的信息流通问题,不被其他人所知。如此一比较,外卖平台反而具有相对优势。
微信从2011年出现在市场上,其注册用户数量超过3亿,数量每年持续增长。截止2017年,微信月用户数量超过9亿。微信作为一个聊天APP,与同类相比,例如QQ、网易泡泡2004、FastMsg、飞信等,它不止在聊天方面鹤立鸡群,更在安全支付、地图导航、小程序游戏等领域领先于同类APP,在营销方面,更是有着不可代替的作用,也就很好解释了我们微信好友中总有那么几个是微商。再者,随着微信小程序[9]入口能力不断开放,微信小程序与其他上线APP几乎可以相互媲美,还在免安装、占手机内存小这两方面略胜一筹。用户在使用微信聊天的同时,不用另外安装APP就可以享受更多附属精简、小巧的功能,如京东小程序、车来了小程序等。因此,餐饮行业看上了微信小程序作为平台,这是必然的。
基于微信小程序[10]的订餐系统的建立,代表着餐饮行业有了一种新型的营销方式。作为用户,我们在节约时间,高效利用时间的同时也因此步入了一种新的饮食方式、新的饮食文化时代。网上的点餐也预示着社会的智能化的步伐走到了我们的衣食住行方方面面,这种便捷,高效的方式是我们无法拒绝的。
1.2 国内外设备管理研究现状
1.2.1国外设备管理发展状况
在国外,大多西方国家崇尚快餐[11]文化,餐饮行业中快餐业占主要部分。对快餐业来说,外卖无疑是“神助攻”。与中国外卖不同的是,国外外卖应该市场已经趋于饱和,没有大手笔的市场整合重组,在短时间内很难实现快速发展。以美国为例,外卖平台相对成熟,各外卖平台、商家开始通过顾客以往的点餐来分析顾客的订餐动向、潜在需求,根据顾客需求提供定制服务,寻求差异化战略,以吸引更多顾客,增强竞争力。
1.2.2国内设备管理发展状况
从温饱时代逐渐转型小康时代的过程,人们对精神生活的追求远远大于对物质生活。人们渴望从繁琐的家务中摆脱出来,洗衣机、洗碗机、扫地机甚至机器人就是在这样的背景下应运而生,同样的道理,人们自己动手做饭的概率逐渐下降,做饭的机会也很难得,有时忙到不可开交,亲自下厨还是一种奢望。做饭将会从生活必做事件慢慢转换为业余兴趣。加上科技的不断进步,人们的衣食住行被商家扩充到互联网上,足不出户便知天下事成为基本生活方式。这样的背景下,外卖市场潜力巨大。
中国外卖市场逐渐成熟,市场交易额稳中有进。数据显示,2015-2018年我国外卖行业交易金额总体呈逐年增长态势,年均复合增速达50.69%。2018年我国外卖行业交易金额为4613亿元,较2017年增长55.37%。2019年,我国外卖行业交易金额达6035亿元,外卖用户规模近 4.16亿人。在线外卖平台基本定型,美团、饿了么、饿了么星选(原名百度外卖,2017年8月被饿了么收购)基本形成“6-3-1”的格局,2019年Q3美团市场占有率为65%。餐饮行业对经济的发展起了很大的推进作用,主要“功臣”非外卖平台[12]莫属。
外卖市场的持续稳健发展之下,国内的主力外卖市场–一线二线城市逐渐趋于饱和,截止至2019年上半年,我国外卖市场上,一线二线城市的用户占64.8%,已经超过移动互联网用户在一二线城市47.5%的比例,外卖行业在一二线城市已经达到了超强渗透。与之相对,三线及以下城市的外卖用户仅占35.2%,而移动互联网用户三线以下城市占比为52.5%,假设所有互联网用户[13]都成为外卖用户,那么还有近20%的潜在用户等待被挖掘,可见三线及以下城市用户市场潜力巨大,外卖平台的发展暂时还没有遇到发展瓶颈。
1.3 论文的主要研究内容
本文主要介绍了在ideal平台上用当前流行的SSM[14]框架(Spring+SpringMVC[15]+Mybatis[16])开发一个微信小程序外卖点餐系统的过程。系统主要实现了用户点餐、商家对菜品上架、下架、修改,商店活动等几模块,相应的完成了对用户登录[17]、商品上架下架修改、用户用餐后发表评论等工作,使更多人从厨房中解脱、节省实体店排队等待时间,实现三餐智能化。论文的主要研究内容如下:
(1)利用IDeal平台、MySQL[18]数据库、MVC设计模式[19]和SSM开源框架实现一个微信小程序外卖点餐系统。
(2)介绍了系统实现的主要技术,包括了MVC设计模式和SSM框架的开发流程。
(3)对微信外卖点餐系统进行了长期的调查和需求分析,并在需要分析的基础上进行了系统的详细设计,包括了系统的总体架构、数据库的选取及设计和系统功能模块的设计。

第2章 系统需求分析

需求分析是一个项目的开始阶段,需求分析结果的精确性将会直接影响到项目的质量。
典型的需求分析包括了以下几个步骤:
(1)需要了解线上外卖平台的交易流程等,为业务流程分析做准备。
(2)了解商家在平台上的操作,包括商品上架、下线、修改、查看用户评论等操作;了解商品流向,包括订单数据的来源、商品配送过程、用户用餐后评价;用户在平台点餐过程、商品无法配[20]送到位等异常情况,此为调查的重点;在熟悉业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求,处理要求、完整性要求,这是调查的又一个重点。
(3)对前面的调查结果进行初步分析,分析的目标是解决“系统必须做什么”,也就是说确定系统具备哪些功能的问题。
2.1 系统的需求分析
基于SSM框架的微信小程序外卖点餐系统的需求如下:
(1)商家提供商品信息。商家登录系统后可以对商品进行上线、下架、修改、删除等操作。
(2)商家实时订单详情掌握商店的经营状况和评论内容推测顾客的大众喜好,做好材料准备方向和经营策略调整,以及商店活动策略。
(3)用户享受线上点餐服务。用户在微信小程序授权登录即可根据自己的位置、自己的饮食爱好点餐,灵活设置配送时间和送货地址。
(4)用户便捷管理个人信息。支持查看个人历史订单,方便唤起顾客的用餐体验或再来一单;收货地址管理方便,不选择地址时系统自动填充默认地址等。
2.2 系统的功能需求
根据SSM框架微信小程序外卖点餐平台要求,本系统分为两个端-商家端和用户端。
1.商家端的主要功能
(1)对商店的菜品进行管理,如查询、上架、下架、更新
(2)查看评论内容,根据顾客的点餐数量和评价,对菜品制作做出针对性调整
(3)因时制宜,推出活动促进销量和增进用户感情。对活动进行管理,如新建活动、修改活动、删除活动
(4)管理商店信息
(5)管理个人信息
2.客户端的主要功能:
(1)授权登录,用户进入小程序将个人信息授权给小程序
(2)在平台上浏览商家和商品,加入购物车,下单
(3)收货地址管理
(4)评论管理,用餐后发表个人的用餐体验
2.3 实体关系图(E-R图)
本外卖订餐系统主要的实体抽象出来有7个,分别是:用户信息、菜品信息、评论信息、订单信息、地址信息、活动信息和商店信息。以下一一列出它们的ER图:
(1)用户信息的ER图主要包括主键标识、密码、用户名、邮箱、联系电话、类型(0:用户;1:商家)、微信账号、头像、性别、商店id(用户没有)、创建时间,其ER图如2-3-1所示:
在这里插入图片描述

图2-3-1 用户信息ER图
(2)菜品信息的ER图主要包括主键标识、菜品名称、图片、类型、价格、商店名称、月销售量、点赞人数、加入购物车数量,其ER图如2-3-2所示:
在这里插入图片描述

图2-3-2菜品信息ER图
(3)评论信息ER图包括主键标识、评论内容、评论类型、实物图片、用户id、商店id、用户名称、用户头像和评价时间这些属性。主要用于记录用户的用餐体验,商家通过查询评论信息,了解顾客的消费心得。其ER图如2-3-4所示:
在这里插入图片描述

图2-3-4评论信息ER图
(4)订单信息ER图如2-3-5所示:
在这里插入图片描述

图2-3-5 订单信息ER图
(5)地址信息ER图如2-3-6所示:
在这里插入图片描述

图2-3-6 地址信息ER图
(6)活动信息ER图如2-3-7所示:
在这里插入图片描述

图2-3-7 活动信息ER图
(7)商店信息ER图如2-3-8所示:
在这里插入图片描述

图2-3-8 商店信息ER图
2.4 类图
通过分析,提炼出系统的各个实体,理清各个实体之间的联系,相应地,得出所下图2-4-1所示类图
在这里插入图片描述

图2-4-1系统类图
2.5 本章小结
本章对微信小程序外卖点餐平台进行了需求分析,同时开展了系统功能设计。按照微信小程序点餐平台设计理念,系统主要分为两个使用端,分别是商家端和用户端,主要有用户管理、菜品管理、评论管理、地址管理、商店管理、活动管理等几个模块。

第3章 系统设计

3.1 系统设计
3.1.1 系统总体架构设计
根据系统的功能要求,微信小程序外卖点餐平台分为两个使用端–商家端和用户端。商家端使用的是网页版操作页面,主要功能有:注册登录、商品信息管理、菜品信息管理、订单管理、评论查看。用户端使用的微信小程序端,主要功能有:授权登录、精准定位、购物车管理、收货地址管理、评论管理、订单查询、选择商家和商品、下单等。如3-1-1系统总体功能结构图:
在这里插入图片描述

图3-1-1系统总体功能结构图
3.1.2 数据库设计
微信小程序外卖点餐系统主要功能是对商家信息、用户信息、商品信息、评论信息的处理,是对数据的操作,因而数据库建立的好与坏会直接影响系统的运行效果,本系统使用MySQL数据库作为后台数据库。本节对系统用到的数据库表结构进行详细设计。
根据第三章的系统需求分析,系统需要建立一些数据库表来保存一些相关的信息,如用户信息、商店信息、订单信息、用户地址信息、评论信息、活动信息、菜品信息等一些数据库,以下是对上述一些主要数据库表的设计:
(1)User(用户表)表
表3-1-1 User表
列名 数据类型 可为空 注释
id VARCHAR(32) NOT NULL 用户id
password VARCHAR(32) NULL 密码
user_name VARCHAR(200) NULL 用户名
email VARCHAR(100) NULL 电子邮箱
phone VARCHAR2(15) NULL 手机号码
wx_user_id VARCHAR(200) NULL 微信id
type Tinyint(4) NULL 用户类型
head_pic VARCHAR(500) NULL 用户头像
sex Tinyint(4) NULL 性别
shop_id VARCHAR(32) NULL 商店id
createTime datetime NULL 创建时间
表3-1给出了存放微信点餐用户信息的数据库表结构,表中各字段代表的含义在第五列“注释”中有具体描述,该表的主键为id。
(2)Address(收货地址)表
该表为用户收货地址表,用于保存用户设置的收货地址的基本信息(如收货地址的省、市、区/县、详细地址、收货手机号码、是否为默认地址),以方便下次直接使用。表结构如表3-1-2所示:
表3-1-2 Address表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
province varchar(100) NULL 省
city varchar(100) NULL 市
area varchar(100) NULL 区/县
detail_place varchar(500) NULL 详细地址
create_time datetime NULL 创建时间
user_id varchar(32) NULL 用户id
user_name varchar(32) NULL 用户名称
phone varchar(32) NULL 手机号码
is_default tinyint(4) NULL 是否默认地址
status tinyint(4) Default=1 显示状态
(3)Shop(商店)表
该表为商店表,用于提供美食商铺的一些基本信息(如商店名称、店主id、商店地址、是否为美食、是否为超市、是否为水果蔬菜、多少元起配送、配送费等),表结构如表3-1-3所示:
表3-1-3 Shop表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
shop_name varchar(200) NULL 商店名称
shoper_id varchar(32) NULL 商店id
logo varchar(500) NULL 商店logo
address varchar(500) NULL 商店地址
is_food tinyint(4) NULL 是否为美食
is_market tinyint(4) NULL 是否为超市
is_fruit tinyint(4) NULL 是否为果蔬
is_dessert tinyint(4) NULL 是否为甜品
is_major_send tinyint(4) NULL 是否为平台配送
is_supper tinyint(4) NULL 是否为正餐
is_snack tinyint(4) NULL 是否为零食
create_time datetime NULL 创建时间
latitude double NULL 经度
longitude double NULL 纬度
low_send tinyint(4) NULL 多少元起配送
send_price tinyint(4) NULL 配送费
activity_type varchar(20) NULL 活动类型
remark varchar(500) NULL 商店介绍
(4)Order(订单)表
表3-1-4 Order表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
user_id varchar(32) NULL 用户id
shop_id varchar(32) NULL 商店id
menu_id varchar(32) NULL 菜品id
STATUS varchar(20) NULL 类型
create_time Datetime NULL 创建时间
shop_name varchar(60) NULL 商店名称
price int(11) NULL 价格
order_id varchar(32) NULL 订单id
menu_name varchar(200) NULL 菜品名称
numb int(11) NULL 数量
ext varchar(100) NULL 订单备注
address_id varchar(64) NULL 地址id
remind tinyint(4) NULL 是否已经提醒商家
表结构如上表3-1-4所示,该表为订单表,用于记录用户在平台的消费情况的详细信息(如订单编号、商店名称、菜品名称、价格、商店地址等),方便顾客查看自己的消费情况,同时也方便商家统计登记顾客的偏好和商店营业情况。
(5)Activity(活动表)表
该表为商店活动表,用于登记最新活动详情(如优惠金额、商店名称、活动类型等),表结构如表3-1-5所示:
表3-1-5 Activity表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
name varchar(200) NULL 活动名称
low_line varchar(100) NULL 最低获取优惠的价格
discount int(11) NULL 优惠金额
shop_id varchar(32) NULL 商店id
create_time datetime NULL 创建时间
type tinyint(4) NULL 活动类型
type_photo varchar(200) NULL 活动图片

(6)Comment(评论表)表
该表为用餐后评论表,用于记录顾客对用餐的评价(如好评/差评,实物图片、整体用餐体验等),表结构如表3-1-6所示:
表3-1-6 Comment表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
content varchar(200) NULL 评价内容
user_id varchar(500) NULL 用户id
shop_id varchar(10) NULL 商店id
photo int(11) NULL 图片
user_name varchar(32) NULL 用户名称
create_time varchar(255) NULL 创建时间
comment_type datetime NULL 评价类型
user_head_pic int(11) NULL 用户头像

(7)Menu(菜品表)表
该表为菜品表,用于记录各个商店的商品详情(如等),表结构如表3-1-7所示:
表3-1-7 Menu表
列名 数据类型 可为空 注释
id varchar(32) NOT NULL id
name varchar(200) NULL 菜品名称
head_pic varchar(500) NULL 菜品图片
type varchar(10) NULL 菜品类型
price int(11) NULL 价格
status tinyint(4) NULL 是否上线状态
shop_id varchar(32) NULL 商店id
ext varchar(255) NULL 菜品描述
create_time datetime NULL 创建时间
laud int(11) NULL 点赞人数
rate int(11) NULL 月销售量
numb int(11) NULL 加入购物车数量
3.2 系统模块的设计
从第二章的需求分析得出,微信小程序点餐平台的实现主要分为两种角色,商家和用户。整个系统主要包括主要有用户管理、菜品管理、评论管理、地址管理、商店管理、活动管理等几个模块,在本章不做赘述,主要介绍系统中用户和商家注册、登录、购物车管理、订单管理。收货地址管理。评论管理。
1)商家网页注册模块
商家需要在网页版注册成为系统平台的用户,填写个人信息:用户名、密码、邮箱、手机号、微信号、性别,签订《商家入驻平台协议》,注册成功之后,使用账号密码登录系统,如图3-2-1所示:

在这里插入图片描述

图3-2-1 商家注册流程图
2)商家登录模块
商家注册成功之后,使用账号密码登录系统,登录成功之后可以对商家个人信息和商店信息进行管理。其具体流程图3-2-2所示:
在这里插入图片描述

图3-2-2商家操作流程图
3)商品信息管理模块
商家成功登录之后,可以对商品进行线上操作,商品信息管理包括商品上架、下架、更新。其具体的流程图如下图3-2-3示:
在这里插入图片描述

图3-2-3商品信息管理

4)商店信息管理模块
商家首先登录网页后台,输入自己的账号和密码进行登录验证,登录成功之后进入主操作页面,选择店铺资料,进行编辑。具体流程如下图3-2-4所示:
在这里插入图片描述

图3-2-4商店信息管理流程图
5)订单管理模块
订单管理是商家合理安排工作的一个依据。在客流量大的情况下,商家可能人手不够或者材料不足等原因,无法为用户提供服务,此时如果需要逐个用户的联系将会非常不智能,因此订单管理主要提供接单、拒接接单的功能。同时考虑商家在准备商品没有条件去实时关注系统订单信息,故订单管理中增加语言提醒。其具体的流程图如下图3-2-5所示:
在这里插入图片描述

图3-2-5订单管理流程图
6)评论管理
商家端的评论管理主要包括两个操作,一是查看评论,浏览用户的评论,通过评论了解用户对商品的喜好程度,以便商家做出有针对性的调整。二是删除评论,对评论做简单的筛选显示,主要是为了防止部分用户存在偏见而恶意评论。其具体的流程图如下图3-2-6所示:
在这里插入图片描述

图3-2-6商家端评论管理流程图
7)用户登录操作模块
用户在微信端通过搜索小程序进入系统,登录流程由微信端为主导。进入微信小程序后,为保护微信用户的个人信息安全与隐私,小程序端会优先征求微信用户的同意是否可以使用微信个人信息,主要包括头像信息、用户名、用户微信id、当前位置等。用户不授权个人信息,在使用过程中会受到一些限制。其具体流程如下图3-2-7所示:
在这里插入图片描述

图3-2-7订餐用户登录流程图
3.3 本章小结
用户在微信端通过搜索小程序进入系统,登录流程由微信端为主导。进入微信小程序后,为保护微信用户的个人信息安全与隐私,小程序端会优先征求微信用户的同意是否可以使用微信个人信息,主要包括头像信息、用户名、用户微信id、当前位置等。用户不授权个人信息,在使用过程中会受到一些限制。其具体流程如下图3-8所示:
通过本章的分析和设计,微信小程序外卖平台系统已经基本成形。首先在系统概要设计中摸清楚了系统的总体功能,再顺着这个逻辑细分到各个模块的功能,从功能中抽象出系统的实体:商家、用户、地址、活动、菜品、商店、评论,完成数据库的设计,最后理清楚每个模块的流程走向,系统设计和分析阶段到此算是告一段落,即将开始系统的功能实现。

第4章 系统实现

根据第三章的系统模块的设计,本章给出了它们的实现。下面分别是它们实现的界面效果。
4.1 商家端功能模块的实现
4.1.1.商家注册模块的实现
商家在注册页面完成注册,填写个人信息:用户名、密码、邮箱、手机号、微信号、性别,签订《商家入驻平台协议》,点击注册时,首先会校验商家是否勾选同意协议,如果不同意协议,无法注册成为系统用户;当商家同意协议时,系统再验证该账号是否已经被注册使用了,在没有被使用的情况下方可注册成功。如图4-1-1所示:
在这里插入图片描述

图4-1-1商家注册界面
4.1.2商家登录模块的实现
从前面的分析,微信小程序外面点餐平台分为两种角色,在不同的入口实现登录。这里先介绍商家端在网页版的登录。登录界面需要验证的个人信息有账号、密码,填写账号密码之后,点击登录,系统会匹配登录信息是否与注册或最新更新的个人信息是否一致,如果一致,则登录成功,进入主操作页面;如果登录信息验证不通过,将会清空商家所填的账号密码信息,商家无法登录系统,系统将提示商家“账号或者密码错误”。如图4-1-2所示
在这里插入图片描述

图4-1-2 商家登陆界面
4.1.3商家个人信息管理模块
商家成功登录之后,支持更新个人信息,可以更新的子段有图像信息,用户名称,性别,联系电话等。考虑商家入驻平台后,若是随意删除个人信息,将会应影响到平台正常运营,因此暂不正常删除。个人信息管理页面如下图4-1-3所示:
在这里插入图片描述

图4-1-3商家管理个人信息页面
除了可以更新基本的个人信息,还支持修改个人密码,修改密码时需要输入原先的密码并验证旧密码是否正确,在旧密码正确的前提下,设置新密码。设置新密码时,考虑商家可能输错或者忘记的情况,需要设置两次一致的新密码。其页面设计如4-1-4所示:
在这里插入图片描述

图4-1-4商家更新登录密码页面
4.1.4商店信息管理实现
商店信息管理主要是对配送价,起送价以及店铺类型和头像的修改,页面设计如图4-1-5所示:
在这里插入图片描述

图4-1-5 商店信息管理页面
4.1.5商品管理实现
商品管理主要包括菜品的罗列,跟实体店的菜单相同功能,用于商家查看自己商店的菜品概况,在每个菜品的操作栏都有修改和删除的快速操作按钮,点击操作栏的修改、删除可以对商品快速操作。页面设计如4-1-6所示。
在菜单管理页面,点击增加菜品即可快速增加菜品,页面设计如图4-1-7所示:
在这里插入图片描述

图4-1-6商品列表页面

在这里插入图片描述

图4-1-7 上架商品页面

4.1.6评论管理实现
评价管理主要包括查询评论、删除评论,页面设计如图4-1-8所示:
在这里插入图片描述

图4-1-8商品管理页面
4.1.7订单管理实现
订单管理主要包括接单、拒接接单、语音提示,页面设计如图4-1-9所示:
在这里插入图片描述

图4-1-9订单管理页面

4.2 微信用户端模块的实现:
4.2.1用户授权登录实现
用户小程序端授权登录进入外卖点餐平台首页,即商家列表页,系统默认地将商家按整体销量从大到小排序。用户可以选择自己需要的大方向来筛选符合需求的商家,例如超市、蔬菜水果、新商家等,亦或是通过关键字模糊搜索商家。页面设计图如4-2-1所示:
在这里插入图片描述

图4-2-1 小程序端系统首页

4.2.2用户点餐结单实现
用户进入外卖点餐平台首页选择中意的商家,进入店铺,浏览商品,可将有意购买的商品加入购物车,既方便用户浏览自己的意向菜单又便于结算以及批量修改商品份数,页面设计如图4-2-2所示:
在这里插入图片描述

图4-2-2 选择商品页面
选择商品确认无误后,点击“去结算”进入支付页面。在微信支付页面,系统智能帮用户选择默认地址信息,支持用户重新选择。在这个页面,用户最终确定订单详情–商品数量和备注等。提交订单并在规定时间完成支付的,商家端会接收到该订单,并对订单做出回应。页面设计图如4-2-3所示:
在这里插入图片描述

图4-2-3 提交订单页面
4.2.3用户个人信息管理实现
用户个人信息管理包括收货地址、基本信息、订单信息、评论信息等。
用户在收货地址信息管理页面,首先显示用户所有的地址信息,选择一条地址信息,对其进行编辑和删除,完成地址信息的更新;可以选择一条地址信息作为默认地址,按照指引添加地址信息等,地址列表页和编辑页面如图4-2-4、4-2-5所示:
在这里插入图片描述

图4-2-4地址信息列表页

在这里插入图片描述

图4-2-5 编辑地址信息页
个人信息页展示用户信息–头像、昵称。收货地址以及平台咨询电话。页面设计如图4-2-6所示:
在这里插入图片描述

图4-2-6 个人信息页面
历史订单信息页面罗列用户在平台以往的订单概况。在这页面,每个订单显示商品图片、单价、数量、订餐日期、商家名称、评论和再来一单按钮。订单提供评论入口,在评论页面也会回显商品信息,防止用户在多个商品中记忆混乱,导致评论交叉。页面设计如图4-2-7所示:
在这里插入图片描述

图4-2-7订单列表页

4.3 本章小结
本章介绍了从系统的总体架构、数据库的设计和系统部分模块设计与实现四个方面阐述了外卖点餐平台的设计与实现。数据库的设计包括了用户信息表、商店信息表、菜品信息表、评论表、商品活动表和用户地址表、订单表的设计;系统模块设计主要包括了商家登陆注册模块、商家信息模块、用户个人信息管理模块、评论管理模块和订单管理模块的设计;从设计出发,最终完成系统的代码实现,给出了系统模块设计中相应的实现界面。

第5章 系统测试

5.1 系统测试
5.1.1 测试的意义
软件测试是软件质量的最后一道把关,是对软件质量好坏的的评估,软件测试是软件质量保证的最后但重要必不可少的环节,代表了需求、设计和编码的最终检查。在软件测试过程中,以发现问题的目标去模仿用户操作流程,提前发现一些隐藏或潜在的软件质量问题,避免用户一使用或者使用不久就频繁出现bug而影响用户体验和用户合作。
5.1.2 测试的目的
(1)测试的目的就是发现软件的错误。在系统测试中发现的错误可能是各式各样的,按其范围和性质可划分为功能错误、系统错误、过程错误、数据错误、编码错误几类。
(2)测试类型分为多种,侧重点各不相同,例如,功能测试旨在保证系统功能的正常运行;性能测试旨在检测系统在高并发量的处理能力来判断系统的使用规模;兼容测试在于确保各种使用终端都可正常显示和运行等。测试的范围和重点各不相同,但目的都在于全方面了解系统的综合能力,即便当前不能修改已发现的bug,也对系统的能力心知肚明,在下次开发过程中可着重注意。
5.1.3 软件测试方法
本系统是采用按照软件开发的阶段的测试方法,因而本系统在交付运行之前要进行单元测试、集成测试和系统测试。
5.2 测试用例及测试结果
由于系统的测试用例比较多,本小节只给出了系统的部分测试用例及相应的测试结果来说明系统测试的情况,系统测试的部分用例如下表5-1所示:
表5-1 系统单元测试的部分用例
测试用例编号 测试用
例简称 测试用例名称 测试目的 测试结果
1 TCA01 checkUser 测试能否正常登录 登录信息验证成功,进入首页
2 TCA02 register 测试能否正常注册 注册成功,跳转到登录页面
3 TCA03 updateUserPassword 测试能否正常修改个人密码 修改密码成功,之后登录使用新登录密码
4 TCA04 addMenu 测试能否上架商品 上架商品成功,商品列表增商品,小程序端增加商品
5 TCA05 updateUser 测试能否修改个人信息 个人信息修改成功,页面显示最新的个人信息
6 TCA06 updateShop 测试能否修改商店信息 修改商店信息成功,店铺资料显示最新信息
7 TCA07 insertAddress
测试用户在小程序端能否成功添加收货地址 添加新收货地址成功,并返回地址列表页
8 TCA08 updateAddress 测试能否修改用户收货地址 收货地址信息回显正确,点击保存后返回地址列表
9 TCA09 DelAddress
测试能否正常删除地址信息 删除地址信息成功
10 TCA10 getAllOrders
测试加载用户所有订单是否正确 获得用户历史订单成功
11 TCA11 selectMenu
测试首页加载菜单 首页加载菜单
12 TCA12 delMenu
测试删除菜单是否成功 删除菜单成功,菜单列表无相关记录
13 TCA13 UpdateMenu 测试能否成功更新菜单 更新菜单成功
14 TCA14 insertComment
测试能否成功添加评论 添加评论成功,评论之后订单信息页面不显示“评论”按钮
由于本系统的需求分析比较详细,同时对需求分析分析地很透切,因此为系统的设计提供了重要的依据和保障,使设计阶段的工作进行地非常顺利,系统的开发是严格按照系统的设计来进行的,因此,在进行测试工作时,系统的测试工作也很顺利,系统整体运行状态良好。
5.3 本章小结
外卖点餐系统是基于SSM框架开发的,系统测试主要是对其组件进行测试和数据持久化层的DAO进行测试。本章首先对软件测试的意义、目的和软件测试进行了简单的介绍,然后给出了如何对Struts框架中的Action组件进行测试的测试案例,在本章的最后给出了本系统的部分测试及及测试过程中相应的测试结果。

第6章 结束语

6.1 全文总结
本文给出了基于微信小程序外卖平台系统的开发过程。系统采用java语言为开发语言,数据库采用的是MySQL。而系统中用到的用例图以及体系结构图等是采用ProcessOn在线制作。
论文首先阐述了外卖平台目前的发展形势和前景,得出开发的可行性,接着对系统进行需求分析。根据系统需求分析,清楚系统的总体功能和模块功能,系统功能主要包括用户管理、商店管理、商品管理、评论管理、活动管理、收货地址管理等几个模块。此外,文中给出了各个实体的ER图、数据流图、数据库设计图、模块功能的流程图以及实现页面截图。
在系统的实现部分,文中重点给出了商家注册登陆模块、个人信息管理模块、商品管理模块、商家管理模块、订单管理模块、评论管理模块的实现流程和实现界面。
综上所述,本文通过对IDEAL开发平台、数据库MySQL、MVC设计模式以及Java语言等相关知识的应用,给出了一个基于SSM框架的微信外卖点餐小程序系统的开发实例。
6.2 课题展望
我们知道,社会发展的脚步像是被按上了快进键,人们的生活比起之前都要充实、忙碌很多,人们无暇顾及一些生活琐事。外卖平台的出现正很好解决了人们的饮食问题和工作问题的冲突,因此受到用户和商家的喜爱。在智能化逐渐普遍的今天,外卖是必不可少的,平台也就会处于更好的发展状态。
本系统在一定程度上,实现了外卖点餐平台的基本功能,但同时也存在着一些不足:
(1)系统没有添加外卖配送员角色的设计
(2)对微信小程序不太熟悉,没有为系统提供一个更好的性能优化
(3)在数据库设计方面,只是简单的考虑数据的存储,没有对访问性能做一些优化
通过这次学习实践呈现出的问题,以后将在小程序开发和系统性能优化方面多加学习。

参考文献

[1] 蒋银科,肖毅,聂笑一.微信支付的现状分析与信用问题研究[J].China Academic Journal Electronic Publishing House,2014
[2] 刘煜.车载GPS/电子地图导航系统的研究[D].贵州大学,2016.
[3] 左佩佩,《微信营销存在的问题探析》[J].《中国商贸》,2013(36):32-33.
[4] 百度.最新疫情地图实时数据报告https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_3
[5] 贾倩. 外卖订餐管理系统的设计与实现[D].华中科技大学,2015.
[6] 张洪涛,李祎程.实体经营的完美转身[J].现代商业,2008,31:60-67.
[7] 漆智勤. 基于O2O模式的外卖订餐系统[D].南昌大学,2015.
[8] 许睦农.我国餐饮行业食品安全研究[J]. 科教文汇,2010(22)
[9] CSDN博客.微信小程序. https://blog.csdn.net/qq_38125123/article/details/69568667, 2018-04-07.
[10] 刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息通信,2017(01):260-261.
[11] 王成福.中国传统餐饮的现代快餐化经营研究[D]. 武汉理工大学 2004
[12] 李立娟.网络外卖平台再议监管[J]2016(05)
[13] 马天龙.移动互联网用户行为分析[J]2015(09)
[14] 朱慧栋. 基于SpringMVC框架的电子商务系统的设计与实现[D].湖南大学,2016.
[15] 徐雯,高建华.基于Spring MVC及MyBatis的Web应用框架研究[J].微型电脑应用,2012,28(07):1-4+10.
[16] 荣艳冬.关于Mybatis持久层框架的应用研究[J].信息安全与技术,2015,6(12):86-88.
[17]张瑞青,李铁柱.基于SpringMVC的用户登录系统的设计与实现

[18] 胡敏.Web 系统下提高 MySQL 数据库安全性的研究与实现[M]. 北京:北京邮电大学,2015
[19] 沈珏. MVC设计模式[J]. 科技广场, 2009, 2009(9).
[20] 王鑫.高校市场外卖平台配送方式的现状分析与建议[J].中国商论,2018(13)

致谢

在次论文顺利完成之际,首先我要向尊敬的指导老师深深的敬意和无以言表的感谢。在论文撰写和自主项目设计实现过程中,自始至终得到指导老师的谆谆教诲和热情鼓励。从本文的选题,到论文结构设计排版、资料的收集和整理,再到论文的修改完善,老师都倾注了大量的时间和精力,才得以是我顺利完成本文的写作。在学业、生活和实习工作上,老师都提供了一些非常宝贵的意见。老师的认真诚恳、热情耐心都给我留下了难以磨灭的印象,在今后的工作树立了优秀的榜样。
其次,我要感谢朝夕相处的同学们。同学之间的互帮互助和相互监督,也是本文顺利完成的重要动力。从他们身上,我学到了不同的考虑问题方式和解决思路。
最后,向所有关心我的亲人、师长和朋友们表示深深的谢意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值