餐馆点餐系统分析与设计毕业论文.docx
《餐馆点餐系统分析与设计毕业论文.docx》由会员分享,可在线阅读,更多相关《餐馆点餐系统分析与设计毕业论文.docx(107页珍藏版)》请在冰豆网上搜索。
![餐馆点餐系统分析与设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-6/29/7a321341-83d2-4826-be64-a6629c834de6/7a321341-83d2-4826-be64-a6629c834de61.gif)
餐馆点餐系统分析与设计毕业论文
餐馆点餐系统分析与设计毕业论文
1绪论
1.1问题的提出
据《餐饮行业投资报告》统计,经过半个多世纪的发展,中国的餐饮行业已经成长为中国第三产业中的佼佼者之一,强劲的发展势头使其成为对社会经济和人民生活具有较强影响力的重要行业。
[1]
消费水平的不断提升和生活节奏的不断加快使人们外出就餐或者叫送外卖逐渐发展为了一种生活方式。
此外,白领阶层需求的日益增多和“宅族”的兴起,使越来越多的餐饮企业为增加利润提供了外卖送餐服务。
在传统订餐中,人们通常是以打的方式进行的,人们需要事先知道订餐到餐馆中的菜品信息,同时人们受地理位置的局限人们只能预订自己位置周围有限的餐馆的餐点。
这与人们不断提高的消费需求是系相矛盾的,因此如何让更大围的用户能够预订自己餐馆的菜品是这些餐馆应该考虑的问题。
近些年来,信息技术已被应用到一部分餐饮企业点餐、采购、客户关系管理、人员考核管理等多个方面,对这些企业的管理水平的提升和流程的再造起到了积极的作用。
其发展经历了纸质手写、无线PDA点餐和触摸屏自助点餐。
这些餐饮企业提升了服务质量,提高了经营效率,方便了管理。
但这只是餐饮行业中的少数中大型企业。
中国餐饮企业长期以来采取“小作坊”似的经营模式,绝大多数小型餐馆缺乏科学的管理,没有实现也没有能力实现信息化。
这些小型餐馆数量繁多,潜力巨大,如何实现其信息化是一个很有研究价值的课题。
本文以餐饮行业中小型餐馆的点餐系统为研究对象,试图分析设计适合这些餐馆的点餐系统。
1.2国外研究的现状
过去的订餐系统要么是基于B/S结构,要么是基于C/S结构的信息管理系统。
这种点餐系统需要有联网的电脑来支持顾客订餐、退餐等操作,但是不是每个顾客都有固定的电脑,亦或是在外出中没有使用电脑的条件,这样就不能订餐、退餐。
顾客虽然不一定随时随地都能使用电脑,但他们随时随地都有手机,可以通过手机进行操作。
为方便顾客点餐订餐,促进餐饮行业的信息化,提高餐饮企业的工作效率,需要开发一套能够使用移动互联网的订餐系统。
欧美国家依靠在通讯技术领域及软件开发方面的优势,用低成本实现了无线点餐系统,加之发达的经济水平的推动,国外在酒店和酒吧里点餐系统应用相对较广泛。
在德国,已经有了“全自动”的餐馆,这种餐馆中仅有两名维持餐馆卫生的服务员。
顾客到这样的餐馆里就餐,从点餐到上菜付账的整个流程,均自动化完成。
这些点餐系统需要较高的技术设备支持,并不适用普通小型餐馆。
国已有成型的订餐系统,如联通研发的“订餐宝”。
“订餐宝”是有联通研发的一款优秀的订餐系统,其是为餐饮企业中的客户管理研发的行业级解决方案,可以为餐饮企业提供包括确认短信的实时发送、客户数据库的自动创建、营销经理管理和客户潜在价值发掘等一体化的功能。
但是“订餐宝”并不适用普通小型餐馆,它仍需要较高的技术支持,对操作人员要求较高,适合于大中型的餐饮企业。
1.3研究的目的及意义
1.3.1研究的目的
近年来,互联网发展迅速,如果说过去互联网改变了网民的生活方式,那么现在的互联网时代将要改变全民的生活方式。
互联网的使用方便快捷,同时更不受时间空间的限制。
互联网时代的到来同时也可以为餐饮产业信息化助力,使信息化的成本大幅降低。
本文将研究基于互联网的餐馆点餐系统,从而为小型餐馆分析设计一套适合其的点餐系统。
1.3.2研究的意义
国民经济的快速发展一方面不断加快了人们的生活节奏,另一方面又使人们的上班时间变得很紧,但是无论如何,人们少不了一日三餐。
在线订餐系统的出现,极大地简化了人们的点餐流程,人们只需要在有网的地方便可以为亲朋好友的聚会准备丰盛的美食;同时,对于餐饮企业,这种点餐方式也能更方便高效地实现客户点餐信息的收集与分析,这在提高餐饮行业服务质量上将起到重要的作用。
在对点餐流程的研究和对业务详细的分析基础上,结合系统开发技术,实现点餐的数字化、网络化管理。
餐饮系统的功能不外乎两个,一是使用信息系统管理餐饮业务,二是用计算机处理代替诸如如点菜和菜单传送的人工服务。
同时,该系统是一个网上点餐信息平台,将实现客户浏览菜品、商家信息,选择菜品,下订单,在线支付,预约就餐时间等服务。
1.4研究的基本思路和方法
1.4.1研究的基本思路
本文研究的基本思路是:
借鉴国外餐馆点餐系统的理论研究与实践成果,分析餐馆点餐业务流程及数据流程,运用分析的结果设计点餐系统,最后实现其简单的基本功能。
1.4.2研究的基本方法
餐馆订餐系统整体规划方式采用企业系统规划(BSP)法,如图1.1。
图1.1系统整体规划流程图
系统的开发方法采用结构化系统开发方法,结构化开发方法包括系统规划、系统分析、系统设计、系统实施和系统运行等五个阶段。
(1)系统规划阶段的主要工作是根据前期收集的餐饮行业资料,分析整理得出目标客户的系统需求,进行初步调查,确定目标客户目标及订餐系统目标,确定分阶段实施进度。
(2)系统分析阶段的工作是根据系统总体规划的要求,设计系统的逻辑模型。
(3)系统设计阶段的工作是在逻辑模型基础上设计系统的物理模型设计。
(4)系统实施阶段的工作是实现系统的代码编写和系统使用人员的培训,同时系统的数据准备和试运行也在这个阶段进行。
(5)系统运行与维护阶段进行系统的日常运行管理、评价、监理审计,修改、维护、局部调整,在出现不可调和的大问题时,进一步提出开发新系统的方案,老系统生命周期结束,新系统诞生,构成系统的一个生命周期,如图1.2。
图1.2系统生命周期流程图
2相关基础理论和技术简介
2.1基础理论简介
2.1.1结构化系统开发方法
结构化系统开发方法(StructuredSystemDevelopmentMethodolgies),亦称SSA&D(StructuredSystemDevelopmentDesign)或SADT(StructuredAnalysisandDesignTechnologies),是自顶向下结构化方法、工程化的系统开发方法和生命周期方法的结合。
它强调从系统的角度出发分析问题和解决问题,面对要开发的系统,从层次的角度,自顶向下地分析和设计系统,认为任何系统都有一个从发生、发展到消亡的生命周期,新系统就是旧系统的继续。
开发过程强调严格的规管理,工作文档要成文、要标准。
其开发步骤主要有五个阶段,即系统规划、系统分析、系统设计、系统实施和系统运行[2]。
这也是本文采用的主要系统开发方法。
2.1.2战略数据规划法
战略数据规划方法是美国著名学者J.马丁(JamesMartin)在他的著作《战略数据规划方法》、《没有程序员的开发》等书中提到的。
战略数据规划方法的主要技术容包括:
如何自顶向下来组织规划;建立企业的信息模型;主要数据库的设计与组织;战略数据规划的具体执行过程。
J.马丁在他的著作中明确指出,系统规划的基本容有三个方面:
企业的经营战略规划;企业信息系统的设备配置规划;企业特定的主题数据库规划。
2.1.3原型法
原型法的基本思想是1977年开始提出来的,到了20世纪80年代随着计算机软技术的发展,特别是在关系数据库系统(RelationalDataBaseSystem,RDBS)、第四代程序生成语言(4thGenerationLanguage,4GL)以及各种系统开发生成环境产生的基础上,提出的一种从设计思想、工具、手段都全新的系统开发方法。
原型法改进了机构化系统开发方法的不足,它并不注重对管理信息系统进行全面、系统的调查和分析,而是由用户和系统分析人员合作,在短期定义用户的基本需求,迅速构造一个功能不是十分完善的新系统原型,然后先运行这个原型,再不断评价和改进原型,最终形成实际系统。
2.1.4面向对象的开发方法
面向对象的开发方法是人们在实践中逐渐提出的一种新方法。
面向对象方法的出发点和基本原则是尽可能按照人类认识世界的方法和思维方式来分析和解决问题。
客观世界是由许多具体事物或事件、抽象的概念及规律等组成的,因此,我们将任何感兴趣或要加以研究的事物、概念都统称为对象(Object)。
面向对象的开发方法的优点有:
(1)有利于系统开发过程中用户与开发人员的交流和沟通,缩短开发周期,提高系统开发的正确性和效率。
(2)可以使软件的一致性、模块的独立性以及程序的共享和可重用性大大提高,也与分布式处理、多机系统及网络通信等发展趋势相吻合,具有广阔的应用前景。
(3)有强大的技术支持。
2.2技术简介
2.2.1Java简介
Java诞生于1995年,是Sun公司组织开发的一门编程语言,主要贡献者是JamesGosling。
开发Java语言的动力源于对独立平台的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或运行错误。
1990年,Sun公司成立了有JamesGosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能够生成正确运行于各种操作系统、适应各种CPU芯片的代码。
Java有以下几个特点:
(1)平台无关性。
与其他语言相比,Java语言最大的优势就是它的平台无关性,这也是Java风靡全球的主要原因。
(2)面向对象。
面向对象是一种先进的编程思想,更加容易解决复杂的问题。
面向对象编程具有封装、继承和多态的特点。
(3)多线程。
Java的特点之一就是置对多线程的支持。
(4)安全。
使用支持Java的浏览器时,JavaApplet将限制在Java运行环境中,不必担心病毒的感染。
(5)动态。
Java的基本组成单元是类,而类是由运行时动态加载的。
[5]
2.2.2JSP简介
JSP是JavaServerPage的简称,是由Sun公司倡导、多家公司参与、于1996年6月推出的一种服务器端动态网页技术。
在传统的网页文件中加入Java程序片段和JSP标记,就构成了JSP网页。
JSP基于JavaServlet和整个Java体系,其涉及目的是是的构建基于Web的应用程序更加容易和快捷,能够与各种Web服务器、应用服务器和开发工具共同工作,并且它还能应用于不同的操作平台上,适宜于建立快速的、安全的跨平台动态。
JSP技术的特点有:
(1)极强的的跨平台性。
由于JSP使用Java语言作为其脚本语言,所以它具有Java语言强大的跨平台性。
(2)容的生成和显示可以分离。
(3)程序的执行效率高。
JSP页面被编译成Servlet并由Java虚拟机执行,编译过程只在JSP页面第一次执行时进行,不需要每次执行程序是都编译,这在一定程度上可以提高程序执行效率。
(4)生成可重用的群组件。
JSP可以配合实际开发中的特定功能的群组件开发。
(5)采用标记标记简化页面开发。
(6)强大的数据库支持。
[3]
2.2.3MySQL简介
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。
MySQLAB是由多名MySQL开发人创办的一家商业公司。
它是一家第二代开放源代码公司,结合了开放源码价值取向、方法和成功的商业模型。
MySQL的特点有:
(1)开放源代码。
“开放源代码”意味着任何人都能使用和改变软件。
任何人都能从Internet上下载MySQL软件,而无需支付任何费用。
(2)反应迅速。
MySQL具有良好的连通性、速度和安全性、这使得MySQl很适合作为Internet上的数据库。
(3)多种工作模式。
MySQL数据库软件是一种客户端/服务器系统,有支持不同后端的一个多线程SQL服务器、数据不同的客户端程序和库、众多管理工具和广泛的应用编程接口API组成。
(4)可伸缩性和限制。
MySQL服务器可以处理包含5千万条记录的数据库,甚至有些用户将MySQL用于含60000个表和约50亿行的数据库[4]。
2.2.4Tomcat简介
Tomcat是Sun的JSWDK(JavaServerWebDevelopmentKit)中的Servlet容器,属于Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司和个人共同开发而成。
Tomcat既是一个开源源码、免费支持JSP和Servlet技术容器,同时又是一个Web服务器软件,受到了Sun公司的大力推荐和支持。
与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的文件也具有不同的功能。
部署文件时,只需将WAR文件放到Tomcat的webapp目录下,Tomcat会自动检测和解压该文件。
JSP文件第一次执行时,首先由Tomcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后续执行是速度会很快。
Tomcat是一个小型的轻量级应用服务器,运行时占用的系统资源小、扩展性好、支持负载平衡与服务等开发应用系统中的常见功能,并且不断改进和完善。
Tomcat使用与中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。
3系统分析
3.1系统可行性分析
3.1.1经济可行性
本系统的开发因采用Java开源技术,所以开发成本很低,系统的成本消耗主要来源于运营。
本系统要正常使用需要有一个服务团队负责运营,同时需要有一些线下推广活动成本消耗。
但是本系统的目标用户是一些有经济能力的餐馆用户,所以,运营成本可以从向餐馆用户收取的使用费中抵消。
同时,随着使用者数量的增加,使用费在累计增加,而运营费用却相对不变甚至降低,这是系统便能实现盈利。
所以,经济上系统是可行的。
3.1.2技术可行性
本系统用java开源技术实现,集成开发环境选用颇受好评的Eclipse,数据库采用MySql数据库。
Eclipse功能强大且易用开发效率极高,选择它作为系统开发环境,可以完成系统代码的编写。
本系统所选用的开源框架Spring,Hibernate及SpringMVC都是高效的易用并且易用于系统开发的主流java开发框架,采用框架技术,可以迅速的搭建起系统的雏形,从而使编程人员可以将大部分精力用到系统的业务逻辑的编写上,提高了开发效率。
系统中涉及的功能可以全部实现论为可行。
3.1.3运行可行性
基于Web的点餐系统相对于传统的餐馆点餐系统有以下优势:
(1)更具有通用性。
本系统不是为某一个餐馆设计的,它是一个点餐信息平台,相当于一个点餐信息中转站。
可以为普通用户提供菜品信息,同时更重要的是可以为餐馆提供信息发布的平台,理论上适合所有的餐馆。
(2)成本低廉。
本系统使用成本低廉,实际上,相对于使用点餐系统的餐馆用户而言,他们所做的仅仅是在平台上注册一个账号就拥有了一个自己的点餐系统。
(3)更容易维护。
对于点餐系统服务的实际使用者而言,实际上,根本没有任何的系统维护工作,因为这些工作都有系统的运营者管理员做了,而系统本身也是基于B/S架构模式的,本身维护起来也很容易。
(4)使用简单。
(5)功能更强大。
本系统除提供主要的点餐功能外,还能为餐馆进行如推广的其他更多的服务,功能更为强大。
所以本系统是可以成功运行起来的。
3.2需求分析
3.2.1系统功能需求分析
拟设计本系统为基于Java开源技术的联系点餐客户与供餐商家的点餐系统平台,它将用户分为普通用户,餐馆用户和系统维护人员(管理员)三种用户。
系统按用户类型不同提供不同的功能。
对于普通用户,系统提供的功能有:
(1)在线查找菜品信息的功能。
用户访问点餐系统,便可以查看自己喜欢的菜品信息,同时也可以按照自己的喜好进行筛选查询。
(2)在线查找餐馆信息的功能。
用户还可以在系统平台上在线查看在本平台上注册的餐馆信息,获取订餐信息。
(3)在线下订单的功能。
在选取自己喜欢的菜品后,用户还可向发布该菜品信息的餐馆下达点餐订单,从而实现点餐的功能。
(4)订单的查看功能。
用户登录后,可以查看自己的点餐订单记录。
(5)在线支付功能。
下达订单后,用户可以选择在线支付。
(6)对菜品、餐馆评论分享的功能。
用户还可以对自己喜欢的菜品餐馆进行评论和分享。
(7)个人信息设置功能。
用户可以对设置自己的信息。
关于餐馆用户,系统提供的功能有。
(1)菜品信息发布管理功能。
餐馆用户登录后,可以发布菜品信息,该信息将会在系统首页上和餐馆主页上显示。
(2)餐馆活动信息发布功能。
餐馆用户还可以发布自己近期的活动信息;
(3)订单管理功能。
餐馆用户可以对普通用户下达的订单进行相应的处理操作。
(4)退款功能。
当由于一些特殊原因时,普通用户要求退款是,餐馆用户应该能够进行退款操作。
(5)其他个人账户信息管理功能。
关于系统维护人员,系统提供的功能有:
对所有用户数据进行管理。
总体来看,餐馆点餐系统的核心功能是点餐,所以在该系统中核心的管理重点是点餐中涉及的菜品,点餐用户和餐馆用户。
菜品是点餐的目的,没有菜品就不能进行点餐,所以,有关菜品的功能是本系统的核心功能,包括餐馆用户的菜品管理,普通用户的菜单点餐。
另外,支付功能也是本系统的核心功能之一,者关系到系统的是否好用,决定了系统的质量。
最后是权限,用户的信息安全必须有保证。
3.2.2系统性能需求分析
本系统作为基于Web架构的网上点餐系统平台,应达到以下性能要求:
(1)页面响应的时间应低于5秒。
系统的服务对象为普通用户和餐馆用户,这些用户大多是对电脑操作很熟悉,同时也对界面响应时间很敏感,如果需相应时间太长会影响用户体验,让用户丧失使用信心,遮掩不利于系统的推广,所以相应时间不应超过5秒。
(2)系统支持的并发访问量应不低于500。
(3)Web服务稳定工作持续时间大于等于3天。
(4)数据更新操作业务高峰值应达到150笔/分钟;数据查询操作业务峰值100笔/分钟。
3.3系统业务流程分析
本系统的用户分为普通用户,餐馆用户和管理员用户。
其中普通用户和餐馆用户为系统的客户。
系统主要是为普通用户和餐馆用户服务的,所以主要业务业务室针对这两类用户的,其中普通用户的业务有点餐、在线支付和申请退款,餐馆用户有菜品管理、订单管理和退款。
以下主要业务及业务流程图。
图例如图3.1。
图3.1图例
系统总的业务流程图如图3.2。
图3.2系统总业务流程图
用户注册业务实现了普通用户和餐馆用户的开户功能,如图3.3。
图3.3用户注册业务流程图
点餐业务是系统的核心业务,实现普通用户点餐的功能,如图3.4。
图3.4用户点餐业务流程图
用户订单管理实现普通用户和餐馆用户对订单的管理功能,如图3.5。
图3.5用户订单管理业务流程图
用户在线支付业务实现普通用户点餐在线转账到餐馆用户的功能,如图3.6。
图3.6用户在线支付业务流程图
用户退款业务实现了当点餐失败订单作废时,普通用户申请退款的功能,如图3.7。
图3.7用户退款业务流程图
3.4系统数据流程分析
数据流程分析主要是根据需求调查的基础资料和所有业务流程图而进行的分析工作。
数据流程描述的是信息在系统中流动、处理和存储的过程。
数据流程图(DataFlowDiagram,DFD),是全面描述信息系统模型的主要工具,其图例如图3.1。
图3.1图例
用数据流程图分析本系统的主要数据流程如下。
系统顶层数据流程图如图3.2。
图3.2系统顶层数据流程图
系统二级数据流程图有。
(1)用户注册数据流程如图3.3
图3.3用户注册数据流程图
(2)用户登录数据流程如图3.4。
图3.4用户登录数据流程图
(3)点餐数据流程如图3.5。
图3.5用户点餐数据流程图
(4)菜品信息管理数据流程如图3.6。
图3.6菜品信息管理数据流程图
(5)菜品展示数据流程如图3.7。
图3.7菜品展示数据流程图
(6)用户个人账户信息管理数据流程如图3.8。
图3.8用户个人账户信息管理数据流程图
(7)餐馆信息展示数据流程如图3.9。
图3.9菜品展示数据流程图
3.5数据字典
数据字典是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体的具体定义。
本系统的数据字典如下。
3.5.1数据项定义
由于本系统涉及的数据项过多,此处仅列出主要数据项定义,如表3.1--表3.15。
.表3.1DI0001
数据项编号:
DI0001
名称:
账号(loginName)
简述:
普通用户,餐馆用户和管理员用户登录系统时的唯一标识,同类用户的账号不能重复
别名:
账户编码
字型:
char
长度:
20
取值/含义:
为英文字母,数字或“_”下划线的组合(如“zxj_123”)
表3.2DI0002
数据项编号:
DI0002
名称:
名称(name)
简述:
普通用户,餐馆用户,管理员用户,菜品,菜品类型,菜系等实体的名称
别名:
实体名称
字型:
char
长度:
20
取值/含义:
为英文字母,数字,汉字或“_”下划线的组合(如“zxj_123”)
表3.3DI0003
数据项编号:
DI0003
数据项名称:
性别(sex)
简述:
普通用户,餐馆用户,管理员用户的性别
别名:
字型:
logic
长度:
1
取值/含义:
1-代表男,0-代表女
表3.4DI0004
数据项编号:
DI0004
数据项名称:
订单号(orderCode)
简述:
普通用户于餐馆用户发生交易时产生的订单唯一编码
续表3.4
字型:
char
长度:
16
取值/含义:
编码一律以“NO”开头,后跟14位系统生成的与下单时间相关的代码串(如“NO14051512583036”)
表3.5DI0005
数据项编号:
DI0005
数据项名称:
日期(date)
简述:
系统中所有涉及时间的存储项
字型:
datetime
取值/含义:
yyyy-mm-dd-hh-MM-ss(yyyy-年份,mm-月份,dd-日,hh-小时,MM-分钟,ss-秒)
表3.6DI0006
数据项编号:
DI0006
数据项名称:
密码(password)
简述:
普通用户,餐馆用户和管理员用户账户的密码
字型:
char
长度:
6-18
表3.7DI0007
数据项编号:
DI0007
数据项名称:
手机(phone)
简述:
普通用户,餐馆用户和管理员用户的手机联系
字型:
char
长度:
11
表3.8DI0008
数据项编号:
DI0008
数据项名称:
固定(fixphone)
简述:
普通用户,餐馆用户和管理员用户的固定
字型:
varchar
长度:
20
表3.9DI0009
数据项编号:
DI0009
数据项名称:
地址(address)
简述:
普通用户,餐馆用户和管理员地址
字型:
char
长度:
50
表3.10DI0010
数据项编号:
DI0010
数据项名称:
用户状态(userStatus)
简述:
普通用户,餐馆用户和管理员用户的状态,便于系统管理
字型:
varchar
长度:
5
取值/含义:
取值为“open”和“locked”,分别代表激活和锁定,当激活时,用户可以正常使用系统提供的功能,当锁定时,用户不能使用系统功能
表3.11DI0011
数据项编号:
DI0011
数据项名称:
订单状态(orderStatus)
简述:
订单的状态,用于标识订单在整个处理流程中的状态
字型:
int
取值/含义:
可取值“0”、“1”、“2”,其中“0”代表已下单等待餐馆处理,“1”代表餐馆已处理但为交易完成,“2”代表交易完成
表3