100202051036 - 陈超 - 微信智能点餐餐饮管理系统的设计与实现 - 图文 下载本文

北京理工大学珠海学院2014届本科生毕业设计

微信智能点餐餐饮管理系统的

设计与实现

学 院: 专 业: 姓 名: 指导老师:

中国·珠海 二○一四年五月

计算机学院 软件工程 学 号: 100202051036 职 称: 讲师

陈超 魏志军 北京理工大学珠海学院2014届本科生毕业设计

诚信承诺书

本人郑重承诺:本人承诺呈交的毕业设计《微信智能点餐餐饮管理系统的设计与实现》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。

本人签名: 日期: 年 月 日

北京理工大学珠海学院2014届本科生毕业设计

微信智能点餐餐饮管理系统的设计与实现

摘 要

随着餐饮行业的迅猛发展,近年来其经营管理模式也在不断发展和创新,信息化的管理技术能为餐饮企业带来真正业务上的提升,快速解决营运上的诸多难题。

微信,是当今最火的移动社交软件,微信5.0以后,重磅推出微信官方公众号,基于其6亿多的用户量,假若能将微信与餐饮点餐结合起来,无疑是一个集营销以及信息化管理的餐饮行业的革命性的入口,更是一个O2O模式的入口。微信点餐的魅力和商机不言而喻,将是一个巨大的行业市场。 因此,此次的微信点餐餐饮系统的设计与实现正是在此背景下诞生的。

用微信点餐,不仅提高了餐厅的档次,体现了差异性,也通过微信这个6亿多用户的社交软件,打造了自己餐厅的亮点,无疑是一个很好的营销广告手段。并且平时通过微信公众平台,可以将一些优惠信息推广给用户,更是一个很好的广告平台,大大提高了用户粘度。使用微信点餐代替菜谱,这就省去了定期更换纸质菜谱的费用和时间。微信点餐,顾客只需在餐厅扫一扫该餐厅的微信公众账号2微码,关注该餐厅的微信公众账号。选择点餐,便可看到各式菜肴照片、口感介绍和营养成分介绍。只要轻轻一点,所有订单主动上传到厨房,无需服务员在旁边等候,效率大大的提高。点完菜后,系统会自动显示菜品清单和待支付金额,让消费者尽情享受卓越的用户体验。并且餐厅管理员通过后台可以即时看到用户下单信息以及支付信息。

本课题是设计与实现一个微信点餐系统,提高餐饮行业的信息化管理,节省人力、控制成本、提升工作效率的特点。为广大餐饮行业提供了高效的餐饮信息化服务,营销服务。该系统功能模块包括:

1) 4)

系统后台管理模块;2) 移动端会员卡模块;5)

微信端点单模块;3) 移动端营销推广模块; 营业统计模块;

关键词:微信点餐 微信公众平台 PHP ThinkPHP MVC

北京理工大学珠海学院2014届本科生毕业设计

The Design And Implement of Wechat Ordering Food And Catering Management System

Abstract

In recent years with the rapid development of catering industry, its management pattern is also continually developing. The information management in technology can bring real business promotion for the catering industry and quickly solve many problems.

Wechat is the most popular mobile social software today. After its 5.0 version, the public platform was released. Based on more than 600 million users using wechat, if we can combine wechat and the catering for ordering food, it was a new island for the catering industry ,event can be a entrance of the Online to Offline mode. It goes without saying that the market would be a huge by using wechat to order food. Therefore, the wechat ordering catering system design and implementation was born in this background.

By using wechat to order food, not only improve the level of the restaurant, but also make the different through this 6 million users social network software. It is a good way of marketing and advertising to make your restaurant different.. Even can send some sales message to the users by wechat, it was a good platform for advertising and it can improve the user stickiness. By using wechat for ordering foods , it can save the cost for changes menu which in paper instead of using electronic menu. When user using wechat for order food , they only need to scan the two-dimensional code of the restaurant`s wechat public platform, become the fans and can start ordering foods. When user using wechat ordering foods, he can see all the food`s picture and introduction in his phone. It is very convenience that only need move your finger then the order will auto send to the kitchen, no need the waiter waiting for customer finished his ordering. By using wechat for ordering foods, it will improve the efficiency for the process of ordering foods. After ordering foods, the wechat will display the list of the foods and money which users ordered. And it was a fantastic user experience. The restaurant manager can see the order and payment message of users

This project of design and implement a wechat ordering system is for improve the informatization of the catering industry, save the human resources and control the cost. This system contains 5 modules in below:

1) Admin manage module; 2) Wechat ordering module;

北京理工大学珠海学院2014届本科生毕业设计

3) Marketing and adverting module; 4) Member system;

5) Business statistics module;

Keywords: Wechat ordering; Wechat public platform; PHP ;ThinkPHP;MVC

北京理工大学珠海学院2014届本科生毕业设计

目 录

1 前言 ....................................................................... 1

1.1本设计的目的以及研究意义 ................................................... 1 1.2餐饮点餐的研究现状 ......................................................... 2 1.3微信点餐的未来发展趋势 ..................................................... 2 2需求分析 .................................................................... 4

2.1需求综述 ................................................................... 4

2.1.1用户需求 ............................................................. 4 2.1.2 功能需求 ............................................................ 5 2.2 详细需求分析 ............................................................... 5

2.2.1 系统参与者 .......................................................... 5 2.2.2系统用例 ............................................................. 6 2.2.3具体用例分析 ......................................................... 9 2.3领域类图 .................................................................. 13 3概要设计 .................................................................... 14

3.1 技术选型 .................................................................. 14 3.2 功能模块划分 .............................................................. 14

3.2.1 用户功能模块 ....................................................... 14 3.2.2 系统管理员功能模块 ................................................. 16 3.2.2 微信用户功能模块 ................................................... 16 3.3 系统架构 .................................................................. 17 3.4 包图 ...................................................................... 18 3.5 类图 ...................................................................... 20 3.6 数据库设计与实现 .......................................................... 21

3.6.1 数据库E-R图 ....................................................... 21 3.6.2 数据库设计 ......................................................... 23 3.6.3 数据逻辑结构设计 ................................................... 24 3.7 部署图 .................................................................... 28 4详细设计 .................................................................... 29 4.1 微信公众号接口设计与实现 .................................................. 29 4.2 系统各功能详细设计 ........................................................ 31

4.2.1用户注册与登录设计与实现 ............................................ 31 4.2.2添加微信号功能设计与实现 ............................................ 33 4.2.3 微信订餐功能设计与实现 ............................................. 37 5 安装测试 ................................................................... 41

5.1 运行环境简介 .............................................................. 41 5.2 测试计划 .................................................................. 41 5.3 测试过程与结果 ............................................................ 42

5.3.1 注册功能测试 ....................................................... 42 5.3.2 登录功能测试 ....................................................... 43

北京理工大学珠海学院2014届本科生毕业设计

5.3.3 查看菜品分类功能测试 ............................................... 44 5.3.4 点餐下单功能测试 ................................................... 46 5.4 总结 ...................................................................... 48

5.4.1系统存在的不足 ...................................................... 48 5.4.2改进方案 ............................................................ 48 参考文献 ..................................................................... 谢 辞 .......................................................................

49 50

附 录 ....................................................................... 51 附录一:与微信服务器校验接口配置程序 .......................................... 51 附录二:处理微信用户在微信客户端输入“订餐”关键字代码: ...................... 52 附录三:微信点餐微信端点单动态数量变化ajax js代码: .......................... 53

北京理工大学珠海学院2014届本科生毕业设计

1 前言

随着餐饮行业的迅猛发展,近年来其经营管理模式也在不断发展和创新,信息化的管理技术能为餐饮企业带来真正业务上的提升,快速解决营运上的诸多难题。

微信,是当今最火的移动社交软件,微信5.0以后,重磅推出微信官方公众号,基于其6亿多的用户量,假若能将微信与餐饮点餐结合起来,无疑是一个集营销以及信息化管理的餐饮行业的革命性的入口,更是一个O2O模式的入口。微信点餐的魅力和商机不言而喻,将是一个巨大的行业市场。 因此,此次的微信点餐餐饮系统的设计与实现正是在此背景下诞生的。

1.1本设计的目的以及研究意义

本课题是设计与实现一个微信点餐系统,用微信点餐,不仅提高了餐厅的档次,体现了差异性,也通过微信这个6亿多用户的社交软件,打造了自己餐厅的亮点,无疑是一个很好的营销广告手段。并且平时通过微信公众平台,可以将一些优惠信息推广给用户,更是一个很好的广告平台,大大提高了用户粘度。使用微信点餐代替菜谱,这就省去了定期更换纸质菜谱的费用和时间。

微信点餐,顾客只需在餐厅扫一扫该餐厅的微信公众账号2微码,关注该餐厅的微信公众账号。选择点餐,便可看到各式菜肴照片、口感介绍和营养成分介绍。只要轻轻一点,所有订单主动上传到厨房,无需服务员在旁边等候,效率大大的提高。点完菜后,系统会自动显示菜品清单和待支付金额,让消费者尽情享受卓越的用户体验。并且餐厅管理员通过后台可以即时看到用户下单信息以及支付信息。

为广大餐饮行业提供了高效的餐饮信息化服务,营销服务。该系统功能模块包括: 1) 系统后台管理模块; 2) 微信端点单模块; 3) 移动端营销推广模块; 4) 移动端会员卡模块;

1

北京理工大学珠海学院2014届本科生毕业设计

1.2餐饮点餐的研究现状

餐饮行业是一个传统的行业,占据了人们衣食住行中的其中一项。且自古以来就一直存在,所以这个一个生命周期,生命力极强的行业。而今年来随着互联网,IT技术的发展,餐饮行业也融入了越来越多的科技元素。从餐饮管理系统,PC端的点餐系统,到后来的平板点餐等。点餐系统不断地再发展,为的都是一个目的,让商家节省人力成本,让顾客有更好的点餐体验。减少人员不足,排队等候的麻烦,以及一旦菜单更改,还需要全部更换餐厅的菜单。这无疑是一个比较大的成本,而采用电子点餐系统,电子菜谱,则可以避免这个问题,而且不管是图片还是接受,都可以更加详细,美观,而且环保,避免了纸张菜单的浪费。并且传统点餐系统还有一个需要人工进行记账,营业统计等缺点。而采用电子点餐系统则可以很方便地查看信息,自动进行统计。

餐饮电子点餐的发展的也是有一定历史了,这个行业可以革新的地方已经较少了,

趋于稳定化。以前的点餐系统是针对商家的使用方便进行设计的,而以后的点餐可能将结合顾客的喜欢,且更多地结合营销手段。让客人在点餐时更有乐趣,只有这样,才能体现出餐厅的差异性,提高收入。

1.3微信点餐的未来发展趋势

基于微信以及微信公众平台的发展趋势,以及餐饮行业的特点,可以总结出利用微信点餐有以下几点特点:

1、微信具有普遍性

微信用户已达 4 亿,它的普及和使用率之高,并继续呈几何极数的增长,据预测,2015年微信用户将达到 8 亿。

2、微信具有通用性

大型商家有能力可以开发自己的APP(手机软件),但APP需要用户去下载安装,即耗费时间和流量,又占用手机的存储空间。

微信自身拥有多平台版本(安卓、IOS、WinPhone、黑莓以及web版),你的网站只要能在微信上跑起来,就无需担心是否能兼容用户手机的问题。任何层次和级别的手机只要能装上微信就能使用你的点单系统。只需轻扫一下二维码,4亿用户的微信将成为

2

北京理工大学珠海学院2014届本科生毕业设计

你的免费推广平台,让用户帮你口碑营销。来客数、活跃数,一切都来得那么自然。

3、节约人力资源

主要针对餐厅服务人员费用

使用微信自助服务点餐,订单全部自动生成打印,无需人工值守服务。 4、节约推广费用

微信外卖营销系统,一次推广即可,消费者只需要扫一扫,商家全部信息,都保存在消费者微信内,商家每天可免费推送订餐提示或促销信息。 5、增加盈利能力

主要体现在提升经营能力与费用节约

通过对自助服务的推广,做到全程标准化运作,既缩减了费用,又留住固有消费者,不断的刺激消费者,扩大需求,增加盈利能力。 6、二维码订阅

微信扫一扫二维码,或手动添加:朋友们-添加朋友-输入账号,完成订阅,让微信用户随手订阅。 7、消息推送

通过用户分组和地域控制,实现精准的消息推送,直指目标用户。 8、品牌传播

借助个人关注页和朋友圈,传播推广,实现品牌的传播。

我们可以推断出,利用微信点餐未来可能是餐饮行业的一个不错的发展趋势,只要微信这个应用存在,以及它生态不断地扩大。将来不单单只是下单点餐,结合其本身更大的营销推广特点以及O2O的模式,将能给商家带来更多的利润。

3

北京理工大学珠海学院2014届本科生毕业设计

2需求分析

2.1需求综述

本微信点餐系统是一个基于时下最热的IM软件微信为平台的点餐系统,利用微信庞大的用户群体作为系统入口。结合当下移动互联网热潮以及O2O模式,利用该微信点餐系统,能够更好地提高餐饮服务的标准以及信息化程度,为客户带来更好的点餐体验,结合微信本身的营销推广特征,更好得为餐厅推广以及节约成本提高盈收。

本系统的设计与实现与时下流行的社交软件—微信进行交互的点餐系统,提高餐饮行业的信息化管理,节省人力、控制成本、提升工作效率的特点。为餐饮行业商家提供了高效的餐饮信息化服务,营销服务。

2.1.1用户需求

该系统的用户主要有2类,一类用户是餐厅商家,一类用户是去到餐厅使用微信点餐的用户。

针对餐厅商家这类用户类说,使用微信点餐,他们能够减少员工的数量,只需少部分引导人员将顾客引导到座位上。座位上需要帖个2微码,让用户扫描关注商家微信号,就可以使用微信进行点餐。顾客将直接在手机上面进行菜单浏览以及下单,成功下单后服务员过来确认下单。这无疑给一些生意很火爆,但人手不足的餐厅带来很大的方便。而且使用传统的菜单,一旦某个菜的价格改变或在菜单改变,都需要重新印制大量的菜单,使用微信点餐,只需要在后台进行修改就可以更换菜单。而且当顾客关注了商家的微信公众号后,以后商家可以再公众号与顾客进行互动,相当于免费的短信平台,一旦出了新品或者优惠活动,可以迅速推送给顾客。

对于来到餐厅消费的用户来说,他们希望能够有一种体验好,不用排队等候,并且新颖的点餐方式。他们只需要去到餐厅座位,不需要等候服务员过来点餐,而只需要掏出手机扫一扫二维码,关注后进入点餐页面就可以方便地点餐。而且这种新颖的方式也会吸引到他们。下单后,服务员在后台看到订单打印出来后拿给顾客确认,即完成了点餐流程。后来还可以加入在线支付功能,用户甚至不需要带钱包,只要绑定了微信支付或者支付宝,直接下单即可完成支付。但顾客想预订位置,且想事先点好菜,以往只能是去到餐厅才能点餐,而是用微信点餐,顾客可以随后随地得用微信点餐下单预订位置。收到顾客预订后,服务员通过顾客留下的联系方式进行确认。以及事先准备好顾客的订单(提前在线支付)。

4

北京理工大学珠海学院2014届本科生毕业设计

2.1.2 功能需求

该系统功能模块包括:

1)微信公众号基本回复模块:该模块可以设置用户微信公众号文本回复,图文回复,关注回复,语音回复等;

2)微信公众号微网站模块:该模块用于展示商家微信号官方微站给微信用户,可设置微站内容分类,微站首页滑动幻灯片,微站模板等;

3)微信点餐模块:该模块用于关注商家微信公众账号的用户在商家微信号上进行点餐操作,是该系统的核心功能。

4)营销推广模块:该模块主要有刮刮卡、转盘、优惠劵等抽奖模块。这些模块通过让微信用户在关注商家微信号后,在微信端参与商家的活动,从而提高用户粘度以及体验性;

5)会员卡模块:该模块主要用于让商家的客户领取微信会员卡,以及商家微信会员的消费积分设置,以及会员权限,优惠折扣等。

6)营业统计模块:该模块主要用于统计微信订餐营业的数据,以及微信用户在微信会员卡积分消费的情况。

2.2 详细需求分析 2.2.1 系统参与者

a) 用户(餐厅商家)

餐厅商家,商家通过注册登录使用该微信点餐管理系统,可以实现添加微信公众号并绑定连通好该订餐系统,设置微信公众号消息回复功能,微信订餐功能以及开通营销推广模块(抽奖游戏)、微信会员卡功能。

b)微信用户

关注该商家微信公众号的用户,可以实现查看该商家公众号官网、了解最新信息、订餐、订位、参加活动抽奖以及领取会员卡、签到领取积分功能

c) 订餐系统管理员

该系统是一个多用户的微信点餐管理系统。系统管理员具有审核用户注册,管理每一个用户(商家)是否具有开通微站、订餐、会员卡、抽奖模块的权限。

5

北京理工大学珠海学院2014届本科生毕业设计

2.2.2系统用例

图2.2.1.1 用户(商家)用例

6

北京理工大学珠海学院2014届本科生毕业设计

图2.2.1.2系统管理员用例

7

北京理工大学珠海学院2014届本科生毕业设计

图2.2.1.3 微信用户用例

8

北京理工大学珠海学院2014届本科生毕业设计

2.2.3具体用例分析

UC01:注册与登录

用户(商家)要想使用该微信点餐系统必须先拥有自己的微信公众号,然后在该微信点餐系统上面进行账号注册,后台管理员会根据注册信息判断是否同意注册。只有后台管理员通过其注册后,商家才能使用其注册的账号进行登录 a)用户注册功能用例

用例描述:用户(商家)在本系统注册帐号。 参与者:用户(商家)。

基本流程:(1)用户在登录界面选择注册。 (2)系统返回一个注册页面。

(3)用户根据提示输入相关注册信息。 (4)用户提交注册信息。

(5)系统返回注册成功贞面并跳转到登录首页。

变化流程:(1)用户输入信息和系统确认不一致,如字段过长,密码重复不一致,邮箱格式错误,系统给出相应提示.返回注册。

(2)用户输入帐号是已经注册帐号,系统给出提示“该用户名已 经存在”。

b)用户登录功能用例

用例描述:用户(商家)选择本系统登录,系统进行相关的系统验证。 参与者:用户(已注册商家)。

前置条件:用户必须是本系统的成功注册用户。 基本流程:(1)会员选择登录。

(2)用户输入用户名和密码并提交。

(3)系统进行系统验证,验证成功.记录该用户为登录用户并返 回主页面(显示已登录)。

UC02:添加微信号

用户(商家)在登录该系统后,需要将其在腾讯微信公众平台申请的微信公众账号与微信订餐系统进行打通。其方法就是在登录后,选择添加微信公众账号,填写商家其已经申请好的微信公众账号信息。填写完毕生成后,该微信订餐系统会自动生成一个接口信息(url跟token),用户只需要将该接口信息填写至微信公众平台的高级设置-开发者模式的url跟token表单中,提交即让该公众账号与微信订餐平台连通。 a)系统添加微信号功能用例

用例描述:用户(商家)通过在系统添加微信号从而使其微信号与该系统连通 参与者:用户(商家)、微信公众账号服务器

基本流程:(1)用户选择添加微信公众号,输入公众号基本信息。 (2)订餐系统自动生成接口信息返回给用户(token、url)

(3)用户将订餐系统生成的接口信息填写到微信公众账号平台的-高级

功能-开发者模式的接口信息那里。即可实现订餐系统与微信公众号的连通。

9

北京理工大学珠海学院2014届本科生毕业设计

变化流程:(1)假如微信订餐系统的服务器没反应或者token、url出错,则在微

信公众账号填写订餐系统的接口信息后会提示服务器无响应或连接失败。

UC03:设置微信官网

微信官网是一个公众号必备的功能模块之一,是一个展示商家形象与实力的功能。用户(商家)通过添加公众号后,连通微信公众平台与微信订餐系统,使用微网站设置功能,即可打造一个属于自己的微网站。 a)设置微官网功能用例

用例描述:用户通过微信订餐系统设置其公众号官网 参与者:用户(商家)

基本流程:(1)用户选择“首页回复设置”功能,设置微网站回复关键字等信息。 (2)微信订餐系统根据用户输入的关键字以及相关信息,与微信公众账

号服务器连通,为该商家的微信号添加一个关键字,回复给关注该公众号的微信使用者一个图文信息

(3)关注该商家微信号的微信用户在其公众平台输入关键字,返回一条图文信息,内容为在订餐系统设置的内容。

(4)微信使用者点击该图文信息,即通过该图文的连接跳转到位于微信订餐系统服务器上该商家的微信官网页面。

变化流程:(1)输入关键字如果在数据库没找到该关键字对应的官网信息,则不通

过微信返回给关注该商家公众号的使用者图文信息。

UC04:设置使用微信订餐

微信订餐功能是该微信订餐系统的核心功能。用户(商家)通过设置微信订餐回复关键字,以及商家餐厅信息。并且设置菜品分类,菜品信息(名称、图片),餐桌信息等。微信用户只要关注该商家的微信公众账号,即可通过输入订餐关键字,通过微信公众号返回的订餐图文入口进去点餐页面。 a)微信订餐功能用例

用例描述:客户(微信用户)通过商家微信公众平台进行订餐 参与者:客户(微信用户),用户(商家微信)

前置条件:用户(商家)必须是在微信订餐系统通过注册且开通设置好微信订餐

功能的

基本流程:(1)用户(餐厅商家)通过登录微信订餐系统,开通设置微信订餐功能 (2)添加设置菜品分类,桌台信息,菜品信息等

(3)客户通过在该商家公众号上输入关键字进入微信订餐界面 (4)客户通过在订餐界面进行菜品选择添加到购物车

10

北京理工大学珠海学院2014届本科生毕业设计

UC05:购物车与订单管理

客户(微信用户)通过订餐页面订餐后,选择其需要的菜品,然后添加进入购物车。在购物车里面,用户可以看其所点的菜以及总数量总金额,还可以对其订单进行修改。选择每个订单项的“+”,“-”按钮对订单数量修改,其在购物车里的总金额以及数量会跟着改变。购物车的数据并没保存到数据库,而是采用cookie的方式保存到用户的微信浏览器中。客户确认购物车菜品无误后,即选择其订单的模式,是在餐厅就餐或是外卖,或是预订,并且填写用户的个人信息,如名字,联系方式等。若下了订单后,客户不满意,可对订单进行删除修改等操作 a)购物车功能用例

用例描述:对选择的菜品添加进购物车 参与者:客户(关注该商家微信号的微信用户)

前置条件:该商家的微信号必须通过微信订餐系统设置好微信订餐功能。 基本流程:(1)用户进入微信点餐页面点餐并添加入购物车

(2)对购物车里的商品进行修改、删除,筛选后确认下单。 b)订单功能用例

用例描述:对在购物车确认好的菜品信息进行下单,对订单修改以及选择填写客户相关信息等。

参与者:用户(微信用户)

前置条件:用户的购物车必须存在至少一件的菜品以及开通订餐功能 基本流程:(1)用户在购物车确认菜品信息后选择下单

(2)确认下单后显示此单数量,金额以及就餐方式,用户联系方式等。 (3)用户可对订单做出修改删除等操作

UC06:推广活动功能

当用户(商家)需要通过一些活动来吸引用户的关注或者配合其餐厅的营销推广时,可在该微信订餐系统上面开通推广活动,如大转盘、优惠券、刮刮卡。通过设置推广活动的关键词以及类型、名称、奖项等信息。客户(微信用户)关注商家的公众号后,输入关键字即可参与到该餐厅的推广活动,比如刮刮卡抽奖,大转盘抽奖,领取该餐厅的优惠券等。这无疑是一个非常好的营销推广方法,又吸引了人来关注餐厅的微信号,也可以跟用户进行互动,提高用户粘度。用户通过在朋友圈转发该优惠推广活动,无疑是一个免费的广告,大大能够扩大该商家的知名度以及广告效果。 a)大转盘功能用例

用例描述:使用大转盘抽取奖品 参与者:客户(微信使用者)

前置条件:客户必须关注该商家的微信公众号,商家必须在系统开通大转盘功能。 基本流程:(1)客户在该商家的微信公众账号里输入该活动关键字。

(2)微信服务器将关键字返回到订餐系统,系统根据关键字返回特定 内容的图文入口,这里则返回一个大转盘抽奖活动的web mobile页面 地址。

(3)客户点击该图文进入大转盘抽奖界面,点击开始抽奖。

(4)系统按照一定中奖概率返回结果,若中奖则添加个人资料,方便到 商家处领奖。

11

北京理工大学珠海学院2014届本科生毕业设计

b)刮刮卡功能用例

用例描述:使用刮刮卡刮奖 参与者:客户(微信使用者)

前置条件:客户要关注该商家的公众号,商家必须设置好刮刮卡功能。 基本流程:(1)客户在该商家的微信公众账号里输入该活动关键字。

(2)微信服务器将关键字返回到订餐系统,系统根据关键字返回刮刮卡 的图文入口,这里则返回一个刮刮卡活动的页面地址。 (3)客户点击该图文进入刮刮卡抽奖界面,刮屏抽奖。

(4)系统按照一定中奖概率返回结果,若中奖则添加个人资料,方便到 商家处领奖。 c)优惠券功能用例

用例描述:领取优惠券 参与者:客户(微信使用者)

前置条件:客户必须是商家微信号的关注者,商家必须开通优惠券功能。 基本流程:(1)客户在该商家的微信公众账号里输入优惠券关键字。 (2)系统返回一个优惠券图文入口。 (3)客户点击该图文进入领取优惠券页面

(4)优惠券数量有限,按照先领先得的顺序,且每个优惠券有一个唯一 的标识码,通过这个标识码商家可以与后台发放出去的优惠券进行匹 配使用优惠券。

12

北京理工大学珠海学院2014届本科生毕业设计

2.3领域类图

图2.3.1 领域类图

领域类说明 (1)用户(商家):使用该点餐系统的直接用户,可以通过该微信点餐系统开发自己的微信公众账号,通过设置使其具备官网,订餐,会员卡等功能。

(2)微信用户:关注商家微信号的,通过关键字与商家微信号进行互动,从而获得 商家微信号再微信订餐系统匹配关键字后返回的图文信息,微信用户可以点击图文进入具体功能页面。

(3)系统管理员:本系统的管理员,拥有最高权限。可以审核用户的注册申请以及管理用户功能权限。

(4)微信服务器:负责微信点餐系统与微信用户通过微信客户端间的交互

(5)微信点餐系统:通过用户设置好的功能模块的生成mobile web网站,从微信服务器获取用户输入的关键字并返回具体消息。记录微信用户点餐的订单以及其他信息。

13

北京理工大学珠海学院2014届本科生毕业设计

3概要设计

3.1 技术选型

主要使用开源框架ThinkPHP + apache +mysql来实现本系统。

ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。

ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计。在MVC三层中,ThinkPHP并不依赖M或者V,甚至可以只有C或者只有V,这个在ThinkPHP的设计里面是一个很重要的用户体验设计,用户只需要定义视图,在没有C的情况下也能自动识别。

3.2 功能模块划分

系统按照三种角色划分三种功能模块结构,包括:用户功能模块、系统管理员模块、微信用户模块,如下为各个模块的功能简介:

3.2.1 用户功能模块

图3.2.1 用户功能模块结构图

14

北京理工大学珠海学院2014届本科生毕业设计

描述:

(1) 注册:用户注册 (2) 登录:用户登录

(3) 基本回复管理:用户与微信公众号回复交互管理

A. 关注时回复:微信用户关注商家微信公众号的回复设置 B. 文本回复:微信用户输入关键字商家公众号匹配回复的文本 C. 图文回复:微信用户输入关键字商家公众号匹配回复的图文

a) 添加图文 b) 删除图文 c) 修改图文

(4) 设置微站:用户打造其微信官网 (5) 微信订餐设置:

A. 微信订餐回复设置:用于设置微信用户使用订餐关键字以及回复内容 B. 餐桌管理:设置该餐厅用于微信订餐或者预订的餐桌 C. 菜品分类管理:用户设置该餐厅用于微信订餐的菜品分类 D. 菜品管理:

a) 添加菜品 b) 删除菜品 c) 修改菜品 E. 订单管理

a) 查看订单 b) 操作订单 c) 删除订单

(6) 营销推广活动设置:

A. 刮刮卡设置 B. 大转盘设置 C. 优惠券设置 (7) 微信会员卡设置:

A. 设置微信会员卡卡面 B. 发放微信会员卡数量 C. 查看微信领卡会员资料

15

北京理工大学珠海学院2014届本科生毕业设计

3.2.2 系统管理员功能模块

图3.2.2 系统管理员功能模块结构图

描述:

(1) 登录:管理员登录 (2) 用户管理:管理用户

A. 添加用户:添加用户

B. 修改用户信息:审核注册用户,修改用户权限,资料。 C. 删除用户:删除用户

(3) 设置微信公众号管理:管理用户添加的微信公众号

D. 修改微信公众号:修改该微信公众号能使用的功能 E. 删除微信公众号:删除用户添加的微信公众号

3.2.2 微信用户功能模块

图3.2.2 微信用户功能模块结构图

描述:

(1) 关注公众号:微信用户关注商家微信公众号

(2) 查看公众号微站:微信用户浏览使用微信订餐系统建设的微信微站 (3) 使用微信点餐:使用微信点餐功能

A. 微信订位:通过商家微信公众号进行餐桌预订

16

北京理工大学珠海学院2014届本科生毕业设计

B. 微信订餐:进入微信点餐界面,浏览菜品分类,添加进购物车,下单 C. 查看订单:微信用户查看自己已下的单(可以修改订单,删除订单)

3.3 系统架构

图3.3 系统架构图

描述:微信点餐系统客户端用户通过HTTP请求微信点餐系统服务器,进行订餐功能以及其他功能的设置;微信点餐系统服务器采用ThinkPHP的Action来处理来自微信点餐系统客户端跟微信服务器的请求,再通过调用model与数据库进行交互。

17

北京理工大学珠海学院2014届本科生毕业设计

3.4 包图

图3.4 包图

包图描述: 包名 wxording imicro

themes 描述 包括下层 工程 iMicro,iMicrodata,themes 整个工程后台代码 Lib,_Core 包名 描述 包括下层 Lib 项目后台核心代码 Action,ORG,Model Action 项目后台Action Admin,Home, User,Wap Admin 后台管理员的 Action Home 后台首页未登录 Action,以及微信端接口配置,请求响应处理Action User 后台用户操作 Action Wap 微信端用户操作 Action ORG 第三方库 Model Model层 _Core ThinkPHP底层框架 整个工程前台包 Admin,User,Home,Wap,Static 包名 描述 包括下层 18

北京理工大学珠海学院2014届本科生毕业设计

iMicrodata 管理端前台代码 用户端未登录前台代 码 User 用户端前台代码 Wap 移动端用户前台代码 Static 静态前台代码,可共用 无 项目配置以及图片上传文件 attachments,logs,conf admin Home 包名 attachments logs conf 描述 用户文件上传文件夹 系统日志文件夹 系统配置文件夹 包括下层

19

北京理工大学珠海学院2014届本科生毕业设计

3.5 类图

本系统是根据主要用户类型进行分物理包层次的,主要划分为:

(1) (2) (3) (4)

系统管理员代码物理层; 未登陆用户代码物理层; 用户(商家)代码物理层; 微信用户代码物理层。

每个物理层再细分为:

(1) Action层:前台与后台交互层; (2) Model层:数据库低层操作层;

由于每层结构都是一样,在此我们以微信用户点餐模块的类图来分析,如下所示:

图3.5 微信用户点餐模块类图

类图描述: 类名 包/实现描述 或继承 Model ThinkPH P基础Model 类 ProductMModel类 与菜品属性/描述 方法/描述

封装了一系列与数据库封装了一系列与数据库交互的属性 交互的方法 _validate:自动校验对gettoken():获取session20

北京理工大学珠海学院2014届本科生毕业设计

odel ProductCatModel Action ProductAction 数据对象Model Model类 与菜品分类数据对象Model ThinkPHP基础Action类 Action 负责点餐模块与页面交互,与model层交互 象; _auto:自动保存属性 _validate:自动校验对象; _auto:自动保存属性 的token自动保存; getTime():获取系统时间 gettoken():获取session的token自动保存; 封装了一系列与页面交封装了一系列与页面交互属性 互的方法 token:微信公众号标示; wecha_id:微信用户唯一标示; product_model:菜品model; product_cat_model:菜品分类model; isDining:点餐标示 __construct():构造方法,用于构造基本属性; cat():菜品分类以及查看所有菜品方法; addProductToCart();点餐添加到购物车方法; calCartInfo():计算购物车数量价格; _getCart():获取存在缓存中的购物车; orderCart():购物车; my():我的订单 3.6 数据库设计与实现

根据前面列出的系统架构图、类图、模块划分,开始设计数据库。

3.6.1 数据库E-R图

在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象。表示实体类型及实体间联系的模型称为“数据模型”,其中之一就是实体联系模型(ER模型)。ER模型是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织关心的信息结构,这类模型称为“概念数据模型”。

在需求分析的基础上对系统的数据库进行详细设计,数据库设计中概念结构设计尤为重要.数据库概念结构设计中比较常用的方法是实体一联系方法,也就是E—R方法(Entity—Relation Approach).E—R图是用来描述数据之间联系的有效方法,有实体、属性、联系3种基本成分。

(1) 实体型 :用矩形表示,矩形框内写明实体名

21

北京理工大学珠海学院2014届本科生毕业设计

(2) 属性:用椭圆型表示,并用无向边与其相应实体连接起来

(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接。

管理员 用户 n 1 管理 管理 1 n 微信公众号 1 拥有 1 微信点餐 n 菜品分类 1 关联 拥有 n 菜品 订单 关联 餐桌

图3.6.1 微信点餐模块E-R图

22

北京理工大学珠海学院2014届本科生毕业设计

3.6.2 数据库设计

基于上述的需求分析,需要设计下列各表.这些表之间相互关联.共同存储着系统所需要的数据。本系统数据库wxorder中共有个数据库表,表的名字和要存储的内容如表4-1所示。

序号 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 表3-6-2-1 数据库表 数据库表 存储内容 imicro_areply 存放商家设置的首次关注回复内容 imicro_classify 存放商家微官网分类信息 imicro_flash 存放商家微官网首页幻灯片信息 imicro_function 存放商家的公众号所具有的功能权限 imicro_home 存放微信号首页回复设置信息 imicro_keyword 存放微信号关键词设置信息 imicro_lettery 存放推广活动的设置信息 imicro_lettery_record 存放推广活动的中奖领奖记录 imicro_member_card_contact 存放会员卡上商家联系方式地址等 imicro_member_card_create 存放发放的会员卡信息以及领卡人信息 imicro_member_card_set 存放微信会员卡卡面的图片信息等 imicro_member_card_sign 存放微信会员卡积分信息 imicro_other 存放微信无法识别自动回复设置信息 imicro_product 存放微信订餐菜品信息 imicro_product_cart 存放客户下单后的购物车信息 imicro_product_cart_list 存放下单后每个购物车的详细商品信息 imicro_product_cat 存放菜品分类信息 imicro_product_dining_table 存放订餐桌台信息 imicro_reply_info 存放微信订餐设置回复信息 imicro_requestdata 存放微信用户请求该商家公众号信息 imicro_role 存放微信订餐系统用户角色信息 imicro_text 存放微信文字回复信息 imicro_img 存放微信图文回复信息 imicro_tokenopen 存放微信账号功能权限信息 imicro_user 存放系统管理员信息 imicro_userinfo 存放微信会员卡信息 imicro_users 存放商家注册系统用户信息 imicro_wxuser 存放商家添加微信公众号信息

23

北京理工大学珠海学院2014届本科生毕业设计

3.6.3 数据逻辑结构设计

a)管理员数据表imicro_user

字段 含义 类型 id 编号 int(10) username 用户名 varchar(50) password 密码 char(32) role 组ID smallint(6) status 状态 tinyint(1) remark 备注说明 varchar(255) last_login_time 最后登录时间 int(11) last_login_ip 最后登录ip varchar(15) last_location 最后登录位置 varchar(100) 是否为空 否 否 否 否 否 是 否 是 是 备注 主键 外键

b)用户数据表imicro_users

字段 id gid username password email createtime lasttime status createip lastip wechat_card_num 含义 编号 用户组id 用户名 密码 邮件 创建时间 最后登录时间 激活状态 创建ip 激活ip 可添加公众号数量 类型 int(11) int(11) varchar(60) varchar(32) varchar(90) varchar(13) varchar(13) varchar(1) varcahr(30) varchar(30) mediumint(4) 是否为空 否 否 否 否 否 否 否 否 否 否 否 备注 主键 外键

c)微信公众号数据表imicro_wxuser

字段 含义 id 微信号编号 uid 用户名 wxname 微信名字 weixin 微信号 24

类型 是否为空 int(11) 否 int(11) 否 varchar(60) 否 char(20) 否 备注 主键 外键 北京理工大学珠海学院2014届本科生毕业设计

原始微信号 头像图片地址 用户微信号token 省 城市 qq 账号粉丝数 微信号类型id 微信号类型名称 创建时间 首页模板id 更改时间 首页模板名称 首页背景图片 微站分类图文列表模板id 微站分类图文列表模板名称 tplcontentid 微站图文模板id tplcontentnam微站图文模板名称 e allcardnum 能开通会员卡数量 cardisok 是否开通会员卡 totalcardnum 已开通会员卡数量 wxid headerpic token province city qq wxfans typeid typename createtime tpltypeid updatetime tpltypename homebgurl tpllistid tpllistname varchar(20) char(255) char(255) varchar(30) varchar(60) char(25) int(11) int(11) varchar(90) varchar(13) varchar(2) varchar(13) varchar(20) char(255) varchar(2) varchar(20) varchar(2) varchar(20) int(11) int(11) int(11) 否 否 否 否 否 否 否 否 否 否 否 否 否 是 否 否 否 否 否 否 否

d)订餐回复设置数据表imicro_reply_info

字段 含义 id id token 用户微信号token title 标题 picurl 回复图片地址 info 回复内容 infotype 回复类型 diningyuding 是否预订 diningwaimai 是否外卖 类型 int varchar(60) varchar(30) varchar(120) varchar(120) varchar(20) tinyint(1) tinyint(1) 是否为空 否 否 否 否 否 否 否 否 备注 主键

25

北京理工大学珠海学院2014届本科生毕业设计

e)菜品分类数据表imicro_product_cat

字段 id token name des dining time 含义 分类id 用户微信号token 分类名称 分类描述 订餐标示 创建时间 类型 int varchar(50) varchar(50) varchar(500) tinyint(1) int(10) 是否为空 否 否 否 否 否 否 备注 主键

f)菜品数据表imicro_product 字段 含义 id 菜品id catid 分类id name 菜品名 price 价格 token 用户微信号token keyword 菜品关键词 salecount 销售数量 logourl 菜品图片地址 dining 点餐标示 time 创建时间 类型 int(10) mediumint(4) varchar(150) float varchar(50) varchar(100) mediumint(4) varchar(150) tinyint(1) int(10) 是否为空 否 否 否 否 否 否 否 否 否 否 备注 主键 外键

g)订餐订单数据表imicro_product_cart

字段 含义 id 购物车id token 用户微信号token wecha_id 微信用户openid info 订单内容 total 总数量 price 总价格 truename 订餐人姓名 tel 订餐人电话 address 订餐人地址 类型 int(10) varcahr(50) varchar(60) varchar(300) mediumint(4) float varchar(20) varchar(14) varchar(100) 26

是否为空 否 否 否 否 否 否 否 否 否 备注 主键 北京理工大学珠海学院2014届本科生毕业设计

diningtype tableid time buytime dining handled 就餐方式 餐桌id 下单时间 就餐时间 订餐标示 订单处理状态 mediumint(2) mediumint(4) int(10) varchar(100) tinyint(1) tinyint(1) 否 否 否 否 否 否 外键 h) 订餐订单详细数据表imicro_product_cart_list

字段 含义 类型 id 订单详情id int(10) cartid 点餐订单id int(10) productid 菜品id int(10) price 价格 float total 数量 mediumint(4) wecha_id 微信用户varahr(60) openid token 用户微信号varchar(50) token time 下单时间 int(1)0

i) 餐桌数据表imicro_product_diningtable

字段 含义 类型 id 餐桌id mediumint(4) token 用户微信号varchar(50) token name 餐桌名称 varchar(500) intro 餐桌介绍 varchar(500) taxis 序号 mediumint(4)

27

是否为空 否 否 否 否 否 否 否 否 备注 主键 外键 外键 是否为空 备注 否 主键 否 否 否 否 北京理工大学珠海学院2014届本科生毕业设计

3.7 部署图

图3.7 部署图

28

北京理工大学珠海学院2014届本科生毕业设计

4详细设计

4.1 微信公众号接口设计与实现 4.1.1 微信公众号接口配置

首先需要申请消息接口,用户(商家)必须先在登陆其微信公众账号平台,进入高级功能-开发者模式。接着会有一个接口配置信息需要填写。

其中URL是开发者用来接收微信服务器数据的接口URL,Token可以任意填写,用作生成签名(Token会和接口URL中包含的Token进行比对,从而验证安全性)。

以上的URL跟token用户在注册完后,添加号其微信公众号基本信息,在订餐系统的API接口选项就能找到以上接口配置信息,将其填写入公众平台接口配置信息表格即可。

填写完接口配置信息后,提交到微信服务器。接着微信服务器将会验证URL的有效

描述 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 timestamp nonce 时间戳 随机数 29

性,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数: 参数 signature 北京理工大学珠海学院2014届本科生毕业设计

echostr

随机字符串 开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

加密/校验流程如下:

1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密

3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

完成以上的校验流程后,若验证URL有效性成功后即接入生效,可以使用微信订餐系统对公众号进行自定义开发。此后微信用户每次像商家公众号发送消息,或者产生自定义菜单点击事件时,响应URL将得到推送。用户向公众号发送消息时,公众号方首道的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID。

4.1.2 接收消息

当用户(商家)使用微信订餐平台成功连通好微信服务器并设置相关功能后,普通微信用户向商家公众账号发送消息时,微信服务器将POST消息的XML数据包到商家在为公众账号平台填写的由微信订餐系统给出的URL上。各消息类型的推送xml数据包结构都不同,分别有文本消息,图片消息,语音消息,视频消息,地理位置消息,链接消息以及事件消息等。用户(商家)在微信订餐系统上设置好功能后,会有一个关键字,此关键字用于匹配微信用户在商家微信公众号输入的文字,从而识别微信用户发送给微信服务器,微信服务器POST到微信订餐系统的消息具体是什么。

4.1.3发送消息

微信订餐系统接收到微信服务器从微信用户那里的输入而格式化的XML数据包,从而记性判断出用户要使用的功能并具体返回特定的XML消息结构给微信服务器,微信服务器根据收到的XML消息数据包结构解析识别出具体需要返回的消息类型(文本,图片,图文,语音等)返回给想要调用该功能的微信用户。

30

北京理工大学珠海学院2014届本科生毕业设计

4.2 系统各功能详细设计 4.2.1用户注册与登录设计与实现

用户(商家)要想使用该微信点餐系统必须先拥有自己的微信公众号,然后在该微信点餐系统上面进行账号注册,后台管理员会根据注册信息判断是否同意注册。只有后台管理员通过其注册后,商家才能使用其注册的账号进行登录

图4.2.1.1 微信点餐系统 登录界面

31

北京理工大学珠海学院2014届本科生毕业设计

图4.2.1.2 微信点餐注册页面

图4.2.1.3 微信点餐用户登录成功页面

32

北京理工大学珠海学院2014届本科生毕业设计

用户注册登录的时序图如下图4.2.1.4所示:

图4.2.1.4 用户注册登录时序图

4.2.2添加微信号功能设计与实现

用户(商家)在登录该系统后,需要将其在腾讯微信公众平台申请的微信公众账号使其使用开发者模块且与微信订餐系统进行连通。用户在登录后,选择添加微信公众账号,填写商家其已经申请好的微信公众账号信息。如图4.2.2.1所示。

图 4.2.2.1 微信点餐系统添加微信公众号

33

北京理工大学珠海学院2014届本科生毕业设计

登录商家微信公众号,如图4.2.2.2所示。

图4.2.2.2登录微信公众平台

选择设置,账号信息,将信息填入微信订餐系统添加微信公众号表格中,如图4.2.2.3,图4.2.2.4所示。

图4.2.2.3 商家微信公众平台公众号信息

34

北京理工大学珠海学院2014届本科生毕业设计

图4.2.2.4 填写微信公众号信息进入微信订餐系统添加公众号表格

进入高级功能,选择开发模式,将微信点餐系统生成的url跟token填入,如图4.2.2.5, 4.2.2.6, 4.2.2.7所示。

图4.2.2.5商家微信公众平台选择开发者模式

35

北京理工大学珠海学院2014届本科生毕业设计

图4.2.2.6商家微信公众平台接口配置

图4.2.2.7用户微信点餐系统自动生成URL跟token

36

北京理工大学珠海学院2014届本科生毕业设计

4.2.3 微信订餐功能设计与实现

微信订餐功能是该微信订餐系统的核心功能。用户(商家)通过设置微信订餐回复关键字,以及商家餐厅信息。并且设置菜品分类,菜品信息(名称、图片),餐桌信息,订单管理等。微信用户只要关注该商家的微信公众账号,即可通过输入订餐关键字,通过微信公众号返回的订餐图文入口进去点餐页面。

4.2.3.1 用户(商家)设置微信订餐功能

要使用微信订餐功能,用户(商家)需要设置订餐回复关键字。即微信用户通过在关注商家微信公众账号后,输入该关键字,即会收到一条微信订餐的入口图文。设置关键字如图4.1.4.1所示。

图4.2.3.1 设置微信订餐关键字回复

设置完订餐回复关键字后,再设置菜品分类。如图4.2.3.2所示。

图4.2.3.2 设置微信订餐菜品分类

37

北京理工大学珠海学院2014届本科生毕业设计

设置完菜品分类后,接着设置菜品信息,如图4.2.3.3所示。

图4.2.3.3 设置微信订餐菜品

用户设置微信订餐功能的时序图如下图4.2.3.4.所示:

图4.2.3.4 用户设置微信订餐功能

38

北京理工大学珠海学院2014届本科生毕业设计

4.2.3.2 微信用户使用微信订餐功能

微信用户要使用微信订餐功能,需要先关注商家的微信公众号。之后输入微信订餐的关键字,微信服务器会将该关键字传送到微信订餐系统服务器,微信订餐系统根据关键字识别后,返回微信点餐页面的地址将其打包成图文格式返回给微信服务器。微信服务器返回图文信息给用户,用户点击图文进入微信点餐页面。

用户在商家微信号输入“订餐“关键字。如图4.2.3.2.1所示。

用户点击微信点餐图文,进入微信点餐首页。如图4.2.3.2.2 所示。

用户选择我要点餐,进入菜品分类以及菜品详情首页。如图4.2.3.2.3 所示。

图4.2.3.2.1 图4.2.3.2.2 图4.2.3.2.3

用户选择左上角菜品类别进行菜品分类选择。如图4.2.3.2.4所示。

用户选择菜品数量,点击购物车,进入购物车首页。如图4.2.3.2.5 所示。

用户选择结算,输入用户联系方式,地址,确认下单。如图4.2.3.2.6 所示。

39

北京理工大学珠海学院2014届本科生毕业设计

图4.2.3.2.4 图4.2.3.2.5 图4.2.3.2.6

微信用户点餐时序图如下图 4.2.3.2.7所示。

图4.2.3.2.7 微信用户点餐时序图

40

北京理工大学珠海学院2014届本科生毕业设计

5 安装测试

5.1 运行环境简介

本系统是由PHP + Mysql开发的。因此系统必须满足以下的软件环境。 (1)操作系统:任何操作系统都可以,包括Windows和Unix操作系统 (2)开发平台用的是:DreamWeaver 。 (3)服务器是:Apache

(4)数据库采用的是 Mysql

5.2 测试计划

本系统的主要核心是微信点餐功能,针对的目标群体是使用微信的微信用户,以及微信点餐系统用户(商家)。为了更好地验证该系统的可用性以及准确度,我们将进行以下项目的测试:

具体的测试项目包括有: l 用户注册功能

测试系统注册界面,内容包括注册时输入错误信息以及输入已存在账号名,系 统跳转流程等。 2 用户登录功能

测试系统操作界面,内容包括帐号口令输入、合理性检查、合法性检查, 系统操作界面控制

3 微信用户点餐操作-查看菜品分类功能

测试界面是否能够正常显示,数据是否跟商家录入一致,是否能根据具体菜品 分类显示菜品,

4 微信用户点餐操作-点餐下单功能

测试界面是否正常显示,操作流程是否有误,是否能进行菜品选择以及菜品数 量选择,金额数量是否显示正常,是否商家后台能收到微信用户的下单信息。

41

北京理工大学珠海学院2014届本科生毕业设计

5.3 测试过程与结果 5.3.1 注册功能测试

用例编号 用例名称 用例优先级 用例目的 前提条件 输入动作 1.输入不符合的用户名和密码 2.输入已存在账号名 3.输入正确的用户名和密码

测试结果:

注册页面如图5.3.1

test001 注册功能测试 中 测试注册功能能否正确实现 进入网站 期望的输出 提示注册失败后返回 提示注册失败后返回 成功注册 实际情况 正常 正常 正常 42

北京理工大学珠海学院2014届本科生毕业设计

图5.3.1 注册页面

5.3.2 登录功能测试

用例编号 用例名称 用例优先级 用例目的 前提条件 输入动作 1.输入不存在的用户名和密码 2.输入不匹配的用户名和密码 3.输入正确的用户名和密码 test002 登陆功能测试 中 测试登陆功能能否正确实现 进入网站并有正确的账号密码 期望的输出 提示登陆失败后返回 提示登陆失败后返回 成功登陆 实际情况 正常 正常 正常 43