网络订餐系统.doc_第1页
网络订餐系统.doc_第2页
网络订餐系统.doc_第3页
网络订餐系统.doc_第4页
网络订餐系统.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 绪论1.1网络订餐系统出现的背景 在电视等媒体出现以前,人们获取信息的主要方式是通过阅读书籍报刊等印刷媒体,有了电视以后人们获取信息的方式更多是通过看电视,因为电视能提供图象、声音等更丰富的信息,并能提供更快捷的服务。而现在人们能更有效的通过互联网来获取信息,是因为互联网能提供更加及时、大量的信息资源。互联网环境给我们带来的影响是广泛而深刻的,使信息资源的获取扩展到整个互连网络,所以可提供服务的信息资源极为丰富。随着网络的飞速发展,网上的交易活动日益频繁,人们足不出户便可以通过Internet网买到需要的东西。伴着社会经济的不断发展,人们的生活节奏不断加快,上班时间相当紧张,但一日三餐

2、却不可少。然而,我国餐饮业普遍采用的订餐工作方式是客户通过电话与餐厅联系,由餐厅工作人员通过餐饮企业内部的餐饮管理系统实施订餐工作。从某种意义上来讲,这种工作方式仍没有完全脱离手工式工作,工作效率低。同时,从客户订餐需求角度考虑,客户希望能在订餐前了解更多的有关信息,如餐厅能提供的菜的品种,各种菜的风味,菜的直观图片等,而这些信息仅仅从餐厅工作人员的电话中是不可能有全面的了解的,这无疑会给客户的订餐带来不便,同时也影响了餐厅的工作效益和企业的声誉。通过网上订餐点菜系统,不必亲临现场,通过在家中或在办公室上网,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。基于以上原因,我开发了本系统

3、。1.2网络订餐系统的发展与趋势 据国家商务部最新统计,我国目前有4000万家注册餐饮企业,从业人员超过5000万。截止2006年底,中国餐饮业的收入超过万亿,达到103455亿元人民币。目前餐饮业是中国发展最快、增幅最大、潜力最大的行业之一。近几年全国餐饮业的年平均增幅都在15%左右,最高达到18%,连续16年实现两位数增长,对拉动中国经济起到了巨大的作用。作为西部重点省份的陕西省,2006年餐饮业营业额达到165亿元,较上年增长17%,成为全国第四大餐饮消费地区。但同时我们看到,中国的餐饮业仍有巨大的发展空间和潜力。目前,美国人年平均在外就餐消费额1600美元,法国是1050美元,德国、日

4、本等国家也都在800美元左右,而我国目前仅仅是100美元。而且,中国的餐饮消费主要集中在30多个大城市,中小城镇的消费还没有被有效发掘,农村市场也有待启动。因此餐饮市场的潜力无穷,道路漫长。“忽如一夜春风来,千树万树梨花开”,迅猛发展并日益成熟的互联网已经影响到我们生活的方方面面。作为网络首先涉足的行业,在数码产品、汽车、房产、旅游、交友、对外贸易等方面都已经让消费者真真切切的体会到了网络带给大家的便捷,互联网也以其独有的优势快速地渗透到越来越多的传统市场领域。“民以食为天”,吃饭是人们生活的第一要素,悠久的饮食文化、推陈出新的美食特色、种类多样的地域门派,使得中国美食在世界拥有举足轻重的地位

5、,而庞大的消费群体更让饮食产业蓬勃发展。但市场的发展和人们消费新思维的变革,使几千年来固化的餐饮行业特点已凸显出无法适应的窘境,根据多年来从事餐饮企业营销策划的实践看,餐饮业的营销策划和市场推广与其它产业和产品有很大的不同。尽管每个城市都有成千上万餐厅饭店,但都是个体销售,差异性很大,个性化很强,千店千面,百店百味,服务环境更是千差万别。餐饮业经营的产品不是特殊垄断性商品,在各大超市和商店几乎都能买到,而上饭店吃饭,一次只能去一家酒楼和餐厅,谁家的饭菜好、服务好、环境好,顾客在选择上有很大的难度。许多长期在外就餐的人甚至为吃饭而发愁,到了饭口,不知到哪里去吃,去吃什么。因此,互联网自然不会放过

6、这块诱人的肥肉,与餐饮业的有效结合,充分发挥网上营销的方便选择、快捷信息以及强大的互动性,恰到好处的弥补了这个空白。今天,互联网对餐饮业的影响已到了“美食全攻略”的阶段,形形色色的餐饮网站、五花八门的服务方法使你眼花缭乱,美食搜索、网上订餐、网友点评、饮食文化鉴赏、消费互动不一而足。餐饮网站把一个城市的几百家、几千家,甚至上万家餐饮企业的信息汇集在一起,形成“网上餐饮超市”提供给消费者进行选择和预订。在互联网平台,餐厅经营的品种、特点、环境以及地理位置、就餐电话均有详尽的文字信息和图片介绍,甚至视频展示,利用24小时不间断的网络平台,就餐者只要移动鼠标,就能在第一时间迅速寻找到最适合自己的餐厅

7、,完成订餐、订座、订包间的全部流程。鼠标一点,轻松订餐,大大方便了消费者,因此餐饮网站在各大城市十分受欢迎。与此同时,网络营销也成为餐饮企业营销的重要手段,餐饮网站已成为餐饮市场的“红娘”,一方面为消费者找餐厅,同时又为餐厅找市场、找顾客。正因为如此,近一两年来中国的餐饮网站发展十分迅速,不仅与“吃”有关的网站内容层出不穷,专业运营餐饮网站的全国就有1000多家,而其中有规模、有实力和具备市场影响力的网站已经出现了“区域划分、诸侯割据”的现状。 国内餐饮网站以内容划分大概有以下的三种类型。一是信息型,网站为消费者提供大量餐饮美食信息。例如餐厅、酒楼的分布,美食地图,美食指路,美食搜索,同时包含

8、了各个餐厅经营的品种、特色、服务、设施、规模大小等等应有尽有的内容。二是饮食文化型,网站对饮食文化的普及宣传。介绍地方菜系和小吃的饮食文化、饮食习俗、饮食习惯、菜品文化、典故、历史传说、饮食人物等,与饮食有关的小知识、小常识、小窍门以及健康、养生、食疗等,具有一定的可读性和趣味性。三是点评互动型,网站提供点评、品评的互动功能。一方面加强了餐厅与消费者的沟通,同时也对饭店的品种、特色、环境、服务等进行点评,留下了真实有效的意见和建议。这种第三方评论模式致力于城市消费体验和聚合,点评信息都来源于大众,服务于大众,有很强的原创性、自然性、真实性。 在北京,从2003年创立的“饭统网”已有6000家北

9、京地区的饭店加盟;在古城西安,263在线以十余年的网络知名度和经验,从2006年初运营建立起来的“263好吃网”,在不到一年多的时间里也已经发展到500多家餐饮企业加盟,竹园村火锅、江海肥牛、川渝人家、国力仁和、小苏塘坝鱼等一大批餐厅开始从互联网中吸引更多的消费者。目前,“263好吃网”每日登陆超过万人,日浏览量达到百万次,成为陕西西安网上订餐最强势的平台。据“263好吃网”CEO孙迎伟先生介绍,目前越来越多的消费者开始养成这样的习惯,在去餐厅前先在互联网上搜一搜、看一看、选一选,再决定去哪家就餐,并在网上预订好包间和座位,然后直奔目标,方便快捷的完成就餐消费,餐饮网站已经成为用餐者的“第三只

10、眼”,方便快捷,信息量很大,具有很强的指导性。陕西省烹饪餐饮行业协会会长李有堂、餐饮营销专家宿育海教授都认为,网上营销、网上订餐、手机营销将会很快成为餐饮业营销的首选媒体,有一个比喻,互联网的餐饮营销方式,就像步兵打枪,是点射,而不是扫射,直接针对的就是餐饮消费人群,因此有很高命中率。我认为,中国的餐饮网目前还处在起步发展阶段,不同形式的餐饮网站还在不断出现,形式也会更加丰富多彩。2008年奥运会在中国举办,全世界几百万人将来到中国,中国的美食和博大精深的饮食文化一定会吸引更多的外国游客,而他们在中国时间有限,所能品尝的品种有限,互联网打破了国界的限制,促使网上选择、网上就餐成为一个重要的渠道

11、,也必将会给中国的餐饮网带来更大的发展机遇。1.3 本文的组织结构本文主要介绍的是网上订餐系统。第一章绪论中主要介绍了网上订餐的出现背景、我国的网上订餐行业的发展及其趋势。第二章系统构建的相关技术中主要介绍了本系统的开发相关技术,说明了编制本系统所使用的计算机编程语言及其环境Microsoft Visual Studio和所选用的系统数据库SQL SERVER 2000的基本情况。第三章标题是网上订餐系统需求分析,说明了本系统的需求分析和系统将要实现的功能。第四章总体设计中介绍了本系统的总体设计情况,说明了系统的设计目的,对系统中的各个模块的功能和编制情况做了详细的说明,最后对数据库中所涉及的

12、内容和知识点做了详细的介绍。第五章详细设计中介绍了详细设计的任务和操作界面的设计情况,最后对编制本系统时所涉及到的关键技术做了详细说明。第六章结束语对全文进行了总结,阐述了自己在制作本系统时的创造性工作及其意义和作用,最后提出了今后的研究方向及研究工作。第二章 系统构建的相关技术2.1 .NET技术2.1.1 .NET概述 .NET开发平台是从微软Windows DNA(Distributed Network Architecture)衍生而来的,DNA是微软前几年开发企业应用程序的平台。.NET是一个开发和运行软件的全新平台,便于开发基于Web的应用,拥有大量的运行库服务以支持用多种编程语言

13、编写的组件,具有跨语言和跨平台的互操作能力。.NET使高度分布式Internet环境下的应用程序开发得到了简化,为XML Web服务和其他应用程序提供了一个高效的、安全的开发环境,并全面支持XML。2.1.2 .NET框架结构 框架结构在.NET中地位非常重要,因此下面进行详细地阐述。.NET Framework是整个.NET平台的基础结构。它由基类库(如ADO.NET和ASP.NET)和通用语言运行库(CLR,Common Language Runtime)组成,如图2.5所示。从图中可以了解到.NET开发框架的主要组成部分:首先整个开发框架的基础是通用语言运行库(CLR)及基础类库(BCL

14、);在开发技术方面,.NET提供了全新的数据库访问技术ADO.NET,以及WEB开发平台ASP.NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了对VB、VC+、C#、Jscript、J+等多种语言支持;Visual Studio.NET 2003则是全面支持.NET的开发工具。通用语言运行库是.NET框架赖以建构的基础,它为.NET应用程序提供了一个托管的代码执行环境。它实际上是驻留在内存里的一段代理代码,负责应用程序在整个执行期间的代码管理工作,比较典型的有:内存管理、线程管理、安全管理、远程管理、即时编译、代码强制安全类型检查等。这些都可称得上是Micros

15、oft.NET框架的生命线。 图2.1 .NET开发平台结构图2.1.3 Web服务体系结构1.Web服务的定义 Internet是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。WWW系统是一个大型的分布式超媒体信息数据库,它极大地推动了Internet的发展,己经成为Internet中最流行、最主要的信息服务方式。它能够把各种类型的信息资源,如静态图像、文本、数据、视频和音频有机地结合起来,使用户能够在Internet上浏览、查询和共享建立在WWW服务器所有站点上的超媒体信息。当前的Web数据库技术不外乎是在服务器端或客户端扩展功能,以实现对数据库的访问。在服务器端的扩展主要是

16、CGI和API。客户端扩展技术主要是SUN, Netscape, Microsoft三大公司之间的标准之争,无论是ASP,PHP还是JSP其性能均无太大的差异,它们之间的取舍主要应考虑支持平台、兼容性和竞争前景等因素2.Web数据库的运行方式 一般的Web数据库运行方式如图2.1所示。从图中可以看出组成一个数据库的必要元素:后台数据库、WEB数据库、客户端浏览器及联系客户端和服务器之间的网络。 图2.2 Web数据库示意图客户端只需Web浏览器即可。WEB浏览器接受的其实只是文本形式的HTML代码(包括一些动态脚本语言),通过逐条解释HTML代码来组织各种文本和多媒体对象,以一定的方式显示在客

17、户端的浏览器界面上,传递信息给客户。要实现动态的交互浏览形式,Web服务器必须具有动态生成HTML代码的能力。Web数据库系统运行方式如图2.2所示: 图2.3 Web数据库的运行方式 从图2.2可以看出用户通过客户端浏览器来访问一个Web数据库系统的过程。编写服务器端应用程序在开发Web数据库系统中有很重要的地位,应用程序的效果直接影响对客户的服务质量和服务方式。这样的应用程序必须有以下几项功能: 1)建立与后台数据库的联系;2)能够给后台数据库发出数据操作指令;3)能够对客户发出的请求做出响应;4)能够处理客户反馈的数据;5)能够处理从数据库返回的信息。2.2 ASP.NET技术ASP.N

18、ET是一种用于创建内容丰富的动态网站、WEB应用程序和XML WEB服务的新编程模型。与以往的编程模型相比,这种新编程模型提供了基于组件的架构和开发范例。ASP.NET继承了.NET框架中的编程模型,提供了更易于编写、结构更清晰的代码,这些代码很容易进行再利用和共享;ASP.NET使用编译后的语言,从而提升性能和伸缩性;ASP.NET使用Web表单使开发更直观,利用面向对象技术促进组件的再利用。另外,ASP.NET中还包括有页面事件、Web控件、缓冲技术以及服务器控件和对数据捆绑的改进。供ASP.NET使用的库以及在Microsoft.NET框架中允许通过Web使用客户商用函数,为程序员提供了

19、更多新的开发机会。ASP.NET提供了下面一些超越以前WEB技术的重要特性:1.优良的性能:ASP.NET在服务器上运行的是经过编译的CLR代码。与以前的技术相比,ASP.NET能够充分利用Binding(绑定),及时编译,本地优化,缓冲服务来提高程序的性能。2.大量工具箱的支持:在Visual Studio的开发环境中,ASP.NET具有丰富的工具箱和设计器。如所见即所得的编辑方式,支持拖放的服务器控件,以及动态的配置管理。此外还有许多第三方控件。3.强大的功能以及良好的机动性:因为ASP.NET是建立在CLR基础上的,所以整个平台的功能和适用性更加适合网络应用程序的开发。ASP.NET可以

20、使用很多种语言来编写。此外,CLR的协同工作能力保证以前开发的基于COM的程序,在移植到ASP.NET后,依然可以正常使用。4.崭新的配置管理方式:ASP.NET使用的是一种基于文本格式,等级式的配置系统。一个ASP.NET应用程序只需将必要的程序拷贝到服务器上就可以使用了。对于正在运行中的己编译的代码,也同样可以对其配置进行更改,而不需要重启服务器。5.可移植性和良好的适用性:当ASP.NET的一条线程出现异常情况后,一个新的进程会在它的地方重新建立,继续担负原进程所处理的任务,这就使应用程序能不中断地处理客户的请求。6.超强的扩展性:ASP.NET崭新的结构体系允许开发者开发自己的插件,且

21、ASP.NET下任何一个组件都能够被用户自己开发的组件扩展或替换。2.2.1 ASP.NET的数据访问技术 在以Internet为计算机平台的环境下,数据库应用环境由传统的C/S(客户/服务器)结构转变为B/S(浏览器/服务器)的分布式结构。B/S结构相对于传统的C/S结构,其优势之一是不用开发和过多考虑客户端的问题,一切都交由浏览器来处理,只需考虑服务器端的应用和功能,大大简化了web应用的开发难度。B/S模式三层分层模型如图2.4所示。图2.4 B/S模式三层分层模型2.2.2 使用ASP.NET访问数据库的方式 ASP.NET是通过ADO.NET(ActiveX Data Objects

22、.NET)来访问数据库的,ADO.NET完全兼容于OLE DB兼容数据库,因此无论采取的是Access、SQL Server、Visual FoxPro、Informix、Oracle、dBase或其他数据库,只要该数据库有OLE DB驱动程序,ADO.NET就能够加以访问。图2.5为ASP.NET网页访问数据库的方式。 图2.5 ASP.NET访问数据库方式2.3 数据库选择2.3.1 SQL SERVER 2000的特点 SQL SERVER 2000是微软开发的、被设计用来满足大型的数据处理系统和商业网站的存储需求,并满足个人和小型企业对易用性要求的数据库管理系统软件。SQL SERVE

23、R 2000()关系数据库引擎是一种RDBMS,它管理数据并将其存储在关系型表格中。这种关系数据库引擎主要的任务是维护数据的安全性、提供容错、动态优化性能、利用锁功能提供并行性,并确保数据的可靠性。SQL SERVER 2000 Analysis Service提供了分析SQL SERVER 2000()上的数据仓库和数据集市中数据的工具。在SQL SERVER 2000 Analysis Service多维数据集中处理分析查询比对OLTP数据库中的详细数据执行相同的查询要快速得多。SQL SERVER 2000()的数据转换服务(DTS )允许用户从某个数据源中获取数据,对数据执行简单或复杂

24、的转换,然后将其存储在另一个数据源中。SQL SERVER 2000的元数据服务(Meta Data Services)允许对有关数据库和客户端应用程序的元数据进行存储和管理服务。 SQL SERVER 200()在建立中大规模的数据库系统时,完全能满足存储、加工和组织数据的要求。作为一个关系数据库管理系统,它有多种可用的版本,以满足不同的用户和环境的需要,它紧密地集成了Windows 2000及Windows NT,充分吸纳了它们的能力并提供了额外的安全性能,优化了SQL SERVER2000的性能。2.3.2 SQL Server 2000安全体系结构 图2.6 SQL Server的安全

25、体系结构2.3.3 SQL Server 2000中权限管理 在SQL Server 2000中提供了一整套完整的安全机制,这些机制主要包括有:选择认证模式和认证过程、登录账号管理、数据库用户账号管理、角色管理以及用户权限管理等。 SQL Server中的安全认证模式有两种: 1)Window:身份验证认证方式:当用户通过Windows NT或Windows2000用户账户进行连接时,SQL Server通过回叫Windows NT或Windows200()以获得信息,重新验证账户名和密码。 2)SQL Server身份验证方式:当用户用指定的登录名称和密码从非信任的连接进行连接时,SQL S

26、erver通过检查是否已设置SQL Server登录账户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验证。 登录账号是基于服务器使用的用户名,既可以创建基于Windows组或用户账号的登录账号,也可以创建SQL Server自己的登录账号。登录账号是系统级登信息,存储在master数据库中。 在实现数据库的安全登录后,检验用户权限的下一步就是数据库的访问权。数据库的访问权是通过映射数据库的用户和登录账户之间的关系来实现的。数据库用户是指出哪一个人可以访问哪一个数据库。当登录账户通过了NT或SQL Server认证后,必须设置数据库用户才可以数据库及其对象进行操作。 角色是SQL Se

27、rver 2000中引进的和来集中管理数据库或服务器权限的概念。数据库管理员将操作数据库的权限赋予角色,然后将角色再赋予数据库用户或登录账户,从而使数据库用户或登录账户拥有了相应的权限。权限是用来控制用户如何访问数据库对象。一个以直接分配到权限,也可以作为一个角色中的成员来间接得到权限。SQL Server 2000中的权限分为对象权限、语句权限和隐含权限3种。其中对象权限是指用户对数据库中的对象的操作权限。如对表或视图的查找、增加、修改、删除的权限,以及对存储过程的执行权限等。第三章 网上订餐系统需求分析3.1 网上订餐系统背景分析网上订餐系统能够减少用户在吃饭时浪费的时间,能够及时提供店铺

28、基本信息、店铺食品基本信息、订餐信息。在此基础上,通过对各种信息的综合分析处理,以便捷的操作、满足用户不同的订餐要求,使之可为用户减少时间。对提高订餐的工作效率和对饭店、食品的信息更新能力,能高效率完成用户订餐的需要。3.2 用例设计该系统的用户主要分为3类:用户:任何一个使用该系统进行浏览或订餐的人都是属于用户。店铺管理员:在这个门户系统发布、修改自己店铺与菜品信息,并查看有关自己店铺订单的一类用户。管理员:主要是对用户信息、店铺信息、食品信息进行添加、修改和删除,以及查看订单与订单详细信息。是连接用户与店铺管理员的桥梁。3.2.1用户订餐用例图选择搜索菜品或店铺用例图如下所示:图3-1 搜

29、索菜品或餐厅用例图相应流程图如下所示:图3-2 网络仃餐流程图用户订餐流程:1.登录主页。2.根据自己所在的喜好,搜索相关菜品,或餐厅。3.选择自己准备预定的菜品,这个过程允许用户在不同的餐厅中间订餐。4.确定订单无误后,发送订单:5.订单入库,以备查验6.A餐馆管理员查看订单,送餐员送餐到订餐人。完成交易。B.由于各种原因送餐不成功,交易未完成。备注:在送餐成功后会在平台继续操作,说明送餐成功,如果不成功,需要填写不成功原因。下图是活动图:图3-3 用户订餐活动图3.2.2 店铺管理用例图图3-4 餐厅管理用例图1.对每一个餐厅,会有自己的单独页面模板,餐厅需要填写自己的详细信息,输入餐厅可

30、以提供外卖的菜品,发布相应的特价信息,这里我们考虑改进为页面设计可以参考博客的建立,设置多模板,让餐厅在众多风格各异的页面模板中选出自己感兴趣的。2.餐厅注册成功后,我们会立即和餐厅联系,确定注册信息。3.餐厅可以自己添加或者我们帮助添加或修改餐厅的菜品。4.在用户发出订购要求后,餐厅可以查阅订单。5.交易成功,餐厅可以按时按需统计销售额。3.2.3 管理员管理用例图管理人员的相关用例图主要是分为用户管理,餐厅管理和留言管理.1.用户管理:对于注册后的用户,进行有效的管理,如:定期检查长时间不再使用的用户,进行删除:图3-5人员管理用例图2.店铺管理:对于每一个店铺,我们可以帮他添加信息,在实

31、际情况中也是如此,因为店铺不一定有自己的电脑或者时间,所以我们工作人员也需要帮助他们添加或更改,删除信息。图3-6店铺管理用例图3.留言管理:主要是与我们的用户进行交流,用户有任何问题,可以在网上进行反馈,我们每天都会去查看最新的留言,然后进行回复。图3-7留言管理用例图第四章 系统分析和设计4.1系统功能描述网上订餐系统要完成的功能有用户登录功能,包括验证的过程。顾客信息管理功能,包括对顾客信息的创建,删除,更新等操作。还有顾客订餐功能,具体完成的是订餐的功能,系统具有对顾客订餐信息更新的功能,而最重要的功能是对信息的检索,查询,和显示功能,包括对商品和顾客信息的检索,查询;还有查询,查看订

32、餐信息,订餐区域等等功能本系统主要分为三大模块:主要包括用户模块,店铺管理员模块,管理员模块。4.2 系统框架分析4.2.1 网上订餐系统框架网络订餐系统是一个大型的网络订餐门户系统,最终是要提供一个平台,餐厅可以自由加盟,并且发布自己的菜品,特价信息;用户登录我们提供的平台自由选择感兴趣的菜品进行定购,最后由我们的配送人员将用户定购的菜品送至客户手中.这么做的目的可让订餐者与餐厅进行互动,足不出户,订购自己喜爱的菜品。餐厅也可以在网络上查看订单,根据自己的营销策略定价,进行宣传,扩大影响,增加销量。具体的细节见图4-1。 图4-1网络订餐系统结构图 站构建主体分为三个部分,订餐用户使用模块,

33、餐厅管理模块,管理员管理模块。见图4-2。 图4-2网络订餐系统主体图4.2.2 系统工作流程分析 网上订餐系统客户主要的工作流程如图2-3所示: 图2-3订餐系统用户工作流程示意图l)根据帐号密码登录网站用户来到网站后,首先根据帐号密码登录网站,登录后,可以查询自己的相关历史信息,也可以对相应的订餐信息进行更改。2)对自己感兴趣的菜品进行搜索进入网站后,用户可以搜索相应的菜品,这个阶段,用户可以直接查找相应的餐馆或者搜索相应的菜品,进行有比较的选择(价格,口味等等)。3)确定菜品“用户”输入关键词搜索后,到数据库中进行相应的搜索。再选中相应的菜品加入购物篮。4)确认订单用户确认订单无误后,提

34、交订单,完成预定的流程,进入我们工作人员的送餐流程。网上订餐系统店铺主要的工作流程如图2-4所示: 图l)根据帐号密码登录网站餐厅用户来到网站后,首先根据帐号密码登录网站。2)录入菜品信息进入网站后,可以查询自己的相关历史信息,也可以对相应的餐厅基本信息和菜品信息进行更改或录入。网上订餐系统店铺主要的工作流程如图2-5所示:少4.3 功能模块设计用户模块。普通用户可以进行食物营养查询、浏览食品、订购食品、用户注册、用户登录、订购信息查询、网上留言等。管理员模块。包括类别管理、食品管理、订单管理、用户管理及留言管理店铺管理员模块。店铺管理员可以修改查询自己店铺的详细信息及相关食品,并可以查阅关于

35、自己店铺的订单,添加送货人。根据系统要实现的功能,进行了如下设计:4.3.1用户模块设计(1)订菜模块。选择“开始订菜”,即进入订菜页面。用户可以浏览全部或某一类食品;也可以按食品名称或价格进行查找;可以查看食品的详细信息。单击“订购”按钮可将选定的食品放到订餐车中。在订餐车中显示所订购的食品,可以修改食品数量,删除食品,可以返回继续订购,也可以取消本次订购。(2)下订单模块。本次订购结束后,在订餐车中选择“下订单”,进入用户注册页面。收集用户的信息及用餐的日期、时间等信息。提交注册信息时,将用户信息写入用户表,将订购食品的总数量、总金额及用餐的日期、时间及预订日期等写入订单表,同时返回一个订

36、单号,并将订购的详细信息写入Orders_Detail表,包括订单编号、食品编号和订购数量。(3)订餐信息查询模块。提交注册信息后,随即进入登录页面,输入用户名和密码后,即可显示该用户详细的预订信息及总的费用。(4)用户留言模块。用户可通过留言板进行留言,留下自己的意见和建议等。4.3.2 管理员模块设计通过管理员登录页面进行登录,确认其是否具有管理员资格。如果是管理员,即可进入管理员管理页面。(1)食品类别及食品管理模块。管理员可添加和删除类别,添加和删除食品。(2)用户管理模块。可以查询用户信息,并对用户进行删除。(3)订单管理模块。可以按日期查询订单,删除过期订单。(4)用户留言管理。作

37、为管理员,可以回复用户留言,删除留言等。4.3.3 店铺管理员模块通过店铺管理员登录页面进行登录,确认其是否具有店铺管理员资格。如果是店铺管理员,即可进入店铺管理员管理页面。(1)食品类别及食品管理模块。店铺管理员可添加修改和删除自己相对应得店铺,添加和删除自己店铺的食品。(2)订单管理模块。可以按日期查询订单,填写送货人。(4)用户留言管理。作为店铺管理员,可以回复用户留言,删除留言等。4.4 数据库设计主要建立了以下几张表:用户表:记录订餐用户的详细信息。食品表:记录所有的菜品及所在的店铺。店铺表:记录店铺的详细信息。店铺食品表:记录店铺与相对应得食品及其价格等详细信息。区域表:记录店铺所

38、在区域。订单表:记录用户订餐的详细信息。购物车:记录用户预订餐的详细信息。图片表:记录食品的图片信息。店铺图片表:记录店铺的图片信息。数据库表结构图: 1 .用户表,主键为用户ID,见表4.1表4.1 用户表列名数据类型长度允许空关键字用户IDint40是用户名nvarchar501用户姓名nvarchar501用户权限nvarchar501用户密码nvarchar501用户电话nvarchar501用户地址nvarchar501备注nvarchar5012 .食品表,主键为食品ID,外键为店铺ID 见表4.2表4.2 食品表列名数据类型长度允许空关键字食品IDint40是食品名称nvarch

39、ar501食品价格nvarchar501食品类型nvarchar501店铺IDint41备注nvarchar5013 .店铺表,主键为店铺ID,外键为区域ID 见表4.3表4.3 店铺表列名数据类型长度允许空关键字店铺IDint40是店铺名称nvarchar501区域IDint41店铺地址nvarchar501店铺电话nvarchar501店铺网址nvarchar501送餐区域nvarchar501送餐说明nvarchar501特色nvarchar501管理员IDint41备注nvarchar5014 .店铺食品表,主键为店铺ID,食品ID 见表4.4表4.4 店铺食品表列名数据类型长度允许空

40、关键字店铺IDint40食品IDint40数量nvarchar501价格nvarchar501送货所需时间nvarchar5015 .区域表,主键为区域ID 见表4.5表4.5 区域表列名数据类型长度允许空关键字区域IDint40是区域名nvarchar5006 .订单表,主键为订单ID,外键为店铺ID,用户ID,食品ID 见表4.6表4.6 订单表列名数据类型长度允许空关键字订单IDint40是店铺IDint40用户IDint40食品IDint40订餐数量nvarchar501订餐总价格nvarchar501派送人姓名nvarchar501预定时间datetime81送货时间datetime

41、817 .购物车,主键为购物车名,外键为用户ID 见表4.7表4.7 购物车列名数据类型长度允许空关键字购物车名nvarchar500用户名nvarchar501食品IDint41食品名称nvarchar501数量int41价格int418 .图片表,主键为图片ID,外键为区域ID 见表4.8表4.8 图片表列名数据类型长度允许空关键字图片IDint40图片名称nvarchar501图片image161区域编号int419 .店铺图片表,主键为购物车名,外键为用户ID 见表4.9表4.9 店铺图片表列名数据类型长度允许空关键字图片IDint40图片名称nvarchar501图片image161

42、区域编号int41第五章 系统实现5.1 界面设计5.1.1 用户订餐主要页面用户登录界面设计,界面效果要求如图5.1所示图5-1登陆界面图在这个页面用户如果需要订餐的话,需要输入用户名密码进行登录,在检验用户输入的消息正确无误,在显示“登录成功”后,自动进入主页面;如果用户名或密码输入错误,将提示:“您还没有注册,请注册后浏览”并跳到注册页面。点击注册,也会跳转到注册界面。图5-2 网站注册图在按规定填写注册信息后,点击注册,显示注册成功,并跳转到主页面。如果用户仅仅浏览的话,也能直接进行查看,在找到感兴趣的菜品后再进行登录,同时,我们也提供了相关搜索的功能,例如根据店铺位置查询等,用户可以

43、直接搜索相关菜品。2.用户输入帐号密码后页面的内容:图5-3 网站主页面 在这个界面,用户可以选择自己需要的店铺和食品,也可根据区域进行查询,也可以浏览一些生活小贴士,并进入到自己的购物车,查看自己的收藏及购物信息,也可修改自己的信息。进行区域查询,如果要查询中山区的店铺,点击中山区,就会罗列出在中山区的店铺,如图所示:图5-4 区域图如果用户不经过搜索.直接进入到一个店铺.相关页面如下:图5-5 店铺图在某一店铺下,可以选择其供给的食品,相关页面如下:图5-6 食品图点击添加到购物车,就会进入到该用户的购物车,并把此食品添加进去,相关页面如下:图5-7 购物车图用户在填充了需要几小时把食品送

44、到的信息后,点击确认,出现“订单递交成功”对话框,就会自动把该条订单添加到后台的订单表中,待店铺管理员查阅添加送货人,之后我们的工作人员会尽快将用户选择的食品,送至用户手中.经过以上几步完成所有的订餐过程。如果用户所填的所需食品数量和送货时间超过了店铺能供给的能力,就会弹出对话框,说明无法送货,请打电话查询的信息,并返回主页面。用户可以查看和修改自己的信息,修改页面如下:图5-8 用户信息图5.1.2 店铺管理主要页面 同样在图5-1登陆界面图中,输入店铺的用户名和密码,在正确的提示下进入到店铺管理的界面,如图所示:图5-9 店铺信息图在点击查看后,会跳进从数据库中读取得详细信息,店铺管理员可

45、以对其进行修改。如图所示:图5-10 店铺详细信息图点击旁边信息栏的订单查询,就会显示出所有与此店铺有关的订单,如图所示:图5-11 店铺详细信息图点击查看详情,就会出现订单的详细信息,店铺管理员可以进行修改。点击食品查询,就会出现关于该店铺的食品信息,如下图所示:图5-12 食品详细信息图同样,点击“点击查看”,就会出现该食品的详细信息,店铺管理员可以进行修改。5.1.3 管理员管理主要页面在登录页面中,管理员用正确的用户名和密码登录,跳转到管理员界面,如图所示:图5-13 所有用户信息图点击查看详细信息,出现该用户的信息后,管理员可以进行修改,删除等操作,并填写用户权限。管理员还可以添加用

46、户,并直接把信息录入到数据库中。在店铺查询和食品查询中,界面和店铺管理员进入的一样,只是管理员可以查看到所有店铺的信息和所有的食品信息,并且可以进行添加,修改,删除等操作。订单查询管理员只能查看,并且能查看到所有店铺的订单,但是不可以修改。5.2 系统实现的关键技术5.2.1 防止非法用户跳过登录检查直接进入某页面 本系统中有不少页面是具有“登录审查”性质的页面,即要通过正确的用户名和口令的检查,用户才能进入下一页面进行相应操作。把这样的页面暂且称为“登录页面”。如:用户通过登录页面,输入正确的用户名、密码等信息才能进入主页面进行选餐;店铺管理员和管理员通过登录页面输入正确的用户名及密码才能进

47、入相关页面进行店铺和食品的增、删、改操作;等等。 由此可见,登录页面十分关键,它是进入下一级操作页面的安全屏障,它不仅要严格把关用户输入信息的正确性,在这里要强调的是,它还要防止非法用户跳过这个登录页面,直接利用URL链接访问资源,即直接键入下一级操作页面的网址。这个直接键入的网址可能是非法用户多次尝试得到的,也可能是他窃取合法用户正在进行下一级操作时屏幕上方显示的网址。本系统采用了一种有效的办法解决这个问题:在“登录页面”设置一个判断用户是否合法登录的参数,在下一级操作页面调用这个参数看其是否合法,如果用户是跳过“登录页面”的,系统将提示错误,拒绝其进入或直接转回“登录页面”,让强制其登录。

48、一个基本的用户验证过程,检查用户是否有管理的权限。字段用户权限的值为“管理员”的用户才具有这种权限。文件名“登陆aspx”,其PageLoadO部分代码如下:SqlConnection con = 毕设.createsqlconnection(); /建立连接 con.Open(); SqlCommand cmd = new SqlCommand(select * from 用户表 where 用户名= + this.TextBox1.Text + and 用户密码= + this.TextBox2.Text + , con); SqlDataReader reader = cmd.Execu

49、teReader(); if (reader.Read() Session用户ID = reader.GetValue(0).ToString(); Session用户权限 = reader.GetValue(3).ToString(); Session用户名 = reader.GetValue(1).ToString(); if (Session用户ID != null) if (Session用户权限.ToString() = 管理员) Response.Redirect(用户信息表.aspx); if (Session用户权限.ToString() = 一般用户) Response.Wr

50、ite(alert(登录成功);window.location.href=欢迎.aspx); if (Session用户权限.ToString() = 店铺管理员) Response.Redirect(店铺食品查询.aspx); else Response.Write(alert(您还没有注册,请注册后浏);window.location.href=注册.aspx); 如果系统中的其他页面也只有登录后才能访问将下列代码加到所有网页的中:if (Session用户ID = null) Response.Write(alert(您还没有登录,无法进入购);window.location.href=

51、登录.aspx); if (Session用户ID != null) 5.2.2 用Session来实现相关参数的传递 系统中某一页面提供、用到的数据在其他页面需要调用、处理,这就涉及到有关参数传递的问题。本系统主要用Session来实现相关参数的传递。 Session是ASP提供的内置对象,它使得特定用户由一个Web页面跳到另一个Web页面,该Session信息仍然存在。它接近于普通应用程序中所说的全局变量。更具体地说,在一个Web应用程序中,当一个用户访问该应用时,Session变量可以供这个用户在该Web应用的所有页面共享数据;如果另一个用户也同时访问该Web应用,他也能拥有自己的Ses

52、sion变量,但两个用户之间无法通过Session变量共享信息。利用Application对象在多用户间共享信息,而Session变量作为全局变量,使得一个用户在多个页面间切换时也能保存他的信息。 Session对象的方法包括Sessionm和Timeout,数据集合包括Contents和StaticObjects。本系统主要用到Timeout和Contents。如果用户在Timeout规定的时间内没有刷新,则Session对象就会终止。默认情况下,服务器只保留Session20分钟,为了提高可扩充性,满足某些特殊需要,加长Session对象的保留时间,就可以用Timeout属性设置。Cont

53、ents数据集合是利用索引取回目前存在于服务器端的任一由ASP NET建立的Session变量的值。 例如:在以管理员身份进入食品库,在一个页面上输入了该管理员的用户名和密码,在另外的页面上需要调用该管理员所建食品进行查询、修改等操作,这个代码的值就需要用Session变量来保存,并在其他页面上调用。 Session(管理员ID)=request.form(登录)从页面输入框中取得管理员ID,Tec=Session.Contents(管理员ID)在其他页面获得这个Session参数之后再进行其他处理和操作。5.2.3 在ASPNET中应用存储过程要在应用程序中访问数据库,一般性的步骤是:首先声

54、明一个数据库连接SqlConnection,然后声明一个数据库命令Sq1Command。用来执行SQL语句和存储过程。有了这两个对象后,就可以根据自己的需要采用不同的执行方式达到目的就执行存储过程来说,如果执行的是第一类存储过程。那么就要用一个DataAdapter将结果填充到一个DataSet中,然后就可以使用数据网格控件将结果呈现在页面上了:如果执行的是第二和第三种存储过程,则不需要此过程。只需要根据特定的返回判定操作是否成功完成即可。1简单存储过程的应用(1)创建一个简单的存储过程在SOL Server中我建的MING数据库上新建一个名为食品_select的存储过程,该存储过程目的地为搜索食品。具体命令如下:REATE PROCEDURE 食品_selectASselect 食品ID,食品名称,食

温馨提示

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

评论

0/150

提交评论