版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Java的点餐网站系统的设计与实现目录TOC\o"1-3"\h\u8921摘要 (绪论(一)研究的背景和意义上世纪90年代,互联网逐渐走进人们的视线中,在潜移默化中正在改变着现代人的日常生活。国内外各大企业也认识到互联网的重要性,开始坚持不断地探索网上生活的可能。但由于网络的巨大虚拟性,相关网络方面的法律法规也未出台,还有网络与现实交融断层的一些问题,都已经成为了人们影响互联网生活的绊脚石。但是,社会的发展和进步仍然是非常具有长期和可持续性的,21世纪以来,各个技术瓶颈的问题已经包括餐饮外卖、物流快递、法律规章等被一一突破,网上生活时代也必将随之到来。据调查表明,由于现代计算机科学信息技术的进步与发展以及网络交易人数的增多,网络这个世界日益广博,越来更为丰富,极大一定程度上使我们繁荣了人民日常的物质生活,网络交易也已然是成为了一股全新的潮流。它在给人们的消费模式注入活力的同时,也因为便利性极大地冲击了原有的传统消费习惯,特别是以食品外卖为代表的网络消费交易量将在目前几年达到高峰。网站点餐这一方式,在青少年人群中拥有绝对的支持者,而造成这种现象的原因,不仅仅是因为网站点餐的便利,同时还包括相关网站对使用者的引导。(二)国内外研究现状电子商务(electroniccommerce)是计算机网络所带来的又一次革命,它的发展将形成新的交换体制,产生新的市场规则,冲破时间与空间的限制,加快全球市场一体化的进程,电子商务还将有力地推动信息和信息服务业的发展REF_Ref9492\r[6]。它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等其他社会层面,是一个与社会大环境息息相关并且具有完整结构体系的系统工程REF_Ref9492\r[6]。电子商务的发展为网络交易带来了勃勃生机,使得网络交易迅速成为一种非常活跃的电子商务模式REF_Ref9492\r[6]。与传统排队点餐、人工结账方式相比,网络点餐在服务上具备了一些先天性的优势。一个就是费用;科学技术的日渐进步和发展,使得顾客能够直接通过自己的网站点餐,省去了服务员记单和算账等各个环节,从而有效地节省了人工成本,带来了消费者与商家实现双赢。二是便捷;与传统的运营方式相比,网站点餐实现了客人随时点餐和结账的自由,后厨也能够实时接到信息,运转灵活,方便快捷。三是风险;网站记录客人桌号以及点菜单,能够有效防止餐品遗漏,后期结账也使用机器计算代替了人工计算,根源上解决了现金交易可能带来的风险。相关专家表示,社会经济将会继续发展,人们的消费水平也会随之提高。此时,在保证基本的物品供应后,人们还可能会开始期待更加便利快捷的选择自己的购物途径。在这一新兴市场需要的推动下,商家将会推出多种新型的购买商品和服务方式,会来促进产品的销售,而这些创新都是由先进技术驱动的产品和设备来为其提供支持。(三)研究的主要内容点餐网站系统是一项极大的便民措施,它能够允许客人自主点餐,然后商家查单,后厨制作,最后客人结账付款。这整个的业务功能实现过程中存在着诸多的问题和困难:1.访问舍友等身边人和餐厅商家对目前点餐网站的意见,收集目标需求,做出需求分析文档,为系统开发打好基础。2.研究目标系统的功能模块,充分利用现有资源,努力提高系统效果。满足用户随时查询订单,随时加菜下单,随时结账的业务功能需求。(四)本文的组织安排第一章绪论,本文开始会写出选题的理论意义与实践意义,紧接着分析国内外研究现状,最后是本文需要研究的创新点以及全文的行文安排。第二章简单地介绍了本系统的一些有关技能。第三章根据不同的用户特点给出了需求进行分析,然后再做一个具有可行性的分析。第四章以用户的需求为基础做出具体的设计,第五章则是具体数据库的设计。第六章依靠分析和设计来实现不同功能。第七章测试制度。最后第八章对整个工作过程进行总结。相关技术(一)B/S结构介绍作为比C/S多一层架构的B/S结构,因为添加了中间件作为系统缓冲,一定程度上解放了客户机的压力,成为当下网络系统应用的首选。(二)JavaScript语言介绍毕业设计学习过程当中的一个问题前台使用jsp的页面很多都认为是基于采用JavaScript的一种新型前端设计脚本语言。JavaScript能基于一个对象和事件驱动器来给出一个新的语法形式去用来操控一个文字、数组、日期和其他正则数变化的函数表达式,是一种相对安全的解释型编程语言。经常在HTML中添加用户响应等动态功能。(三)MySQL数据库介绍MySQL由瑞典MySQLAB公司开发的小关系型数据库管理系统,属于甲骨文旗下产品。其特点是小型,开放源,适用性好,运行和反应速度快,可靠性高,很多中小网站的开发者都对MySQL感兴趣,并将其作为网站的数据库来使用。(四)MyEclipse介绍MyEclipse开发软件为了方便进行系统工程项目开发,合理地进行管理和项目的设计。与其他使用较多的eclipse软件相比,myeclipse基于eclipse进行了一些功能性改善,优化了eclipse的应用开发环境,最大限度地进行了开发拓展。比如说使用Eclipse时需要自己找插件,MyEclipse基本上是在使用之前自动收集。这个方便开发者的开发。而且,MyEclipse开发软件也成功地整合了应用程序。系统需求分析(一)功能性需求分析1.总体功能需求概述参照了软件开发的标准和规范,需求分析的重点是通过这次需求分析,正确地理解了用户真实需求,完全正确地进行了项目和代码的设计,在每个项目都完成后就可以为用户提供满意的系统。不仅如此,软件研究和开发初期也可以针对各个软件项目做出相应的风险评价。最后再做一次全面的软件开发和设计。2.普通用户功能性需求分析注册时必须填写正确的用户名和密码。如果是临时用户的话,可以浏览首页,确认菜单和提示等信息,不能使用其他功能。登录后,则可以自身信息的修改等一系列操作。3.会员用户功能性需求分析充值成为会员用户外,可另外享受占桌,预定,以及会员价等特权。4.管理员功能性需求分析经营方管理者登录管理系统后,可调整订单网站系统的具体业务。例如,注册新的管理者,修改现有管理者的权限,进行分析管理商店内所有原材料的采购和统计。以及对员工状态的增加、删除调整。更重要的一点就是,对于现有的客户订单及时查看,以及对于客户的订购页面进行人性化管理,根据顾客留言,修改首页的营养提示板。5.主要数据流程分析如REF_Ref30946图1所示,系统数据流是由前端的服务器预处理的,即,确认数据的合法性和完整性。然后由前端来实现点餐成功返回的数据、参数、费用、黑名单等信息。前端完成交易数据的预处理之后,把信息在数据库中保存。服务器终端会对各子系统进行实时监控,并把所剩菜品和目前就餐情况等信息向前端传输,利于客户对该家餐厅的情况进行及时掌握,做出是否选择该餐厅的决定。其主要数据流程分析如图:图SEQ图\*ARABIC1系统主要数据流程分析(二)非功能性需求分析考虑到系统长期完全、可靠性高的稳定和高效实现工作需要,点餐系统需要满足以下几个方面:1.操作简单,画面良好。完整空间页面布局更容易输入信息;根据出现的提醒信息可以让客户能够随时了解自己在操作过程中的状态REF_Ref10233\r[3]。另外,网站管理的各个方面,例如基本资料的录入、浏览、搜索、删除、修改,客人对于菜品的下单以及其他支付手段都大致可以实现REF_Ref10233\r[3]。2.实时显示。客人点的菜单的信息要及时处理,首页的对应栏要显示“立即点餐,立即受理”。3.系统运行快速稳定、高效可靠。系统信息交换通道的宽带要留有足够的余地,能够满足突发高峰期的交换量。4.系统的多平台支持性和可伸缩性。页面主要使用java的JSP技术,因其平台无关性实现“一次编写,随时运行”。(三)可行性分析在软件开发前的阶段,项目体系的可行性研究分析工作是软件开发必不可少的。从多个不同的角度、次元来进行了可行性的分析,对整个项目做了更具体、更彻底的分析,从各方面对项目做了更深入的了解。技术可行性分析这次完成的项目系统,使用MyEclipse软件开发工具和现在很受欢迎的Java编程语言,简单灵活,是不二之选。2.经济可行性分析在这次的毕业设计中,项目整体的系统设计代码完成后,用户无需在自己的客户机上安装任何应用程序,只要正常使用互联网,就可以访问和使用系统。此外,用户可以通过配备系统服务器的互联网浏览器访问系统。3.法律可行性分析“基于Java的点餐网站系统的设计和实现”的毕业设计,不仅提高了经营者对订单的管理效率,还提供了订单的便利性和周到的优质服务,用户的体验感很好。而且整个开发过程都符合具体的软件开发流程和规范,过程中使用的都是一些免费的开源数据库开发工具,参考和使用的一些代码也都是开放论坛分享的代码。因此,网站系统在法律上是可以的。另外,接口的开发也将最大限度的简单明了,尽可能减少不必要的步骤,在最短的时间内充分理解餐厅的特色,迅速点菜。实现了只要会使用电脑查看网页,就能成功下单点餐。因此,在实际的操作上和可行性上亦是十分可靠的。系统设计系统的设计阶段是整个项目开发过程中最复杂的一个环节,也是整个项目设计中极为重要的环节。在进行项目系统设计之前,完成了自己的分析和设计。具体实现从数据分析阶段引入导出的抽象使用者需求,进行了编码。在一个项目体系的建立和设计中,需要考虑许多影响因素。但是由于我们在系统的实现中所面临的内部环境和其他外部影响因素,所以我们在工作中对于一个项目必须要有良好的业务和职能完备的工作态度。主要任务和目标是在系统设计阶段满足系统分析阶段提出的用户要求。所以,从用户的要求角度出发,在充分考虑技术、成本、时间环境等多方面的因素后,必须考虑到系统分析阶段获得的逻辑性功能。无论是进行中的整体设计结构还是局部各部分,都需要相关技术和对应方案。在合理的要求和基础上,满足项目系统所需的需求,提出具体的执行方案,实现功能完善,完成目标和要求。(一)系统总体功能架构设计作为订餐网站系统,主要提供方便、全面的订购服务,因此将重点放在面向广大客户的页面功能上,然后由管理者来管理菜单和系统。(二)系统主要功能模块详细设计1.用户登录、注册子系统由两个功能部分组成。未登录的用户只能浏览首页信息,一旦选择下单菜品,网站系统会自动弹出注册登录的请求。用户管理子系统此子系统包含三个功能模块。可以进行用户注册信息管理、用户注册信息修正等操作。点菜单管理,查看用户的已下单的菜品。用户的留言管理,实现客人与商家或者其他客人交流的平台。3.购物车子系统主要记录客人选择下单的菜品,实现增加、删除,并且自动实时显示所选菜品的总价格。4.收银台子系统与上个购物车都是本系统的核心功能模块。主要通过客人点击确认结算后自动跳转支付界面,同时满足微信、支付宝、银行卡等付款方式;支付成功后,自动完成本次在线支付。5.系统管理子系统想要改变点餐系统,只有管理员才能登录到系统的最终后台管理中,才能进行一连串的对应管理。登录时发生异常,出现登录失败等情况时,系统将要求管理者确认密码后再登录。登录成功后,可以通过系统的后台模块正确有效地管理整个系统。订单的处理、菜单的修改、追加、删除、员工的追加、删除、原材料的购买和使用登记、订购网站系统的现状等,都可以从订购系统的管理者模块中确认、分析,及时进行对应的调整。数据库设计主要E-R图图SEQ图\*ARABIC2系统E-R图分析(二)系统主要数据库表本系统主要包括9张表,分别是菜品信息数据表c_book,客人注册数据表表member,管理员数据表admin,菜品类别数据表c_booktype,客人评论数据表comment,购物车数据表gouwuche,营养小贴士数据表news,订单数据表num,订单详情信息数据表orderbook。其中重要的5张如下:菜品信息数据表c_book(主要用来记录菜品的基本信息,包括菜名、价格、描述等)字段名数据类型长度主键否描述Idint4是IDNamevarchar50否菜品名Authorvarchar50否厨师Pricevarchar50否价格Numbervarchar50否编号Typevarchar50否类别Sumvarchar50否数量Remarkvarchar50否描述Tatevarchar50否原材料Imgpathvarchar150否菜品图片客人注册数据表表member(使用点餐网站系统的用户的注册的信息)字段名数据类型长度主键否描述Idint4是IDNamevarchar50否用户名Pwdvarchar50发密码Sexvarchar50否性别Realnamevarchar50否真实姓名Agevarchar50否年龄Cardvarchar150否身份证号Phonevarchar50否联系方式Emailvarchar50否电子邮箱Codevarchar50否邮政编码Typevarchar50否会员管理员数据表admin(主要记录管理员的基本信息)字段名数据类型长度主键否描述Idint4是IDNamevarchar50否用户名Quanxianvarchar10否权限PwdVarchar50发密码菜品类别数据表c_booktype(主要记录当前菜品类型,后期可以由管理员增删改)字段名数据类型长度主键否描述Idint4是IDNamevarchar50否菜品类别名订单详情信息数据表orderbook(主要记录客人点单的基本具体情况)字段名数据类型长度主键否描述Idint4是IDUseridvarchar50否用户ID编号Bookidvarchar50否菜品编号Booksumvarchar50否菜品数量Timesvarchar50否点餐时间系统实现(一)系统开发环境本系统开发的计算机环境是自己的电脑,型号是HPPavilionNotebook,处理器为英特尔酷睿i57代系列,内存容量8GB;显卡芯片品牌NVIDIA,型号NVIDIAGeForce940MX;硬盘品牌是三星和西部数据,容量1T;使用的系统是Windows10家庭中文版。在开发的系统中,主要使用的库是目前人气较高的免费数据库MySQL。项目系统开发管理的软件是MyEclipse。使用的技术主要有JSP技术和前端脚本语言JavaScript,以及java语言、HTML标签等。这次完成的项目系统不需要安装客户端程序,只需要通过浏览器就能很好地使用所有功能。(二)系统主要子功能实现1.前端页面功能实现(1)前台模块子系统实现好的首页为系统带来了良好的宣传效果,体现了系统的主要功能。然后让更多的用户能够迅速掌握如何使用它们的方法,满足现在的需求。首页的运行效果图如REF_Ref6779图3所示。图SEQ图\*ARABIC3运行首页效果图如图,用户首页展示了客户端的功能,用户可以通过功能导航栏,来实现自己目前的需求。首页的部分JSP页面代码如下:<tableborder="0"width="99%"cellspacing="0"cellpadding="0"height="100%"><tr><td><%ArrayListalNewly=(ArrayList)request.getAttribute("books"); ArrayListalType=(ArrayList)request.getAttribute("type"); inttem=0; intx=0; if(alNewly.size()%3==0){ tem=alNewly.size()/3; }else{ tem=alNewly.size()/3+1; }for(intn=1;n<=tem;n++){%><tablecellspacing="0"cellpadding="3"width="710"border="0"><tr><%for(inti=n*3-3;i<alNewly.size();i++){ ArrayListalNewlyRow=(ArrayList)alNewly.get(i);%><tdalign="middle"width="710"> <tableborder="0"cellspacing="0"cellpadding="0"><tr><tdcolspan="2"align="center"bgcolor="#FFE3BB"><fontcolor="#ff9900"><% for(intj=0;j<alType.size();j++){ ArrayListalTypeRow=(ArrayList)alType.get(j); if(alTypeRow.get(0).equals(alNewlyRow.get(8))){%><ahref="servlet/SearchServlet?types=<%=aTypeRow.get(0)%>"><%=alTypeRow.get(1)%></a><%break;}}%></font>(2)用户登录注册子系统实现使用系统订餐,首先需要注册用户。登记后可以享受下单服务。如果没有注册账户,系统页面上有注册的入口。已经注册的用户想调整当前使用的用户信息。系统也提供会员中心管理页面,实现用户的需求。(3)用户点餐管理子系统客户使用的客户订单系统的主要功能是为用户提供方便的在线订购服务。这次设计实现的订购服务主要通过两个接口向用户展示菜单。第二个是检索订单,点击首页上的工具栏的菜单检索,输入料理的名字和料理的所属类别,搜索目标点餐。菜品搜索的servlet部分主要代码是:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Validatevd=newValidate(); Stringname=vd.getUnicode(request.getParameter("name")); Stringtypes=vd.getUnicode(request.getParameter("types")); Stringsql="select*froms"; String[]args={"id","name","author","publishing","number","price","storage","brief","type","tate","sums","imgpath","price1","sums1"}; if(name!=null&&!name.equals("")){ sql+="wherenamelike'%"+name+"%'";//构建对菜品名称查询的SQL语句 } if(types!=null&&!types.equals("")){ sql+="wheretype='"+types+"'";//构建对菜品类别查询的SQL语句 } SelectBeansb=newSelectBean(); ArrayListal=sb.select(sql,args); request.setAttribute("search",al); RequestDispatcherrd=request.getRequestDispatcher("/qiantai/search.jsp");//跳转到前台菜品搜索页面rd.forward(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doGet(request,response); }客人点餐成功后,点击进入购物车模块。购物车会显示目前为止客人所有下单的菜品,并且自动计算出菜品的价格总和。点击收银台,会自动跳转进入支付界面,客人可以通过选择微信、支付宝、银行卡等网上支付方式来进行付款,结束点餐。(4)用户其他功能操作实现订购网站系统不仅让用户进行注册、信息修正的操作,更重要的是让用户体验到更好的订购服务。因此,系统除了上述订单页面以外,还可以添加更多的人性功能。营养小提示由商店管理员在后台进行编纂,然后在客户界面展示,给客人提供更贴心的服务。留言功能实现了顾客和商店信息交互,共同讨论,从而达到互利的结果2.后台功能实现(1)后台菜品管理子系统实现管理员通过添加新菜品,或者修改原有菜品,对点餐系统中的菜品进行调整,通过添加菜品的类别对菜品进行更加完善的管理。添加菜品时,可以添加菜品名、原材料、价格、菜品图片以及对菜品的描述,给客人展示这道菜的各个方面,促使客人放心地下单点餐。(2)销售点餐以及统计管理子系统实现作为点餐网站系统,对目前的订单的管理分析是必不可缺的。只有处理分析好客人的点菜单,才能更好地了解到客人的口味需求,并且适时做出准备调整,以调高效率和营业额。并且还可以将统计信息部分提供给客人展示,推荐客人下单,从而形成商家自己的一道特色。这些有力的数据分析对餐厅的发展十分重要,这也是点餐网站系统被众多餐厅所选择使用的原因之一。系统测试作为完全规范的软件开发过程,在系统设计和代码开发完成后,进行软件测试是非常重要的一部分。开发测试,是对所使用系统性能和质量的综合鉴定,也是对项目最初的需要分析、系统整体设计、代码开发检查等多方面工作的最终综合审查。(一)系统测试步骤系统测试需要单元测试、集成测试、确认测试以及系统测试4个步骤。(二)系统测试内容1.前台首页测试点击首页上的功能检索栏,输入要检索的菜单关键词,弹出要检索的菜单信息,说明这个模块可以执行。我和朋友对同一模块进行了大量的数据测试,确认了成功。2.购物车模块测试用这个模块修改测试数量单元。输入正确有效的数字。例如1、2、3、提示修改成功。如果输入数据不正确,则显示失败,系统将自动变更为数量1。通过随机数据测试,验证该功能无误。3.菜品管理测试点击菜品添加功能,选定菜品名称、价格、图片、描述等信息进行上传,所有信息完整时可添加成功,信息不完整则显示失败。接着删除上一条添加的信息,两次确认后即
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传染病发热患者的口腔护理
- 体液失衡病人的药物治疗护理
- 2026年陕西省西安市经开区初三第一次联合考试英语试题理试卷含解析
- 安徽省滁州市全椒县2025-2026学年初三下学期第三次联考语文试题含解析
- 新疆伊犁州名校2026年初三下学期质量检查(一)物理试题含解析
- 江西省吉安市遂州县达标名校2026年初三第二学期期中练习(一模)语文试题试卷含解析
- 浙江省逍林初中2026届初三3月起点调研数学试题试卷含解析
- 江苏省淮安市淮阴师院附中2025-2026学年初三下学期第四次月考语文试题试卷含解析
- 学前教育教师资格证历年真题模拟八
- 学校后勤工作管理标准
- 充装站安全绩效考核制度
- 2025年高考贵州卷物理真题(试卷+解析)
- 2026年高速公路安全驾驶培训
- 2026年2026江苏省人民医院心血管内科打字员招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 大平层户型设计方案
- 2025年金融市场基础知识真题及答案
- GB/T 5563-2025橡胶和塑料软管及软管组合件静液压试验方法
- 云南省茶叶出口竞争力分析及提升对策研究
- 屠宰企业食品安全知识培训课件
- 卵巢黄体囊肿破裂课件
- 入职性格测试题目及答案
评论
0/150
提交评论