基于微信小程序的菜谱查询系统的设计与实现_第1页
基于微信小程序的菜谱查询系统的设计与实现_第2页
基于微信小程序的菜谱查询系统的设计与实现_第3页
基于微信小程序的菜谱查询系统的设计与实现_第4页
基于微信小程序的菜谱查询系统的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IV论文主要内容论述了如何使用Servlet技术开发菜谱查询系统基于微信小程序,该系统采用B/S架构,面向对象编程思想来开发项目。本系统主要面向系统管理员和寻常使用者,管理员功能是处理系统使用者、食谱信息、食谱分类、系统管理、系统公告管理、资源管理等功能。普通使用者的功能是处理关于首页、菜谱信息、植物识别、资讯文章、基本信息、收藏等功能。本网站的功能模块设计较全面,所以整个菜谱查询系统信息管理的过程得以实现。本菜谱查询系统是以SpringBoot这一框架作为基础,采用Java编写的服务器端程序Servlet,基于开发语言java,使用了MySQL数据库进行开发,可以实现菜谱查询系统管理的信息化,可以方便管理员进行更加方便快捷的管理。菜谱查询系统;Java语言;SpringBoot;ServletThepaper'sprimaryfocusisonusingServlettechnologytocreateanobject-orientedprogrammingconceptsandB/SarchitecturetocreatearecipequerysystembasedonWeChatapplets.Systemadministratorsandotheruniqueusersaretheprimaryusersofthissystem;administratorresponsibilitiesincludemanagingsystemusers,recipeinformation,recipeclassification,systemadministration,systemannouncementmanagement,resourcemanagement,andothertasks.Ordinaryusershandletaskslikenavigatingthehomepage,findingrecipes,identifyingplants,readingarticles,gatheringbasicinformation,andsoforth.Thiswebsite'sfunctionalmoduledesignismoreextensive,makingitpossibletoimplementtheentirerecipeinquirysysteminformationmanagementprocess.BasedontheSpringBootframework,thisrecipequerysystemmakesuseofaJavaServletserver-sideapplication.MySQLdatabase,whichcanrealizetheinformatizationofrecipequerysystemadministrationandassistadministratorstomanagemorecomfortablyandquickly,isusedfordevelopmentandisbasedontheJavaprogramminglanguage.Keywords:Recipequerysystem;Javalanguage;SpringBoot;;Servlet目录11390版权使用授权书 110907摘要 I12845Abstract II13100基于微信小程序的菜谱查询系统的设计与实现 5206671.引言 580211.1.选题背景与意义 5253131.2.研究现状 5232021.3研究方法 6314592.菜谱查询系统的需求分析 722404 7198772.1.1.技术可行性分析 7150082.1.2.经济可行性分析 7274632.1.3.操作可行性分析 7381 7229222.2.1.功能需求分析 719892.2.2.非功能需求分析 1016912.3. 11101053.菜谱查询系统总体设计 12324963.1.系统功能模块设计 12214403.2.数据库设计 12264653.2.1.数据库逻辑结构设计 13192624.关键模块的设计与实现 2211804.1.系统首页模块 2297474.2.登录模块 2391254.3.注册模块 25258514.4.修改密码模块 2848754.5.菜谱信息模块 2946314.6.植物识别模块 3168914.7.使用者管理模块 31188034.8.菜谱信息管理模块 3246134.9.菜谱分类管理模块 33282254.10.系统管理模块 34246784.11.资源管理模块 35151975.系统测试 3611415.1.系统测试的类型 3742595.2.功能测试 3754825.3.可用性测试 38112755.4.测试结果分析 38221356.结论 39134946.1研究总结 39184686.2研究不足与展望 39284916.2.1研究不足 39209156.2.2研究展望 3928246参考文献 4110889致谢 43民以食为天,美食是一个自古不衰的话题,在互联网快速改变人们生活方式的今天,美食与互联网的结合也成为必然。REF_Ref13811\r\h[1]一顿美味的菜肴可以让一整天的生活变得美好,而如今,有很多人并不会做饭,基于生活条件的限制也无法每天点外卖来解决食物需求,因此他们需要查询菜谱,按照菜谱的教程来为自己做一餐菜谱。以前的人们会选择纸质菜谱,但随着科技的发展,手机成为人们不可或缺的物品,大多数人开始从各类App上搜寻菜谱REF_Ref14160\r\h[2],但这种做法依然存在一些不便利的问题,因此随着微信的普及,不同功能的微信小程序被开发出来,对于管理者来说,比起App微信小程序的开发难度和成本更低,管理也更方便,对于使用者而言微信小程序的操作也会更加便捷,快速。REF_Ref14206\r\h[3]在日常生活中,菜谱查询是许多人必不可少的需求之一。通过查询菜谱,人们可以了解如何制作各种菜谱,提高自己的烹饪技能,享受菜谱带来的乐趣。REF_Ref569\r\h[4]在现有的研究中,菜谱查询系统已经取得了一定的成果。例如,有些网站和App提供了菜谱搜索和推荐功能,使用者可以通过关键词列如粤菜,川菜等菜系关键字搜索或根据系统推荐查找相关菜谱REF_Ref5859\r\h[5]。但是,微信小程序相较于App,对于使用者而言内存更小,操作更便捷,对于开发者而言也减少了开发成本,并且现有的莱谱查询系统还存在一些问题,如搜索精度不高、推荐不够个性化等。此外面对部分较为相似或因不同地区而存在不同叫法的食材,很多人无法进行精准搜索。因此,本研究旨在开发一款更加智能化、个性化的小程序菜谱查询系统。菜谱查询系统是指通过电子设备,如智能手机、电脑等,来查询各种菜谱的系统,使用者可以根据自己的口味、需求和食材,在系统中搜索到相应的菜谱并实现自身的烹饪需求。菜谱查询系统的出现不仅为人们提供了更加便捷、快速的获取菜谱信息的途径,也满足了人们对于多样化饮食的需求。目前已经存在一些的菜谱推荐的相关设计与实现,如陈沁仪等的基于深度学习与百度AI的菜谱推荐与健康分析微信小程序设计REF_Ref4752\r\h[6],田猛等在2022年提出一种便捷式的智能菜谱推荐系统的设计与实现REF_Ref6574\r\h[7],徐志的基于网络爬虫的菜谱搜索和智能推荐方法研究REF_Ref7531\r\h[8],李晶的基于微信小程序的美食推荐系统REF_Ref31253\r\h[9]等。同时也有许多人提出了各具特色的美食系统,就像李绪远等人2021年的智能烹饪小助手的设计与实现REF_Ref8808\r\h[10],闫晨曦等2021年的大学生DIY“创意厨房+”系统的设计与实现REF_Ref8896\r\h[11],黄颖康2021年提出的基于轻量级神经网络的食材识别系统研究与应用REF_Ref9056\r\h[12],朱敏的基于微信小程序的美食服务平台的设计与实现REF_Ref9125\r\h[13],刘晓霞在2021年提出的公司食堂菜谱管理系统REF_Ref9236\r\h[14]和辜萍萍的基于微信小程序的食品鉴别讨论平台REF_Ref9321\r\h[15]等,这些系统通过汇集大量的菜谱资源,为使用者提供了便捷、实用的菜谱查询服务。除了商品化和智能化的菜谱查询系统,还有一些研究者将社交元素引入菜谱查询系统,开发了社交化菜谱查询系统。这些系统允许使用者分享自己的烹饪经验、上传自己的菜谱,并与其他使用者交流讨论。通过社交化的方式,使用者可以更好地学习、分享和交流烹饪知识,丰富了使用者的使用体验。总而言之,菜谱查询系统在国内外研究方面已经取得了一定的进展,不断推动着菜谱查询系统的发展和创新,为使用者提供更好的菜谱查询服务。未来,可以进一步深化研究,提升系统的使用者体验和智能化水平,满足使用者对于个性化、便捷化菜谱查询的需求。文献综合研究法:经由查阅菜谱查询系统的相关文章资料,调查菜谱管理系统目前的发展和实现技术的现实状况,或者调查是不是需要推出更加个性化的功能方便使用者,从而使菜谱管理系统更好地服务于使用者。个案研究法:对部分大学生进行问卷查询。制作表格,设置亲自动手做饭的意愿,是不是需要菜谱查询小程序,能不能对日常中的一些食材拥有清晰的认知等问题。之后进行分发,填写,回收整理进行结果的统计。技术可行性分析在基于微信小程序的菜谱查询系统开发所使用的开发软件基于免费:IDEA开发工具、MySQL5.7数据库、Tomcat8.0服务器等,并且基于微信小程序的菜谱查询系统是自己设计实现的,使用MySQL数据库进行数据的存储。经济可行性分析基于微信小程序的菜谱查询系统,利用MySQL数据库和IDEA、Tomcat等编程工具,可以大大简化我们的编写任务。使用SpringBoot框架来设计系统,是因为它可以将编程代码变得更加简单,精炼,最大限度地减少Java设置代码,使系统的可扩展性和可维护性大大精进。目前,许多企业都选择SpringBoot框架作为其框架之一。REF_Ref10715\r\h[16]操作可行性分析在日常生活中,随着小程序的快速推广和使用,小程序的使用方法得到简化老少皆宜,因此基于微信小程序的菜谱查询系统在此情况下是很简单的就可以被人们接受并熟练的运用,由此可知在操作上没任何问题。REF_Ref15545\r\h[17]功能需求分析菜谱查询系统的开发目的很简单,就是帮助人们更轻松地查询菜谱信息和识别植物。管理员后台包含了使用者信息管理、菜谱信息管理、菜谱分类管理、系统管理、公告管理、资源管理等多个模块功能。每个使用者进行信息查找时,也能节约大量时间和精力,有助于最大限度减少不必要的搜索时间的浪费。该系统分为使用者端和管理员端两部分,在功能上进行了划分。1、前台使用者端:首页(菜谱信息、植物识别)、资讯文章、我的(基本信息、收藏)(1)登录注册:使用者必须登录系统才能查询和控制已实现的功能。如果使用者还没有账号密码,可以在登录框中创建一个账号定下密码,然后使用密码登录。(2)浏览菜谱信息:只需通过“菜谱信息”菜单,即可浏览到所有菜谱的所有信息。可以通过搜索菜谱名称或不同分类的方式查看菜谱信息,并对菜谱信息进行点赞、评论、收藏、分享等操作。(3)植物识别:使用者点击“植物识别”链接至中国植物图像库,可以通过上传植物图片来识别植物信息。(4)资讯文章:使用者点击“资讯文章”可以搜索查看资讯文章信息,并可对资讯信息进行点赞、收藏和发表评论等操作。(5)我的:所有使用者点击“我的”直接进入到个人信息管理界面,能够修改个人资料和密码,也能够对我的收藏进行管理。菜谱查询系统中使用者角色用例图如图1:图1使用者角色用例图Figure1:UseCaseDiagramforUserRoles2、后台管理员端:(1)个人资料模块:可编辑个人基本资料,并修改账号的登录密码。(2)系统使用者模块:该模块主要分为系统管理员和普通使用者。要增设全新使用者,需点击页面上的“添加”按钮,根据提示输入使用者信息,点击“提交”后可在使用者界面查看到新使用者。若需删除使用者,可直接点击使用者名称后的“删除”按钮。(3)菜谱信息管理模块:点击“菜谱信息列表”这个按钮可以查看到系统中所有发布的菜谱信息,管理员可进行详情、查看评论或删除等相应操作。(4)菜谱分类管理模块:点击“菜谱分类管理”系统会把菜谱查询系统当中所有的菜谱分类信息都显示出来,管理员可对菜谱信息进行添加菜谱分类和类型描述管理,并可进行查询、重置或删除等相应操作。(5)系统管理模块:当你点击“轮播图管理”按键时,会展示系统中的所有轮播图信息.假如需要增设轮播图信息,可点击“添加”按键,根据提示填写轮播图内容,提交后,新的轮播图信息将显示在管理界面上.你可以点击任一轮播图信息查看详情,也可直接选择“删除”来删除轮播图。(6)系统公告管理模块:后台管理员点击“系统公告”之后,系统之中所有的系统公告都能展示出来,还可借助关键词查询系统公告内容,也可以添加新的系统公告或者删除某一条系统公告。(7)资源管理模块涉及到管理员在“资源管理”页面上对资讯文章和资讯分类进行增加、删除、修改和查询等操作。管理员角色用例图如图2:图2管理员角色用例图Figure2:UseCaseDiagramfortheAdministratorRole非功能需求分析菜谱查询系统的非功能性需求包括安全性、可靠性、性能和可拓展性等方面的要求。具体如表1:表1菜谱查询系统非功能需求表Table1Non-functionalRequirementsforaRecipeInquirySystem安全性这主要是指安装配方查询系统数据库,并确保密码和数据库的使用符合法律要求。可靠性经过测试,菜谱查询系统的可靠性(即安装使用者操作说明的能力)超过了90%。性能最理想的情况是拥有强大的性能,因为这是影响配方查询系统市场份额的先决条件。可扩展性例如,确保数据库中某些属性(如接口)的安全,就能保证系统的非功能性要求。易用性使用者可以轻易跟随菜谱查询系统的页面展示内容进行操作可维护性菜谱查询系统开发的可维护性至关重要,经过测试,没有任何问题。基于微信小程序的菜谱查询系统的设计与实现的开发主要目的就是实现使用者在线查询菜谱信息的便捷,系统的业务流程图如下图3。图3系统业务流程图Figure3Systembusinessflowchart在分析了项目开发的背景、意义以及其开发的可行性后,接下来就是探讨项目的功能划分,以及具体实现的时候对项目数据库各种表的设计,在本章会做一个系统的介绍。系功能模块的设计就是通过模块图清晰展示了需要实现的功能以及这些功能应如何划分到系统架构中,有助于明确列出和分配功能任务。项目系统的功能被划分为后台管理员和使用者两个模块,都登录时都具备对应的功能特点。系统功能模块如图4。图4菜谱查询系统功能模块图Fig4Functionalmodulediagramoftherecipequerysystem一个成熟的系统,数据库的好坏直接影响着其运行,如果没有一个好的数据库对数据存储,那么系统中所有的数据就没有办法调用,数据库是由很多个表组成,然后表和表之间相互联系,形成一个大大的数据库实体。REF_Ref11698\r\h[18]数据库逻辑结构设计数据库的逻辑结构设计是在概念结构的基础上,通过具体的数据库表设计来实现。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。具体如下:表2access_token(登陆访问时长)Table2access_token(loginaccessduration)编号名称数据类型长度小数位允许空值主键默认值说明1token_idint100NY临时访问牌ID2tokenvarchar640YN临时访问牌3infotext655350YN4maxageint100NN2最大寿命:默认2小时5create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:6update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:7user_idint100NN0使用者编号:表3article(文章:用于内容管理系统的文章)Table3article(Articles:articlesforcontentmanagementsystems)编号名称数据类型长度小数位允许空值主键默认值说明1article_idmediumint80NY文章id:[0,8388607]2titlevarchar1250NY标题:[0,125]用于文章和html的title标签中续表33typevarchar640NN0文章分类:[0,1000]用来搜索指定类型文章4hitsint100NN0点击数:[0,1000000000]访问这篇文章的人次5praise_lenint100NN0点赞数6create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:7update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:8sourcevarchar2550YN来源:[0,255]文章的出处9urlvarchar2550YN来源地址:[0,255]用于跳转到发布该文章的网站10tagvarchar2550YN标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开11contentlongtext21474836470YN正文:文章的主体内容12imgvarchar2550YN封面图13descriptiontext655350YN文章描述表4article_type(文章分类)Table4article_type(articleclassification)编号名称数据类型长度小数位允许空值主键默认值说明1type_idsmallint50NY分类ID:[0,10000]2displaysmallint50NN100显示顺序:[0,1000]决定分类显示的先后顺序3namevarchar160NN分类名称:[2,16]续表44father_idsmallint50NN0上级分类ID:[0,32767]5descriptionvarchar2550YN描述:[0,255]描述该分类的作用6icontext655350YN分类图标:7urlvarchar2550YN如果将此分类指向另一个网站时,请在此URL中添加外部链接:[0,255]。8create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:9update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表5auth(使用者权限管理)Table5auth(userrightsmanagement)编号名称数据类型长度小数位允许空值主键默认值说明1auth_idint100NY授权ID:2user_groupvarchar640YN使用者组:3mod_namevarchar640YN模块名:4table_namevarchar640YN表名:5page_titlevarchar2550YN标题:6pathvarchar2550YN路由路径:7positionvarchar320YN位置:8modevarchar320NN_blank跳转方式:9addtinyint30NN1是否可增加:10deltinyint30NN1是否可删除:11settinyint30NN1是否可修改:12gettinyint30NN1是否可查看:续表513field_addtext655350YN添加字段:14field_settext655350YN修改字段:15field_gettext655350YN查询字段:16table_nav_namevarchar5000YN跨表导航名称:17table_navvarchar5000YN跨表导航:18optiontext655350YN配置:19create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:20update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表6collect(收藏)Table6Collection编号名称数据类型长度小数位允许空值主键默认值说明1collect_idint100NY收藏ID:2user_idint100NN0收藏人ID:3source_tablevarchar2550YN来源表:4source_fieldvarchar2550YN来源字段:5source_idint100NN0来源ID:6titlevarchar2550YN标题:7imgvarchar2550YN封面:8create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:9update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表7comment(评论)Table7comment编号名称数据类型长度小数位允许空值主键默认值说明1comment_idint100NY评论ID:续表72user_idint100NN0评论人ID:3reply_to_idint100NN0回复评论ID:空为04contentlongtext21474836470YN内容:5nicknamevarchar2550YN昵称:6avatarvarchar2550YN头像地址:[0,255]7create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:8update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:9source_tablevarchar2550YN来源表:10source_fieldvarchar2550YN来源字段:11source_idint100NN0来源ID:表8hits(使用者点击)Table8Hits(userclicks)编号名称数据类型长度小数位允许空值主键默认值说明1hits_idint100NY点赞ID:2user_idint100NN0点赞人:3create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:4update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:5source_tablevarchar2550YN来源表:6source_fieldvarchar2550YN来源字段:7source_idint100NN0来源ID:表9notice(公告)Table9notice编号名称数据类型长度小数位允许空值主键默认值说明1notice_idmediumint80NY公告id:续表92titlevarchar1250NN标题:3contentlongtext21474836470YN正文:4create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:5update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表10praise(点赞)Table10praise编号名称数据类型长度小数位允许空值主键默认值说明1praise_idint100NY点赞ID:2user_idint100NN0点赞人:3create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:4update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:5source_tablevarchar2550YN来源表:6source_fieldvarchar2550YN来源字段:7source_idint100NN0来源ID:8statusbit10NN1点赞状态:1为点赞,0已取消表11recipe_classification(菜谱分类)Table11recipe_classification编号名称数据类型长度小数位允许空值主键默认值说明1recipe_classification_idint100NY菜谱分类ID2recipe_classificationvarchar640YN菜谱分类3create_timedatetime190NNCURRENT_TIMESTAMP创建时间4update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表12recipe_information(菜谱信息)Table12recipe_information编号名称数据类型长度小数位允许空值主键默认值说明1recipe_information_idint100NY菜谱信息ID2recipe_namevarchar640YN菜谱名称3menu_imagevarchar2550YN菜谱图片4recipe_classificationvarchar640YN菜谱分类5reference_pricevarchar640YN参考价6creating_videosvarchar2550YN制作视频7recipe_materialstext655350YN菜谱材料8hitsint100NN0点击数9praise_lenint100NN0点赞数10recommendint100NN0智能推荐11create_timedatetime190NNCURRENT_TIMESTAMP创建时间12update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表13regular_users(普通使用者)Table13regular_users(regularusers)编号名称数据类型长度小数位允许空值主键默认值说明1regular_users_idint100NY普通使用者ID2user_namevarchar640YN使用者姓名3users_mobile_phonevarchar160YN使用者手机续表134examine_statevarchar160NN已通过审核状态5user_idint100NN0使用者ID6create_timedatetime190NNCURRENT_TIMESTAMP创建时间7update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表14slides(轮播图)Table14slides(rotatingchart)编号名称数据类型长度小数位允许空值主键默认值说明1slides_idint100NY轮播图ID:2titlevarchar640YN标题:3contentvarchar2550YN内容:4urlvarchar2550YN链接:5imgvarchar2550YN轮播图:6hitsint100NN0点击量:7create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:8update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表15upload(文件上传)Table15upload(fileupload)编号名称数据类型长度小数位允许空值主键默认值说明1upload_idint100NY上传ID2namevarchar640YN文件名3pathvarchar2550YN访问路径4filevarchar2550YN文件路径5displayvarchar2550YN显示顺序6father_idint100YN0父级ID7dirvarchar2550YN文件夹8typevarchar320YN文件类型表16user(使用者账户:用于保存使用者登录信息)Table16user(useraccount:usedtoholduserlogininformation)编号名称数据类型长度小数位允许空值主键默认值说明1user_idmediumint80NY使用者ID:[0,8388607]使用者获取其相关的数据2statesmallint50NN1账户状态:[0,10](1可用|2异常|3已冻结|4已注销)3user_groupvarchar320YN所在使用者组:[0,32767]决定使用者身份和权限4login_timetimestamp190NNCURRENT_TIMESTAMP上次登录时间:5phonevarchar110YN手机号码:[0,11]使用者的手机号码,用于找回密码时或登录时6phone_statesmallint50NN0手机认证:[0,1](0未认证|1审核中|2已认证)7usernamevarchar160NN使用者名:[0,16]使用者登录时所用的账户名称8nicknamevarchar160YN昵称:[0,16]续表169passwordvarchar640NN密码:[0,32]使用者登录密码,由6-16位数字或英文组成10emailvarchar640YN邮箱:[0,64]使用者的邮箱,用于找回密码时或登录时11email_statesmallint50NN0邮箱认证:[0,1](0未认证|1审核中|2已认证)12avatarvarchar2550YN头像地址:[0,255]13open_idvarchar2550YN针对获取使用者信息字段14create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:15vip_levelvarchar2550YN会员等级16vip_discountdouble112YN0.00会员折扣在前台首页,使用者可以轻松访问首页、菜谱信息、植物识别、资讯文章、我的等多种功能,如图6所见,为使用者提供了更加便捷的服务。图6系统首页界面图Figure6Systemhomepageinterfacediagram为了加强安全性,登录操作将加入验证码,这样使用者登录验证不再只靠证书和权限匹配。只有当所有编辑框中的数据都正确没有错误的情况下才能顺利的登录。查询系统的管理员和普通使用者使用相同的登录程序,通过权限字段来区分使用者或管理员角色。使用者登录的流程图如下:见图7。图7使用者登录流程图Figure7UserLoginFlowchart登录界面如下图8所见。图8登录界面Figure8Loginscreen登录的逻辑代码如下所示:elseif(email!=null&&"".equals(email)==false){map.put("email",email);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(phone!=null&&"".equals(phone)==false){map.put("phone",phone);resultList=service.select(map,newHashMap<>()).getResultList();}else{returnerror(30000,"账号或密码不能为空");}if(resultList==null||password==null){returnerror(30000,"账号或密码不能为空");}使用者可以进行账号的注册。要进入相关注册页面,通过系统主页的使用者注册选项,就可以进入注册界面,在填写信息后,通过注册键可完成本次注册。代码使用HttpServletRequest对象检索使用者注册信息。然后使用HashMap处理使用者数据,并调用服务内方法进行操作关于数据库:为了能够继续操作,首先要确定使用者名是不是已经拥有。如果拥有,则返回错误信息。如果没有,密码将被加密并与使用者名一起提交给数据库,然后会出现一条成功注册的消息。REF_Ref1820\r\h[19]使用者注册流程图如下图9所见。图9使用者注册流程图Figure9UserRegistrationFlowchart使用者注册界面如下图10所见。图10使用者注册界面Figure10Userregistrationinterface注册关键代码如下所示。//查询用户Map<String,String>query=newHashMap<>();Map<String,Object>map=service.readBody(request.getReader());query.put("username",String.valueOf(map.get("username")));Listlist=service.selectBaseList(service.select(query,newHashMap<String,String>()));if(list.size()>0){returnerror(30000,"用户已存在");}当使用者忘记密码或者想要改变密码时,通过点击登录界面的忘记密码按键,根据界面提醒输入使用者名、新密码、确认密码、验证码等信息后,进行密码找回操作就可以更改新密码。该方法首先从User对象和HttpServletRequest对象获取数据,判断数据是否为空。如果使用者名或验证码等为空,则返回相关的错误信息。修改密码详情界面如下图11所见图11修改密码详情界面图Figure11ChangePasswordDetailsScreenMap修改密码关键代码如下所示。//判断条件if(code==null||code.length()==0){returnerror(30000,"验证码不能为空");}if(username==null||username.length()==0){returnerror(30000,"用户名不能为空");}if(password==null||password.length()==0){returnerror(30000,"密码不能为空");}当使用者点击网站上的"菜单信息"按键时,会显示所有菜单信息的列表。选择想要了解的信息后,使用者将进入菜单信息的详细界面。除其他信息外,他们还可以发现菜单的分类、名称、照片、参考价格、制作视频和其他详细信息。此外,他们还可以保存、分享、喜欢和评论操作。菜谱信息详情界面如下图12所见。图12菜谱信息详情界面图Figure12Recipeinformationdetailscreenmap查询菜谱信息列表关键代码如下所示。当使用者点击首页的“植物识别”按钮后通过接入的网站链接跳转至中国植物图像库,可以按提示上传图片,生成识别结果。植物识别界面如下图13所见。图13植物识别填写界面图Figure13Plantidentificationfill-ininterfacediagram管理员可以对系统中所有的使用者角色进行管控,包含了管理员和普通使用者,如若欲增加新使用者,通过“添加”键,随后输入使用者的信息,并在完成后进行提交。随后,可在使用者界面找到相应信息。可以点击使用者后面的“删除”按键直接删除某一使用者。界面如下图14所见。图14使用者管理界面图Figure14Usermanagementinterfacediagram添加使用者关键代码如下所示。管理员执行菜谱信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。菜谱管理界面如图15所见。图15菜谱信息详情界面图Figure15Recipeinformationdetailscreenmap管理员在“菜谱分类管理”一栏可查看菜谱分类和类型描述等信息,管理员可进行添加、重置或删除等相应操作。界面如下图16所见。图16菜谱分类管理界面图Figure16Recipeclassificationmanagementinterfacediagram修改菜谱信息关键代码如下所示。菜谱查询系统的管理人员可以通过"系统管理"菜单添加和编辑轮播图,其管理界面如下图17所见。图17系统管理界面图Figure17SystemManagementInterfaceDiagram轮播图上传关键代码如下所示。在"资源管理"选项下,菜谱查询系统的管理人员可以监督信息文章和信息分类列表。资源管理界面如下图18所见。图18资源管理界面图Figure18ResourceManagementInterfaceDiagram添加资讯文章信息关键代码如下所示。为了进行集成测试和确认测试,该部分将计算机硬件、支持软件和一些数据与预编码系统集成,作为计算机系统的一个组成部分。检查已开发系统与需求规格之间的差异是最后一个测试阶段的目标。再次验证系统的功能和性能是否与需求手册中的规格相符。需要结合多种测试不同类型来确认系统的合格性,而后对测试内容展开详细描述。在系统测试中,功能测试是最早进行的测试内容,其主要意图是检验需求规格说明文件与实际系统的一致性和差异。在性能测试中,关键点是评估该系统处理多个使用者请求的能力,并关注生成系统与预期性能之间的差别。这一技术在嵌入式或实时系统中时常被采用。容量测试侧重于数据,评估系统的数据处理能力。测试的旨在确定正常运行系统的数据容量极限。进行安全性测试是一种常见的方式,用于验证系统的安全措施有无按照预期运行,以防止未经授权的使用者实施入侵。必须做到使用标准的安全测试方法,来验证系统中的信息保护机制。REF_Ref15956\r\h[20]健壮性测试,有时候也被称为容错测试,通常通过故障注入的方式来评估系统的容错能力,检验系统是不是能够忽略错误并持续不断运行,以及自动纠错的能力。进行兼容性测试时,会针对各种不同的计算机软硬件环境,来验证本系统是不是能够兼容。使用者体验测试:该方法的重中之重是评估使用者对系统的体会和使用是不是简单。为了确认系统的功能性、安全性和适用性等,配方查询系统必须经过最后的测试阶段,才能得出测试结果。表17功能测试数据表Table17FunctionalTestDataSheet测试内容测试结果系统功能的适用性符合要求系统功能的依从性符合要求续表17系统功能的安全性符合要求系统功能的准确性符合要求系统功能的可操作性符合要求设计合理、信息准确无误、操作逻辑合理规范的系统通常会备受青睐,进而能够提升使用者的使用时长和频率。表18可用性测试数据表Table18Usabilitytestdatatable测试内容测试结果检查系统的操作逻辑合不合理合理检查系统的功能布局合不合理合理检查系统能否支持鼠标和键盘能检查系统反馈的提示有无错别字无检查系统功能有无友好性有检查系统页面能否正常关闭能检查系统各数据项有无错误无检查系统有无提供帮助信息有在编码阶段,食谱查询系统进行了单元测试,最后阶段进行了全系统测试。该系统已投入使用,所有模块都能按照使用者指定的用途运行。该系统可持续正常运行24小时,并在出现问题时提供相应的补救措施。因此,基于微信小程序的菜谱查询系统的设计与实现可以交付使用者使用。本文总结了基于微信小程序的菜谱查询系统的设计与实现的初衷以及设计中存在的意义,详细分析了系统特有的业务需求,并根据这些需求费尽心思反复思索设计了平台的功能模块和结构,并将其划分为各种具有个性化效果的功能模块。对平台的整体架构和功能模块进行了深入研究,以明确平台的功能需求。随后采用相宜的平台开发方法,完成模块的开发。在平台开发完成后,进行了部署和测试工作。测试结果显示,该平台满足了所有预期的性能和功能标准,而且保持了高水平的稳定性和可靠性。在开发菜谱查询系统的时候,我还意识到了在开发之前做好前期准备是必须的,只有准备充分,心里才能用有底气,然后需要在脑海中对想要实现的功能进行总体的规划,创建系统的核心框架。只有正确完成这一阶段,我们才能满怀信心地开展开发项目。一旦对设计框架感到满意,就应该思考并充分理解编程所需的关键概念和技术方面。使用这种方法项目的开发才可以循序渐进、丝丝入扣,并能长期形成积极的开发习惯。发现的错误数量决定了程序的好坏,在项目完成之前,有必要进行一次BUG检查,对可能出现的错误防患于未然,以保证程序的长期稳定运行。6.2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论