【《基于BS模式点餐系统的设计与研究》22000字(论文)】_第1页
【《基于BS模式点餐系统的设计与研究》22000字(论文)】_第2页
【《基于BS模式点餐系统的设计与研究》22000字(论文)】_第3页
【《基于BS模式点餐系统的设计与研究》22000字(论文)】_第4页
【《基于BS模式点餐系统的设计与研究》22000字(论文)】_第5页
已阅读5页,还剩39页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

I第1章绪论本章主要阐述了基于B/S模式点餐系统设计的相关问题,包括以下三个方面的内容:研究背景和意义,国内外研究现状和系统方案设计。1.1研究背景及意义随着各种智能设施的出现,数字时代进入了蓬勃发展的时期。现代科学技术的快速发展以及广泛的应用,从而让人们的工作和生活可以变得更加方便快捷。在商场、超市、金融行业、交通行业等随处可见智能设施的影子。应用这些设施,不仅能够减轻人们的压力,降低生活成本,还能有效提升效率,促进社会发展。在餐饮业,研究者把计算机技术与餐厅相结合,研发出了自助点餐的智能设施,让餐厅也跟上了时代的脚步。在点餐系统出现前,很多餐厅是用人工转移来操作服务,而这种传统的方式效率低且耗时,而如果随着在有限的时间里就餐人次升高,服务员可能会因为忙乱而出错,订单出错的概率也随之提高,在用餐高峰期更是会出现服务员人手不足的,顾客着急点餐的情况。从而引发顾客的不满和投诉,造成顾客流失,降低再次消费概率。而餐厅的服务质量也会下降,进一步危机餐厅声誉,造成不可估量的损失。而建立一个便捷高效的点餐管理体系,能更加优化管理的细节,使得餐饮行业的服务和管理有质飞跃,行业竞争和品牌形象得到显著的提升。本次毕业设计主要是针对当下餐饮业以人工方式操作的一些弊端,如人工收银,增加企业开支;管理者对餐厅的营业状况不了解,无法做到实时更新;订单混乱,上菜慢;人工收银高峰期排队时间长,易流失客户等问题。针对以上传统手工管理方法的不足,自助点餐系统应运而生。通过它,餐馆能够提高工作效率改善服务质量,同时管理者也能更好的管理餐馆降低成本。本文开发的点餐系统目的是为了自助点餐能够给用户带来良好的点餐体验,点餐、下单、结账等均由机器完成,快捷便利[1-3]。在人力投入方面,有了自助点餐系统,商家就能节省了人力资源的浪费,降低成本,提高服务质量;在菜品管理方面,店家可以通过后台进入到餐品管理模块,对现有餐品的删除以及新餐品的添加,操作变得更方便;结账方面,下单结账一体化,商家可随时查看订单明细,了解情况,能有效减少用户等待时间,提高上菜速度。现代信息技术发展迅速,越来越需要将科学技术应用于餐厅[4-6],而研发出自助点餐系统,不仅仅能够提升服务品质。且计算机可以代替人工完成大量的工作,还能够记录店家运营信息,让店家对餐馆的营运状况了如指掌,从而降低成本,增加收入。如此才能使得餐厅进入了系统化、科技化的时期,跟紧了时代的步伐。餐厅引进自助点餐系统,是对餐厅的一次重大的改革,具有深远的影响。一方面多数操作由机器完成,省时省心,提升店面形象,提高效率,减少人力资源的投入;另一方面,系统的操作界面简洁,绝大多数的操作变为点击相关内容达成目的,简单而又方便。用户能轻易上手,并且噪音小,为用户营造了一个安静舒适的用餐环境。再者,店家能登录后台进行菜品菜类别管理,用户管理,订单管理等操作,做到掌控全局。1.2国内外研究现状点餐系统最早发源与欧美,近些年在国内发展火热,与之相关的研究现状分别从国外研究现状、国内研究现状两部分进行叙述。1.2.1国外研究现状在上个世纪70年代之前,餐饮业的主要服务方式一直都是采用的传统人工方式。随着计算机信息技术在上个世纪末的迅猛发展,有很多的餐饮企业都意识到信息化对于餐饮行业的重要性。一些餐饮企业开始投资研发餐饮电子服务系统和信息管理系统,并开始投入使用,这些服务系统和信息管理系统的投入使用,使得餐饮行业得到了更进一步的发展。上个世纪70年代,国外开始出现一些餐饮服务系统的雏形,而国内则是在这十年之后才开始出现。这些餐饮服务系统的雏形也不过就是在总服务台使用一台PC机,然后用一些与PC机相连的外围设备,例如打印机等。实现的功能也只是基本的结账,核算还有打印收据等一些简单的功能。这个时期的餐饮服务系统还不能算是真正意义的餐饮服务系统,仅仅只是企业的内部财务管理的电算化,但这毕竟打开了计算机信息技术进入餐饮行业的大门。从上个世纪80年代末到90年代中期这段吋间,开始出现了一种新的餐饮服务管理系统,这种系统的诞生得益于局域网技术的飞速发展。这种系统使用C/S和B/S体系结构,采用触摸屏作为交互终端,并以有线的方式进行系统的连接。上个世纪90年代至今,互联网技术迅猛发展,网络渐渐成为人们生活中无法缺少的一部分。互联网也使得餐饮服务系统的概念得以扩展,人们可以通过互联网远程订餐和网上支付。欧美等西方发达国家的信息技术起步较早,所以各行业的信息化变革出现得较早。与国内相比,欧美餐馆的点餐系统可以看做以源头出现。例如,在德国,世界上第一家无人餐厅于2007年问世,餐厅的所有服务都由机器自动化完成。客户可以通过计算机设备浏览菜单,订购和结算从而完成一次无人交易。无人餐厅秩序井然,高效率,在高峰期间完全没有长期排队的顾客,所以客户对用餐环境非常满意,推动了无人餐厅的发展。自动餐厅的出现和良好运作完全服务于餐厅,这证明了信息技术在餐饮业中的变革作用。基于德国的无人餐厅,日本餐厅适应当前移动互联网的发展趋势,将点餐系统移植到智能终端。让客户可以通过餐厅APP提前预订点餐,这不仅节省了客户的等待时间,还进一步向人们展示智能点菜系统在信息时代带来的便利[7-9]。从历史发展的角度看,欧美餐饮业的信息化改革分为以下几个阶段:(1)餐厅有线点菜系统在餐饮业的传统手工订购模式中,食品的记录和订单管理媒体都是纸质的,容易出现订单问题。自20世纪80年代以来,随着计算机技术的迅速普及和各种信息管理系统的发展,餐厅已经开始建立自己的订单管理系统,并以电子技术完成订购、结算业务。在这个阶段,点餐系统的终端通常是PC端。(2)餐厅内无线点菜系统自20世纪80年代后期以来,随着嵌入式技术的发展和无线局域网的出现,基于无线PAD的餐厅点菜系统已经开始出现。使用该系统,服务员可以通过手持PAD完成订单。这种方法的出现大大提高了餐饮业的效率。(3)基于互联网的无线点菜系统自20世纪90年代以来,随着互联网和智能手机的迅速普及,餐馆的信息化进入了一个新的时代。目前,许多餐馆都有定制的移动应用程序,客户可以通过餐厅的移动应用程序在线浏览和操作。例如,法国巴黎的Storific是典型的移动端点餐系统,客户无需等待服务员即可浏览菜肴。1.2.2国内研究现状随着网络的快速发展,聪明的商家为了提高效率,跟上时代步伐,开始投身于网络点餐服务[10-13]。从自主搭建外卖网站平台开始,延展出一条完整的产业链条,即:网站平台搭建、自主产品生产线、自主配送团队及在线客服[14-17]。而网站订餐也仅是点餐发展滚滚车轮下的一缕烟尘。由于网站点餐有着管理混乱、产品局限性、成本居高不下等原因,最终会被更快捷,更完善的机制和模式所更迭,所以移动端的兴起恰恰印证了这一事实。基于互联网发展以及移动端的普及,O2O线上订餐是一个必然性的产物,是一个自动升级出来的形态[18-19]。线上点餐的出现正好对应外卖发展的野蛮生长期,它便以迅雷不及掩耳之势疯狂的抢占了市场份额[20]。点餐系统国内市场上也存在不少,例如:钱林、方派、食为天等品牌。而这些系统也趋于完善。能够提供多样的点餐方式,支持多种点餐方式,贴近生活,为用户着想[21];将用户点餐、前台收银、后台消单、餐厅叫号等方式融为一体,更加的便利;在支付方面,支持市面上各种方式,例如:微信支付宝、银行卡现金等,满足餐饮行业线上线下多种需求[22-23]。而在中小型餐饮店基本上都是人工式管理,集中表现为客人点餐,将菜品记录在单据上,服务员在旁边等候并且回答客人提出的相关问题,最后再集中上传。这种模式具有不透明性,同时用户无法了解到关于菜品的详细信息[24-25]。或许关于这些信息可以由服务员代为询问了解,再传达给用户,但这无疑又增加了服务员的负担,导致传达信息的不全面。在用餐的高峰时段,用户流动频繁,服务员会忙不过来,这样做不但会耽误客人的时间,也会使服务员造成某些细节上的错误,导致一些不必要的麻烦,降低了餐馆在用户心中的好感度,造成用户的流失,带来消极影响。所以对于餐馆和用户来说一个好的点餐系统是非常有必要的[26-28]。本次设计从模块开发细化方面入手,在能够处理以上问题的同时,加入一个不同身份点餐用户登录结算优惠额度不相同的功能,和一个特色菜品区界面,里面包含近期的热门菜品和推荐菜品,让用户能有更好的选择,为用户带来良好的体验。1.3研究内容和系统方案设计在本节中,分模块详细定义了系统各个模块应完成的功能,给出系统方案设计,并分别从系统功能定义、整体方案设计、前端界面方案设计及测试方案设计对系统方案做出详细阐述。1.3.1点餐系统功能定义本文提出的基于B/S模式的点餐系统可以让用户和管理员在不同的界面进行操作,该设计通过数据库和服务器让用户端点餐界面产生变化管理员端界面能够实时响应,而管理员端界面能对用户端点餐界面的注册用户信息进行查看,对用户端点餐界面的菜品信息做出详细修改。整个点餐系统的具体模块可以分为点餐用户操作模块,管理员操作模块。1.3.2点餐系统整体方案设计根据系统功能定义中的要求提出设计的基于B/S模式点餐系统的系统方案框图如图1-1所示,分为前端和后端。其中点餐系统前端部分包括点餐用户操作模块,管理员操作模块。在该设计中,点餐系统软件界面通过MySQL数据库实时更新实现两个模块界面及时互动功能,利用Navicat数据库管理工具对管理员操作界面进行底层的数据实时变动。图1-1基于B/S模式点餐系统方案设计框图系统运行后可分为两个界面,点餐用户界面和管理员界面,二者皆为前端界面可产生实时互动,用户在点餐界面下单后管理员界面可以实时观察到订单数据包括下单金额、下单地址、下单菜品数量类别等等,而管理员界面也可以修改点餐用户的信息包括不限于订单状态用户ID备注等等,而系统的网站服务器则是通过PHPstudy服务器管理软件创建,通过软件PHPstudy不仅免除了配置困难问题,还包含了PHP环境调试和开发工具,解决了Windows下环境配置困难的问题,Navicat是以直觉化的图形用户界面管理了数据库,方便快捷访问公用MySQL数据库中的信息。1.3.3点餐系统前端界面方案设计本文设计的基于B/S模式点餐系统,用户前端界面部分需要实现用户点餐界面模块,可分为用户注册、登录,通过网站主界面进行浏览菜品、点击菜品添加到菜篮子、统一进行结算、不同身份点餐用户登录结算优惠额度不相同、查看订单等功能。而管理员界面模块则需实现管理员登录、修改分类信息、修改菜品信息、订单管理等功能。前端界面设计如图1-2所示,界面方案主要就分为这两大模块,和其包含的众多小模块。图1-2基于B/S模式点餐系统前端设计框图1.3.4点餐系统测试方案设计为了验证点餐系统在用户和商家使用中的稳定性和有效性,在系统设计结束后需要对各模块的功能进行测试,测试主要包含以下三个方面:(1)点餐用户注册登录模块测试①用户未注册前随机输入账号密码能否出现此用户不存在的错误提示②用户注册后输入正确的账号密码能否登如入点餐界面③账号密码输入错误后能否出现错误提示④用户在点餐界面创建的账号密码能否登入管理员界面(2)点餐用户购买菜品模块测试①用户在点餐界面选购菜品是否能够成功加入菜篮子②在菜篮子中点击选菜是否能够成功返回点餐界面③用户点击下单后能否弹出下单成功提示是否能够转到后续界面④用户在菜篮子中点击订单详情是否能转到相应界面能否看到订单详情(3)点餐用户推荐菜品模块测试①用户进行多次点餐后能否出现推荐菜品②不同用户多次点餐后前者购买不同菜品是否会推荐给后者1.4论文章节安排本文主要研究了基于B/S模式下用JAVA语言设计一款点餐系统,使用Navicat软件工具包控制数据库下内容的变更,并使用PHPstudy搭建服务器连接数据库构成数据联动的功能,在章节上分为以下6章。第1章主要阐述了基于B/S模式点餐系统设计的相关问题,包括以下三个方面的内容:研究背景和意义,国内外研究现状和系统方案设计。第2章本章主要介绍了基于B/S模式点餐系统的相关开发技术和开发环境及使用到的软件工具包,相关开发技术主要包含JAVA、B/S结构、SSM框架、MySQL数据库,使用到的工具有eclipse、PHPstudy、Navicat。第3章本章主要阐述了基于B/S模式点餐系统的架构设计,系统功能设计及其系统架构设计,详细的介绍了系统的各个界面及其实现的具体功能。第4章本章主要阐述了系统数据库,系统功能模块,系统功能架构的设计实现和详细开发情况。第5章本章主要阐述了基于B/S模式点餐系统的软件测试,明确了测试的目的和内容,列出测试方法分别对各个模块内容进行测试得出结果,并对测试结果进行分析。第6章本章对该系统的设计进行了总结,并提出系统中存在的问题与不足,最后对系统的进一步完善进行了展望。

第2章相关开发技术及工具介绍本章主要介绍了基于B/S模式点餐系统的相关开发技术和开发环境及使用到的软件工具,相关开发技术主要包含JAVA、B/S结构、SSM框架、MySQL数据库,使用到的工具有eclipse、PHPstudy、Navicat。2.1相关开发技术本文所提出的基于B/S模式点餐系统的研究应用到了各种技术,以下是最重要的几种其包括JAVA,B/S结构,SSM框架,MySQL数据库。2.1.1JAVAJAVA语言是一种面向对象的编程语言。它不仅仅吸收了C++语言的优点,并且摒弃了C++中难以理解的指针的多重继承的概念。因此,JAVA语言具有易于使用和功能强大两个特点。JAVA语言作为静态面向对象编程语言的代表,非常完美地实现了面向对象理论,使程序员能够以优雅灵活的思维方式编写比较复杂的程序。JAVA让开发人员能够在PC机和服务器上开发和部署Java应用程序。JAVASE和组件技术提供了现如今应用程序所需要的丰富的点餐用户界面、性能、多功能性、可移植性和安全性。提供一个API和运行时环境,用于开发研究和运行大型、多层、可靠和安全的企业级应用程序,这些应用程序都是可移植的、可扩展的,并且非常容易与留下的应用程序和数据集成。2.1.2B/S结构此次系统的设计过程主要运用到了曾经在学校课堂学习过的B/S结构。所谓的B/S系统就是浏览器、服务器的系统结构。网上订餐系统使用B/S结构,主要就是需要在服务端的计算机安装数据库以及服务器。而在客户端只需要浏览器就足够了。服务器在服务端运行,浏览器在客户端运行。B/S结构作为目前最先进的软件构造技术,在用户使用的浏览器向服务器提交了一些请求之后,服务器端如果接收到了用户在浏览器端发送的请求之后,服务器端对从浏览器端接收而来的请求对其进行相应的业务逻辑处理,随后将其完成处理后的结果返回给浏览器所在的客户端。B/S结构也分为很多种,例如:针对OA系统的开发,这些系统主要包括应用程序的研发(基于C/S结构的开发),以及使用传统的C/S结构的跟网络技术结合的混合应用,以及到目前为止是我们常常用到的网站制作的技术。但是不可否认的是,每中结构以及技术都有自己的优点以及缺点:在此前的C/S结构中,更多的它是一种比较传统的使用较为广泛的软件开发的模式,主要是通过客户端以及数据库两层结构完成系统的实现,在两层之间还可以加入其他层次与结构,C/S作为先前传统的软件开发标准以及开发设计结构,在伴随网络和软件的开发技术快速进步,在各种新兴技术不断出现下,被取代或弥补了其结构的很多缺陷,于是也被其衍生出来的新兴结构技术在系统开发的过程中渐渐的将其取代。2.1.3SSM框架SSM框架的全称是spring、springMVC和mybatis。Spring作为业务逻辑层的操作,服务控制业务操作接口,并通过mapper实现;SpringMVC通过分离模型、视图和控制器来完成表示层的逻辑,并使用控制器从web界面获取点餐用户提交请求信息,是负责服务业务层;mybatis负责与数据库的交互。首先,创建不同的数据库实体对象,由映射器生成数据库映射。与SSH框架相比,SSM使用springMVC和mybatis来代替SSH中的struts和hibernate,使得SSH框架更加轻量级。与hibernate相比,mybatis对于SQL语句的使用更加简单和优化。对于该系统,使用SSM框架可以使系统开发更加方便快捷,开发速度快,效率高。2.1.4MySQL数据库数据库只是用来管理数据仓库。随着科学技术的飞速发展,数据库不仅被用来存储数据,而且逐渐成为各种点餐用户的数据管理方式,有多种形式。该软件中使用的MySQL数据库是由瑞典MySQLAB公司开发的,后来被美国SunMicrosyStems公司收购。MySQL数据库的开源为许多公司节省了大量资金。很多有实力的企业会对MySQL数据库进行修改,以更好地满足企业的需求。本系统采用MySQL数据库,充分满足数据存储的需要,安装方便,占用内存少,可用于多种操作系统。是一个流行的数据库。2.2使用软件工具本节介绍了研究基于B/S模式点餐系统开发过程中具体使用到的一些重要工具,如eclipse、PHPstudy、Navicat等。2.2.1eclipseIBM最初开发eclipse是为了取代visualageforJava,后者是一个开源的、可扩展的开发平台。当时人们主要使用eclipse来开发java语言,但后来人们也使用eclipse来开发python、C++等,eclipse具有高度的可扩展性,程序员可以根据自己的需要添加各种插件来增加其功能。eclipse安装简单方便,占用系统内存少,运行速度快,能够满足系统的开发需求。2.2.2PHPstudyPHPStudy是一个windows下的Apache/Ngnix+PHP+MySQL的集成开发环境,全面适合Win2000/XP/2003/win7/win10操作系统,支持IIS和Apache、Nginx、Lighttpd,支持CentOS、Ubuntu、Debian、Fedora、deepin,Web端管理及论坛技术支持一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMP与LAMP,PHPStudy比较适合快速的在windows下部署一个Web开发环境。有如下优点:(1)便于安装,部署方便(2)服务器版本快速切换(3)集成了很多实用的工具2.2.3NavicatNavicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。它可以用来对本机或远程的MySQL、SQLServer、SQLite、Oracle及PostgreSQL数据库进行管理及开发。Navicat的功能足以符合专业开发人员的所有需求,而且对数据库服务器的新手来说又相当容易学习。有了极完备的图形用户界面(GUI),Navicat让你可以以安全且简单的方法创建、组织、访问和共享信息。Navicat适用于三种平台-MicrosoftWindows、MacOSX及Linux。它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具及计划以协助管理数据。2.3开发环境及配置搭建开发环境及工具包括操作系统,JDK环境,编译器,web容器,数据库及其管理工具,前后端框架等,具体如下表2-1所示。表2-1开发环境及工具操作系统Windows10JDK环境JDK14编译器Eclipse2020-03Web容器Tomcat9数据库MySQL5.7.26数据库管理工具Navicat12JAVA主要框架spring-webmvc-4.3.9;spring-context-4.3.9;c3p0-0.9.1;mysql-connector-java-5.1.29;mybatis-3.4.4;jstl-1.2;gson-1.6;junit-4.12前端主要框架Bootstrap;Jquery;EasyUI2.3.1JDK14安装与配置进入下载列表,找到JavaSE8u191/JavaSE8u192,进入下载页面,在下载页面中勾选中JavaSEDevelopmentKit下的AcceptLicenseAgreement点击下载符合本地电脑系统的JDK。安装到默认路径,安装完后,需要配置环境变量如下。新的Java\Home系统变量,鼠标右键点击桌面计算机->进入属性->点击高级系统设置->高级->环境变量,其值是jdk14的安装目录,path变量创建一个新的%Java\Home%\bin。2.3.2Eclipse安装与配置进入下载页面,点击DownLoad255bit,然后安装选择EclipseIDEforjavaEEDevelopers,中途弹出许可页面需要打勾同意许可,安装完后,需要配置环境变量如下。安装完成后,配置阿里巴巴代码规范插件,Eclipse->Help->InstallNewSoftWare...->Workwith后填https:/plugin/eclipse/update并回车->选中并安装;然后配置findbugs插件,eclipse->help->InstallNewSoftWare...->Workwith后填http:/eclipse并回车->选中并安装;配置tomcat,配置方法:Eclipse->Window->Preferences->Server->RuntimeEnvironments->Add->ApacheTomcatv9->Tomcatinstallationdirectoryd:\Java\apache-tomcat-9.0.13-windows-x255\apache-tomcat-9.0.13;配置好后进行创建,eclipse下方点击Servers->Clickthislinktocreateanewserver...->ApacheTomcatv9->Finish;配置创建好的tomcat,ServerLocations选第二个UseTomcatinstallation;将Deploypath的wtpwebapps改为webapps;修改Timeouts中的Start和Stop;安装sts(SpringToolSuite3和4)插件以支持Spring。2.4本章小结本章分析研究了本文涉及到点餐系统开发中具体使用到的重要支持技术,以及使用到的软件工具包,最后介绍了开发环境的搭建,是本文开发系统的不可缺少的手段。

第3章系统功能架构设计本章主要阐述了基于B/S模式点餐系统的整体功能描述,系统功能设计及其系统架构设计,详细的介绍了系统的各个界面及其实现的具体功能。3.1点餐系统功能描述本系统目前分为前端和后端,点餐系统功能如图3-1所示。前端为具体的操作界面,目前前端的主要功能有:点餐用户操作:(1)点餐用户注册、登录功能(2)点餐用户可以通过网站主界面进行浏览菜品(3)点击菜品添加到菜篮子(4)统一进行结算(5)不同身份点餐用户登录结算优惠额度不相同(6)查看订单管理员操作:(1)管理员登录(2)修改分类信息(3)修改菜品信息(4)订单管理点餐用户操作步骤:点餐用户进行注册和登录,点餐用户类型有学生和老师等。点餐用户在菜品购买界面点击立即购买进入到订单界面。填写送货地址、手机号、姓名和买家的留言等信息之后下单。点餐用户在菜品购买界面点击添加到菜篮子按钮可以将菜品添加到菜篮子。选中菜品点击结算按钮进入到订单界面,根据点餐用户不同的类型进行不同的折扣。点击下单之后进入到付款界面。订单支付成功之后可以进入到所有订单界面。管理员操作步骤:管理员登录系统,点击网站后台,进入商城后台管理的分类管理界面,通过此界面可以对菜品价格、图片等信息进行修改,订单管理界面可以查看最近订单,对订单进行发货,点餐用户管理,菜单管理。图3-1基于B/S模式点餐系统功能图3.2点餐系统功能设计与实现本节主要介绍本系统开发预设的主要功能界面,预想此次开发系统主要实现的两大界面,分别为点餐用户操作界面和管理员操作界面。其中点餐用户主要实现的功能为,用户注册,用户登录,菜品浏览,加入菜品至菜篮子,点击下单,用户历史订单等。管理员主要实现功能应为管理员登录,菜品分类,菜品信息修改,查看用户订单,管理注册信息等。3.2.1用JDBC连接MySQL要用JDBC连接MySQL首先进行数据库驱动加载数据库驱动,通过forName方法实现:Class.forName("com.mysql.jdbc.Driver"),然后再连接设定的数据库,方法为连接URL=jdbc:mysql://localhost"root","root”,通过getConnection方法连接,其中的两个root分别为账号和密码,然后创建数据库操作对象,通过createStatement方法实现,接着执行sql语句就可以对数据库中的表单(user、account、food、log等)进行增删改查,将获取的数据库连接、数据库对象和执行sql语句生成的结果分别放入conn、st、rs中,获取完数据后就可以用close方法释放资源。此时实现数据库与服务器的连接。3.2.2编写util工具类在编写util工具类之前首先要向lib目录中导入相应的jar包,该jar包为mysql-connector-java-5.0.8-bin.jar,util类有两个分别是DBConn和Validate,DBConn用来连接数据库。本次设计总共有五个工具类,分别为AdminLoginBean、InsertUpdateDelBean、ReckoningBean、SelectBean、UserLoginBean,AdminLoginBean类用来读取用户登录时的账号密码;InsertUpdateDelBean类功能为:对相应表中的数据进行增删改;在ReckoningBean类中通过executeUpdate()函数执行相应sql语句实现功能:对books表中的数据进行更新、向orders表中插入订单数据(userid、bookid、booksum、times);SelectBean类可以查找数据,UserLoginBean类的功能为判断读取到的账号密码是否正确。下图3-2为JavaBean,图3-3为Util类。图3-2Bean类图3-3Util类3.2.3实现用户注册登录功能实现登录功能是在前端实现的,需要用到jQuery函数,向lib目录中添加jquery-3.4.1.min.js库文件,$().click(function(){})可以在页面加载时实现函数中的功能:在function()函数中读取用户名、密码,并且添加判断语句判断密码和用户名是否正确,在注册时,通过异步刷新运行function()函数,检测密码安全程度,符和规定的格式才能通过注册。通过正则表达式规定密码格式,密码的正则表达式格式为:规定密码长度6-16位,包含至少一个特殊字符,一个数字,一个大写字母和一个小写字母,此设定为用户密码字符格式。3.2.4JSP界面和CSS样本编写本次设计主要的Jsp页面有管理员登录界面,智能点餐系统后台管理界面,以及用户点餐界面等。管理员登录界面:在<head>中设置标题为智能点餐系统后台管理员登录,并在头节点中设置相应的meta标签和canvas标签,设置meta标签的作用:将度量属性动态显示,效果为当检测出账号密码正确时,将账号密码对应的div背景设置为对应的颜色。将method设置为post,这样编码无长度限制,编码后的内容地址不可见。在<scripttype="text/javascript">中编写相应的js代码,每当光标移出账号密码文本框时就检测其中的账号密码格式正确性,当格式正确的时候就通过json数据交换格式来传给后端,后端将账号密码与数据库中的账号密码进行比较,设置action地址确定密码成功后的跳转页面。对于css设置,将box-sizing设置为content-box;将body中的font-size设置为12px;color设置为黑色;line-height和text-align分别设置1.2和left。其余前端jsp界面的编写均和上述方法类似。3.3系统架构设计系统机构设计分为整体架构设计和本文中涉及到的菜品推荐算法架构设计,最后本节加入了算法的具体设计思想。3.3.1整体架构设计本项目采用的架构是MVC架构。MVC是一种使用MVC(ModelViewController模型-视图-控制器)设计创建Web应用程序的模式。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。本设计通过利用Spring去管理MVC的整体架构的生命周期。Controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量,提高了设计效率。Spring生命周期如图3-4所示。通过Spring初始化Bean图可以得到,访问其中每一个接口都可以得到json的数组,json数组是通过dao层访问数据库而得到,经过service封装判断等操作,最后通过访问controller层拿到。-图3-4Spring初始化Bean图Spring通过数据配置,将@ComponentScan定义的扫描路径去找到带有@Component的类,整个过程就形成了一个资源定位的周期流程。当找到了资源,Spring就开始解析过程,并且将定义的信息保存起来。但此时的Bean还没有初始化,还没有Bean实例,所以有的仅仅是Bean的定义。然后Bean定义会被发布到SpringIoC容器中,此时的IoC容器也只有Bean的定义,Bean的实例生成也未生成。在系统默认的情况下,Spring会继续去完成Bean的实例化和依赖注入,这样从IoC容器中就可以得到一个依赖注入完成的Bean。但是有些Bean只有在取的时候才能初始化和依赖注入。当系统运行时出现异常情况时,解决处理设计使用了Exception处理和钩子方法。(1)Exception处理,在程序正常运行过程中出现可以预料到的意外情况,被捕获进行相应的处理。主要根据转换异常、数据边界值异常等进行记录。(2)钩子方法预先提供了一个默认配置,为实现类方法提供了可选项。当JVM关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子。当系统执行完这些钩子后,JVM才会关闭。所以这些钩子可以在JVM关闭的时候进行内存清理、对象销毁等操作。3.3.2推荐算法架构设计采用协同过滤算法中的余弦相似度算法。将订单数据带入公式即可求出两个点餐用户之间的相似性,数值越接近于1,越说明两个点餐用户的浏览行为越相似,就可以把一个点餐用户浏览添加过的菜品推荐给另一个没有浏览过该菜品的点餐用户,从而完成菜品推荐这一功能,推荐算法架构如图3-5所示。图3-5推荐算法架构图3.3.3推荐算法设计思想通过将想法进行分层,分离出实体,业务等。将实体的属性从生活中和业务中找出来,从而进行数据库设计。界面设计思想遵循简约、美观。推荐算法采用系统过滤的余弦推荐算法,可视为通过余弦算法进行用户行为分析比对,从而得出用户点餐习惯。原理是在三角形中,余弦值cos30°=3/2,cos60°=1/2。很明显可以看到cos30°相比于cos60°更接近于1,所以角度越接近于0°,对应的余弦值越接近于1,构成这个角度的两条边也就越接近于重合,也就可以认为不同用户的点餐习性越趋于相同,从而进行菜品推荐。用户点餐推荐基于两个维度的获取,所以要计算两个点餐用户购买习惯是否相似。假设A点餐用户购买过四川菜,又买过东北菜,又买过啤酒,B点餐用户买了过四川菜,又买过东北菜,通过订单数据代入原理公式,此时就可以推测A,B点餐用户是相似点餐用户,所以为A点餐用户推荐啤酒。3.4本章小结本章主要介绍了基于B/S模式点餐系统的功能及具体界面布局,展现出了用户和管理员是如何自主操作界面达到自己的需求,另外叙述出了本次设计的系统架构和算法思想,技术内容均为本文实现点餐系统开发的关键技术。

第4章系统总体界面实现为了实现点餐系统需求功能,本章详细叙述了系统数据库的实现,系统功能模块的实现,系统功能架构的实现。4.1系统数据库实现设计系统总体数据库设计如图4-1所示,将大类罗列划分出表中的主要小类别,其中主要的表分为点餐用户表account,菜品信息类型表food,food_category,日志表log,菜单表menu,订单条目表order_item,订单表orders。图4-1数据库总体设计图(1)点餐用户表account点餐用户表account主要存储数据为:点餐用户编号点餐用户姓名点餐用户密码点餐用户手机号点餐用户详细住址其表名,字段名,数据类型以及是否为空和字段注释均在下表4-1中分类细化。表4-1点餐用户表account表名字段名数据类型是否为空字段说明accountId_role整形(11)否主键带有权限辨识accountname字符串(50)否登录姓名accountpassword字符串(50)否密码accountrealName字符串(50)是收货姓名accountphone字符串(50)是手机号accountaddress字符串(255)是住址(2)菜品信息类型表food,food_category菜品表用于存储菜品名称、菜品价格、库存、菜品图片分类编号,分类名称等信息如表4-2所示。表4-2菜品信息类型表food,food_category表名字段名数据类型是否为空字段说明foodid整形(11)否主键idfoodcategoryId整形(11)否菜品分类foodname字符串(50)否菜品名称foodprice浮点型(8,2)否菜品价格foodsels整形(11)否库存foodimage_Url字符串(128)是图片food_categoryid整形(11)否菜品分类编号food_categoryname字符串(50)否菜品分类名称(3)日志表log日志表主要存储日志内容和日志产生日期,日志表主要存储日志内容和日志产生日期,其字段名分别为content和Create_Time,为字符串和日期数据类型。(4)菜单表menu菜单表主要储存管理员所拥有的菜单权限,菜单表主要储存管理员所拥有的菜单权限。分为上级菜单编号,菜单名称,菜单地址,菜单对应图标。parent_Id,name,url,icon为相对应的字段,整形只有parent_Id,其余均为字符串型。(5)订单条目表order_item订单条目表用于存储订单编号、菜品编号、量和总价等数据。总数量的字段名为food_Num,总价格的字段名为money,数据类型分别为整形和浮点型。(6)订单表orders订单表主要存储订单号、总价、购买数量、送货地址、收件人电话、收件人姓名、订单日期和订单状态等。其中重要的字段为收货人,手机号,地址,创建时间这四类,分别用recieve_Name,phone,address,create_Time这四类来表明字段名,除了创建时间为日期类型,剩余均为字符串类型。4.2系统功能模块实现设计本文所提出的基于B/S模式点餐系统主要分为以下几个模块,模块流程图如图4-2所示,本节将通过程序详细分析这几个模块的设计。图4-2系统功能模块流程图(1)点餐用户登录/注册模块注册通过异步刷新实现,登录用户输入判断登录用户是否存在,然后判断密码的安全程度,当密码不符合提示标准无法注册,注册界面部分代码如图4-3所示。首先进行编写注册页面代码,并给输入框编写出id名。接下来,引入jquery文件,编写立即注册按钮的点击事件,并且在前端页面做简单的表单验证,如果验证成功,再执行ajax请求,发送注册信息给后台服务器,从而完成注册这一功能。引入jQuery文件,编写script代码,声明三个变量接收表单的数据,执行ajax发送注册信息给后台服务器,username:username,pwd:pwd,,成功的函数res是返回的结果,若res是1则注册成功,res是0则注册失败。alert("注册失败");为弹出失败的窗。图4-3用户注册界面部分代码登录页通过异步刷新,用success:function(res){if(res==1){来判定是否登录成功1代表成功,0代表失败,当输入错误会弹出登录用户或密码错误的窗口,正确则跳转到主界面继续当前操作,若服务器端问题则弹出操作失败。 点餐用户菜品浏览模块点餐用户登录成功后,通过服务器的连接导入数据库内的注册表,获取整个界面的的所有的信息,包括菜品分类,类别中的具体菜品种类,这些数据为数据库预先设定,后台控制器部分代码如图4-4所示。图4-4用户后台控制器部分代码(3)点餐用户菜品购买模块菜品购买添加到菜篮子,准备付款生成订单,这一块主要实现了用户下单后填写订单信息,收货人和联系方式的功能。具体实现步骤为:ret.put(msg,请填写订单信息!);ret.put(msg,请填写订单收货地址!);ret.put(msg,请填写订单收货人!);ret.put(msg,请填写订单联系方式!);当判断不通过ret.put(msg,订单提交失败,请联系管理员!);会弹出订单提交失败,请联系管理员字样,可以再次登录重新下单。(4)管理员管理订单模块管理员可以进行订单管理,MyBatis持久层框架,可以支持定制化SQL、存储过程以及高级映射,避免了所有的JDBC代码和手动设置参数以及获取结果集,可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs映射成数据库中的记录。这一块的订单管理都是利用mybatis进行数据库的增删改查。加载配置文件,将SQL的配置信息加载成为一个个MappedStatement对象,包括了传入参数映射配置、执行的SQL语句、结果映射配置,存储在内存中。调用Mybatis提供的API,为SQL的ID和传入参数对象,将请求传递给下层的请求处理层进行处理。API接口层传递请求过来,为SQL的ID和传入参数对象。根据SQL的ID查找对应的MappedStatement对象。根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。释放连接资源。返回处理结果将最终的处理结果返回。利用mybatis进行多表联合查询字段处理,订单插入操作,订单子项插入操作,订单编辑操作,订单信息搜索查询,模糊搜索总条数,删除订单信息。(5)菜篮子实现模块菜篮子主要在前端界面进行数据缓存,用JQuery封装JavaScript常用的功能代码,提供了简便的JavaScript设计模式。在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能。异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并数据提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态;缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队操作,并确保函数按顺序执行,基于数据缓存模块实现。利用JQuery控制点击按钮,引用if语句来实现JQuery响应。首先是进行html页面的设计,用一个大的div(id=box)将所有商品包含,商品列表中用ulli实现,接着采用克隆的方式,显示所有商品列表。给添加购物车按钮添加事件,给商品数量的增加减少的按钮添加事件,用oCar.removeChild(oDiv);number--;getAmount();来实现商品的删除。具体界面按钮代码如图4-5所示。图4-5用户菜篮子界面按钮部分代码在功能模块中,事件系统提供了统一的事件绑定、响应、手动触发和移除机制,JQuery并没有将事件直接绑定到DOM元素上,而是基于数据缓存模块来管理事件。Ajax模块允许从服务器上加载数据,而不用刷新页面,它基于异步队列模块来管理和触发回调函数;动画模块用于向网页中添加动画效果,它基于队列模块来管理和执行动画函数;属性操作模块用于对HTML属性和DOM属性进行读取、设置和移除操作。DOM遍历模块用于在DoM树中遍历父元素、子元素和兄弟元素;DOM操作模块用于插入、移除、复制和替换DOM元素;样式操作模块用于获取计算样式或设置内联样式;坐标模块用于读取或设置DOM元素的文档坐标;尺寸模块用于获取DOM元素的高度和宽度。点餐用户通过这一模块可以实现菜篮子界面按钮的大小布局来控制菜品的添加于删除。(6)推荐菜品类的实现模块具体实现方法为通过余弦相似度公式计算得出的点餐用户A与点餐用户B之间的相似度,定义A,B用户为向量a,b。余弦相似度公式为公式(1)所示。Similarity=cos(θ)=A∙BA∙B=这里的Ai,Bi为向量a和b的分量,当A,B买过的某一商品时,其代表向量的夹角为0,余弦值为1。若用户A,B之前没有过订单其向量夹角为180度余弦值为-1。用户A,B之前没有共同的商品,向量a,b的余弦值为1。当计算用户对于商品类别的喜欢时详细信息为下图4-6代码所示。图4-6用户推荐菜品界面部分代码这时通过计算得出来的数据为:1 2 0.9994891442833922 3 0.9514955455298099可以通过上一阶段对点餐用户相似度之间的求解,获得与某个点餐用户最相似的一个点餐用户,然后在这个点餐用户的订单记录中查找点餐用户没有浏览的菜品,作为推荐给点餐用户的菜品。4.3系统架构实现设计本节将详细叙述设计系统的MVC架构和推荐菜品架构,包含其设计图及其设计思想4.3.1MVC架构本设计系统架构是MVC架构,如图4-7所示,将管理员操作放在PC端,订餐点餐用户通过Android、IOS通过web进行服务器的请求。本次设计使用了springMVC的前端控制器(dispatcherservlet)来接收请求、响应结果和返回数据类型,比如JSON、string或page(model)。要了解springMVC,首先需要了解springIOC容器是如何在web环境中加载和工作的。SpringIOC是一个独立的模块,并不直接在web容器中起作用。如果想在web环境中使用IOC容器,那么需要spring为IOC设计一个启动过程,导入IOC容器,并在web容器中构建它。具体来说,这个启动过程与web容器的启动过程集成在一起。在这个过程中,一方面,处理web容器的启动,另一方面,将IOC容器加载到web环境中,并通过设计一个特定的web容器拦截器来初始化它。该过程建立后,IOC容器可以正常工作,springMVC基于IOC容器。通过这样设计就可以建立MVC框架的运行机制来响应web容器发出的HTTP请求。图4-7点餐系统MVC架构设计图4.3.2推荐菜品架构根据需要菜品菜品的推荐,本次设计做了如图4-8所示的设计,可以直观的看出每个点餐用户买了什么菜品,每个菜品属于哪个分类,便于系统的数据分析和推荐,然后将数据写入内存,进行余弦相似度的匹配,找到最相似的人进行菜品推荐。图4-8点餐系统推荐菜品架构设计图4.4本章小结本章主要叙述了基于B/S模式点餐系统的数据库设计的各种类名及其代表含,包括点餐系统各个模块是如何实现的需求,用代码详细阐述了各个模块的生成,并详细阐述了点餐系统的架构。第5章基于B/S模式点餐系统测试本章主要阐述了基于B/S模式点餐系统的软件测试,首先明确了测试的目的和内容,再列出测试方法分别对各个模块内容进行测试得出结果,并以图片形式展现出系统界面,最后对测试结果进行影响因素分析。5.1测试目的和内容软件测试是整个项目开发过程中不可缺少的一部分。软件测试是指在系统正式投入使用前对其进行测试,看其是否能满足系统开发的要求。软件测试是保证软件质量的关键环节。软件测试需要建立测试用例。一个很好的测试用例是尽可能多地发现发明系统中的故障以及到目前为止还没有发现的故障。测试流程如图5-1所示,本次测试的内容分为以下三个方面:(1)点餐用户注册模块测试(2)点餐用户购买菜品模块测试(3)点餐用户推荐菜品模块测试5.2测试方法测试方法主要分为以下多个角度(1)灰盒测试:白盒测试和黑盒测试并不总是分开的。白盒测试一般采用黑盒测试,黑盒测试一般采用白盒测试。灰盒试验是介于白盒试验和黑盒试验之间的试验。(2)静态测试:一种不通过执行程序而进行测试的技术。它的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。(3)动态测试:包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个系统在检查状态下是正确还是不正确。(4)单元测试:单元测试用于测试软件系统中的各个模块。在编写了一段代码后,如果代码语法没有错误,就可以在系统上进行单元测试,以便快速发现模块的内部错误。通常使用计算机和手动测试。(5)组装测试:组装测试主要是测试软件模块之间的接口。当两个通过单元测试的模块连接在一起时,它们可能不满足预期的功能,因此组装测试可以发现错误。装配测试采用非功能测试和功能测试两种方法。黑盒测试主要用于功能测试。(6)验收测试:验收测试是为了证明系统能够正常工作,满足点餐用户在软件需求书中要求的性能。验收测试需要一系列使用黑盒测试的测试。α测试和β测试是应用最广泛的验收测试方法。(7)单元测试:是对软件基本组成单元进行的测试,如函数或是一个类的方法。这里的单元,就是软件设计的最小单位。(8)人工检查:检查算法的逻辑正确性:确定编写的代码算法和数据结构定义(如队列、堆栈等)是否实现模块或方法所需的功能。检查模块接口的正确性:确定形式参数的个数、数据类型、顺序是否正确;确定返回值类型、返回值的正确性。是否检查输入参数的正确性:如果没有,请确认是否不需要检查参数的正确性。否则,请添加参数的正确性。5.3测试过程与结果图5-1点餐用户注册模块测试流程图5.3.1点餐用户注册模块测试本次测试主要采用白盒测试。主要测试内容如表5-1所示,点餐用户注册信息中的登录用户必须为正则表达式,开头必须为英文字母后面可以加/、_、数字或字母。当登录用户或登录密码为空时系统提示登录用户或登录密码为空!。当登录密码与秘密确认不一致时提示两次输入密码不一致!。测试功能:注册一个点餐点餐用户测试目的:点餐用户注册所用的登录用户是否符合要求测试条件:数据库中,没有该点餐用户信息表5-1点餐用户注册模块测试测试编号测试点餐用户输入信息测试预期结果测试输出结果测试1登录用户:空登录密码:空密码确认:空登录用户或登录密码为空!登录用户或登录密码为空!测试2登录用户:11111登录密码:11111密码确认:11111登录用户不符合标准!(登录用户开头必须为英文字母)登录用户不符合标准!(登录用户开头必须为英文字母)测试3登录用户:BIGD*&#登录密码:123密码确认:123登录用户不符合标准!(登录用户不能有特殊字符)登录用户不符合标准!(登录用户不能有特殊字符)测试4登录用户:刘登录密码:111111密码确认:111111登录用户不符合标准!(登录用户不能为汉字)登录用户不符合标准!(登录用户不能为汉字)测试5登录用户:BIGD463460678登录密码:123密码确认:123登录用户不符合标准!(登录用户不能超过10个字)登录用户不符合标准!(登录用户不能超过10个字)测试6登录用户:BIGD登录密码:123密码确认:123123两次输入的密码不一致两次输入的密码不一致测试7登录用户:BIGD登录密码:123密码确认:123注册成功!注册成功!5.3.2点餐用户购买菜品模块测试本次以黑盒测试为主进行测试。测试内容为表5-2所示,点餐用户想要购买菜品必须登录或注册系统,否则系统会弹出提示对话框。点餐用户登录系统之后,可以直接购买菜品,或者将菜品加入菜篮子。点餐用户也可以在菜篮子中修改菜品数量和删除菜品。测试功能:点餐用户能浏览、加入菜篮子、直接购买菜品测试目的:点餐用户购买菜品是否符合要求测试条件:数据库中点餐用户表中已经存储了,登录用户为BIGD密码为123的点餐用户信息。菜品表中存储了红烧肉和饸烙面菜品的信息。表5-2点餐用户购买菜品模块测试测试编号测试点餐用户输入信息测试预期结果测试输出结果测试1点餐用户进入主界面浏览菜品,点击饸烙面进入菜品界面,点击立即购买。点餐用户未登陆,跳出点餐用户登录弹窗。点餐用户未登陆,跳出点餐用户登录弹窗。测试2点餐用户登录系统,点击菜篮子。显示菜篮子为空。显示菜篮子为空。测试3点餐用户登录系统,浏览菜品,点击红烧肉进入菜品界面,点击立即购买。进入下单界面,填写收货信息之后可以购买。进入下单界面,填写收货信息之后可以购买。测试4点餐用户登录系统,浏览菜品,点击红烧肉进入菜品界面,选择数量2,点击加入菜篮子。界面显示已加入菜篮子,菜篮子中有两个红烧肉菜品。界面显示已加入菜篮子,菜篮子中有两个红烧肉菜品。测试5点餐用户系统,浏览菜品,点击饸烙面进入菜品界面,点击加入菜篮子。界面显示已加入菜篮子,菜篮子中有两个红烧肉菜品,一个饸烙面菜品。界面显示已加入菜篮子,菜篮子中有两个红烧肉菜品,一个饸烙面菜品。5.3.3点餐用户推荐菜品模块测试本次以黑盒测试为主进行测试。测试内容如表5-3所示,多个点餐用户购买菜品之后,利用协同过滤算法的余弦算法进行推荐。测试功能:点餐用户能浏览推荐菜品测试目的:点餐用户购买菜品是否符合要求测试条件:数据库中点餐用户表中已经存储了,点餐用户A购买习惯和点餐用户B购买习惯相似,并且点餐用户A购买的商品比点餐用户B购买的商品多一个M商品,此时会向点餐用户B推荐M商品。表5-3点餐用户推荐菜品模块测试测试编号测试点餐用户输入信息测试预期结果测试输出结果测试1点餐用户A进入主界面浏览菜品,点击饸烙面,红烧肉进入菜品界面,点击立即购买。购买成功购买成功测试2点餐用户B进入主界面浏览菜品,点击饸烙面进入菜品界面,点击立即购买。购买成功购买成功测试3点餐用户B登录系统,浏览菜品,点击进入推荐菜品界面。推荐菜品界面推荐饸烙面,红烧肉推荐菜品界面推荐饸烙面,红烧肉5.4点餐系统成品界面实现本节介绍本次系统开发出的具体功能界面,本次设计出的点餐系统实现了用户网页注册登录,浏览下单,订单查询,信息修改,管理员登录,修改菜单,查看用户订单等功能。内容主要以图示进行展现。(1)点餐用户注册界面打开用户点餐界站点先会跳转至用户注册界面未注册用户无法进入菜单界面,用户注册界面可以自主进行用户注册可以选择用户类型,分为学生,老师和普通用户,如图5-2所示。图5-2点餐用户注册界面(2)点餐用户登录界面用户注册完成后可以直接跳转至登录界面,如图5-3所示,如果是注册过的用户也可以直接点击左下方的登录按键进行账号和密码的输入,用户名输入错误后会提示该用户不存在,只有输入正确的用户名和密码才会提示登录成功,自动跳转至下一界面。图5-3点餐用户登录界面(3)点餐用户购买菜品界面用户成功登录后自动转入菜单界面,如图5-4所示,菜单总共分为五个大类,用户可以随意点击相应菜品右侧的增加按钮提高菜品数量,也可以点击减少按钮降低菜品数量直至零为止。图5-4点餐用户购买菜品界面(4)点餐用户菜篮子界面用户点击完成菜品加入后在右下角可以看到菜篮子按键,点击后跳转至菜篮子界面,如图5-5所示,可以看到自己添加的菜品种类数量和总体金额,也可以点击上方选菜按钮跳转至上一界面继续添加菜品。图5-5点餐用户注册菜篮子界面(5)点餐用户下单信息界面用户在菜篮子界面点击下单后跳转至下单信息界面,如图5-6所示,可以完成基础信息的补全,如手机号码姓名地址这些重要信息,如本添加上述信息无法点击下单信息界面的确认按钮,无法完成下单。图5-6点餐用户下单信息界面(6)点餐用户历史订单界面历史订单界面可由菜篮子界面的右下角按键点击进入,进入界面后可以看到所有的历史点单信息,包含菜品种类数量具体金额等等,点击右上角也可返回主页如图5-7所示。图5-7点餐用户历史订单界面(7)管理员登录界面代码在eclipse运行后直接进入管理员登录界面,管理员账号密码均为admin,为代码编译时预先设定,输入即可登录如图5-8所示。图5-8管理员登录界面(8)管理员菜品分类管理界面这一界面为菜品更改而设定,管理员可以自主添加删除编辑菜品的分类和具体菜品的信息,具体可以更改的信息为菜品图片,名字,单价和类别的划分如图5-9所示。图5-9管理员菜品分类管理界面(9)管理员订单管理界面当注册用户点击下单后管理员后台可以实时同步订单信息,包含注册用户的姓名,手机号,地址下单菜品数量类别和详细金额等等,如图5-10所示。图5-10管理员订单管理界面(10)管理员查看注册用户界面这一界面管理员可以看到所有注册用户的用户名及账号和密码,可以做出更改,也可以删除用户信息如图5-11所示。图5-11管理员查看注册用户界面5.5测试结果分析本文在测试点餐系统时,首先进行的是系统开发的重要模块,用户注册模块的测试,再进行核心模块用户自主点餐功能的测试,最后尝试系统算法模块,推荐菜品功能模块的测试。在检测过程中由于测试人员为开发人员,测试功能均为预先设想的功能,虽达成了预定的目标设想,但难免会出现主观意识的引导,对于用户正常操作系统时出现的意外情况没有做到预先考虑,例如用户注册成功后没有系统提示,推荐菜品功能可能会有一些误差,但总体保持在预测值之内,相比较人工点餐最重要实现了方便快捷的功能。后期还可以在界面内容上加以改进,如在前端用户注册界面加入自选化昵称,将用户浏览界面背景美化,管理员操作界面加入后台金额总览等。5.6影响因素分析此次系统设计,在整个项目系统设计编码完成之后,用户不需要在自己所在的客户端安装任何的客户端应用程序,只需要正常上网就可以完成对系统的访问和使用,除此之外,只要保证项目系统被正确的部署在服务器上,并且已经正常运行。那么,用户就可在任何连接互联网的浏览器上对系统进行访问。因此在运行因素上并无太大影响。本次点餐系统开发应用到了多种多样的技术和软件,开发出了各种功能为了实现这些要求,我对界面页面的开发做到最大化的简单易懂,将功能实现尽可能的减少不必要的步骤,做到让顾客在最短的事件内可以快速订餐,突出餐厅餐品的特色。做到只要会查看网页,就能成功点餐。因此,在操作因素上十分可靠无太大影响。5.7本章小结本章主要叙述了设计的基于B/S模式点餐系统在软件测试实验检测时的结果验证与分析,该系统有效地完成了系统要求的检测功能,达到了预期的检测效果。第6章总结与展望本文设计了一款基于B/S模式的点餐系统,本章对该系统的设计进行了总结,并提出系统中存在的问题与不足,最后对系统的进一步完善进行了展望。6.1总结本文设计了基于B/S模式和SSM框架的点餐系统。在JAVA技术支持的基础上选用MySQL数据库进行开发,经过研究与测试得出了以下结论:点餐用户可以登录系统,浏览主页,购买菜肴。(1)点餐用户可以通过其他相似用户点餐得到推荐菜品。(2)管理员可以通过后台看到点餐用户下单的详细信息。(3)管理员可以通过后台管理对菜品分类进行管理,修改分类名称和推荐。(4)管理员可以通过后观测到用户的注册量及其详细信息。(5)管理员可以通过后台的系统日志了解到后台运行情况。本文设计了基于B/S模式的点餐系统,避免了用户下载应用软件,直接打开网页就能实现点餐功能,同时让管理员能更好对餐厅的事物进行掌控,包括餐品

温馨提示

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

评论

0/150

提交评论