版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Springboot的CoffeeRoom微信点餐系统设计与实现摘要:在这个快节奏生活的时代,人们为了充分利用时间,提高时间效率,更加愿意点外卖来解决吃饭、下午茶的问题,这相比于去餐馆点餐或者去食堂吃饭来说,节省了相当多的时间。尤其对于那些认真工作的上班族和加班加点赶工的人来说,点外卖可以充分提高时间效率。传统的点外卖方式因为不能充分的了解商品信息,又不可以手机快捷支付,并不能很好的满足人们的需求,而我们通过移动互联网点餐则可以解决传统点外卖方式存在的问题。针对如何利用移动互联网的方便快捷来解决传统外卖点餐的方式的问题,分析了O2O点餐模式,采用B/S开发模式、Springboot框架开发一个基于微信平台的点餐系统,基于微信平台开发,是因为微信是当今较为主流的社交软件,用户量充足,且开发成本较低,解决了利用移动互联网更快捷更方便的方式点餐,实现用户在线点餐,商家在线接单,既提高了用户的时间利用率又减少了商家基于互联网开店的成本,同时也能为商家带来更多的客户量。CoffeeRoom点餐系统前后端分离,前端买家端使用vue框架开发且部署于nginx服务器,后端使用IDEA开发工具开发;同时Java语言作为后端开发的语言,使用主流的Springboot微服务框架,而数据库则使用MySQL数据库,该数据库的版本是8.0.13。CoffeeRoom点餐系统的实现将会为商家和用户带来很大的好处。对用户来说,只需关注一个微信公众号即可足不出户的点餐,下单后直接使用微信支付即可完成点餐;而对商家来说,节省了人力资源方面的成本,也节省了入驻外卖平台的费用,利润直接进商家的微信账户。关键词:微信点餐、外卖DesignandimplementationofcoffeeroomwechatorderingsystembasedonspringbootAbstract:Inthiseraoffast-pacedlife,inordertomakefulluseoftimeandimprovetimeefficiency,peoplearemorewillingtoordertakeouttosolvetheproblemofeatingandafternoontea,whichsavesquitealotoftimecomparedwithgoingtoarestaurantordininghall.Especiallyforthosewhoworkhardandworkovertime,takingoutcanfullyimprovethetimeefficiency.Thetraditionalwayoforderingtakeoutcannotfullyunderstandthecommodityinformation,norcanthemobilephonepayquickly,andcannotmeettheneedsofpeopleverywell.However,wecansolvetheproblemsofthetraditionalwayoforderingtakeoutthroughthemobileInternet.InviewofhowtousetheconvenienceofmobileInternettosolvetheproblemofthetraditionalwayoftakingoutandorderingfood,thispaperanalyzestheo2omodeoforderingfood,anddevelopsaorderingsystembasedonwechatplatformwithB/sdevelopmentmodeandspringbootframework.Thereasonisthatwechatisthemainstreamsocialsoftwarewithsufficientusersandlowdevelopmentcost,whichsolvestheproblemofusingitMobileInternetisafasterandmoreconvenientwaytoordermeals,realizeonlineorderingbyusersandonlineorderreceivingbybusinesses,whichnotonlyimprovesthetimeutilizationrateofusers,butalsoreducesthecostofbusinessestoopenstoresbasedontheInternet,andalsobringsmorecustomersforbusinesses.Thefrontandbackendsofthecoffeeroomorderingsystemareseparated.Thefront-endbuyerusesVueframeworktodevelopanddeployinnginxserver,andtheback-endusesideadevelopmenttools.Meanwhile,Javalanguageistheback-enddevelopmentlanguage,usingthemainstreamspringbootmicroserviceframework,whileMySQLdatabaseisused,andtheversionofthedatabaseis8.0.13.Theimplementationofcoffeeroomorderingsystemwillbringgreatbenefitstobusinessesandusers.Forusers,theyonlyneedtofocusonaWeChatofficialaccountthattheycannotstayathome.Afterordering,theycancompletetheorderdirectlybyusingWeChatpayment,whileforbusinessmen,theysavethecostofhumanresources,andalsosavethecostofthetakeawayplatform,andtheprofitsgodirectlyintoWeChataccountsofmerchants.Keywords:wechatordering,takeout目录TOC\o"1-3"\h\u第一章绪论 71.1.系统开发的背景及意义 71.1.1.系统开发的背景及意义 71.2.国内外研究的现状 81.3.系统主要研究的内容 81.4.系统开发环境与开发工具 9第二章系统需求分析 102.1.可行性分析 102.1.1.经济可行性 102.1.2.技术可行性 102.1.3.操作可行性 102.2.系统总体需求 102.3.系统业务需求 112.3.1.买家端业务需求流程图 112.3.2.卖家端业务需求流程图 122.4.系统需求分析(功能模块图) 122.4.1.买家端功能需求分析 132.4.2.卖家端功能需求分析 132.5.UML系统建模 142.5.1.买家端用例图和用例规约 142.5.2.卖家端用例图和用例规约 172.6.本章小结 22第三章系统设计 233.1.功能设计 233.1.1.买家端功能 233.1.2.卖家端功能 233.2.类图设计 243.3.顺序图设计 253.3.1.买家用户系统顺序图 253.3.2.卖家用户系统顺序图 283.4.活动图 353.5.状态图 363.6.数据库设计 383.7.本章小结 40第四章系统实现 414.1.CoffeeRoom点餐系统买家端部分页面实现 414.2.CoffeeRoom点餐系统卖家端部分页面实现 43第五章系统测试 485.1.系统测试的目的 485.2.系统测试的意义 485.3.测试计划 485.4.测试用例 495.4.1.订单功能测试 495.4.2.商品功能测试 515.4.3.类目功能测试 525.4.4.本章小结 53第六章结束语 546.1.总结 546.2.展望 54参考文献 55致谢 57绪论系统开发的背景及意义系统开发的背景及意义随着移动互联网的发展,互联网餐饮外卖业务备受消费者的青睐[[]张琼芳.互联网餐饮外卖行业现状及发展策略研究[J].科技创业月刊,2017,30(19):35-37.]。与传统咖啡连锁品牌的比较,互联网咖啡考虑到它的便利性和目标消费者场景,它更倾向于满足白领和年轻一代的交付需求[[]LilyWang.China'sCoffeeMarketBeing“StirredUp”bytheInternet[J].China'sForeignTrade,2018(03):38-39.]。从本质上讲,移动互联网时代的外卖业务带来了一个信息交换和在线支付的平台,其核心是在线体验与离线供应链之间的无缝连接。NOTEREF_Ref21384\f\h\p2above[]张琼芳.互联网餐饮外卖行业现状及发展策略研究[J].科技创业月刊,2017,30(19):35-37.[]LilyWang.China'sCoffeeMarketBeing“StirredUp”bytheInternet[J].China'sForeignTrade,2018(03):38-39.但为了点咖啡外卖而下载应用程序难免会占用手机的部分内存,且对于商家来说,入驻一个外卖APP平台需要一定的成本且APP平台上有一定的市场竞争。据2017年发布的《微信数据报告》显示,截至2017年9月,微信公众号月活跃账号数已经达到350万,公众号月活跃粉丝数7.97亿[[]张思怡,钟瑛.微信公众号影响力指数建构与量化评估[J].重庆邮电大学学报(社会科学版),2019,31(03):71-79.]。且据今年一月份发布的2019年的微信数据报告中了解到,[]张思怡,钟瑛.微信公众号影响力指数建构与量化评估[J].重庆邮电大学学报(社会科学版),2019,31(03):71-79.本系统基于微信公众号平台开发,对于消费者而言,在不下载应用程序的前提下,只需用微信关注一个公众号,即可享受互联网外卖点餐带来的方便、快捷;对于商家而言,即可减低成本来提供消费者更多的优惠或者做出让消费者更满意的产品,同时为商家提供了新的宣传和销售渠道,能够基于原本的营业额实现规模的巨大扩张,也满足了广大消费者新的需求。对于开发者而言,基于微信公众号平台开发的优势:降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求;调试方便,在出现问题的时候,根据报错的组件快速定位问题,或者用排除法直接移除组件;提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级。[[][]罗凯东,廖宁.微信公众号的组件式O2O平台开发技术研究[J].数码世界,2019(2):45-45.国内外研究的现状咖啡在国外一直是很受欢迎的。且由于国外消费者多年的使用习惯,国外外卖需求强大,外卖产业发达,深受消费者喜爱。包括YelpPlatform和GrubHub等巨头在内的欧美外卖公司迅速国际化,在世界很多地方建立了连锁站点。NOTEREF_Ref14185\f\h\p3above尽管喝咖啡尚未在中国人中获得足够的普及,但据不完全统计,2018年中国咖啡行业发生了18笔融资交易,主要集中在外卖品牌,精品连锁品牌和外卖连锁品牌。NOTEREF_Ref21384\f\h\p2above而微信,作为较具代表性的社交媒体平台,已经成为一款现象级的社交媒体软件。在全球范围内吸引了近十亿用户的使用,其多样的功能特性满足了人们沟通交流、获取信息和娱乐消遣等多方面的需求,成为人们日常生活中不可或缺的重要组成部分。NOTEREF_Ref14185\f\h\p3above虽然微信在国外的影响与国内相比较小,但近几年的数据可以明显的看出,微信作为一款强大的社交软件正不断地向国际化发展,且在全球的用户量也正持续不断地上升。系统主要研究的内容CoffeeRoom微信点餐系统主要研究在微信公众号平台上进行外卖点餐的系统,消费者只需关注公众号,即可在公众号上点餐、下单支付,对消费者而言节省了手机的内存还有去实体店排队的时间和精力。对咖啡店家而言节省了入驻平台的成本和一些人力资源的成本。该系统能否成功实现的关键在于Springboot架构的搭建、基于微信平台的开发知识以及数据库的创建,并且还要有良好的用户界面,所以接下来主要研究的内容大致分为:首先要将Springboot架构搭建好,所需的依赖由Maven进行管理;其次是创建完整的数据库,配好数据连接池;研究微信API、和微信开发的相关知识,申请微信测试号,将后台消费者端的业务逻辑与前端顺利连接;最后就是研究并实现后台管理系统的前端与后端连接。系统开发环境与开发工具操作系统:win10x64;JDK:1.8;数据库:MySQL8.0.13;服务器:nginx,tomcat;代码编辑器:idea;系统需求分析可行性分析经济可行性基于Springboot的CoffeeRoom微信点餐系统设计与实现是本人的毕业设计,当遇到自己解决不了的问题时,通过网上的技术帖子指导或者询问了解相关知识的同学,而微信公众号以申请测试号进行开发。目前预计由于基于微信平台开发需要购买域名,所需经费不多,尽量以最少经费开发。技术可行性本人已修完所有在校课程,并且在课外通过庞大的互联网信息,及时扩展了所需的知识,具备开发微信公众平台买家端和web后台商家管理端的技术。买家端和卖家端的后端业务实现使用的开发工具为idea,采用Java语言,使用Springboot框架;数据库使用MySQL8.0.13;服务器使用Tomcat8.3.35。而买家端的前端公众号界面由于本人知识量有限,故采结合网上已有的前端项目,该项目用vue.js构建,并部署到nginx服务器中,将虚拟机与本机连接实现前后端连接。操作可行性该系统是基于微信公众号平台的,只要买家懂得操作微信,卖家懂得网页的基本操作和了解CoffeeRoom微信点餐系统,就可以流畅的在CoffeeRoom微信点餐系统上进行操作。CoffeeRoom微信点餐系统是一款很容易上手的系统。系统总体需求基于微信平台的点餐系统需要微信公众号测试号和商家后台端:微信测试号端可以浏览CoffeeRoom的商家信息和餐饮餐单,并且在已关注测试号,授权登录的情况下可以进行点餐操作;而商家端在后台订单管理系统登录的情况下,实现对餐饮信息的管理以及用户订单的管理。从而使整个点餐系统正常运转工作,实现双方互利共赢。系统业务需求买家端业务需求流程图买家通过关注公众号,用户微信授权登录进入菜单界面浏览菜单,选择想要的商品,并添加进购物车,在提交订单之前都可以对购物车进行增加或删除。选择好商品后点击提交订单,进入买家填写收货信息的页面,买家的信息不能是空的,提交信息后跳转到订单支付界面(由于没有商家服务号和订单支付接口,只能采取个人收款进行微信支付功能模块)。买家端业务需求图见图2.1:图2.1CoffeeRoom点餐系统买家端业务需求图卖家端业务需求流程图卖家需要登录进入订单管理系统后台,如果未注册,则注册完才能登录。首页是未处理的订单列表,可以根据订单状态查询订单,也可以根据订单号查询订单。在未处理订单列表页,卖家可以修改支付状态,支付后的订单不会显示在该页。在商品信息管理页可以对商品信息进行新增和修改或删除。在完结订单页面显示的是已支付未完结的订单,卖家可以进行订单的完结操作。见图2.2:图2.2CoffeeRoom点餐系统卖家端业务需求图系统需求分析(功能模块图)CoffeeRoom微信点餐系统主要分为买家公众号登录端和卖家后台订单管理系统两部分。买家公众号端主要是授权登录、浏览菜单、支付订单、点餐下单;卖家订单管理系统主要是登陆注册、处理未处理订单列表、处理未完结订单列表、修改商品信息。CoffeeRoom微信点餐系统功能模块图见图2.3:图2.3CoffeeRoom点餐系统功能模块图买家端功能需求分析授权登录:买家使用个人微信账户关注商家的公众号,根据微信平台的规定,买家授权给予商家一定的信息访问权,可以获取买家昵称性别和头像,还有微信openid作为买家的唯一标识。浏览菜单:买家进入菜单页面,可以进行商品的浏览,添加购物车等操作,菜单界面仿饿了么的点单界面,可以浏览商家信息和商品的信息。点餐:买家选购好商品后点击提交订单即可产生新的订单。填写收货信息:买家提交订单后需要添加收货信息(姓名、收货电话、收货地址)支付订单:买家提交完收货信息后会生成预支付订单,即进入支付界面,扫描商家个人收款码并进行支付操作。卖家端功能需求分析登录注册:卖家首先得注册账户,否则不能登录进入系统。订单管理列表:卖家进入系统首先看到的页面是未处理的订单列表,卖家在该页面可以修改订单的状态和订单的支付状态商家信息管理:卖家可以在此页面修改商家的信息。商品信息管理列表:卖家在此页面可以对商品进行新增、修改、下架操作。类目管理:卖家在此页面可以增加、修改、删除类目UML系统建模买家端用例图和用例规约买家用例图,见图2.4:图2.4CoffeeRoom点餐系统买家端用例图买家用例规约:表2-1CoffeeRoom点餐系统买家端授权登录用例规约用例编号表2-1用例名称授权登录功能描述授权登录包括:买家微信关注公众号,从公众号进入菜单界面时进行授权登录。执行者买家前置条件买家必须关注商家公众号后置条件微信平台记录买家openid和买家授权信息涉众利益用户登录后可以浏览菜单、点餐下单、买单等操作基本路径1、买家先关注商家的微信公众号。2、进入商家公众号,点击菜单栏进入授权登录访问菜单页面3、买家授权后产生一个唯一的用户openid作为标识访问点餐系统,登录后即可在该系统内浏览点餐扩展字段列表业务规则备注表2-2CoffeeRoom点餐系统买家端点餐下单用例规约用例编号表2-2用例名称点餐下单功能描述点餐下单包括:买家根据自己喜好选购餐品,添加至购物车,选好后提交订单执行者买家前置条件买家必须关注商家公众号,购物车必须有餐品后置条件下单后订单表和订单详情表将被更新涉众利益用户可以在商家营业期间和配送范围内,方便快捷的下单基本路径买家选购商品购物车列表添加或减少商品提交订单判断用户购物车是否有商品有商品跳转至填写收货信息页面没有商品则返回购物车为空买家填写收货信息判断是否信息为空根据买家信息和购物车列表创建订单并生成预支付订单后端系统弹窗提醒商家有新订单扩展3.2a商品库存不足,无法创建订单字段列表商品信息、商品id、订单id、买家openid、商品名称、总价、商品数量等...业务规则库存不足则无法添加订单,购物车为空无法添加订单,收货信息为空无法创建订单备注表2-3CoffeeRoom点餐系统买家端浏览菜单用例规约用例编号表2-3用例名称浏览菜单功能描述浏览菜单包括:买家登录后可以浏览商家展示出来的菜单,还可以浏览商家基本信息和店铺评价执行者买家前置条件买家必须授权登录后置条件涉众利益买家可以随时随地的浏览餐品,了解商家信息基本路径买家浏览餐品菜单页面买家可直接滑动浏览买家可直接点击类目跳到相应的类目商品处浏览买家浏览商品信息直接点击某件商品,跳出商品详情页买家浏览商家评价买家浏览商家信息扩展字段列表业务规则买家必须授权登录才可进入该点餐系统备注表2-4CoffeeRoom点餐系统买家端支付订单用例规约用例编号表2-4用例名称支付订单功能描述支付订单包括:买家提交订单后跳转到预支付界面,显示该订单号、商家名称等信息,并附有商家个人收款码,买家通过扫描二维码进行支付执行者买家、商家前置条件订单创建成功后置条件买家支付后会有消息推送提示下单成功涉众利益买家支付后只需等待餐品的送达基本路径买家进入预支付订单页面买家通过长按识别二维码,备注相应的订单号支付若买家退出预支付订单页面,订单自动取消支付成功后返回餐品菜单页面商家收到付款后发送相应的消息推送扩展字段列表业务规则买家在10分钟内必须付款,备注卖家端用例图和用例规约卖家用例图,见图2.5:图2.5CoffeeRoom点餐系统卖家端用例图卖家用例规约:表2-5CoffeeRoom点餐系统卖家端登录注册用例规约用例编号表2-5用例名称登录注册功能描述登录注册包括:商家需要进行登录才可以进入系统,若没有注册,则需要注册完再登录执行者商家前置条件商家需要注册账号才能登录后置条件商家信息表更新涉众利益商家可以进行菜单信息更新、订单管理等操作基本路径商家登录判断是否注册商家登录账号后进入订单管理系统界面商家登出清除Cookies返回登录界面扩展字段列表商家用户名、商家id、商家密码、商家职称业务规则登录账号才可以进入系统备注表2-6CoffeeRoom点餐系统卖家端商品信息管理用例规约用例编号表2-6用例名称商品信息管理功能描述商品信息管理包括:商家新增餐品、修改商品信息、将商品下架等操作。执行者商家前置条件商家需要登录系统才可以操作后置条件商品信息表更新涉众利益商家可以随时新增、修改或下架餐品,买家可以及时知道餐品的动态消息基本路径商家进入商品信息管理界面,页面显示数据库内所有的餐品商家可以根据商品名字进行模糊查询商家新增餐品信息侧边栏“商品”下拉点击“新增”按钮填写相应的信息,提交即可提示更新结果信息,商品信息表更新,返回商品信息页面商家修改商品信息显示商品信息页点击要进行修改操作的商品的修改按钮修改相应信息,保存即可提示修改结果信息,商品信息表更新,返回商品信息页面商家上/下架商品显示商品信息页点击相应商品的上/下架按钮商品的状态更改为下/上架商品信息表更新,上/下架按钮颜色变化以及上架下架文字互换扩展字段列表商品id、商品名称、商品数量、商品单价等...业务规则备注表2-7CoffeeRoom点餐系统卖家端订单管理用例规约用例编号表2-7用例名称订单管理功能描述订单管理包括:商家收到款后修改订单的支付状态和订单状态;餐品送达时修改订单的状态;订单取消时修改订单的状态;商家可以根据订单id进行查询订单操作执行者商家前置条件商家需要登录系统才可以操作,相应订单是存在的后置条件订单表更新涉众利益买家能及时知道自己订单的状态基本路径商家进入订单管理页面,显示所有已存在的订单,点击新订单或完结订单可以查询新订单状态和非新订单状态下的订单商家可以根据订单单号查询订单商家处理新订单商家收到新订单消息提醒弹窗商家进入需要处理的新订单的详情页确认金额与订单号后点击买家支付按钮订单状态与订单支付状态更新,被处理的订单在非新订单页面显示商家处理订单完结商家收到餐品送达的消息,点击操作列的完结按钮或者进入订单的详情页点击完结订单按钮订单状态更新,该订单关于完结的操作按钮隐藏商家取消订单商家点击操作列的取消按钮或者进入订单的详情页点击取消订单按钮,只有新订单未付款可以取消订单状态更新,该订单关于取消操作的按钮隐藏扩展字段列表订单id、订单详情、买家openid等...业务规则备注表2-8CoffeeRoom点餐系统卖家端商家信息管理用例规约用例编号表2-8用例名称商家信息管理功能描述商家信息管理包括:商家(管理员职位)登录系统后可以修改CoffeeRoom餐馆的商家信息、电话、收款码等商家信息执行者商家前置条件商家需要登录系统才可以操作,必须是管理员即店长才可操作后置条件店铺信息更新涉众利益商家更换信息时买家能及时得到消息基本路径商家进入系统,点击商家自己的信息判断不是管理员,信息只读判断是管理员,信息可以被修改,商家信息表更新扩展字段列表业务规则备注表2-9CoffeeRoom点餐系统卖家端类目管理用例规约用例编号表2-9用例名称类目管理功能描述类目管理包括:商家新增、修改、删除类目信息执行者商家前置条件商家需要登录系统才可以操作后置条件类目表更新涉众利益商家可以随时新增、修改、删除类目基本路径商家进入类目管理界面,页面显示所有类目信息商家新增类目侧边栏类目下拉点击新增按钮填写相应的信息,提交即可提示新增成功,类目信息更新,返回类目管理页面商家修改类目信息显示类目页点击要进行修改操作的类目的修改按钮修改相应信息,保存即可提示修改成功,类目表更新,返回类目管理页面商家删除类目进入类目修改页该类目下如果有商品信息,则删除按钮隐藏;该类目下如果无商品信息,则删除按钮显示类目被删除,类目表更新,返回类目管理页面扩展字段列表类目id、类目名称、类目类别号等...业务规则备注本章小结本章首先对CoffeeRoom点餐系统各方面的可行性进行了分析。其次总体分析出CoffeeRoom点餐系统分成了买家微信端和商家后台管理端;接着分别展示了买家端和商家端的业务流程图,并简单分析了两端的业务需求。然后用系统的功能模块图简单的展示了买家端和商家端的功能需求。最后,CoffeeRoom点餐系统展示了买家端和商家端各自的用例图,并做了简单的用例规约表格。系统设计功能设计买家端功能授权登录:买家首先得关注商家公众号,关注公众号后微信平台会生成一个买家用户唯一标识,即openid,用户通过这个openid访问点餐系统并授权登录系统才可以进行操作。浏览菜单:买家进入点餐系统后显示的就是CoffeeRoom的菜单页面,改也买仿“饿了么”系统的点餐界面,买家可以上下滑动浏览菜单,也可以通过左边的商品类目进行跳转浏览菜单;点击加号添加相应商品进购物车,减号则移除购物车内已选的相应商品;点击上方商家信息区可以看到商家的简介、优惠活动等;点击商家,可以看到商家的地址和联系方式;点击评价可以看到其他买家对商家的评价。点餐:买家选购好餐品可以点开底边的购物车进行查看,确认无误后点击提交订单,跳转至收货信息页面。填写收货信息:买家点击提交订单后跳转到填写收货信息的界面,填写收货联系人(不能为空)、收货电话(按正确的电话号码格式输入,不能为空)、收货地址(不能为空),填写完成后点击完成,后端数据库订单新增,前端跳转到预支付订单。支付订单:买家进入预支付订单页面,该页面显示收款者CoffeeRoom咖啡屋、付款者买家(微信昵称)、订单总金额、订单号、商家个人收款码,买家长按支付并将订单号填入备注即可完成订单支付;若买家退出支付界面,自动视为取消订单。卖家端功能登录注册:卖家打开订单管理系统的登录界面,必须要登录才可进入系统管理订单和菜单;卖家端分为管理员(店长)和普通店员,店员不可以修改商家的信息,只可以管理订单和菜单信息,管理员可以更改商家信息,电话、地址、收款码等信息。订单管理列表:卖家用户进入订单管理页面,显示的是新订单列表,在订单管理页面可以按订单号或者买家名称模糊查询订单;当收到买家付款后,卖家用户在订单详情页点击买家支付按钮,可以将状态改为已支付状态并且按钮隐藏,该订单会显示在非新订单页面;点击完结订单按钮,进入非新订单页面,显示的是除了新订单状态以外的订单列表,当买家收到货物后,卖家用户点击未送达按钮可以将状态改为已送达状态并且按钮隐藏。商家信息管理:卖家管理员职位的用户可以在商家信息管理页面修改商家的信息;普通的商家用户在此页面只读,不可进行修改更新操作。商品信息管理列表:商品信息管理页面显示所有菜品的信息,商家用户点击新增按钮,填写相关商品信息:商品名称(不能为空)、商品单价(不能为空)、商品描述、商品图片等,点击提交即可新增商品信息;商家用户点击相应商品的修改按钮,修改相关的信息,点击保存即可修改商品信息;商家用户点击相应商品的上/下架按钮即可将商品上/下架。类目管理:类目管理页面,显示所有类目信息;点击类目的修改按钮可以进入类目修改页面,修改后点击保存即可更改类目信息;点击新增按钮并填写相应信息即可增加类目;点击删除即可删除类目(前提必须类目下已无商品信息)。类图设计系统类图设计见图3.1:图3.1CoffeeRoom点餐系统类图设计图顺序图设计买家用户系统顺序图买家授权登录买家通过微信客户端访问点餐系统系统返回授权页面展示给买家买家若不同意授权登录,则直接退出;若买家授权登录页面,则微信客户向微信服务器发送获取code请求。微信服务器返回携带code的跳转请求客户端携带从服务端获取的code和state跳转到系统配置好的重定向地址(获取买家openid和access_token的方法)。系统通过获取的code值向微信服务器发送获取买家openid等信息的请求微信服务器返回买家openid和access_token给系统系统携带用户openid登录跳转至点餐页面展示给微信客户端图3.2CoffeeRoom点餐系统买家授权登录时序图买家点餐下单买家进入点餐系统,浏览菜单买家选购商品添加进购物车页面会显示当前购物车总金额买家确认后点击提交订单跳转至填写收货信息页面买家提交收货信息后端系统通过购物车返回的商品id查找商品信息表该商品的单价,通过单价与购物车返回的数量计算该订单的总金额根据商品id查找到的商品信息和前端返回的商品数量,以及买家用户填写的收货信息创建新订单将预支付页面所需要的信息返回给前端页面买家跳转至预支付订单的页面图3.3CoffeeRoom点餐系统买家点餐下单时序图买家支付订单买家跳转至预支付订单界面若买家退出该支付界面前端向后台系统发起取消订单请求后台根据订单id进行订单的取消操作若买家支付订单,则长按识别预支付订单中的个人收款码进行支付卖家接到收款通知登录后台订单管理系统修改订单状态信息买家支付操作后,页面退出并返回给买家订单的支付结果图3.4CoffeeRoom点餐系统买家支付订单时序图卖家用户系统顺序图卖家注册登录时序图卖家进入系统登录界面卖家输入账号密码进行登录系统根据账号密码查询卖家用户数据库查询结果返回若账号不存在,则提示用户是否输入错误或者未注册账号若账号存在,则提示用户登录成功,并进入系统页面卖家进入注册界面,填写注册的相关信息页面将表单数据传输给后端系统验证后端系统根据用户填写注册的手机号验证是否存在账号,若存在则注册失败,若不存在则注册成功返回注册结果给前端前端将结果显示给用户,手机号已被注册则提示账号已存在若手机号未被注册,则提示注册成功,并转至登录页面图3.5CoffeeRoom点餐系统卖家端登录注册时序图订单管理时序图用户进入订单管理页面,该页面有三个模块。第一个是所有订单的模块,即查询所有订单的需求;第二个是新订单的模块,即查询所有新建订单的需求;第三个是非新订单的模块,即查询所有非新订单的需求。用户在订单管理页面的输入框进行模糊查询,即根据订单id或买家名称进行模糊查询的需求用户点击某条订单的详情按钮,即根据该订单的id进行查询详情的需求前端页面根据用户不同的查询需求向后端发起不同的查询请求后端根据前端发送的请求进行相应的查询操作查询后的结果渲染给前端前端将结果展示给用户,实现订单查询的功能用户点击“买家支付”、完结操作相关和取消操作相关的按钮,即用户对订单的状态和订单的支付状态进行修改的需求前端获取到该订单id并将id传给后端系统相应的方法中后端系统依据用户需求,若是点了“买家支付”按钮,则根据订单id修改订单的支付状态为已支付且将订单的订单状态修改为正在制作,更新订单表;若点了“完结订单”按钮,则根据id修改订单的订单状态为已完结,更新订单表;若点了“取消订单”按钮,则根据id修改订单的订单状态为已取消,更新订单表。同时,前端新建订单页面/未完结订单页面内不再出现该条订单。图3.6CoffeeRoom点餐系统卖家订单管理时序图菜单(商品)管理用户进入菜单管理界面,即查询所有已上架商品的需求用户在菜单信息列表上方的输入框进行模糊查询,即根据商品名称进行模糊查询的需求用户点击某个商品修改按钮,即查询该商品的详情信息的需求前端页面根据用户不同的查询需求向后端发起不同的查询请求后端根据前端发送的请求进行相应的查询操作查询后的结果渲染给前端用户点击新增/修改(某件)商品的按钮,即用户新增/修改(某件)商品信息的需求若用户需要修改某件商品,则前端携带着相应的商品id向后端发起查询该商品详细信息的请求后端将查询到的信息渲染给前端若是修改操作,前端跳转至修改商品信息的表单页面,且表单输入框内显示该商品相应的信息;若是新增操作,前端跳转至新增商品信息的表单页面。用户填写完表单页面后点击提交按钮前端将表单页面的信息发送给后端系统,后端根据前端返回的信息进行更新商品信息表的操作同时,前端返回给用户新增/修改成功的提示,自动跳转至菜单管理的页面用户点击某件商品的上/下架按钮,即用户修改商品状态的需求前端将该商品的id发送给后端,后端系统根据商品id查询到该商品的详细信息后修改它的商品状态,更新商品信息表同时,前端返回商品上/下架成功的提示,前端按钮的内容改变(上架->下架;下架->上架)图3.7CoffeeRoom点餐系统卖家菜单管理时序图商家信息管理用户进入商家信息管理页面,即用户查询商家信息的需求前端页面用户的查询需求向后端发起查询请求,后端根据前端发送的请求进行查询商家信息的操作查询后的结果渲染给前端前端将查询的信息展示给用户用户点击修改按钮,即用户修改商家信息的需求前端将用户的id发送给后端,调用修改商家信息的方法后端根据用户id查询卖家用户信息表,若该用户不是管理员,则返回给前端没有权限修改商家信息的信息。前端提示用户需要管理员权限才可以修改若该用户是管理员身份,则后端返回给前端同意该用户修改商家信息的消息,并将商家信息渲染给前端前端则跳转至修改商家信息的表单页面,表单内的值是原本的商家信息用户修改完后点击提交表单前端将修改后的表单信息传给后端系统,后端系统进行更新商家信息表的操作同时前端页面提示用户修改成功,并自动跳转至商家信息展示页图3.8CoffeeRoom点餐系统商家信息管理时序图类目管理用户进入类目管理界面,即查询所有类目信息的需求前端页面根据用户的查询需求向后端发起类目信息的查询请求,后端根据前端发送的请求进行查询操作查询后的结果渲染给前端前端展示给用户查询到的所有类目信息用户点击某条类目信息的修改按钮,即用户查询该类目下的商品详情的需求前端携带着相应的类目id向后端发起查询该类目下的商品详细的请求,后端根据类目id对商品信息表进行查询后端将查询到的信息渲染给前端前端展示给用户查询到的属于该类目下的所有商品的信息用户点击新增/修改(某个)类目的按钮,即用户新增类目的需求或者用户修改某个类目的需求若用户点击某个类目的修改按钮,则前端携带该类目的id向后端发起修改该类目信息的请求,后端通过该id进行查询该类目的信息后端将查询到的信息渲染给前端表单若用户是修改某条类目的操作,前端跳转至修改类目的表单,表单内是后端进行查询操作后渲染的数据;若用户是新增类目的操作,前端跳转至新增类目的表单用户填写完表单后点击提交按钮前端将修改后的表单信息发送给后端,若是修改操作,后端根据类目id查询到该类目并进行信息的更新替换;若是新增操作,后端直接进行类目信息的创建同时,前端提示用户新增/修改类目成功,并且自动返回类目管理页面用户点击某条类目的删除按钮,即用户删除该类目的需求前端携带该类目的id向后端发起删除该类目的请求后端首先根据类目id查询商品信息表内是否有商品在该类目下,若有商品,则修改不了;若该类目下查询不到商品信息,则直接进行类目的删除操作同时,前端提示用户该类目已被删除。图3.9CoffeeRoom点餐系统卖家类目管理时序图活动图买家进入点餐系统浏览菜单,添加心仪的餐品进购物车。当买家点击提交订单时,系统前端页面首先判断是否购物车为空,若为空则返回菜单页面继续选购;若不为空则跳转至收货信息页面。买家填写完收货信息后前端页面判断是否符合规则,若不符合则需重新填写;符合则后端系统创建订单,并返回一个预支付订单给买家。买家若没有支付,则后端视为买家主动终止交易,取消该订单;若买家支付成功,则商家接到收款通知之后开始备餐、配送餐品。当餐品送达时,商家完结订单。CoffeeRoom点餐系统的订餐活动图见图3.10:图3.10CoffeeRoom点餐系统订餐活动图状态图商品状态图CoffeeRoom的商品状态分为上架和下架,商品上架状态在商品被创建时就存在,商家点击上架按钮也可以触发状态,当商品库存为0的时候上架状态结束;商品下架状态在商品库存为0和商家点击下架按钮时会被触发,当商家点击上架按钮时下架状态结束,如图3.11:图3.11CoffeeRoom点餐系统商品状态图订单支付状态图订单支付状态有两种,未支付与已支付,当买家下单成功时,订单被创建,支付状态默认为未支付。买家支付完订单之后,商家收到收款通知并修改订单支付订单状态,准备餐品。图3.11CoffeeRoom点餐系统商品状态图订单状态图订单状态有五种,新订单、已取消、已送达、配送中或正在备餐。买家提交订单后默认订单状态为新订单,订单被创建,当买家支付操作完成时新订单状态结束;当买家终止了交易时,订单状态更改为已取消;当买家支付成功后订单状态改为备餐状态,当餐品准备完成时备餐状态结束;当备餐完成,订单状态改为配送状态,当商品送达时配送状态结束;当餐品送达时商家完结订单,将商品状态修改为送达状态。图3.11CoffeeRoom点餐系统订单状态图数据库设计该系统的数据库设计有如下几个表格:商品信息表图3.12CoffeeRoom点餐系统商品信息表商品类目表图3.13CoffeeRoom点餐系统商品类目表订单表图3.14CoffeeRoom点餐系统订单表订单详情表图3.15CoffeeRoom点餐订单详情表卖家用户信息表图3.16CoffeeRoom点餐卖家用户信息表商家信息图3.17CoffeeRoom点餐系统商家信息本章小结本章首先对CoffeeRoom点餐系统的买家微信端系统和商家订单管理系统进行了系统功能的详细设计,然后画出了CoffeeRoom点餐系统的类图、顺序图、和部分的活动图与状态图,直观明了地展示了CoffeeRoom点餐系统的各个功能;接下来是对CoffeeRoom点餐系统的数据库进行设计。系统实现CoffeeRoom点餐系统买家端部分页面实现买家只有关注公众号才可以进行登录操作,进入点餐系统首先要授权登录图4.1CoffeeRoom点餐系统未关注提示图4.2CoffeeRoom点餐系统授权登录提示买家登录后进入菜单页面,点击商品加号即添加购物车图4.3CoffeeRoom点餐系统商品菜单页图4.4CoffeeRoom点餐系统添加购物车买家选购完餐品后,点击提交订单跳转到填写收货信息的界面图4.5CoffeeRoom点餐系统买家填写收货信息CoffeeRoom点餐系统卖家端部分页面实现卖家端订单管理功能部分界面,可以查询所有订单、新订单、未完结订单列表,还可以根据orderId搜索订单;可以在操作列中进行完结订单、取消订单、查询订单详情的操作;在订单详情页面可以进行取消订单、完结订单、修改买家支付状态操作;当买家提交订单时,卖家端接收到有新订单提醒。图4.6CoffeeRoom点餐系统商家查询所有订单列表图4.7CoffeeRoom点餐系统商家查询新订单页图4.8CoffeeRoom点餐系统商家查询新订单的详情图4.9CoffeeRoom点餐系统商家查询非新订单页图4.10CoffeeRoom点餐系统商家查询非新订单的详情图4.10CoffeeRoom点餐系统商家有新订单提醒卖家端商品管理功能部分界面,可以查询所有商品列表,还可以根据商品id进行查询;操作列上可以进行修改商品信息和上下架操作,商品下架时按钮为红色并显示“上架”的文字,商品上架时按钮为蓝色并显示“下架”的文字;商品修改信息表单会显示当前该商品的原有信息;侧边栏的商品下拉有新增操作。图4.11CoffeeRoom点餐系统商家查询所有商品页面图4.11CoffeeRoom点餐系统商家修改商品信息页面图4.12CoffeeRoom点餐系统商家新增商品信息页面卖家端类目管理功能部分界面,可以查询所有类目列表,操作列上可以进行修改类目信息操作;类目修改信息表单会显示当前该类目的原有信息,还有当前类目下的商品信息表,当修改了类目编号时,该类目下的所有商品信息的类目编号字段也会被修改;侧边栏的类目下拉有新增操作。图4.13CoffeeRoom点餐系统商家查询类目列表页面图4.14CoffeeRoom点餐系统商家修改类目列表页面图4.15CoffeeRoom点餐系统商家新增类目列表页面系统测试系统测试的目的在真实系统工作环境下通过与系统的需求作比较,检验系统能否正确满足需求、正常运作是系统测试的目的,系统的漏洞可能存在于系统、功能、过程、数据和编码中,我们需要在这些方面上进行测试以找到系统的漏洞并修复。系统测试是为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试。所以这个阶段是软件开发中必不可少的部分。系统测试的意义目前市场有各种各样的软件,为了确保软件的质量优秀,系统测试是一个不可或缺的阶段。经过一系列的严格测试,找出系统中难以发现的漏洞,这样将会有利于提高CoffeeRoom点餐系统的质量,使用户的体验感更佳。测试计划单元测试,是指对软件中的最小可测试单元进行检查和验证,用于检验被测代码的一个很小的、很明确的功能是否正确。本系统的测试采用单元测试,依次对各主要功能的代码进行测试。测试所采用的用例分别是合理和不合理的条件。具体的测试计划如下所示:测试1:名称:订单功能测试目的:测试订单创建、修改、查询功能内容:订单查询显示是否正常、订单修改页面是否显示原信息、订单修改是否符合逻辑要求、订单创建是否有效。测试2:名称:商品功能测试目的:测试商品新增、修改、查询功能内容:商品查询显示是否正常、商品新增字段是否符合格式要求、商品信息修改页面是否显示原信息、商品修改字段是否符合要求、商品上下架是否成功。测试3:名称:类目功能测试目的:测试类目查询、新增、修改功能内容:类目查询显示是否正常、类目新增字段是否符合格式要求、类目信息修改页面是否显示原信息、类目修改字段是否符合要求、类目修改后该目录下的商品类目编号是否更改成功。测试用例订单功能测试功能描述:用户提交订单后查询订单内商品是否存在,不存在则创建订单失败,否则创建订单成功;商家收到买家付款后修改订单支付状态,修改完后订单显示在非新订单页面,并且操作按钮变为完结和详情;货品送到后商家修改订单状态,点击完结订单按钮完结订单,且操作列按钮只剩详情,不可进行修改操作。按照订单功能测试的测试计划(订单查询功能显示是否正常、订单修改页面是否显示原信息、订单修改是否符合逻辑要求、订单创建是否有效。),功能测试如表5-1所示:表5-1CoffeeRoom点餐系统订单功能测试序号测试目的测试内容测试结果测试说明1测试查询所有订单功能卖家端选择“订单”→“所有订单”正常显示“所有订单”列表表数据与数据库一致2测试查询订单状态功能卖家端选择“订单”→“新订单”或“完结订单”正常显示“新订单”或“非新订单”列表表数据与数据库一致3测试新增订单功能前端购物车返回的商品数据为空提示——购物车为空,创建订单失败4测试新增输入部分数据“买家名称”为空,其余字段按规则填写提示——买家姓名不能为空5测试新增输入部分数据“买家电话”为111235435,其余字段按规则填写提示——请按正常手机号进行填写6测试新增输入部分数据“买家地址”为空,其余字段按规则填写提示——买家地址不能为空7测试新增输入部分数据前端购物车内无商品,其余字段按规则填写提示——购物车不能为空8测试新增正确输入所有数据购物车有商品,买家姓名、地址都不为空,买家电话按手机号码正确填写转至预支付订单页面,数据库订单表更新成功9卖家端系统接收新订单提醒测试买家成功提交订单“新订单消息”弹窗显示根据测试用例8,订单创建成功10测试逻辑处理按钮选择侧边栏“订单”→某条订单的“详情”命令转至订单详情页面,显示订单详情表格以及相关操作按钮根据测试用例8,订单创建成功11测试逻辑处理按钮选择侧边栏“订单”→某条订单“取消”或者“完结”,以及订单列表“详情”→“取消订单”,“完结订单”符合逻辑提示——取消成功,数据库更新不符合逻辑提示——取消失败,返回订单页面12测试逻辑处理按钮符合逻辑提示——取消成功不符合逻辑提示——取消失败商品功能测试功能描述:用户进入点餐系统后可以正常浏览商品信息列表;商家进入商品信息管理页时可以正常浏览商品信息列表,卖家端点击修改可进入商品修改操作页,页面表单显示商品原信息,商品新增操作在侧边栏进入。商品的名称、单价、库存、所属类目字段不可以为空。按照订单功能测试的测试计划(商品查询显示是否正常、商品新增字段是否符合格式要求、商品信息修改页面是否显示原信息、商品修改字段是否符合要求、商品上下架是否成功。),功能测试如表5-2所示:表5-2CoffeeRoom点餐系统商品功能测试序号测试目的测试内容测试结果测试说明1测试查询所有商品功能卖家端进入商品管理页面正常显示“所有商品”列表表数据与数据库一致2测试查询商品详情功能卖家端选择“商品”--“列表”→“修改”正常在表单显示商品信息详情数据与数据库一致3测试修改商品功能卖家端选择“商品”--“列表”→“修改”表单信息正常显示,可以对表单进行输入修改4测试新增(修改)输入部分数据“商品名称”为空,其余字段按规则填写提示——商品名称不能为空5测试新增(修改)输入部分数据“商品单价”为空,其余字段按规则填写提示——商品单价不能为空6测试新增(修改)输入部分数据“商品库存”为空,其余字段按规则填写提示——商品库存不能为空7测试新增(修改)输入部分数据“商品类目”为空,其余字段按规则填写提示——商品类目不能为空8测试新增正确输入所有数据所有字段正确填写提示——新增成功,数据库表格更新,列表显示新增商品信息9测试逻辑处理按钮选择侧边栏“商品”——“列表”→某件商品的“修改”命令成功跳转至修改页面,表单内显示商品信息根据测试用例2,商品查询成功10测试逻辑处理按钮选择侧边栏“商品”——“新增”命令成功跳转至新增页面,表单内数据为空11测试逻辑处理按钮选择侧边栏“商品”——“列表”→某件商品的“上架”或“下架”符合逻辑提示商品上/下架成功不符合逻辑提示商品上/下架失败12测试查询上架商品功能买家进入菜单页面菜单页正确显示商品的信息类目功能测试功能描述:用户端点餐系统可以根据菜单侧边的类目跳转浏览商品;商家进入类目管理页时可以正常刘阿龙你类目信息列表,卖家端点击类目修改可以进入类目修改页,修改页面的表单可以正常显示类目原信息,表单下显示该类目下所有商品的信息,修改类目的编号后可以将该类目下所属商品的类目编号一并更新。类目的新增操作在侧边栏进入。类目的名称、类目编号不可以为空。按照订单功能测试的测试计划(类目查询显示是否正常、类目新增字段是否符合格式要求、类目信息修改页面是否显示原信息、类目修改字段是否符合要求、类目修改后该目录下的商品类目编号是否更改成功。),功能测试如表5-3所示:表5-3CoffeeRoom点餐系统类目功能测试序号测试目的测试内容测试结果测试说明1测试查询所有类目功能卖家端进入类目管理页面正常显示所有类目信息列表表数据与数据库一致2测试查询类目详情功能卖家端选择“类目”--“列表”→“修改”正常在表单显示商类目信息详情数据与数据库一致3测试修改类目功能卖家端选择“类目”--“列表”→“修改”表单信息正常显示,可以对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作管理合同
- 晋城购房合同
- 窜货处罚合同
- 薪酬服务合同
- 塑钢窗户合同
- 合租协议附加合同范本
- 厂房拆迁补偿协议书
- 肖像授权使用协议书
- 机台采购协议书
- 鱼泡泡协议书
- 3.2函数与方程不等式之间的关系第1课时-高一上学期数学人教B版
- 青岛版二年级数学上册第六单元“用2-6的乘法口诀求商”教学设计
- 学校、托幼机构传染病防控卫生监督及法律法规-培训课件
- 化工单元操作工作业指导书
- 学校班长培训课件
- lng应急预案安全培训课件
- 2024年安全学院危险性较高企业安全管理人员业务能力培训测试考试真题
- 2024年注册安全工程师考试真题及答案(完整版)
- 公路养护机械管理方案(3篇)
- 消息写作课程讲解
- 4.1人民民主专政的本质:人民当家作主 课件 高中政治统编版必修三政治与法治
评论
0/150
提交评论