餐饮管理系统详细设计.docx
《餐饮管理系统详细设计.docx》由会员分享,可在线阅读,更多相关《餐饮管理系统详细设计.docx(49页珍藏版)》请在冰点文库上搜索。
餐饮管理系统详细设计
餐饮管理系统详细设计
V0.1
广州XXX软件公司
评审日期:
2013年4月23日
1. 导言ﻩ6
1.2 范围ﻩ6
1.3缩写说明6
1.4 术语定义6
1.6参考资料7
1.7版本更新信息7
2 系统设计概述7
3.1管理端页面9
3.2客户端页面10
4登录管理模块的详细设计10
4.1客户端登录页面ﻩ10
4.1.1界面设计10
4.1.2后台代码设计11
4.2管理端登录页面ﻩ12
4.2.1界面设计12
4.2.2后台代码设计12
5菜单管理模块的详细设计13
5.1菜式列表页面13
5.1.1 界面设计ﻩ13
5.1.2后台代码设计13
5.2菜式详细信息页面ﻩ14
5.2.1界面设计ﻩ14
5.2.2后台代码设计ﻩ14
5.3添加菜式页面15
5.3.2后台代码设计ﻩ15
6管理端订单管理模块的详细设计ﻩ16
6.1订单信息列表页面16
6.1.1界面设计ﻩ16
6.2订单详细信息页面ﻩ17
6.2.2后台代码设计ﻩ17
6.3预订菜式页面18
6.3.1界面设计18
6.3.2后台代码设计19
6.5.1界面设计ﻩ20
6.5.2后台代码设计ﻩ21
7点餐管理模块的详细设计ﻩ21
7.1填写点餐信息页面ﻩ21
7.1.1界面设计ﻩ21
7.1.2后台代码设计22
7.2查询点餐菜式页面ﻩ22
7.2.1界面设计ﻩ22
7.2.2后台代码设计ﻩ22
7.3菜式信息列表页面ﻩ22
7.3.1界面设计ﻩ22
7.3.2后台代码设计23
7.4菜式详细信息页面23
7.4.1界面设计ﻩ23
7.5订单详细信息页面23
7.5.1界面设计ﻩ23
7.5.2后台代码设计ﻩ23
8.1评价详细信息列表页面ﻩ24
8.1.2后台代码设计24
9报表管理模块的详细设计ﻩ25
9.1统计报表页面ﻩ25
9.1.1界面设计25
9.1.2后台代码设计25
9.2.1界面设计ﻩ26
9.2.2后台代码设计26
10用户管理模块的详细设计ﻩ27
10.1用户信息列表页面ﻩ27
10.1.1界面设计ﻩ27
10.1.2后台代码设计ﻩ28
10.2用户详细信息页面ﻩ30
10.2.1界面设计ﻩ30
10.2.2后台代码设计ﻩ30
10.3.1界面设计31
10.3.2后台代码设计ﻩ31
11注册模块的详细设计ﻩ32
11.1注册页面32
11.1.1界面设计ﻩ32
11.1.2后台代码设计ﻩ33
12检索浏览菜单模块的详细设计33
12.1菜式信息列表页面33
12.2菜式详细信息页面ﻩ33
12.2.2后台代码设计33
13订餐管理模块的详细设计34
13.1填写订餐信息页面ﻩ34
13.1.1界面设计ﻩ34
13.1.2后台代码设计34
13.2查询预订菜式页面34
13.2.1界面设计ﻩ34
13.2.2后台代码设计34
13.3菜式信息列表页面ﻩ34
13.3.1界面设计34
13.3.2后台代码设计35
13.4菜式详细信息页面35
13.4.1界面设计ﻩ35
13.5订单详细信息页面35
13.5.1界面设计35
14餐后评价模块的详细设计ﻩ36
14.1评价信息列表页面ﻩ36
14.1.1界面设计ﻩ36
14.1.2后台代码设计ﻩ36
15会员订单管理模块的详细设计37
15.1订单信息列表页面ﻩ37
15.1.1界面设计ﻩ37
15.1.2后台代码设计37
15.2订单详细信息页面38
15.2.1界面设计ﻩ38
15.2.2后台代码设计ﻩ38
15.3预订菜式页面ﻩ38
15.3.1界面设计38
15.4菜式信息列表页面ﻩ39
15.4.1界面设计39
15.5订单信息列表页面39
15.5.1界面设计ﻩ39
16会员个人信息管理模块的详细设计ﻩ40
16.1个人信息管理页面40
16.1.1界面设计40
16.1.2后台代码设计ﻩ40
16.2修改密码页面41
16.2.1界面设计41
16.2.2后台代码设计41
项目小组参加人员及分工
姓名
学号
工作任务
组长
庞嘉瑶
1007508235
总体布局
组员
曾洁玲
1007508216
客户端页面设计
组员
李文静
1007508221
客户端页面设计
组员
李春丽
1007508252
管理端页面设计
组员
叶庆文
0907508312
管理端页面设计
1.导言
1.1目的
该文档的目的是描述《餐饮管理系统》项目的详细设计,其主要内容包括:
-系统功能简介
-系统详细设计简述
-各个模块的三层划分
-最小模块组件的伪代码
本文档的预期的读者是:
●开发人员
●项目管理人员
●测试人员
1.2 范围
该文档定义了系统的各个模块和模块接口,但未确定单元的具体实现,这部分内容将在实现中确定。
1.3缩写说明
UML
Unified ModelingLanguage(统一建模语言)的缩写,是一个标准的建模语言。
ASP
ActiveServerPage(动态服务器页面)的缩写,可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
MVC
Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。
1.4术语定义
无
1.5引用标准
ﻩ[1]《企业文档格式标准》V1.1
北京长江软件有限公司
[2]《软件详细设计报告格式标准》V1.1
北京长江软件有限公司软件工程过程化组织
1.6参考资料
无
1.7版本更新信息
本文档版本更新记录如表C-1:
表C-1版本更新记录
修改编号
修改日期
修改后版本
修改位置
修改内容概述
001
2013.4.23
0.1
全部
初始发布版本
ﻩﻩﻩﻩﻩﻩﻩ
2系统设计概述
根据《餐饮管理系统》的概要设计,本系统按照功能角度分解,可以分为客户端子系统和管理端子系统。
根据页面流的设计,管理端系统又分为用户登录、用户管理、菜单管理、订单管理、点餐管理、评价管理、报表管理等7个模块,而客户端系统又分为注册、浏览检索菜单、订餐、餐后评价、订单管理、个人信息管理等6个模块,他们的关系如图C-1,以下将分小节对各个部分分别进行详细设计。
3 详细设计总述
3.1管理端页面
3.2客户端页面
4登录管理模块的详细设计
4.1客户端登录页面
4.1.1界面设计
Login1.aspx
4.1.2后台代码设计
Login1.aspx.cs
publicvoidcheckLogin(stringloginName,stringloginPwd)
{
......//判断会员的密码和帐号正确性,然后跳转到另一页
}
protected voidbtnLogin_Click(objectsender,EventArgse)
{
int i=this.checkLogin(Name,Pwd);
if(i>0)
{
//判断验证码
}
else
Response.Write("帐号和密码不正确!
");
......//如果记住密码,用Cookies记住密码,把保存时间延长,下次登录不用再输入密码
}
protected voidbtnRegister_Click(object sender, EventArgse)
{
//点击进入,跳转去注册界面
}
4.2管理端登录页面
4.2.1界面设计
4.2.2后台代码设计
publicint checkLogin(stringloginName,stringloginPwd)
{
.......//根据用户的权限通过数据库判断“帐号”和“密码”
inti=(int)cmd.ExecuteScalar();
returni;//返回判断结果
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
{
int i=this.checkLogin(Name,Pwd);
if(i>0)
{
//判断验证码
}
else
Response.Write("帐号和密码不正确!
");
......//如果记住密码,用Cookies记住密码,把保存时间延长,下次登录不用再输入密码
}
protectedvoidbtnRegister_Click(objectsender,EventArgse)
{
//点击进入,跳转去注册界面
}
5菜单管理模块的详细设计
5.1菜式列表页面
5.1.1 界面设计
MenuList.aspx
5.1.2后台代码设计
MenuList.aspx.cs
protected void btnSeek_Click(objectsender,EventArgse)
{
if(DropDownList1.Items[0].Value.Equals(true))
{
//通过访问数据库,判断菜式列和TextBox5.Text,然后输出全部的信息
}
if (DropDownList1.Items[1].Value.Equals(true))
{
//通过访问数据库,判断种类列和TextBox5.Text,然后输出全部的信息
}
if(DropDownList1.Items[2].Value.Equals(true))
{
//通过访问数据库,判断主要材料列和TextBox5.Text,然后输出全部的信息
}
}
protectedvoidbtnAdd_Click(object sender, EventArgse)
{
Response.Redirect("MenuAdd.aspx");//增加菜式,点击跳转去增加菜式的页面MenuAdd.aspx
}
菜式名是用超链接,一点击就跳转去菜单详细信息MenuDetail1.aspx界面
5.2菜式详细信息页面
5.2.1界面设计
MenuDetail1.aspx
5.2.2后台代码设计
MenuDetail1.aspx.cs
protectedvoid btnPreserve_Click(object sender,EventArgs e)
{
....//保存修改过的信息到数据库里
}
protected void btnDelete_Click(objectsender,EventArgse)
{
.....//删除这道菜式的全部信息
}
protectedvoidbtnReturn_Click(objectsender,EventArgse)
{
Response.Redirect("MenuList.aspx");//返回菜单列表 MenuList.aspx界面
}
5.3添加菜式页面
5.3.1界面设计
MenuAdd.aspx
5.3.2后台代码设计
MenuAdd.aspx.cs
protectedvoidbtnAdd_Click(objectsender, EventArgse)
{
....//增加菜式的全部信息到数据库里
}
protectedvoidbtnReset_Click(object sender,EventArgse)
{
.....//清空全部TextBox,Image1的内容
}
protectedvoidbtnReturn_Click(objectsender,EventArgs e)
{
Response.Redirect("MenuList.aspx");//返回菜单列表 MenuList.aspx界面
}
6管理端订单管理模块的详细设计
6.1订单信息列表页面
6.1.1界面设计
OrderList1.aspx
6.1.2后台代码设计
OrderList1.aspx.cs
protectedvoidbtnOrderDetail_Click(object sender, EventArgs e)
{
//跳转至订单详细页面
Response.Redirect("OrderDetail1.aspx");
}
6.2订单详细信息页面
6.2.1界面设计
OrderDetail1.aspx
OrderDetail2.aspx
该页面的主要功能为用户查看自己订单的详细信息,包括预定时间(即网上预订的就餐时间)、餐桌类型(大台或小台)、餐桌数量、所选菜式列表、订单总价。
该页中所有信息均只能查看,不能修改。
确认后即提交订单至系统,否则点击取消,删除该订单。
6.2.2后台代码设计
OrderDetail1.aspx.cs
OrderDetail2.aspx.cs
“确认提交订单”Button控件作用:
该控件将用户订单数据传至数据库
“确认提交订单”Button代码:
protectedvoid Ok_Button1_Click(objectsender,EventArgs e)
{
//提交订单至数据库,并进行友好提示
//连接数据库
stringsqlconnstr =ConfigurationManager.ConnectionStrings["***"].ConnectionString;
SqlConnectionsqlconn=new SqlConnection(sqlconnstr);
DataSetds=new DataSet();
DataTabledtable;
DataRowdrow;
sqlconn.Open();
SqlDataAdaptersqld=newSqlDataAdapter("select *from***", sqlconn);
SqlCommandBuildercb =newSqlCommandBuilder(sqld);
sqld.Fill(ds,"tab***");
dtable=ds.Tables["tab***"];
drow=dtable.NewRow();
//插入数据(略)
dtable.Rows.Add(drow);
sqld.Update(ds,"tab***");
sqlconn.Close();
sqlconn=null;
//进行友好提示,并跳转至主页
this.Response.Write(" <scriptlanguage=javascript>alert('下定成功!
欢迎再次预订!
');window.window.location.href='MenuList2.aspx';</script>");
}
“取消”Button控件作用:
若用户不需要该订单可点击该控件,删除订单
“取消”Button代码:
protected voidCancel_Button2_Click(objectsender,EventArgs e)
{
//删除订单,并进行友好提示
//删除订单
//友好提示,并跳转至主页
this.Response.Write("<script language=javascript>alert('取消成功!
欢迎再次预订!
');window.window.location.href='MenuList2.aspx';</script>");
}
6.3预订菜式页面
6.3.1界面设计
OrderingFood.aspx
该页面的主要作用在于查看用户自己已选定的菜式,若未选菜式,则不显示“生成订单”Button控件,仅显示“选择菜式”Button控件。
菜式列表选用GridView控件,与数据库绑定后显示包括菜名、单价、数量、总价等信息。
6.3.2后台代码设计
OrderingFood.aspx.cs
“生成订单”Button控件作用:
用户在查看完自己所选菜式详细信息后,若确定已选够所需菜式,点击该按钮,跳转至详细订单信息页面。
“生成订单”Button代码:
protectedvoidFinish_Button1_Click(objectsender, EventArgse)
{
//跳转至生成订单页面
Response.Redirect("OrderDetail2.aspx");
}
“选择菜式”Button控件作用:
若用户未选择任何菜式或者查看后需继续选择菜式,则该控件提供跳转至菜式主页功能,用户可在菜式主页选择或继续选择菜式。
“选择菜式”Button代码:
protectedvoid Select_Button2_Click(object sender,EventArgse)
{
//跳转至菜式选择主页面
Response.Redirect("MenuList2.aspx");
}
6.4菜式信息列表页面
6.4.1界面设计
MeunList.aspx
见5.1.1节
6.4.2后台代码设计
MeunList.aspx.cs
见5.1.2节
6.5订单信息列表页面
6.5.1界面设计
MenuDetail2.aspx
6.5.2后台代码设计
MenuDetail2.aspx.cs
protectedvoid btnOrders_Click(objectsender,EventArgs e)
{
.....//生成订单,记录到数据库里
}
protected voidbtnReturn_Click(objectsender,EventArgse)
{
Response.Redirect("OrderList1.aspx");//返回订单列表OrderList1.aspx界面
}
7点餐管理模块的详细设计
7.1填写点餐信息页面
7.1.1界面设计
OrderBasicInfo.aspx
该页面的主要作用在于填写预定信息进行订餐操作。
若会员确定订餐后填写就餐日期、时间段,选择餐桌类型、台号。
7.1.2后台代码设计
OrderBasicInfo.aspx.cs
“下一步”Button控件作用:
会员填写日期、台号等信息后点击该按钮,进行下一步选择菜式的操作。
“下一步”Button代码:
protected voidbtnOrderNext_Click(objectsender, EventArgse)
{
//页面跳转到选择菜式页面
Response.Redirect("OrderingFood.aspx");
}
7.2查询点餐菜式页面
7.2.1界面设计
OrderingFood.aspx
见6.3.1节
7.2.2后台代码设计
OrderingFood.aspx.cs
见6.3.2节
7.3菜式信息列表页面
7.3.1界面设计
MeunList.aspx
见5.1.1节
7.3.2后台代码设计
MeunList.aspx.cs
见5.1.2节
7.4菜式详细信息页面
7.4.1界面设计
MenuDetail2.aspx
见6.5.1节
7.4.2后台代码设计
MenuDetail2.aspx.cs
见6.5.2节
7.5订单详细信息页面
7.5.1界面设计
OrderDetail2.aspx
见6.2.1节
7.5.2后台代码设计
OrderDetail2.aspx.cs
见6.2.2节
8评价管理模块的详细设计
8.1评价详细信息列表页面
8.1.1界面设计
CommentList.aspx
该页面提供管理端审核评价操作,主要为GridView控件,其中订单号、菜式名、图片、评价信息通过连接数据库获得。
管理端用户只需点击按钮改变每条评价信息的审核状态。
8.1.2后台代码设计
CommentList.aspx.cs
protectedvoid btnPass_Click(objectsender,EventArgse)
{
//相关信息提交至数据库并进行友好提示
//连接数据库
//更新操作,更改评价审核状态
//友好提示,并刷新当前页面
this.Response.Write(" alert('审核成功!
');window.opener.location.href=window.opener.location.href;");
}
protectedvoidbtnNotPass_Click(objectsender,EventArgs e)
{
//相关信息提交至数据库并进行友好提示
//连接数据库
//删除操作
//友好提示,并刷新当前页面
this.Response.Write("alert('审核成功!
');window.opener.location.href=window.opener.location.href;");
}
9报表管理模块的详细设计
9.1统计报表页面
9.1.1界面设计
ReportForms.aspx
类型
Id
描述
Textbox
day
用于进行输入日期
Textbox
Month
用于进行输入月份
Textbox
Year
用于进行输入年份
Drowdownlist
Menu
绑定菜式,可以按菜式输出
Button
statistics
点击此按钮进入菜式统计页面
9.1.2后台代码设计
ReportForms.aspx.cs
//用于对菜式Drowdownlist进行绑定数据库操作
privatevoidmenu_bind()
{
·····
}
//页面跳转,并传递报表参数。
protectedvoidstatistics_Click(objectsender,EventArgs