在线订餐系统的设计与实现.docx
《在线订餐系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线订餐系统的设计与实现.docx(54页珍藏版)》请在冰豆网上搜索。
在线订餐系统的设计与实现
Lelewaswrittenin2021
在线订餐系统的设计与实现
曲靖师范学院
计算机科学与工程学院
毕业设计开发文档
题目:
在线订餐系统的设计与实现
学号姓名:
14、杜鹃
年级:
专业:
软件工程
指导教师:
张绍堂职称:
讲师
日期:
2014年5月6日
题目类型:
软件开发工程设计课件开发其它
本设计经答辩小组全体成员审查,确认符合曲靖师范学院本科(学士学位)毕业设计质量要求。
答辩小组签名
组长
姓名
工作单位
职称
成
员
答辩日期:
原创性声明
本人声明:
所呈交的设计是本人在指导教师指导下进行的研究工作成果。
除了文中特别加以标注和致谢的地方外,设计中不包含其他人已发表或撰写过的研究成果。
参与同一工作的其他同志对本研究所作的任何贡献已作了明确的说明并表示了谢意。
签名:
日期:
。
论文设计使用授权说明
本设计作者完全了解曲靖师范学院有关保留、使用毕业(学位)设计的规定,即学校有权保留设计及送交设计复印件,允许设计被查阅和借阅;学校可以公布设计的全部或部分内容。
签名:
指导教师签名:
日期:
。
1作品简介
选题的目的和意义
针对餐饮业和电子商务的大背景下的问题与方向,我们可以察觉到在这个大行业中尚有我们可为的地方,本系统特别针对高校学生,最贴切的服务,去通过网络平台提现服务质量,创造效益,同时为大学生提供便利。
在企业经营管理方面,网上订餐的效果更为显着:
它使餐饮企业提高效率,节约成本。
通过计算机传单、分单,汇总数据准确、实时无延迟,提高了速度,省去了客户的等待时间。
网上订餐为客户提供的是最方便的饮食方式,以快速,便捷的订餐业务送货上门为客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。
同时,网上订餐可以辅助餐饮企业营销。
通过信息管理,可以记录餐饮企业方方面面的数据。
从另一个侧面来讲,网上订餐还起到了帮助推进电子商务的普及和应用进程的作用,网上订餐的形式,同时也在帮助加快电子商务应用的步伐。
同时,针对高校内的学生以及在高校工作的教职员工这部分客户普遍拥有个人计算机或者办公用计算机,并且在就餐时要求菜品丰富、价格便宜、上菜速度快的特点和现状,开发基于B/S结构的针对高校餐饮行业的餐馆点餐系统。
根据客户对“在线订餐”系统的基本功能需求进行解读,结合电子商务项目的开发特点,充分分析国内外比较成功的相关网站案例,对整个系统进行整体性的策划,作为系统详细功能设计的参考标准和开发依据。
关键技术
该选题是基于B/S结构的系统,在大学期间学习数据库相关知识的基础上,熟悉VisualStudio开发环境并能熟练使用C#编程语言的同时,运用软件工程理论知识,开发出的一套基于的在线订餐系统。
在系统开发的过程中能够应用所学的知识,并促进作者更深入的学习C#的相关特性、积累更多SQLServer的相关应用知识,这样不仅能将所学的书面知识和实际应用结合起来达到学以致用的目的,同时也为以后的工作和学习积累经验。
选题的创新性
在线订餐可充通过色彩、图片、说明、设置动画加强了产品的宣传,达到了餐饮业的“色型”要求。
另外,在实现产品管理方面,起到立竿见影的效果,不用因为更改菜色而重新印刷。
只要在后台鼠标轻轻一点,全线马上更新。
采用B/S模式,订餐者无须安装第三方软件,能上网就能订餐,甚至可以利用手机上网订餐,使操作更加简便,订餐信息更加准确。
避免口头传递信息的错误,优化服务。
网络不会跟电话一样占线,在高峰期对订餐的处理更是游刃有余,只看着屏幕点打印即可,就可下厨房配菜配送。
地址永远不会丢失,是一个永远存在的电子菜单,甚至还可以通过我们的推广而让更多的客人认识,不用派人派宣传单,省去一笔宣传和人工费用。
订餐途径有了更好的改善,网络订餐成为电话订餐又一有力补充,扩大客流,从而整体提高业务量。
网上订餐倡导了一种时尚,而且餐店的定位更是网络化,时尚化,具备更为勃勃的生机。
本项目作为构建在高校内的餐饮行业的网络点餐系统,有一个重要的背景就是所服务的对象是固定的,主要面向高校内生活和工作的大学生以及高校教职员工。
当前的高校学生以及教职工都已经很方便地利用到了计算机网络,这一条件也为本项目的设计与实现提供了现实的可能性。
2系统安装说明
系统运行环境规定
硬件环境
服务端微型计算机配置:
操作系统:
WindowsServer2000,WindowsXP、Windows7或Windows8
CPU:
奔腾三1GMHz或以上;内存:
1GB或以上;硬盘:
80G或以上;
数据库:
MicrosoftSQLServer2008或以上。
客户端微型计算机配置:
操作系统:
WindowsXP、Windows7或Windows8
CPU:
酷睿2或以上;内存:
1GB或以上;硬盘:
80G或以上
软件环境
开发软件:
MicrosoftVisualStudio2010;
开发语言:
.NET;
数据库软件:
MicrosoftSQLServer2008;
IIS和.NetFramework的安装配置
由于我们采用微软的VisualStudio2010开发本系统,在安装这个IDE后.NETFramework是被默认安装的。
VisualStudio2010是基于.Net框架的。
它同时能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。
总体来说是一个非常庞大的软件,甚至包含代码测试功能。
这个版本的VisualStudio包含有众多版本,分别面向不同的开发角色。
首先需要系统满足安装有Windows7ServicePack1。
其次我们需要安装IIS。
最后安装Microsoft.NETFramework。
这些软件包或补丁可以在相关网站上下载得到。
下面以Windows7系统为例,说明IIS安装。
(1)打开控制面板,找到“程序与功能”,点击左侧“打开或关闭Windows功能”,找到“Internet信息服务”,按照下图打勾:
点击确定后,等待安装完成。
(2)安装完成后,再次进入控制面板,再次进入控制面板,选择管理工具,双击Internet(IIS)管理器选项,进入IIS设置。
选择DefaultWebSite,并双击ASP的选项。
Win7下IIS中ASP父路径默认是没有启用的,要开启父路径,选择True。
(3)配置IIS7的站点。
单击右边的高级设置选项,可以设置网站的目录(放置ASP文件的文件夹)。
点击右侧的绑定,设置网站的端口,可设置为8081。
(4)点击默认文档,设置网站的默认文档,添加主页文件。
(5)接下来就可以在浏览器中输入地址B/S模式开发的,对用户所使用的浏览器没有特别要求,也就是说可以被任何一个安装有浏览器并且可以上网的用户所使用。
3作品主界面图
图首页
首页其作用为店铺展示,能为消费者直观的提供商家信息。
图注册页面
游客可由此页面注册成为会员。
图登陆界面
用户可由此界面登陆系统,登陆后才能使用系统中的其他功能。
图商品详细信息页面
用户可由此页面浏览商品详细信息,并且将商品添加到购物车或直接购买商品。
图用户后台信息管理界面
用户可在此界面管理自己的注册信息以及左侧菜单栏中的所有信息。
图意见反馈页面
用户可在此界面进行意见反馈。
4需求分析
系统的可行性分析
技术可行性
在当今行情下,家用、商用电脑的硬件配置越来越高,基本采用Windows7及以上的操作系统,拥有2G以上的内存非常普遍,硬盘更是在500G最为常见。
因此,网站在硬件方面完全可行。
和SQLServer都为世界着名软件公司的顶尖开发人员所研发的产品,且处于不断更新换代之中,技术非常成熟。
在安全性、可用性、可靠性等方面毋庸置疑。
因此,网站在软件方面同样可行。
经济可行性
运行本系统所需的硬件和软件系统均为当前广泛使用的。
Windows7等操作系统均可从网上下载获得。
SQLServer微软商业数据库的安全性、可靠性和实用性满足酒店管理系统的设计要求,VisualStudio为微软公司推出的集成开发环境,而这亦可从官网下载获得,不需要花费大量的资金去购买。
本系统采用基于B/S(浏览器/服务器)的结构,不用安装专用客户端,简化电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
由于通过网络进行商务活动,信息成本低,足不出户,可节省交通费,且减少了中介费用,因此整个交易活动会降低成本。
所以,本系统在经济上有可行性。
社会可行性
本系统的开发研究作为计算机毕业设计,为巩固大学所学的各科知识,加深对专业知识的具体印象,没有违反国家法律法规及相关规定政策,没有违背当今社会的道德标准,危害、扰乱社会,并与业界有关规定无矛盾之处。
因此在社会法律方面的可行性通过。
在人员使用方面,该系统操作方法简单、易懂,无需非常严格的计算机专业知识培训。
故综上所述,本系统具有社会可行性。
系统需求分析
需求分析过程是整个在线订餐系统开发的重要阶段,该阶段需求分析人员需要了解用户的需求,从而确定整个产品的功能,并且对现实事务进行合理建模。
需求分析十分的重要,它将关系到最终产品是否合格。
本订餐系统具体要实现的功能:
用户的登录,添加餐品到购物车,订单提交等基本功能,还有就是系统可靠性、易维护性、可扩展性、可移植性。
要求该网站项目能够对网站管理所需的信息进行维护(包括:
增加,修改,删除等)。
在线订餐网站管理所需的信息包括:
商品信息,购物车信息,用户信息,用户联系信息,订单信息,店铺信息等。
用户可以提交订单或取消订单,由于受技术限制,我们目前仅提供货到付款,没有开发在线付款的功能模块。
用户用餐后可以对饭菜进行评价,给饭店评分,这样便方便其他用户来选择饭店。
对于饭店方面,需要提供订单查询功能,并且提供订单提示等子功能。
对于饭店来说,在用户提交订单后,系统会给相应饭店发出订单信息,如果本饭店没有提供送外卖的邮递员的情况下,他们会联系第三方邮递员。
如果有则在饭好后直接送餐到指定位置。
5系统设计
设计理念
系统用户界面设计
(1)简单明了原则:
用户的操作要尽可能以最直接最形象最易于理解的方式呈现在用户面前。
(2)方便使用原则:
符合用户习惯为方便使用的第一原则。
其它还包括,实现目标功能的最少操作数原则,鼠标最短距离移动原则等。
(3)用户导向原则:
为了方便用户尽快熟悉系统,简化操作,应该尽可能的提供向导性质的操作流程。
(4)错误提示原则:
能在用户错误操作的时候进行明确的提示。
(5)界面色彩要求:
计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种差别作出恰当的色彩搭配。
对于需用户长时间使用的系统,应当使用户在较长时间使用后不至于过于感到视觉疲劳为宜。
本项目界面主要采取红色加白色的主要色调,界面美观和谐,简明扼要。
(6)界面平面版式要求:
本项目样式排版整齐划一,尽可能划分不同的功能区域于固定位置,方便用户导航使用;排版不过于密集,能避免产生疲劳感。
控制
本网站项目当用户在进行浏览的时候,如果不进行登录的话,是不能使用商品收藏和订购商品功能。
只有用户在进行注册只有才能实现登录功能。
在用户进行资料填写的时候,其中用户名和密码最多只能输入18位数字和字母,电话号码的输入最多只能输入到11位数字。
需求规定
根据相应的需求,我们将系统主要分为前台和后台的两大功能模块。
其中前台包括:
店铺浏览、餐品浏览、申请开店、意见反馈、菜篮子(购物车)、联系我们、用户中心、订单管理等模块。
后台主要包括:
菜单管理、订单统计、用户管理、广告管理、商家审核、商家信息管理、用户收件地址管理等模块。
功能模块设计
本项目主要有用户登录,用户注册,浏览网站,收藏商品,商品检索,开设店铺,添加商品和购买商品等功能。
图系统用例图
图说明:
注册用户能使用的功能有:
用户登录,浏览商品,商品信息检索,购买商品,订单管理,收藏商品,开设店铺,添加商品等功能。
匿名用户能使用功能有:
用户注册,浏览商品,商品信息检索等功能。
业务流程设计
图系统数据流图
图说明:
用户从进入网站到订购商品和开设店铺中使用的每个功能所需要的数据流向过程。
数据库设计
图系统数据图
本项目的数据库名称为“DB_FLL”,其中存在表11张,为用户反馈表“T_Anonymous”,地址表“T_Address”,购物车表“T_Basket”,私房菜表“T_Collect”,日流量表“T_DayCount”,总订单表“T_DoubleOrder”,菜品表“T_Foodstuff”,订单表“T_Order”,商家表“T_ShopInfo”,用户表“T_User”和商家审核表“T_Verify”。
(数据库说明详见附录[])
使用它的程序
数据库被本项目调用的程序有,数据库连接类“”,程序数据库连接字段存在与“”中。
概念结构设计
本网站项目数据库中有表11张,其中每张表都是有与其相对应的网页组成。
即:
用户反馈表(T_Anonymous)对应“用户反馈”页面,地址表(T_Address)对应“注册”页面、“地址管理”页面、“订单”页面,购物车表(T_Basket)对应“购物车”页面,私房菜表(T_Collect)对应“私房菜”页面,日流量表(T_DayCount)对应首页和“日浏览量查看”页面,总订单表(T_DoubleOrder)对应“订单管理”页面,菜品表(T_Foodstuff)对应“商家菜品展示”页面、“购物车”页面和“订单”页面,订单表(T_Order)对应“订单管理”页面,商家表(T_ShopInfo)对应“商家信息”页面和“订单”页面,用户表(T_User)对应“注册”页面、“登录”页面、“购物车”页面和“订单”页面,商家审核表(T_Verify)对应“提交开店”页面。
逻辑结构设计
本数据库是直接用SQLServerManagementStudio生成的。
为了编码方便,表名与字段名一律采用英文字符命名。
另外,各表的各字段是根据具体需要进行类型与长度的定义。
(1)关于整型类型的字段编号,将以自动增长的方式进行储存。
(2)关于字符类型的备注方面的信息,各表将以Nvarchar或text进行储存,其中用户名和密码是nvarchar(18)进行储存,图片路径是nvarchar(500)进行储存,用户地址,反馈信息使用text进行储存。
(3)关于其数值类型的信息,商品价格是以Smallmoney进行储存,购物车商品数量是以int进行储存。
(4)关于其日期类型的信息,各表将以DateTime进行储存。
数据字典
本项目数据库的数据字典如下(摘录,完整数据字典详见附录[]):
名字
用户反馈表
描述
记录用户反馈信息
定义
用户反馈表=用户名称+反馈信息
位置
饭来了数据库
名字
反馈用户名称
描述
提交反馈信息用户名称
定义
反馈用户名称=[英文|数字]+时间
位置
用户反馈表
名字
反馈信息
描述
用户提交的反馈信息
定义
反馈信息=[汉字|英文|数字]
位置
用户反馈表
安全保密设计
在系统的使用过程中,用户可以对服务器、用户名与密码进行设置,并且可以选择是否保存所设置的信息。
系统测试连接成功后就能正常使用系统。
数据库维护人员可通过对数据库的用户、密码、访问权限进行设置。
还可以进行对数据库的导出、导入,并进行保密设置,具有一定的安全性。
作为一个网上订餐网站,其中的产品数据资料属于内部资料,不能被外人所知,也不允许随意更改,系统须有保密措施。
系统数据库将设置操作员表,将管理员名称和密码记录在操作员表中,拥有管理员权限的操作员才能操作数据库,非操作人员将则不能。
因此,为保证系统正常运行,拥有权限的人员才能进行数据库操作。
对于一个数据库而言,安全性是指保护数据库不被破坏、偷窃和非法使用的性能。
一个设计良好的安全模式能使用户的合法操作变得很容易,同时使非法操作和意外破坏很难或不可能发生。
6主要功能模块设计与实现
下面列出该系统的部分主要功能页面的截图及主要代码。
前台页面
注册页面
图注册页面
图注册页面主要实现用户注册功能,帮助用户成为网站会员。
其主要实现代码如下:
protectedvoidregisterbutton_Click(objectsender,EventArgse)
{
UserInfoui=newUserInfo();
UserInfoDaouserinfo=newUserInfoDao();
======"~/Images/UserImages/";
="";
="";
="";
="";
if==
{
if(ui))
{
="注册成功!
";
Session["user_id"]="");
}
else
{
="注册未成功,请确认输入信息!
";
}
}
else
{
="确认密码和密码不正确!
";
}
登录页面
图登录页面
图登录页面是为注册用户完成登录系统的功能
主要功能代码如下:
protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)
{UserInfoui=newUserInfo();
UserInfoDaouid=newUserInfoDao();
==
if(ui)){
Session["user_id"]=
.";}
returnSourseString;}
publicstringCutStringT(stringSourseStringT)
{if>5){
SourseStringT=(0,5)+"...";}
returnSourseStringT;}
protectedvoidPage_Load(objectsender,EventArgse)
{if(Request["ShopPictureWay"]!
=null){
ShopInfowayO=newShopInfo();
=Request["ShopPictureWay"];
=Request["ShopPictureWay"];
Session["storeImage"]=Request["ShopPictureWay"];
ShopInfoDaoca=newShopInfoDao();
DataTableflag=;
Session["GetshopNum"]=[0][0].ToString();
ShopInfosid=newShopInfo();
=(Session["GetshopNum"]);
ShopInfoDaocai=newShopInfoDao();
DataTableflag1=(sid);
=[0][8].ToString();
=[0][4].ToString();}
else{
("");}}}}
商品详细信息页面
图商品详细信息页面
图商品详细信息页面是向用户展示具体商品其信息的页面,用户能在本页面完成购买和收藏功能。
本页面代码如下:
publicpartialclassGoodsInfo:
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["storeImage"]!
=null)
{
oString();
oString();
=[0][8].ToString();
=[0][3].ToString();
=[0][5].ToString();
=[0][4].ToString();
Session["shopId"]=[0][0].ToString();
Session["shopName"]=[0][1].ToString();
Session["quyu"]=[0][8].ToString();
}
catch(Exceptionex)
{
=;
}
FoodstuffInfowayone=newFoodstuffInfo();
=Request["GoodsPictureWay"];
try
{
FoodstuffInfoDaoca=newFoodstuffInfoDao();
DataTableflag2=(wayone);
Session["FoodsId"]=[0][0].ToString();
}
catch(Exceptionex)
{
=;
}
if(Session["FoodsId"]!
=null)
{
FoodstuffInfoFoodsid=newFoodstuffInfo();
=(Session["FoodsId"]);
try
{
FoodstuffInfoDaocha=newFoodstuffInfoDao();
DataTableflag3=(Foodsid);
["GoosdsName"]=[0][0].ToString();
=[0][2].ToString();
=[0][1].ToString();
=[0][3].ToString();
=[0][7].ToString();
Session["FoodsWayTwo"]=[0][5].ToString();
Session["FoodsWayThree"]=[0][6].ToString();
Session["danjia"]=[0][1].ToString();
}
catch(Exceptionex)
{
=;
}
}
}
else
{
("");
}
}
protectedvoidImageButton3_Click(objectsender,ImageClickEventArgse)
{
=Session["storeImage"].ToString();
}
protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)
{
if(Session["user_id"]==null)
{
("");
}
else
{
BasketInfoBaskInfo=newBasketInfo();
=Session["GoosdsName"].ToString();
=Session["user_id"].ToStri