网上订餐系统实验报告Word文档格式.docx
《网上订餐系统实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《网上订餐系统实验报告Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
开发出一个适合餐饮行业,能够满足用户需求系统。
设计并实现一个基于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
密码
表3-2Area表
AreaID,
地址
Bigint
AreaName
地址名
Varchar
AreaKM
地址距离
表3-3BuyInfo表
BuyID
购置ID
FoodID
美食号
Num
数量
OerderID
订单号
SunPrice
总价
MemberID
用户ID
表3-4Class表
ClassID
类别号
ClassName
分类名称
CategoryUrl
分类图片路径
表3-5FoodInfo表
文件号
ClassID
文件类型
FoodName
上传路径
FoodIntroduce
上传者
ntext
16
FoodUrl
上传时间
Maketprice
市场价格
float
MemberPrice
会员价
Isrefinement
是否精品
bit
1
IsHot
是否热销
AddDate
添加时间
datetime
IsDiscount
是否打折
表3-6Image表
ImageID
图片ID
ImageName
图片名
ImageUrl
图片径
200
表3-7Member表
会员ID
Name
用户名
Sex
性别
TrueName
真实姓名
Questions
密保问题
nvarchar
Answers
密保
Phonecode
电话
20
Emails
Email
City
区域
Address
AdvanePayment
预付费
LoaDate
注册时间
表3-8shopCart
CartID
购物车ID
4
FoodID
食物ID
数目
Int
SumPrice
表3-9OrderInfo
OrderID
订单ID
OrderDate
TotaPrice
ReceiverName
收货人
ReceiverPhone
收货人电话
IsConfirm
是否确定
IsPayment
是否已付
IsConsignment
是否已发货
IsPigeonhole
是否已归档
big
RecerverAddress
收货地址
receiverEmails
收货email
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["
].DefaultView;
ddlSearchType.DataTextField="
searchType"
ddlSearchType.DataValueField="
type"
ddlSearchType.DataBind();
bindKey();
}
//自定义方法绑定关键字下拉列表
publicvoidbindKey()
//获取目前选择信息类型表名
stringtype=ddlSearchType.SelectedValue.ToString();
selectsearchKey,keywordfromtb_Searchwheretype='
"
+type+"
'
//调用数据库操作类中getDataset方法并获取返回数据集
//绑定关键字类别DropDownList控件数据源
ddlKeyType.DataSource=ds.Tables["
//绑定关键字类别DropDownList控件文本字段名
ddlKeyType.DataTextField="
searchKey"
//绑定关键字类别DropDownList控件值字段名
ddlKeyType.DataValueField="
keyword"
ddlKeyType.DataBind();
bindTerminal();
//调用自定义方法是否显示抵达地文本框
protectedvoidddlSearchType_SelectedIndexChanged(objectsender,EventArgse)
//显示抵达地文本框
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)
//搜索按钮
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+"
Session["
searchSql"
]=sql;
]=ddlSearchType.SelectedValue.ToString();
Response.Redirect("
searchList.aspx"
3.4.3文件上传
利用ASP.NET设计FTP文件上传,假如要用ASP作一个FTP文件上