• 1.55 MB
  • 2022-04-22 13:50:43 发布

网上订餐系统毕业设计.doc

  • 42页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网上订餐系统毕业设计目录摘要1关键字1引言1(一)研究的背景及意义1(二)订餐系统现状与发展2(三)结构安排31相关技术介绍41.1.Net平台简介41.1.1.Net概述41.1.2ASP.Net的优势61.2SQLServer2008简介71.2.1SQLServer2008概述71.2.2SQLServer2008的优势71.3系统体系结构82系统分析与设计92.1可行性分析92.2系统设计目标102.3系统功能分析112.3.1系统功能实现112.3.2系统需求分析123数据库设计173.1数据库需求分析173.2系统概要设计173.2.1系统概要设计概述173.2.2订餐系统E-R图183.3逻辑设计203.3.1逻辑设计概述203.3.2数据表的设计203.4物理设计224网上订餐系统的实现234.1功能模块介绍23III 4.1.1登陆/注册234.1.2菜单信息浏览244.1.3订餐服务254.1.4用户反馈及评分264.1.5订单处理274.1.6后台信息管理274.2核心功能实现294.2.1用户自定义控件说明294.2.2信息显示304.2.3推荐指数304.2.4分页显示算法314.2.5购物车325网上订餐系统测试335.1测试目标335.2测试方法345.3主模块测试355.3.1登录/注册模块355.3.2订餐服务模块355.3.3订单处理模块355.3.4菜单管理模块355.4测试总结376结论376.1总结376.2展望38参考文献:38Abstracts39KeyWords39致谢39IIIIIIIIIIII 网上订餐系统网络工程专业曹永光指导教师汤鹏杰[摘要]随着人们生活水平的提高,对饮食的要求已不仅是解决温饱,很多人在进行紧张工作之余选择享受美食,得到美的精神享受和放松。传统的就餐方式往往会出现人们到餐厅就餐,排队或没有位置的现象。因此,开发出图文并茂,信息能够及时更新与查看的网上订餐的系统就成为了解决上述问题的主要途径。网上订餐是近年来随着网络技术的发展而产生的一种新型的就餐方式。它与传统就餐方式相比,网上订餐拥有很多优势,这样的订餐方式效果很好,既让顾客觉得方便、快捷,又对每个订单的信息保管妥善、处理及时,实现了高度智能化管理。网络订餐方式将成为餐饮业销售的新模式与新的增长点。本文通过对网上订餐进行需求分析,开发出一个基于互联网的B/S模式的网上订餐系统,实现了在线信息浏览,在线订餐与在线订单处理及信息更新和删除等功能。系统的数据库方面,使用关系数据库管理系统MicrosoftSQLSever2008,使系统安全性能更高,同时采用当前正在流行的ASP.Net平台编程,使用户界面更加完美[关键字]网上订餐;互联网;.Net;订单管理;信息浏览引言(一)研究的背景及意义俗话说:“民以食为天”,随着人们生活质量的提高,对饮食的要求已不仅是解决温饱需求,很多人在进行紧张工作之余会选择享受美食来享受生活,进而进行放松。餐饮业是一种个性化、多样化的服务产业,随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合[1],形成了方便、快捷、个性化的网上订餐 系统,通过网上订餐系统,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势是:图文并茂,信息能够及时在线更新与查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息变更不能及时等现象。这样既节省了时间,又为广大用户提供更多选择。订餐系统基于ASP.Net平台和SQLServer2008数据库开发,实现了网上订餐系统信息的动态管理,对每个订单的信息保管妥善并且及时处理,实现了高度的智能化。该系统基于B/S(Browser/Server,浏览器/客户端)模式实现,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。(二)订餐系统现状与发展国外:在外国,在多年前许多知名品牌就开始了网上订餐服务,如今提供网上订餐服务的商家数目正在急剧膨胀,人们只需一部电脑和一张信用卡,就可全天订座。即便并非名流或常客也不是厨师的朋友照样能与他们平起平坐地享受这种便捷的订餐方式。因此,网上订餐的方式已经被国外的许多家庭所认可。国内:目前我国使用的订餐方式大都还停留在电话订餐的层次上,毋容置疑,电话订餐方便,随时打一个电话就可以预定餐品。但是这种方式还是存在着一些问题,比如这种订餐方式的效率低,并且对信息的保存与更改都需要人工记录,容易遗漏和出错。因此,网上订餐服务在逐渐新起。据了解,在济南、青岛、临沂等地,消费者对订餐服务的需求是很大的,尤其是临沂商城,由于这里有位居全国第二位的专业批发市场群体,许多客商因整天忙于生意而无暇去饭店就餐,因而他们热衷于网上订餐。济南有一 午餐网很受消费者的欢迎,由于网站为消费者提供免费的订餐服务,并通过让消费者享受多种优惠的服务,吸引了众多网上订餐者[2]。总体来说,我国的网上订餐业务还处于形成期,成长空间很大。发展趋势:人们通过上网,预定需要的餐品,这样不仅节约了时间,而且为饭店的订餐管理工作提供了方便,最重要的是,这样的订餐方式效果很好,对每个订单的信息保管妥善并且处理及时,实现了高度智能化管理。因此将来网上订餐服务有望发展成一种非常受欢迎的订餐方式,将成为餐饮业销售的新模式和新的增长点[2]。(三)结构安排本文通过对网上订餐系统进行需求分析,开发出一个基于互联网的B/S模式的网上订餐系统;数据库方面,使用关系数据库管理系统MicrosoftSQLsever2008,系统安全性能更高,同时采用当前正在流行的ASP.Net平台编程,使用户界面更完美。系统使用面向对象的软件开发思想,按照软件工程的基本步骤进行了系统分析、设计和实现。系统分为前台和后台两部分,其中前台主要是用户进行菜单和相关资讯的浏览,以及订餐,信息反馈和评分等,主要是面向顾客的;后台是对前台数据的维护、设计和订单管理的,主要是面向管理人员。管理人员又分为系统管理人员和订餐管理人员。系统管理人员负责维护和管理网站信息;订餐管理人员负责查看当前形成的新订单与订单明细,并且处理订单。本文的结构安排如下:第一部分绪论主要阐明了于网上订餐研究的意义,存在的原因和背景,以及国内外的现状和发展趋势。第二部分主要介绍了系统的开发工具及其优势所在,并且介绍了系统的B/S架构。第三部分主要内容是对软件进行了需求分析,分析了系统要达到的目标和主要的,以及分析了系统的体系结构,给出了系统的用例分析。 第四部分主要内容是数据库的概要设计,给出了系统E-R图,逻辑设计和物理设计等。第五部分主要讲述网上订餐系统的主要功能模块、实现的关键技术和核心算法。第六部分主要是对系统实现功能的测试。通过编写测试用例实现了对系统的功能测试。最终测试结果在论文中也有所体现。第七部分是对本文的总结和展望。总结了自己的收获和不足。最后,列出了参考文献和致谢。1相关技术介绍1.1.Net平台简介1.1.1.Net概述该订餐系统是基于.Net平台,利用ASP.Net技术开发的。.Net开发平台是从微软WindowsDNA(DistributedNetworkArchitecture)衍生而来的,DNA是微软前几年开发企业应用程序的平台[3]。分布式应用程序逻辑需要使用分布式的对象模型,诸如微软的分布式组建对象模型(DC0M)、对象管理组织的公用对象请求代理程序体系结构(CORBA)或Sun的远程方法调用(R/I)[4]。这些系统有个共同的缺陷,即它们无法扩展到互联网上:它们要求客户端与系统提供的服务本身之间必须进行紧密耦合,即要求一个同类基本结构。相反,Web服务彼此是松散耦合的。连接中的任何一方均可更改执行机制,而不影响应用程序的正常运行。随着三层/多层企业信息系统结构的发展与下一代分布式计算模型Web服务的诞生,企业应用中关于平台、框架、语言的竞争也越来越激烈。2000年6月微软公司宣布其.Net战略,并开始对.Net这一全新的概念进行宣传,对其相关产品进行研发。一直以来,.Net 给人的感觉比较抽象和笼统,无法给出明确的定义,也许引用微软首席执行官的说法更容易让人理解:“Microsoft.Net代表一个集合,一个环境,可以作为平台支持下一代Internet的可编程结构。”诚然,.Net是一个开发和运行软件的全新平台,便于开发基于Web的应用,其拥有大量的运行库服务以支持用多种编程语言编写的组件,具有跨语言,跨平台的互操作能力。.Net使高度分布式Internet环境下的应用程序开发得到了简化,为XMLWeb服务与其他应用程序提供了一个高效的安全的开发环境,并全面支持XML。框架结构在.NET中的地位非常重要,因此下面进行详细地阐述。.NetFramework是整个.Net平台的基础结构。它由基类库(如ADO.Net和ASP.Net)和通用语言运行库(CLR,CommonLanguageRuntime)组成,如图1.1所示。图1.1.Net平台结构图从图中可以了解到.Net开发框架的主要组成部分。首先整个开发框架的基础是通用语言运行库(CLR)及基础类库(BCL);在开发技术方面,.Net提供了全新的数据库访问技术ADO.Net,以及Web开发平台ASP.Net和Windows编程技术WinForms:开发语言方面,.Net提供了对VB、VC++、C#、Jscript、J++等多种语言支持[5];在本系统开发中使用的VisualStudio.Net2008则是全面支持.Net的开发工具。 1.1.2ASP.Net的优势ASP.Net是一种用于创建内容丰富的动态网站、Web应用程序和XMLWeb服务的新编程模型。同以往的编程模型相比,这种新编程模型提供了基于组件的架构与开发范例[6]。ASP.Net提供了下面一些超越以前WEB技术的新特性[7]:(1)优良性能:ASP.Net在服务器上运行的是经过编译的CLR代码。同以前的技术相比,ASP.Net能充分利用Binding(绑定),及时编译,本地优化,缓冲服务来提高程序的性能。(2)大量工具箱支持:在VisualStudio的开发环境中,ASP.Net具有丰富的工具箱和设计器。如所见即所得的编辑方式,支持拖放的服务器控件,以及动态的配置管理,此外还有许多第三方控件。(3)强大功能和良好机动性:因为ASP.Net是建立在CLR基础上的,所以整个平台的功能与适用性更加适合网络应用程序的开发。ASP.Net可以使用很多种程序语言来编写。此外,CLR的协同工作能力保证以前开发的基于COM的程序,在移植到ASP.Net后,依然可以正常使用。(4)崭新配置管理方式:ASP.Net是一种基于文本格式,等级式的配置系统。一个ASP.Net应用程序只需将必要的程序拷贝到服务器上就可以使用了。对于正在运行中的己编译的代码,也同样可以对其配置进行更改,而不需要重启服务器。(5)可移植性与良好适用性:当ASP.Net的一条线程出现异常情况后,一个新的进程会在它的地方重新建立,继续担负原进程所处理的任务,这就使应用程序能不中断地处理客户的请求。(6)超强扩展性:ASP.Net崭新的结构体系允许开发者开发自己的插件,且ASP.Net下任何一个组件都能够被用户自己开发的组件扩展或替代。 1.2SQLServer2008简介1.2.1SQLServer2008概述本系统选择SQLServer2008(StandardQueryLanguage,SQL结构化查询语言)作为数据管理系统。SQLServer2008是有Microsoft开发和推广的关系数据库管理系统(DBMS),是一个全面的数据库平台,使用集成的商业智能(BI)工具,提供了企业级的数据管理。SQLServer2008数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序[8]。1.2.2SQLServer2008的优势SQLServer2008具有很高的性能、处理能力,在企业级支持、商业智能应用、管理开发效率等方面有较强的能力。它提供的集成的数据管理和分析平台,可以帮助组织更可靠的管理来自关键业务的信息、更有效的运行复杂的商业应用;而通过其中集成的报告和数据分析工具,企业可从信息中获得更出色的商业表现力和洞察力。相对于以前的版本,SQLServer2008拥有以下的重要新特性:(1)支持XML数据类型、XQuery查询;(2)CLR编写数据库对象;(3)UDT:SQLServer2008里面支持自定义数据类型;(4)ServiceBroker:提供了一个足够稳定可靠而又高效的异步消息排队队列;(5)ADO.Net2.0;(6)T-SQL增强:除了一些功能更强的SQL函数,还增加了包括支持异常处理等一些新的内容; (7)数据库镜像(Mirroring):一个针对企业关键应用非常关注可用性而设计的热备方案,可以大大提高SQLServer的高可用性,能在数据库发生故障几秒钟内切换负载到备用系统上;(8)全文索引增强;(9)管理、监控、开发工具的集成和增强;(10)BI的增强和存储引擎的改进。1.3系统体系结构本网上订餐系统采用了B/S架构的设计体系,B/S结构相对于传统的C/S结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,大大简化了WEB应用的开发难度;易于保证数据的一致性[9]。B/S模式的三层分层模型:第一层表示层。数据表示层为用户接口部分,是用户与系统之间交互信息的界面。它的主要功能是检查用户输入的数据,显示系统输出的数据。它的任务是由Web浏览器向网络上某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需文件资料传送给客户端,客户机接受传来的文件资料并把它显示在Web浏览器上。第二层事务逻辑层。事务逻辑层也称功能层,是应用的主体,位于Web服务器端,它包括应用中全部的业务处理程序。除了输入输出在表示层,数据库在数据层以外,全部的统计、汇总、分析、打印功能存放在功能层。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。 第三层数据库层。数据库层包括数据库管理系统和数据库,数据库管理系统负责管理其数据库,为应用程序提供支持,位于数据库服务器端。任务是接受Web服务器对数据库操作的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。2系统分析与设计订餐系统无论是在应用的深度还是广度上都是一个逐步发展的过程。开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的相容性和完整性,以利于今后整个系统的建立。从订单处理流程上总体把握系统的设计,在具体的设计实现上围绕三个方面进行展开,即用户、管理者、系统维护者。2.1可行性分析随着经济的快速发展,B2C电子商务越来越受到人们的关注[10]。订餐类网站,已如雨后春笋般的出现在了个大城市。特别是在公司,企业内部,团体订餐已经成为趋势。同时,随着全国人民的物质、精神和文化生活的高度提高,人们已经不再仅仅停留在吃饱的程度,而是不但要吃饱,还要吃好,并且越来越挑刺,正因为如此网上订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜种,品尝不同风格和不同种类的菜品,网上订餐业务在中国有着极大的发展空间和良好的发展前景。当代大学生与白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。因此,面向大学生与都市白领人士的网上订餐系统的设计有着良好的现实意义。综上分析,决定利用ASP.Net和SQLServer设计网上订餐系统。ASP.Net可以创建与运用动态、交互的WEB服务器应用程序。SQLServer2008 是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等[11]。2.2系统设计目标在需求分析的基础上,提出了如下的系统设计目标:1.系统安全性系统应控制不同用户的使用权限,用户不能越权操作。系统应该确保数据的安全性。同时,用户要求系统具有高度的可靠性,数据的准确性,系统的可恢复性。2.可维护性客户会在系统使用过程中不断对系统提出新要求,扩展系统功能,这就要求系统的可升级性必须良好,以满足客户长期实用的要求,并且在用户有新要求的时候可以快速扩展功能。3.用户操作系统设计应该人性化,操作简单方便,达到人机友好的目的。4.运行速度系统响应时间是衡量系统性能好坏的重要参考。系统要求响应时间短,更新处理迅速,数据转换与传送时间短,后台服务器响应迅速等等。由于系统使用者的特殊性,系统必须高效地响应并且在安全的前提下高效的响应。5.界面用户界面应该做到清晰简单一目了然,易于操作。2.3系统功能分析2.3.1系统功能实现本 系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理、信息反馈等模块。需要完成的主要任务如下:当客户进入网上订餐时,应该在主页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除以生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。分析网上订餐系统,制订整个系统框架如下:图2.1系统整体框架图2.3.2系统需求分析用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD) 和UML三种方式。UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程[12]。本系统使用UML中的用例图、活动图、状态图来对需求建模。用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。通过分解系统目标,用例图描述活动者为了实现这些目标而执行的所有步骤。此方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的用例来不断细化自己的需求。此外,使用用例还可以方便地得到系统功能的测试用例。1.角色分析分析的第一步是定义用例,以描述系统的外部功能需求。用例分析包括阅读和分析需求说明,此时需要与系统的潜在用户进行讨论。根据上述需求,通过分析,网上订餐角色分为两大类:用户和系统管理员。2.用例分析在确认角色的基础上,确认用例。网上订餐系统中的用例有:用户管理、订单管理、登录系统、菜品信息管理等等。本系统的用户用例图如图2.2所示。进行的操作包括订餐服务、信息浏览、订单管理等。 图2.2订餐用户使用例图管理员分为两类:一类是系统管理员用例图如图2.3所示。管理员进行的操作(后台操作)包括用户管理,信息的浏览、添加、删除、修改等等。图2.3系统管理员使用例图 另一类管理员是订餐管理人员,专门负责处理用户预约的订单,用例图如图2.4所示。图2.4订餐管理员使用例图除了用用例图描述系统需求以外,以下用活动图对系统的主要例进行说明,更具体地描述该用例与角色的交互。1.用户登录图2.5用户登录用户登录实现为本网站注册用户提供身份确认的功能,保证合法用户的应有权益。而且是否登录也将决定用户能否订餐。用户登录的前置条件是在登录前,用户必须完成“注册”。2.订餐服务 图2.6订餐服务在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜品及其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。本用例开始前用户必须登录到系统中。如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删除。3.查看历史订单:图2.7查看历史订单 注册用户可以查看自己的历史订单,在历史订单中,可以浏览曾经订购过的菜品,对于已经送餐后的菜品,可以进行评分和信息反馈,不能重复评论,某个菜品在这里的评分会影响其在整个网站中的推荐指数。4.订单处理:图2.8订单处理处理订单的过程是订餐管理人员参与的,当前台有新的订单生成时,会自动在后台的现有订单列表中显示出来,订餐管理人员可以点击查看未处理的订单,根据实际情况进行处理,或者删除不需要的订单记录。3数据库设计数据库设计一般分为六个阶段。之前已经完成需求分析,现在需要进行概念设计、逻辑设计和物理设计,本章将叙述这三个阶段的设计思路和设计过程。3.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理流程,组成一份详细的数据字典,为具体设计铺垫[13]。 通过系统功能分析,针对网上订餐需求,总结为:1.分为一般用户和管理员用户,只有用户身份才能进行前台订餐,只有管理员身份才能进行后台管理;2.订单分成单张订单详情和总订单表,一张订单中含有多个订单明细;3.每一道菜品都从属于一种类型。4.一个用户可以订购多个菜品。5.一个用户对应多张订单表。3.2系统概要设计3.2.1系统概要设计概述概要设计是将用户的需求分析得到的结果抽象为信息世界的结构,即概念模型。概念结构独立于数据库的逻辑结构,独立于支持数据库的数据库管理系统,它是现实世界到信息世界的中介,反映了实体与实体的联系,便于用各种数据模型进行转换3.2.2订餐系统E-R图E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[14]。构成E-R图的基本要素是实体型、属性和联系,其表示方法为,实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,系统E-R图如图3.1所示。 图3.1订餐系统E-R图以下是主要数据表的E-R图:图3.2用户E-R图图3.3订单条目E-R图 图3.4养生咨询E-R图图3.5订单E-R图 图3.6菜单E-R图3.3逻辑设计3.3.1逻辑设计概述数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化3.3.2数据表的设计数据库的主要表详细结构如下:表3.1订单条目表FieldTypeNullKeyCommentIDIntNoYes标识递增订单IDIntNoNo外键,对应于订单中的“订单ID”菜名Nchar(10)NoNo默认值是“待送餐”数量IntNoNo单价FloatYesNo评分IntYesNo默认为“0分”Back订单YesNo顾客订餐的信息反馈表3.2订单表FieldTypeNullKeyComment订单IDIntNoYes标识递增用户IDIntNoNo外键,对应于用户表中的“用户ID”订单状态Nchar(10)NoNo默认值是“待送餐”送餐地址Nvarchar(50)NoNo备注Nvarchar(MAX)YesNo订餐姓名Nvarchar(50)NoNo 订餐时间DatetimeYesNo金额总价FloatYesNo表3.3菜单表FieldTypeNullKeyCommentcIDIntNoYes标识递增菜名Nvarchar(50)NoNo价格FloatNoNo菜介绍Nvarchar(MAX)YesNoScidIntYesNo菜系id菜图片Nvarchar(MAX)YesNo存储的是图片的路径推荐Nvarchar(50)YesNo表3.4菜分类表FieldTypeNullKeyCommentScidIntNoYes标识递增种类Nvarchar(50)NoNo菜系名系列介绍Nvarchar(MAX)YesNo表3.5用户表FieldTypeNullKeyComment用户IDIntNoYes标识递增uNameNvarchar(50)NoNo登录名uPwdNvarchar(50)NoNo登录密码真实姓名Nchar(10)NoNo性别Nchar(10)NoNo菜系id联系电话Nvarchar(50)YesNo爱好Nvarchar(MAX)YesNo喜欢口味Nvarchar(MAX)YesNoQQNvarchar(50)YesNoemailNvarchar(50)YesNoStateNvarchar(50)NoNoID是否有效,默认值是“未审核”身份证号Nvarchar(50)NoNo表3.6养生之道表FieldTypeNullKeyComment介绍IDIntNoYes标识递增标题Nvarchar(50)NoNo 内容TextYesNo发布时间DatetimeYesNo默认值是当前浏览器的时间ViewCountIntYesNo浏览次数3.4物理设计l.数据库存储结构数据库的存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素[15]。根据逻辑设计的结果,将实体映射为表,将关系映射为外键约束,将属性映射为列,主键唯一表示符映射为主键约束,唯一表示符映射为键约束。由于SQLServer2005的聚簇功能很强,可以使用不同的技术和多种模式存储多维数据集的数据和聚合。2.数据存放位置采用磁盘阵列存放系统的数据,日常数据放在数据库服务器硬盘上,并进行定期备份,备份数据放在磁盘阵列的另外一个硬盘上。为了加快存取速度,将表数存放在一个磁盘上,而索引文件放在另外一个磁盘上。3.系统配置通常情况下,系统的配置包括:同时使用数据库的用户数;同时打开数据库对象数;使用的缓冲区长度、个数;时间片的大小;数据库的大小;装填因子;锁的数目等;他们对系统的性能有着显著的影响,因此在实际设计时根据需要进行了初步的设计。 4网上订餐系统的实现4.1功能模块介绍4.1.1登陆/注册如图4.1是网上订餐系统的首页,图4.1网站首页在首页中显示了网站中大部分的信息,通过首页可以跳转的网站中其他的页面,进行相关的操作,登陆模块也是在首页中显示出来的。在登陆系统之前需要注册,如图4.2所示,注册的信息由游客填写,提交注册信息后,需要通过后台管理员对注册信息进行审核,给予审批后,才能登陆系统。 图4.2用户注册页面网是订餐服务只有登陆以后才能进行,这样确保了订餐服务的有效性,避免预定后,不履行订单的恶意行为。4.1.2菜单信息浏览在首页中,可以直接浏览到部分的菜单信息,信息包括了:图片,菜名,价格等。在该网页上也可以查看菜品的详细信息,如图4.3所示。另外,在主页上还根据不同的菜系进行分块展示,同时也可以点击每个分块上的“more”字样查看相关的全部信息列表。例如:点击查看“凉拌系列”的显示结果如图4.4所示。图4.3菜品详细介绍 图4.4“凉拌”系列信息页面在网站的首页中可以根据用户输入的文字对菜名进行模糊搜索,搜索功能使用户在选择自己需要的菜品时更加便捷和高效。图4.5搜索4.1.3订餐服务当用户进行订餐时,系统为用户生成了一个虚拟的购物车,在用户浏览详细的菜单信息时,如图4.6所示,可以选择数量,然后将此菜品放入购物车中,图4.6订购菜品数量在订餐过程中,用户可以查看自己购物车中选购的菜品和金额,根据自己的需要可以删除购物车中的菜品,还可以选择继续订餐,在查看购物车时填入相关送餐信息,点击“提交订单”,完成了整个订餐流程。 图4.7查看购物车4.1.4用户反馈及评分用户可以点击主页中“我的订单”查看自己当前订单和历史订单,如图4.8所示:图4.8“我的订单”页面订单中的每一项都可以点击“评分”,如图4.9所示。图4.9“评分”页面 对于已经评分的餐品,不能重复评分;对于还未送达的餐品,需等到管理员处理订单后才能评分。4.1.5订单处理后台对订单的处理主要是查看和修改订单状态。订单的处理涉及两张数据表:订单表和订单条目表。在查看订单列表时,绑定的数据是订单表中的数据,当查看订单详情时,在网页中传递“订单ID”作为参数来获取对应的详情列表。在管理员处理订单后,订单表的“订单状态”改为“已处理”。由于订单列表是写在控件UpdatePanel里的,所以在前台用户提交订单成功后,会自动对数据库执行查询,使后台的订单显示列表中会自动在首行显示出新订单,并且订单状态默认为“待送餐”;该页面中的当前时间是通过设置一个时间间隔为1000ms的Timer的控件,在Timer控件的事件中获取当前浏览器的时间,达到动态显现得效果。图4.10订单列表管理员可以查看订单详情,根据实际情况处理修改订单状态。4.1.6后台信息管理后台管理员需要登录后才能进入后台管理,后台首页如图4.11所示。 图4.11后台管理首页通过登陆验证,保证了数据的安全性和保密性。管理员对信息的管理是分别针对数据库中的每一张表进行的。在浏览每张表的信息时带有搜索功能,使得工作效率提高。对于每张表的信息可以添加、删除和修改。但留言表中的信息不能修改,只能回复和删除。由于篇幅有限,以下只给出菜单表的管理截图,图4.12是后台管理系统的首页和菜单信息列表,图4.13是具体的某个菜的编辑或添加页面。图4.12菜单信息列表 图4.13编辑菜单信息4.2核心功能实现4.2.1用户自定义控件说明1.listInfo.ascx该控件是用于在首页中显示不同菜系的介绍信息的,在控件中定义了一个Scid属性,在每次引用控件时,通过设置Scid的值来确定控件该显示那个菜系的信息。2.Nav.ascx该控件作为导航在页面中引用的,控件的样式和超链接都已经设置好,在需要导航的页面直接引用即可。3.PagingBar.ascx该控件是分页显示控件,在控件中定义了三个属性:CurrentPage,表示当前显示的是第几页,默认值是”1”;PageSize,表示一页显示几条数据,默认值为”10”;RecordCount,是显示信息的总条数,一般是从数据库绑定出的数据总条数来设定其值的。4.scoer.ascx 该控件用于显示菜单信息中的推荐指数,控件中定义了一个s属性,通过设定s的值,便可以显示出相应的推荐指数。4.2.2信息显示菜单信息,养生咨询,留言版等信息的显示是通过绑定数据库中相应表单中数据得到的。当查看其中一项的具体信息时,是通过网页间传递的参数确定的,一般情况下,传递的参数是数据表中的主键值,这样使得信息有确定性。在菜单表的显示中,网页间传递的参数是数据库中菜单表的主键cID,先显示之前,通Request.QueryString[“cID”]获得主键值后,再从数据库中绑定出相信菜名,价格和介绍信息,并在页面中显示出来。养生咨询,留言板等的信息显示也是这个原理。只是绑定数据的控件不同,得到的显示效果不尽相同。4.2.3推荐指数推荐指数是菜单显示信息中的一个是非常重要意义的信息,其在一定程度上说明菜品的受欢迎程度,可以在顾客选购餐品时提供一个参考建议。上面的内容中已经提到推荐指数的现实是通过设置scoer.ascx控件的s属性。s属性的值是根据每个订餐用户用餐后对菜品的评分动态生成和改变的,该信息没有专门存储于数据库中。图4.14是获取s的值的程序流程图 图4.14推荐指数显示4.2.4分页显示算法由于网页的布局有限,数据库中的大量信息无法再一张网页上全部显示出来,运用分页显示的技术使得信息按照需要分页显示出来,并且显示效果更加清晰。对于分页显示,在上述内容提到了分页控件PagingBar.ascx,在需要显示的页面引用这个控件,就可以进行分页显示。以下是分页显示实现的算法://设置分页控件(用到变量:第几页每页多少条数据数据条数)int_currentPage;//当前在第几页int_pageSize=10;//一页显示的记录数 = 10intRecordCount//数据条数总共的页数=RecordCount/_pageSize取得待显示页码:获取网页中传递的p参数,默认当前显示页,既p=1;用urlParameter保存网页中传递处p以外的其他参数; 设置超链接按钮:if当前不是第一页,设置第一页的链接地址与上一页的链接地址if当前不是最后一页,设置下一页和未页的链接地址4.2.5购物车购物车模拟了现实生活中购物的情景,在用户进行订餐时,系统会为用户自动生成一个虚拟的购物车。用户可以往购物车里添加菜品,也可以查看购物车,删除其中不需要的菜品。最后在购物车中填写好订单信息,就可以成功的提交订单。1.将选定的菜品添加到购物车的流程如下:图4.15购物车的实现2.查看购物车的实现 图4.16查看购物车3.删除数据购物车列表中的每一行数据后都有“删除”按钮,点击后删除相应的一行数据。此时Session[“car”]的值应该相应的改变,并重新绑定显示。4.向数据库填充数据当用户提交订单时,需要将购物车中数据填入数据库中进行保存。遍历car中的每一行数据,使之一行一行的插入到数据库中。以上是“购物车”工作的全部流程,在每次订单提交后,car中的数据将全部清除。5网上订餐系统测试5.1测试目标软件测试的目的决定了测试方法。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置进行测试 。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的假设进行测试。软件测试是为了发现错误而执行程序的过程。一个好的测试用例是在于它能发现至今未发现的错误。一个成功的测试是发现了至今未发现的错误的测试。测试并不仅仅是为了要找出错误,通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点[16]。5.2测试方法软件测试是用来发现系统和用户需求不符合的过程。测试方法分为:白盒测试和黑盒测试。白盒测试是对软件过程性细节做出细致的检查。这样的方法是把测试对象看做是一个打开的盒子,它允许测试人员利用程序内部的逻辑结构以及有关的信息,设计或者选择测试用例,对程序所有的逻辑路径进行测试。通过在不同的节点来检查程序的状态,确定实际状态是否与预期达成一致。因此,白盒测试又称为结构测试或者是逻辑测试。白盒测试主要是想对程序模块进行如下检查:1.对程序模块的所有独立的执行路径至少测试一遍。2.对所有的逻辑判定,取“真”或者取“假”的两种情况至少能测一遍。3.在循环的边界和运行的界限内执行循环体。4.测试内部数据结构的有效性。本次系统测试主要是选择黑盒测试,软件的黑盒测试意味着测试要在软件的接口处进行测试 。这样的方法是把测试对象看成一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部属性,只是根据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,因此黑盒测试又叫功能测试或者数据驱动测试。黑盒测试主要是为了发现以下几类错误:1.是否有不正确或遗漏的功能2.在接口上,输入是否正确的接受,能否输出正确的结果3.是否有数据结构错误或外部信息(例如数据文件)访问错误。4.性能上是否能够满足要求。5.是否有初始化或者终止性错误。5.3主模块测试5.3.1登录/注册模块测试项目测试用例测试结果操作流程用户登录用户名:zj正确密码:123输入密码:123登陆成功在网站首页的登陆框上登陆用户登录用户名:zj正确密码:123输入密码:123错误提示:“登陆失败,或是尚未通过审核”在网站首页的登陆框上登陆用户注册输入相关注册信息注册成功,等待审核在网站首页的登陆框上点击“注册”5.3.2订餐服务模块测试项目测试用例测试结果操作流程菜系查询点击查询“麻辣系列”显示所有麻辣菜系的点击主页上的“麻辣系列”菜系搜索查询在搜索框中输入“麻辣”显示菜名中包含“麻辣”的所有菜在主页上的搜索框中输入关键字,点击查询搜索查询在搜索框中输入“zj”没有信息输出 在主页上的搜索框中输入关键字,点击查询预定菜品没有登陆,点击“订购”提示信息:“请先登陆”在详细介绍菜品页面点击“订购”预定菜品登陆后,点击“订购”提示:“已放入购物车”登陆系统后在详细介绍菜品页面点击“订购”提交订单点击“提交订单”提示:“订单提交成功,服务人员会尽快送餐”查看购物车页面,填写相关的送餐信息,点击“提交订单”5.3.3订单处理模块测试项目测试用例测试结果操作流程登陆后台用户名:admin正确密码:123456输入密码:123456转入后台管理首页进入后台登陆界面查看订单列表点击订单管理中“订单列表”转入订单列表页面在后台管理首页中,点击订单管理中“订单列表”查看订单详情点击“查看详情”转入订单详情页面在订单列表页对应得一行中点击“查看详情”处理订单点击“处理订单”订单表中的订单状态改变为“已送餐”在订单详情中点击“处理订单”5.3.4菜单管理模块测试项目测试用例测试结果操作流程添加菜单信息输入相关信息添加成功,在菜单列表中在后台管理首页点击菜单管理中的“信息添加”删除菜单信息点击“删除”提示:“删除成功!”在菜单列表的相关操作中点击“删除”编辑现有菜单信息点击“编辑”编辑成功,转回列表页面在菜单列表的相关操作中点击“编辑” 5.4测试总结此次测试采用黑盒测试方法。做了许多测试用例,但限于篇幅只写出了几个典型的测试用例。在测试的整个过程中,每个模块的功能都比较成功,但也发现了一些问题,如在数据库等多方面没有数据的时候出现异常等,发现后及时做了修改。目前系统还存在很多值得改进的地方,将会在今后使用和维护中不断完善此网上订餐系统。6结论6.1总结本文主要分析和设计了网上订餐系统,从用户的需求入手,通过用例图反应出该系统的功能模块,并且通过活动图来详细分析了各个功能模块的活动流程。数据模型方面,结合实体关系图确定不同的表单,以便更好的设计数据库。在详细设计阶段,首先编写了一个数据库操作类——SqlServer类,以后进行数据库操作时直接调用即可,简化了编码的工作量;确定每个功能模块中的页面数,以及页面的调用关系。重点在信息浏览页面,购物车和订单管理的设计与实现。在编写代码的过程中,遇见了很多问题,例如:信息的显示,数据的连级删除等。最后,通过查阅书籍和多次修改、测试后解决了这些问题。最后,对整个系统进行了功能测试,系统运行正常,基本达到了设计的效果,并且在一些重要功能上有自己的创新点。就整体功能而言,系统还是存在一些缺陷,例如:没有网上支付功能;后台的订单管理也是针对较小的数据来实现的,在现实生活中,网上购物的人数越来越多,管理员应该能够批量的操作订单;用户的密码保护功能不够健全等。今后还会就以上问题深入研究,以便使此订餐系统更加完善。 6.2展望目前已有不少订餐网站在网络中盛行,并被人们所接纳;网上订餐系统已成为如今电子商务中的一个重要应用领域,它使得订餐者与餐厅之间能进行互动,足不出户,订购自己低矮的菜品。餐厅也可以在网络上查看订单,根据自己的营销策略定价,进行宣传,大影响,增加销量。无论从平台的建设、系统的开发、功能的完善还是系统的维护上,都还需要进行进一步的研究与开发。参考文献:[1]杨千里,王育民.电子商务技术与应用[M].北京:电子工业出版社,1999[2]卞文志.网上订餐将成为餐饮业利润第二落点[J].烹调知识.2007,(4):26~27[3]李勇平.ASP.NET2.0(C#)基础教程[M].北京:清华大学出版社,2008[4]ChrisUllman,JohnKauffman等著.ASP.NET1.1入门经典.VisualC#.NET2003编程篇[M].北京:清华大学出版社,2004[5]马照亭等.ASPWeb编程实例教程[M].北京:北京希望电子出版社,2002[6]刘亚姝,许小荣,张玉梅等.ASP动态网站开发技术与实践[M].北京:电子工业出版社,2007[7]孙三才,许熏尹.精通c#与ASE.NET程序设计[M].北京:中国青年出版社,2001.8[8]SQLServer2005发展优势所在[DB(DB/OL)].[2008-10-06]http://www.powertoronto.com/?action-viewnews-itemid-22191[9]张伟,蒋德华.基于B/S架构的网站设计研究[J].软件导刊.2008-07-09,7(5):109~110[10]张玉孔.B2C型中小企业电子购物系统的设计[J].商场现代化.2006,(11X):119~119[11]顼宇峰.ASP+SQLServer典型网站建设案例[M].北京:清华大学出版社,2006[12]冀振燕著.UML系统分析设计与应用案例[M].北京:人们邮电出版社,2003[13]蒋瀚洋,李月军,庞娅娟.SQLServer2005数据库管理与开发教程[M].北京: 人民邮电出版社,2009[14]吴晨,张亮,张静.ASP.NET+SQLServer数据库开发与实例[M].北京:清华大学出版社,2006[15]MichaelV.Mannino.数据库设计、应用开发和管理[M].北京:清华大学出版社,2007[16]古乐,史九林等.软件测试案例与实践教程[M].北京:清华大学出版社,2007OnlineReservationSystemStudentmajoringinNetworkEngineeringCaoYong-guangTutorTangPeng-jie[Abstracts]Withthedevelopmentofthelivingstandardofthepeople,therequirementsforfoodisnolongertoHungerproblem,manypeoplechooseenjoyingthefoodtorelaxafterwork.Theexistingproblemfortraditionalrepastwayisthatpeopleoftenqueueorhavenopositionwhentheyhavedinner.Thus,todevelopthereservationsystemwhichisillustrated,informationcanbeupdatedandchecktheonlinewillbecomethemainwaystosolvetheseproblems.Onlinereservationisanewformofrepastthatcomesalongwiththedevelopmentnetworktechnologiesinrecentyears.Comparedwiththetraditionalmealdiningway,onlinereservationhasmanyadvantages,thisorderwayhaveagoodeffect,neitherletcustomersfeelconvenientandquick,atthesametimetheinformationofeachorderwillbealsohandledproperlyandtimelyandhaveasafekeeping.Itrealizesthehighlyintelligentmanagementandwillbecomeanewmodeofcateringsalesandanewgrowthpoint.Basedontheanalysisofonlinereservation’sdemand,developedanonlineordersystemwithB/Smode,Realizetheinformationcanbescannedonline,reservationonlineandprocessingorderandupdatingordeletinginformationetc.Inthedatabase,useMicrosoftSQLsever2008whichisarelationaldatabasemanagementsystem,itcanmakethesystemperformancemoresafety,andadopttheAsp.netprogrammingplatformwhichiscurrentlypopularnow,itcanmaketheuserinterfacemorefriendly.[KeyWords]Onlinereservation;Internet;.Net;Ordermanagement;Informationscanning致谢本文从选题、构思、提纲拟订、资料收集、论文写作及修改至最后定稿,历时将近半年,在这段时间内,老师为我的课题倾入了大量的心血,给予了我丰富的建议和悉心的指导。毕业设计临近尾声,我对老师表示衷心的感谢。他是一位非常优秀的年轻老师,知识渊博,严谨负责,做事态度非常认真, 他优良的风范深深地影响着我,让我拥有了正确的学习态度和对科学的严谨,顺利地完成了毕业设计。另外,我要感谢学院使我学到了很多知识,让我顺利完成本科学业。同时也非常感谢所有关心过我、帮助过我的领导、老师和同学们。我会再接再厉,更上一层楼。最后向所有支持和曾经帮助过我的人表示衷心的感谢!'