【计算机毕设文章】基于微信小程序松江大学城就餐推荐系统

摘 要
知识改变命运,科技的发展造就小程序在美食推荐的管理工作中也占有重要份额。美食推荐的管理工作也向着信息化管理进军。由于内部每个工作部门之间的责任问题使美食推荐的工作信息分散,不好统计,实现不了信息共享等问题,迫切的需要科技和小程序技术的加入。
本松江大学城就餐推荐系统从美食推荐管理出发,经过了分析与设计,所设计的功能可以符合餐饮推荐的真实需求,并且在操作上也可以适当大众。本系统在数据库上采用MySQL数据库,保证系统中数据的完整性。本系统的重点是信息的调用与安全问题,经过研究和调查,本松江大学城就餐推荐系统在开发语言上使用了Java语言,微信小程序技术、SSM框架以及Vue技术,所设计的角色包括管理员和用户。用户可以浏览餐厅信息、美食信息进行评价、收藏,管理员可以管理用户的信息和美食、餐厅、评价的信息。所设计的系统保证了美食推荐相关工作信息的安全和用户的权利。
关键词:餐厅信息;用户信息;评价信息;Java语言;美食信息
Abstract
Knowledge changes fate. The development of science and technology creates small programs, which also occupy an important share in the management of food recommendation. The management of food recommendation is also marching towards information management. Due to the responsibility problems between each internal work department, the work information of food recommendation is scattered, it is difficult to make statistics, and information sharing can not be realized. There is an urgent need for the addition of science and technology and small program technology.
The dining recommendation system of Songjiang University Town starts from the food recommendation management, and after analysis and design, the designed function can meet the real needs of catering recommendation, and can be properly operated by the public. The system uses MySQL database in the database to ensure the integrity of the data in the system. The focus of this system is the call and security of information. After research and investigation, the dining recommendation system of Songjiang University town uses Java language, wechat applet technology, SSM framework and Vue technology in the development language. The designed roles include administrator and user. Users can browse restaurant information and food information for evaluation and collection, and administrators can manage user information and food, restaurant and evaluation information. The designed system ensures the safety of work information related to food recommendation and the rights of users.
Key words: restaurant information; User information; Evaluation information; Java language; Food information

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 课题研究背景 1
1.2 课题开发的目的和意义 1
1.3 课题国内外研究现状 2
1.4 论文结构安排 3
第2章 系统所使用的关键技术分析 4
2.1 SSM框架 4
2.2 Java语言 4
2.3 数据库MySQL软件技术 4
2.4 tomcat服务器技术 5
2.5 Vue技术 5
2.6 微信开发者工具分析 5
2.7微信小程序分析 6
2.8 Idea开发工具介绍 6
2.9 B/S结构介绍 6
第3章 系统需求和可行性分析 8
3.1系统需求分析 8
3.2系统非功能方面分析 8
3.2.1系统性能分析 8
3.2.2系统易用性分析 8
3.2.3系统可扩展性分析 9
3.2.4代码健壮性分析 9
3.2.5数据的安全性分析 9
3.3 系统功能方面的分析 9
3.4 可行性分析 10
3.4.1经济可行性分析 10
3.4.2 需求可行性分析 10
3.4.3技术可行性分析 10
3.4.4操作可行性分析 11
3.3 数据流图分析 11
第4章 系统总体设计 13
4.1 系统设计要求 13
4.2系统概要设计 13
4.3 系统功能设计 14
4.4数据库设计 15
4.4.1数据库ER图设计 15
4.4.2 数据库的物理结构设计 17
第5章 系统详细实施 25
5.1 前台界面设计 25
5.2校园资讯功能设计 25
5.3餐厅信息功能设计 26
5.4美食信息设计界面 27
5.5 用户注册功能的设计实现 28
5.6在线评价功能实现 29
5.7管理员登录功能设计 30
5.8管理员功能界面的实现 31
5.9我的的功能界面设计 31
第6章 系统测试 33
6.1系统测试的重要性 33
6.2系统测试目的 33
6.3系统测试的内容 33
6.4系统测试的用例 33
6.5系统测试的方案选择 34
6.6 具体测试 34
6.7测试总结 36
结 语 37
参考文献 38
致 谢 40

第1章 绪论
1.1 课题研究背景
社会经济的快速发展带动信息化管理,新时代的信息化管理转变为存入、统计和综合处理。使用新型的信息化管理可以提高工作人员的工作效率,实现小量付出大量回报的效果。新型的信息化管理将大量数据实现瞬间处理,从而减轻工作压力。目前,新型的信息化管理已深入到各个行业。
在计算机上进行信息的发布和管理已成为现代的办公的趋势,把要使用的信息都录入到计算机中,利用网络和科技的力量进行整合将极大的为工作提供有效的管理方式。每一个在线的管理系统都可以做为媒体和窗口,为用户提供浏览信息和得出结果的途径。在当代社会中,每个企业和商家都已使用上了符合自己要求的管理系统,这些系统中,可以实现免费信息的共享,并且不需要费力寻找。现在,很多的餐厅中对于美食推荐的管理也已经使用上了利用计算机的管理系统,但这些管理系统一般都是单纯的后台管理系统,重要的问题是实现不了免费信息的共享,只能内部人员管理信息使用。对于网上美食推荐内容,美食信息,用户的注册信息等,都只能管理人员在内部操作。缺乏一种可以使用户进行参与的管理系统。
1.2 课题开发的目的和意义
人们经过努力工作后进入休息吃饭时间,精神和状态都可以得到放松。然而在吃饭的高峰期乘坐电梯都很困难,更不要说去餐厅吃饭还需要等位置,对于口碑好的餐厅,一般都会吸引大部人的眼光,如果把仅有的休息时间都浪费在等待的事情上,将会非常可惜。如果可以在网上进行美食推荐,用户可以根据自己的口味爱好选择不同的美食,这些松江大学城就餐推荐系统并不是单纯的解决吃饭问题的,而是可以实现相同爱好美食学习和交流的天地。在这里可以对自己的个性才能进行尽情的展示,摆拖工作中正板正眼的态度,以享受和学习为主。现如今大多数的餐厅招客方式还是采用在自己店铺里进行拉横幅来进行,这种方式的缺点在于捆绑性强,需要专人守候。对于想要了解美食的用户来说,还得进行面对面的咨询。而据不完全调查,人类的性格有三分之二的人属于相对内向。不想在大众下开口是这些人群的主要特点,这样就会丧失大部分的用户。并且对于想尝试新品的用户来说了解不到自己喜欢的美食信息也是非常苦恼的事情。而本松江大学城就餐推荐系统就可以改变这些问题。本松江大学城就餐推荐系统采用在网上进行展示美食信息,想进行美食推荐的同学可以随意的了解,不用分时间和地点。美食推荐的工作人员也不用再每天守在固定的摊位上。并且这种方式的宣传方位更广,当有最新活动时,还可以利用系统进行活动信息的发布,非常好用。用户也可以收藏、评论餐厅、美食,顺利解决要美食推荐的用户和管理网上美食推荐的管理人员的问题。设计一个松江大学城就餐推荐系统是非常有必要和意义的。
如果把信息处理都交由人工,会需要聘用更多的员工才会满足需求。对于复杂、大量的数据处理时,人工管理会造成很多的失误,工作的枯躁也会造成员工的抑郁。人工管理数据的方法也会造成一些数据的浪费和不安全,严重的会导致工作白费,特别是针对数据核对、统计和更新、查询时,问题更为突出。采用信息化的管理系统可以改变人工管理数据的缺点,再复杂、大量的数据也可以实现瞬间查询、统计。信息化管理系统对时间、人工要求都不高,对企业来说还可以节省经济的付出,最重要的是对数据的使用率和安全性非常可靠。信息化管理系统最大的优点就是数据的统计、查询,可以实现秒操作。本系统就是采用信息化管理方式进行美食的管理。管理员可以快速实现美食的统计、查询以及处理、更新。
1.3 课题国内外研究现状
目前每个行业都进入瓶颈,处在势均力敌的状态。都在寻找新的商机和科学技术来提高自己的竞争力,从而改变现状。积极发展新技术是所有行业的未来,如果不想跟上步伐最终的结果为被市场淘汰。意识到这一点,所有行业都面临着巨大的挑战,如何才可以发展属于自己又适应时代的新管理方式是核心问题。淘汰行业内部的旧式管理方式、改变纸质办公的状态成为现在的趋势。美食为人们生活必须品,现在对美食的宣传还固定在店内。如果对菜谱信息了解不够还需要大量的排队时间才可以面对面了解到,非常不适应现代的信息化发展。现如今,网上交流分享平台的发展非常迅速,使用率非常高,据不完全调查,全国三分之二的人都有网上交流分享的经历,网上交流分享网可以实现信息的快速了解以及分享信息的发布管理。本系统就是适应时代的发展的新型美食宣传的方式,采用网上分享美食的形式体现新型信息化的管理,实现美食宣传的时代性、科学性、自动化性。本系统帮助餐馆的宣传工作,降低在工作中的失误率,同时也可以对最基本的数据信息进行督促。
在国外早就有专业的网上信息网站,在1920年哈佛大学就使用了网上校园网站来管理学校的信息,并且他们使用的管理网站是自己设计的,学校的所有学生都可以进行浏览和访问,在网上信息的发布方面效果很不错。一些欧洲的国家也在1950年左右都有了自己的网上网站管理系统。
在我们国内,大多数的餐厅还没有使用网上的就餐推荐系统,还是采用摆摊位,发放广告单页进行信息的宣传和推广。这种问题的缺点在课题开发目的与背景中已进行介绍,如今我们国内,在网站系统技术上的发展也日益强大,很多的商家和企业的管理工作都使用上了这种管理系统技术。吃饭是每个人每天都要经历的事情,更加要紧跟科技步伐,加入新的技术力量。为现实工作提供更好的办公方式。
1.4 论文结构安排
本论文根据系统的开发流程以及一般论文的结构分为三个部分,第一个部分为摘要、外文翻译、目录;第二个部分为正文;第三个部分为致谢和参考文献。其中正文部分包括:
(1)绪论,对课题背景、意义、目的、现状等进行阐述;
(2)系统使用关键技术,介绍本系统的开发语言和技术;
(3)系统分析,从系统所使用的相关技术开始进行分析,经过系统需求、可行性和流程等的分析确定本系统的开发可行性;
(4)系统设计,从系统功能开始设计,经过ER图和数据库表的设计完成系统的整体设计;
(5)系统实现,从主要的功能模块的界面进行实现展示;
(6)系统测试,根据主要的功能模块进行测试的阐述。

第2章 系统所使用的关键技术分析
本系统在开发中使用的语言为Java,使用的数据库为MySQL,使用了SSM框架进行设计。还包括一些常用的界面技术等。
2.1 SSM框架
Spring是指用户看到并与之交互的界面。比如由Html元素组成的网页界面,或者软件的客户端界面。SSM的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。Springmvc即模型是指模型表示业务规则。在SSM的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。Mybatis即控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
2.2 Java语言
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
2.3 数据库MySQL软件技术
MySQL是一种数据库技术,与编程语言有很大的不同,MySQL是针对数据库的功能和数据的分析建立。数据库的建立同样非常重要,一个系统是否可以快速稳定的运行完全依靠于数据库的建立。一般对于数据库的建立采用了第三范式,指的是数据库里的表,实体,属性,关系等等进行规划。MySQL数据库非常的小,对于电脑小白来说易安装,功能不多但都是最实用的。可以运行脚本文件,并且MySQL数据库在安装的时候需要选择语言和数字类型,这点需要注意,如果选择错误,在网站项目运行的时候将会出现乱码。还有就是密码的设置需要记清楚。
2.4 tomcat服务器技术
Tomcat服务器是由多家公司一起设计的,包括sun公司,apache基金会等;是Java语言设计中不可缺少的组合,tomcat开发的项目性能非常稳定。但tomcat服务器由于属于小型的服务器,所以在一些中小型项目中不常使用。Tomcat是apache服务器的延伸,负责运行Vue和servlet的页面。现在tomcat服务器都镶嵌在myeclipse中,不用额外下载和开启,使使用起来更为方便。在系统调试的时候可以自动启动。
2.5 Vue技术
Vue技术是一种网页技术,是结合Java语言使用的。主要用于设计B/S模式的系统项目,在运行中调用浏览器,可以通过浏览器进行信息的反馈。Vue技术是一种简化的servlet技术,是由asp技术进行的更新升级,Vue技术是在传统的html文本标记语言中加入Java语言而形成的页面。支持多种操作平台,如现在流行的微软公司的windrows和linux都可以,主要是在系统中的服务器端进行执行。VUE将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。VUE引入了被称为“VUE动作”的XML标签,用来调用内建功能。另外,可以创建VUE标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。VUE文件在运行时会被其编译器转换成更原始的Servlet代码。VUE编译器可以把VUE文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
2.6 微信开发者工具分析
微信开发者工作是微信官方提供的针对微信小程序的开发工具,集中了开发,调试,预览,上传等功能。微信团队发布了微信小程序开发者工具、微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序。启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所有的操作都会基于这个微信的帐号,程序调试主要有三大功能区:模拟器、调试工具和小程序操作区,模拟器模拟微信小程序在客户端真实的逻辑表现,对于绝大部分的 API 均能够在模拟器上呈现出正确的状态。调试工具分为 6 大功能模块:Wxml、Console、Sources、Network、Appdata、Storage以及WxmlPannel。
2.7微信小程序分析
微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。
2.8 Idea开发工具介绍
Idea是一种可视化开发工具,跟Eclipse原理一样,相当于是Eclipse的一个扩展,添加了很多Eclipse所没有的插件,把所有开发所需要的插件进行了一个整合,这样方便了用户的使用,很大的提高了工作效率,而且减少了之前的繁琐步骤,通过Idea就可以直接完成从开发到调试和发布的整个过程,而且还支持各种开发框架,是一款集成的Java开发环境。Idea非常适合新手使用,因为之前用的Eclipse使用之前,必须先配置环境,比如Jdk,Tomcat等,必须配置成功了才能正常使用,而对于新手来说,是非常有挑战性的一项工作,就算有经验的开发人员,也会经常遇到环境变量配置出错的情况。而Idea就很好的解决了这一难题,开发人员不需要在环境配置上在花费太多的精力,Idea软件直接就内置了Tomcat服务器和Jdk等插件,直接就省去了这个复杂的步骤,可以就可以进行代码开发和代码调试和发布,是非常简单的一款集成式的开发环境,是非常受新手喜欢的一款Java开发软件。
2.9 B/S结构介绍
B/S结构是运行于浏览器上面的一种服务器结构,是从C/S架构上进行改进出来的一种架构,因为随着的网络的发展,传统的C/S架构已经远远满足不了用户的需求,C/S架构存在太多的弊端,必须要安装专门的电脑客户端应用程序,才能打开,对于硬件有一定的要求,而且对于后期的系统维护非常的不方便,只要系统升级,所有的客户都需要重新安装和升级软件才能使用,非常的麻烦,而且兼容性非常的差,对于不同的开发环境,不同的操作系统,展示出来的效果都是不一样的。所以才有了B/S架构的出现,B/S结构最大的优点就是一种网络化的框架,可以直接通过浏览器就能进行系统的访问,可以不限时间,不限地点,对于用户来说是非常的方便的,而且后期的维护是非常的简单和方便的,只需要技术人员在服务器里进行升级就行了,对于用户来说是没有任何影响的,可以直接使用,开发非常的简单,而且兼容性非常的强,可以适用不同的环境,是非常方便的一种开发结构,也是目前的主流框架。

第3章 系统需求和可行性分析
3.1系统需求分析
根据系统的功能要求,介绍了开发本系统的需求可行性,分析了系统是否有开发的必要,可以解决什么问题。开发本系统的主要目的是为系统管理人员提供便利,通过计算机管理方式,提供工作效率,减少出错的几率,对于用户来说,可以更加方便直接的实现交互,更加便捷。如今我们处于信息化的时代,所有事务都充斥着信息化管理的新科技,采用更为先进的信息化管理系统才会使企业向上发展,才会更具有竞争力。
本系统的需求主要用于用户的就餐推荐管理,传统的管理方式存在信息发布范围小,信息及时性差,信息管理混乱,查找统计费力的情况。随着使用就餐推荐系统的用户越来越多,还是采用传统的管理方式就越来越吃不消。对于要加入就餐推荐系统的用户来说,收不到美食信息的宣传信息以及活动信息,也就丧失了系统的目的,只能做到表面功夫,只能做一个空壳子,这点需要特别注意。
3.2系统非功能方面分析
本系统所设计的松江大学城就餐推荐系统还仅仅是一个原型,没有经过市场的使用和运营。所以在系统非功能方面就需要有更大的要求。表现在,系统的运行速度方面,当用户运行本系统的时候如果需要10s以上的等待就是系统设计的失败。只有系统的运行速度跟上,才可以进行快速的反应和结果的回馈。本系统的运行环境需要微信开发者工具和Idea软件才可以进行。数据库需要使用MySQL 软件。数据的通讯依靠浏览器进行。为了可以适应同时多用户的访问,在设计的时候要考虑服务器的承受能力。
3.2.1系统性能分析
系统的性能影响着系统的运行、稳定和以后的升级、维护。对系统的性能进行事先的分析可以保证系统达到预定的指标。本论文针对系统性能的分析从系统的易用性、代码健壮性、数据安全性和系统的可扩展性进行分析。
3.2.2系统易用性分析
本系统的设计针对不同的用户,目的是为了给用户提供更为科学的信息管理方法。所以在设计中需要对不同的用户设计不同的操作界面,也就需要调查不同使用用户的操作习惯和使用、理解水平。因为系统的使用用户水平不同,理解能力也有所不一,所以在设计中需要注意系统的易用性。
3.2.3系统可扩展性分析
本系统在开发时采用的是当下的技术水平,所设计的功能也是为了满足现在用户的需求。如今,科技更新换代非常快,为了保证系统可以长时间的使用,拥有较长的生命周期,系统在开发时就需要预判未来用户可能的需求。为了可以使系统可以在今后出现新要求时可以进行扩展就需要在系统开发时做好系统的扩展性。当用户出现新的要求和改变时,可以在本系统中进行添加和修改,还要保证原始系统不会因为改变内容还发生运行不稳定、出错的情况。如果可以保证系统的扩展性,就可以满足不断发生变化的用户需求,也可以应对社会环境、市场经济的发展。
3.2.4代码健壮性分析
系统开发的目的就是给用户使用,给用户提供需求帮助。所以代码必须健壮,必须可以提供稳定的数据和工作结果。如果代码的健壮性发生问题,那系统就无法达到要求,从而被用户弃用。对于健壮性的表现主要体现在用户的错误操作,当用户填写错误数据后系统的运行情况是否正常。当系统中某些功能有问题出现错误时,其它功能应该是可以正常使用的,代码的健壮性可以给用户带来更好的使用体验。
3.2.5数据的安全性分析
系统里存入的数据都为用户重要的工作信息,如果系统的数据安全性不能保证将得不到用户的信任。系统里存入的数据越多,对系统的安全性考验越严格,所以要使用更好的安全机制。所以在用户使用系统时要求有安全验证功能,在用户修改信息时要求可以验证用户身份。如果不符合身份要求,那当前用户的所有操作都不能被实现。最重要的还有系统要可以抵抗黑客的盗取和病毒,在系统设计时可以针对不同的数据安全问题采用不同的方法进行解决。
3.3 系统功能方面的分析
本系统设计的功能方面包括用户方面和管理员方面,用户可以在网站前台看到所有的餐厅信息和美食信息,可以进行评论、收藏。管理员在后台负责餐厅信息和美食信息的组织发布,并且审核用户的评价信息。
3.4 可行性分析
不管用户在开发哪款系统项目,都需要按照系统分析、系统设计、系统实现、系统测试的步骤进行。如果系统项目在开发过程中有意外也无法改变系统项目的开发步骤。系统分析是系统开发的前篇,也就是研究系统在开发中可能遇到的问题以及要怎么解决这些问题。
对系统的可行性分析分为需求可行性分析、经济可行性分析、技术可行性分析和操作可行性分析。一个完整的系统在开发中不仅需要资金更需要环境和条件的支持,下面分为几小节进行阐述。
3.4.1经济可行性分析
经济可行性方面主要指的是对系统在开发中所使用的成本和在系统运行后会产生的利润进行对比。本系统在开发中不需要经济方面的付出,开发软件和运行环境都可以从网上免费获得,本人在大学学习中早已购得电脑,所以也不用再进行购买。系统是做为毕业设计而设计的,所以在后期也不会产生利润。用户如果要使用本网站系统,需要的条件也只是电脑。
3.4.2 需求可行性分析
对开发本系统到底是否实用,是否有开发价值进行研究,本系统设计后可以为用户提供什么福利,有什么作用。本系统可以为管理者简化工作量,为用户提供免费信息的共享。
3.4.3技术可行性分析
本系统是采用小程序技术进行开发的,现在微信的使用率已非常高,小程序是最基本的技术,而语言采用的是最新动态编码技术,数据库也采用了兼容性强的数据库进行配合。开发本系统在管理端采用的是B/S框架结构,是运行在网络上的一个在线平台,通过B/S结构模式,可以实时的进行系统访问和管理,非常的方便快捷,而开发本系统采用的是Java语言进行开发,Java语言是目前比较主流的一种开发语言,技术非常的成熟。开发出来的程序非常的稳定,是非常适合的一种开发技术。数据库采用MySQL,MySQL小巧易用,适合新手使用。本系统的运行平台为Idea和微信开发者平台,Idea为插件工具,可以减少其它工具的下载。综合分析,本系统从技术方面考虑是可以进行实现的。
3.4.4操作可行性分析
本人深刻明白使用本系统的人不可能都是会编程的人员,所以在设计的时候额外的注意到了操作性,很多的功能都是采用了最基本实用的功能,并且对用户的操作习惯进行了深入的研究。管理员的界面也采用了易操作的思路进行设计。对于用户操作的过程也经过了仔细策划,在做系统的前期本人进行了大量的同学调查问卷,根据问卷进行统计答案进行设计。
3.3 数据流图分析
为了体现系统的易操作性,可以为用户提供系统的操作流程。用户看着系统的操作流程可以对系统有更深刻的认识。所有系统的操作流程有大概的标准,一般的操作流程为用户先输入必要的验证信息然后系统进行信息的验证,验证成功进入系统操作界面,验证失败回到填写验证信息的界面。本系统中包括了两个角色,分别是管理员和用户。注册用户是主要的操作人员,管理员做为网站的工作人员可以进行前台信息的发布和用户信息的审核。从综合考虑本松江大学餐饮推荐信息系统的数据流向如下图3.1所示:

图3.1系统操作业务数据流图

第4章 系统总体设计
4.1 系统设计要求
为了保证系统的实用和稳定性,需要在系统设计的时候提出几点要求,系统在设计中最重要的一点就是实用性和简单性,根据这两点进行功能的设计和划分,实现一个友好,简单,大方的可以延伸的松江大学城就餐推荐系统。具体的设计要求包括:
(1)系统的易用性,为了保证每个用户都可以使用本系统,也为了保证每个用户都可以简单的明白系统的各个部分,在系统设计的过程中要注意系统的易用性。
(2)系统运行的稳定性,为了保证系统在运行中不会出错,不会造成信息的乱串问题和代码的处理问题,在系统的设计中就需要注意系统的稳定性。
(3)系统中的数据安全性,用户在注册时填写的信息都是个人的真实私人信息,在如今社会中,个人信息是非常宝贵的财富,所以在系统设计中要注意数据的安全性。
(4)系统的灵活性,因为个人能力问题,在系统设计中会有很多的漏洞,所以为了保证系统可以进行补充,在系统的设计中就要注意系统的灵活性。
(5)系统运行的反馈速度和数据的调用速度,为了防止用户产生厌烦情绪,用户在发出操作指令后,要注意系统要快速的反应。
4.2系统概要设计
概要设计为系统的设计方案,系统的设计方案包括功能结构设计和数据库的设计。数据库设计的质量影响着系统的开发层面和系统在今后的维护、数据的安全。如果在系统的概要设计中没有考虑全面,那在系统的实现阶段将会无从下手。
本系统在开发结构中采用B/S 。B/S结构可以节省系统的开发成本,因为是把系统放在服务器中,所以系统在今后的维护中更为省力。B/S结构把系统的核心放在后台的数据管理中,前台主要负责结果的反馈和信息的展示。B/S结构的工作原理如下图4.1所示:

图4.1系统工作原理
4.3 系统功能设计
本系统是在Java语言和MySQL数据库的基础上进行设计的,在管理端采用了B/S结构进行设计,也就是可以利用浏览器进行用户的反馈和交互,本系统可以在单机上运行,不用网络。所以在设计好系统后可以直接进行服务器的配置,本系统使用的服务器为Tomcat,这种服务器在Idea软件中,不用安装。这样进行松江大学城就餐推荐系统的设计就可以解决固定时间和固定地点的问题,所设计的系统包括了两个方面,管理员和用户。管理员功能是对前台信息的维护,可以发布餐厅信息,资讯信息和美食信息等。用户可以在前台浏览餐厅、美食信息进行评论、收藏等。本系统的系统功能结构图如下图4.2所示:

图4.2系统功能模块结构图
4.4数据库设计
系统中所有操作后的数据都是自动保存在数据库中的,所以数据库的质量决定了系统的数据安全和系统的操作稳定。数据库的精心设计可以保证系统开发的效率,可以减少工作人员的工作压力。数据库设计包括ER图设计和数据库表设计两个部分。
4.4.1数据库ER图设计
数据库的Er图也就是说数据库的实体联系图,数据库的Er图为系统中的实体和实体的属于,以及实体之间的联系提供了模型设计,本系统的数据库ER图设计利用Visio软件进行绘制。ER图中包括椭圆形、长方形和线条。椭圆形代表实体的属性,长方形代表实体,实体和属性之间用线条连接。本系统中主要的实体包括管理员,校园资讯信息,餐厅信息,用户信息,美食信息,评价信息等,管理员信息的ER图如下图4.3所示:

图4.3管理员信息ER图
校园资讯信息ER图如下图4.4所示:

图4.4校园资讯信息ER图
餐厅的类别信息ER图如下图4.5所示:

图4.5餐厅类别信息ER图
用户信息的注册信息ER图如下图4.6所示:

图4.6用户信息ER图
餐厅信息ER图如下图4.7所示:

图4.7餐厅信息ER图
美食信息ER图如下图4.8所示:

图4.8美食信息的ER图
4.4.2 数据库的物理结构设计
数据库的物理结构设计就是指对系统中的数据进行字段,长度和类型的设置,并且可以设置存入地址。根据系统的要求进行数据库文件的建立是在选择好数据库要做的第一件事情。在建立好的数据库文件里建立数据库表,数据库表里记录了数据的类型、主外键等,设置好主外键,各个数据库表之间才会有联系。系统在数据调用时才会正确调用。本系统的数据库表包括管理员信息表,餐厅信息表,用户信息表,美食信息表,评价信息表,校园资讯信息表等,具体的表结构如下表4.1—4.12所示:

表4.1 cantingmeishi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 meishimingcheng varchar 200 否
4 meishileixing varchar 200 是
5 meishitupian varchar 200 是
6 cailiao varchar 200 是
7 jianjie varchar 200 是
8 meishifenlei varchar 200 是
9 cantingmingcheng varchar 200 否
10 cantingdizhi varchar 200 是
11 cantingdianhua varchar 200 是
12 meishixiangqing longtext 是
13 thumbsupnum int 11 是 0
14 crazilynum int 11 是 0
15 clicktime datetime 是
16 clicknum int 11 是 0
表4.2 cantingxinxi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 cantingmingcheng varchar 200 是
4 cantingxingji varchar 200 是
5 cantingtupian varchar 200 是
6 tesecai longtext 是
7 cantingdizhi varchar 200 是
8 cantingdianhua varchar 200 是
9 yingyeshijian varchar 200 是
10 cantingjieshao longtext 是
11 renjunxiaofei varchar 200 是
12 pingfen int 11 是
13 thumbsupnum int 11 是 0
14 crazilynum int 11 是 0
15 clicktime datetime 是
16 clicknum int 11 是 0
表4.3 config

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 name varchar 100 否
3 value varchar 100 是
表4.4 discusscantingmeishi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 refid bigint 20 否
4 userid bigint 20 否
5 nickname varchar 200 是
6 content longtext 否
7 reply longtext 是
表4.5 discusscantingxinxi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 refid bigint 20 否
4 userid bigint 20 否
5 nickname varchar 200 是
6 content longtext 否
7 reply longtext 是
表4.6 meishileixing

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 meishileixing varchar 200 否
表4.7 news

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 title varchar 200 否
4 introduction longtext 是
5 picture varchar 200 否
6 content longtext 否
表4.8 pingjiaxinxi

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 meishimingcheng varchar 200 否
4 meishileixing varchar 200 是
5 meishitupian varchar 200 是
6 cailiao varchar 200 是
7 jianjie varchar 200 是
8 meishifenlei varchar 200 是
9 cantingmingcheng varchar 200 否
10 cantingdizhi varchar 200 是
11 cantingdianhua varchar 200 是
12 cantingpingfen varchar 200 否
13 meishipingfen varchar 200 否
14 pingjia longtext 否
15 zhanghao varchar 200 是
16 pingfenshijian datetime 是
17 crossuserid bigint 20 是
18 crossrefid bigint 20 是
表4.9 storeup

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 userid bigint 20 否
4 refid bigint 20 是
5 tablename varchar 200 是
6 name varchar 200 否
7 picture varchar 200 否
8 type varchar 200 是 1
9 inteltype varchar 200 是
表4.10 token

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 userid bigint 20 否
3 username varchar 100 否
4 tablename varchar 100 是
5 role varchar 100 是
6 token varchar 200 否
7 addtime timestamp 否 CURRENT_TIMESTAMP
8 expiratedtime timestamp 否 CURRENT_TIMESTAMP
表4.11 users

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 username varchar 100 否
3 password varchar 100 否
4 role varchar 100 是 管理员
5 addtime timestamp 否 CURRENT_TIMESTAMP
表4.12 yonghu

序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 id bigint 20 是 是 否 auto_increment
2 addtime timestamp 否 CURRENT_TIMESTAMP
3 zhanghao varchar 200 否
4 mima varchar 200 否
5 xingming varchar 200 是
6 xingbie varchar 200 是
7 shouji varchar 200 是
8 touxiang varchar 200 是

第5章 系统详细实施
系统实现的内容为把之前的系统分析进行实现。将系统分析中的功能通过代码和界面、按钮、列表、图片等具体体现出来。系统实现是系统开发中重要的一步也是由概念转变成逻辑的过程。最终形成可以看的到的可运行的系统。
本系统设计的是用户在前台浏览餐厅、美食信息和收藏、评论餐厅、美食,想要使用本系统需要注册为用户并且登录,登录成功后还可以对自己的注册信息进行修改,管理员负责餐厅信息和美食信息、评价信息等的管理,并且可以布其它的校园资讯信息、类型信息等。
5.1前台界面设计
本界面可以看到程序的名称,信息搜索的窗口和每个具体的功能,本界面是松江大学城就餐推荐系统的门户,并在前台界面加入了轮播图的展示,使界面看起来更好看。设计界面如5.1所示:

图5.1松江大学城就餐推荐系统前台界面设计
5.2校园资讯功能设计
本功能模块可以展示最新的校园资讯信息,所有的资讯信息以发布的时间进行先后排列,在此界面展示的信息有三种,一种是序号,一种是资讯的标题,还有一种是资讯发布的时间,界面设计如下图5.2所示:

图5.2校园资讯信息设计界面
5.3餐厅信息功能设计
本界面展示了所有的餐厅推荐信息,可以进行详情了解。设计界面如下图5.3所示:

图5.3餐厅推荐信息设计界面
5.4美食信息设计界面
本界面的美食信息是管理员进行发布的,当想要收藏、评论的时候可以点击美食信息里的功能按钮,进入相关界面进行操作,设计界面如下图5.4所示:

图5.4松江大学城就餐推荐系统美食详情实现界面
5.5 用户注册功能的设计实现
本界面是用来用户注册使用的,管理员的账号和密码不能通过注册来获得,管理员可以在数据库中进行设置,用户注册的实现界面如下图5.5所示:

图5.5用户注册实现界面
5.6在线评价功能实现
用户在登录后可以实现美食、餐厅的评价,在线评价的内容必须填写才可以评价成功,实现界面如下图5.6所示:

图5.6用户在线评价实现界面
5.7管理员登录功能设计
本界面采用图片为背景进行设计,供管理员去管理信息所使用,管理员的账号和密码需要去数据库里进行设置添置,不能在系统网站里设置,登录实现界面如下图5.7所示:

图5.7管理员登录功能实现界面
5.8管理员功能界面的实现
本界面的功能包括个人中心管理,校园资讯的添加和管理,美食信息的添加和管理,用户信息的审核和管理,餐厅信息的添加和管理以及校园资讯、评论、美食类型、餐厅美食等信息的管理。实际的界面实现如下图5.8所示:

图5.8管理员功能界面实现
5.9我的的功能界面设计
本界面包括的功能有个人资料管理,评价管理和收藏管理。功能界面设计如图5.9所示:

图5.9我的功能界面的实现

第6章 系统测试
6.1系统测试的重要性
系统测试环节是系统开发的最后环节,经过系统测试后的项目就可以投入市场使用。系统测试的环节非常重要,是不可缺失的。在系统开发时,每一个阶段关注的都是当前阶段的工作和要实现的效果。虽然在每一个阶段实现后都会进行仔细的检查,检查通过后才会接着进行下一个阶段的进行。但这类的检查并不会针对整体,会存在严重的漏洞,实现不了真正的测试做用。当系统实现完成后,就需要加入更为严谨的系统测试,系统测试就是把不同阶段的工作放到一起进行测试,保证整体性的正确和完整。
系统测试需要在系统开发的环境下进行,经过测试后的系统可以进行试运行。系统测试的过程需要面向对象进行,采用用户角度使用本系统,发现本系统的问题和修改问题,直到满意没有问题。
6.2系统测试目的
系统测试的目的是为了发现程序中的错误而进行的,如果在测试中可以发现系统中从来没有发生过的问题,那这个系统的测试是非常成功的。为了保证系统的正确性和运行质量就需要进行完整的系统测试。系统测试是发现系统中bug和代码问题的唯一方法,制定良好的测试方案需要从系统的开发到系统的完成进行仔细研究。
6.3系统测试的内容
系统测试的结束决定着系统何时可以正式使用。系统测试的内容包括:
(1)从用户端到管理员端的完整性测试;
(2)对系统的结构、框架进行测试,还应该包括对系统的需求进行再次确认测试;
(3)在系统测试时要采用正确的手段进行测试,一个好的测试方案可以使保证测试的效果;
(4)在系统测试中需要注意采用测试的环境必须与系统运行所需要的环境条件一致,这样才会形成对比,才会发现问题。
6.4系统测试的用例
因为系统中的功能有很多,所以这里只从用户登录功能进行详细测试过程的描述。其它功能也都经过详细测试,不再进行罗列。
6.5系统测试的方案选择
  一般的测试方法都是采用黑盒测试,这种测试方法在测试成本和测试周期上都比较符合毕业设计的要求。黑盒测试就是对系统中的功能都分离出来进行测试,采用不同条件的输入测试,所以黑盒测试又被命名为功能测试。还有一种测试方案叫白盒测试,这种测试需要多人的力量,并且对测试的时间要求很高。主要针对系统的流程进行测试。白盒测试大多用于大型项目中,大的企业会专门成立测试部门进行白盒测试。
测试的步骤为第一步进行单元测试,就是把系统中的功能进行单元区分,进行分开测试,保证每个功能的正确性。第二步为组合测试,把这些单元测试都集合起来进行组合测试,保证大的功能范围没有问题。第三步确认测试,根据测试文档进行一步一步的检查,防止有遗漏。最后一步系统测试,就是使用人工进行系统的最后测试确认。
6.6 具体测试
主要针对了用户登录进行测试,采用不同的数据进行测试,详细的测试过程如下表6.1所示:

表6.1测试过程

列出部分测试结果运行图:
当用户在修改个人资料的测试界面如下图6.1所示:

图6.1用户修改个人资料的测试结果界面
当用户点击收藏功能的测试界面如下图6.2所示:

图6.2用户点击收藏功能的测试界面
系统中的功能有很多,大功能下面都有很多的小功能进行支撑,测试的步骤都相同,不再进行列举。
6.7测试总结
经过复杂的测试,本系统终于完整设计完成了,通过测试让我加深了Java语言的理解,解决了很多想不到的小问题。让我明白“千里之堤毁于蚁穴”的道理,本次测试让我对明白在后的工作中要更加的仔细。

结 语
本篇论文主要是对系统实现的技术,方法,过程和测试进行讲解,根据系统的功能分析进行了系统功能结构图的画出,并且根据系统的业务流程画出了系统的操作流程。
通过3个月的努力,自己的系统总算是小有所成了,虽然还有很多的不足需要改进,但是从中让自己学习到了很多的知识,认识到了自己的不足,还有许多需要改进和学习的地方。通过这次的实践,我发现自己对微信小程序软件的运用还是不够熟练,对语法掌握也不够熟练,还不能完全独立的自己编码出来,中间更是求助了同学和老师,网上也搜索了很多相关资料,才完成的,以后还需要更多的实践,才能把所有的知识熟练的运用起来,自己对数据库表也存在很大不足,中途好几次都连接不上数据库,最后同学帮忙才成功。

参考文献
[1]陈玉杏,李艳妹,张泽弘,陈佳俊.高校智慧食堂餐饮服务平台的设计与实现[J].电子世界,2021(15):146-147.DOI:10.19353/j.cnki.dzsj.2021.15.058.
[2]雷安思,王寰平,孙欣如,胡韬,欧琦.享食APP的功能需求分析研究[J].科技与创新,2021(03):150-151.DOI:10.15913/j.cnki.kjycx.2021.03.056.
[3]张茜. 用户体验下的山西面食APP交互设计与研究[D].大连工业大学,2020.DOI:10.26992/d.cnki.gdlqc.2020.000035.
[4]夏菁. 移动互联网时代青年的美食社交[D].安徽大学,2019.
[5]周显春,邓雨,吴世雄,杨宇鑫,王晗.基于改进协同过滤算法的个性化美食推荐APP开发[J].软件导刊,2019,18(02):88-90+95.
[6].美食app推荐[J].黑龙江粮食,2018(04):54-55.
[7]王静宁. 基于Android平台的“乐游河北”APP设计与实现[D].石家庄铁道大学,2018.
[8]史敏. 基于人物角色法的家庭健康饮食APP设计研究[D].长春工业大学,2017.
[9]宋佳佳. 手机中基于LBS应用的美食社交产品研究[D].东南大学,2018.
[10]徐怡雯. 美食类APP用户社交体验设计研究[D].江南大学,2017.
[11]风雨彩虹.翻滚吧美食!——九大吃货必备APP推荐[J].电脑知识与技术(经验技巧),2016(04):5-13.
[12]欧楠.计算机软件开发中Java语言的应用分析[J].信息与电脑(理论版),2019(04):110-111.
[13]雷虹,兰全祥.基于SSM的网站登录模块安全性研究与设计[J].赤峰学院学报(自然科学版),2019,35(02):49-51.
[14]Yanqin Ding,Na Li,Jinhan Sun,Linran Zhang,Jianhui Guo,Xueqi Hao,Yuning Sun.Oxymatrine Inhibits Bocavirus SSM Replication, Reduces Viral Gene Expression and Decreases Apoptosis Induced by Viral Infection[J].Virologica Sinica,2019(01):78-87.
[15]王禹程.基于Java语言的人力资源信息系统研究[J].电子设计工程,2019,27(02):25-28+33.
[16]王丽娟,吴东明.基于MySQL数据库实施完整性约束的研究[J].科技创新与应用,2019(02):72-73.
[17]罗晓丹,孙春梅,霍治邦.基于MySQL数据库的西瓜育种自动化综合管理系统的建立[J].农业科技通讯,2019(01):129-130+215.
[18]张卉.Java语言在计算机软件开发的应用[J].智库时代,2018(50):202-203.
[19]卢凌.基于Java编程语言下计算机软件开发技术的思考[J].数字技术与应用,2018,36(12):137+139.

致 谢
转眼间,大学时光即将过完了,我们即将迈入社会这所大学,美好的大学四年,让我学会了很多的知识,带给我很多快乐,让我的大学时光画上完美的句话,在写论文的过程中,非常感谢老师的指导,孜孜不倦的教诲,更要感谢同学,陪我一起在图书馆翻阅资料,一起鼓励。我明白每位老师的无私奉献都是为了让我们可以成为社会有用的人,都希望我们可以有能力在社会上站稳脚跟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值