网上订餐系统实验报告.docx
《网上订餐系统实验报告.docx》由会员分享,可在线阅读,更多相关《网上订餐系统实验报告.docx(29页珍藏版)》请在冰豆网上搜索。
网上订餐系统实验报告
网上订餐系统
试验汇报
摘要
本文分析了小型餐饮店管理与发展现实状况和面临问题,发觉传统服务模式已经不能适应市场发展需求。
伴随网络技术发展和普及,方便、快捷、个性化网上订餐服务正在进入大家生活。
针对这类问题,结合现代科技发展最新结果,本文构思计划了一套最贴切服务模式,为餐饮店铺提供区域网络门户,适应不一样用户群。
本设计是一个基于互联网B/S模式网上订餐系统,能为用户提供网络选择浏览菜品介绍、点菜订餐、送餐等服务。
并为管理员提供一个智能服务平台实现用户信息与用户订单管理,从而提升了服务质量。
本文从系统需求、系统设计、代码实现几方面介绍了整个软件开发过程,其开发平台为Microsoftvisualstudio,关键开发语言有C#,JavaScript。
关键词:
订餐系统订单管理C#B/S模式
第一章前言
1.1开发背景与研究意义
1.1.1本课题开发背景
二十一世纪,全球网络化,科技在突飞猛进。
我们生活同网络通信息息相关。
计算机已经普及到我们社会和经济生活中各个领域。
大家进行信息交流深度与广度不停增加,这使得我们服务,管理也应该跟上时代步伐去前行。
电子商务在此得到极大地普及与发展。
餐饮业在电子商务中还处于形成早期;传统饮食业中,大都是以实际门面形式来进行宣传与交流。
作为网络普遍化社会,这还缺乏了部分更为现代化元素。
餐饮业是一个个性化、多样化服务产业,而电子商务则最能表现个性化,多样化服务商务方法。
而且现在大部分电子商务都表现为像大企业服务,结合餐饮这个特殊行业,终将还发展为向小区域小店铺服务模式。
以最贴切方法,最灵便服务进入各个网络小区,进入大家生活。
1.1.2本课题研究意义
针对餐饮业大背景下问题与方向,我们能够觉察到在餐饮服务这个大行业中还有我们可为地方。
本平台提供适合不一样人群,最贴切服务。
我们将经过网络平台,去表现服务质量,去发明效益。
我们应该抓住,中小店铺,提供区域化餐饮服务这一理念;为它们提供最贴切服务;把它表现在我们电子商务服务上来,融合到我们软件开发产品中来;去建立起特色鲜明订餐网站,以取得最大经济效益。
总而言之,即采取更优异、更高级技术手段来设计和开发餐饮服务系统,采取更科学、更合理方法来处理餐饮服务系统问题,将为其带来更新活力,餐饮服务系统也将朝着更正确、更高效趋势发展前进。
1.1.3本课题开发目标
开发出一个适合餐饮行业,能够满足用户需求系统。
设计并实现一个基于ASP.NET订餐系统,该系统应含有功效有:
用户权限管理、浏览功效、订单功效等。
1.2课题调研分析与可行性分析
1.2.1本课题调研分析
传统是用人工方法来进行店铺各项管理,比如手工进行统计,人工进行用户个人信息,用户订餐,订餐信息管理,口头通知或者是经过移动电话等方法进行相关交易信息传输与交流,拿最日常费用统计管理来讲,光是每个用户个人消费就是一道令人费解过程,而在当今计算机技术不停发展今天,这些问题能够轻而易举经过计算机和网络来完成,不仅方便快捷,而且简单,易操作。
同时对于店铺里文件管理,过去也多数是以纸质材料进行保留,这么查询起来不仅麻烦不方便,保密性比较差,而且轻易磨损,不易保留,另外时间一长,将会产生大量文件和数据,这对于查找、更新和维护都带来了不少困难。
假如采取电子文档方法进行保留,不仅查询起来方便,而且安全性比较高,只有有权限人才能够看得到,只要多备份多个,而且多处备份也更轻易。
能够保留很多年,不会发生像传统纸质材料保留所出现受潮等部分损坏。
1.2.2本课题可行性分析
1.技术可行性
本系统使用.NET技术进行开发,编程语言使用C#、ASP.NET是Microsoft开发使用于构建、管理Web页面技术,它特点关键是:
简化网页编辑工作,提供代码与设计视图分离,使得代码更轻易编写、修改与维护;不仅能使用Script语言,还能够使用编译式语言,如本系统所采取C#,不一样动态网页制作技术还能够使用不一样编程语言;因为ASP.NET代码是预先编译过,所以运行起来要比ASP直译方法快。
所以ASP.NET是实现本系统最好技术,它是完全可行。
另外.NETFramework2.0框架作为微软企业已经比较成熟产品,现在有越来越多企业及技术人员选择它来作为开发平台。
所以,在技术上.NET是完全能够胜任这个平台开发。
2.经济可行性
因为本项目特殊性,无需投入额外设备购置及人员培训费用,所以在经济上本系统开发是可行。
另外系统对开发需求以及软硬件要求都不是很高,所以在软硬件支出上十分有限。
所以,本系统在任何一台连接Internet机器上都能够运行,有很高经济可行性。
按上述两方面进行可行性分析、研究后,我们认为该项目在技术上是可行,在经济上也是没问题,所以完全能够进行开发。
3.操作可行性
在操作上对开发人员要求并不高,WindowsXP操作系统我们已经非常熟悉,而Visual.Studio.Net也是相对轻易上手可视化编程语言,经过自学完全能够掌握。
4.法律可行性
本系统没有侵犯个人隐私和个人责任方面问题,使用本系统不会引发法律方面纠纷问题,所以开发本系统含有法律可行性。
总而言之,本系统开发是符合现在实际情况,并含有一定实用意义。
在技术、经济、操作上,法律上都能够看到此系统可行性,而且很含有其实现必需。
第二章系统需求分析
伴随网络技术发展和普及,方便、快捷、个性化网上订餐正在进入大家生活。
现在,网上订餐业务还处于形成期,成长空间还很大。
订餐网站是一个基于互联网B/S模式网上订餐系统,能为用户提供网络选择餐厅、浏览菜品介绍、点菜订餐、送餐等服务。
这有利于提升管理水平,不仅高效,还使原本繁重管理变得简单
2.1性能需求分析
该系统在性能功效应达成以下要求:
1.操作简单,界面友好:
完全空间式页面布局,使得菜品、咨询等信息录入工作更简单:
另外,跟踪出现提醒信息也让用户随时清楚自己操作情况。
对常见类似网站管理各个方面:
基础信息录入、浏览、删除、修改、搜索等方面都大致实现,用户对菜品预定以及支付方法;
2.即使可见:
对用户预定餐饮信息处理(包含录入、删除)将立刻在首页对应栏目显示出来,达成“即时公布,即时见效”功效
3.系统运行应该快速、稳定、高效和可靠;
4.在结构上应该含有很好可扩展性,便于未来功效扩展和维护。
2.2系统用例图
经过对系统需求分析,系统基础功效已经大致确定。
整个系统用例图分为两个部分,用户用例图,管理员用例图,分别见图2-1和图2-2.
用户用例图:
图2-1用户用例图
管理员用例图:
图2-2管理员用例图
第三章系统设计
3.1系统总体结构设计
依据第一、二章所做定义及分析,本课题在此基础上利用和SQLServer技术构建基于Web数据库开发、信息共享、动态交互式平台,该平台能够在基于Windows/XP/系统构建局域网或Internet上使用。
在总体结构上是采取B/S模式设计,各类商品信息和数据库中信息在服务器端,采取中心数据库SQLServer统一存放和组织,用户及系统管理人员在用户机一端,无须任何配置工作,只须使用浏览器向Web服务器代理提出请求,服务代理经过中间组件与数据库链接,把请求服务内容以Web页面形式经过浏览器反馈给各类用户。
本系统面向用户,管理员两种身份用户,整个系统功效模块(见图3-1),整个系统将围绕这个模块进行开发工作,整个系统关键由以下多个子模块组成:
用户模块(见图3-2),管理员模块(见图3-3)。
图3-1能够宏观了解整个系统所包含到各个功效模块,以及这些模块所要实现功效。
图3-2介绍了用户模块所包含到步骤和要实现功效。
图3-3介绍了后台管理员模块所要实现多种功效。
图3-3管理员模块数据步骤图
3.2数据库设计
3.2.1概念设计
经过分析,系统总共有两种角色,分别是用户,管理员。
分别见图3-4和图3-5。
用户E-R图如图3-4:
管理员E-R图如图3-5:
图3-5管理员模块E-R图
3.2.2数据结构
数据结构是计算机存放、组织数据方法。
数据结构是相互之间存在一个或多个特定关系数据元素集合。
通常情况下,精心选择数据库能够带来更高运行或者存放效率。
表3-1Admin表
字段名
描述
类型
长度
是否许可为空
是否为主键
AdminID
管理员ID
bigint
8
否
是
Admin
管理员用名
varchar
50
否
否
Password
密码
varchar
50
否
否
表3-2Area表
字段名
描述
类型
长度
是否许可为空
是否为主键
AreaID,
地址
Bigint
8
否
是
AreaName
地址名
Varchar
50
否
否
AreaKM
地址距离
Varchar
50
否
否
表3-3BuyInfo表
字段名
描述
类型
长度
是否许可为空
是否为主键
BuyID
购置ID
bigint
8
否
是
FoodID
美食号
varchar
50
否
否
Num
数量
varchar
50
否
否
OerderID
订单号
varchar
50
否
否
SunPrice
总价
varchar
50
否
否
MemberID
用户ID
varchar
50
否
否
表3-4Class表
字段名
描述
类型
长度
是否许可为空
是否为主键
ClassID
类别号
bigint
8
否
是
ClassName
分类名称
varchar
50
否
否
CategoryUrl
分类图片路径
varchar
50
否
否
表3-5FoodInfo表
字段名
描述
类型
长度
是否许可为空
是否为主键
FoodID
文件号
bigint
8
否
是
ClassID
文件类型
bigint
8
否
否
FoodName
上传路径
varchar
50
是
否
FoodIntroduce
上传者
ntext
16
是
否
FoodUrl
上传时间
varchar
50
是
否
Maketprice
市场价格
float
8
是
否
MemberPrice
会员价
float
8
是
否
Isrefinement
是否精品
bit
1
是
否
IsHot
是否热销
bit
1
是
否
AddDate
添加时间
datetime
8
是
否
IsDiscount
是否打折
bit
1
是
否
表3-6Image表
字段名
描述
类型
长度
是否许可为空
是否为主键
ImageID
图片ID
bigint
8
否
是
ImageName
图片名
varchar
50
是
否
ImageUrl
图片径
varchar
200
是
否
表3-7Member表
字段名
描述
类型
长度
是否许可为空
是否为主键
MemberID
会员ID
bigint
8
否
是
Name
用户名
varchar
50
是
否
Sex
性别
bit
50
是
否
Password
密码
varchar
50
是
否
TrueName
真实姓名
varchar
50
是
否
Questions
密保问题
nvarchar
50
是
否
Answers
密保
nvarchar
50
是
否
Phonecode
电话
varchar
20
是
否
Emails
Email
varchar
50
是
否
City
区域
varchar
50
是
否
Address
地址
varchar
200
是
否
AdvanePayment
预付费
float
8
是
否
LoaDate
注册时间
datetime
8
是
否
表3-8shopCart
字段名
描述
类型
长度
是否许可为空
是否为主键
CartID
购物车ID
bigint
4
是
是
FoodID
食物ID
bigint
50
是
否
Num
数目
Int
50
是
否
SumPrice
总价
float
50
是
否
MemberID
会员ID
bigint
50
是
否
表3-9OrderInfo
字段名
描述
类型
长度
是否许可为空
是否为主键
OrderID
订单ID
bigint
8
否
是
OrderDate
文件类型
varchar
50
否
否
TotaPrice
总价
varchar
50
否
否
MemberID
会员ID
bigint
8
否
否
ReceiverName
收货人
varchar
50
否
否
ReceiverPhone
收货人电话
varchar
50
否
否
IsConfirm
是否确定
bit
1
是
否
IsPayment
是否已付
bit
1
是
否
IsConsignment
是否已发货
bit
1
是
否
IsPigeonhole
是否已归档
big
1
是
否
RecerverAddress
收货地址
varchar
50
是
否
receiverEmails
收货email
varchar
200
是
否
3.3系统开发技术
3.3.1系统开发环境及开发工具
开发工具对一个系统成败含有决定性作用。
因为本系统是应用于网络,所以,本系统选择了ASP.NET技术进行开发,同时,选择SQLSever作为系统后台数据库,开发中用到关键开发工含有MicrosoftVisualStudio.NET、DreamweaverMX,具体如表3-10所表示:
表3-10系统开发工具及软件用途表
开发工具名称
软件用途
MicrosoftVisualStudio.NET
工程管理、代码编写及调试
SQL-Server
建立系统后台数据库
DreamweaverMX
静态页面设计、制作
3.3.2系统运行环境
1.硬件环境:
服务器端:
配置为1024M内存,CPU为Pentium2.93GHz,硬盘容量为160G微机。
通信网络:
Internet网
2.服务器端:
操作系统:
Windows/NT/XP/
数据库服务器:
SQLSERVER
Web服务器:
Internet信息服务5.1或以上版本
Microsoft.NETFramework版本:
.NETFramework2.0
3.用户端:
操作系统:
Windows9X//XP/
浏览器:
InternetExplore6.0或以上版本
推荐分辨率:
1024*700
3.4设计到技术关键点
3.4.1session使用
Session是什么呢?
简单来说就是服务器给用户端一个编号。
当一台WWW服务器运行时,可能有若干个用户浏览正在运行在这台服务器上网站。
当每个用户首次与这台WWW服务器建立连接时,她就与这个服务器建立了一个Session,同时服务器会自动为其分配一个Session,用以标识这个用户唯一身份。
这个Session是由WWW服务器产生一个由24个字符组成字符串,我们会在下面试验中见到它实际样子。
这个唯一Session是有很大实际意义。
当一个用户提交了表单时,浏览器会将用户Session自动附加在HTTP头信息中,(这是浏览器自动功效,用户不会觉察到),当服务器处理完这个表单后,将结果返回给Session所对应用户。
试想,假如没有Session,当有两个用户同时进行注册时,服务器就是经过Session来判定到底是哪个用户提交了哪个表单。
在此次系统设计过程中基础每个页面都使用了Session技术,它在设计中地位是举足轻重。
3.4.2ADO.NET技术
ASP.NET引入了新申明性数据绑定语法,这种非常灵活语法许可开发人员不仅能够绑定到数据源,而且能够绑定到简单属性、集合、表示式,甚至能够从方法调用返回结果。
数据绑定技术方便之处于于,当某一个数据源和一个数据显示控件绑定在一起以后,每当数据源发生变换时候,数据显示控件将自动跟随数据源改变。
当然数据绑定控件并不仅仅为了数据显示控件服务,任何一个符合数据绑定规范控件都能够绑定到一个数据源。
数据绑定概念,使开发者能够有层次地将控件属性绑定到数据容器值上,位于<%…%>代码块中代码只有父控件容器中DataBind方法被调用时才会被实施。
DataBind()是页面和全部服务器控件方法,当在一个父控件中调用该方法时,它将连接到控件全部子控件上。
DataBind()通常又PageLoad事件调用,它与ASP中Response.Write()方法有很多不一样之处。
在本系统设计过程中,大量使用了数据绑定技术,如DropdownList绑定,DataGrid绑定。
比如在搜索功效上所包含到代码:
publicvoidbindSearchType()
{
stringsql="selectdistinctsearchType,typefromtb_Search";
DataSetds=dataOperate.getDataset(sql,"tb_Search");
ddlSearchType.DataSource=ds.Tables["tb_Search"].DefaultView;
ddlSearchType.DataTextField="searchType";
ddlSearchType.DataValueField="type";
ddlSearchType.DataBind();
bindKey();
}
//自定义方法绑定关键字下拉列表
publicvoidbindKey()
{
//获取目前选择信息类型表名
stringtype=ddlSearchType.SelectedValue.ToString();
stringsql="selectsearchKey,keywordfromtb_Searchwheretype='"+type+"'";
//调用数据库操作类中getDataset方法并获取返回数据集
DataSetds=dataOperate.getDataset(sql,"tb_Search");
//绑定关键字类别DropDownList控件数据源
ddlKeyType.DataSource=ds.Tables["tb_Search"].DefaultView;
//绑定关键字类别DropDownList控件文本字段名
ddlKeyType.DataTextField="searchKey";
//绑定关键字类别DropDownList控件值字段名
ddlKeyType.DataValueField="keyword";
ddlKeyType.DataBind();
bindTerminal();//调用自定义方法是否显示抵达地文本框
}
protectedvoidddlSearchType_SelectedIndexChanged(objectsender,EventArgse)
{
bindKey();
}
//显示抵达地文本框
publicvoidbindTerminal()
{
//判定关键字类型是否选择了出发地
if(ddlKeyType.SelectedValue.ToString()=="Start")
{
txtTerminal.Text="";//清空抵达地文本框
labTerminal.Visible=true;
txtTerminal.Visible=true;
}
Else
{
labTerminal.Visible=false;
txtTerminal.Visible=false;
}
}
protectedvoidddlKeyType_SelectedIndexChanged(objectsender,EventArgse)
{
bindTerminal();
}
//搜索按钮
protectedvoidbtnSearch_Click(objectsender,EventArgse)
{
stringtable=ddlSearchType.SelectedValue.ToString();
stringkeyType=ddlKeyType.SelectedValue.ToString();
stringkeys=txtKey.Text;
stringsql;
if(txtTerminal.Text!
="")
{
sql="select*from"+table+"where"+keyType+"like'%"+keys+"%'andterminallike'%"+txtTerminal.Text+"%'";
}
Else
{
sql="select*from"+table+"where"+keyType+"like'%"+keys+"%'";
}
Session["searchSql"]=sql;
Session["searchType"]=ddlSearchType.SelectedValue.ToString();
Response.Redirect("searchList.aspx");
}
3.4.3文件上传
利用ASP.NET设计FTP文件上传,假如要用ASP作一个FTP文件上