收藏 分销(赏)

餐饮服务管理系统数据库课程设计样本.doc

上传人:人****来 文档编号:3632781 上传时间:2024-07-11 格式:DOC 页数:56 大小:2.16MB
下载 相关 举报
餐饮服务管理系统数据库课程设计样本.doc_第1页
第1页 / 共56页
餐饮服务管理系统数据库课程设计样本.doc_第2页
第2页 / 共56页
餐饮服务管理系统数据库课程设计样本.doc_第3页
第3页 / 共56页
餐饮服务管理系统数据库课程设计样本.doc_第4页
第4页 / 共56页
餐饮服务管理系统数据库课程设计样本.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、上海应用技术学院课程设计任务书课程名称数据库原理及应用课程设计设计题目餐饮服务管理系统设计时间 7 月 6 日 年7月 17日系(院)计算机科学和信息工程学院专业网络工程班级一、 课程设计任务(条件)、具体技术参数(指标)经过两周课程设计,要求学生加深对数据库技术相关理论了解,增强动手能力,掌握使用现行较为流行数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)方法;具体应用方面,要求学生对SQL语言要有较深入了解和掌握,结合高级语言编程,以小组协作方法完成一个应用系统设计。此次课程设计包含两大部分内容:设计软件和设计汇报。其中设计软件在题

2、目验收时由指导老师检验,具体内容不一样,系统要求不一样;设计汇报作为书面材料提交。二、对课程设计结果要求(包含课程设计说明书、图纸、图表、实物等软硬件要求)1、每个小组提交设计数据库和应用程序相关文档,每位同学提交一份课程设计汇报,内容要包含设计题目、设计目标、需求分析、系统功效描述、系统E-R图、关系模式设计、各数据库表建立(代码)、系统各功效实现(代码)、系统功效评价等。2、课程设计汇报电子版排版次序: 任务书 目录 正文 附录。3、每个同学要针对自己完成系统功效,写出对设计技术分析、对系统测试、在编码和调试过程中碰到问题和处理方法等。4、课程设计汇报最终写出此次设计心得体会。三、课程设计

3、工作进度计划1、课程设计第1周第1天:分组、小组任务分工、讨论系统功效2、第1周第2天:需求分析,资料准备等3、第1周第3天-第5天:概念设计、逻辑设计、物理设计、界面设计4、第2周第1天-第3天:编程和测试,撰写设计汇报5、第2周第4天-第5天:课程设计检验,小组答辩,个人提交设计汇报四、关键参考资料1、数据库原理及应用 雷景生主编 清华大学出版社 ,1, 第一版 请同学根据以上格式再填写2-3本参考书,或参考资料所属网址指导老师(署名): 教研室主任(署名): 7月 17 日 年 7月 17 日目 录1概述11.1餐饮管理系统目标11.2开发环境及工具11.3小组分工22需求分析32.1问

4、题陈说32.2功效需求32.3系统总体功效模块图33概念结构设计53.1设计思想53.2系统总E-R图63.3局部ER图73.4实体属性描述84逻辑结构设计114.1关系模式114.2建表逻辑设计115物理结构设计135.1数据流图135.1.1总体数据流图135.1.2分功效数据数据流图155.2数据字典165.2.1数据项165.2.2数据结构165.2.3数据流175.2.4数据存放175.2.5处理过程176数据库实施196.1界面设计196.1.1登录界面设计196.1.2登录界面关键代码196.1.3主界面设计216.1.4主界面对应代码216.2桌台信息管理246.2.1桌台管理

5、模块页面设计246.2.2桌台管理关键代码266.3菜单管理设计336.3.1菜单管理界面设计336.3.2菜单管理功效关键代码346.4数据存放和表设计376.4.1菜单数据存放376.4.2桌台信息数据存放377结束语398参考文件40参考文件411 概述多年来,伴随人民生活水平不停提升,餐饮业消费连续增加,竞争愈来愈猛烈。然而,传统餐饮企业日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基础上由人工完成统计,这么做不仅花费人力资源而且轻易造成统计丢失或反复等错误,造成管理水平低下。这就迫切需要标准、高效率计算机管理方法引导其发展,经过计算机管理该企业日常运作,给管理者以决议参考模

6、型,来不停完善管理水平,提升工作效率。本系统选择现在市场上价格比较低廉数据库服务器产品: sql server及配套平台Windows XP。而前台开发工具采取.NET,语言用C#,利用其可视化开发环境、丰富控件资源,快速开发出了餐饮管理信息系统应用程序。1.1 餐饮管理系统目标面对服务行业高速发展和餐饮企业信息发展过程中出现多种情况,本系统应达成以下目标:l 系统采取人机交互方法,界面美观友好,信息查询灵活、方便,数据存放安全可靠。l 实现对餐厅用户开台、点菜/加菜、账目查询和结账等操作。l 对用户输入数据,进行严格数据检验,尽可能避免人为错误。l 实现对消费账目自动结算。l 实现对消费历史

7、统计进行查询,支持模糊查询。l 系统应最大程度地实现易维护性和易操作性1.2 开发环境及工具数据库环境选择SQL server 汉字版;前台编程语言使用C#语言来编写。开发环境使用Windows xp 系统。1.3 小组分工:职员管理模块、用户管理模块:辅助功效设计、结账模块:桌台管理模块、菜单管理模块:消费查询模块、点餐加餐模块2 需求分析问题陈说、系统需完成功效;系统总体功效模块图,即描述每一个功效所完成任务情况。个人完成部分数据流图或数据字典。2.1 问题陈说伴随餐饮业不停发展,餐饮管理系统内容对于餐饮业决议者和管理者来说全部很关键。本系统关键包含桌台显示、消费查询、人事档案管理及权限等

8、极大部分功效,含有良好用户接口,使用方便;含有完善查询,对于维护系统起到了辅助决议作用,能立即、方便进行查询修改删除等维护性操作。2.2 功效需求餐饮管理系统中关键包含对以下多个功效:基础信息模块,开台消费,辅助工具模块,系统维护模块,系统设置模块,登录退出模块。基础信息模块:包含职员管理功效,能够进行职员信息增加,删除,查询,修改功效;桌台信息管理:包含对桌台信息增加,删除,查询,修改功效。开台消费模块:开台、取消开台、点菜加菜、消费查询、结账等功效。辅助功效模块:直接调用日历,记事本,计算器功效,方便用户使用。系统维护模块:数据库备份和恢复系统设置模块:锁定系统、用户设置,对于用户信息进行

9、增加,删除,查询,修改。登录退出模块:用户登录和退出。2.3 系统总体功效模块图餐饮管理系统 基础信息开台消费辅助工具系统维护系统设置退 出桌台信息管理职员信息管理菜单修改开台单点菜加菜消费查询结账日历记事本计算器备份数据库恢复数据库系统锁定用户管理退出登录3 概念结构设计设计思想、系统总ER图。 个人完成部分局部ER图,要有实体属性描述。3.1 设计思想餐饮管理系统设计思想应该包含以下多个功效模块:基础信息模块:包含职员管理功效,能够进行职员信息增加,删除,查询,修改功效;桌台信息管理:包含对桌台信息增加,删除,查询,修改功效。开台消费模块:开台、取消开台、点菜加菜、消费查询、结账等功效。辅

10、助功效模块:直接调用日历,记事本,计算器功效,方便用户使用。系统维护模块:数据库备份和恢复系统设置模块:锁定系统、用户设置,对于用户信息进行增加,删除,查询,修改。登录退出模块:用户登录和退出。3.2 系统总E-R图用户订餐服务员系统管理管理桌台桌台系统管理员1nmmnm用户订单1餐饮管理系统E-R图结账账单票据1菜单信息服务员信息mmn管理员账户信息mm13.3 局部ER图经理桌台信息增、删、改、查更新后桌台1N服务员开台用户NN1服务桌台管理E-R图经理菜单信息增、删、改、查更新后菜单1N服务员开台用户NN1服务点菜订单信息11菜单信息管理E-R图3.4 实体属性描述桌台(桌台编号、桌台名

11、称、桌台简称、桌台包间费、桌台位置、桌台状态、桌台类型、桌台备注、桌台其它信息、)桌台备注桌台简称桌台桌台名称桌台编号桌台其它信息桌台类型桌台状态桌台位置桌台位置桌台包间费服务员(服务员编号. 服务员姓名、身份证号码、性别、年纪、电话)服务员姓名年纪性别服务员姓名服务员身份证号码电话用户(用户ID、用户登录名、用户登录密码、用户权限)用户登录密码用户登录名用户ID用户权限用户用户实体E-R图菜肴(菜品编号,菜品名称,菜品类别,菜品价格)菜品类别菜品名称菜品编号菜品价格菜肴4 逻辑结构设计完成E-R图转换为关系模式,分析关系模式是否符合一定等级范式要求,不符合话需要进行模式分解。紫颜色字体内容为

12、可选。4.1 关系模式桌台(桌台编号、桌台名称、桌台简称、桌台包间费、桌台位置、桌台状态、桌台类型、桌台备注、桌台其它信息、用户姓名、开台时间、用户人数、操作员姓名)结账(消费桌台、菜品代号、菜品名称、消费数量、菜品价格、操作员姓名、备注、消费时间)订餐(菜品类别编号、菜品代号、菜品名称、菜品价格)类别(类别编号、菜品类别名称)职员(职员编号. 职员姓名、身份证号码、性别、年纪、电话)系统管理(用户ID、用户登录名、用户登录密码、用户权限)4.2 建表逻辑设计表-dbo.tb_food表-dbo.tb_GuestFood 表-dbo.tb_Room表-dbo.tb.User表-dbo.tb_W

13、aiter5 物理结构设计(1) 确定数据存放位置、系统配置等。个人负担模块所所包含表结构、各属性名称、数据类型、约束等说明。5.1 数据流图5.1.1 总体数据流图系统管理员服务员餐饮管理系统收银、账单信息菜单信息商品信息信息桌台信息顶层数据流图系统管理员服务员打印账单票据查询用户订单用户菜单统计人事管理财务管理菜单管理增、删、改职员表财务统计菜单统计菜单信息处理菜单统计结账订单票据总菜单信息用户安排桌台用户信息账单统计桌台信息桌台统计点餐用户菜单信息找零收银餐饮管理系统数据流图5.1.2 分功效数据数据流图服务员查询用户订单用户菜单统计结账用户安排桌台桌台信息桌台统计桌台信息管理数据流图系

14、统管理员菜单管理增、删、改菜单统计菜单信息处理菜单统计菜单管理数据流图5.2 数据字典5.2.1 数据项桌台信息:编号数据项名数据项含义说明数据类型长度和其它数据项关系是否能够为空1RoomID桌台编号int4主键不2RoomName桌台名称char10不3RoomJC桌台简称char10不4RoomBJF桌台包间费decimal9不5RoomWZ桌台位置char10不6RoomZT桌台状态char10不7RoomType桌台类型char10不8RoomBZ桌台备注varchar509RoomQT桌台其它信息varchar5010GuestName用户姓名varchar5011zhangdan

15、Date开台时间datetime12Num用户人数Int4不13WaiterName操作员姓名Varchar50不菜单管理编号数据项名数据项含义说明数据类型长度和其它数据项关系是否能够为空1foodnum商品代号char10主键不2foodname商品名称varchar50不3foodsum消费数量char10不4foodallprice商品价格decimal9不5waitername操作员姓名varchar50不6beizhu备注varchar507zhuotai消费桌台char10不8datatime消费时间datetime不5.2.2 数据结构编号数据结构名属 性1菜品信息类别编号,菜品

16、代号,菜品名称,菜品价格2菜品类别菜品类别编号, 菜品类别名称3用户消费用户编号,菜品代号,菜品名称,消费数量,菜品价格,操作员姓名,备注,消费桌台,消费时间4桌台安排桌台编号,桌台名称,桌台简称,桌台包间费,桌台位置,桌台状态,桌台类型,桌台备注,桌台其它信息,用户姓名,开台时间,用户人数,操作员姓名5职员职员编号,职员姓名,身份证号码,性别,年纪,电话 5.2.3 数据流编号数据流名输 入输 出1变更菜品信息新菜品信息菜品统计2查询菜品信息菜品信息菜品统计3变更人事信息变更人事信息人事统计4变更菜单信息变更菜单信息菜单总信息5变更财务信息新账单信息账单统计6用户信息用户信息桌台统计7用户所

17、订菜单用户所订菜单菜单统计8结账金额账单统计5.2.4 数据存放数据存放名输入数据流输出数据流变更人事变更人事信息人事统计变更菜单变更菜单信息菜单总信息变更财务新账单信息账单统计用户信息用户信息桌台统计用户所订菜单用户所订菜单菜单统计结账金额账单统计5.2.5 处理过程处理过程名输入数据流输出数据流查询人事信息+桌台信息+账单+菜单人事信息+桌台信息+账单+菜单增、删、改人事信息+桌台信息+账单+菜单人事信息+桌台信息+账单+菜单更新人事信息+桌台信息+账单+菜单人事信息+桌台信息+账单+菜单用户权限认证用户名,密码,身份系统主菜单6 数据库实施界面设计、建表、数据输入、应用程序设计和调试等、

18、数据库运行和维护(数据库安全性完整性控制、数据库备份)等。汇报中能够先展示系统登录和主界面,关键写个人负担内容,能够包含-数据库中表、视图、存放过程(假如使用)结构和定义(能够用SQL脚本提供)、表间关系、界面和代码段、测试用例和结果等。6.1 界面设计6.1.1 登录界面设计6.1.2 登录界面关键代码namespace MrCy public partial class frmLogin : Form public frmLogin() InitializeComponent(); private void Form1_Load(object sender, EventArgs e) tx

19、tName.Focus(); private void txtPwd_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = 13) btnSubmit_Click(sender, e); private void btnSubmit_Click(object sender, EventArgs e) if (txtName.Text = ) MessageBox.Show(请输入用户名, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtPwd.Tex

20、t = ) MessageBox.Show(请输入密码, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); else SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select count(*) from tb_User where UserName= + txtName.Text + and UserPwd= + txtPwd.Text + , conn); int i = Convert.ToInt32

21、(cmd.ExecuteScalar(); if (i 0) cmd = new SqlCommand(select * from tb_User where UserName= + txtName.Text + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string UserPower = sdrpower.ToString().Trim(); conn.Close(); Main main = new Main(); main.power = UserPower; main.Names = txtName.T

22、ext; main.Times = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); else MessageBox.Show(用户名或密码错误); private void btnConcel_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出系统吗?, 提醒, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) = DialogResult.OK) Application.Exit(); 6.1.3 主

23、界面设计6.1.4 主界面对应代码 private void Main_Load(object sender, EventArgs e) switch (power) case 0: toolStripStatusLabel5.Text = 超级管理员; break; case 1: toolStripStatusLabel5.Text = 经理; break; case 2: toolStripStatusLabel5.Text = 服务员; break; toolStripStatusLabel2.Text = Names; toolStripStatusLabel8.Text = Tim

24、es; if (power = 2) button1.Enabled = false; button4.Enabled = false; button5.Enabled = false; if (power = 1) button4.Enabled = false; button5.Enabled = false; listView1.Height = 0; listView2.Height = 0; private void button1_Click(object sender, EventArgs e) listView2.Height = 480; listView1.Height =

25、 0; listView2.Clear(); listView2.Items.Add(桌台信息, 9); listView2.Items.Add(职员信息, 18); listView2.Items.Add(菜单修改, 19); private void AddItems(string rzt) string rName = sdrRoomName.ToString().Trim(); if (rzt = 使用) if (rName.Substring(0, rName.IndexOf(-) = 大厅) listView1.Items.Add(sdrRoomName.ToString(), 1

26、); else listView1.Items.Add(sdrRoomName.ToString(), 3); else if (rName.Substring(0, rName.IndexOf(-) = 大厅) listView1.Items.Add(sdrRoomName.ToString(), 0); else listView1.Items.Add(sdrRoomName.ToString(), 2); private void frmMain_Activated(object sender, EventArgs e) listView1.Items.Clear(); SqlConne

27、ction conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_Room, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() string zt = sdrRoomZT.ToString().Trim(); AddItems(zt); conn.Close(); private void button2_Click(object sender, EventArgs e) listView1.Height

28、= 480; listView2.Height = 0; frmMain_Activated(sender,e); private void button3_Click(object sender, EventArgs e) listView2.Height = 480; listView1.Height = 0; listView2.Clear(); listView2.Items.Add(日历, 13); listView2.Items.Add(记事本, 10); listView2.Items.Add(计算器, 11); private void button4_Click(object

29、 sender, EventArgs e) listView2.Height = 480; listView1.Height = 0; listView2.Clear(); listView2.Items.Add(系统备份, 16); listView2.Items.Add(系统恢复, 15); private void button5_Click(object sender, EventArgs e) listView2.Height = 480; listView1.Height = 0; listView2.Clear(); listView2.Items.Add(锁定系统, 14);

30、listView2.Items.Add(用户管理, 15); private void button6_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出登录吗?, 提醒, MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) = DialogResult.OK) this.Hide(); frmLogin fms = new frmLogin(); fms.Show(); private void listView1_DoubleClick(object sender,

31、 EventArgs e) frmDetails details = new frmDetails(); details.TableName = listView1.SelectedItems0.SubItems0.Text; details.ShowDialog(); private void listView2_DoubleClick(object sender, EventArgs e) if (listView2.SelectedItems0.SubItems0.Text = 桌台信息) Desks mDes = new Desks(); mDes.ShowDialog(); if (

32、listView2.SelectedItems0.SubItems0.Text = 职员信息) Staff zy = new Staff(); zy.ShowDialog(); if (listView2.SelectedItems0.SubItems0.Text = 菜单修改) cdAlter cd = new cdAlter(); cd.ShowDialog(); if (listView2.SelectedItems0.SubItems0.Text = 系统备份) frmBF bf = new frmBF(); bf.ShowDialog(); if (listView2.Selecte

33、dItems0.SubItems0.Text = 系统恢复) frmHF hf = new frmHF(); hf.ShowDialog(); if (listView2.SelectedItems0.SubItems0.Text = 用户管理) userAlter usa = new userAlter(); usa.ShowDialog(); if (listView2.SelectedItems0.SubItems0.Text = 日历) frmCalender rl = new frmCalender(); rl.ShowDialog(); if (listView2.SelectedItems0.SubItems0.Text = 记事本)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服