网上订餐系统毕业设计论文毕业设计.doc_第1页
网上订餐系统毕业设计论文毕业设计.doc_第2页
网上订餐系统毕业设计论文毕业设计.doc_第3页
网上订餐系统毕业设计论文毕业设计.doc_第4页
网上订餐系统毕业设计论文毕业设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

网上订餐系统毕业设计论文毕业设计目 录1 绪论11.1 开发背景11.2研究意义11.3 JSP的运行原理11.4 系统的运行环境32 系统分析42.1 需求分析42.1.1 任务概述42.1.2 需求描述42.1.3 面向的用户群体52.2 开发环境52.3 功能分析52.3.1 系统用例图52.3.2 系统业务流程分析73数据库设计93.1 数据库E-R图93.2 数据库表的设计104 系统详细设计124.1 系统架构层次124.2 系统模块设计124.2.1 总体模块功能描述124.2.2 用户模块功能描述134.2.3 菜式模块共描述144.2.4 留言板模块功能描述154.2.5 后台管理员模块功能描述155 系统实现175.1 用户注册175.2 用户登录185.3 在线订餐195.4 购物车215.5 订单管理245.6 留言板256 系统测试266.1 单元测试266.2 功能测试266.2.1 系统管理模块的功能测试276.2.2 菜肴管理模块276.2.3 订单管理模块276.2.4 购物车模块276.2.5 留言板模块27致 谢28参考文献2921 绪论1.1 开发背景随着21世纪的进步,社会的生活节奏越来越快,网络的迅速崛起,互联网已日益成为提供信息的最佳渠道和逐步进去传统的流通领域,传统的餐饮业也面连着巨大的挑战,网上订餐主要是针对白领还有大学生这些特定群体,一些白领在中午时间或者晚上高峰时间就餐,许多顾客由于高峰时间拥挤根本没时间来享受美味,这样既可以提前订餐不浪费中午午休的时间,也可以和同事加深感情,更可以每天换各种各样的菜式,保证每天工作的效率和身体的健康,这些问题就产生了快捷订餐的要求,最快的方式莫过于利用计算机网络,将餐饮业和计算机网络结合起来,就形成了网上订餐系统,能足不出户,轻松闲逸地实现自己订购餐饮和食品(包括饭、菜、盒饭便当等),有能力的餐饮企业对对餐品提供商提供网上订餐服务,不仅提高餐饮企业的服务质量,扩大知名度,也是为最终用户提供方便快捷的食品服务方式。1.2研究意义随着人民生活水平的不断发展和提高,餐饮业在服务行业中的地位也越来越重要,如何从激烈的竞争中脱颖而出,已经成为每位餐饮经营者的思考的问题。经过多年的发展,对餐饮企业的管理已经逐渐由简单的人工管理,进入到规范的科学管理的阶段。在科学的管理的具体实现方法中,最有效果的工具就是应用管理软件进行管理。将应用软件用于现代化的餐饮业,解决了传统的记账,统计,核算方式计费等费时费力的难题,既容易操作,又不会出错误,提高了餐饮业管理水平。餐饮业是一种个性化、多样化的服务产业。随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势在于:图文并茂,信息能够及时更新和在线查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息不能及时更新的现象。这样既节省了时间,也可以为广大用户提供更多选择。1.3 JSP的运行原理 在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。如图1.1所示:Client客户端请求(Request)Web Server响应(Response)Serverextension服务器扩展ServletengineJSPengineServlet引擎JSP引擎ClassloaderJavacomplierJSPparser类载入器Java编译器JSP语法分析器 图1.1 JSP运行原理在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。1.4 系统的运行环境要运行Jsp,需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持Jsp的服务器,如Weblogic,JSWDK等;而另一种则是在不支持Jsp的服务器上安装Jsp引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat等插件。其中主流服务器是Weblogic和tomcat.Weblogic是一款功能强大的服务器软件,配置比较简单,而且Jsp的扩展功能较多,附带了数据库的JDBC驱动程序。,支持JHTML(一种与Jsp十分相似的技术),是目前市场占有率最高的服务器。不过,Weblogic的运行情况不太稳定,使用它调试Jsp文件,出现语法错误或者数据库连接错误时,Weblogic就有可能崩溃。Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。本系统就是用该服务器的。2 系统分析2.1 需求分析2.1.1 任务概述综合应用主流Jsp技术,Struts Web框架技术,数据库技术,软件测试技术,网站部署与发布等技术,遵从IT企业生产性项目的软件产品生命周期开发工程模型或敏捷开发及持续集成模型,应用软件工程相关工具,完成网上订餐系统。根据系统说明书进行新系统的物理设计,提出一个由一系列模块和元素组成的新系统设计方案。通常分为总体设计和详细设计两个阶段。总体设计阶段的主要任务是:系统模块结构的设计、系统整体框架设计。详细设计阶段的主要任务是:数据库设计和数据文件的设计、编码设计、输入/输出设计、模块逻辑设计、包的设计、各模块类的设计等。在该项目中系统被分为四大模块:菜色展示模块、购物车模块、菜肴搜索模块、后台管理模块。主要任务就是将这四大模块分别细化设计,确定各自的字段、数据库等相关事项,然后再统筹在一起组成一个大的框架,最后成形整个管理系统。2.1.2 需求描述菜色展示系统菜色展示系统是一套基于数据库平台的即时发布系统,可用于各类菜色的展示、添加、修改和删除等。网站管理员可以管理菜色简介、价格、图片等多类信息。浏览者在前台可以浏览到菜色的所有资料,如菜色价格和详细介绍等菜色信息。购物车购物车能够帮助顾客通过存放所需的菜的信息,将它们列在一起,并提供商品的总共数目和价格等功能,方便顾客进行统一的管理和结算。搜索系统商品搜索在本网站中也是一项很重要的功能,主要帮助用户快速地找到想要购买的菜。可以利用数据库和信息检索技术为用户提供商品及其他信息的查询功能。后台管理后台管理在考虑管理操作简便的同时,要提供强大的管理模式,包括管理员角色的设置,商品管理,订单管理,留言板管理,网站基本信息管理等。2.1.3 面向的用户群体本系统所面向的用户群分为网上订餐者、网站管理人员两种。网上订餐者可以执行查看菜谱,搜索,下定单,评论,进入留言板,注册新用户这些功能,通过这些功能,网上订餐者可以订购自己喜欢的特色食品,也可以直接预定时间,来享受服务。网站管理人员可以执行管理定单,菜谱,管理留言板这些功能,对餐厅进行管理。2.2 开发环境硬件:CPU:Pentium 1GHZ以上 内存:64MB以上软件:客户端软件:操作系统:Windows 2000 / XP /Vista、Win7浏览器:IE6.0及以上版本、FireFox等服务器端软件:操作系统:Windows 2000 Server或更高版本Web服务器:Tomcat6.0数据库产品:SQL Server 2000 2.3 功能分析2.3.1 系统用例图网上订餐系统用例图,如下图2.1所示:图2.1 网上订餐系统用例图一般用户、会员1.系统遵循开放模式,注册用户可以按照自己的权限;未注册用户也可以任意查看,但在订餐、更新个人资料要求正式登陆系统。2.菜肴信息主要包括ID、名称,时间,内容,类型,价格,介绍,图片等。3.订餐功能,用户需要登陆后才能进行订餐否则,普通游客不可以订餐。4.订单管理,用户登陆后,可直接订餐,也可以加入购物车,结账时候可以选择外卖或者是菜店内食用,直接跳转到结账页面。5.如果用登陆后,可以查看购物车也可以查看以前订单,可以点击更新信息,或者退出。管理员1.管理员拥有最大权限,可以进入管理页面并配置系统信息。2.管理员可以管理会员,对会员进行查看、删除多余的会员信息。3.管理员可以随时更新菜肴信息,添加、修改菜系信息以及删除菜肴。4.管理员查看用户订单信息,并可以删除多余的订单信息。5.管理员查看包间信息,并可以删除、添加信息。6.管理员查看菜系类别信息,添加、删除菜系类别信息。2.3.2 系统业务流程分析用户首先登录网站,如果用户还没有登录名,首先要进行用注册。注册后,在登录时用户名与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,则提示重新登录。用户成功登录之后,进入主页面,可选基本业务有可以在线订餐,还可以修改个人信息、退出系统。如果当前登录用户为管理员,则可以删除其用户信息和用户的留言信息,还可以对菜肴、包间信息、菜肴类别、订单信息、进行录入、修改、删除、查询、等,系统业务流程图如图2.2所示:用户密码验证用户管理员浏览登陆管理菜系订单管理菜谱管理否是查看订单用户管理游客订餐注册额成功失败图2.2 系统业务流程图3数据库设计3.1 数据库E-R图根据数据库表的设计,绘制网上订餐系统的数据库E-R图,见图3.1所示:图3.1 数据库E-R图3.2 数据库表的设计此在线订餐系统采用SQL Server 2000数据库管理系统。首先用户需要在SQL Server 2000中建立一个数据库,将其命名为EDinner,然后根据数据库的逻辑结构分析创建7张数据表。1.用户表(Users):用于存放注册用户和管理员的记录,见表3.1所示。表3.1 My-Users表结构2.购物车表(OrderList):用于存放顾客所购买的菜肴信息,见表3.2所示。表3.2 OrderList表结构3、 菜肴信息表(CMenu):用于存放初始的菜肴信息,见表3.3所示。表3.3 CMenu表结构4、 订单表(Korder):用于存放订单数据,见表3.4所示。表3.4 Korder表结构5、 分店表(Area):用于存放分店的信息数据,见表3.5所示。表3.5 Area表结构6、 帮助文件表(CHelp):用于存放用户指南之类的数据,见表3.6所示。表3.6 CHelp表结构7、 留言表(Cmemo): 用于存放用户留言的信息,见表3.7所示。表3.7 Cmemo表结构4 系统详细设计4.1 系统架构层次该网络订餐系统通过三层架构层次来实现,以确保系统运行的可靠性和安全性,下面是层层之间的关系,如下图4.1所示: Servlet层Service 层Dao层Db数据库业务层逻辑层Classxxx.jsp图4.1 系统架构层次4.2 系统模块设计4.2.1 总体模块功能描述该系统主要分为前台用户、游客,后台管理员权限,根据对顾客网上订餐系统业务流程的分析,已看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。顾客登录网上订餐系统进行菜单浏览、顾客注册为会员。会员对自己的个人信息进行更改,比如送餐地址和联系电话。以及账户密码。顾客对已选的菜单进行更改选择的数量或者取消选择。当顾客确定订餐完毕后,顾客将其提交只服务器后台点餐系统,并生成订单。生成订单后,进入付款页,可以多数量购买,价格要跟着数量增加,可以增删菜品。管理员在后台登录后,可以创建新的管理员。管理员可以对餐厅网上订餐系统上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜,每周更新一次菜谱等。管理员对菜单进行管理,确定订单的生成。管理员根据不同的属性来查询订单,比如生成日期或者编号等,系统功能模块结构图如图4.2所示:网上订餐系统用户模块我的订单在线订购更新信息管理模块管理留言板订单管理管理菜肴管理用户图4.2 系统功能模块结构图4.2.2 用户模块功能描述用户功能: 网站用户可以进行注册行为,输入资料提交至hillMan数据库的user1表之中。注册成功之后,直接登录。用户可以进行登录行为,登录后会根据其先前注册的资料,验证用户的合法性,并跳转到指定页面上。用户资料修改是为用户更改个人信息所提供的窗口,用户只有登录网页后才有权限修改个人资料信息。用户访问网上订餐系统时,可以注册或登录,然后进行相关的订餐操作,操作流程如下图4.3所示:用户进入注册页面注册登录页面登录进入登陆后的页面根据选项可以对用户信息进行修改,查看购物车,查看订单,或者退出用户进行相关操作导向的页面图4.3 用户功能结构图4.2.3 菜式模块共描述菜式:用户通过使用购物车程序,可以使得网上购物更方便、更快捷。用户要购买商品,首先要将其放人购物车。同时用户还可以查看,修改购物车里的商品数量,系统将自动计算商品总价格等等。菜式列表供用户选择所需的菜式,将其加入购物车,注册用户可以下订单,如下图4.4所示:菜单选择用户所需的菜式,加入购物车购物车填好用餐时间和地点确认后生成订单订单查看菜的详细信息图4.4 菜式功能结构图4.2.4 留言板模块功能描述留言板:访客可以进入留言板,根据相关主题进行留言,注册用户可以创建新帖,如下图4.5所示:留言板登录后创建主题显示创建的主题在对应主题下发表留言显示留言图4.5 留言板功能结构图4.2.5 后台管理员模块功能描述后台管理员:管理菜式的添加,删除,修改,订单的删除,修改,留言的删除,用户的查看,如下图4.6所示:图4.6 后台管理员功能结构图5 系统实现5.1 用户注册用户信息包括用户名、用户密码,联系电话,联系地址,点击“注册”,如果用户没输入必要的字段,就会提示用户输入,完成注册。用户注册页面设计如图5.1所示:图5.1 用户注册图首先把reg.jsp文件的表单属性设置成,再用JSP中request对象的getParameter方法获得FORM表单信息。具体代码如下:5.2 用户登录用户登陆模块实现用户登陆功能,它验证用户提交的用户名和密码是否被授权,如果登录名为空,会提示请输入用户名,如果密码没输入或输入错误,会输入密码为空或错误,并根据访问权限为用户提供相应的业务功能。用户登页面设计如图所示5.2所示:图5.2 用户登录界面设计用户只有登录系统后才能订餐。登录时,用户需要在login.jsp页面中输入用户名和密码并提交到check.jsp中。check.jsp核实用户名和密码正确后,才允许用户登录,正确登录后用户就可以查询菜肴信息拉。这里是用Session对象的setAttribute方法设定指定名字的属性值,同时用request对象的getParameter方法获得用户名以及密码,代码如下:获取到用户名和密码后,将它与用户表中的用户名和密码进行核对,如果一致则是合法用户,可以登录进入showmenu.jsp页面,如果不是则返回login.jsp主页重新输入。 5.3 在线订餐用户登录系统后,就可以购买美味了。购买时,用户需要查看都有哪些菜,这就需要一个菜单列表列出店中所有的菜肴。列表对应的是showmenu.jsp页面,主要内容有菜名、说明、图片、价格。进入详细介绍页面后,用户可以选择份数来订购了,订餐页面设计如图5.3所示:图5.3 菜肴展示图在列表页面中单击“图片”超链接,可以查看菜肴的详细信息。每份菜肴还需要提供“添加到购物车”的按纽,以便用户能够方便地购买,菜肴详细介绍如下图5.4所示: 图5.4 菜肴详细介绍图5.4 购物车用户查看购物车对应的是shoplist.jsp页面。此页面提取当前用户的所有订单列表,用户可以在该页面上修改自己的购物车,将自己不想买的菜删除,用户查看购物车如下图5.5所示;图5.5 购物车管理图代码实现如下:orderInfo.jsp页面:请确认支付和配送信息订 餐人:input type=hidden name=cname value= 送货地址: 联系电话:应付金额:人民币: 元配送方式:送餐上门 10元起送 订单附言:如果购买的菜超过两份,则系统将其金额累加,代码如下: 总金融%5.5 订单管理对于网络商店来说,需要记录用户购买菜肴的情况,这就需要记录订单信息。用户每一次购买,都自动生成一个购买订单供管理员查看,因此就需要设计一个管理员管理订单的功能,订单中记录的信息主要涉及购物车数据表Korder中的数据。订单页面应该显示所有用户订单的列表。应该显示的信息有订单编号、用户名、总金额、付款状态。管理员在此页面中可以查看每一个订单的菜肴列表情况,可以删除任何一个订单。订单管理页面如图5.6所示。图5.6 订单管理页面5.6 留言板用户登陆后,可以再留言板发表自己的看法,也可以在此给我们留言,留言板页面如下图5.7所示:图5.7 留言板界面6 系统测试6.1 单元测试黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。 黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。在黑盒测试过程中因为假设系统的程序是不可见的,测试过程主要在系统的外部进行,如输入和接口部分等。黑盒子测试的过程:1.划分等价类并编号,如表6.1所示:等价类划分等价类有效等价值无效等价值用户名一到二十长度的字符串空字符超过二十长度的字符串密码一到二十长度的字串空字符超过二十长度的字符串表6.1 等价类划分表2.设计测试用例,以便覆盖所有有效等价类。测试数据用户名为“chenlin”密码为“fastkk”,测试数据有效,覆盖的有效等价类、。3.为每一个无效等价类设计一个测试用例测试数据用户名:“”密码:“xxxxxxxxxxyyyyyyyyyyzzz”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“xxxxxxxxxxyyyyyyyyyyx”,测试数据无效,覆盖的有效等价类、。6.2 功能测试6.2.1 系统管理模块的功能测试在此模块中,系统管理员用户登陆后能进行查看、增加、删除、更改、查询、非系统管理员用户权力有限,不能进行这个模块的功能。6.2.2 菜肴管理模块在此模块中,系统管理员可以对菜肴项目进行添加,删除操作。6.2.3 订单管理模块在此模块中,信息管理员用户登陆后能进行查看、处理订单记录。6.2.4 购物车模块在此模块中,用户登陆后

温馨提示

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

评论

0/150

提交评论