1、 设计题目: 冰箱菜品管理系统 专业年级: 电子信息工程2015级 学 号: 156710076 姓名: 陈剑瑜 指导教师、职称: 程丽 教授 2019年5月福建农林大学金山学院毕业设计诚信声明本人郑重声明:所呈交的毕业设计冰箱菜品管理系统是本人在指导老师的指导下,独立研究、写作的成果,不存在知识产权的争议。除文中已经注明引用的内容外,不再含任何其他个人或集体已经发表或撰写过的作品成果;对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律结果由本人独自承担。 毕业设计作者签名: 二o一九年四月十日 目 录摘 要IABSTRACTII1 引言11.1课题背景及意义11.2
2、国内外研究现状11.3 本课题主要工作22 系统开发环境32.1 JAVA语言32.1.1 JAVA语言简介32.1.2 JavaScript32.2 MYSQL数据库42.3 B/S结构43 系统分析63.1 可行性分析63.1.1 技术可行性63.1.2 经济可行性63.1.3 法律可行性63.2系统流程分析73.2.1系统开发流程73.2.2 系统操作流程73.2.3 添加信息流程83.2.4 修改信息流程93.2.5 删除信息流程93.3系统用例分析103.3.1用户例图104 系统设计114.1 系统概述114.2 系统结构设计114.3数据库设计124.3.1 数据库设计原则124
3、.3.2 数据库实体134.3.3 数据库表设计145 系统实现165.1 用户授权登录界面165.2 用户首页界面165.3 用户菜品查看选择界面186 系统测试226.1 系统测试的意义226.2 性能测试226.3 测试分析23结束语25参考文献26致谢27福建农林大学金山学院本科毕业设计说明书摘 要21世纪的今天,随着科技的发展和生活节奏的转变,人们越来越追求方便化,因此更多的小程序横空出世,它们的出现大大方便了我们的生活,给我们的生活带来很多的便利。本文在分析过程中,首先,详细介绍了冰箱菜品管理系统的功能、发展时期以及设计背景;其次,详细阐述了本次设计的目标,针对系统的特殊性进行了需
4、求分析,对系统的设计的各个环节以及系统的运行进行更为细化的梳理;最后,针对设计好的冰箱菜品管理系统进行了相应的测试,以验证其功能与设计目标是否相符。本文以java+wxml+wcss+js为开发技术,实现了一个微信小程序冰箱菜品管理。冰箱菜品管理系统主要为用户提供便捷的生活;用户可以在系统中添加喜欢的菜品和需要的材料等。在这些功能模块的作用之下,冰箱菜品管理的全部过程基本上都得到了很好的实现。在进行系统开发的过程中,数据库管理工具选用了MYSQL数据库,其稳定性、安全性都处于比较高的水平之上,是一个非常优秀的冰箱菜品管理系统。关键词 :冰箱菜品管理;JS技术;MYSQL;XML;微信小程序 I
5、IAbstractToday, in the 21st century, with the development of science and technology and the change of life rhythm, people are pursuing more and more convenience. Therefore, more and more small programs emerge. Their appearance greatly facilitates our life and brings a lot of convenience to our life.
6、This paper introduces the refrigeratory dishes management system, including its current situation and development background, then discusses the design objectives of the system, as well as the requirements of the system, as well as the whole design scheme. The design and implementation of the system
7、 are also discussed in detail. Finally, some specific tests are carried out on the refrigeratory dishes management system.In this paper, we use java + wxml + wcss + JS as the development technology to realize a Wechat applet refrigeratory food management. Refrigerator dishes management system mainly
8、 provides users with convenient life; users can add favorite dishes and materials needed in the system. Through the design of these functional modules, the whole refrigeratory food management process is basically realized.Key words: Refrigerator dishes management; JS technology; MYSQL; XML; WeChat a
9、ppletII1 引言1.1课题背景及意义小程序的问世被业内称为一次变革,基于线下的消费,服务需求,引领线上开发,产品为王的新的经营方式,其中低频次,一次性的本地服务领域,或是应用最为广泛的消费场景。企业开发小程序的优点在于其开发费用比普通APP要低,而且随着手机的普及,我们触手可得它的出现完全可以满足我们生活的各种需求。用完即走,轻负担微信小程序是免安装,免注册,免打扰,没有入口,我们只要微信授权便可快捷登录。没有应用商店等,省去了安装的困扰,我们可以快速方便使用。我们也可通过扫描服务,我们便可快捷使用或者主动搜索微信小程序。我设计的是冰箱菜品管理系统,他能有效解决我们日常煮饭的困扰。随着生
10、活节奏的加快,很多上班族没有时间做饭,更多的是点外卖,相对于外卖确实更能方便我们,但外卖存在着种种弊端,如外卖昂贵、吃不饱、不卫生等。但有了这个小程序,我们只要输入要做的菜品,系统就可以给出方案。需要什么配料还差什么配料它都能清楚的告诉你。大大方便了我们的生活。1.2 国内外研究现状在互联网持续高速发展的背景之下,智能产品与人们的关联越来越密切,人们对智能产品的使用也日益增加,正因为我们生活的需求,我们需要下载很多APP,这就导致了我们手机缓存的增加,导致我们内存不够用和卡顿等种种困扰。而且,软件需要不定时的更新,这也大大降低了我们使用的欲望。并且,我们现在移动设备最大的存储量仅为512G,而
11、且我们使用的各种app也远远不能满足我们日益发展的APP需求,而就在这时,腾讯公司推出了微信小程序。通过对这类系统的分析可以发现,其具备如下几个特征:1)先进性。通过利用这些系统,网络化管理得以实现,促进了管理效率的提升。2)通用性。这类系统具有很高的相似性,只要属于同一个行业,基本上都能够实现通用。3)便捷性。只需要具备互联网,便能够进行相应的管理工作。4)及时性。在这类系统的作用之下,信息更新的速度大为提升。5)扩展性。这类系统具有很高的可扩展性,可以基于实际需求,将相关的模块添加至系统之中。6)安全性。系统应用的都是现如今比较先进的技术,因此其能够对单位或个人信息进行加密处理,保证了信息
12、的安全。时至今日,在互联网浪潮的持续冲击下,人们的生活出现了极大的改变,智能用品、笔记本电脑等已经是人们获取信息的主要工具,这是一个沟通无限的时代,因此,利用科技给人们的生活带来便利,所以,开发一个微信小程序冰箱菜品系统是必须的。1.3 本课题主要工作一开始,本文就对系统内谈到的基本知识,从整体上进行了描述,并对系统进行了细致的分析。然后通过详细的分析,进行系统设计,其次,系统在实施的可行性上,我选择了Eclipse工具来进行开发设计,在进行数据存储和编程语言发面,经过多方对比,最终选用了MYSQL作为数据库管理工具,选用了JAVA语言来作为设计语言。由于JAVA语言以及MYSQL数据库的成熟
13、度水平、普及率都非常高,因此其安全性、可靠性均得到了有效保障。在完成设计过程后,通过多种测试方法来找出其中的问题,并针对这些问题进行相应的修改,最后再进行发布。- 31 -2 系统开发环境2.1 JAVA语言2.1.1 JAVA语言简介JAVA语言属于面向对象的编程语言类型之一,其既将C+语言中的诸多优势纳入了其中,还将C+语言中具有很高难度的多继承以及指针等概念清除了出去,因此,JAVA语言具备了两方面的个性特征,一方面,JAVA语言的功能十分全面和强大,另一方面,JAVA语言的学习和使用难度较低。在静态面向对象语言类型中,JAVA语言是其中的典型,通过这一语言,面向对象的理论得到了很好的实
14、施,有效降低了程序员进行复杂编程的难度。通过对JAVA语言的分析可以发现其具备如下几个特点:1)全面性。利用JAVA语言,能够完成各种营养程序、操作系统以及嵌入式系统应用程序的编写。2)面向对象。在JAVA语言中,各种问题都可以视为对象和对象形成的交互,可以通过抽象法,让对象转变为方法与属性的集合。3)分布性。这一特征主要分为两个方面,一是操作分布性,二是数据分布性。前者指的是在多个主机的作用下,某一个功能得以实现;而后者则指的是将分布在各个主机上的数据视为一个整体,然后在进行相应的处理。4)跨平台。利用JAVA语言开发出的各种应用程序,可以对各个平台形成支持,能够自由的在平台间进行迁移。5)
15、安全性。由于JAVA语言采用的是底层设计的方式,因此非法操作无法对其进行破坏。6)健全性。由于JAVA制定的大量预防机制,因此在运行过程中,各种错误得到了有效控制。7)多线程。JAVA能够实现多线程处理,多个线程可以在同一时间内进行工作。2.1.2 JavaScriptJavaScript属于用户端脚本语言的类型之一,能够基于对象和情况进行驱使,并且这一语言的危险系数相对较低。在用户端Web设计过程中,该语言的应用度也比较高,通常情况下,利用该语言能够使HTML页面实现动态化,比如,可以针对用户进行的各种操作进行反馈。面向对象是JavaScript最重要的功能之一,在进行程序开发的过程中,基于
16、对象来进行,这种方式更具直接性、系统性以及重用性。基于HTML程序,在设计交互式Web网页的过程中,可以通过JavaScript来进行。通过这一脚本语言,网页和用户之间的关系将会呈现出实时性、动态性以及交互性的特征。通过JavaScript脚本语言,用户与HTML页面交互操作的难度大为降低,交互效果也更为出色,其能够对HTML中的不足之处形成补充与完善,融合了Java与HTML各自具备的优势。在JavaScript的作用之下,网页内容和功能将会更为丰富和全面,本系统在开发过程中,JavaScript技术应用的极为普遍。2.2 MYSQL数据库MySQL服务器具备多用户、多线程的个性特征,数据库
17、管理系统是以SQL客户与服务器模式之间的关系为基础建立的,其具备多种有点,包括功能全面、操作难度低、管理便捷性高、安全性高、多线程处理、跨平台性、稳定性水平高等,与Web站点或其它应用程序有着比较高的适用性。除此以外,在编写和访问MySQL数据库程序的过程中,用户可以自由选择各种语言来实现。由于MySQL数据库使用的也是开源代码,因此其得到了广大开发者的欢迎,应用度也持续提升。由于其运行效率高、使用简单,因此,大部分Web站点或者应用软件都选择将MySQL作为数据库后端开发的首选。通过对MySQL数据库的分析可以发现,其具备多种特点,具体如下:1)通过C语言以及C+语言进行程序编写,且经过各种
18、类型的编译器测试,使得源代码的可移植性得到了有效保障。2)能够适用于各种操作系统,包括Mac OS、Windows、Linux等。3)针对各种编程语言的特殊性,为其提供了相应的API。这些编程语言包括C语言、C+语言、Java语言等。4)能够完成多线程处理,将CPU的资源利用到最大。5)对SQL查询算法进行了优化,搜索速度效率得到了大幅提升。6)支持多国语言,在对数据表以及数据列进行命名的过程中,不仅可以使用中文,也可以使用日文、韩文、英文等语言。7)连接方式多样化,不仅支持TCP/IP协议,还能支持ODBC、JDBC等。8)GIS的空间扩展。9)其具备开源性特征,在使用时,不需要另外支付其它
19、费用。2.3 B/S结构在三层体系结构的B/S系统中,用户只需要在客户端打开浏览器,便能够将自身的请求信息发送至多个服务器,在B/S系统的作用下,工作量得到了大幅减少,工作效率得到了有效提高,用户不需要在客户端安装其它的软件,服务器是各种工作进行的载体,另外,服务器也完成包括访问数据库,执行应用程序的工作等等。通过对B/S结构的分析可以发现,其分为三个层级,即数据层、控制逻辑层以及视图层。各个层级所进行的工作各不相同。用户利用视图层将请求发送至控制层,控制层从数据层中调取与之相应的数据,并反馈至视图层,访问流程得以实现。这三个层级是相互独立的,维护工作比较简单,安全性也处于比较高的水平之中,在
20、这三个层级的作用之下,访问效率得到了极大的提高。3 系统分析系统分析顾名思义指的是需求人员通过与客户沟通的方式获得相应的信息,在此之后,对获得的信息进行相应的归纳和整理,形成需求说明书,并将其送至用户和开发人员手中。纵观软件功能的发展历程,在相当长的一端时期内,尤其是刚开始出现软件开发这一工作时,人们对于需求分析的重视程度相对较低,以IBM为英国电信开发的信息管理系统为例,双方约定在一年时间内完成系统开发,但是由于需求不明确,造成工期一拖再拖,整个过程长达一年零六个月,使双方都出现了不同程度的损失。通过对我国各大软件公司的调查可以发现,绝大多数软件公司仍然采用“边需求、便开发”方式,更有甚者,
21、在没有与客户进行充分沟通的前提下,直接生搬硬套之前开发出的系统,对其进行一定的修改便提交给客户,当客户在对系统进行验收的过程中,发现其诸多方面都不符合自身的需求,必须要进行重新设计,使双方的人力资源、物力资源都出现了一定程度的浪费。造成这一问题最主要的原因便是没有基于客户的特征进行及时、清晰、全面的需求分析。3.1 可行性分析冰箱菜单微信小程序管理系统最主要的功能便是通过微信客户端对冰箱菜品进行全面的管理,在确定这一目标之后,本文将从多个方面展开系统的可行性分析。3.1.1 技术可行性在进行冰箱菜单微信小程序系统开发的过程中,以B/S架构为基础,选择了具有高度便携性的JAVA语言和MySQL数
22、据库,对于微信小程序的开发要求具备完整等功能,使用快捷的特点,并建立一个数据库庞大安全方便稳定的数据库。并且由于系统的难度的较低,各项技术都比较成熟,因此,从技术层面来看,该系统的开发不会遇到太大的困难,具有很高的可行性。3.1.2 经济可行性在开发冰箱菜单微信小程序管理系统的过程中,由于选用B/S架构和MySQL数据库,整个系统的规模也比较小,这就使得硬件和软件要求都相对较低,不需要花费太大的代价便能够获取到,再加上系统的复杂程度不高,开发时间不需要很长,系统的的维护也比较简单。因此,从人力、资金的角度来看,系统开发不会存在太高的难度,具有很高的可行性。3.1.3 法律可行性在进行冰箱菜单微
23、信小程序系统开发的过程中,基本上都是有本人独立完成,不管是在软件层面,还是数据库层面,使用的均是开源代码,不会对任何一方形成侵权,因此,从法律的层面来看,本系统的开发具有很高的可行性。通过上述内容的分析可以发现,冰箱菜单微信小程序系统无论是在技术层面上,还是在经济层面和法律层面上,都具有很高的可行性,由此可见,进行此系统的开发完全可行。3.2系统流程分析3.2.1系统开发流程在进行冰箱菜单微信小程序开发的过程中,首先要针对系统的个性特征,展开需求分析,在此基础之上,对系统的整体进行科学、合理的规划,然后对其进行相应的细化,明确系统各个模块所具备的功能,最后再确定运行方式以及数据库等。图3-1详
24、细列出了系统开发的个流程。图3-1 系统开发流程图3.2.2 系统操作流程当用户完成进入系统的过程之后,首先显示在用户眼前的便是“授权登录界面”,系统会对用户信息进行相应的检测,倘若信息匹配,则允许用户进入到“系统功能界面”之中,用户则能够进行相应的操作。图3-3详细展示了整个操作流程。图3-3 系统操作流程图3.2.3 添加信息流程在菜单页面,用户能够将所需要的信息添加进去,如果信息符合相关要求,系统会自动会将它添加到我们创建的数据库内,如果信息出现错误,系统则会拒绝添加,并且会提示用户让其重新输入符合要求的信息。图3-4详细展示了添加信息的具体流程。图3-4 添加信息流程图3.2.4 修改
25、信息流程用户可以对菜单信息等进行修改,输入修改信息数据,系统则会对数据进行算法判断,修改信息如果正确则自动修改成功,信息自动更新到数据库内,如果信息不合法则需要修改失败,重新输入。修改信息流程图如图3-5所示。图3-5 修改信息流程图3.2.5 删除信息流程用户能够将菜单信息中的相关信息进行删除操作,当我们发现需要删除的信息时我们只需要对要删除的信息进行选中后,然后点击界面上的“删除”虚拟按键,系统将会向用户发出提升,确认其是否需要删除,如果点击确定,则系统会删除掉选中的信息,并且将数据库中与之相对应的信息清除,图3-6详细展示了删除信息的具体流程。图3-6 删除信息流程图3.3系统用例分析3
26、.3.1用户例图系统中的核心用户是微信使用者,用户授权登录后,可以进行多项操作,包括浏览菜单、修改菜单、添加菜单、删除菜单以及查询菜单等。图3-7为用户用例图,详细列出了用户的各项功能。图3-7 用户用例图4 系统设计4.1 系统概述在完成系统分析过程后,我们便围绕分析结果展开系统的设计工作。系统设计主要由两部分组成,一部分是总体设计,另一部分则是详细设计。总体设计只是一个粗略的设计,但是只有通过总体设计,我们才能够细化出系统的具体内容,包括文件、数据以及文档等。并且,我们在总体设计的背景之下,程序的各个模块和功能得到了明确。但是我们也需要注意,总体设计只是进行了一个大致的分类,与具体实现存在
27、一定的区别。整体设计只是一个系统的初步框架,我们可以从不同的角度出发,制定出多个设计方案,并对这些方案进行比较,评估其性能、成本支出以及产出效益方面的差异,最终从这些方案中选择与具体需求符合度最高的方案来进行实际设计。一个高水平的整体设计,不仅能够实现开发成本支出的有效减少,还能够促进企业效益的全面提升,从这个角度来看,进行整体设计显得尤为必要。冰箱菜单微信小程序工作原理图如图4-1所示:图4-1 系统工作原理图4.2 系统结构设计系统架构图属于系统设计阶段,但他不可缺少,其为整个系统开发奠定了坚实的基础。就系统架构的整体设计而言,我们可以将其理解为通过各种方式将一个具有相当大规模的任务进行细化,得出若干个小任务,针对这些小任务,我们按照一定的步骤进行完成,便能够实现整体任务的完成,具体步骤如下:1)将系统进行分析,得出若干个子模块。2)针对各个子模块所具备功能的