网上订餐系统.docx
- 文档编号:9831650
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:41
- 大小:1.12MB
网上订餐系统.docx
《网上订餐系统.docx》由会员分享,可在线阅读,更多相关《网上订餐系统.docx(41页珍藏版)》请在冰豆网上搜索。
网上订餐系统
网上订餐系统
网上订餐系统
[摘要]随着人们生活水平的提高,对饮食的要求已不仅是解决温饱,很多人在进行紧张工作之余选择享受美食,得到美的精神享受和放松。
传统的就餐方式往往会出现人们到餐厅就餐,排队或没有位置的现象。
因此,开发出图文并茂,信息能够及时更新与查看的网上订餐的系统就成为了解决上述问题的主要途径。
网上订餐是近年来随着网络技术的发展而产生的一种新型的就餐方式。
它与传统就餐方式相比,网上订餐拥有很多优势,这样的订餐方式效果很好,既让顾客觉得方便、快捷,又对每个订单的信息保管妥善、处理及时,实现了高度智能化管理。
网络订餐方式将成为餐饮业销售的新模式与新的增长点。
订餐系统基于ASP.Net平台和SQLServer2008数据库开发,实现了网上订餐系统信息的动态管理,对每个订单的信息保管妥善并且及时处理,实现了高度的智能化。
该系统基于B/S(Browser/Server,浏览器/客户端)模式实现,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。
(二)订餐系统现状与发展
国外:
在外国,在多年前许多知名品牌就开始了网上订餐服务,如今提供网上订餐服务的商家数目正在急剧膨胀,人们只需一部电脑和一张信用卡,就可全天订座。
即便并非名流或常客也不是厨师的朋友照样能与他们平起平坐地享受这种便捷的订餐方式。
因此,网上订餐的方式已经被国外的许多家庭所认可。
国内:
目前我国使用的订餐方式大都还停留在电话订餐的层次上,毋容置疑,电话订餐方便,随时打一个电话就可以预定餐品。
但是这种方式还是存在着一些问题,比如这种订餐方式的效率低,并且对信息的保存与更改都需要人工记录,容易遗漏和出错。
因此,网上订餐服务在逐渐新起。
据了解,在济南、青岛、临沂等地,消费者对订餐服务的需求是很大的,尤其是临沂商城,由于这里有位居全国第二位的专业批发市场群体,许多客商因整天忙于生意而无暇去饭店就餐,因而他们热衷于网上订餐。
济南有一午餐网很受消费者的欢迎,由于网站为消费者提供免费的订餐服务,并通过让消费者享受多种优惠的服务,吸引了众多网上订餐者[2]。
总体来说,我国的网上订餐业务还处于形成期,成长空间很大。
发展趋势:
人们通过上网,预定需要的餐品,这样不仅节约了时间,而且为饭店的订餐管理工作提供了方便,最重要的是,这样的订餐方式效果很好,对每个订单的信息保管妥善并且处理及时,实现了高度智能化管理。
因此将来网上订餐服务有望发展成一种非常受欢迎的订餐方式,将成为餐饮业销售的新模式和新的增长点[2]。
(三)结构安排
本文通过对网上订餐系统进行需求分析,开发出一个基于互联网的B/S模式的网上订餐系统;数据库方面,使用关系数据库管理系统MicrosoftSQLsever2008,系统安全性能更高,同时采用当前正在流行的ASP.Net平台编程,使用户界面更完美。
系统使用面向对象的软件开发思想,按照软件工程的基本步骤进行了系统分析、设计和实现。
系统分为前台和后台两部分,其中前台主要是用户进行菜单和相关资讯的浏览,以及订餐,信息反馈和评分等,主要是面向顾客的;后台是对前台数据的维护、设计和订单管理的,主要是面向管理人员。
管理人员又分为系统管理人员和订餐管理人员。
系统管理人员负责维护和管理网站信息;订餐管理人员负责查看当前形成的新订单与订单明细,并且处理订单。
1相关技术介绍
1.1.Net平台简介
1.1.1.Net概述
订餐系统是基于.Net平台,利用ASP.Net技术开发的。
.Net开发平台是从微软WindowsDNA(DistributedNetworkArchitecture)衍生而来的。
随着三层/多层企业信息系统结构的发展与下一代分布式计算模型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系统管理员使用例图
除了用用例图描述系统需求以外,以下用活动图对系统的主要例进行说明,更具体地描述该用例与角色的交互。
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.3逻辑设计
3.3.1逻辑设计概述
数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化
3.3.2数据表的设计
数据库的主要表详细结构如下:
表3.1订单条目表
Field
Type
Null
Key
Comment
ID
Int
No
Yes
标识递增
订单ID
Int
No
No
外键,对应于订单中的“订单ID”
菜名
Nchar(10)
No
No
默认值是“待送餐”
数量
Int
No
No
单价
Float
Yes
No
评分
Int
Yes
No
默认为“0分”
Back
订单
Yes
No
顾客订餐的信息反馈
表3.2订单表
Field
Type
Null
Key
Comment
订单ID
Int
No
Yes
标识递增
用户ID
Int
No
No
外键,对应于用户表中的“用户ID”
订单状态
Nchar(10)
No
No
默认值是“待送餐”
送餐地址
Nvarchar(50)
No
No
备注
Nvarchar(MAX)
Yes
No
订餐姓名
Nvarchar(50)
No
No
订餐时间
Datetime
Yes
No
金额总价
Float
Yes
No
表3.3菜单表
Field
Type
Null
Key
Comment
cID
Int
No
Yes
标识递增
菜名
Nvarchar(50)
No
No
价格
Float
No
No
菜介绍
Nvarchar(MAX)
Yes
No
Scid
Int
Yes
No
菜系id
菜图片
Nvarchar(MAX)
Yes
No
存储的是图片的路径
推荐
Nvarchar(50)
Yes
No
表3.4菜分类表
Field
Type
Null
Key
Comment
Scid
Int
No
Yes
标识递增
种类
Nvarchar(50)
No
No
菜系名
系列介绍
Nvarchar(MAX)
Yes
No
表3.5用户表
Field
Type
Null
Key
Comment
用户ID
Int
No
Yes
标识递增
uName
Nvarchar(50)
No
No
登录名
uPwd
Nvarchar(50)
No
No
登录密码
真实姓名
Nchar(10)
No
No
性别
Nchar(10)
No
No
菜系id
联系电话
Nvarchar(50)
Yes
No
爱好
Nvarchar(MAX)
Yes
No
喜欢口味
Nvarchar(MAX)
Yes
No
Nvarchar(50)
Yes
No
Nvarchar(50)
Yes
No
State
Nvarchar(50)
No
No
ID是否有效,默认值是“未审核”
身份证号
Nvarchar(50)
No
No
表3.6养生之道表
Field
Type
Null
Key
Comment
介绍ID
Int
No
Yes
标识递增
标题
Nvarchar(50)
No
No
内容
Text
Yes
No
发布时间
Datetime
Yes
No
默认值是当前浏览器的时间
ViewCount
Int
Yes
No
浏览次数
3.4物理设计
l.数据库存储结构
数据库的存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素[15]。
根据逻辑设计的结果,将实体映射为表,将关系映射为外键约束,将属性映射为列,主键唯一表示符映射为主键约束,唯一表示符映射为键约束。
由于SQLServer2005的聚簇功能很强,可以使用不同的技术和多种模式存储多维数据集的数据和聚合。
2.数据存放位置
采用磁盘阵列存放系统的数据,日常数据放在数据库服务器硬盘上,并进行定期备份,备份数据放在磁盘阵列的另外一个硬盘上。
为了加快存取速度,将表数存放在一个磁盘上,而索引文件放在另外一个磁盘上。
3.系统配置
通常情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)