基于Android无线电子菜谱系统开发(服务器端).doc

上传人:文****钱 文档编号:43639 上传时间:2018-05-10 格式:DOC 页数:59 大小:3.08MB
下载 相关 举报
基于Android无线电子菜谱系统开发(服务器端).doc_第1页
第1页 / 共59页
基于Android无线电子菜谱系统开发(服务器端).doc_第2页
第2页 / 共59页
基于Android无线电子菜谱系统开发(服务器端).doc_第3页
第3页 / 共59页
基于Android无线电子菜谱系统开发(服务器端).doc_第4页
第4页 / 共59页
基于Android无线电子菜谱系统开发(服务器端).doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、苏州科技学院本科生毕业设计(论文)1基于ANDROID无线电子菜谱系统开发服务器端摘要今天我们生活在充满数字的时代,随着GPRS、WLAN等无线技术的突飞猛进,移动生活、移动办公逐渐由概念转为现实,信息数据随手可及。特别是无线数据传输技术的成熟,运营商的大力推广,WLAN的应用日渐普及,并日益影响到人们生活的方方面面,种种梦想化为现实成为了可能。对于传统的餐饮业而言,利用无线网络技术实现点餐系统也成为了现实。基于ANDROID的无线点餐系统,使用当下较为流行的ANDROID平台,通过和服务器之间的WLAN无线通信实现了灵活、高效、便捷的管理系统,优化了点餐和管理流程,使餐厅的服务和管理得到实质

2、性的提升,提高了品牌形象和核心竞争力。本文详细描述了基于ANDROID无线电子菜谱系统服务器端的需求分析和系统设计,利用STRUTS、SPRING、HIBERNATE和AXIS2实现了一套无线点餐的WEB端后台管理系统,同时向系统外部发布包括用户登录,餐桌管理,点菜管理、并台管理、转台管理、查台管理、结台管理、更新管理等的WEBSERVICE接口,方便用户在包括ANDROID等在内的各种平台上调用,以实现无线点餐的功能。最后对该系统的特点进行了总结,并展望了其未来的发展方向。关键词无线通信;ANDROID;服务器端;WEBSERVICE餐饮苏州科技学院本科生毕业设计(论文)2DEVELOPME

3、NTOFWIRELESSORDERSYSTEMBASEDONANDROIDSERVICESIDEABSTRACTTODAYWELIVEINADIGITALERA,WITHTHERAPIDPROGRESSOFTHEGPRS,WLANANDOTHERWIRELESSTECHNOLOGIES,MOBILELIFEMOBILEOFFICEGRADUALLYBECOMESTOTRUEFROMCONCEPT,YOUCANGETTHEINFORMATIONANDDATAEVERYWHEREINPARTICULAR,THEGROWINGPOPULARITYOFWIRELESSDATATRANSMISSIONT

4、ECHNOLOGYMATURES,THEPROMOTIONEFFORTSOFTHEOPERATORS,THEPOPULARITYOFWLANAPPLICATIONSGROWS,ANDISINCREASINGLYAFFECTINGALLASPECTSOFPEOPLESLIVES,ITSPOSSIBLEFORALLKINDSOFDREAMSCOMESINTOREALITYASFORTRADITIONALCATERINGINDUSTRY,THEUSEOFWIRELESSNETWORKTECHNOLOGYTOACHIEVEORDERINGSYSTEMHASALSOBECOMESTOREALITYAND

5、ROIDBASEDWIRELESSORDERINGSYSTEM,USINGTHEPOPULARANDROIDPLATFORM,BUILDAFLEXIBLE,EFFICIENTANDCONVENIENTMANAGEMENTSYSTEMTOOPTIMIZETHEORDERINGANDMANAGEMENTPROCESSTHROUGHWIRELESSCOMMUNICATIONSBETWEENTHEWLANANDSERVER,THISWILLINCREASETHERESTAURANTSERVICEANDMANAGEMENTSUBSTANTIALANDIMPROVEBRANDIMAGEANDCORECOM

6、PETITIVENESSTHISPAPERDESCRIBESINDETAILTHECONTENTSOFTHEREQUIREMENTANDSYSTEMDESIGNOFWIRELESSORDERINGSYSTEM,USEOFSTRUTS,SPRING,HIBERNATEANDAXIS2WEBSIDEOFTHEBACKOFFICEMANAGEMENTSYSTEM,ANDRELEASETHEUSERLOGON,TABLEMANAGEMENT,ORDERINGMANAGEMENT,COMBINATIONMANAGEMENT,CHANGETABLEMANAGEMENT,CHECKTABLEMANAGEME

7、NT,SETTLEACCOUNTSMANAGEMENT,UPDATEMANAGEMENT,ANDOTHERWEBSERVICEINTERFACE,ITCANBECALLEDONAVARIETYOFPLATFORMS,INCLUDINGANDROID,ETC,INORDERTOACHIEVEAWIRELESSORDERINGFUNCTIONTHISPAPERFINALLYSUMMARIZESTHESYSTEMCHARACTERISTICSANDPROSPECTSOFITSFUTUREDEVELOPMENTKEYWORDSWIRELESSCOMMUNICATIONANDROIDSERVERWEBS

8、ERVICE苏州科技学院本科生毕业设计(论文)I目录1引言111选题背景和意义112无线点餐系统简介213本文的主要工作及组织结构2131本文的主要工作2132本文的组织结构32需求分析421功能需求422用户群体描述523业务流程分析6231访客浏览6232点菜流程6233结账流程7234管理用户信息824数据通讯83概要设计1031系统结构设计1032总体功能模块设计1133模块功能概要设计11331菜单管理模块11332餐桌管理模块12333订单管理模块12334用户管理模块12335WEBSERVICE接口124数据库设计1341数据库的需求分析1342数据库概念设计1343数据库逻辑

9、设计1544数据库的实现155详细设计1851菜单管理模块设计19511整体设计19512管理员输入信息的传递1952订单管理模块设计20521整体设计20522用户点餐功能21523邮件通知功能21524换桌、并桌功能21524结账功能2253用户管理模块设计22531整体设计22532用户注册功能22533角色管理功能22533个人信息修改功能2254WEBSERVICE接口设计22苏州科技学院本科生毕业设计(论文)II6系统实现2461开发环境及相关技术2462功能模块的实现26621菜单管理功能模块的实现2663点菜功能模块的实现27631添加菜品的实现27632邮件通知的实现2864

10、主要界面2865数据库操作347测试报告3771测试方案3772测试项目3773主要测试用例3874测试进度4075测试方法4176测试结果分析41761测试的局限性41762评价测试结果的准则41总结42致谢43参考文献44附录A译文45附录B外文原文51苏州科技学院本科生毕业设计(论文)11引言本章主要简述无线点餐系统的选题背景和意义,并对本文的工作和组织结构做了介绍。11选题背景和意义餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,然后将点菜的信息分别交由吧台收银、酒水、传菜部、后厨等部门,同时收银员要把所有的点菜单输入电脑中,才能生成相应的单据进行结算。在具体工作中容易出现以下

11、问题(1)手写单据字迹潦草从而导致上错菜、少上菜现象严重(2)加菜和查账程序较繁琐(3)处理特殊口味有遗漏和偏差(4)客人催菜遗忘现象较频繁(5)计算账单易出错(6)不方便人员管理等等。正因如此,无线点餐模式应运而生。采用无线点菜系统,服务员在点菜时就完成了输单过程,发送后系统自动分类,各部门立即分单打印,避免服务人员的来回跑动,节约时间,工作效率极大提高,工作流程更加合理、科学它不仅可以有效地提高餐饮业的工作效率,更可以规范服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。相比于传统餐饮行业使用纸质菜单作为主要信息媒介的点菜方式,使用无线点餐系统的优势体现在一下方面(

12、1)提高工作效率。采用无线点菜系统,服务员在点菜时就完成了输单过程,发送后系统自动分类,各部门立即分单打印,避免服务人员的来回跑动,节约时间,工作效率极大提高,工作流程更加合理、科学。(2)降低企业经营成本。可以随时调整菜谱(沽清、修改价格、更改图片等),如果是传统方式点菜,随着时间的推移,经常要变动菜谱,浪费纸张,费时费力。(3)创建良好就餐环境,提升企业形象。传统的点菜方式要求服务员要有传递单据的过程,在营业高峰期时,服务员为苏州科技学院本科生毕业设计(论文)2提高服务效率会经营跑动,造成餐厅混乱。而使用无线点菜系统,服务员就可在餐厅中完成各种操作,避免因服务员来回跑动产生的忙乱现象,大大

13、提升服务品质和服务形象,营造高档就餐环境,吸引更多的顾客。使用终端触屏点菜还可以让顾客看到更多的有关菜的信息,包括中英文菜品介绍、营养成分介绍、视音频等,同时友好的用户界面加上触摸及遥控技术可让顾客享受点餐的乐趣,极大提升餐厅档次和企业形象。在人们生活节奏越来越快的今天,相信无线点餐系统一定会有广阔的发展前途。12无线点餐系统简介无线点餐系统是针对餐饮行业的信息化服务和管理而开发的软件平台。该系统利用WLAN无线通信技术实现服务器端和客户端的通信。提供WEB端管理平台,管理员可以对餐厅的环境介绍、菜谱、餐桌进行添加、更新等操作。同时服务器端将这些功能通过WEBSERVICE发布给外部系统,能够

14、让ANDROID移动平台上的无线点餐系统客户端调用。点菜环节上,客户端通过调用服务器端的开台、点餐、并台、换台、结算等功能,让服务员可以用ANDROID手持设备在客人餐桌旁完成信息的录入,在服务器端生成订单,大大简化了点菜流程。顾客可以在点菜的同时直观的看到菜品信息,带给顾客良好的体验。13本文的主要工作及组织结构131本文的主要工作无线点餐系统服务器端是整个点餐系统的后台运行支持1在实现方式上服务器端和客户端通过WLAN,利用WEBSERVICE进行通信,使得服务器端只需要关注点餐数据的处理,而不需要对客户端发送的请求进行解析,相比较于HTTP请求的方式,不需要对每次通信进行确认,提高了数据

15、交换的效率。同时,WEBSERVICE是一种跨平台的通信方式,可以使用ANDROID或者WINDOWSPHONE的手机苏州科技学院本科生毕业设计(论文)3或平板作为客户端,使得系统的搭建变得灵活。2在功能方面无线点餐系统考虑到生活中点餐的实际,提供了用户登录,餐桌管理,点菜管理、并台管理、转台管理、查台管理、结台管理、更新管理、打印订单等在内的功能,并在用户提交订单之后,服务器端向用户注册的邮箱内发送一封点餐成功的邮件作为确认。3在系统升级方面管理员可以通过后台的WEB端管理界面对菜品信息、餐桌信息进行添加、删除和更新管理。服务器端的数据有改变的时候,客户端可以通过更新操作取得服务器端的最新数

16、据,从而保持数据的一致性。132本文的组织结构本文对无线点餐系统软件进行了原理和技术上的讨论,详细描述了该系统的设计思路和方法,在此基础上开发了可以实际使用的应用软件。本文包括内容如下引言描述了系统开发的背景和意义,简单介绍了系统的主要功能,并与传统的语音信箱进行了比较。需求分析利用面向对象的分析方法,建立各种环境下的用例模型,描绘出系统的功能、性能和其它需求。系统设计使用面向对象的设计方法,在需求分析确定的模型基础上,设计出软件的逻辑模型、软件各组成部分间的内在结构及实现方法。这一过程分为概要设计、数据库设计和详细设计三部分。系统实现论述了系统各功能模块的实现方法。测试报告对开发完成的软件进

17、行测试分析。结论总结本软件的特点和不足。苏州科技学院本科生毕业设计(论文)42需求分析本章主要阐述无线点餐系统的总体需求和相关界定,并由此提炼出系统的业务逻辑结构。21功能需求无线点餐系统的设计与开发应达到以下的总体目标,即主要功能需求1访客浏览功能餐厅环境介绍和特色菜的图片采用轮转方式展示,使用户在进入餐厅网站时就可以看到。(2)用户注册功能当用户准备点菜时需要进行信息的注册,以便在订单完成后发出通知。(3)用户登陆功能通过正确的用户名和密码进入系统查看菜单并进行点餐。(4)普通用户点餐功能输入人数、附加信息等选项,进入点菜页面选择要点的菜品,可以看到菜品的名字、图片、价格、描述等信息,通过

18、点击数量两侧的加减按钮选择要点的份数,点击点餐按钮将相应菜品加入到临时订单。(5)查看已点菜临时订单功能用户点餐过程中可以点击查看详情按钮查看已点菜信息,如果有不需要的菜品可以在此页面中删除,可以继续添加菜品。点菜结束后点击提交订单按钮将点菜信息保存。(6)电子邮件通知功能用户提交订单后,系统将发送邮件到用户的电子邮件地址,提示用户订单已提交成功。(7)用户订单列表功能普通用户可以查看自己的所有消费订单,并可将订单打印。未付款订单可以继续加菜。(8)用户信息查看、修改功能已登陆用户可以查看自己的信息并进行修改。(9)系统管理功能管理员可以添加禁用用户,并设置用户的角色。(10)WEB端管理功能

19、提供菜单内菜品的添加修改查询,餐桌的添加修改,订单的添加修改查询,付款结账,信息查看,打印菜单。11客户端点餐功能客户端使用ANDROID平板进行点餐,提供点菜、加菜、苏州科技学院本科生毕业设计(论文)5减菜、并桌、换桌、结账功能。12服务器端和客户端通信功能服务器端向外部发布WEBSERVICE,客户端收集用户点菜信息,并通过调用服务器端的WEBSERVICE将信息传递到服务器端处理,订单数据保存在服务器端。22用户群体描述1游客指到餐厅网站主页浏览的用户。打开网站首页可以浏览餐厅环境和特色菜肴的展示图片,如果需要点餐可以点击“开始点餐”按钮进行操作。2点餐用户如果未注册需要先注册才能点餐,

20、如果已注册需要用注册账户登陆后开始点餐。3系统管理人员、服务台负责餐厅菜品、餐桌信息的维护和订单结算。可以根据桌号查到最新消费订单,获得订单的详细信息进行结账。图21用例图苏州科技学院本科生毕业设计(论文)623业务流程分析231访客浏览1功能定义用户进入餐厅网站主页进行信息浏览,可以查看餐厅环境和特色菜肴。2前置条件1网站中放置要显示的环境和菜肴图片。2用户从WEB端进入餐厅网站首页。3业务流程描述用户进入餐厅网站主页进行信息浏览,可以查看餐厅环境和特色菜肴,如果关闭页面则退出,否则继续浏览。图22访客浏览流程图232点菜流程1功能定义用户根据需要选择要点的菜,选择需要的分数,点击点菜按钮,

21、相应的菜被添加到临时订单,查看临时订单后确定点菜信息再提交订单,邮件通知用户点菜完成。2前置条件1用户开始点餐前必须已登陆。3管理员已经将菜品信息添加到菜谱中。3业务流程描述苏州科技学院本科生毕业设计(论文)7图23点菜流程图233结账流程1功能定义用户用餐结束后,结账人员根据桌号和时间找到用户的账单信息,核对无误后结账。2前置条件1用户点餐后提交订单。2用餐结束。3业务流程描述图24结账流程图苏州科技学院本科生毕业设计(论文)8234管理用户信息1功能定义用户登陆后可以修改自己的注册信息。管理员可以查看用户信息并设置用户角色。2前置条件1用户必须已经注册并登陆。3业务流程描述图25用户管理流

22、程图24数据通讯服务器端和ANDROID客户端通信可以有多种选择方案,比如HTTP请求方式和WEBSERVICE方式。前者在处理请求操作时比较复杂,通用性差,不同语言之间很难共用;后者实现起来比较简单,而且遵循SOAP协议,各种语言之间的通用性也比较强。WEBSERVICE的主要目标是跨平台的可互操作性,具有以下优点(1)跨防火墙的通信;(2)应用程序集成;(3)B2B的集成;(4)软件和数据重用。WEBSERVICE也叫XMLWEBSERVICE,WEBSERVICE是一种可以接收从INTERNET或者INTRANET上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在WE

23、B上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XMLEXTENSIBLEMARKUPLANGUAGE扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是SOAP的基础。苏州科技学院本科生毕业设计(论文)9SOAPSIMPLEOBJECTACCESSPROTOCOL简单对象存取协议。是XMLWEBSERVICE的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的WEB服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTPS或者SMTP。WSDLWEBSERVICESDESCRIPTI

24、ONLANGUAGEWSDL文件是一个XML文档,用于说明一组SOAP消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。UDDIUNIVERSALDESCRIPTION,DISCOVERY,ANDINTEGRATION是一个主要针对WEB服务供应商和使用者的新项目。在用户能够调用WEB服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由

25、注册中心来返回需要的数据。基于以上特点,本系统采用WEBSERVICE方式解决服务器端和客户端的通信问题。苏州科技学院本科生毕业设计(论文)103概要设计本章主要阐述无线点餐系统的总体设计和主要功能模块。31系统结构设计系统主体结构如图31所示。其中数据库采用MYSQL数据库,存储菜品信息、餐桌信息、用户信息、菜单信息,便于数据的管理和查询。WEB容器采用TOMCAT服务器,后台管理和WEB端点菜模块放在服务器上,同时向外部发布WEBSERVICE,ANDROID客户端可以调用相应功能。交换机和无线APWEB服务器和客户端通信的中间层。点餐设备ANDROID平板或手机,通过客户端应用添加点菜信

26、息。网络交互网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。它是人们信息交流使用的一个工具。无线点餐系统通过无线AP将点餐设备和WEB服务器组成一个局域网(LAN),在局域网内进行信息的传输。图31系统结构图苏州科技学院本科生毕业设计(论文)1132总体功能模块设计我们的点餐系统有ANDROID接入和WEB登录两种接入方式,据此可将整个系统分为两大功能模块群。当用户使用ANDROID接入时,主要有订单管理模块。当用户使用WEB方式接入时,普通用户有订单管理模块和用户管理模块,管理员有菜单管理模块、餐桌管理模块、订单管理模块和用户管理模块。系

27、统模块结构如图32所示。图32功能模块图33模块功能概要设计331菜单管理模块此模块主要实现管理员对菜单的管理功能。管理员登陆后可以使用菜单管理模块的“添加菜品”功能向菜谱中加入新的菜品信息。如果菜品的单价或图片等有改苏州科技学院本科生毕业设计(论文)12变,可以使用“更新菜品”功能对菜谱中的信息进行更改。菜品下架后可以使用“删除菜品”功能从菜谱中删除。332餐桌管理模块此模块主要实现管理员对餐厅餐桌的管理功能。当餐厅需要新增桌子或对已有桌台进行更改时,可以使用此模块功能。333订单管理模块用户登陆后可以新增订单开始点菜,点菜完成后需要到临时订单页面确认订单信息,确认无误后点击提交订单完成点菜

28、。就餐过程中可以加菜、去菜、换桌、并桌,就餐完成后可以使用系统进行结账。334用户管理模块此模块完成用户个人信息的修改和管理员对用户权限的更改。用户本人登陆后可以修改注册信息和密码,管理员可以修改其他用户的角色和权限。335WEBSERVICE接口WEBSERVICE接口提供以下功能(1)客户端数据更新服务。当服务器端的菜品和餐桌信息变更时,客户端可以通过调用服务器端的数据更新接口获得最新的数据,从而保持了客户端和服务器的数据一致性。(2)用户点餐服务。订单数据在服务器端维护,用户点餐时调用新增订单及点菜、加菜、减菜、换桌、并桌等接口完成点餐的操作。结账时提供结账的WEBSERVICE接口。苏

29、州科技学院本科生毕业设计(论文)134数据库设计本章主要阐述无线点餐系统的数据库需求、设计和表的实现。41数据库的需求分析在设计数据库时,不同主题的信息应存储在不同的表中,并遵循下列规则同一信息只保存一次;防止删除有用信息。只有在统一信息只保存一次的前提下,才能减少数据冗余性和出错的可能性。为了防止删除有用信息,最好的解决方法就是把不同主题的信息放在不同的数据表中。无线点餐系统需要记录菜谱信息,餐桌信息,订单信息,用户信息。对于订单信息来说,一个订单会点了很多菜,一个菜会在多个订单中被点,属于多对多的关系,在数据表的设计中容易出现数据的冗余。系统中采取了添加一个中间表的方式,将订单信息和菜品信

30、息分别完整的记录在自己相应的表中,中间表则记录订单和菜品的对应关系,减少了数据的冗余。42数据库概念设计在概念设计阶段中,我们从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。1实体和属性的定义用户(用户ID,用户名,用户密码,用户邮箱,用户电话,用户状态,用户类型);餐桌(餐桌ID,餐桌编号,最佳人数,餐桌是否忙,餐桌图片,最大人数,预定时间,是否删除);菜品(菜品ID,名称,图片,价格,折扣,类型,用时,是否删除,描述,附苏州科技学院本

31、科生毕业设计(论文)14加信息);订单(订单ID,总价,总人数,总菜数,下单时间,预定时间,订单状态,附加信息,描述,用户ID,餐桌ID);订单_菜品订单菜品ID,描述,点菜份数,订单ID,菜品ID2ER关系图系统的ER关系如图41所示。图41ER关系图解释如下1一个餐桌上在不同时间可以有多条订单信息,而一个订单只能有对应着一个餐桌。(换桌或并桌时把订单对应的餐桌ID改掉)2一条订单信息对应一个用户,一个用户可以点多个订单。3一个订单对应多个订单_菜品记录,一个订单_菜品记录对应一个订单。4)一个订单_菜品记录对应一个菜品,一个菜品对应多个订单_菜品。苏州科技学院本科生毕业设计(论文)1543

32、数据库逻辑设计由于概念设计的结果是ER图,DBMS一般采用关系型(我们采用的MYSQL就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可充分运用关系数据库规范化理论,是设计过程形式化的进行。数据库关系模式如图42所示。图42数据库关系模式图44数据库的实现MYSQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MYSQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置MASSDEPLOYED的软件中去。MYSQL是一个关系数据库管理系统,关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个

33、大仓库中要好得多,这样做将增加你的速度和灵活性。MYSQL是开源的开源意味着任何人都可以使用和修改该软苏州科技学院本科生毕业设计(论文)16件,任何人都可以从INTERNET上下载和使用MYSQL而不需要支付任何费用。MYSQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口APIS。各数据表的物理实现如表41、表42、表43、表44、表45所示。表41用户表表名用户表USERS说明记录用户的个人基本信息编号字段名数据类型是否为空是否为主键是否为外键说明1U_IDINTEGERNYN用户ID,自动增长2U_NA

34、MEVARCHAR150NNN用户名3U_PASSWORDVARCHAR150NNN密码4U_EMAILVARCHAR100YNN用户邮箱5U_TELVARCHAR45YYN电话号码6U_STATUSVARCHAR45YNN用户状态,默认ACTIVE7U_ROLEVARCHAR45YNN用户角色,分为USER和ADMIN。表42菜品表表名菜品表FOOD说明记录菜品的相关信息,为各功能模块服务编号字段名数据类型是否为空是否为主键是否为外键说明1F_IDINTEGERNYN菜品编号2F_NAMEVARCHAR200YNN菜品名称3F_PICVARCHAR300YNN菜品图片地址4F_PRICEDO

35、UBLEYNN菜品单价5F_DISCOUNTDOUBLEYNN菜品折扣6F_TYPEVARCHAR100NNN菜品类型7F_TIMETOUSEDOUBLEYNN做菜所需时间8F_STATUSVARCHAR100YNN菜品状态,是否删除9F_ADDONVARCHAR300YNN附加信息10F_DESCRIPTVARCHAR800YNN描述信息表43餐桌表表名餐桌表TTABLE说明记录餐桌的相关信息,为各功能模块服务编号字段名数据类型是否为空是否为主键是否为外键说明1T_IDINTEGERNYN餐桌编号2T_NUMINTEGERYNN餐桌号码3T_SIZEINTEGERYNN餐桌最佳人数苏州科技学

36、院本科生毕业设计(论文)174T_FLAGINTEGERYNN是否忙的标记5T_PICVARCHAR300YNN餐桌图片地址6T_MAXSIZEINTEGERYNN餐桌最大人数7T_PRETIMEDATETIMEYNN预定时间8T_STATUSTINYINT1YNN餐桌状态,是否删除表44订单表表名订单表OORDER说明记录订单的相关信息,为各功能模块服务编号字段名数据类型是否为空是否为主键是否为外键说明1O_IDINTEGERNYN订单编号2O_TOTALPRICEDOUBLEYNN订单总价3O_TOTALPEOPLEINTEGERYNN总人数4F_SIZEINTEGERYNN总菜数5O_C

37、URRENTTIMEDATETIMEYNN订单时间6O_PRETIMEDATETIMEYNN预定时间7O_STATUSVARCHAR100YNN订单状态,是否删除8O_ADDONVARCHAR300YNN附加信息9O_DESCRIPTVARCHAR800YNN描述信息10U_IDINTEGERYNY用户ID11T_IDINTEGERYNY餐桌ID表45订单_菜品表表名通话留言表CALLDETAIL说明记录呼叫的相关信息,为各功能模块服务编号字段名数据类型是否为空是否为主键是否为外键说明1OF_IDINTEGERNY订单_菜品ID2OF_STATUSVARCHAR100YN菜品数量3OF_ADD

38、ONVARCHAR300YN订单_菜品附加信息4O_IDDATETIMEYN订单ID5F_IDDATETIMEYN菜品ID苏州科技学院本科生毕业设计(论文)185详细设计本章主要阐述无线点餐系统各功能模块的实现过程。无线点餐主要由菜品管理模块,餐桌管理模块,订单管理模块,用户管理模块构成。模块中均采用了分层设计,由ACTION层取得用户数据,SERVICE层做业务逻辑的处理,DAO层负责和数据库的交互。SPRING贯穿在三层中,负责HIBERNATE的配置和BEAN的依赖注入,方便程序的协同工作。菜品管理分层结构的分层如下图51分层结构图图52MANAGEFOOD类图苏州科技学院本科生毕业设计

39、(论文)19图53FOODMANAGESERVICE类图51菜单管理模块设计511整体设计菜单管理分为添加、更新、删除操作。添加菜品信息由管理员在添加页面上输入。在数据库菜品表中有一列记录菜品当前状态,新添加进去的记录为“ACTIVE”状态,表示当前菜单中菜品可用。更新操作首先从数据库取得原来的数据显示到页面上,管理员对相应信息做完修改后点击确认按钮,通过业务层之间的调用将数据库中的信息更新。删除分为将记录从数据库清除和将记录标记为不可用两种方式,前一种称之为“硬删除”,后一种称之为“软删除”,本系统中采取了“软删除”的方式,即将要删除的菜品信息在数据库中标记为不可用。在其他显示、查询等操作中

40、,对于标记为不可用状态的数据不做操作。512管理员输入信息的传递数据信息从前台由管理员录入,在STRUTS的ACTION中分别有相应的字段和用户输入的信息对应,在ACTION中获得用户输入的信息后调用业务逻辑SERVICE层的添加菜品方法,将数据传到SERVICE层组成FOOD实体,然后交由DAO层保存到数据苏州科技学院本科生毕业设计(论文)20库。数据流图如下图54信息输入数据流图52订单管理模块设计521整体设计用户开始点餐时首先输入人数等信息创建一个新的订单,状态为“NEW”,点菜过程中订单内的点菜数据增加,状态认为“NEW”,点菜完成时用户点击提交按钮,订单状态变为“SUBMITTED

41、”,用户付款后订单状态变为“PAYED”。参见图55“订单状态”状态迁移图。图55订单状态迁移图苏州科技学院本科生毕业设计(论文)21522用户点餐功能用户首先在新增订单页面输入就餐人数等信息,点击提交按钮后新的订单创建,页面跳转到点菜页面,用户浏览菜单信息,选择要点的菜,使用数字输入框左、右两边的加减符号改变要点的份数,点击“点餐”按钮将选择的菜品加入订单。所有要点的菜全部完成时,可以进入查看详情页面查看当前已点了哪些菜,并可以进行加菜、减菜操作。信息确认无误后点击“提交订单”按钮将点菜信息保存到数据库。同时,系统会发送一封邮件到点餐者的注册邮箱。整个点餐过程完成。图56用户点餐时序图523

42、邮件通知功能当用户提交订单后系统根据点餐人的注册信息,向点餐人的邮箱内发送一封点餐成功的邮件。可采用JAVAMAIL的相关功能,使用POP3或SMTP协议发送邮件,要求发送者邮箱即系统默认用来发送邮件的邮箱必须支持POP3或者SMTP协议。524换桌、并桌功能顾客在就餐过程中如有需要换桌或并桌可以由以下方式实现苏州科技学院本科生毕业设计(论文)22换桌将当前订单号和目的桌号由用户输入,后台根据输入的数据将当前订单的桌号改为目的桌号。并桌将用户要求的两个订单桌号改为同一个。524结账功能管理员查询到当前要结账的订单,确认订单信息及应付款后点击付款按钮,相应订单信息改为已付款。53用户管理模块设计

43、531整体设计用户管理模块的主要功能有用户注册,用户登陆,密码修改,个人信息修改,用户角色管理,权限管理。532用户注册功能用户点菜时需要先注册为系统的用户,点击注册链接转到注册界面,填写个人信息后点击注册按钮,确认信息无误后注册成功,转到用户登陆界面。533角色管理功能用户角色分为管理员和普通用户两种。管理员可以在用户管理界面设置用户的角色。角色切换后相应的权限也做改变。533个人信息修改功能已登陆用户可以修改自己注册的个人信息,系统分配的用户ID和用户角色不可以更改,应由管理员进行管理。54WEBSERVICE接口设计订单管理模块WEBSERVICE提供以下接口(1)添加订单接口PUBLI

44、COORDERADDORDERINTPEOPLENUMBER,INTTID,STRINGOADDON,STRINGODESCRIPT,INTUID苏州科技学院本科生毕业设计(论文)23PEOPLENUMBER就餐人数;TID餐桌ID;OADDON订单附加信息;ODESCRIPT订单描述;UID用户ID;返回OORDER实体。(2)点菜功能接口PUBLICBOOLEANORDERADDFOODINTOID,MAPTEMPMAPOID订单ID;TEMPMAP菜品ID和需要份数的键值对返回BOOLEAN,标记点菜是否成功。(3)减菜功能接口PUBLICBOOLEANDELETEFOODINTORDE

45、RID,INTFOODIDORDERID订单ID;FOODID要删除的菜品ID;返回BOOLEAN标记删除是否成功。(4)换桌功能接口PUBLICBOOLEANCHANGETABLEINTORDERID,INTCURRENTTABLEID,INTDESTABLEIDORDERID订单ID;CURRENTTABLEID当前桌编号;DESTABLEID要换到的桌号;返回BOOLEAN标记换桌是否成功。(5)更改就餐人数接口PUBLICBOOLEANCHANGEPEOPLENUMBERINTORDERID,INTPEOPLENUMBERORDERID订单ID;PEOPLENUMBER就餐人数;返回B

46、OOLEAN标记更改人数是否成功。(6)计算订单总价接口PUBLICDOUBLEGETTOTALPRICEINTORDERIDORDERID订单ID;返回订单总价;(7)付款功能接口PUBLICBOOLEANPAYORDERINTOIDOID订单ID;返回BOOLEAN标记付款是否成功。服务器端向外部发布WEBSERVICE时,在WEBXML中配置AXISSERVLET的拦截器,处理WEBSERVICE请求。AXIS2和SPRING结合使用,将上述接口的信息配置在SERVICEXML文件中,由SPRING管理WEBSERVICE中的BEAN实例,将接口提供的功能发布到外部。苏州科技学院本科生毕

47、业设计(论文)246系统实现61开发环境及相关技术1ECLIPSEECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。ECLIPSE平台的目的,是提供多种软件开发工具的整合机制,这些工具会成为ECLIPSE外挂程序,平台必须用外挂程序加以扩充才有用处。ECLIPSE设计美妙之处,在于所有东西都是外挂,除了底层的核心以外。这种外挂设计让ECLIPSE具备强大扩充性,但更重要的是,此平台提供一个定义明确的机制,让各种外挂程序共通合作透过延伸点EXTENSIONPOINTS与贡献CONTRIBUTIONS,因此新功能可

48、以轻易且无缝地加入平台。2TOMCATTOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。TOMCAT具有开源免费,小巧灵活等有点,适合中小型的应用。3MYSQLMYSQL速度快,开源免费,支持多种操作系统,适合一般中小应用。在后台程序中我们使用MYSQL自带的CAPI的方式对其进行操作,在WEB查询模块中我们使用JDBC接口。4STRUTSSTRUTS最早是作为APACHEJAKARTA项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JAVA

49、SERVERPAGES、SERVLET、标签库以及面向对象的技术水准。STRUTS是建立在MVC这种公认的好的模式上的,STRUTS在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集苏州科技学院本科生毕业设计(论文)25中统一的权限控制、校验、国际化、日志等等;5SPRINGSPRING是一个开源框架,它由RODJOHNSON创建。它是为了解决企业应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的事情。然而,SPRING的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何JAVA应用都可以从SPRING中受益。6HIBERNATEHIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。7AXIS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。