网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx

上传人:b****6 文档编号:8484094 上传时间:2023-01-31 格式:DOCX 页数:43 大小:2.01MB
下载 相关 举报
网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx_第1页
第1页 / 共43页
网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx_第2页
第2页 / 共43页
网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx_第3页
第3页 / 共43页
网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx_第4页
第4页 / 共43页
网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx

《网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx》由会员分享,可在线阅读,更多相关《网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx(43页珍藏版)》请在冰豆网上搜索。

网上订餐管理系统 设计与实现课程设计正文说明书大学论文.docx

网上订餐管理系统设计与实现课程设计正文说明书大学论文

网上订餐管理系统的设计与实现

摘要

今年来,随着人们生活压力的持续增加,大部分人们都忙于工作,没多余的时间去自己做饭,进而促进了网上订餐行业的兴起。

网上订餐为工薪阶层提供了方便、快捷的就餐方式,只需动动鼠标、键盘,可口的的饭菜就等送到嘴边!

对于餐饮行业,有一个好的网上订餐管理系统,不仅能方便的管理餐饮,还能吸引不少顾客。

由此可见,一个好的网上订餐管理系统已经成为一个餐饮公司发展好坏的一个决定性因素,在此类公司中占据着日趋重要的低位。

通过分析网上订餐管理的内容及特点,提出了网上订餐管理系统的解决方案。

系统采用ASP,SQLServer2005作为主开发工具进行开发。

系统由管理员登录,注册模块,餐饮信息查询模块,会员信息管理模块,订单信息管理模块,会员登录模块,会员基本信息、订单、修改信息模块和订餐模块等组成。

文章以需求分析,概要设计,模块详细设计,系统运行和测试,系统说明等为主线,详细介绍了网上订餐管理系统。

首先,根据网上订餐管理的内容及会员特点对系统作为需求分析,其次根据系统的实现功能和使用进行规划,最后完成了模块的划分和数据库的设计与实现,并对系统进行了测试。

关键词:

ASP,模块,数据库,网上订餐管理

目 录

1绪论

1.1研究背景

“民以食为天”,餐饮业系百业之首。

我国餐饮业已形成了高中低档多层次,东西南北菜系多样化,中西餐相互补充的格局。

目前,网络热潮正冲击着我们生活的方方面面。

具体到餐饮业网络营销,网上订餐是一种主要的形式。

本系统实现通过网上订餐,由餐饮公司负责送货上门业务,促进餐饮业的蓬勃发展。

1.2开发意义

网上订餐业务的兴起,折射出餐饮业善抓机遇、抢占利润第二落点的经营理念,同时也显示出消费者在日常所需中,运用网络观念的意识正逐渐增强。

但比起如今火爆的网上购物,网上订酒店住宿等服务,网上订餐服务在一些餐饮业中仍未引起足够的重视,对于消费者来说,许多人对这一新兴业务尚缺乏了解。

但因这种消费方式响应了当前社会的快捷、便利等趋势,网上订餐仍存在着广阔的发展空间。

网上订餐的发展也将给餐饮业带来勃勃生机。

1.3本文的组织结构

第一章:

绪论。

本章主要介绍研究背景,开发意义。

第二章:

需求分析。

本章主要介绍数据库需求分析,系统功能分析等。

第三章:

系统概要设计。

本章主要介绍系统概要设计,数据库结构设计,数据库的连接。

第四章:

系统详细设计。

本章主要介绍用户管理,对数据库的增删改查操作。

第五章:

系统运行与测试。

本章主要介绍本系统的运行环境与测试。

第六章:

系统的使用说明与安装。

2系统需求分析

系统的需求分析中根据网上订餐管理的一般流程,分析了系统的具体功能,对系统作了总体的规划,提出了系统的设计目标,介绍了系统的开发及运行的环境。

2.1系统功能分析

经过调查、分析,本系统具有以下功能:

(1)提供会员登录、注册、修改密码以及基本资料。

(2)提供管理员登陆,注册,修改密码以及基本资料。

(3)提供对会员基本信息的查询。

(4)提供管理员对餐饮、会员、订单、新闻、数据库的管理。

(5)提供会员对新闻、餐饮信息的浏览以及订购餐饮的功能。

2.2设计目标

通过分析,主要实现如下目标:

(1)编写登录模块,设置登录用户的用户名和密码。

(2)编写主模块,设置通过菜单选项进入系统不同的子模块。

(3)编写对会员基本信息操作模块。

(4)编写管理员登录、注册、修改密码模块。

(5)编写管理员对餐饮、会员、订单、新闻、数据库管理模块。

2.3开发及运行环境

1、硬件平台:

(1)CPU:

P41.8GHz。

(2)内存:

256MB以上。

2、软件平台:

(1)操作系统:

WindowsXP/Windows2000。

(2)数据库:

SQLServer2005

(3)开发工具:

ASP.NET

3系统概要设计

系统概要设计首先对数据库的编码进行设计,方便数据信息的处理,其次是根据需求分析,对数据库的结构进行设计,建立相关的数据表,最后构画出系统功能的结构图。

3.1数据库结构设计

3.1.1数据库概念结构设计

根据软件工程所学知识和以上对本次课程设计系统的分析,最终画出系统的实体关系图(E-R图)如图3.1所示。

3.1.2数据库逻辑结构设计

由3.1.1的实体关系图可以得到系统的关系模式为:

餐饮信息(餐饮id,餐饮名,原料,简介,图片,价格,订购数,已发货量)

管理员信息(管理员id,姓名,密码,联系方式)

会员信息(会员id,密码,姓名,性别,地址,联系方式)

订单信息(订单id,会员id,所订餐饮id,订购数量,订购时间,用餐时间)

新闻信息(新闻id,标题,内容,发布人,发布时间,点击次数)

3.1.3数据库物理结构设计

1、数据库的设计

CREATEDATABASEWSDC

ONPRIMARY

(NAME=WSDC,

FILENAME=D:

\网上订餐管理系统(课程设计)\User\App_Data\WSDC.mdf,

SIZE=3072KB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1024KB)

LOGON

(NAME=WSDC_log,

FILENAME=D:

\网上订餐管理系统(课程设计)\User\App_Data\WSDC_log.ldf,

SIZE=1024KB

MAXSIZE=2048GB,

FILEGROWTH=10%)

2、表的设计

(1)CY(餐饮表)

餐饮id(Cid)为主键,不允许空,餐饮名Cname不允许空,其余字段允许为空,Cdnum设置触发器,当往订单表中插入新数据时,自动更新餐饮表中的订购数量Cdnum

CY(餐饮表)如图3.2所示。

图3.2CY表的结构

CREATETABLECY

(CidintIDENTITY(1,1)NOTNULLprimarykey,

Cnamechar(20)NOTNULL,

Cdnumint,

Cfhint,

Cylchar(100),

Cpricefloatcheck(Cprice>0),

Cimavarchar(50),

Cintroducechar(1000))

(2)HY(会员信息表)

会员id(Hid)为主键,不允许空,其余字段允许空,性别(Hsex)设置check约束,只允许填写“男”“女”

HY(会员信息表)如图3.3

图3.3HY的结构

CREATETABLEHY

(Hidchar(10)NOTNULLprimarykey,

Hnamechar(10),

Haddchar(100),

Hpwdchar(10),

Hphonechar(15),

Hsexnchar(10)check(Hsexin(‘男’,’女’)))

(3)GLY(管理员信息表)

管理员id(Gid)为主键,Gid和密码Gpwd不允许空。

GLY(管理员信息表)图3.4

图3.4GLY表的结构

CREATETABLEGLY

(Gidchar(10)NOTNULLPRIMARYKEY,

Gnamechar(10),

Gpwdnchar(10)NOTNULL,

Gphonechar(12))

(4)DD(订单信息表)

订单号为主键且以1为单位自增,本表所有字段均不允许为空。

DD(订单信息表)如图3.5

图3.5DD表的结构

CREATETABLEDD

(DidintIDENTITY(1,1)NOTNULL,

Hidchar(10)NOTNULL,

CidintNOTNULL,

DnumintNOTNULLDEFAULT(

(1)),

DdatedatetimeNOTNULL,

YdatedatetimeNOTNULL)

(5)NEWS(新闻信息表)

新闻id(NewsId)为主键,不允许空,其余字段均允许空。

NEWS(新闻信息表)图3.6

图3.6NEWS表的结构

CREATETABLENEWS

(NewsIdintIDENTITY(1,1)NOTNULL,

titlechar(100),

contenttext,

NewsUserchar(10),

NewsDatedatetime)

3.2系统功能设计

3.2.1数据库功能设计

(1)视图

视图是一个虚拟表,其内容由询定义。

同真实的表一样,视图包含一系列带有名称的列和行数据。

视图通常用来集中、简化和自定义每个用户对数据库的不同认识。

视图可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图基础表的权限。

通过视图可以检索基表中的数据,也可以通过视图来修改基表中的数据。

(1)餐饮信息视图

useWSDC

go

createviewCintroduce

as

select*fromCY

(2)餐饮显示信息视图

UseWSDC

CREATEviewcyInformation

as

selectCyl,Cid,Cname,Cprice,Cima,CintroducefromCY

(3)餐饮管理信息视图

useWSDC

go

createviewCYmanage

as

select*fromCY

(4)新闻信息视图

useWSDC

go

createviewnewsInformation

as

select*fromNEWS

(2)存储过程

存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。

存储过程可以使得数据库的管理、显示关于数据库及其用户信息的工作容易得多。

存储过程包含程序流、逻辑以及对数据库的查询。

它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

存储过程具有以下优点:

1、可以在单个存储过程中执行一系列SQL语句,2、可以从自己的存储过程内引用其他存储过程,3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快,且能减少网络通信的负担。

USEWSDC

GO

createprocsa@achar(10)

as

select*fromcyinformationwherecname=@a

(3)本系统所创建的触发器

触发器在INSERT、UPDATE或DELETE语句对表或视图进行修改时会被自动执行。

触发器可以查询其他表,并可以包含复杂的T-SQL语句。

一个表可以有多个触发器。

触发器可通过数据库中的相关表实现级联更改,但是,通过级联引用完整性约束可以更有效地执行这些更改;也可以强制比用CHECK约束定义的约束更为复杂的约束;也可以评估数据修改前后的表状态,并根据其差异采取对策。

一个表中多个同类触发器允许采取多个不同的对策,以响应同一个修改语句;触发器也可确保数据规范化。

使用触发器可以维护非正规化数据库环境中的记录级数据的完整性。

(1)餐饮表触发器

此触发器实现当从餐饮表中删除一项餐饮信息后,自动删除订单表中与此餐饮相关的所有信息

USEWSDC

createtriggerDD_update

onCYafterdelete

as

begin

declare@cidint

ifexists(selectcidfromdeleted)

select@cid=(selectcidfromdeleted)

deletefromDDwherecid=@cid

end

(2)订单表触发器

此触发器实现当有新订单生成时,自动更新餐饮表中餐饮订购数量。

USEWSDC

createtriggerCY_update

onDDafterinsert

as

begin

declare@Cidint,@Dnumint

ifexists(selectcidfrominserted)

select@Cid=(selectcidfrominserted)

select@Dnum=(selectDnumfrominserted)

updateCYsetCdnum=Cdnum+@DnumwhereCid=@Cid

end

(4)本系统所使用的索引

索引和书的目录类似,它提供了指向表中行的指针,是到达数据的直接路径。

索引是为了加速检索而创建的一种存储结构。

索引是针对一个表而建立的。

它是由除存放表的数据页面以外的索引页面组成的。

每个索引页面中的行都包含逻辑指针,通过该指针可以直接检索到数据,这就会加速物理数据的检索。

索引有下述优点:

1、提高了查询的速度,2、提高连接,3、查询优化器依靠索引起作用,4、强制实施行的唯一性。

(1)餐饮索引

CREATENONCLUSTEREDINDEXCy_ind

ONCY

(CidASC)

(2)会员索引

CREATENONCLUSTEREDINDEXHY_ind

ONHY

(HidASC)

(3)新闻索引

CREATENONCLUSTEREDINDEXnews_ind

ONNEWS

(NewsIdASC,

titleASC)

(4)订单索引

CREATENONCLUSTEREDINDEXDD_ind

ONDD

(DidASC,

HidASC)

(5)本系统所使用的函数

用户在编程时常常需要将一个多多个T-SQL语句组成子程序,以便反复调用。

SQLServer2005允许用户根据需要自己定义函数。

根据定义函数返回值类型,可将函数分为两个类别:

标量函数和表值函数。

标量函数返回值是标量值。

表值函数返回值为整个表。

按餐饮价格范围查找餐饮信息函数代码如下:

USEWSDC

createfunctionsearchbyprice(@p1float,@p2float)

returnstable

as

return

(select*fromCYwhereCpricebetween@p1and@p2)

3.2.2系统功能结构设计

根据需求分析和数据库的设计,构画出网上订餐系统功能结构图,如图3.7所示。

图3.7系统功能结构图

3.3数据库的连接

本设计是通过ADO.NET和数据库建立连接并访问数据库的,代码如下:

(connectionStrings)

(addname="conn"connectionString="DataSource=.;InitialCatalog=WSDC;IntegratedSecurity=SSPI;"/)

(/connectionStrings)

4系统详细设计

本章主要介绍本系统各界面所实现的功能以及用到的一些技术,是读者对本系统有个全面的认识。

4.1登录模块

登录模块是为保证信息的安全,只允许由用户名和密码的用户进入对系统进行相关的操作,当输入正确时即可进入系统。

并提供会员注册和修改、找回密码链接。

登入界面Login.aspx,效果如图4.1所示。

图4.1登录界面

会员登录模块的主要代码为:

protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)

{stringsql="selectcount(*)fromHYwhereHid='"+TextBox1.Text+"'andHpwd='"+TextBox2.Text+"'";

intr=Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());

if(r>0)

{HttpCookiecookie=newHttpCookie("name");

cookie.Value=TextBox1.Text;

Response.Cookies.Add(cookie);

Response.Redirect("main.aspx");}

else

{Label5.Text="用户名或密码错误";

TextBox1.Text="";

TextBox2.Text="";

TextBox1.Focus();}

4.2会员注册模块

会员注册模块的功能是注册新的会员,通过该模块可将会员信息插入数据库中,下次登陆时便可用此会员的用户名和密码登陆。

用户注册界面Hadd.aspx,效果如图4.2所示。

图4.2用户注册页面

该模块的主要代码为:

protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)

{stringsql="selectcount(*)fromHYwhereHid='"+TextBox1.Text+"'andHpwd='"+TextBox2.Text+"'";

intr=Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());

if(r>0)

{Label13.Text="用户名已存在!

";}

else

{stringsql1="insertintoHY(Hid,Hpwd,Hname,Hadd,Hphone)values(@userId,@userPwd,@userName,@userAddress,@userPhone)";

SqlParameter[]pars=newSqlParameter[5];

pars[0]=newSqlParameter("@userId",SqlDbType.VarChar);

pars[0].Value=TextBox1.Text;

pars[1]=newSqlParameter("@userPwd",SqlDbType.VarChar);

pars[1].Value=TextBox2.Text;

pars[2]=newSqlParameter("@userName",SqlDbType.VarChar);

pars[2].Value=TextBox4.Text;

pars[3]=newSqlParameter("@userAddress",SqlDbType.VarChar);

pars[3].Value=TextBox5.Text;

pars[4]=newSqlParameter("@userPhone",SqlDbType.VarChar);

pars[4].Value=TextBox6.Text;

ints=DBUtility.DbHelperSQL.ExecuteSql(sql1,pars);

stringsql2="selectcount(*)fromHYwhereHid='"+TextBox1.Text+"'andHpwd='"+TextBox2.Text+"'";

inti=Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql2).ToString());

if(i>0)

{Label13.Text="添加成功!

";}

else

{Label13.Text="添加失败!

";}}}

4.3会员密码修改模块

此模块的功能是修改会员密码,修改后会员可用新的密码登陆。

用户修改密码界面Changepwd.aspx,效果如图4.3所示。

图4.3用户修改密码页面

会员修改模块的主要代码为:

protectedvoidButton1_Click(objectsender,EventArgse)

{stringsql="selectcount(*)fromHYwhereHid='"+TextBox1.Text+"'andHname='"+TextBox2.Text+"'andHphone='"+TextBox3.Text+"'";

intj=Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());

if(j>0)

{stringsql1="updateHYsetHpwd='"+TextBox4.Text+"'whereHid='"+TextBox1.Text+"'andHname='"+TextBox2.Text+"'andHphone='"+TextBox3.Text+"'";

inti=DBUtility.DbHelperSQL.ExecuteSql(sql1);

if(i>0)

{Label14.Text="密码修改成功!

";}}

else

{Label14.Text="用户信息填写错误!

";}}

protectedvoidButton2_Click(objectsender,EventArgse)

{Response.Redirect("Login.aspx");}

protectedvoidButton3_Click(objectsender,EventArgse)

{TextBox1.Text="";

TextBox2.Text="";

TextBox3.Text="";

TextBox4.Text="";

TextBox5.Text="";}

4.4找回密码模块

用户通过此模块,填写正确的信息即可在页面显示出正确的密码。

用户找回密码界面FindPwd.aspx,效果如图4.4所示。

图4.4用户找回密码页面

找回密码模块的主要代码:

protectedvoidButton1_Click(objectsender,EventArgse)

{stringsql="selectHpwdfromHYwhereHid=@idandHname=@nameandHphone=@ph";

stringsql1="selectcount(*)fromHYwhereHid=@idandHname=@nameandHphone=@ph";

SqlParameter[]par=newSqlParameter[3];

par[0]=newSqlParameter("@id",TextBox1.Text);

par[1]=newSqlParameter("

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1