1、111002414610722学号学校代码公 开TP315分类号密级 题 目 高校网上订餐系统的设计与实现The Design and Implementation of the Oline reservation system储 淼指导教师专业名称学科门类作者姓名软件工程 工 学 李 小 林二一五年五月提交论文日期成绩评定等级摘 要近几年,随着社会科技的快速发展,网络技术已经广泛进入人们的生活。尤其在学校的教育教学设施上表现的尤为突出,多媒体教学已经成功替代了旧的教学方式,还有大多数学校的图书馆也已经应用网络管理系统进行管理。但是学校的餐饮基本上还没有广泛的使用网络化的科技技术。在就餐高峰期
2、大量的学生同时进入餐厅排队就餐,以至于浪费很多时间。高校网上点餐系统可以使许多学生同时在网上点餐,不仅节省时间而且可以大大减少就餐拥堵现象。本论文详细介绍了高校网上订餐系统的主要功能。主要运用jsp技术,数据库采用mysql,该系统实现了用户从登录到浏览菜单再到订餐的过程,接着管理员再通过后台对订单进行处理,根据订单制作菜品再送餐。该论文先对系统功能进行需求分析,再根据需求分析进行系统的设计与实现,最后通过测试对系统功能进行完善。关键词:网上订餐;JSP;MySQLAbstractIn recent years, with the rapid development of social sci
3、ence and technology, network technology has been widely into the life of people. Especially in the school education teaching facilities in particular, multimedia teaching has successfully replaced the old way of teaching, has been applied in most of the school library also manage network management
4、system. But the school food basically has not been widely use of network technology. In the periods of peak dining plenty of students enter the restaurant lunch line at the same time, that they waste a lot of time. Online ordering system in colleges and universities can make many students online ord
5、er at the same time, not only saves time but also can greatly reduce the congestion phenomenon. This paper introduces in detail the main functions of the online reservation system in colleges and universities.Mainly using the JSP technology, database use The system realized the user from the process
6、 of login to browse the menu to order a meal, then the administrator of orders through the background processing, make dishes according to the order to delivery. The paper first to demand analysis, system function and system according to demand analysis, the design and implementation of the final te
7、sts to improve the system function.Keywords: Online Meal Booking;JSP;MySQL目录第一章 绪论11.1 课题研究的背景11.2 课题研究的意义11.3 课题研究的目的11.4 主要研究内容2第二章 系统的开发环境及技术简介32.1 系统开发环境32.2系统开发技术32.2.1 MyEclipse32.2.2 MySQL数据库32.2.3 MVC设计模式32.2.4 Struts2 MVC框架3第三章 系统分析53.1 可行性分析53.1.1 经济可行性分析53.1.2 技术能力分析53.1.3 运行可行性分析63.1.4 法
8、律可行性分析63.2功能需求分析63.2.1前台功能63.2.2 后台功能63.3 系统安全性分析7第四章 总体设计84.1 系统的概要设计84.1.1 前台功能结构84.1.2 后台功能结构84.2数据库概要设计94.3 数据库逻辑结构设计114.4 数据库表的设计11第五章 详细设计135.1用户注册功能设计135.2 加入购物车功能设计135.3管理员登陆设计145.4菜单管理模块设计155.4.1添加菜单功能设计155.4.2 删除菜单功能设计165.4.3 修改菜单功能设计165.5订单确认功能设计175.6用户管理功能设计185.6.1 用户删除功能设计185.6.2 用户修改功能
9、设计18第六章 系统的调试与测试206.1 软件测试说明206.2 软件测试用例206.3 主模块测试206.3.1 登录注册模块206.3.2 订餐服务模块206.3.3 订单处理模块216.3.4 菜单管理模块216.3.5 测试总结22结束语23谢辞24参考文献25III 咸阳师范学院2015届本科毕业论文(设计)第一章 绪论1.1 课题研究的背景科技发展的同时也带动了经济腾飞,而经济的腾飞也势必改变我们人类现有的生活方式,当然变化最大的还是属于我们的餐饮行业,从以前的小餐馆到现在的快餐店,再到现在的连锁店,每天都在发生着日新月异的变化,然而这一切都离不开当下人们高效的生活方式和生活节奏
10、,加上网络信息化的飞速发展,生活网络化也慢慢的步入正轨,而购物网站正是这种活动的具体表现形式。随着时代的进步,上网的人数越来越多,网上订餐是人们的一大生活方式之一,网上订餐系统的完善合便捷将是现代社会必然的需求。 本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品。改变传统商业交易,在互联网上进行交易,实现网上购买菜品,从而提高生活品质,追求便捷生活方式。1.2 课题研究的意义社会的发展带动了经济的变革,然而科技的发展永远是走在最前沿的,他是社会发展的领头羊,也是社会进步的推动者,它让我们的生活变得越来越多样化和便捷化,在这个风口浪尖的时代,互联网的以它迅雷不及掩
11、耳之势锐不可当,现实生活中的各种问题都可以在互联网上进行解决,包括衣食住行,当然跟人们最息息相关的要属饮食行业了,因此网上订餐的发展早就像雨后春笋般蓬勃发展了,在这个干什么都追求效率和质量的社会背景下,网上订餐也受到了大家的欢迎和依赖,因为现在年轻人的生活工作节奏是特别快的,所以在生活这一块,他们追求更高效的生活方式,而网上订餐的出现恰恰满足了他们这一需求,从时间成本上来说,这是最重要的一点,当然还有便捷和廉价,当然只要有人喜欢,那么说明这个东西做的是值得的。1.3 课题研究的目的近几年类似于淘宝网这种大型的网上购物网站的飞速发展,网上购物已成为一种时尚。为了方便在校那些学习工作紧张的学生、老
12、师饮食方便,网商们提供新的一种便捷快速的订餐方式,来改变人们的生活习惯。高校网上订餐管理系统是为了满足在校大学生只要通过互联网就可以不用在吃饭的高峰期去餐馆等待就餐,而是直接可以再网上购买,节约了时间成本。本论文主要涉及软件,数据库与网络技术等。可有效地提高我们综合运用所学知识分析解决问题的能力,是自己的认知又到达一个新的高度,增强自己的综合能力,正确的设计思想,独立思考,勇于进取,探索创新,为进入社会工作奠定一些基础,同样也大大节省了学生们的就餐时间,提高了学习效率。1.4 主要研究内容此论文主要研究的内容包括一下几个方面: 1. 从开始的研究背景,需求分析和研究的技术等方面。2. 结合自己
13、所学的知识,采用我大学期间学习的软件工程,对各个模块进行一定的设计。3. 考虑市场用户的出发点,本系统采用从实际出发的点来研究此项目。4. 对系统的整体把握和守卫工作的进行。1.5 论文结构本文按照软件工程思想设计开发系统,共分为六章。第一章是绪论,叙述了系统开发的背景,目的,意义,国内外现状及论文工作内容。第二章是系统开发环境及相关技术介绍,叙述了开发本系统所需环境和其相关技术。第三章是系统需求分析。对将要实施的项目进行分析,来确定项目是否值得进行。第四章是系统总体设计。将系统的各个模块进行系统的概要设计。第五章是详细设计,叙述了各功能模块设计实现过程。第六章是测试,叙述了系统测试过程。第二
14、章 系统的开发环境及技术简介2.1 系统开发环境操作系统:Windows 7操作系统开发平台:MyEclipse8.5数据库:MySQL5.0第三方框架:Struts2,Hibernate3.0运行服务器:Tomcat6.02.2系统开发技术2.2.1 MyEclipse在本系统开发本平台中所用到的开发工具就是咱们大学期间常用的的java项目开发工具MyEclipse1。MyEclipse是现代企业常用的开发软件之一,它的各个功能性能在目前来说还是比较完善的,而且做为各大高校使用率最高的开发软件之一,也间接说明了用户对它的接受程度也是相当满意的,当然我也不列外,选择最熟悉的一款编程软件来开发本
15、系统2。2.2.2 MySQL数据库本系统采用MySQL数据库管理系统。根据以前的使用经验和结果,自己觉得MySQL是一个出色的数据库,相对来说简单易懂,易操作。MySQL无论从安装还是使用亦或是性能上来讲,它都是一款性价比较高的数据库,现在的学生都喜欢最求完美的东西,在软件工程学习的过程中MySQL恰恰满足的广大用户的需求3。2.2.3 MVC设计模式MVC是当代很流行的一种设计模式,早在很早之前,IBM就开始了MVC设计模式的研究,它的全名是Model-View-Controller,也就是把一个应用程序划分为视图层,模式层,控制层,而且这几个层分别担任了不同的任务和各自的关系4。2.2.
16、4 Struts2 MVC框架从我自身的使用经验情况来看,Struts2是所有MVC框架中不容辩驳的强者,在市场占有率和开发人群这两点上,因此它就获得了较为广泛的粉丝5。在struts请求经过图中的几个过滤器,送达到FilterDispatcher过滤器,而且过滤器FilterDispatcher Struts2的框架的心脏,通常在处理用户请求时,他和请求一起相互配合访问Struts2的底层框架结构,其基本构成如图2.1所示:图2.1Struts2框架结构图1.Spring框架Spring框架由以下7个部分组成。Spring包括了分层的体系结构,我们可以根据自己的使用情况任意选择其中的一个独立
17、部分,但是它的架构又是内部一致的,它不会让我们对自己的工程有框架上的依赖,而且它可以一站式解决方案,提供了大部分的基础框架,当然也智能的考虑了其它的框架,它设计的主要目的还是为了帮助开发者编写易于测试的代码6。2.Hibernate框架Hibernate是一个开源的对象关系映射框架,它对JDBC访问数据库进行了封装,使得Java程序员可以使用面向对象的编程思想来操作数据库。 Hibernate框架既可以在C/S架构的Java应用程序中使用,也可以在B/S架构的Java Web应用程序中使用7。而且Hibernate能够很好对数据的进行持久化,把java程序言从繁琐的数据访问中解脱出来,大大缩短
18、开发周期,节省人力8。第三章 系统分析3.1 可行性分析3.1.1 经济可行性分析一个系统的好坏是可以用经济手段来衡量的,从一开始新系统开发和运行所需的费用,以及新系统预期能达到的收益和实际收益可以进行一个全面的比较,将投资和效益进行比较,如果能算出是盈利的话,或者是在将来摸一个阶段能实现盈利目的,那么研究它就是值得的。当然,从实际的角度来考虑本系统研究的成本相对来说是比较低的,只需配置一台电脑及相关的学习软件,另外本系统有高效的数据处理的能力;从而降低了人体力劳动,提高了劳动效率;使用信息将更加方便;取得了其他经济和社会效益,还包括那些隐藏的潜在的效益,是大家共同达到双赢的目的9。其中详细的
19、各类开支如下:1.支出 现在高校电脑的应用已经得到了普及,在大学校园使用计算机进行软件开发,网络环境和基础设施能满足本系统的实施要求,因此无须另外的资金投入10。其它一次性支出如下:作为在校大学生研发系统,往往它的开发成本是不会太大,但是也是我们自己研究和付出辛勤汗水的。经常性支出如下:使用者在使用的同时还需要对它有所付出,因为没有付出就没有收获。2.效益一个好的软件或系统步入市场的时候都有一个预热期和高潮期,我觉得前期投入,中后期见效回本是本系统未来在市场的潜在价值11。综上所述可见系统在经济上是可行的。3.1.2 技术能力分析根据本系统的功能需求及各方面的考虑,我的系统采用了Java与开源
20、的MySQL数据库进行了开发。选择的是Java基于通用语言的编译运行的程序,它包括强大性和适应性两大优点,通用语言的基础库,消息机制,数据接口这方面的处理都能完整的整合到Java的web应用中。Java同时还是语言独立化的,这也是我比较熟悉的编程语言,当然还可以用很多种语言来编写程序,Java,Jscript等12。综上所述,系统在技术上是可行的。3.1.3 运行可行性分析本系统的客户端采用的是图形界面方式处理的,由于高校大学生日常所使用的操作系统都是Windows7系统,所以经过简单的学习和了解就可以胜任新系统的操作。新系统的目标就是帮助普通用户实现资料的管理,并且新系统的运行不会对组织和管
21、理方式产生一些其他的的影响,不会受到其他因素的干扰。3.1.4 法律可行性分析在法律可行性上主要是指开发的软件有没有存在知识产权等与法律有关的问题,因为现在的各类软件层出不穷,盗版模式时代的到来使得版权的意义显得格外重要,如果本软件面向社会中进行使用,必须要走一定的法律程序,这也是必不可少的。因此,开发本系统在法律上是可行的。3.2功能需求分析本系统主要由前台功能和后台功能组成。3.2.1前台功能1)用户注册登录模块;包括用户注册、用户登录模块;通过注册成为普通用户。注册后的用户可登录进行其他操作。2)菜品查询模块;包括浏览菜品、搜索菜品;用户登陆后可在主页查看所有菜品。在主页使用搜索功能查找
22、想要的菜品。3)购物车模块;包括查看已下单、结算,删除。用户打开我的购物车可查看自己已预订的菜单;删除菜单,结算菜单。4)用户留言模块;包括用户发表留言,查看留言。3.2.2 后台功能1)订单管理模块;查看订单、确认订单;管理员进入后台对菜单进行查看、确认操作。2)菜单管理模块;包括查看菜单、更新菜单、添加菜单、删除菜单。管理员进入后台可对菜单进行、删、改、查功能。3)用户管理模块;包括查看当前用户,删除、更新用户。管理员进入后台对用户进行删、改、查的操作4)留言管理模块;包括查看用户发表的留言,删除留言。管理员进入后台对留言进行查看和删除的操作。系统功能模块图如图3.1所示。注册登录菜品查询
23、购物车管理用户留言订单管理菜单管理留言管理用户管理订餐系统后台订餐系统前台网上订餐系统图3.1 系统功能模块图3.3 系统安全性分析安全问题在信息管理中一直扮演着重要的角色,因此在系统开发中把安全问题考虑进去是十分必要的。系统用户信息的安全也是不可忽视的,用户信息的安全保证了系统的健壮性及系统的可用性。用户数据的安全轻则导致系统错误,重则导致系统崩溃瘫痪,这将对书店及用户造成严重的经济损失。用户的权限管理也是不可忽视的,它保障了使用系统的不同用户在自己的权限范围内操作系统,使用户在系统的不同权限下进行指责内操作,从另一方面保证了系统的安全性。因此,在安全问题方面提供保障是十分必要的,该系统采用
24、MD5算法加密用户密码和权限管理保证系统的健壮性。第四章 总体设计系统总体设计的主要目标是一个前期铺垫工作,将一些问题转换为计算机问题,并且能将这些问题转化为计算机能处理的的各种方案,这也反映了信息在需求过程中系统逻辑方案转换成可以实施的基于计算机运行环境的转变,然后进行系统的概要设计,为下一阶段系统详细设计打下了坚实的基础。4.1 系统的概要设计4.1.1 前台功能结构用户进入订餐系统首页后,注册成为普通用户后可登陆,可在主页内查看菜品,下单,搜索菜品,查看购物车,发表留言。1)注册登录。系统提供注册登录功能,参与订餐操作的用户需先注册后再登录。2)查看菜品。用户登陆后在主页可对所有站内菜品
25、进行查看。3)下单。用户登陆后可对某一菜品进行下单操作。4)搜索菜品。用户登陆后在主页搜索框中进行菜品。5)查看购物车。用户登录并下单后,进入购物车页面查看自己的购物信息。6)发表留言。用户在首页中点击“留言”可对本站进行留言。前台功能结构图如图4.1所示。购物车查看订单付款结算用户留言发表留言查看留言登陆注册用户注册用户登录订餐系统前台菜品查询查看菜品搜索菜品图4.1系统前台用户功能结构图4.1.2 后台功能结构只有管理员有权限进入后台界面,有管理订单、管理菜单和管理用户的权限,也可对用户留言进行操作。1)管理订单。管理员可以用户已下的订单进行查看,确认等操作。2)管理菜单。管理员可对菜品进
26、行增、删、改、查等操作。3)管理用户。管理员可对用户进行删除,更改等操作。4)管理留言。管理员可用户发表的留言进行查看,删除等操作。后台功能结构图如图4.2所示。用户管理用户修改用户删除菜单管理菜品修改菜品删除菜品添加订餐系统后台订单管理确认订单查看订单留言管理留言删除留言查看图4.2后台管理员功能结构图4.2数据库概要设计E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的E-R模型。本系统所使用的数据库实体如下。1.普通用户实体普通用户实体的属性包括ID、姓名、性别、登录密码、联系电话、权限。其中权限用来表示用户,用1表示“管理员”,
27、用0表示“普通用户”。普通用户实体的E-R图如图4.3所示。姓名ID性别联系电话权限普通用户登录密码图4.3 普通用户实体E-R图2.订单实体订单实体的属性包括ID、订餐者ID、订餐者姓名、菜名、份额、单价、总价、联系电话、送餐地址。订单实体的E-R图如图4.4所示。订餐者IDID菜名订餐者姓名送餐地址订单份额联系电话总价单价图4.4 订单实体E-R图3.菜单实体菜单实体的属性包括ID、菜名、单价、简介。菜单实体的E-R图如图4.5所示。菜单菜名简介ID单价图4.5 菜单实体E-R图4.3 数据库逻辑结构设计由需求分析阶段的系统实体联系图具体得到关系数据模型。(1)用户信息表:(用户ID、姓名
28、、登录密码、性别、联系电话、权限)。(2)订单信息表:(订单编号、订餐者编号、订餐者姓名、菜名、份额、单价、总价、订餐者电话、送餐地址)。(3)菜单信息表:(菜单编号、菜名、单价、简介)。4.4 数据库表的设计本网上订餐系统采用MySQL数据库,数据库名称为onlineorderdb。数据库包含以下3个表:(1)用户信息表(tb_user)该表用来保存用户信息,主键是用户ID,表的结构见表4.1。表4.1用户信息表字段名称数据类型字段长度是否主键是否为空描述User_idint11是否用户IDUser_nameVarchar20否是姓名User_passVarchar20否是登录密码User_
29、sexVarchar2否是性别User_ableVarchar1否是权限User_phoneVarchar12否是联系电话(2)订单信息表(tb_orders)该表用来保存订单的信息,主键是订单编号,表的结构见表4.2。表4.2订单信息表字段名称数据类型字段长度是否主键是否为空描述Order_idint11是否订单编号User_idint11否是订餐者编号User_nameVarchar20否是订餐者名称Order_nameVarchar30否是菜品名称Order_numVarchar11否是菜品编号Order_priceFloat10否是菜品单价 续表4.2字段名称数据类型字段长度是否主键是
30、否为空描述Order_sumFloat10否是菜品总价User_phoneVarchar12否是订餐者电话User_addressVarchar30否是送餐地址 (3)菜单信息表(tb_menu)该表用来保存菜单信息,主键是菜单编号,表的结构见表4.3表4.3菜单信息表字段名称数据类型字段长度是否主键是否为空描述Menu _idint11是否菜单编号Menu_nameVarchar30否是菜品名称Order_priceFloat11否是菜品价格Menu_messageVarchar40否是菜品简介第五章 详细设计5.1用户注册功能设计用户进入首页,点击“注册”标签,打开register.jsp
31、页面,此页面用注册用户。在页面中填写注册信息后点击“确定”按钮,此时调用cn.soft.action.PersonAction类中的regist方法,在此方法中调用cnsoft.dao.PersonDao类中的juegeUser方法,判断输入信息是否合法,若不合法,则提示错误并重新输入信息,若合法则将该用户添加到数据库中,并跳转至massage.jsp页面,提示用户登录。完成注册操作。用户注册流程如图5.1所示。图5.1 用户注册流程图5.2 加入购物车功能设计会员登陆到系统,进入主界面,当会员点击加入购物车链接,将会发送请求addcart.do请求,Strust2核心拦截器会拦截用户的请求,
32、调用session.getAttibute(“cart”),查找用户添加的菜品信息,返回cart.jsp页面显示用户菜品信息。用户可以修改菜品信息,通过便利菜品列表,修改菜品数量,计算价格。当从session取出cart对象为空时,则会创建购物车对象,将选择的菜品信息保存到cart对象的集合属性中。加入购物车流程如图5.2所示。结束登录浏览菜品填写需求信息点击“加入购物车”跳转至订单信息页面开始图5.2 加入购物车流程图5.3管理员登陆设计管理员要登陆到后台系统,需输入合法的用户账号和密码,当管理员访问登陆界面输入账号和密码,点击提交时,根据HTTP协议浏览器会将表单里面的数据发送到服务器,服
33、务器端使用Struts2 MVC框架的控制器ActionServlet拦截的用户登陆请求,会根将请求转发LoginAction,从而调用login方法,该方法会根据用户输入的orderName和password查询admin数据表,如果查询返回数据记录,则说明此管理员是合法的用户。将返回后台管理主页面index.jsp,否则返回login.jsp,提示用户输入的用户名或密码错误。管理员登录流程如图5.3所示。结束打开登录页面输入用户名密码选择身份用户名密码是否正确登陆成功跳转至主页开始否是图5.3管理员登录流程图5.4菜单管理模块设计5.4.1添加菜单功能设计管理员登录后进入菜单管理,在菜单管
34、理中点击“添加菜单”按钮,此时调用cn.soft.action.MenuAction类中的addMenu方法,打开caidan_add.jsp页面,该页面为添加菜单页面,然后填写菜单信息后点击“提交”按钮,此时系统调用cn.soft.action.OrderAction类的addMenu方法,判断输入的菜单信息是否为空。若输入信息为空,则提示要求重新输入;若不为空将输入的菜单信息添加至菜单表中并更新数据库,同时返回菜单页面。完成添加菜单操作。添加菜单流程如图5.4所示。开始打开菜单管理页面点击添加菜单输入菜单信息信息是否为空添加成功跳转至菜单页面结束否是图5.4添加菜单流程图5.4.2 删除菜
35、单功能设计管理员查看菜品列表,选择要删除的菜品,将会触发JavaScript事件弹框提示用户“确定要删除该菜品”,当用户选择确定将会发送Http请求deleteProduct.do请求,服务器端Struts2拦截用户请求,根据strust.xml文件的配置,将改请求转发给ProudctAction调用execute()方法,该方法获取到菜品id,调用ProductDAO的delete()方法删除指定的菜品信息。操作数据库时调用hibernate提供的session.delete()方法删除数据库product表指定id数据记录,操作成功,提示用户“删除成功”。操作失败,提示用户“请稍后重试”。
36、5.4.3 修改菜单功能设计用户查看菜品列表,选择要修改的菜品,当用户选择确定修改,将会发送Http请求toUpdateProduct.do请求,服务器端Struts2拦截用户请求,根据strust.xml文件的配置,将改请求转发给ProudctAction调用toUpdate()方法,该方法获取到菜品id,调用ProductDAO的findById()方法查询指定的菜品信息。返回modifyProduct.jsp显示要修改菜品信息,当用户填写相应的修改信息,点击修改,将会向将会发送Http请求updateProduct.do请求,服务器端Struts2拦截用户请求,根据strust.xml文
37、件的配置,将改请求转发给ProudctAction调用update()方法,调用ProductDAO的modify()方法修改指定的菜品信息。操作数据库是调用hibernate提供的session.update()方法修改数据库product表指定id数据记录,操作成功,提示用户“修改成功”。操作失败,提示用户“请稍后重试”。修改菜单流程如图5.5所示。开始打开菜单管理页面点击修改输入菜单信息信息是否为空修改成功跳转至菜单页面结束否是图5.5修改菜单流程图5.5订单确认功能设计订单管理员从系统后台登陆到系统,进入管理界面,当管理员点击查看订单链接,将会发送请求findOrders.do请求,S
38、trust1核心拦截器会拦截用户的请求,调用session.getAttibute(“admin”)方法从session中取出管理员对象,通过判断admin.getLevel()方法返回值,判断用户的权限是否是订单管理员,如果是订单管理员级别,则会将该请求转发到OrderAction的list()方法,调OrderDAO的findAll(),查询order表查询出所有的订单信息,则返回order.jsp页面,否则提示用户“没有权限”。5.6用户管理功能设计 5.6.1 用户删除功能设计管理员查看会员列表,选择要删除的会员,将会触发JavaScript事件弹框提示用户“确定要删除该会员”,当用户
39、选择确定将会发送Http请求deleteUser.do请求,服务器端Struts2拦截用户请求,根据strust.xml文件的配置,将改请求转发给UserAction调用execute()方法,该方法获取到会员id,调用UserDAO的delete()方法删除指定的会员信息。操作数据库是调用hibernate提供的session.delete()方法删除数据库user表指定id数据记录,操作成功,提示用户“删除成功”。操作失败,提示用户“请稍后重试”。5.6.2 用户修改功能设计用户在浏览菜单后,可以根据跟人喜好,选择喜欢的菜品,加入购物车中。然后用户就可以点击我的购物车查看我选择的菜品,这个
40、时候菜品已经加入到购物车中,用户还可以更改菜品的数量,删除菜品,还原已删除的菜品等,如果确定好要的菜品了,就可以结算了。CartService 模型是程序的购物车模型,在该模型中定义了对购物车操作的各种方法,通过调用该方法实现对购物车的各种操作,比如显示购物车商品列表操作的CartService.getItems()方法,获得购物车总价格的CartService.getPrice1()方法,获取购物车的各种方法后,在通过this.setUrl(cart.jsp);方法指定传回到具体指定的是那个JSP页面。通过这样达到对数据查询功能的实现,同时在该购物车页面定义了对购物车条目信息的操作。修改用户
41、流程如图5.6所示。开始打开用户管理页面点击修改输入用户信息信息是否合法修改成功跳转至用户页面结束否是图5.6修改用户流程图第六章 系统的调试与测试6.1 软件测试说明真金不怕火炼,当然在软件行业也一样,这是一个准确率特别高的工作,电脑有时候还会出错呢,更何况人呢。每个程序都会有一些bug,如果不能及时发现和改正,可能会造成系统的功能无法正常实现,而系统测试的主要目的就是尽可能多的发现系统中的潜在错误,以便及时修正,完善系统13,提高系统的可靠性,实用性。因此,系统测试是开发软件中的一个重要环节,我们应该提早发现系统中的错误并排除,这样才能使系统更好的运行14。6.2 软件测试用例该订餐管理系
42、统中五大模块都有与之对象的子模块,因为系统子模块比较多,并且各个子模块的功能大致相似,因此,采用黑盒测试,对会员登录模块、管理员、订单模块、管理员列表模块、用户留言模块用测试用例进行测试15。6.3 主模块测试本系统主模块的测试我采用了黑盒测试。6.3.1 登录注册模块登录/注册模块测试有用户登录和用户注册,如表6.1所示。表6.1 登陆/注册模块测试用例表测试项目测试用例测试结果操作流程用户登录用户名:qiqi正确密码:123456输入密码:123456登陆成功在网站首页的登陆框上登陆用户登录用户名:zj正确密码:123456输入密码:123456错误提示:“登陆失败,或是尚未通过审核”在网
43、站首页的登陆框上登陆用户注册输入相关注册信息注册成功在网站首页的登陆框上点击“注册”6.3.2 订餐服务模块订餐服务模块的测试项目有菜品分类,搜索查询,加入购物车和提交订单,如表6.2所示。表6.2 订餐服务模块测试测试项目测试用例测试结果 操作流程菜品分类点击查询“意面”显示所有主食点击主页上的“意面”搜索查询在搜索框中选择“意面显示菜名中包含“意面”的所有菜在主页上的搜索框中选择,点击查询加入购物车点击加入购物车显示已加入购物车点击菜品后的加入购物车提交订单点击“订单确认”显示注册时预留的地址信息查看购物车页面,填写相关的送餐信息,点击“提交订单”6.3.3 订单处理模块订单处理了模块测试
44、项目有登陆后台,查看订单管理,查看订单详情和受理订单,如表6.3所示。表6.3 订单处理模块测试测试项目测试用例测试结果操作流程登陆后台用户名: admin正确密码: admin输入密码:admin转入后台管理首页进入后台登陆界面查看订单管理点击订单管理中“订单管理”转入订单列表页面在后台管理首页中,点击订单管理中“订单管理 ”受理订单点击“受理订单”订单表中的订单状态改变为“已受理”在订单详情中点击“受理订单”6.3.4 菜单管理模块菜单管理模块测试项目有添加、删除菜品信息和编辑现有菜单信息,如表6.4所示。表6.4 菜单模块测试测试项目测试用例测试结果操作流程添加菜品信息输入相关信息添加成功,在菜品列表中在后台管理首页点击菜品管理中的“添加”删除菜单信息点击“删除”提示:“删除成功!”在菜品列表的相关操作中点击“删除”编辑现有菜单信息点击“编辑”编辑成功,转回列表页面在菜品列表点击“编辑”6.3.5 测试总结通过测试后发现,本系统的各功能模块的功能均符合系统要求,系统的完善性也经过考证。因此,系统测试是开发软件中的一个重要环节,经过一些处理力求本系统在使用中更加完美,我们应该提早发现系统