基于JAVA的餐饮管理系统(毕业论文)_第1页
基于JAVA的餐饮管理系统(毕业论文)_第2页
基于JAVA的餐饮管理系统(毕业论文)_第3页
基于JAVA的餐饮管理系统(毕业论文)_第4页
基于JAVA的餐饮管理系统(毕业论文)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文(设计)题目:基于JAVA学生姓名:学号:专业班级:完成时间:20115PAGE\*ROMANPAGE\*ROMANV目录摘要 IVABSTRACT V引言 1第一章绪论 21。1系统开发背景 2国内外相关研究状态 3本课题研究的目的及意义 4开发工具及相关技术 4JAVA程序开发技术 4。4.2Web应用程序开发环境-JSP技术 61。4。3Tomcat应用服务器 8第二章系统分析 92。1可行性分析 92.1。1技术可行性分析 92.1。2经济可行性分析 92.1.3安全可行性 9。4操作可行性 102。2需求分析 102。2.1系统的主要功能 112。2。2系统的实现目标 12。3系统的性能需求 122.2。4运行环境 13第三章总体设计 15功能模块设计 15数据字典 153。3E—R图 173.4总体E—R图 203。5系统数据表 203.6系统流程图 243.7.详细设计书 24第四章系统实现 27用户登录 27系统主界面 27修改密码 28人员管理 294。5区域管理 304。6餐桌管理 31菜单管理 错误!未定义书签。关于酒店 324。9修改酒店信息 334.10酒店管理 334。11营业额 354.12退出系统 36第五章系统测试 375.1测试的作用和意义 375。2测试方法 375。2.1个人单元测试 375。2。2系统功能测试 375。3系统测试 38第六章结束语 43致谢 44参考文献 45附录 46酒店餐饮管理系统是为了实现酒店餐饮自动化管理而设计的,它完全取代了原来酒店餐问题所造成的各种错误,为及时、准确、高效的完成酒店餐饮管理工作提供了强有力的工具和管理手段。针对传统的酒店餐饮管理带来的诸多不便,文章介绍了新型的酒店餐饮管理模式。在开发酒店餐饮管理系统中,采用tomcat5.0以及jdk1。5搭建管理系统平台,并采用了mssql2000数据库管理系统及jsp,java,javascript主流开发技术进行了实现实现流程规范化,数据灵活化配置一套餐饮管理系统。通过系统的开发掌握软件的基本的开发流程,了解了系统的业务.从而掌握软件开发整体过程,把知识运用实际生产中。关键词jsp,mssql2005ABSTRACTHotelRestaurantManagementSystemistoachieveautomatedmanagementoftheho—telrestaurantdesign,itcompletelyreplacedtheoriginalhotelrestaurantmanagementhasb-eenusingthemanualprocessingofthework,andtopreventanymanagementstaffover-sightandmanagementofqualityproblemscausedbytheerror,forthetimely,accurateandefficientcompletionofthehotelrestaurantprovidesapowerfulmanagementtoolsandman—agementtools.ThetraditionalHotelRestaurantManagementbroughtalotofinconvenience,thearticleintroducesanewtypeofhotelandcateringmanagement.HotelRestaurantManagementinthedevelopmentofthesystem,usingtomcat50andjdk15buildmanagementsystemplatformandusesmssql2005databasemanagementsystemandjsp,java,javascriptmainstreamdevelopmentoftechnologiestoachieveprocessstandardizationtoachieve,flexibilityofconfigurationdataafoodmanagementsystem.Controlsoftwaresystemdevelopmentthroughthebasicdevelopmentprocess,tounderstandthesystem'sbusiness。Tograsptheoverallsoftwaredevelopmentprocess,theknowledgeoftheuseofactualproduction。的餐饮管理系统PAGEPAGE25引言高,全社会对餐饮业的需求量也越来越大,伴随着消费的持续增长,酒店餐饮行业已经成为务等方面提高管理意识。而对酒店的经营状况起决定作用的是对酒店日常营业的管理。产生大量的文件和数据,这对于查找、更新和维护都带来了很多的困难,同时,也加大了管理高、存储量大、保密性好、寿命长、成本低等优点。这些优点能够极大地提高宾馆管理的效率,也是宾馆的科学化、正规化管理,与世界接轨的重要条件。系统以MicrosoftSQLServer2000作为后台数据库,VisualBasic6。0为前台开发工具,运用自顶向下逐层分解的模块化结构设计思想、面向对象的设计方法,完成了酒店管理系统的主要模块。现如今随着经济的不断发展,旅游出国等带来的酒店市场营业量大大增加。这样就存在客房管理和登记入住等一系列数据的导入和导出,大多数经销商只是用简单的OfficeExcel记录,这样在查询和记录方面都很不方便。如果设计一款专门为酒店管理人员和酒店员工查询本酒店信息,以及各种预订、入住、核账、结算、退房等的专业软件,将会大大减少销售商的工作并提高酒店营业额.同时为加强对客户和员工的管理工作,实现了该酒店管理工作的无纸化办公。系统开发背景尤为突出。近两年来已呈现出高速发展的态势。但在快速发展的同时,餐饮业在日常经营管管理模式无论是在工作效率、人员成本还是提供决策信息方面都已难以适应现代化经营管理结合饭店绿色管理内容,实施计算机管理信息系统不视为一条有效的解决途径。业务融入计算机管理,既节省人力资源,也提高了管理效率和工作效率,将餐饮业提升到一个新的阶段。该餐饮系统从发展现状谈起,结合用户实际需求提出本系统的总体结构和功能模块,然后具备相关功能的餐饮系统。根据餐饮系统的流程,完成从用户登录到开台点菜,到结账收银,到统计一条线的信息业务的计算机化。该系统将餐饮业中点菜、退钱、预定、结账等一连串的业务用计算机来管理,分析与设现了现代化的餐饮管理机制.当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地.随着科学技各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。作为计算机应用的一部分,使用计算机对餐饮企业信息进行管理,具有手工管理所无法重要条件。1。2务,市场上餐饮管理软件正处于百花齐放、百家争鸣的阶段。目前市场上大多数餐饮软件是基于WINDOWS操作系统的,也有部分餐饮软件考虑到版权单的数据库如ACCESS,这样使用维护都可以做的比较简单,而规模大的餐厅就应该用SQLSERVER这样的数据库,可以保障数据比较安全、系统比较稳定,但同时也要求有专门的系统管理员来维护.还有,数据的录入通常有三种方式,一是基于普通电脑,二是基于触摸屏,三势看,餐饮系统越来越多的采用触摸屏,而无线技术正在逐步成熟起来。务部等主要职能部门。在国外发展比较成熟的软件有龙腾触摸屏点菜系统,“龙腾餐饮管理系统”软件采用了32Windows传递到各个点。这个系统适用于快餐企业、西餐、火锅有勾划式菜单的餐饮企业,中高档中餐可以配合其他点菜设备一起使用这个系统.1。3酒店餐饮管理系统也是典型的管理信息系统(MISSQLServer2005SQLJSP浏)结构,根据分析和讨论,实现酒店订餐管理,提供与用户交互的界面,完成酒店餐饮管理系统的设计和开发。根据该系统的具体情况,应能完成以下功能:(1)前台管理:开台管理、客人买单、结账数据分析;品基础信息登记;服务管理:点菜、上单下单、退菜等;系统管理:系统维护向导、权限管理、数据备份、帮助说明;另外,酒店餐饮管理系统要确保信息安全,以系统安全为主要目标,保护系统资源免受恶意的毁坏、替换、盗窃和丢失.其系统资源包括:硬件设备、存储介质、软件、数据等.具体来说,应达到以下安全要求:(1)保密性,机密或敏感数据在存储、处理、传输等过程中要完全保密,确保仅授权用户在授权后才能进行查询、删除及修改等操作;故障或其他人为错误而引起的信息篡改、破坏或丢失.可靠性,必须保障系统在复杂的网络环境下能够提供持续、稳定、可靠的服务。1。41。4。1JAVAjava不仅是编程语言,还是一个开发平台,java技术给程序员提供了许多工具:编译器、解释器、文档生成器和文件打包工具等等。同时java还是一个程序发布平台,有两种主要的”java解释器和运行时环境。目前Sunjava平台划分成J2EEJ2SEJ2MEJ2EE是Java2EnterpriseEdition,主要目的是为企业计算提供一个应用服务器的运行和开发平台.J2EE本身是一个开放J2EE标准的产品,使用户可以有多种选择。java主要有以下特性JavaJavaC并提供了自动的废料收集,使得程序员不必为内存管理而担忧。.Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implementsJavaC++Java语言是一个纯的面向对象程序设计语言.3、Java语言是分布式的。JavaInternet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet,包括URLURLConnection、SocketServerSocket等。JavaRMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证.对指针的丢弃是JavaJava的安全检查机制使得Java更具健壮性。Java提供了一个安全机制以(ClassLoade(SecurityManager)Java应用设置安全哨兵.Java程序(java的文件)Java平台上被编译(class的文件Java系统中运行。这种途径适合于异构的网络环境和软件的分发。还严格规定Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,JavaANSIC实现的。8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9JavaJavaC++。1。4.2Web-JSPHTML文件(*.htm,*。html)中加入Java程序片段(Scriptlet)和JSP标记(tag)JSP网页*。jspJSPHTMLXML页面,并附带JSP引擎能够处理和抽取的额外元件。HTML格式返回给用户。E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP技术在多个方面加速了动态Web页面的开发:1、将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如JavaBeans组件中,Beans中,那JSPJSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML),而又保证任何基于HTMLWeb浏览器的完全可用性.2、强调可重用的组件绝大多数JSP(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3、采用标识简化页面开发.JavaServerPage技术封装了许多功XMLJSPJavaBeansApplet,以及执行用其他方法更难于编码和耗时的功能。Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。4、JSPServlets功能ServletsJSP能提供所有ServletsPrintln书写和修改HTMLServlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。5、健壮的存储管理和安全性JavaJSP页面都被编译成JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。6、一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言一次编写,各处运行"的特点。随着越来越,更改工具或服务器并不影响当前的应用。1。4。3Tomcat是其中较为流行的一个JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat是一个免费的开源的SerlvetTomcat中,应用程序的部署很简单,你只WARTomcatwebappTomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中.通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用。当然本地也可以。HTMLApache相比,它的处理静态HTML的能力就不如Apache。我们可以将TomcatApache集成到一块,让ApacheHTML,TomcatJSPServlet。这种集成只需要修改一下ApacheTomcat的配置文件即可。Tomcat,,功能强大,更因为其开放性.如今,开Linux.人们不再限于只使用软件,而.我们有理由相信Tomcat会走得更远。2。1和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工是否可行。可行性分析阶段的主要工作包括以下几个方面:2.1。1技术可行性分析是根据新系统的目标来衡量是否具各所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术.从各个网站及许多局域网的建设中可以看Web2高企业的管理水平给管理者提供一个企业运作的信息平台还能提升企业的形象及增强竞争并能尽可能的降低使用者的劳动强度,同时提高工作质量和效率。用最少的成本获得最好的经济效益,增强了餐饮企业的市场竞争力2.1.3在系统运行后就用户方而言,由于用户使用本系统时不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各页面上的链接或按钮就能执行相应的功专门的数据库服务器,管理者就可运行相应的后台程序进行处理。2。1.4目前资源的利用情况和可操作性,只需根据相关需要对数据库中的相应表数据直接操,不会造成系统的巨大压力,可以保证系统的正常运行.是可行的。需求分析功能,即定义用例,以此确定系统的功能需求。该系统主要从酒店的订餐方面来分析。酒店餐饮管理系统的核心思想就是以顾客是上帝为核心,这就意味着酒店将把客人作为其增长率的下降,利润的降低,消费行为的理性化是必然的发展趋势。各大酒店更多的将目光专注于如何提高服务质量,提高经营管理,而提高经营管理最重要的保证就是信息技术。应有时间和地域的限制。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的部分,使用计算机对酒店餐饮的管理具有着手工管理所无法比拟的优点:客户和工作人员可以随时了解有关酒店餐饮的相关信息。减轻了工作人员的工作负担。(3)查询、修改更加方便、快捷。2。2。1情况、房台营业情况、酒菜销售情况、销售收入等进行分析。点菜收银、营业分析、库房管理的有机结合,可为酒店经营方向提供依据,为酒店餐馆的发展提供重要保证。财政管理、应收应付管理、系统初始化、系统管理、帮助。分析、日结算管理。台号管理、商品信息管理、员工信息管理。析。4、应收应付管理:主要是对酒店的往来账款进行管理。包括应付账款管理、挂账管理、历史挂账查询。理、部门信息管理、仓库信息设置、员工级别管理.6、系统管理:主要是对权限进行管理。7、帮助:主要是对软件的使用帮助。2。2。2系统在实施后应能够达到以下目标:1、采用汉字图形用户界面,系统界面友好美观,操作简单易行。2、业务管理信息化,可随时掌握进货、客人点单、挂账等情况。3、采用流行的客户机/服务器方式,响应速度快,安全性高,扩充方便。4、支持多种付款方式.现金、支票、免单、挂账等多种方式混合收银.5、该软件应尽可能地降低使用者的劳动强度,同时提高工作质量和效率。6、系统维护方便可靠,具有灵活性、通用性及安全性的特点.2。2.3系统的安全性Internet,但系统中涉及多方信息,有厨房请购信息、盘点信息、原材料信息、菜品信息等等,如果有人蓄意破坏任意信息,都可能会导致系统的停用,会带来损失,因此仍然需要保证它的安全。为了保破坏和泄露等。既要考虑操作系统的安全性,还要考虑到餐饮系统本身的安全性。系统的合理性求新技术,要保证系统的合理性。系统的简单性、易用性要考虑到不同层次服务人员及领导人员的计算机操作水平,一般而言,大部分服务员的计算机操作水平偏低,因此开发时要本着“简单易用”的原则,方便各层次人员的使用,使人员的培训降到最低。对于收银的服务员只需要简单且快捷地收银方式,既利于他们使用,也提高收银速度,同样对于领导人员,也需求简单、一目了然的界面,这样即使是没有操作过计算系统的稳定性、可靠性餐饮业从业人员来源广泛,分布性强,往往不具备专业的计算机知识,因此,餐饮系统(或企业)区别很大:一般公司(或企业)(或企业)休息时间却正是餐饮业营业高峰。餐饮系统必须兼顾到餐饮业这种间隙性的营业状况,必须具有高度的稳定性,保证在营业高峰时不出故障,即使出现故障,系统也必须具有快速恢复能力。2.2.4系统对运行的环境的要求:服务器端服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能的硬件.本网络系统服务器端的配置如下:处理器:InterPentium41.6GHz或更高内存:512MB硬盘空间:160GB光驱:CD-ROM48X显卡:SVAG显示适配器。用户端因为客户端主要用于浏览和操作数据,所以对客房端的硬件要求不高,不过现在的电脑很高的性价比,因此需要的配置应该高于下面的配置:处理器:InterPentium1.0GHz或更高内存:216MB硬盘空间:80GB光驱:CD—ROM48X显卡:SVAG显示适配器。(服务器端操作系统:Windows2000Server或者更高版本网络协议:TCP/IPweb服务器:Tomcat5。X及以上版本数据库:MySQL浏览器:InternetExplorer6。0及以上用户端操作系统:Windows98/2000/XPTCP/IP浏览器:InternetExplorer6。0或以上3.1采用本系统可以大大减少前台的服务人员的人数,直接和厨房联系加快上菜速度。由于工作效率,引入了该信息系统。块。其系统模块图3。1所示。餐饮管理系统登订后录餐台模模管块块理模块员管订菜退结餐菜员区工理单桌单工域登员餐修菜帐增增增增录登改删删删删录3。2

3.1功能模块图主要成果。数据字典在数据库设计中占有很重要的地位。数据字典部分如下:表3。1管理员信息表数据流数据流系统名:餐饮管理系统条目名:服务员信息来源:系统管理员去处:服务员信息删除查询数据结构:管理员信息:{编号,区域名称,描述,密码,服务人员类型,员工编号,性别}简要说明:管理员信息表主要是录入员工的信息,以及对员工的添加,删除,分工表3.2餐桌信息表数据流数据流系统名:餐饮管理系统条目名:餐桌信息来源:区域餐桌信息去处:餐桌信息预定查询数据结构:餐桌信息:{编号,区域ID,名称,状态,主菜单ID,其他}简要说明:餐桌信息表主要是查看餐桌的当前状态表3.3菜单信息表数据流数据流系统名:餐饮管理系统条目名:菜单信息来源:菜单信息去处:菜单信息添加,删除查询数据结构:菜单信息表主要是查看菜单的信息菜单信息:{编号,区域名称,描述,价格,菜单ID}简要说明:菜单信息,主要是管理员对菜单信息的添加与删除表3.4营业额信息表数据流数据流系统名:餐饮管理系统条目名:营业额信息来源:营业额去处:营业额信息查询数据结构:营业额信息:{编号,区域名称,描述,类型}简要说明:营业额信息,管理员能查看总的营业额表3.5订餐信息表数据流数据流系统名:餐饮管理系统条目名:订餐信息来源:订餐去处:订餐信息删除查询数据结构:订餐信息:{教师编号,教师授课号,总成绩,时间}简要说明:学生登陆系统,订餐与开台表3。6酒店信息表数据流数据流系统名:餐饮管理系统条目名:酒店信息来源:酒店去处:酒店信息查询数据结构:酒店信息:{编号,区域名称,描述,地址,营业时间,负责人,电话,网址}简要说明:管理员可查看,修改酒店的基本信息3。3E—R概念设计是一种面向对象的数据模型,是按照用户的观点来对数据和信息建模。它描述ER图描述现实世界中的实(ER方),建立ER模型,用ER[2].统的主要的实体有餐桌,客人,菜谱,餐饮,账单,点菜单等。实体ER图如下所示:餐桌餐桌编号餐桌餐桌编号位置餐桌状态 座数3.2餐桌ER客人姓名客人姓名编号性别证件类别联系方式图3.3总体ER菜单菜单菜品种类描述菜名 价格3.4菜谱ER订餐餐桌号区域菜名订餐餐桌号区域菜名数量名称价格3.5餐饮ER账单餐桌号结账客人号打折情况3.6餐饮费ER点菜单菜类说明菜名数量餐桌号3.7点菜单ER啊3。4E—R逻辑设计的目的是把概念设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。这些模型在功能上、完整性和一致性约束及数据库的可扩展性等方面均应满足用户的各种要求[2]。因而,根据上节的实体ER图,总体ER图如下:账单账单1结账菜谱1nmn1餐饮用餐客人点菜订餐n入座1上菜m1餐桌3。5下面将主要介绍关键数据表的数据库设计的详细说明。表3.7区域表area字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOnamenVarchar50区域名称NOMemonVarchar50描述Yes该表是用来记录区域信息表3。8订餐表dinnermenu字段名称数据类型字段大小说明索引是否为空IdInt4IDPrimarykeyNoStateInt4状态YesGuesttypeSmallint2用户类型YesGuestidSmallint2用户idYesGusetcountSmallint2用户数YesDinnertableidInt4餐桌IDYessumToPayReal4总合YesDiscountReal4打折率YesWaiteridInt4服务员IDYesMemoNvarchar50其他Yes该表是用来记录订餐信息,主要有客户信息,订餐人数等。表3。9菜单添加表menuitem字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOdishnamenVarchar50区域名称NOMemonVarchar50描述YesPriceReal4价格YesMenuidInt4菜单idNo该表是用来记录菜单信息,和添加菜单信息。表3。10区域添加表dishcateroy字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOnamenVarchar50区域名称NOMemonVarchar50描述Yes该表是用来记录区域信息,主要实现系统区域添加功能。表3.11餐桌表dinnertalbe字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOAreaidInt4区域IDPrimarykeyNONameNvarchar50名称YesStateInt4状态YesMenuidInt4主菜单IDYesMemoNvarchar100其他Yes该表是用来记录餐桌的信息,及当前的使用状态。表3.12折扣表discount字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOnamenVarchar50区域名称NOdiscountreal4打折YesMemoNvarchar100其他Yes该表是用来记录折扣类型信息.表3。13预定表area字段名称 数据类型 字段大小说明索引是否为空id Int 4编号PrimaryKeyNOname nVarchar 50区域名称NOMemo nVarchar 50描述YesTelnum Nvarchar 50电话yes该表是用来记录预定信息,主要记录预定用户的基本信息。表3.14退菜表reject字段名称数据类型字段大小说明索引是否为空IdInt4编号PrimaryKeyNOReasonnVarchar50区域名称NOMemonVarchar50描述YesItemidInt4菜品idYes该表是用来记录退菜的信息和退菜的原因.表3。15付款类型表paytype字段名称数据类型字段大小说明索引是否为空idInt4编号PrimaryKeyNOnamenVarchar50区域名称NOMemonVarchar50描述YesTypeNvarchar50类型Yes该表是用来记录付款信息,主要实现系统折扣功能表3。16酒店基本信息表area字段名称数据类型字段大小 说明 索引 是否为空idInt4编号PrimaryKeyNOnamenVarchar50区域名称NOMemonVarchar50描述YesAddressNvarchar50地址YesHoursNvarchar50营业时间YesManagerNvarchar30负责人YesTelnumNvarchar30电话YesWebsiteNvarchar30网址Yes该表是用来记录酒店信息。系统流程图打开系统打开系统是否已注册N注册Y登录菜品选择N加入点菜单Y点菜单继续点菜确认点菜单退菜提交点菜单退出系统4.8系统流程图3。7.详细设计书1用户登录工登录到系统。只有有此系统账号的员工才可以登录到本系统,并把员工的基本信心赋到SESSION中,以便其他工能模块能获得登录员工的基本信息。修改密码不最正确,则系统不任许用户修改密码人员管理对于员工信息也可以删除.如果新添加员工时,则添加员工姓名,员工编号,性别,并设置员工的默认密码区域管理系统给出酒店内的所有列表,列出的信息由,区域名称,区域说明.如果不需要某一区域域说明。餐桌管理系统给出酒店内所有餐桌信息,列出餐桌编号,以及所在的区域名称,已经餐桌的使用状态,如果删除餐桌信息,则通过“删除”按钮删除数据,如果添加餐桌信息,则点“添加餐桌"菜单管理系统给出酒店所有菜单信息列表,列出菜单的名称,菜单的价格,菜品的规格,如果删“删除”“添加菜品”,进入添加菜品信息页面,选择菜品所归属的类别,填写菜品的名称,菜品的规格,菜品的价格。填写完保存,系统提示成功,可以通过列表信息查看已经添加的菜品信息。关于酒店址等酒店的基本信息酒店信息更改改。的餐饮管理系统酒店管理员工根据区域的选择选择所要预定或已经上座的餐桌,餐桌分4个状态,空闲状态 ,预定状态 ,就餐状态 状态用户更容易接受.

根据结账的类型(会员,vip,特价)等信息自动计算本次就餐的价钱。10营业额11退出系统session信息销毁,并直接返回到登录界面。等待用户登录。26的餐饮管理系统用户登录登录到系统。只有有此系统账号的员工才可以登录到本系统 ,并把员工的基本信心赋到SESSION中,以便其他工能模块能获得登录员工的基本信息。用户登录界面如图4。1所示。关键代码如下:

图4。1登陆界面loginOKwaiter。checkPassword(password);if(loginOK){session.setAttribute(”info",waiter);session.setAttribute("worknum",workNum);session.setAttribute(”pwd”,password);response.sendRedirect("counter/home.jsp”);session中,直接跳转到系统首页系统主界面通过前期的分析和设计,现将系统具体实现。登录成功进入系统主页面。系统主页面中27的餐饮管理系统员管理,退菜列表,修改密码,营业额,退出系统。系统主界面如图4。2所示。修改密码

图4.2系统主界面入不最正确,则系统不任许用户修改密码。修改密码界面如图4。3所示。关键代码如下:

图4.3修改密码界面28的餐饮管理系统functioncheck(){。value!=form。newpwd1。value){alert(”两次输入的密码不一致”);returnfalse;}。newpwd.value==””||form。newpwd1.value=="”||form.oldpwd。value==”"){alert("请输入密码”);returnfalse;}。oldpwd。value!=〈%=pwd%〉){alert(”旧密码输入错误”);returnfalse;}}通过javascript验证新更改的密码是否正确,如果不正确则提示重新输入.人员管理员工的默认密码。人员列表界面如图4.4所示.图4.4人员界面29的餐饮管理系统图4.5添加人员界面关键代码如下:ResultSetrsnull;conn=DBManager.getConnection();stmt=conn。createStatement();jd.dbo。waitera,jd.dbo.waitertypebwherea.typeid=b。id";System.out.println(”sql==”+sql);rsstmt。executeQuery(sql);通过查询方法查询出所需要的人员信息并利用System在后台打印sql语句的形式调试sql是否正确。区域管理可以通过删除按钮删除该条数据信息.点“添加区域”,则必须输入,区域名称,以及相应的区域说明.区域管理界面如图4.6所示30的餐饮管理系统关键代码如下:

图4.6区域管理界面〈jsp:useBeanid="dish”scope="session"class=”com。nebula。hotel。Dish”/〉〈%Vector list = DBRecord.retrieveList("select * from Area” Class.forName(”com.nebula.hotel.Area"));%>利用javabeanjava类中封装的retrieveListlist显示出来4。6系统给出酒店内所有餐桌信息,列出餐桌编号,以及所在的区域名称,已经餐桌的使用“删除”“添加餐桌”进入添加餐桌信息页面,选择餐桌所在的区域,填写餐桌的编号。添加完保存,系统提示成功。餐桌管理界面如图4。7所示4.7“删除”“添加菜品”,进入添加菜品信息页面,选择菜品所归属的类别,填写菜品的名称,菜品的规格,菜品的价格。菜单管理界面如图4.8所示31的餐饮管理系统图4.7餐桌管理界面图4。8菜单管理界面界面与算法和区域管理相同4。8址等酒店的基本信息。算法,直接查询数据库表hotel直接显示信息32的餐饮管理系统4。9系统给出酒店基本信息,酒店的名称,酒店的电话,酒店的地址,酒店的介绍,酒店的网址修改酒店信息如图4。9所示图4.9酒店基本信息界面算法,直接查询数据库表hotel并更改酒店信息4。10员工根据区域的选择选择所要预定或已经上座的餐桌,餐桌分4个状态,空闲状态 ,预定状态 ,就餐状态 态让用户更容易接受。

,用图标显示餐桌的状态,比文字描述更直观,进入输入就餐人数,就可进行点餐的操作,服务员进行点餐操作,根据菜品的分类选择就餐客人所需要的菜品,设置菜品的状态,准备,已做,已上。就餐结束后,进行结账,系统会根据结账的类型(会员,vip,特价)等信息自动计算本次就餐的价钱.33的餐饮管理系统开台StringactionType=request.getParameter(”actType");DinnerTabletable=(DinnerTable)session.getAttribute(”table");if(actionTypenull)&&actionType。equals("open”)){intguestCount=WebTools.getRequestInt(request,"guestCount");try{table.open(guestCount);}catch(Exceptione){e.printStackTrace();。sendRedirect("error.jsp?err_msg=操作失败”);return;}response。sendRedirect("tableDetail。jsp?tableID="+table.id);判断餐桌的状态并利用图片显示if(tables!=null){for(inti=0;i<tables.size();i++){%〉〈td〉<tablewidth="38"border="0"〉〈tr><tdalign="center”>〈%DinnerTabletable=(DinnerTable)tables.elementAt(i)ahref="tableDetail.jsp?tableID=〈%=table。id%>"〉〈%if(table.state==DinnerTable。STATE_EMPTY){%><imgborder=0src="。./images/table_empty。gif">〈/a〉<%}elseif(table.state==DinnerTable.STATE_USING){%><imgborder=0src="../images/table_using。gif”></a><%34的餐饮管理系统}elseif(table。state==DinnerTable。STATE_RESERVED){%〉<imgborder=0src=”.。/images/table_reserved.gif”></a〉<%}elseif(table。state==DinnerTable.STATE_CHECKOUT){%>〈imgborder=0src=".。/images/table_checkout。gif”〉</a〉〈%}elseif(table。state==DinnerTable。STATE_UNAVAILABLE){%>〈imgborder=0src=”。。/images/table_unavailable.gif”>〈/a〉<%}%〉</td〉〈/tr><tr>〈tdalign="center”>〈fontsize=”2”〉〈%=table.serial%〉</font〉</td〉</tr〉</table>〈/td><%if((i+1)%5==0){%〉〈/tr>〈tr〉<%}4。11系统自动列出每一笔交易的金额并且计算总共的营业额.营业额列表如图4.10所示。35的餐饮管理系统PAGEPAGE384。12

图4。10营业额列表界面信息销毁,并直接返回到登录界面。等待用户登录。关键代码如下:<%session.invalidate();%〉〈%response.sendRedirect("login。jsp");%>session,并直接跳转到login。jsp即登录首页5。1系统测试是系统开发周期中的一个非常重要环节。尽管在系统开发周期的各个阶段均采表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%.而的若干倍。5。25.2.1对于小系统,在编码过程中,最常用的单位测试。单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使所有的测试都必须在整个软件系统的生命周期中进行维护。5。2.2系统功能测试最常见的两种方法是黑盒测试和白盒测试,黑盒测试也称功能测试,将软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。(1)链接测试链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。(2)Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、正确性.如果表单只能接受指定的某些值,则也要进行测试.例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。数据库测试应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理.误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。系统测试软件测试方法从测试人员角度看,可分为人工测试和机器测试。人工测试又称为代码复审.主要有三种方法:个人复查、走查、会审.机器测试分为黑盒测试(又称功能测试)和白盒测试(又称结构测试)两种。下面对本餐饮管理系统进行测试,以检查系统能否正确完成各种操作,是否能够实现预期具有的功能。用户登录输入密码错误时系统会提示.测试结果如图5。1所示的餐饮管理系统图5.1登陆界面2。修改密码123,新密码也是123测试结果如图5。2所示3。人员管理

图5.2修改密码界面从人员列表中,删除人员信息,增加人员信息39的餐饮管理系统添加姓名:12,2,系统提示操作成功删除数据后,列表找不到该数据区域管理功能测试人员类似餐桌管理功能测试人员类似菜单管理功能测试人员类似关于酒店系统给出酒店基本信息,页面能正常显示修改酒店信息提示操作成功酒店管理40的餐饮管理系统员工根据区域的选择选择所要预定或已经上座的餐桌,餐桌分4个状态,空闲状态 ,预定状态 ,就餐状态 ,结账状态 系统能正常显示2人,联系方式12312102预定,系统提示成功“预定”提示操作成功,直接返回菜单列表41的餐饮管理系统更改菜品的状态,也可退菜,取消菜,在点菜的菜单中找不到已经点的菜如果退钱填写退菜原因系统会把上已上的菜结账,并根据结账的方式自动计算本次就餐的总价格营业额功能测试人员类似退出系统session信息销毁,并直接返回到登录界面。等待用户登录。42的餐饮管理系统PAGEPAGE54实现,提供的界面友好,美观。但由于一些客观原因的限制,还不能对其进行进一步研究。通过这次所做的酒店餐饮管理系统,我真正了解到了什么叫做编程,以及做一个系统的思路和步骤,对软件工程也有了一个非常清晰明确的概念。毕业设计和我在大学初期做课程设晰的过程。这次的毕业设计让我有了一个明确的学习目标。IIS的配置,数据库的连接,页面美化等,在实际操作过程中都遇到了或这或那的问题。但是通是有了编程的知识,或者软件工程的概念就可以完成任务了,还必须弄清楚酒店餐饮管理系统是怎样运行,究竟是怎样一个过程等.只有把这些都弄清楚了,才能做出有用的,合乎逻辑和使用方便的系统。地方。但这些都是需要我们改进的地方。只有实践了,才知道问题所在,才能使自己在今后长的时间来测试并完善。所以,该系统可以在此基础上继续改进和扩展。这次毕业设计具有非同一般的意义,对我的很多方面都产生了积极的影响。让我对专业知经历。致谢次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的导师。我不是您最出色的学生,而您却是我最尊敬的老师。得到了汤老师关心和帮助。汤老师严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,平易近人的人格魅力对我产生了深远的影响。汤老师看待问题的敏锐程度和开阔的思路都给我留下了深刻的印象,但最让我佩服的是她的耐心学到了为人处事。我还要感谢同组成员,在这些日子里,我们相互讨论和相互学习,加深了我们的友谊,也使我们从其他方面更好的认识自己的优点和缺点。同时也让我明白了一个小团队合作的重要性。同组的优秀同学对我的指导,使我受益匪浅。大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意!同时也感谢学院为我提供良好的毕业设计环境。最后再一次感谢所有在毕业设计中帮助过我的老师和同学.参考文献[1]郑阿奇.JSP程序设计教程.北京:机械工业出版社,2005:174-179,215.[2][3]2006:11-19.[4]周兴华,李增民,臧洪光.Ddlphi7数据库项目案例导航[M].北京:清华大学出版社,2005:377—384.[5]Delphi住宿餐饮管理系统开发实例导航[M]。北京:人民邮电出版社,2003:4—5.[6]saas餐饮管理系统的分析与开发[D].太原:太原理工大学,2008:12—14。[7]—献给白天鹅宾馆开业六周年志庆[J].南开经济研究,1989(2):46—48。[8]杨羡莲。餐饮业营销[J]。广州市财贸管理干部学院学报,1991(4)32-33.21-30.究会第九届学术年会论文集[C].1999:67—68.[11]刘涛.中国餐饮业特许经营研究[D].对外经济贸易大学,2001:11.[12]TerryQuatrani。VisualModelingWithRationalRoseandUMLAddison—WesleyLongman,2006:5。UMLandPatterns:AnIntroductiontoObject-OrientedAnalysisandDesign[D].PrenticeHallPress,2005:1.附录用户密码修改functioncheck(){if(form。newpwd。value!=form。newpwd1。value){alert("两次输入的密码不一致”);returnfalse;}if(form。newpwd。value==””||form。newpwd1。value=="”||form.oldpwd.value==””){alert("请输入密码”);returnfalse;}if(form。oldpwd.value!=〈%=pwd%〉){alert("旧密码输入错误");returnfalse;}开台StringactionType=request。getParameter("actType”);DinnerTabletable=(DinnerTable)session.getAttribute("table");if((actionType!=null)&&actionType.equals("open")){intguestCount=WebTools.getRequestInt(request,"guestCount")try{table.open(guestCount);}catch(Exceptione){e.printStackTrace();response.sendRedirect(”error.jsp?err_msg=操作失败");return;}response.sendRedirect("tableDetail。jsp?tableID=”+table.id);判断餐桌的状态if(tables!=null){for(inti=0;i<tables。size();i++){%><td〉<tablewidth=”38"border="0”>〈tr〉<tdalign="center”〉〈%DinnerTabletable=(DinnerTable)tables。elementAt(i);%〉〈ahref="tableDetail。jsp?tableID=〈%=table。id%>”〉〈%if(table.state==DinnerTable.STATE_EMPTY){%〉<imgborder=0src="../images/table_empty。gif”〉〈/a><%}elseif(table。state==DinnerTable.STATE_USING){%>〈imgborder=0src=”.。/images/table_using。gif"〉〈/a〉<%}elseif(table.state==DinnerTable.STATE_RESERVED){%〉<imgborder=0src=”。./images/table_reserved.gif"></a>〈%}elseif(table.state==DinnerTable。STATE_CHECKOUT){%〉〈imgborder=0src=".。/images/table_checkout。gif"></a>〈%}elseif(table。state==DinnerTable。STATE_UNAVAILABLE){%>〈imgborder=0src=”。。/images/table_unavailable.gif"></a〉〈%}%〉</td>〈/trtr><tdalign=”center”fontsize="2”>〈%=table.serial%>〈/font〉〈/td〉</tr></table></td〉〈%if((i+1)%5==0){%></tr〉〈tr>〈%}服务员添加删除publicclassWaiterextendsDBRecord{publicintid;publicStringname;publicintsex;publicDatebirthday;publicinttypeID;publicStringworkNum;publicStringmemo;publicStringpassword;

//服务员类型:迎宾,点菜,传菜publicvoidsetBirthday(intyear,intmonth,intdate){Calendarc=Calendar。getInstance();c。set(year,month,date,0,0,0);birthday=c。getTime();}publicvoidupdateInfo()throwsHotelException{//TODOupdatehotelinformationintodatabasetry{checkData();}catch(InvalidDataExceptionide){thrownewHotelException(”数据不符合格式,保存失败”);}try{StringsqlStr=”updateWaitersetname='”+name+"',password=’”+password+”’,typeID="+typeID+",workNum=’”+workNum+”',sex=”+sex+”,birthday="+birthday.getTime()+",memo='"+memo+”'whereid=”+id;System。out.println("updatestringis:"+sqlStr);execCommand(sqlStr);}catch(ServiceUnavailableExceptionsue){thrownewHotelException("服务不可用,请联系管理员”);}}publicvoidinsert()throwsHotelException{//TODOupdatehotelinformationintodatabasetry{checkData();}catch(InvalidDataExceptionide){thrownewHotelException(”数据不符合格式,保存失败”);}try{StringsqlStr="insertintoWaiter(name,password,typeID,workNum,sex,birthday,memo)values('"+name+"’,'”+password+”’,”+typeID+”,'”+workNum+"',"+sex+”,"+birthday。getTime()+”,'"+memo+”’)”;System。out.println("insertstringis:"+sqlStr);execCommand(sqlStr);}catch(ServiceUnavailableExceptionsue){thrownewHotelException(”服务不可用,请联系管理员”);}}publicvoidretrieveInfo()throwsHotelException{//TODOretrievehotelinformationfromdatabase//writeeventlogtry{retrieveData(”select*fromWaiterwhereid=”+id);}catch(ServiceUnavailableExceptionsue){thrownewHotelException("服务不可用,请联系管理员”);}catch(RecordNotFoundExceptionrnfe){thrownewHotelException(”请求的数据不存在,请联系管理员”);}catch(InvalidDataExceptionide){thrownewHotelException(”请求的数据不符合格式,请联系管理员");}}publicbooleancheckPassword(Stringpasswd)throwsHotelException{//TODOretrievehotelinformationfromdatabase//writeeventlogtry{retrieveDat

温馨提示

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

评论

0/150

提交评论