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

付费下载

下载本文档

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

文档简介

毕业论文(设计)网上订餐系统的设计与实现院系:计算机科学与技术学院专业:信息管理与信息系统班级:学号:姓名:导师:2023年5月网上订餐系统的设计与实现摘要随着电子商务的飞速发展,人们工作效率的逐渐提高。方便、快捷、个性化的网上订餐服务正在进入人们的生活。网上订餐系统为商家提供有效的管理方式,节省了宣传、店面等费用,为顾客提供了方便、快捷、优惠的订餐方式。本论文对网上订餐系统的设计与实现进行了具体的分析与描述。网上订餐的管理系统要既能满足客户的订餐需求,又要满足自己的业务流程需求。本论文重要是从系统概述,系统分析,系统设计和系统实现这四方面来进行说明。本系统采用B/S结构进行设计,使用SQLServer构建数据库,以MYECLIPSE为设计语言,TOMCAT作为网页服务器来开发一个功能较为完善的订餐系统。前台页面提供应顾客方便的实现网上订餐,并且可以查看本人信息、订单信息以及网上留言。后台管理实现会员管理、菜单管理、订单管理、留言管理等基本网上订餐功能。不仅方便顾客了解热销美食,并且利于商家制定销售策略。关键词:网络订餐,B/S结构,JSP,SQLTHEDesignandimplementationofXIAOPENG’SrestaurantonlineorderingsystemABSTRACTWiththerapiddevelopmentofe-commerce,peoplegraduallyimproveworkefficiency.Convenient,fast,personalizedonlineorderingservicesareenteringpeople'slives.Onlinereservationsystemforbusinessestoprovideeffectivemanagement,savingpublicity,storesandothercosts,toprovidecustomerswithaconvenient,fast,preferentialorderingmethods.Inthispaper,thedesignandimplementationofonlineorderingsystemforadetailedanalysisanddescription.Onlineorderingmanagementsystemmustnotonlymeettheneedsofcustomersordering,butalsotomeettheneedsoftheirbusinessprocesses.Thispapermainlyfromthesystemoverview,systemanalysis,systemdesignandsystemimplementationofthesefourareastobeexplained.ThesystemusesB/Sstructuredesign,builddatabasesusingSQLServer,inMYECLIPSEdesignlanguage,TOMCATasawebservertodevelopamorecomprehensivereservationsystemfunction.Frontpageprovidedtofacilitatetherealizationofthecustomeronlineordering,butalsobeabletoviewmyinformation,orderinformationandonlinemessage.Manageachievemembershipmanagement,menumanagement,ordermanagement,messagemanagementandotherbasiconlineorderingcapabilities.Customerswillnotonlyfacilitateunderstandingofhotdishes,butalsohelpsbusinessesdevelopmarketingstrategies.Keywords:Ordering,B/Sstructure,JSP,SQL目录摘要 IABSTRACT II第一章概述 11.1课题背景 11.2目的和意义 11.3总体设计原则 11.4本章小结 2第二章系统开发技术 32.1SQLSERVER2023简介 32.2TOMCAT简介 32.3JAVA简介 32.4MYECLIPSE简介 42.5JSP简介 42.6本章小结 4第三章系统规划与分析 53.1系统的需求分析 53.2业务流程分析 63.3数据流程分析 93.4数据字典 113.5本章小结 12第4章系统设计 134.1系统体系结构设计 134.2系统的子模块功能介绍 134.3 数据库设计 164.4系统开发工具与开发模式的选择 194.5本章小结 20第5章系统的实现 215.1系统首页 215.2用户注册登录模块 215.3系统后台登录模块 225.4用户管理模块 235.5菜品类别管理模块 255.6菜品管理模块 255.7订单管理模块 265.8本章小结 28第6章系统测试与维护 296.1系统测试 296.2系统维护 306.3本章小结 31总结 32参考文献 33致谢 34附录 35第一章概述1.1课题背景随着21世纪互联网的普及,电子商务网站也随着互联网的普及而飞速的发展。公司可通过电子商务网站来展示自己的产品,发布公司最新的动态,与合作用户进行沟通等一系列电商活动。网络订餐系统其实也是电子商务网站的一种,。随着电子商务的飞速发展,人们工作效率的逐渐提高。方便、快捷、个性化的网上订餐服务正在进入人们的生活。网上订餐系统为商家提供有效的管理方式,节省了宣传、店面等费用。商家通过后台管理,可有效解决订单,记录销量;为顾客提供了方便、快捷、优惠的订餐方式。避免餐厅拥挤,排队等待,且无需电话订餐的额外消费。为商家和顾客间建立了一种新型、高效沟通方式。1.2目的和意义网上订餐系统可认为空闲时间紧凑的人节省到外面就餐的时间,他们不用出门就可以通过互联网来选购自己喜欢的饭菜,这种互联网上的交易,不仅可以更好的推广自己的产品,并且也方便了用户,可以大大的节省用户的时间。1.3总体设计原则网络订餐系统为了方便我们的管理和维护,以及为了方便用户的操作,所以要有一个设计原则。1.要有实用性。要基本满足用户的订餐需求。2.在我们实现系统可以正常运营的同时,要让这个系统可以更加的操作简洁,使用户可以轻松的操作这个系统,这个对用户体验来说是非常重要的。3.由于我们是专门针对网上订餐系统来进行这个需求开发的,所以我们要根据这个订餐系统要有一定的针对性。4.对订餐系统的页面风格要有一定的欣赏性,可以更加吸引客户的目光。1.4本章小结本章重要是对网上订餐系统的背景做一个大约的介绍,介绍了网上订餐系统对当今人们的生活起到的重要的作用。同时也阐述了本系统开发的目的的意义,在最后也对我们的系统制定了一个大约的开发策略。第二章系统开发技术2.1SQLSERVER2023简介SQLSERVER2023使用了集成的商业智能工具为公司提供了数据管理,它是一个全面的数据库平台。SQLSERVER2023数据引擎是公司数据的管理解决方案的一个核心。它为结构化数据和关系型数据提供了一个更为安全可靠的存储功能,使我们可以管理用于业务的高性能的数据应用程序。并且,SQLSERVER2023也结合了分析,集成,报表和告知功能,使公司可以有效的构建和部署商业解决方案。2.2TOMCAT简介TOMCAT服务器是受到广大程序员喜欢的一个WEB应用服务器。它是ASF的Jakarta这个项目中的一个比较核心的项目,是由Apache和Sun等多个公司共同开发出来的。TOMCAT是一个不占系统资源的服务器软件,并且它在运营时也支持负载平衡和邮件服务这类发开系统常用的基本功能,也有很好的扩展性,所以是很受欢迎的系统服务器。并且TOMCAT是一个可以免费使用的网页应用服务器,并且它的技术也是非常先进的,在运营时性能也是非常稳定的,现在TOMCAT还在不断的改善,来不断的完善这个应用服务器。并且更让大家爱慕的是,每个程序员都可以根据自己的喜好来为TOMCAT添加一些不同的功能。所以它现在是深受JAVA爱好者的爱慕,也成为了目前一个比较流行的WEB应用服务器。2.3JAVA简介JAVA语言是一款可以用来编写跨平台应用软件的面向对象的一种程序语言设计,是由SUNMICROSYSTEMS公司在1995年推出的JAVA平台和JAVA程序设计语言的一个总称。JAVA平台是由JAVA应用编程接口和JAVA虚拟机这两个构成的。JAVA技术有很突出的高效性,通用性,安全性和平台移植性,因此广泛应用于游戏,个人的PC,移动电话,互联网等领域,是全球开发者使用最多的开发工具。并且在现代互联网高速发展的这个产业环境下,JAVA也 具有了更加广阔的发展前景。2.4MYECLIPSE简介MYECLIPSE工作平台是对ECLIPSEIDE的一个扩展,这个开发系统可以使我们在开发系统和数据库的管理方面大大的提高我们的工作效率。这个工作平台还是个功能齐全的开发的系统,帮助我们可以实现从最初的编码到最后的发布这些功能,这个工作平台还可以完美的支持JAVASCRIPT,SQL,HTML,CSS等。2.5JSP简介JSP是由SunMicrosystems这家公司提倡的,由多家公司参与并一起建成的一种动态网页技术。这项技术使动态生成内容的WEB页面更加简朴和快捷。JSP的开发不是单一的运营操作,它在LINUX和别的操作系统上面都是可以运营的,是可以跨平台运营的。JSP是使用JAVA编程语言来编写类XML的scriptlets和tags,进行封装产生动态网页的解决逻辑。网页可以通过这两个来访问存在服务端资源的应用逻辑。JSP还可以把网页设计和网页逻辑的显示分离,这种可重用的组件,使基于WEB的应用程序的开发语言变得更加的方便和快捷。JSP是在服务器端执行的,一般返回该客户端的就是HTML文本,所以客户端只要有个浏览器就能进行浏览。2.6本章小结本章重要介绍了我们在开发网上订餐系统时所使用的相关软件的介绍,我们可以根据不同软件的具体信息和特点,来更好的设计出网上订餐系统。第三章系统规划与分析3.1系统的需求分析网上订餐系统重要是想建立一个简朴,快捷,功能完善的用户订餐体验系统,这个系统重要分为两个模块:系统管理员模块和注册用户模块。系统管理员模块:这一模块是只有系统管理员才有使用的权限。重要是分为系统管理,会员管理,菜品分类,菜品管理,用户订单管理,留言管理,网站公告这7大模块。该模块重要是针对用户的后台管理,我们可以通过这一系统来发布公司的最新菜品,公司最新的活动和优惠信息,我们可以管理用户的注册信息,来解决客户的订单,查看一下客户对我们的评价和留言,这样我们可以及时的解决客户的反馈信息,来完善自身的局限性,我们可以通过这一模块来及时的发布公司最新的活动,来吸引更过的用户。系统管理员模块如图3-1所示:系统管理系统管理会员管理会员管理菜品分类菜品分类系统管理员系统管理员菜品管理菜品管理订餐管理订餐管理留言管理留言管理网站公告网站公告图3-1系统管理员模块注册用户模块:这一模块是针对用户设计的,客户假如想在我们的订餐系统进行点餐,要现在网站上面注册个人的一个会员,,否者就只能有浏览的权限。这个模块分为会员登陆,浏览菜品,订餐车管理,订单管理,留言发布,修改个人资料6大模块。用户可以看到网站的所有菜品的信息,来选购自己所喜欢的菜品,然后把自己喜欢的菜加入到订餐车里,生成一个订餐的订单信息。用户在体验我们的整个订餐服务后,可以在留言里写下自己的体会心得以及对我们的一些建议,并且还可以浏览我们最新的活动信息。注册用户模块如图3-2所示:会员登录会员登录修改资料修改资料浏览菜单浏览菜单会员注册会员注册订餐车管理订餐车管理订单管理订单管理留言评价留言评价图3-2注册用户模块3.2业务流程分析业务流程的分析重要是分为系统管理员业务流程分析和注册会员业务流程分析。1.系统管理员业务流程分析系统管理员在登入到用户界面后,要先输入系统管理员的登录信息,然后就会直接登陆到我们的管理员系统界面。在这个界面我们可以管理我们的用户信息,对管理员的信息进行反馈和解决,例如我们可以对报废的用户信息进行删除,对一些用户的信息进行修改,并且我们还可以对我们的菜单系统进行管理,可以添加新的菜品,删除菜品,对菜品进行具体的描述等:可以查看订单的信息,对会员的订单信息进行解决;可以查看会员的留言,尚有公司一些活动的公布等。等我们结束各项操作后退出,就可以回到系统的主窗体。图3-3;图3-4;图3-5和图3-6分别是对注册会员管理,菜品管理,系统管理员信息管理和订单管理做了一个流程描绘。图3-3注册会员管理流程图图3-4菜品管理流程图图3-5系统管理员信息管理流程图图3-6订单管理流程图2.注册会员业务流程分析会员当我们进入系统后,没有注册的要先注册一个会员,注册成功的可以在登录功能区来输入会员的帐号和密码,在我们成功的登录到用户界面后,我们就可以在订餐系统的界面里选购自己喜欢的菜品了。我们可以在订餐系统的界面里看到各种类别的菜品,查看菜品的价格和信息,然后就可以选择自己想吃的菜,生成一个订单。等用户订餐完毕后,就可以退出操作,然后回到系统主页。注册会员业务流程分析如图3-7所示:会员用户界面用户界面留言评价生成订单浏览菜品留言评价生成订单浏览菜品操作成功操作成功图3-7注册会员业务流程图3.3数据流程分析数据流程分析图就是用来表达数据在系统中是如何流动的,同时也表白了系统所能完毕的所有功能。图3-8描述的会员管理的数据流程分析;图3-9描述的是菜品分类管理的数据流程分析;图3-10描述的是菜品管理的数据流程分析;图3-11描述的是用户订餐的数据流程分析。图3-8会员管理数据流程图图3-9菜品分类管理数据流程图图3-10菜品管理数据流程图图3-11用户订餐数据流程图3.4数据字典1.数据项(1)管理员信息数据项描述如表3-1所示:表3-1管理员信息数据项数据项长度类型值范围ID10数字-登录账号10文本2-50个字符登录密码100文本2-100个字符(2)菜品类别数据项描述如表3-2所示:表3-2菜品类别数据项数据项长度类型值范围ID4数字-类别名称60文本最多30个字符类别描述200文本最多可写200个汉字(3)菜品信息数据项描述如表3-3所示:表3-3菜品信息数据项数据项长度类型值范围ID4数字-菜品名称4文本2-20个汉字菜品图片50文本2-50个汉字菜品价格4数字0-1000是否特价50数字0和1类别ID10数字-(4)订单信息数据项描述如表3-4所示:表3-4订单信息数据项数据项长度类型值范围ID4数字-编号4数字-下单时间20日期年-月-日订单状态10数字0和1送货地址30文本2到30个汉字付款方式30文本2到30个汉字总价格4数字-用户ID4数字-(5)订单明细信息数据项描述如表3-5所示:表3-5订单明细信息数据项数据项长度类型值范围ID4数字-订单ID4数字-菜品ID4数字-菜品数量4数字-2.实体的描述(1)实体名称:系统管理员描述:系统管理员可以操控数据库的后台系统,具有最高的权限。输出的数据流:涉及操作员和黑名称订单的管理。输入的数据流:对菜品进行管理,涉及菜品类别的管理和菜品信息的管理。(2)实体名称:会员注册描述:用户在浏览网站时,只有注册成为我们订餐系统的会员,才可以进入订餐车系统,生成订餐订单等操作,并且会员可以对其进行留言评价。3.5本章小结本章重要是对我们的网上订餐系统做一个需求分析和业务流程分析。我们可以通过这些分析来更好的优化我们的订餐系统。通过业务流程分析大家可以更直观的看到我们订餐系统的各个功能和我们的操作流程的具体内容。第4章系统设计4.1系统体系结构设计网上订餐的管理系统是按照从上往下的设计思绪完毕的。第一城就是用户的登陆界面。第二层就是订餐系统的主页。这里重要涉及了菜品界面,菜品销售量,网站公告等,会员在登录成功后就可以在线浏览菜品,然后选择自己喜欢的菜,生成订餐订单。4.2系统的子模块功能介绍(1)会员管理模块:系统管理员登入成功后,对注册的会员信息进行管理,对一些黑名单的会员进行删除等功能。(2)类别管理模块:系统管理员在登陆成功后,对菜品的类别信息进行的添加,修改和删除等功能。(3)菜品管理模块:系统管理员在登陆成功后,对菜品菜单的信息进行的添加,修改和删除等功能。(4)订单管理模块:系统管理员登陆成功后,查看用户的具体的订单信息,对订单的信息进行解决,对于无效的订单进行删除解决。(5)留言管理模块:系统管理员在登录成功后,可以查看到用户的留言,及时了解用户对我们的评价及建议,可以不断改善,满足用户的需求。(6)系统公告管理模块:系统管理员在登录成功后,可以管理本系统的公告信息,可以添加新的活动公告,删除一些过期的活动公告。图4-1系统实体间的ER图(7)修改密码模块:系统管理员在登陆成功后,有时为了保证账号和密码的安全性,可以用这个重新设定密码的功能。网上订餐系统的ER图如图4-1所示;会员实体属性图如图4-2所示;菜单实体属性图如图4-3所示;订单实体属性图如图4-4所示;管理员实体属性图如图4-5所示。会员联系方式会员联系方式性别年龄登录密码姓名会员帐号地址菜单特价是否菜单特价是否单价名称类别ID图4-4订单实体属性图图4-5管理员实体属性图数据库设计(1)数据库的设计概念-E-R模型E-R模型是实体-联系模型,是对信息世界的建模。下面我们用E-R图来清楚的为大家描述出订餐系统实体和其属性间的关系。网上订餐系统的ER图如图4-1所示:(2)数据库逻辑设计-关系模型我们可以将上图的E-R转换成关系模型管理员信息(账号,密码)会员信息(ID,用户名,密码,姓名,联系方式,年龄,性别,住址)菜品类别信息(ID,类别描述,类别名称)菜品信息(ID,菜品名称,图片,单价,菜品描述,是否特价,类别ID)订单信息(ID,订单编号,总价格,下单时间,付款方式,送餐地址,用户编号)4.3.1数据库表结构设计网上订餐系统的后台数据库总共有7张表。它们分别为管理员信息表,会员信息表,菜品类别信息表,菜品信息表,订单信息表,订单明细表,公告信息表。这些数据表的具体结构设计如下:管理员信息表:重要用于系统管理员的信息。如表4-1所示:表4-1管理员信息表字段名字段信息长度数据类型主键ID编号10INT√NAME登陆账号60VARCHARPWD登录密码60VARCHAR会员信息表:用于存储用户注册账号时留下的相关信息。如表4-2所示:表4-2会员信息表字段名字段信息长度数据类型主键ID编号4INT√NAME姓名60VARCHARLOGINNAME登录账号60VARCHARLOGINPW登录密码60VARCHARAGE年龄4INTSEX性别60VARCHARTEL联系方式60VARCHARADDRESS联系地址60VARCHAR菜品类别信息表:重要用来对菜品信息进行存放。如表4-3所示:表4-3菜品信息类别表字段名字段信息长度数据类型主键ID编号4INT√NAME类别名称60VARCHARDESCRIBE类别描述60VARCHAR菜品信息表:管理和存储菜品的相关信息。如表4-4所示:表4-4菜品信息表字段名字段信息长度数据类型主键ID编号4INT√NAME菜品名称60VARCHARPIC菜品图片60VARCHARDESCRIBE菜品信息60VARCHARPRICE菜品价格4INTTEJIA菜品特价4INTCATELOG_ID类别编号4INT订单信息表:查看会员的具体订单。如表4-5所示:表4-5订单信息表字段名字段信息长度数据类型主键IDID4INT√ORDER_ID订单编号60VARCHARFETTLE订单状态60VARCHARDATE下单时间60VARCHARTOTAL总价格4INTADD送货地址60VARCHARPAY付款方式60VARCHARUSER_ID用户编号4INT明细表:重要就是存储订单的明细信息。如表4-6所示:表4-6明细表字段名字段信息长度数据类型主键ID编号4INT√ORDER_ID订单编号4INTGOODS_ID菜品编号4INTQUANTITY数量4INT系统公告表:重要是为了发布新的公告信息和存储公告信息。如表4-7所示:表4-7系统公告表字段名字段信息长度数据类型主键ID编号4INT√TITLE标题60VARCHARCONTENT内容60VARCHARDATA发布时间60VARCHAR4.4系统开发工具与开发模式的选择网上订餐系统重要使用SQLSERVER和JSP来进行系统的开发与设计的。采用的是B/S结构,也就是(浏览器/服务器)结构。JSP作为一种开发动态页面的技术,也是众多公司应用软件中最爱的开发路线之一。JSP具有一次编写,随处运营这个有点,可以使用户专注于JSP的开发,并且不用考虑系统层面的问题。B/S结构的系统用户界面是可以直接通过浏览器来实现的,这种结构是非常简洁方便的。虽然它的小部分的事务逻辑可以在前端直接实现,但是重要的还是要通过后台服务器来实现。这种结构技术不仅可以节约工作量,同时也大大的减少了我们的工作成本。B/S结构可以一次性的开发到位,可以实现在不同的工作环境下用不同的连入方式来访问和操控同一个数据库,这种结构还能很好的保护管理访问权限和数据平台,这样的话我们就不用紧张我们的服务器数据库的安全问题了,这样也是可以大大的节省一笔用户成本的。在JAVA这种跨平台语言出现之后,这种框架结构管理软件更是简洁,快速,效果更加突出,因此也更加受到编程人员的爱慕。随着现代互联网的流行和发展,B/S模式更是广泛应用于各大公司管理应用平台,它可以使用户直接访问浏览器去浏览INTERNET上面的文档,影音,图片等信息,这些信息都是WEB服务器和数据库服务器互相连接产生的,很多的数据我们是自己存放在我们的数据库服务器中的。它可以将我们这些服务器网连接起来,我们可以在网站里直接浏览到,这样就形成了全球互联网。这样每个公司都可以建立自己公司的一个网站。并且现在很多国内的软件开发商都开始积极的投入到开发B/S结构软件,所以这种结构的管理软件有也许会是未来国内管理软件开发的主流趋势。4.5本章小结本章是对网上订餐系统的各个功能模块的具体介绍。我们在设计订餐系统时,以方便客户为宗旨,使我们的订餐界面美观大方,方便简洁,功能完善,最大限度的使客户有一个美好的订餐体验。第5章系统的实现5.1系统首页我们可以输入网站http://localhost:8080/wldc,然后系统会自动跳转到default.jsp,接着发送请求index.action,这个类是提取相关数据的。这些涉及菜品信息,公告留言等,然后我们把这些数据库绑定到request,跳转到view的Index.jsp,并且这个网上订餐系统的网站界面是上左右的界面结构,其中上面的部分是菜单区域,左边能则是用户登录及网站公告等信息,右边部分就是信息栏,重要就是有新的菜品信息或者那些销售情况都会显示出来的。系统首页的界面如图5-1所示:图5-1系统首页界面5.2用户注册登录模块当我们的用户在第一次打开我们的网页,浏览我们的网站时,一方面要去我们的注册页面去注册一个登陆的账号信息。在注册登录信息时,我们要填写我们的用户名,密码,住址,姓名,性别,联系方式,邮箱和QQ这些基本信息。我们设立这些注册信息都是有因素的,联系方式可以使我们方便和用户联系,而填写邮箱的因素是邮箱是唯一的,并且假如客户忘掉登录信息,可以通过邮箱来找回信息,留下QQ的话是由于假如有固定长期的话,我们会联系一个订餐的QQ群,我们可以用它来在群里和用户进行交流,有优惠活动可以及时发布,这样重要就是来增长用户的。用户注册登陆模块的界面如图5-2所示: 图5-2用户注册登录模块界面5.3系统后台登录模块系统管理员是最大的管理权限的。当一个管理员想要管理我们的订餐系统时,要先登陆到我们的订餐管理的后台系统中去。我们要对的的输入自己的管理员帐号和密码,然后我们的后台服务器会对我们的信息进行审核,在数据库中进行查找和对比,假如对比对的则进入到后台的管理系统,否则的话会显示错误,无法进行登录。系统后台登录模块的界面如图5-3所示: 图5-3系统后台登录模块界面5.4用户管理模块管理员成功登录后台系统后,可以点击左侧的菜单“用户管理”,页面会跳转到用户管理界面,在用户管理界面我们可以管理用户的注册信息,可以对其进行管理和维护。用户管理模块的界面如图5-4所示:图5-4用户管理模块界面用户管理模块实现的关键代码:publicStringuserDel() { TUseruser=userDAO.findById(userId); user.setUserDel("yes"); userDAO.attachDirty(user); this.setMessage("删除成功"); this.setPath("userMana.action"); return"succeed"; } publicStringuserXinxi() { TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } publicStringuserMana() { ListuserList=userDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }5.5菜品类别管理模块管理员在成功登入后台管理系统后,可以点击左侧的“菜品类别管理”,在这一界面,我们可以对菜品类别进行添加,修改和删除等操作。在添加时,我们可以添加菜品的类别名称,然后对这个分类名称进行描述,点击提交按钮,系统会自动把这些信息保存到数据库中。菜品类别管理模块的界面如图5-5所示:图5-5菜品类别管理模块界面5.6菜品管理模块管理员在成功登入后台管理系统后,可以点击左侧的“菜品管理”,等系统自动跳转后,我们就可以看到菜品管理界面。这一界面对于订餐系统来说是很重要的。在这一界面我们对菜单进行添加,修改和删除。在添加时,要填写菜品名称,对其进行描述,然后添加菜品的图片,添加菜品的单价,还可以设立是不是特价,这些都需要我们好好填写,用菜品的信息来吸引用户订餐。菜品管理模块的界面如图5-6所示:图5-6菜品管理模块界面5.7订单管理模块管理员在成功登入后台管理系统后,可以点击左侧的“订单管理”,等系统自动跳转后,我们就可以看到订单管理界面。在我们的这个订单界面,我们可以查看到所有用户的订餐信息,然后我们就要对我们的订单进行管理,我们要先查看订单的明细,对订单进行解决,对一些无效的订单信息我们可以直接删除。订单管理模块的界面如图5-7所示:图5-7订单管理模块界面关键代码:publicStringorderMana() { Stringsql="fromTOrderorderbyorderUserId"; ListorderList=orderDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("orderList",orderList); returnActionSupport.SUCCESS; } publicStringorderDel()//用户自己删除订单 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Mapsession=ServletActionContext.getContext().getSession(); TUseruser=(TUser)session.get("user"); this.setMessage("删除成功"); this.setPath("myOrder.action?userId="+user.getUserId()); return"succeed"; } publicStringorderDelByAd()//管理员删除订单 { TOrderorder=orderDAO.findById(orderId); orderDAO.delete(order); Stringsql="deletefromTOrderItemwhereorderId="+orderId; orderItemDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("删除成功"); this.setPath("orderMana.action"); return"succeed"; } publicStringorderShouli() { TOrderorder=orderDAO.findById(orderId); order.setOrderZhuangtai("yes");//已经受理订单 orderDAO.attachDirty(order); this.setMessage("受理订单成功"); this.setPath("orderMana.action"); return"succeed";5.8本章小结本章是对我们的订餐系统的实际操作的一个介绍,我们可以看到我们的订餐系统从前台到管理后台都已经比较完善了,并且具体的操作环节我们也可以看见。第6章系统测试与维护6.1系统测试当我们完毕一个系统后,就要对我们所做的系统进行最后的测试了,要测试这个订餐系统的每个功能都能否正常的使用。由于网上订餐系统重要是使用JSP和脚本语言来编写的,所以最也许出现的错误也就是脚本错误。语法错误:在编程时,编写了错误的语法脚本,比如我们传递的函数的参数值发生了错误或者我们编写时代码的拼写出现错误。逻辑错误:逻辑错误使我们在编写程序时在思维程序逻辑上面出现了错误,虽然在运营时脚本没有任何的问题,但是运营的结构却和设定的结果不同,这种错误往往是大家发现的错误。运营时错误:这种错误是指当我们在脚本执行开始后,会显示执行不可操作的脚本指令所引发的错误。当我们发现了上述的几种错误后,我们要对其进行相应的调试。程序测试:由于MYECLIPSE可以自动生成代码和编译,因此我们不需要来编写较多的程序,我们只需要跟胡我们自己的实际情况来对相应的程序接口进行修改,因此程序调试的对象就是根据相应的功能来改变部分的程序或者相相应的功能接口。功能测试:功能测试重要就是对个操作模块的功能通过实际的操作来进行测试,在操作过程中来检查各项功能的可操作性,以便于我们及时的进行修改和完善。数据库调试:数据库调试重要就是使用我们数据库的实际数据来对系统数据库进行测试。我们要把与数据库连接的动能所有测试一遍,来判断它的可行性。安全测试:安全测试就是根据系统的安全问题有针对性的进行一系列的安全模拟测试,涉及用户的安全登陆测试等。其实我们在进行系统设计时,就可以对我们的系统进行测试了。一方面我们可以通过我们的预览功能来对我们的网页进行浏览,假如没有错误的话,页面就会正常的显示出来。假如我们出现脚本错误的话,网页就会跳出网页错误的警告信息提醒。它会显示出我们犯错的位置,并且会显示犯错误的因素。我们可以根据这些提醒因素。当然尚有我们的网页实现出来了,但是和我们设计的功能规定不同样,这样的话我们要好好的查看脚本语言,然后对代码进行分析,或者去查阅资料,请教高手,这种错误是最难修改的,所以要做好相应的准备。此外,我们在实现系统时,要及时的对系统进行备份,假如由于某些因素我们的系统丢失了,那我们之前所有的付出就所有没了,我们很难有心情去重新做了,这一点对我们来说是至关重要的。6.2系统维护系统维护这一方面其实重要就是为了保障我们的系统可以安全正常的运营而采用的一系列措施。其中涉及了我们的信息更新,安全测试,数据备份,数据库维护等操作。信息更新和数据库维护:这些重要就系统管理员要经常性的对数据库中的信息进行及时的更新和维护,把过期的信息及时的清理,让用户可以及时的了解到最新的信息。版面的更新:这规定我们要对系统的页面进行定期的调整和更新,要使用户每隔一段时间在浏览网站时都会有一种崭新的感觉体验。安全测试和数据备份:这个过程重要是考虑到系统的安全问题。由于网站是刚刚完毕运营,整个网络的安全还是会存在比较明显的隐患的,所以如何是系统更加安全使我们所面临的一个非常重要的问题。所以我们经常要对我们的系统权限进行更新或者重新设定,要对我们的系统进行及时的备份解决,这些都是可以有效的加强系统安全的。6.3本章小结本章重要介绍了我们的测试与维护环节,重要是测试我们的系统能否正常运营并且达成我们的设计规定。在系统开发时,我们要对系统的各个方面都仔细检查,这个才干保证系统的完美运营。第七章总结本次论文描述的是网上订餐系统,在对订餐系统的设计与开发过程中,虽然经历过许多的困难,许多的失败,但是使我对我所运用到的开发程序更加的了解和纯熟,在开发的过程中,我通过边学边用,不断的去完善自己的思绪,调整自己的知识体系结构,然后去解决一个个自己所碰到的困难。比如说我开始就是只想设计一个简朴的订餐系统,只要有简朴的增删改和查询功能就可以了,但是我在设计的过程中还是忍不住想去完善它,我更想让我的这个网站和实际应用的更加的接近。由于我的经验的局限性,技术有限,并且JPS代码也比较复杂,所以我没能使各个功能都符合完美规定,所以假如我还要继续的努力和学习。通过这次的毕业设计,我感觉我的确学到了很多,我也相信这段经历也会在我以后的工作中给我很大的帮助。参考文献[1]胡百敬,姚巧玫著.SQLServer2023数据库开发详解[J].电子工业出版社.2023.6[2]王国辉王易.JSP数据库系统开发案例精选[J].人民邮电出版社,2023.5[3]Gamma.EDesignPatterns:ElementsofReusableObject-orientedsoftware.Addison–Wesley,Reading[4]PhilHanna.JSP技术大全.[J].机械工业出版社,2023.3[5]陈海山.进一步JavaServlet网络编程.[J].清华大学出版社,2023.2[6]方党生,高蕾著.管理信息系统案例教程[M].北京:电子工业出版社,2023[7]武延军黄奔腾.精通JSP编程技术.人民邮电出版社,2023.8[8]刘志海,通用试题库系统的设计与实现.信息化建设,计算机与信息技术:95-98[9]周影.网络编程语言JSP实例教程[M].北京:电子工业出版社,2023,6.[10]李春葆,曾平著.数据库原理与应用——基于SQLServer2023[M].北京:清华大学出版社,2023致谢通过几个月的努力,《小彭网上订餐系统的设计与实现》的毕业论文终于完毕了。在这段时间了,我得到了同学和老师的支持与帮助,真的是非常的感谢他们!假如没有这些人的帮助,我想我也许会多走很多弯路,不会这么顺利的完毕我的论文。非常感谢朱法枝导师,在我们的毕业设计的开始阶段,朱法枝导师给我们指出了我们毕业设计的方向和我们的设计规范问题,并且还给我们提供了一些参考资料,在我们编写论文时,朱法枝导师还帮助我们修改论文,指出我们的不规范问题,感谢朱法枝导师对我的关心和帮助。尚有一些帮助过我的同学们,也非常感谢你们帮助我完毕了毕业论文。立即就要学校了,在大学的4年里,非常感谢那些曾经帮助过我的人,再次的谢谢你们!附录DatabaseManagementSystems(3thEdition),Wiley,2023,5-12AintroductiontoDatabaseManagementSystemRaghuRamakrishnanAdatabase(sometimesspelleddatabase)isalsocalledanelectronicdatabase,referringtoanycollectionofdata,orinformation,thatisspeciallyorganizedforrapidsearchandretrievalbyacomputer.Databasesarestructuredtofacilitatethestorage,retrieval,modification,anddeletionofdatainconjunctionwithvariousdata-processingoperations.Databasescanbestoredonmagneticdiskortape,opticaldisk,orsomeothersecondarystoragedevice.Adatabaseconsistsofafileorasetoffiles.Theinformationinthesefilesmaybebrokendownintorecords,eachofwhichconsistsofoneormorefields.Fieldsarethebasicunitsofdatastorage,andeachfieldtypicallycontainsinformationpertainingtooneaspectorattributeoftheentitydescribedbythedatabase.Usingkeywordsandvarioussortingcommands,userscanrapidlysearch,rearrange,group,andselectthefieldsinmanyrecordstoretrieveorcreatereportsonparticularaggregateofdata.Complexdatarelationshipsandlinkagesmaybefoundinallbutthesimplestdatabases.Thesystemsoftwarepackagethathandlesthedifficulttasksassociatedwithcreating,accessing,andmaintainingdatabaserecordsiscalledadatabasemanagementsystem(DBMS).TheprogramsinaDBMSpackageestablishaninterfacebetweenthedatabaseitselfandtheusersofthedatabase..(Theseusersmaybeapplicationsprogrammers,managersandotherswithinformationneeds,andvariousOSprograms.)ADBMScanorganize,process,andpresentselecteddataelementsformthedatabase.Thiscapabilityenablesdecisionmakerstosearch,probe,andquerydatabasecontentsinordertoextractanswerstononrecurringandunplannedquestionsthataren’tavailableinregularreports.Thesequestionsmightinitiallybevagueand/orpoorlydefined,butpeoplecan“browse”throughthedatabaseuntiltheyhavetheneededinformation.Inshort,theDBMSwill“manage”thestoreddataitemsandassembletheneededitemsfromthecommondatabaseinresponsetothequeriesofthosewhoaren’tprogrammers.Adatabasemanagementsystem(DBMS)iscomposedofthreemajorparts:(1)astoragesubsystemthatstoresandretrievesdatainfiles;(2)amodelingandmanipulationsubsystemthatprovidesthemeanswithwhichtoorganizethedataandtoadd,delete,maintain,andupdatethedata;(3)andaninterfacebetweentheDBMSanditsusers.Severalmajortrendsareemergingthatenhancethevalueandusefulnessofdatabasemanagementsystems;Managers:whorequiremoreup-to-datainformationtomakeeffectivedecisionCustomers:whodemandincreasinglysophisticatedinformationservicesandmorecurrentinformationaboutthestatusoftheirorders,invoices,andaccounts.Users:whofindthattheycandevelopcustomapplicationswithdatabasesystemsinafractionofthetimeittakestousetraditionalprogramminglanguages.Organizations:thatdiscoverinformationhasastrategicvalue;theyutilizetheirdatabasesystemstogainanedgeovertheircompetitors.TheDatabaseModelAdatamodeldescribesawaytostructureandmanipulatethedatainadatabase.Thestructuralpartofthemodelspecifieshowdatashouldberepresented(suchastree,tables,andsoon).Themanipulativepartofthemodelspecifiestheoperationwithwhichtoadd,delete,display,maintain,print,search,select,sortandupdatethedata.HierarchicalModelThefirstdatabasemanagementsystemsusedahierarchicalmodel-thatis-theyarrangedrecordsintoatreestructure.Somerecordsarerootrecordsandallothershaveuniqueparentrecords.Thestructureofthetreeisdesignedtoreflecttheorderinwhichthedatawillbeusedthatis,therecordattherootofatreewillbeaccessedfirst,thenrecordsonelevelbelowtheroot,andsoon.Thehierarchicalmodelwasdevelopedbecausehierarchicalrelationshipsarecommonlyfoundinbusinessapplications.Asyouhaveknown,anorganizationcharoftendescribesahierarchicalrelationship:topmanagementisatthehighestlevel,middlemanagementatlowerlevels,andoperationalemployeesatthelowestlevels.Notethatwithinastricthierarchy,eachlevelofmanagementmayhavemanyemployeesorlevelsofemployeesbeneathit,buteachemployeehasonlyonemanager.Hierarchicaldataarecharacterizedbythisone-to-manyrelationshipamongdata.Inthehierarchicalapproach,eachrelationshipmustbeexplicitlydefinedwhenthedatabaseiscreated.Eachrecordinahierarchicaldatabasecancontainonlyonekeyfieldandonlyonerelationshipisallowedbetweenanytwofields.Thiscancreateaproblembecausedatadonotalwaysconformtosuchastricthierarchy.RelationalModelAmajorbreakthroughindatabaseresearchoccurredin1970whenE.F.Coddproposedafundamentallydifferentapproachtodatabasemanagementcalledrelationalmodel,whichusesatableasitsdatastructure.Therelationaldatabaseisthemostwidelyuseddatabasestructure.Dataisorganizedintorelatedtables.Eachtableismadeupofrowscalledandcolumnscalledfields.Eachrecordcontainsfieldsofdataaboutsomespecificitem.Forexample,inatablecontaininginformationonemployees,arecordwouldcontainfieldsofdatasuchasaperson’slastname,firstname,andstreetaddress.Structuredquerylanguage(SQL)isaquerylanguageformanipulatingdatainarelationaldatabase.Itisnonproceduralordeclarative,inwhichtheuserneedonlyspecifyanEnglish-likedescriptionthatspecifiestheoperationandthedescribedrecordorcombinationofrecords.Aqueryoptimizertranslatesthedescriptionintoaproceduretoperformthedatabasemanipulation.NetworkModelThenetworkmodelcreatesrelationshipsamongdatathroughalinked-liststructureinwhichsubordinaterecordscanbelinkedtomorethanoneparentrecord.Thisapproachcombinesrecordswithlinks,whicharecalledpointers.Thepointersareaddressesthatindicatethelocationofarecord.Withthenetworkapproach,asubordinaterecordcanbelinkedtoakeyrecordandatthesametimeitselfbeakeyrecordlinkedtoothersetsofsubordinaterecords.Thenetworkmodehistoricallyhashadaperformanceadvantageoverotherdatabasemodels.Today,suchperformancecharacteristicsareonlyimportantinhigh-volume,high-speedtransactionprocessingsuchasautomatictellermachinenetworksorairlinereservationsystem.Bothhierarchicalandnetworkdatabasesareapplicationspecific.Ifanewapplicationisdeveloped,maintainingtheconsistencyofdatabasesindifferentapplicationscanbeverydifficult.Forexample,supposeanewpensionapplicationisdeveloped.Thedataarethesame,butanewdatabasemustbecreated.ObjectModelThenewestapproachtodatabasemanagementusesanobjectmodel,inwhichrecordsarerepresentedbyentitiescalledobjectsthatcanbothstoredataandprovidemethodsorprocedurestoperformspecifictasks.Thequerylanguageusedfortheobjectmodelisthesameobject-orientedprogramminglanguageusedtodevelopthedatabaseapplication.Thiscancreateproblemsbecausethereisnosimple,uniformquerylanguagesuchasSQL.Theobjectmodelisrelativelynew,andonlyafewexamplesofobject-orienteddatabaseexist.Ithasattractedattentionbecausedeveloperswhochooseanobject-orientedprogramminglanguagewantadatabasebasedonanobject-orientedmodel.DistributedDatabaseSimilarly,adistributeddatabaseisoneinwhichdifferentpartsofthedatabaseresideonphysicallyseparatedcomputers.Onegoalofdistributeddatabasesistheaccessofinformationwithoutregardtowherethedatamightbestored.Keepinginmindthatoncetheusersandtheirdataareseparated,thecommunicationandnetworkingconceptscomeintoplay.Distributeddatabasesrequiresoftwarethatresidespartiallyinthelargercomputer.Thissoftwarebridgesthegapbetweenpersonalandlargecomputersandresolvestheproblemsofincompatibledataformats.Ideally,itwouldmakethemainframedatabasesappeartobelargelibrariesofinformation,withmostoftheprocessingaccomplishedonthepersonalcomputer.Adrawbacktosomedistributedsystemsisthattheyareoftenbasedonwhatiscalledamainframe-entiremodel,inwhichthelargerhostcomputerisseenasthemasterandtheterminalorpersonalcomputerisseenasaslave.Therearesomeadvantagestothisapproach.Withdatabasesundercentralizedcontrol,manyoftheproblemsofdataintegritythatwementionedearlieraresolved.Buttoday’spersonalcomputers,departmentalcomputers,anddistributedprocessingrequirecomputersandtheirapplicationstocommunicatewitheachotheronamoreequalorpeer-to-peerbasis.Inadatabase,theclient/servermodelprovidestheframeworkfordistributingdatabases.Onewaytotakeadvantageofmanyconnectedcomputersrunningdatabaseapplicationsistodistributetheapplicationintocooperatingpartsthatareindependentofoneanther.Aclientisanenduserorcomputerprogramthatrequestsresourcesacrossanetwork.Aserverisacomputerrunningsoftwarethatfulfillsthoserequestsacrossanetwork.Whentheresourcesaredatainadatabase,theclient/servermodelprovidestheframeworkfordistributingdatabase.Afileserveissoftwarethatprovidesaccesstofilesacrossanetwork.Adedicatedfileserverisasinglecomputerdedicatedtobeingafileserver.Thisisuseful,forexample,ifthefilesarelargeandrequirefastaccess.Insuchcases,aminicomputerormainframewouldbeusedasafileserver.Adistributedfileserverspreadsthefilesaroundonindividualcomputersinsteadofplacingthemononededicatedcomputer.Advantagesofthelatterserverincludetheabilitytostoreandretrievefilesonothercomputersandtheeliminationofduplicatefilesoneachcomputer.Amajordisadvantage,however,isthatindividualread/writerequestsarebeingmovedacrossthenetworkandproblemscanarisewhenupdatingfiles.Supposeauserrequestsarecordfromafileandchangesitwhileanotheruserrequeststhesamerecordandchangesittoo.Thesolutiontothisproblemscalledrecordlocking,whichmeansthatthefirstrequestmakesothersrequestswaituntilthefirstrequestissatisfied.Otherusersmaybeabletoreadtherecord,buttheywillnotbeabletochangeit.Adatabaseserverissoftwarethatservicesrequeststoadatabaseacrossanetwork.Forexample,supposeausertypesinaqueryfordataonhisorherpersonalcomputer.Iftheapplicationisdesignedwiththeclient/servermodelinmind,thequerylanguagepartonthepersonalcomputersimplesendsthequeryacrossthenetworktothedatabaseserverandrequeststobenotifiedwhenthedataarefound.Examplesofdistributeddatabasesystemscanbefoundintheengineeringworld.Sun’sNetworkFilingSystem(NFS),forexample,isusedincomputer-aidedengineeringapplicationstodistributedataamongtheharddisksinanetworkofSunworkstation.

温馨提示

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

评论

0/150

提交评论