餐厅自助点餐系统的设计与实现_第1页
餐厅自助点餐系统的设计与实现_第2页
餐厅自助点餐系统的设计与实现_第3页
餐厅自助点餐系统的设计与实现_第4页
餐厅自助点餐系统的设计与实现_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

第一章绪论本章主要通过对目前餐饮市场和电子商务业发展的调查,并查询相关的数据,具体描述了本餐厅自助点餐系统的开发背景及意义,并通过整理资料总结了与其相关的主要研究内容。1.1课题开发背景及意义在计算机互联网飞速发展的今天,每个行业发展都与互联网紧密关联。我国近年来计算机行业飞速发展,并颁布了一系列鼓励科技创新,发展服务业的政策。如今人们生活水平不断提高,逐渐向小康水平迈进,人民已经从物质需求转变为服务需求,更由于我国的经济飞速发展,人民生活水平有了很大的提高。乡村发展趋于城镇化,出现了越来越多的个体经营户。服务业占据市场的主导地位。国家地位的提高,吸引了越来越多的国外友人来到中国,更多的国外友人因为中国的美食来到中国,中国文化登上世界舞台。在交通方面,我国自主研发的高铁,在国际上享有很高的声誉,公路,高速可以穿越复杂地形,由于交通的便利,运输业得到了前所未有的发展,全国各地的商品也已经实现了互通。农业技术在国家人才带领下,产量一年更比一年高,绿色蔬菜已经成了人民的最爱。相关法律的完善,使人民的食品安全得到了很好的保证。这一切使得服务业发展空前繁荣。而在服务业中,以餐饮行业得发展更为繁荣,各种大小型的餐厅管理形成了自己的特色。而且餐饮行业也慢慢的参与到了电子商务团队并由原先的线下经营模式转为线上销售模式。尽管如今出现了各式各样的外卖团队,但是店内就餐的人数仍然不可缺少,由于现代人们追求更多的是高质量舒适的生活,因此,餐饮行业发展仍然是有很大的市场前景。但是对于餐饮管理模式不再是传统模式,餐饮规模在扩大,员工成本也较高,因此,本着减少人工成本,提升团队工作效率,提升在同行业中的竞争优势为目的,开发出一款餐厅自助点餐系统不仅可以提高了商家的销售量和营业金额,更可以为买家提供极大的便利,支持在线选菜品、选桌、点菜和结算、查询上菜进度等,省时又省力。根据互联网数据统计,近几年来,在我国国民经济迅速腾飞发展和人民生活水平日益提高的同时,餐饮业以每年20%多的增长率快速发展,通过互联网进行自助订餐已经成为了一种趋势,凡是拥有互联网,就可以随时随地的进行自助点餐服务,因此,我选择开发一款自助点餐管理系统是当前所必需的,它可以使用户可以对美食信息多样化在线选择和消费。本自助订餐管理系统,实行的是会员用户制,用户只有进行注册登陆后才可以进行自助点餐的操作,不仅可以使管理员管理工作人员的工作效率得到提高,还可以储存大量的数据,管理方便,数据准确,所以利用互联网进行数据化管理,既节省时间,还能节省人公成本。通过本系统等待用户预购餐品加入点餐车,并进行下单,可通过选择一系列电子支付的方式进行订单支付。因此,开发一款自助点餐管理系统是很有要必要的。1.2研究现状1.2.1国内现状目前国内的计算机技术和互联网发展还是比较有限,国内计算机硬件和软件发展与国外相比还具有一定差距,但随着近几年随着改革创新政策的影响,计算机行业发展迅速,计算机技术的发展对中国现代化建设具有重大的意义,国家鼓励科技创新,这使得计算机得到了空前的发展,在计算机硬件的发展方面,坚持自主创新,吸引高精尖人才投入到计算机硬件的发展中去。软件行业的发展日趋繁荣,各种各样的互联网公司的成立,软件发展前景非常可观。随着社会的发展,计算机应用将逐渐普及。但由于国内在计算机硬件方面技术不够成熟,主要通过国外进口,依靠国外技术,所以,国内的计算机发展在一定程度上受到限制。在餐饮行业发展中,虽然一些大型的餐厅已经使用计算机对餐厅进行管理,但是在点餐方面还是以纸质服务为主,因为国内大多数餐厅营业者对使用计算机来进行信息化管理还是比较陌生的,而顾客也对互联网点餐比较知之甚少。国内虽然起步晚,但是国内的餐饮行业有很深的管理经验,可以将管理经验运用到计算机信息中去。而且国内市场已经出现的一批比较完备的餐饮管理系统。所以将餐饮行业与计算机结合在国内有很好的发展前景。1.2.2国外现状计算机在国外发展是最早的,计算机信息技术起步也在国外开始,综合来讲,国外的计算机发展比国内计算机发展相对先进。计算机技术是在国外兴起,并流传发展至全世界。起因是国外最先开始的工业革命,机器制造技术成熟,在一些精密仪器制造方面具有垄断的地位,这就造就了国外对计算机硬件的生产具有很大的优势。国外的计算机硬件一直处于领先状态,信息技术发展水平也比国内领先。所以在国外的餐厅中,利用计算机技术进行餐厅管理比较普遍,相比于国内,国外的餐饮管理系统比较成熟,而且应用比较广泛一些,所以国外的餐厅都逐渐以计算机管理来代替传统的纸质服务。这样还能对环境保护做出一定的贡献。使用计算机技术来进行餐饮管理可以很好的减少人工成本,减少工作中出错的机率,提高工作效率。而且还能很好的利用计算机技术对餐厅的人员进行管理。所以国外的计算机技术发展受到全世界的关注。1.3本课题主要研究内容自助点餐系统展现了电子商务行业的一种时尚,本自助点餐系统的开发,功能完备,页面简洁大方,操作简便。其基本操作的实质是对相应的数据库进行查询、添加、编辑、删除,因此,自助点餐管理系统,本文主要研究内容如下:第一章绪论注重讲述了本系统开发的背景及意义,还有本论文探讨的主要内容。第二章注重描述了本系统开发所运用到的技术,并包括对开发环境及开发工具的描述。第三章根据需求分析要点对本系统进行分析。第四章对数据库设计进行一系列的分析,包括对数据库的概念设计和逻辑设计。第五章主要对系统做了详尽的页面设计和分析,包括对模块功能的演示和详细介绍。第六章对本系统进行了测试并得出结果。第七章进行总结。最后对本系统进行了致谢,参考文献的介绍以及外文原文和中文翻译。

第二章系统开发相关技术本章主要介绍了餐厅自助点餐系统所运用到的开发技术与开发环境,并对对应技术作出详尽的介绍。2.1系统开发环境硬件平台:硬盘空间: 100G以上;内存: 1G以上;CPU: InterPentium43.0GHz或更高;操作系统:Windows7及以上浏览器:IE浏览器6.0以上数据库:MySQL开发技术语言:JSP;Java2.2JSP技术本系统使用的JSP是JavaServerPage的缩略语,它是目前运用较广泛的用来生成动态页面的技术,它们是Sun公司以Java语言语言为基础创建的一种以服务器端为主的编程技术,进一步来讲,它是一种可以用来生成动态页面的一种技术,微软曾经主张使用的的ASP.NET是它目前的竞争对手。JSP是J2EE重要的一部分,它可以用来动态生成web页面。而我们实际开发时,JSP只会用来展示网页视图内容,用Servlet来处理业务逻辑。因为JSTL标签库以及第三方框架提供的标签足够强大,我们甚至可以自定义标签,因此根本没有理由在JSP中写Java代码。JSP的视图代码可以是任何文本内容,如HTML/XHTML,XML,JSON,甚至是txt。通常我们叫这些直接写在JSP中的文本叫做模板文本数据。我们常说,Tomcat是一个Servlet容器,而不说它是JSP容器,因为JSP实质是被转换为Servlet后再工作的。一切程序都是计算机可执行的机器代码,而直接编写机器代码是非常困难的,于是我们可以用C语言,用C写代码更加直观和易于阅读理解,C代码会被C编译器转换成相对应的机器语言。Servlet就好比是机器代码,JSP好比是C语言,而JSP引擎就好比是C编译器。在本系统中,如果客户端发送了一个JSP请求,比如打开首页的操作,那么JSP引擎将会接受到这个首页的JSP文件,并将其转变为相关的Java文件,所以它的本质就是让Servlet来处理这个客户端的请求。在本系统中使用的JSP的生命周期其实和Servlet的生命周期大致相同,只不过JSP的生命周期比Servlet多了一步转译的工作,如果JSP文件不改变的话,那么这个转译工作只需要工作一次即可。在JSP被请求时,容器会先检查这个JSP是否被修改过,如果修改过,则重新转译,然后编译,其后的过程和Servlet生命周期一致。如果没有,则直接调用内存中驻留的实例的方法。如果当前JSP文件是新建立的,会先将这个JSP文件转译成Servlet的Java文件,最后被编译为class文件,加载类到内存中去,建立一个(唯一一个)Servlet对象。并执行jspInit,代表当前Servlet被应用。如果没有的话,将直接被调用留在内存上的实例的jspService方法。通过jspService方法处理请求。多个请求同时请求同一个JSP的Servlet实例,则这些请求会使用独立的线程去调用jspService方法。1、J2EE简介:J2EE是一种非常简便的可以使用相关平台为工具为用户处理方案、进行全方位的部署和处理某些复杂逻辑问题的体系结构。J2EE在使用中为我们提供了许多可供选择的中间层框架,方便我们解决问题,不需要花费较多的价钱就可以创造出一款可用性极高、非常可靠且扩展性极强的系统。J2EE可以通过应用统一的开发平台,减少许多应用层开发的费用支出和开发的复杂难度,同时也可以对现有应用程序集成提供非常有力的支持,对于EnterpriseJavaBeans这些内容也提供完整的服务支持,可以进行非常好的打包操作以及进行相关应用的部署工作,并在添加目录这些功能方面提供了强有力的支持,不仅提升了安全系统,而且使相关的性能大大提高。标准版的核心Java或Java2就是J2EE技术运用的基础。J2EE的维护十分简便,使用起来也非常灵活,内容也可以进行缩略和扩充,完美支持异构环境,完备的全套服务结构、相当多的应用程序接口和协议使J2EE平台更加完美,对以Web的多层应用为基础的系统开发提供了强有力的功能支持。2、Tomcat简介:Tomcat服务器作为一款轻量级的,体积小并且内部代码对大众可见,它使用起来非常稳定,运用到的技术也是最先进的,最关键的是它是一款免费的Web应用服务器,在软件程序开发人员和软件开发商人群中深受喜爱,所以他是目前应用比较广泛的一款Web应用服务器。Tomcat运行时对系统资源的占用少之又少,而且它具有很好的扩展能力,拥有常用的邮件开发服务与负载平衡等的应用系统功能;而且Tomcat服务器也在进行着不断的改进和一些功能更新,当遇到访问用户量少或者信息系统比较小时使用是很好的选择,所以基于本系统的开发Tomcat服务器是很好的选择。2.3SSM框架开发框架是其他人员将一些基础代码进行了整合,并制定了一些规则,这样许多基础的代码就不再需要我们重复去写,程序员的代码编写量大大减少,在系统的业务逻辑编写方面我们程序员就可以投入更大的精力。我们之前使用数据库需要编写大量的代码,在使用的框架之后,我们只需要配置相关的文件,不用从基础代码开始工作,之后如果我们想要访问数据库的时候,也不用再像以前那么麻烦,写出系统业务逻辑所需要的SQL语句就可以了,非常简便。Spring简介:2003年有一款轻量级的框架也就是Spring框架迅速崛起,它是由RodJohnson在他的作品ExpertOne-On-OneJ2EEDevelopmentandDesign中描述的部分思想和原型转变而来。以前我们需要一个个的编写POJO类,而且在使用时需要一个一个的去调用,装配到我们需要调用的类中去,每使用一次就需要调用一次,十分的麻烦。再加入使用了Spring框架之后,我们把对象的调用交给容器去决定,不再需要频繁的set和get相关的属性,再要调用的类中我们只需一行简单的代码就可以调用,而他的使用我们只需要加入一个简单的配置文件和下载相应的jar包即可,在企业应用中,运用框架可以为企业节省大量的成本资金,而且他的用途广泛,还可以用作其他方面的开发。简而言之,使用了Spring十分方便,Spring框架主要包括了IoC和AOP,IoC我们叫做控制反转,以前我们需要手动的去调用POJO类,控制权限在我们自己,但使用起来十分麻烦,代码量也非常大,在使用了控制反转之后,我们将这种控制权限交给了容器,至于装配到哪个组件由容器来决定,装配也只需要很少量的代码。AOP是面向切面的操作,我们经常为了方便了解代码的运行情况加入了日志,但这些代码加入在主体代码中显得十分的冗杂,我们需要将这部分代码分离出来,不希望他们在目标代码中出现,这就需要我们用到AOP的思想,把我们的目标代码当作一个切面,把相关的事务日志代码织入到一个切入点,这样的操作能使我们的代码更加简洁明了,主体代码和其他代码有了很好的区分。在之后可以和SpringMVC和MyBatis进行整合。2.SpringMVC简介:SpringMVC是已知比较好用的可以实现MVC设计模式的一种框架,它是Spring框架下的另一类型的产品,和SpringWebFlow很好的结合在一起。它以SpringIOC容器为基础,并利用容器的特性来简化它的配置。SpringMVC对MVC流程进行了封装,屏蔽掉很多底层代码,开放出接口,让开发者可以更加轻松快捷的完成基于MVC模式的Web开发。3.MyBatis简介:MyBatis是一个基于Java的持久层框架。MyBatis原来的名字叫做iBatis,它是ApacheSoftwareFoundation(ASF)开发的一个开源项目。这个项目在2010年从Apache转移到了GoogleCode,并重新更名为MyBatis。并最终在2013年11月从GoogleCode转移到了Github。目前,最新版本是MyBatis3.5.4,其发布时间是2020年2月4日。在之前我们对数据库的访问和操作依靠的技术是JDBC,他是将基础的代码封装了起来,MyBatis的使用比JDBC更加的简便,他可以在配置文件中进行数据库语句的编写,代码量更加的少,之前我们在JDBC中还要完成对结果集的处理,使用MyBatis这些操作都可以进行简化,在数据库代码和POJO类进行整合也非常的方便。使用MyBatis框架我们只需要加入相关的配置文件和下载引用相应的jar包即可。MyBatis本身占用的内存就非常小,因为他体积小的缘故,在POJO类和SQL语句映射方面也具有自己的特点,种种优点使MyBatis框架在程序员的应用开发中深受喜爱。现在的Web项目一般都会使用三层架构配合SSM的方式去开发。比如一个最基本的登陆请求,首先会让控制层找到相应方法把该请求分配给对应的业务层方法去处理,业务函数的处理中,通常都会包含对数据库的操作,而这部分操作,再交由持久层方法去执行。2.4MySQL数据库MySQL是一种常用的中小型的关系数据库系统,MySQL数据库具有多用户、多线程使用、体积小、查询便利的优点,特德设计结构是客户端/服务器类型的,本系统使用的MySQL数据库是由不同的客户程序、库和名为MySQLd的服务器守护程序组成。本系统选用SQL是因为它使用范围特别广泛,且是目前公认的最标准的一种数据库语言。在本系统的开发过程中发现SQL语言非常便于信息的存储与更新,而且我们可以直接在互联网站上查询信息。因为MySQL具有速度快和灵活的特性,所以它很好的满足了我们对网站的信息管理工作。在本系统的研发过程中,将JSP和MySQL数据库运用结合在一起,对系统的开发工作起到了很大的便利。而且,MySQL数据库的使用成本非常低,所以本系统优先选用MySQL数据库。

第三章系统分析本章主要通过了对系统具体的分析,并根据相关的系统分析的步骤,进行了全面的可行性分析与功能分析。并通过查阅相关书籍信息资料绘制了适用于本系统的功能结构图以及相关的流程图。3.1可行性分析本系统经过可行性分析是为确定本系统的设计是否现实,功能开发是否在可允许的范围之内,本质上就是一个简化的系统分析和系统设计,本系统进行可行性分析可通过对毕业设计的主要内容和所需要的配置,比如系统上线\t"/item/%E5%8F%AF%E8%A1%8C%E6%80%A7%E5%88%86%E6%9E%90/_blank"市场需求如何、发展前景是否客观、所需要的硬件设备是否完备、资金供应是否到位、是否可以带来可观的盈利等,通过需求、发展前景、盈利等方面进行了充分的调查与分析,并对系统建成后可能造成的影响、经济利益和餐饮业未来变化趋势进行了分析,然后综合得出该系统是否符合被建立的条件和获得相关有价值的意见,这是为系统决策提供可行性依据的最有效的方法。可行性分析可以预测系统设计的必要性、公正性、提供有力的科学依据及保障的特点。所以本系统进行可行性分析是十分必要的,经过初步内容规划和餐饮行业需求规划总结了以下四点:(1)经济可行性:因为本系统不直接应用于商业,为本校毕业设计所用,所以不考虑本系统的商经济用途。(2)技术可行性:JSP+MySQL数据库技术已经更加成熟。(3)操作可行性:系统需要构建JSP和MySQL环境,在这种环境下,并且正确连接数据库可以正常运行。(4)法律可行性:本系统功能简单,且为本人亲自参与创建,并不对市场上其他的餐厅自助点餐系统产生冲突,作为本人的毕业设计作品,完全可行。3.1.1可行性研究的依据本系统以客观全面的系统分析为中心,结合它的商业用途与经济利益,并且分析了各种的影响因素,参考分析有关的数据信息得出本系统建立可行的结论。并且收集了各种有益的评价和建议,明确本系统的优缺点。本章最后也附上了有关的分析图。本系统是在国家有关的规定、政策、法规的指导下完成的,并且查阅了各种技术资料。本系统进行可行性研究工作的主要依据包括:①国家经济的发展与社会发展的需要,城市开发规划,符合当今的经济社会发展,经济可行性在可允许的范围内,并严格遵守相关的法律法规;②任务书经过学校院校老师的审批;③对市场的调研,餐饮行业的考察,深入实地记录传统的餐饮行业的弊端,并对系统进行了大量的资料准备。3.1.2可行性研究的一般要求\t"/item/%E5%8F%AF%E8%A1%8C%E6%80%A7%E5%88%86%E6%9E%90/_blank"可行性研究对本系统日后的建立具有相当重要的参考意义,为之后的修改完善发挥了不可或缺的作用,为了保证本系统具有一定的可行性,避免本系统功能在今后的过程中出现差错,提出以下几点要求:(1)要求站在客观公正立场上进行各种调研活动,查阅准备好相关的资料信息。对于查询到的资料,必须进行有效的分析,最后得出最有效、最具有参考意义的系统结论。(2)本系统的可行性研究报告必须符合学校相关的规定标准,并且尽量获得有价值的数据资料,避免内容繁杂,没有参考意义。(3)为保证系统在学校允许的时间内完成,应该制定严格的工作时间表,在相应的时间内完成相关的工作,避免后期时间不足影响系统的完成工作。自己应该根据自己的能力及所要完成的工作模块内容制定工作周期表。所以经过大量的可行性分析,得出本系统适合运用JSP技术和MySQL数据库来完成本系统的结论。3.2功能需求本餐厅自助点餐系统是在Windows10系统下利用JSP技术和SSM框架搭建的。经过需求分析后决定权限拥有者为会员顾客和网站的管理者,所以他们各自拥有的权限也不相同,具体模块功能如下:前台会员用户模块:网站首页:运行Tomcat服务器后,展现的页面即为本系统的首页,有简单的插图、网站的名称、顾客用户注册登陆的入口、后台管理入口、餐厅选择的入口等。注册登陆:顾客可以在这里注册属于自己的账号,之后可以使用自己注册的账号登陆进行其他操作。菜品信息:实现用户可浏览、搜索、查看所有菜品展示详细信息,登陆后可进行编辑数量,加入点餐车进行订购。菜品分类:实现用户通过菜品分类进行查看详情信息。点餐车查询:可以修改和删除已选菜品。点餐订单查询:实现用户对加入点餐车菜品信息进行管理,包括变更数量、删除、继续购物,实现用户结算提交订单。上菜查询:顾客可以查看所选菜品上菜状态,餐厅人员登陆后可根据上菜进度更改菜品上菜状态。个人中心:顾客可以查询自己已点的菜品,确认无误可以进行提交订单并支付的操作,也可以修改自己的注册信息和进行登陆密码的修改。2.后台管理员管理模块:管理员登陆:管理员用自己注册的用户名和密码进行登陆操作。餐厅管理:管理员可以通过此模块添加、查看、编辑或删除餐厅信息。餐厅人员管理:管理员可以对已注册的顾客信息和餐厅人员的信息进行查看、修改和删除的操作。统计管理:管理员可浏览查看收支信息和收支统计情况。菜品分类查询:管理员可以在这一模块对自己餐厅的菜品分类进行查询的操作。菜品分类添加:管理员可以在一模块对餐厅里的菜品分类信息进行一系列的操作。菜品信息查询:管理员可以在一模块对自己餐厅的菜品的信息进行简单的查询。餐厅订单:管理员可以登陆后台查看、搜索、编辑或删除顾客订单信息和销售统计信息。餐厅添加:管理员可以在一模块对旗下的餐厅进行添加的操作。餐厅查询:管理员和餐厅服务人员可以在一模块对旗下的餐厅进行查询的操作。餐厅菜品查询:管理员和餐厅服务人员可以在一模块对旗下的餐厅的菜品信息进行查询的操作。用户结构 本系统的用户主要是前台会员用户和后台管理者,前台会员用户主要实现对系统的登陆,注册,菜品点餐和进入个人中心的操作;后台管理员主要其他登陆人员的权限管理,菜品信息管理,菜品分类,餐厅管理和订单管理。前台会员用户用例图如图3-1所示。后台管理员用例图如图3-2所示。图3-1会员用户用例图图3-2后台管理员用例图

第四章概要设计本章通过对功能模块的分析,所涉及到的对象关系和各自的属性信息,根据合理的需求分析,以及E-R模型的建立,创建了完整的数据库表。4.1功能结构图功能结构图可以帮助我们很好的了解本系统个功能之间的联系,便于我们的开发,每一个功能框都代表本系统的一个功能。根据本系统各模块功能情况可以调整功能模块大小,一个功能的处理过程我们可以将它分解的更详细,对于本系统较大的程序可以将功能模块大小调最大。通过功能结构图可以将本系统的功能进行全面的分析,大到程序设计,小到程序运行过程。大的功能模块只要设计完备,那么小的功能模块也能更好的符合本系统的设计要求。4.1.1设计步骤本系统功能结构图的设计共两步:(1)先将整个系统看成一个完整的模块,再逐渐的细化每个功能模块,并将它们按照一定的顺序排列起来,为了便于区分,每分解出一个模块都应该进行相应的标注。(2)对于已经分解的模块,仔细分析他们是否可以再进一步的细化分解,这样可以降低耦合度,知道改进到理想状态为止。4.1.2模块划分原则经过需求分析后决定权限拥有者为前台用户和网站的管理者,所以他们各自拥有的权限也不相同,功能模块的设计必须满足权限拥有者的需求,所以设计了如下的功能模块。前台用户所对应的功能包括注册登录、网站首页、菜品信息、点餐车查询、菜品分类、上菜查询、个人中心(我的个人资料和修改密码);管理员所对应的功能包括管理员登录、餐厅管理、餐厅人员管理、统计管理、菜品分类查询、菜品分类添加、菜品信息查询、餐厅订单、餐厅添加、餐厅查询、餐厅菜品查询。以上的功能模块都是根据功能需求得到的。按照计划进行了模块功能的细分,完成我们所需的功能结构图,每个模块代表自己的功能。对应制作的功能结构图如图4-1所示。图4-1系统功能结构图4.2数据库需求分析本系统通过分析系统的需求,将数据库从零开始设计,综合分析系统有哪些功能,这些功能涉及哪些对象的设计,对象应该包括哪些属性的信息,统计并制定一个完整的需求分析报告,力求设计出来的数据库能完美符合本系统的功能需要。4.2.1需求分析的任务本系统的需求分析任务是将系统功能进行细分,确定这些功能需要哪些对象,比如顾客,管理员和菜品信息等,以及各功能的工作过程,需求要满足顾客的要求,随之确定系统的功能要求。系统并不能一成不变,要为今后的扩展留足空间,所以数据库的设计要灵活。分析的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:1.信息要求。要清楚的分析用户要往数据库中存储哪些数据,也要清楚用户要从数据库中获得哪些数据。2.处理要求。数据处理功能和性能处理能力要满足用户的要求。3.安全性与完整性要求。4.2.2需求分析的方法调查顾客需求的具体步骤:1.调查餐饮机构情况。2.调查各餐厅的经营情况。3.明确系统的业务逻辑,了解顾客在系统中需要哪些功能,或者需要哪些信息,对系统的安全性有哪些要求。4.要明确系统的边界。通过对之前的数据分析结果,确定本系统功能边界,也就是本系统可以完成哪些功能,哪些功能系统不能完成需要人力去完成,只要确定了这些内容,才能建造一个可用的系统。本系统的数据库要完成的功能有许多,处理的数据也相当庞大,比如菜品信息的更改和权限人员信息的更改。通过上述对系统的设计分析,根据系统的需求,主要有以下几种信息:管理员信息餐厅信息点餐车信息订单信息菜品类别信息菜品信息会员信息等4.3数据库概念设计4.3.1概念模型在编写需求分析时,并不是直接的得到我们所要的需求,而是先抽象为数字化的形式,然后在转变为我们真正所需要的数据库系统需求。本系统概念模型的主要特点:1.能真实、充分地反映系统,包括用户和需求之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型。2.便于理解,对于不了解计算机的人员可以进行一个良好的沟通,可以了解外界人员的需求,使系统更加人性化。3.当用户需求发生改变时,可以对概念模型进行改变从而改变应用程序。4.可以向更深层次的数据模式改变。4.3.2E-R模型E-R模型是用E-R图来描述现实世界的概念模型。在现实世界中,事物内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的各属性之间的联系,在本系统中,不同实体之间的联系可以理解为不同对象之间的联系。1.两个实体之间的联系1)两个实体型之间的联系实体型之间的联系分为:一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。一对多联系(1:n)在本系统中,一个数据表中的某个字段与另一个数据表中的多个字段有联系,换句话说,一个数据表中的某个字段必定和另一张数据表中的一个字段有联系,记为1:n。多对多联系(m:n)一个数据表中的某个字段和另一个数据表中的n个字段有联系。反之,一个数据表某个字段和另一张表m个字段有联系。2.E-R图E-R图可以表示对象和属性之间的联系。1.本系统中的对象用矩形框表示,对象名写在框内。2.属性用椭圆形,并用线段将他们和对应的对象联系起来。3.并用菱形框表示联系,用线段将他们和对象联系起来。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。在分析完了数据项和数据结构之后,根据数据制作了满足本系统需要的E-R图,这为数据库表的建立做了很好的铺垫,简化了许多设计数据库表的难度。其中主要的对象属性的E-R图如下:1.管理员实体E-R图如图4-2所示。图4-2管理员E-R图此E-R图的实体对象为管理员,对应联系的属性为编号,用户名,密码,真实姓名,联系电话,角色。连线代表他们之间的联系。2.餐厅实体E-R图如图4-3所示。图4-3餐厅实体E-R图此E-R图的实体对象为餐厅,属性为ID,标题,图片,内容,添加时间,点击率。连线代表他们之间的联系。3.点餐车实体E-R图如图4-4所示。图4-4餐车实体E-R图此E-R图的实体对象为点餐车,属性为ID,用户ID,菜品ID,数量,价格,添加时间。连线代表他们之间的联系。4.菜品类别实体E-R图如图4-5所示。图4-5菜品类实体E-R图此E-R图的实体对象为菜品类别,属性为类别ID,类别名称。连线代表他们之间的联系。5.菜品实体E-R图如图4-6所示。图4-6菜品实体E-R图此E-R图的实体对象为菜品,属性为编号,内容,售出数量,点击率,添加时间,特价菜,推荐菜品,价格,美食ID,图片,菜品名。连线代表他们之间的联系。6.订单实体E-R图如图4-7所示。图4-7订单实体E-R图此E-R图的实体对象为订单,属性为订单编号,订购编号,用户编号,餐桌ID,合计,状态,下单时间。连线代表他们之间的联系。7.会员实体的E-R图如图4-8所示。图4-8会员实体E-R图此E-R图的实体对象为会员,属性为编号,用户名,密码,真实姓名,性别,联系,出生日期,注册日期。连线代表他们之间的联系。4.4数据库逻辑设计本系统的数据库逻辑结构有别于其他的数据模型,本系统选用的是MySQL数据库,所以数据库的环境已经确定。因为本系统用的是关系型数据库,所以可以先将E-R图转变为另一种模型,最后将具体的数据库管理系统的数据模型转变为指定的数据库所能识别的数据模型,然后再进行改进。最后经过所查询到的资料,分析改进了数据表,得到了最合适使用的数据类型和确立了数据表中所要储存的数据,并建立了如下的数据表:1.管理员数据库表设计如表4-9所示。表4-9管理员表本管理员数据库表包含的字段有id,username,pwd,addtime;其中id为主键。id代表着编号,数据类型为int,长度为10,序号自增长类型,username代表着用户名,数据类型为varchar,长度为50,pwd代表着密码,数据类型为varchar,长度为50,addtime代表着添加时间,数据类型为timestamp。管理员表是一对多的关系,对应的有菜品分类表、菜品信息表、餐厅人员表、点餐订单表和上菜表。2.菜品分类数据库表设计如表4-10所示。表4-10菜品分类表本菜品分类数据库表包含的字段有id,fenlei,addtime;其中id为主键。id代表着属性编号,数据类型为int,,长度为10,id自增长类型,fenlei代表着属性分类,数据类型为varchar,长度为50,addtime代表着属性添加时间,数据类型为timestamp。菜品分类表是一对多的关系,对应的有管理员表、餐厅人员表。3.菜品信息数据库表设计如表4-11所示。表4-11菜品信息表本菜品信息数据库表包含的字段有id,caipinxinxi,cantingbianhao,antingmingcheng,caipinbianhao,caipinmingcheng,fenlei,caipintupian,caipinjiage,caipinxiaoliang,caipinxiangqing,faburen,addtime;其中id为主键。其中id代表着属性编号,cantingbianhao代表着属性餐厅编号,cantingmingcheng代表着餐厅名称,caipinbiaohao代表着菜品编号,caipinmingcheng代表着菜品名称,fenlei代表着属性分类,caipintupian代表着菜品图片,caipinjiage代表着菜品价格,caipinxiaoliang代表着菜品销量,caipinxiangqing代表着菜品详情,faburen代表着属性发布人,addtime代表着属性添加时间。4.餐厅人员数据库表设计如表4-12所示。表4-12餐厅人员表本餐厅人员数据库表包含的字段有id,zhanghao,mima,xingming,xingbie,lianxidianhua,addtime;其中id为主键。id代表着属性编号,zhanghao代表着属性账号,mima代表着密码,xingming代表着属性姓名,xingbie代表着属性性别,lianxidianhua代表着属性联系电话,addtime代表着属性添加时间。餐厅人员的编号作为主键与餐厅和订单形成一对多的关联,一个餐厅服务人员可以管理多个餐厅,也可以管理多个订单。5.点餐数据库表设计如表4-13所示。

表4-13点餐表本点餐数据库表包含的字段有id,caipinxinxiid,cantingbiaohao,cantingmingcheng,caipinbianhao,caipinmingcheng,fenlei,caipintupian,faburen,caipinjiage,diancanfenliang,xiaoji,xuesheng,issh,addtime;其中主键为id。id代表着属性编号,数据类型为int,长度为10,自增长类型,caipinxinxiid代表着菜品信息id,数据类型为int,长度为10,caipinbiaohao代表着属性菜品编号,数据类型是varchar,长度为50,cantingmingcheng代表着属性餐厅名称,数据类型是varchar,长度为255,cantingbianhao代表着餐厅编号,数据类型是varchar,长度为50.caipinmingcheng代表着属性菜品名称,数据类型是varchar,长度为255,fenlei代表着属性分类,数据类型是int,长度为10,caipintupian代表着菜品图片,数据类型是varchar,长度为255,faburen代表着属性发布人,数据类型是varchar,长度为50,caipinjiage代表着菜品价格,数据类型是decimal,长度为10,diancanfenliang代表着属性点餐分量,数据类型是int,长度为10,xiaoji代表着属性小计,数据类型是decimal,长度为10,addtime代表着属性添加时间,数据类型是timestamp。6.点餐订单数据库表设计如表4-14所示。表4-14点餐订单表本点餐订单数据库表包含的字段有id,dingdanhao,dingdanxinxi,dingdanjine,zhifuzhuangtai,dingdanzhuangtai,lianxidianhua,faburen;其中id为主键。id代表着属性编号,数据类型为int,长度为10,dingdanhao代表着属性订单号,数据类型是varchar,长度为50,为自增长类型,dingdanxinxi代表着属性订单信息,数据类型为text,dingdanjine代表着属性订单金额,数据类型为decimal,长度为10,小数位为2,zhifuzhuangtai代表着属性支付状态,数据类型为varchar,长度为255,dingdanzhuangtai代表着属性订单状态,数据类型为varchar,长度为255,lianxidianhua代表着属性联系电话,数据类型为varchar,长度为50,faburen代表着属性发布人,数据类型为varchar,长度为50,iszf代表属性是否支付,数据类型为varchar,长度为10,addtime代表属性添加时间。点餐订单表为一对多的关系,对应的有管理员表、餐厅人员表、菜品信息表。7.点餐订单_点餐信息数据库表设计如表4-15所示。

表4-15点餐订单_点餐信息表本点餐订单_点餐信息数据库表包含的字段有id,diancandingdanid,caipinxinxiid,cantingbianhao,cantingmingcheng,caipinbianhao,caipinmingcheng,fenlei,caipintupian,faburen,caipinjiage,diancanfenliang,xiaoji,addtime;其中主键为id。id代表着属性编号,diancandingdanid代表着属性点餐订单id,caipinxinxiid代表着属性菜品信息id,cantingbianhao代表属性餐厅编号,cantingmingcheng代表着属性餐厅名称,caipinbianhao代表着属性菜品编号,caipinmingcheng代表着属性菜品名称,fenlei代表着属性分类,caipintupian代表着属性菜品图片,faburen代表着属性发布人,caipinjiage代表着属性菜品价格,diancanfenliang代表着属性点餐分量,xiaoji代表着属性效绩,addtime代表着属性添加时间。8.编辑数据库表设计如表4-16所示。

表4-16编辑表本编辑数据库表包含的字段有id,leibie,content,addtime;其中id为主键。id代表这属性编号,leibie代表着属性类别,content代表着属性内容,addtime代表着属性添加时间。9.评论数据库表设计如表4-17所示。表4-17评论表本评论数据库表包含的字段有id,wenzhangID,pinglunneirong,pinglunren,addtime,biao,pingfen;其中id为主键。id代表着属性编号,数据类型是int,长度为10,wenzhangID代表着属性文章ID,数据类型是int,pinglunneirong代表着属性评论内容,数据类型是text,pinglunren代表着属性评论人,数据类型是varchar,长度为80,addtime代表着属性添加时间,数据类型是timestamp,biao代表着属性评论时间,数据类型是varchar,长度为255,pingfen代表着属性评分,数据类型是int,长度为11。10.上菜数据库表设计如表4-18所示。

表4-18上菜表本上菜数据库表包含的字段有id,diancandingdanid,dingdanhao,dingdanxinxi,xuesheng,caozuoren,addtime;其中主键为id。id代表着属性编号,diancandingdanid代表着属性点餐订单id,dingdanhao代表着属性订单号,dingcanxinxi代表着属性dingcanxinxi,caozuoren代表着属性操作人,addtime代表着属性添加时间。上菜_点餐信息数据库表设计如表4-19所示。表4-19上菜_点餐信息序号中文字段列名数据类型长度小数位标识主键外键允许空说明1编号idint10是是否auto_increment2上菜编号shangcaiidint10否3菜品信息编号caipinxinxiidint10否4餐厅编号cantingbianhaovarchar50否5餐厅名称cantingmingchengvarchar255否6菜品编号caipinbianhaovarchar50否7菜品名称caipinmingchengvarchar255否8分类fenleiint10否9菜品图片caipintupianvarchar255否10发布人faburenvarchar50否11菜品价格caipinjiagedecimal102否12点餐分量diancanfenliangint11否13小计xiaojidecimal102否14添加时间addtimetimestamp否CURRENT_TIMESTAMP本上菜_点餐信息数据库表包含的字段有id,shangcaiid,caipinxinxiid,cantingbianhao,cantingmingcheng,caipinbianhao,caipinmingcheng,fenlei,caipintupian,faburen,caipinjiage,diancanfenliang,xiaoji,addtime;其中id为主键。id代表着属性编号,shangcaiid代表着属性上菜id,cantingbianhao代表着属性餐厅编号,cantingmingcheng代表着属性餐厅名称,caipinbianhao代表着属性菜品编号,caipinmingcheng代表着属性菜品名称,fenlei代表着属性分类,caipintupian代表着属性菜品图片,faburen代表着属性发布人,caipinjiahe代表着属性菜品价格,diancanfenliang代表着属性点餐分量,xiaoji代表着属性小计,addtime代表着属性添加时间。12.餐厅数据库表设计如表4-20所示。表4-20餐厅表本餐厅数据库表包含的字段有id,cantingbianhao,cantingmingcheng,cantingtupian,cantingweizhi,cantingjieshao,faburen,addtime;其中id为主键。id代表着属性编号,cantingbianhao代表着属性餐厅编号,cantingmingcheng代表着属性餐厅名称,cantingtupian代表着属性餐厅图片,cantingweizhi代表着属性餐厅位置,cantingjieshao代表着属性餐厅介绍,faburen代表着属性发布人,addtime代表着属性添加时间。13.新闻分类数据库表设计如表4-21所示。表4-21新闻分类本新闻分类数据库表包含的字段有id,fenleimingcheng,addtime;其中id为主键。id代表着属性编号,fenleimingcheng代表着属性分类名称,addtime代表着属性添加时间。14.新闻信息数据库表设计如表4-22所示。表4-22新闻信息表本新闻信息数据库表包含的字段有id,biaoti,fenlei,tupian,tianjiaren,tianjiaren,neirong,addtime;其中id为主键。id代表着属性编号,biaoti代表着属性标题,fenlei代表着属性分类,tupian代表着属性图片,tianjiaren代表着属性添加人,neirong代表着属性内容,addtime代表着属性添加时间。以上就是本系统所需要建立的数据库表,通过建立数据库表可以使MySQL数据库的建立难度大大减少,而且可以很好的保证其正确性,避免之后某些功能建立出现错误。

第五章系统的详细设计与实现5.1网站首页此页面为网站打开后的第一个页面,显示网站总的信息包括:网站名称,关于我们、顾客注册、餐厅、后台管理、登陆入口,如图5-1所示。图5-1网站首页<li><ahref="./">首页</a></li><liclass="dropdown">关于我们<spanclass="caret"></span></a><ulclass="dropdown-menu"><li><ahref="dxdetail.do?lb=站内公告">站内公告</a></li><li><ahref="dxdetail.do?lb=站内简介">站内简介</a></li></ul></li><li><ahref="xiaoyuancantinglist.do">餐厅</a>//跳转到餐厅页面</li><li><ahref="xueshengadd.do">顾客注册</a>//跳转顾客注册页面</li><li><ahref="login.do">后台管理</a>//跳转到后台管理页面</li>5.2用户注册页面此页面主要是用来顾客注册用户的只有注册了用户才可以进行登陆点餐,注册需要填写用户名,密码,姓名,性别,联系电话等相关性信息,如果输入的用户名在数据库中查询不到,便可注册成功,如果用户名在数据库中可以查询到,则会提示该用户名已经占用,效果如图5-2所示。图5-2用户注册页面相关代码:publicStringinsert(){Stringtmp="";Xueshengpost=newXuesheng();post.setYonghuming(Request.get("yonghuming"));//输入的用户名post.setMima(Request.get("mima"));//输入的密码post.setXingming(Request.get("xingming"));//输入的姓名post.setXingbie(Request.get("xingbie"));//输入的性别post.setLianxidianhua(Request.get("lianxidianhua"));//输入的联系电话post.setShenfenzheng(Request.get("shenfenzheng"));//输入的身份证post.setDizhi(Request.get("dizhi"));//输入的地址post.setAddtime(Info.getDateStr());//设置添加时间service.insert(post);intcharuid=post.getId().intValue();}2.用户注册会员时,必填项不能为空,才可以进行注册并成功。用户注册功能的具体流程如图5-3所示。图5-3注册模块流程图5.3用户登陆页面此页面主要进行顾客的登陆操作,控制器接收到客户端的请求后会进行业务处理,如果顾客输入的用户名和密码都正确,在数据库中可以匹配的到,而且验证码也输入正确,那么便会登陆成功,如果用户名或者密码其中一个输入错误,便会提示用户名或密码输入错误,如图5-4所示。图5-4用户登陆页面1.相关代码:if(username==null||"".equals(username)){returnError("账号不允许为空");//规定输入的用户名不能为空}if(pwd==null||"".equals(pwd)){returnError("密码不允许为空");//输入的密码不能为空}if(cx==null){returnshowError("请选中登陆类型");}Stringrandom=(String)request.getSession().getAttribute("random");Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");}<inputtype="text"name="pagerandom"placeholder="验证码"class="layui-input"lay-verify="required"><imgalt="刷新验证码"onClick="this.src='captcha.do?time='+newDate().getTime();"src="captcha.do"style="cursor:pointer;padding-top:10px;">//验证码代码用户登陆时必须进行用户名和密码的验证,只有输入的信息在数据库中可以匹配到才可以登陆成功,客户端发送请求被控制器接收到,控制器会将接收到的数据进行业务处理,然后返回对应的页面给客户端。流程图可以很好查看代码所要完成的业务逻辑,使代码编写更加方便,避免业务逻辑混乱。根据以上描述,结合流程图的相关要点,绘制出的登陆页面流程图如图5-5所示。图5-5登陆流程图5.4点餐车此页面为点餐车查询,用户在成功登陆并选择在餐厅选择了菜品之后可以通过个人中心查看自己的点餐车,也可以对自己选的菜品进行删除,支付订单的操作,随后可查询自己菜品订单完成状况。当顾客在前台页面选取好自己的菜品后,相应得订单信息便会插入到点餐车对应得数据库表中,顾客可在个人中心处得点餐车页面查询到自己订单,在点餐车中如果顾客顾客删除某个选定的菜品,这条菜品信息便会从数据库中删除,点击修改可以对菜品的数量等信息进行更新操作。用户可以使用搜索框,查询自己选定的菜品,在数据库中按条件查询顾客所需要的信息。效果如图5-6所示。图5-6点餐车信息页<c:whentest="${'顾客'==sessionScope.cx}">//获取顾客点餐的菜品信息<divclass="content"><divclass="layui-unselectlayui-form-selectlayui-form-selected"id="tab_right"><dl><dddata-type="this">关闭当前</dd><dddata-type="other">关闭其它</dd><dddata-type="all">关闭全部</dd></dl>5.5我的订单信息页当我们在点餐车生成订单以后,可以在点餐订单页面查询我们提交过的订单,并可以对订单进行支付操作,订单明细查看,已完成订单可进行发表评价效果如图5-7所示。图5-7我的订单信息页面5.6管理员登陆页面这是管理员进行登陆的页面,它和顾客登陆原理一样,将输入的用户名密码信息与数据库中的信息进行匹配,只能匹配成功并且输入正确的验证码才可以完成登陆,进入后台,效果如图5-8所示。图5-8管理员登陆页面<hrclass="hr15"><selectname="cx"class="layui-select"><optionvalue="管理员">管理员</option><divclass="layui-form-item"><divclass="layui-inline"><inputtype="text"name="pagerandom"placeholder="验证码"class="layui-input"lay-verify="required">//输入需要的验证码</div><imgalt="刷新验证码"onClick="this.src='captcha.do?time='+newDate().getTime();"//当看不清当前验证码可以点击刷新当前的验证码src="captcha.do"style="cursor:pointer;padding-top:10px;"></div></div>5.7管理员后台查看点餐订单状态管理员后台查看点餐订单是否已支付与是否上菜,当顾客下单后,订单状态会被默认设定为未上菜,当顾客的菜品已被完成,餐厅人员确认顾客收到菜品,点击上菜按钮后,订单状态改变为已上菜。效果如图5-9所示。图5-9管理员后台查看点餐订单状态5.8管理员后台查询已上菜订单管理员可以登陆后台查询已经上菜的订单,还可以进行删除订单的操作,便于管理员管理系统,删除和修改的订单信息会在对应的数据库中完成更新效果如图5-10所示。图5-10管理员查看已上菜订单5.9管理员管理菜品信息管理员后台管理菜品信息,管理员可以进行菜品的查看、修改和删除的操作,操作后的数据会在数据库中进行同步更新,以便获取最新的页面信息。效果如图5-11所示。图5-11管理员管理菜品信息5.10餐厅人员信息列表页管理员登陆后台可以查看餐厅人员的信息,也可以进行一系列的修改,如果修改人员信息,便会在数据库中更新数据,删除人员信息便会将此人员信息从对应的数据库表中删除。效果如图5-12所示。图5-12餐厅人员信息列表页5.11餐厅人员添加菜品信息页此页面为餐厅人员功能,实现餐厅人员对菜品信息的添加,添加内容包括名称、图片、菜品种类、菜品价格,菜品详情等,当输入的信息无误,便可成功添加新的菜品。效果如图5-13所示。图5-13餐厅人员添加菜品信息页面5.12菜品信息列表页此页面实现餐厅人员对菜品信息的查看、修改等一列的操作,当点击对应的按钮后,服务器端接受客户端发送过来的请求,控制器将接收到的参数进行处理,跳转到对应的页面。效果如图5-14所示。图5-14菜品信息列表页面5.13菜品分类信息列表页管理员和餐厅人员可以对菜品分类做出一系列的操作,当管理员或者餐厅人员计划对菜品分类做出修改时,客户端发送出请求,控制器将接收到的参数进行解析,经过业务逻辑层代码处理后返回参数,最终经过解析,渲染视图返回特定的页面。效果如图5-15所示。图5-15菜品分类信息列表页面

第六章系统测试本系统经过许多过程整合完毕,为了检测它的性能,系统测试就成了必不可少的一步,只有当系统测试通过后,本系统才算过关。本系统进行系统测试主要需要在性能方面,质量方面和可靠程度方面进行检测,以了解是否符合用户的标准和要求。测试过程必须按照规定,严格且全面,这样才能保证系统在质量方面,性能方面,可靠程度方面有很大的提升空间,并且可以降低系统出错的概率,使用户在将来使用避免安全风险。为了达到这些要求必须进行功能测试、安全测试、可用性测试、性能测试和兼容性测试。本系统的系统测试主要是将分开的子系统进行进一步的整合,将其拼装成一个完整的系统。这样做可以检测系统的功能是否满足任务书的需求,以确保万无一失。系统测试的目的是要对整合后的完整系统做一个全面功能,确保它是我们所需要的,能满足需求的完整的系统。系统测试的目的是检测最终的产品是否可以满足我们任务书上的要求,实现各种功能,由于这个目的,便可在本系统的产品需求和系统设计文档建设完毕后着手准备本系统的测试计划和测试用例,这样就不用等待本系统所有功能开发完毕后在进行测试。这样的话可以大大提升本系统的测试效率。在本系统的系统测试过程中发现的问题应当用相应的工具记录下来,这些问题也应当及时的去解决,改正错误,消除缺陷。系统测试测试内容应当根据系统的特点来制定。根据本系统的特性,并结合可以达到的技术能力,准备进行功能测试、可用性测试和单元测试。根据《产品需求规格说明书》的需求文档,对系统的功能结构进行确定,以增强系统的可靠性。功能测试的主要目的是确定软件的正确性,这是软件满足需求的必要条件。健壮性测试主要是测试在异常情况下系统是否可以正常运行。当系统出现差错是否可以及时进行改正与修复,恢复正常的使用,这是健壮性测试达标的要求。性能测试主要是测试本系统的运行能力,系统的运行速度及响应程度如何,一方面是为了检验本系统的性能,另一方面是为了得出相应的数据为其他的需求提供参考。用户界面的测试主要是为了检验页面的视觉效果和使用是否方便。由于本系统只用作于毕业设计,并不作为商业用途,所以不存在安全方面的考虑。6.1功能测试本系统的功能测试主要从适用性、准确性、可操作性和依从性进行测试。实用性主要考验本系统是否有使用价值,准确性是为了考验系统功能是否正常可用,可操作性是为了检验系统的操作,依从性是为了检验系统是否遵照任务书要求系统功能测试如表6-1所示。表6-1网站功能测试测试内容测试结果适用性好准确性好可操作性好依从性好6.2可用性测试可用性测试主要从学习性和可理解性方面来测试本系统。在本系统中从页面的包含的相关功能和模块布局来检测。具体测试方面如表6-2所示。表6-2系统可用性测试测试项测试人员的评价窗口移动、改变大小、关闭等操作是否正常是操作模块是否友好是模块和提示内容等文字描述是否正确是模块布局是否合理、协调是模块的状态是否正确(对选中项能否发生对应切换)是键盘、鼠标操作是否支持是所需的数据项是否正确显示是操作流程是否合理是是否提供帮助信息是6.3单元测试6.3.1注册测试游客用户必须要先注册账号才可以登陆系统,当用户1不输入用户名和密码时直接点击注册进行测试,会跳出对话框要求必须输入相关的必填项可能进行测试;当用户2输入了未注册的用户名erere时,页面会跳转,并提示注册成功;当用户3进行测试时,输入的用户名正确,但两次输入的密码不一致时,页面不跳转,并提示两次输入的密码不一致。注册测试用例如下表6-3所示。

表6-3注册测试用例6.3.2登陆测试登陆模块的测试主要为了检验系统的登陆功能。测试的模块为用户登录模块,测试目的是为了检验当输入的信息错误时,是否会有相应的提示。登陆测试用例如下表6-4所示。表6-4登陆测试用例总结在本毕业设计的完成过程中,我学到了好多在学校没有学到的知识,对自己的实践能力有一个很大的提升,平常只单一的学习过Spring,SpringMVC和MyBatis并没有进行很好的练习,这次的毕业设计对之前的学习进行了一次实践。当然这次的实践也是坎坎坷坷,并不是那么的顺利,错误百出是常态。配置文件出错,代码书写不规范,注解使用不恰当等等,导致系统无法正常运行。自己通过查阅相关的报错信息,查阅相关资料,对其进行一步步的改正,终于使系统能够顺利运行。当然,最大的收获就是自己学习到了很多必备的技能,对于SSM框架集有了更深刻的认识与应用。在数据库的设计过程中也出现了相当多的错误,表与表字段联系常常出错,数据库是自己的弱项,有很多东西自己之前也是一知半解,经过这次的毕设,自己在某些方面知识的缺失得到了很大的改善。在编写前端页面期间,查阅了许多了的相关资料,在前端样式方面,调阅了许多具有精美页面的网站,了解相关的数据配置,努力使其页面足够精美。在页面跳转方面,仔细查看要跳转的链接地址是否正确,保证点击相关按钮可以跳转到对应的页面。除此之外,自己也掌握了各种软件的相关操作与应用,在使用编程工具编写代码时,掌握了许多快捷键,使代码编写速度大大提高。并且使用服务器熟练度也得以提高。本系统也有许多的糟粕之处,页面不够简洁大方,开发的功能并不是那么完备,代码的编写也是一步一改,磕磕绊绊,使用的方法可能不是最简便的,代码成本可能比较大。归根结底还是自己实践比较少,平常学习以理论为多,动手能力有限,编写的代码多是基础代码,不能很好的运用到实践项目中去。当然,这些我会在今后的学习不断去改进,努力使自己成为一个很好的程序员。毕业设计真的是一个很好的锻炼自己的机会,自己在设计过程中受益匪浅,学到了很多,并且对自己的编写能力有了很大的提升,对相关平台的使用也越来越熟练。虽然毕业设计的完成充满了各种困难,但自己非常珍惜这段时光。找出并完善自己的不足之处,总结自己的失误,完善自己的知识盲区,这将是本人人生最值得回忆的一段经历。参考文献尹坤任.基于ARM9的嵌入式无线点餐系统的设计与实现[D].电子科技大学,2017.李彬垠,涂明凤.高校食堂自助点餐模式推广运用探析--以福州外语外贸学院为例[J].北方经贸,2019,(1).刘念,吴苏.基于μC/OS-Ⅱ的嵌入式电子点餐系统的设计[J].电脑知识术,2010,(9):2138-2139.doi:10.3969/j.issn.1009-3044.2010.09.040.罗钱江..基于IOS平台移动点餐系统设计与实现[D].电子科技大学,2012:王文璞.无线点餐的运行模式研究[J].计算机光盘软件与应用,2013,16(9):133-134.单立娟.数据库技术在移动点菜系统上的应用[J].数字技术与应用,2016,0(8):78-79.郭红叶,韩建峰,张荣.智能点菜机的人机交互设计[J].电子技术与软件工程,2015,0(20):133-134.ThomasClauss,TobiasKestingandJuliaNaskrent,Arollingstonegathersnomoss:theeffectofcustomers'perceivedbusinessmodelinnovativenessoncustomervalueco-creationbehaviorandcustomersatisfactionintheservicesector,R&DManagement,49,2,(180-203),(2018).WeiGuo,SudhanshuMishra,ChengdongWang,HeminZhang,RuihongNing,FanliKong,BoZeng,JiangchaoZhaoandYingLi,ComparativeStudyofGutMicrobiotainWildandCaptiveGiantPandas(Ailuropodamelanoleuca),Genes,10.3390/genes10100827,10,10,(827),(2019).J.MelouryandT.Signal,Whentheplateisfull:Aggressionamongchefs,InternationalJournalofHospitalityManagement,10.1016/j.ijhm.2014.05.006,41,(97-103),(2014).致谢本次毕业设计历经几个月的时间,终于完成了,它总结概括了大学四年所付出的努力,对我的专业知识进行了总结,评估我个人技能,它也是我踏入社会的一个起点,我将不得不离开母校,进入社会,开始工作。总之,它给了我一个很特别的记忆,一段美好的回忆,奋斗的过程中的一个部分。本系统和论文是在高保禄老师和李宁老师的协助支持和鼓励下顺利完成的。整个毕业到现在已经基本完成,总的来说毕业设计是相当成功的。这个毕业设计是对我综合能力的一次考验。通过我自己的努力解决问题,让我获取得了很大的成就感,这也使我对未来的生活更有信心。毕业设计帮助我学到很多的知识。可以说,用计算机解决艰巨而低效的管理任务是个好主意。在学习理论的同时,掌握了基础知识理论课程和专业课程知识。当这个项目完成后,我在克服我遇到的各种困难方面遇到了困难。在解决困难的过程中,我大大提高了我解决问题的能力,使我有了更好的理论知识和实践技能。提高专业技能。现在回想起在学校学习的日子,那是多么的温馨和惬意,我不得不感谢我的每一位同学和老师,能够跟你们在一起学习、生活真的是何其幸运,庆幸有你们陪伴。虽然在我刚进入大学的时候,老师和同学都是不熟悉的人,要学习的内容也是新的,但我依然感受到当时那种来自老师和同学们的热情和融洽!这也让我融入新环境,对本专业产生非常浓厚的兴趣。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终网站可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!

附录IntroducingtheSpringFrameworkTheSpringFramework:apopularopensourceapplicationframeworkthataddressesmanyoftheissuesoutlinedinthisbook.ThischapterwillintroducethebasicideasofSpringanddis-cussthecentral“beanfactory”lightweightInversion-of-Control(IoC)containerindetail.Springmakesitparticularlyeasytoimplementlightweight,yetextensible,J2EEarchi-tectures.Itpr

温馨提示

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

评论

0/150

提交评论