C#网上订餐管理系统资料.docx
- 文档编号:7837090
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:32
- 大小:683.40KB
C#网上订餐管理系统资料.docx
《C#网上订餐管理系统资料.docx》由会员分享,可在线阅读,更多相关《C#网上订餐管理系统资料.docx(32页珍藏版)》请在冰豆网上搜索。
C#网上订餐管理系统资料
郑州科技学院
C#课程设计
设计(论文)题目:
网上订餐管理系统
所在院:
信息工程学院
专业班级:
10计算机科学与技术2班
*************************
学号:
*********
指导教师:
*********************
2013年6月4日
摘要
二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。
中国的网民充分领略到“畅游天地间,网络无极限”所带来的畅快。
随着Internet的飞速发展,使得网络的应用日益的广泛。
如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。
本文主要研究如何开发餐饮管理系统,解释了开发餐饮管理系统的必要性和重要性,系统的开发在.net平台上进行,结合后端的SQLServer2005数据库技术,用C#.net进行编码,开发出一个符合企业需要,比较实用的信息管理系统。
通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考许多资料,在指导老师的帮助下,详细分析了企业管理系统的几个主要设计阶段:
需求分析、概要设计和详细设计,同时给出了系统实现的具体思想方案,并列举了实际工程中的实例创建过程、方法和效果。
该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实施阶段、系统调试和测试阶段、参考文献、附录等阶段组成。
关键词:
餐饮管理现代化,人工管理,功能模块,存储过程
1.课题的提出、现状及研究意义
近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。
然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。
XX酒店作为传统的餐饮企业也存在这些问题,进货,库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理该企业的日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。
目前,国内的餐饮管理系统几种情况是:
管理信息系统设计的初衷是服务于学校内绝大多数的业务操作人员,将业务操作人员的重复性劳动予以初场户动化,即从管理理论抽象出理想化的业务管理模式,在基于该业务模式的摹础上实现低层次的数据处理或业务流程电子化。
与国外同类应用系统及解决方案相比较,目前中国的管理软件还有一些缺憾:
第一,很多是从管理信息系统演变而来,虽然目前国内的管理软件已将模块功能扩展至学校管理或人才资本管理相关的整个业务领域,但系统在整体性、前瞻性和集成性方面仍有欠缺。
2.系统需求分析
2.1系统需求分析
作为网上订餐管理系统,首先需要具有管理员可以运用系统来进行登记的功能。
管理员拥有所有权限。
在进行登记后,员工就可以登录了,在登录以后可以对现有的信息的查看、修改等。
其次,非系统用户要登录系统必须注册且需与账号进行绑定,账号可为银行卡亦可为支付宝账号。
用户登录可以登录进行订餐,并查看相关信息,进行相关操作。
由于网上订餐管理系统是信息管理系统,利用计算机网络的巨大潜在力量、数据信息的理念,从而减少人、物及财等方面上的消耗,完成合理的资源分配。
2.2功能需求
v管理员登录系统添加员工
v管理员查看交易记录信息,查看所有用户信息
v管理员可以查看菜单,查看个人信息并修改个人信息
v员工登录查看并及时更新菜单,添加菜品类型
v员工查看今日订单,查看个人信息以及修改个人信息
v非该系统用户必须注册方可登录
v系统用户登录可以订餐,
v用户修改个人信息,查看个人交易记录
2.3系统功能模块图
3系统设计
3.1系统总体结构
根据以上对网上订餐管理系统的功能需求分析。
现对餐饮管理系统分析。
管理员登录系统添加用工信息,可以查询所有订单记录,可以查询所有用户信息,包括(员工,用户,管理员信息)。
只有管理员将该员工加入用户表,员工才可以登录该系统,员工可以查询今日订单,更新菜单信息,添加新的菜品类型。
非系统用户需注册信息方可登陆,系统用户可以订餐,并实现支付功能,该用户注册时需与卡绑定,用户可以更改个人信息,查询个人订单情况。
3.2数据库设计
在开发网上订餐管理系统之前,分析了改系统的数据量,该系统数据量主要有菜单信息,用户信息,员工信息,交易记录信息会占用较大的的的空间,所以选择用MicrosoftSQLServer2005数据库来存储这些信息,在数据库中创建了5个表来存储相关信息。
3.2.1E-R图设计
user表用户信息,包括管理员,员工主要是厨师,用户等相关信息;chushi表存储出示相关信息;caidan表存储菜品相关信息;jiaoyirecord存储交易相关信息,包括交易时间、用户等信息;card表存储银行卡的相关信息。
user表E-R图设置如图1
图1
Chushi表E-R图设置如图2
图2
Caidan表E--R图如图3
图3
Jiaoyirecord表E—R图如图4
图4
Card表E--R图如图5
图5
3.2.2数据库详细设计
由以上分析可得知数据库需要用户表,厨师表,菜单表,交易记录,卡信息表。
经深入思考理解,得到各表主键、外键,以及各表之间的联系,建立关系数据库如下:
用户表如图6:
图6
厨师表如图7:
图7
菜单表如图8:
图8
交易记录表如图9:
图9
卡信息表如图10:
图10
4系统实现
4.1系统数据库连接实现
在系统开发过程中,采用三层架构模式开发,因为要多处涉及到对数据库的连接,如果这些连接都在各个C#.NET程序中去实现,那样将会非常繁琐,代码重复量比较大,因此,为了简化这些连接操作,在开发时设计了一个可重用的类help.cs,把对数据库的操作都封装在在这个类中,需要用到时生成对象调用便可,help.cs文件的主要代码由如下所示:
classhelp
{
Staticpublicstringstr="DataSource=A0DF1AA4BE8D4FC;InitialCatalog=DingCan;IntegratedSecurity=True";
staticpublicSqlConnectionconn=newSqlConnection(str);
staticpublicSqlDataAdapteradp;
staticpublicstringusername="";
staticpublicstringuserpsw="";
staticpublicstringusertype="";
staticpublicstringusercard="";
staticpublicintcardvalue=0;//账号金额
staticpublicintuserzhifu=0;//支付金额
staticpublicstringdingname="";//订单中的菜品名称
staticpublicComboBoxcaiType1;//添加菜品类型时放菜品类型的
staticpublicintchaType=0;
}
4.2系统主要模块实现
4.2.1系统登录模块主要代码如下:
privatevoidForm1_Load(objectsender,EventArgse)
{
//生成随机的验证码
strings="";
Randomrd=newRandom();
for(inti=0;i<6;i++)
{
inttemp=rd.Next(0,10);
s=s+temp.ToString();
}
label4.Text=s;
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
stringsql="select*from[user]where用户名='"+txt_nam.Text+"'and密码='"+txt_psw.Text+"'";
SqlDataAdapteradp=newSqlDataAdapter(sql,help.conn);
DataSetds=newDataSet();
ds.Clear();
adp.Fill(ds,"001");
if(ds.Tables["001"].Rows.Count>0&&(txt_yan.Text==label4.Text))
{
help.username=txt_nam.Text;
help.userpsw=txt_psw.Text;
stringstr=ds.Tables["001"].Rows[0][3].ToString();
help.usertype=str.Trim();
MainFramemf=newMainFrame();
mf.ShowDialog();
this.Hide();
}
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
Form2f2=newForm2();
f2.ShowDialog();
}
4.2.2系统主界面模块实现主要代码如下:
该模块调用了系统实现的所有功能。
privatevoidMainFrame_Load(objectsender,EventArgse)
{
stringsql="select*from[caidan]";
help.adp=newSqlDataAdapter(sql,help.conn);
DataSetds=newDataSet();
ds.Clear();
help.adp.Fill(ds,"001");
dataGridView2.DataSource=ds.Tables["001"].DefaultView;
toolStripStatusLabel1.Text="欢迎"+help.username+"登录系统";
toolStripStatusLabel3.Text="总共用"+ds.Tables["001"].Rows.Count.ToString()+"条记录";
if(help.usertype=="员工")
{
添加员工ToolStripMenuItem.Enabled=false;
查看所有用户信息ToolStripMenuItem.Enabled=false;
查看所有订单ToolStripMenuItem.Enabled=false;
}
if(help.usertype=="用户")
{
添加员工ToolStripMenuItem.Enabled=false;
添加菜单ToolStripMenuItem.Enabled=false;
删除菜品ToolStripMenuItem.Enabled=false;
查看今日订单ToolStripMenuItem.Enabled=false;
查看所有用户信息ToolStripMenuItem.Enabled=false;
查看所有订单ToolStripMenuItem.Enabled=false;
}
}
privatevoidcontextMenuStrip1_Opening(objectsender,CancelEventArgse)
{
}
privatevoid订餐ToolStripMenuItem_Click(objectsender,EventArgse)
{
for(inti=0;i { help.dingname+=ataGridView2.SelectedRows[i].Cells[1].Value.ToString()+""; help.userzhifu+=Convert.ToInt32(dataGridView2.SelectedRows[i].Cells[3].Value.ToString()); } dingcandc=newdingcan(); dc.gengmf+=newdingcan.gengMF(dc_gengmf); dc.ShowDialog(); } privatevoidbyprice_Click(objectsender,EventArgse) { stringsql="select*from[caidan]orderby[菜品价格(元)]asc"; help.adp=newSqlDataAdapter(sql,help.conn); DataSetds=newDataSet(); ds.Clear(); help.adp.Fill(ds,"001"); dataGridView2.DataSource=ds.Tables["001"].DefaultView; MessageBox.Show("完成"); } publicvoiddc_gengmf() { stringsql="select*from[caidan]"; help.adp=newSqlDataAdapter(sql,help.conn); DataSetds=newDataSet(); ds.Clear(); help.adp.Fill(ds,"001"); dataGridView2.DataSource=ds.Tables["001"].DefaultView; } privatevoidbySell_Click(objectsender,EventArgse) { stringsql="select*from[caidan]orderby销量desc"; help.adp=newSqlDataAdapter(sql,help.conn); DataSetds=newDataSet(); ds.Clear(); help.adp.Fill(ds,"001"); dataGridView2.DataSource=ds.Tables["001"].DefaultView; MessageBox.Show("完成"); } privatevoidbyType_Click(objectsender,EventArgse) { stringsql="select*from[caidan]orderby菜品类型"; help.adp=newSqlDataAdapter(sql,help.conn); DataSetds=newDataSet(); ds.Clear(); help.adp.Fill(ds,"001"); dataGridView2.DataSource=ds.Tables["001"].DefaultView; MessageBox.Show("完成"); } privatevoid添加员工ToolStripMenuItem_Click(objectsender,EventArgse) { Addyuangongad=newAddyuangong(); ad.ShowDialog(); } privatevoid添加菜单ToolStripMenuItem_Click(objectsender,EventArgse) { AddCaidanac=newAddCaidan(); ac.ShowDialog(); } privatevoid删除菜品ToolStripMenuItem_Click(objectsender,EventArgse) { if(dataGridView2.SelectedRows.Count==0) { MessageBox.Show("没有选中行,请选择您要删除的菜单项! "); } SqlCommandcmd; help.conn.Open(); for(inti=0;i { cmd=newSqlCommand(); cmd.CommandText="deletefrom[caidan]where菜品编号='"+dataGridView2.SelectedRows[i].Cells[0].Value.ToString()+"'"; cmd.Connection=help.conn; cmd.ExecuteNonQuery(); } help.conn.Close(); dc_gengmf(); } privatevoid密码修改ToolStripMenuItem_Click(objectsender,EventArgse) { PersonMsgpm=newPersonMsg(); pm.ShowDialog(); } privatevoid查看所有用户信息ToolStripMenuItem_Click(objectsender,EventArgse) { ChaInforCI=newChaInfor(); help.chaType=0; CI.ShowDialog(); } privatevoid查看今日订单ToolStripMenuItem_Click(objectsender,EventArgse) { ChaInforCI=newChaInfor(); help.chaType=1; CI.ShowDialog(); } privatevoid查看所有订单ToolStripMenuItem_Click(objectsender,EventArgse) { ChaInforCI=newChaInfor(); help.chaType=2; CI.ShowDialog(); } privatevoid查看个人订单ToolStripMenuItem_Click(objectsender,EventArgse) { ChaInforCI=newChaInfor(); help.chaType=3; CI.ShowDialog(); } 4.2.3系统客户订餐实现主要代码如下: privatevoidbutton1_Click(objectsender,EventArgse) { if((MessageBox.Show("请输入账号和密码? ","提醒",MessageBoxButtons.YesNo)==DialogResult.Yes)) { zhifuzh=newzhifu(); zh.genggai+=newzhifu.gengxiaoliang(zh_genggai); zh.ShowDialog(); help.userzhifu=Convert.ToInt32(textBox2.Text.ToString()); } } privatevoiddingcan_Load(objectsender,EventArgse) { textBox1.Text=help.dingname; textBox2.Text=help.userzhifu.ToString(); } publicvoidzh_genggai() { gengmf(); } privatevoidbutton1_Click(objectsender,EventArgse) { stringsql="select*from[card]where账号编码='"+textBox1.Text+"'and账号密码='"+textBox2.Text+"'"; help.adp=newSqlDataAdapter(sql,help.conn); DataSetds=newDataSet(); ds.Clear(); help.adp.Fill(ds,"001"); if(ds.Tables["001"].Rows.Count>0) { if(Convert.ToInt32(ds.Tables["001"].Rows[0][2])>=help.userzhifu) { try { intvalue=Convert.ToInt32(ds.Tables["001"].Rows[0][2])-help.userzhifu; stringtext="updatecardset账号金额='"+value.ToString()+"'where账号编码='"+textBox1.Text+"'"; SqlCommandcmd=newSqlCommand(text,help.conn); help.conn.Open(); if(cmd.ExecuteNonQuery()==1) {MessageBox.Show("交易成功! ");} help.conn.Close(); //生成交易记录 stringtime=DateTime.Now.ToString(); stringtext1="insertintojiaoyirecordvalues('"+help.username+"','"+help.dingname+"','"+help.userzhi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 网上 管理 系统 资料