收藏 分销(赏)

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

上传人:人****来 文档编号:3632781 上传时间:2024-07-11 格式:DOC 页数:56 大小:2.16MB 下载积分:14 金币
下载 相关 举报
餐饮服务管理系统数据库课程设计样本.doc_第1页
第1页 / 共56页
餐饮服务管理系统数据库课程设计样本.doc_第2页
第2页 / 共56页


点击查看更多>>
资源描述
上海应用技术学院课程设计任务书 课程名称 数据库原理及应用课程设计 设计题目 餐饮服务管理系统 设计时间 7 月 6 日 —— 年7月 17日 系(院) 计算机科学和信息工程学院 专业 网络工程 班级 一、 课程设计任务(条件)、具体技术参数(指标) 经过两周课程设计,要求学生加深对数据库技术相关理论了解,增强动手能力,掌握使用现行较为流行数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)方法;具体应用方面,要求学生对SQL语言要有较深入了解和掌握,结合高级语言编程,以小组协作方法完成一个应用系统设计。 此次课程设计包含两大部分内容:设计软件和设计汇报。其中设计软件在题目验收时由指导老师检验,具体内容不一样,系统要求不一样;设计汇报作为书面材料提交。 二、对课程设计结果要求(包含课程设计说明书、图纸、图表、实物等软硬件要求) 1、每个小组提交设计数据库和应用程序相关文档,每位同学提交一份课程设计汇报,内容要包含设计题目、设计目标、需求分析、系统功效描述、系统E-R图、关系模式设计、各数据库表建立(代码)、系统各功效实现(代码)、系统功效评价等。 2、课程设计汇报电子版排版次序: 任务书 → 目录 → 正文 → 附录。 3、每个同学要针对自己完成系统功效,写出对设计技术分析、对系统测试、在编码和调试过程中碰到问题和处理方法等。 4、课程设计汇报最终写出此次设计心得体会。 三、课程设计工作进度计划 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 概述 1 1.1 餐饮管理系统目标 1 1.2 开发环境及工具 1 1.3 小组分工 2 2 需求分析 3 2.1 问题陈说 3 2.2 功效需求 3 2.3 系统总体功效模块图 3 3 概念结构设计 5 3.1 设计思想 5 3.2 系统总E--R图 6 3.3 局部E-R图 7 3.4 实体属性描述 8 4 逻辑结构设计 11 4.1 关系模式 11 4.2 建表逻辑设计 11 5 物理结构设计 13 5.1 数据流图 13 5.1.1 总体数据流图 13 5.1.2 分功效数据数据流图 15 5.2 数据字典 16 5.2.1 数据项 16 5.2.2 数据结构 16 5.2.3 数据流 17 5.2.4 数据存放 17 5.2.5 处理过程 17 6 数据库实施 19 6.1 界面设计 19 6.1.1 登录界面设计 19 6.1.2 登录界面关键代码 19 6.1.3 主界面设计 21 6.1.4 主界面对应代码 21 6.2 桌台信息管理 24 6.2.1 桌台管理模块页面设计 24 6.2.2 桌台管理关键代码 26 6.3 菜单管理设计 33 6.3.1 菜单管理界面设计 33 6.3.2 菜单管理功效关键代码 34 6.4 数据存放和表设计 37 6.4.1 菜单数据存放 37 6.4.2 桌台信息数据存放 37 7 结束语 39 8 参考文件 40 参考文件 41 1 概述 多年来,伴随人民生活水平不停提升,餐饮业消费连续增加,竞争愈来愈猛烈。然而,传统餐饮企业日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基础上由人工完成统计,这么做不仅花费人力资源而且轻易造成统计丢失或反复等错误,造成管理水平低下。这就迫切需要标准、高效率计算机管理方法引导其发展,经过计算机管理该企业日常运作,给管理者以决议参考模型,来不停完善管理水平,提升工作效率。 本系统选择现在市场上价格比较低廉数据库服务器产品: sql server及配套平台Windows XP。而前台开发工具采取.NET,语言用C#,利用其可视化开发环境、丰富控件资源,快速开发出了餐饮管理信息系统应用程序。 1.1 餐饮管理系统目标 面对服务行业高速发展和餐饮企业信息发展过程中出现多种情况,本系统应达成以下目标: l 系统采取人机交互方法,界面美观友好,信息查询灵活、方便,数据存放安全可靠。 l 实现对餐厅用户开台、点菜/加菜、账目查询和结账等操作。 l 对用户输入数据,进行严格数据检验,尽可能避免人为错误。 l 实现对消费账目自动结算。 l 实现对消费历史统计进行查询,支持模糊查询。 l 系统应最大程度地实现易维护性和易操作性 1.2 开发环境及工具 数据库环境选择SQL server 汉字版;前台编程语言使用C#语言来编写。 开发环境使用Windows xp 系统。 1.3 小组分工 :职员管理模块、用户管理模块 :辅助功效设计、结账模块 :桌台管理模块、菜单管理模块 :消费查询模块、点餐加餐模块 2 需求分析 问题陈说、系统需完成功效;系统总体功效模块图,即描述每一个功效所完成任务情况。个人完成部分数据流图或数据字典。 2.1 问题陈说 伴随餐饮业不停发展,餐饮管理系统内容对于餐饮业决议者和管理者来说全部很关键。本系统关键包含桌台显示、消费查询、人事档案管理及权限等极大部分功效,含有良好用户接口,使用方便;含有完善查询,对于维护系统起到了辅助决议作用,能立即、方便进行查询修改删除等维护性操作。 2.2 功效需求 餐饮管理系统中关键包含对以下多个功效:基础信息模块,开台消费,辅助工具模块,系统维护模块,系统设置模块,登录退出模块。 基础信息模块:包含职员管理功效,能够进行职员信息增加,删除,查询,修改功效;桌台信息管理:包含对桌台信息增加,删除,查询,修改功效。 开台消费模块:开台、取消开台、点菜加菜、消费查询、结账等功效。 辅助功效模块:直接调用日历,记事本,计算器功效,方便用户使用。 系统维护模块:数据库备份和恢复 系统设置模块:锁定系统、用户设置,对于用户信息进行增加,删除,查询,修改。 登录退出模块:用户登录和退出。 2.3 系统总体功效模块图 餐饮管理系统 基础信息 开台消费 辅助工具 系统维护 系统设置 退 出 桌台信息管理 职员信息管理 菜单修改 开台单 点菜加菜 消费查询 结账 日历 记事本 计算器 备份数据库 恢复数据库 系统锁定 用户管理 退出登录 3 概念结构设计 设计思想、系统总E-R图。 个人完成部分局部E-R图,要有实体属性描述。 3.1 设计思想 餐饮管理系统设计思想应该包含以下多个功效模块: 基础信息模块:包含职员管理功效,能够进行职员信息增加,删除,查询,修改功效;桌台信息管理:包含对桌台信息增加,删除,查询,修改功效。 开台消费模块:开台、取消开台、点菜加菜、消费查询、结账等功效。 辅助功效模块:直接调用日历,记事本,计算器功效,方便用户使用。 系统维护模块:数据库备份和恢复 系统设置模块:锁定系统、用户设置,对于用户信息进行增加,删除,查询,修改。 登录退出模块:用户登录和退出。 3.2 系统总E--R图 用户 订餐 服务员 系统管理 管理桌台 桌台 系统管理员 1 n m m n m 用户订单 1 餐饮管理系统E-R图 结账 账单票据 1 菜单信息 服务员信息 m m n 管理员账户信息 m m 1 3.3 局部E-R图 经理 桌台信息增、删、改、查 更新后桌台 1 N 服务员 开台 用户 N N 1 服务 桌台管理E-R图 经理 菜单信息增、删、改、查 更新后菜单 1 N 服务员 开台 用户 N N 1 服务 点菜 订单信息 1 1 菜单信息管理E-R图 3.4 实体属性描述 桌台(桌台编号、桌台名称、桌台简称、桌台包间费、桌台位置、桌台状态、桌台类型、桌台备注、桌台其它信息、) 桌台备注 桌台简称 桌台 桌台名称   桌台编号   桌台其它信息  桌台类型 桌台状态 桌台位置 桌台位置 桌台包间费 服务员(服务员编号. 服务员姓名、身份证号码、性别、年纪、电话) 服务员姓名  年纪 性别 服务员姓名 服务员 身份证号码   电话   用户(用户ID、用户登录名、用户登录密码、用户权限) 用户登录密码    用户登录名 用户ID 用户权限 用户 用户实体E-R图 菜肴(菜品编号,菜品名称,菜品类别,菜品价格) 菜品类别   菜品名称 菜品编号  菜品价格 菜肴 4 逻辑结构设计 完成E-R图转换为关系模式,分析关系模式是否符合一定等级范式要求,不符合话需要进行模式分解。紫颜色字体内容为可选。 4.1 关系模式 桌台(桌台编号、桌台名称、桌台简称、桌台包间费、桌台位置、桌台状态、桌台类型、桌台备注、桌台其它信息、用户姓名、开台时间、用户人数、操作员姓名) 结账(消费桌台、菜品代号、菜品名称、消费数量、菜品价格、操作员姓名、备注、消费时间) 订餐(菜品类别编号、菜品代号、菜品名称、菜品价格) 类别(类别编号、菜品类别名称) 职员(职员编号. 职员姓名、身份证号码、性别、年纪、电话) 系统管理(用户ID、用户登录名、用户登录密码、用户权限) 4.2 建表逻辑设计 表-dbo.tb_food 表-dbo.tb_GuestFood 表-dbo.tb_Room 表-dbo.tb.User 表-dbo.tb_Waiter 5 物理结构设计 (1) 确定数据存放位置、系统配置等。个人负担模块所所包含表结构、各属性名称、数据类型、约束等说明。 5.1 数据流图 5.1.1 总体数据流图 系统管理员 服务员 餐饮管理系统 收银、账单信息 菜单信息 商品信息信息 桌台信息 顶层数据流图 系统管理员 服务员 打印账单票据 查询用户订单 用户菜单统计 人事管理 财务管理 菜单管理 增、删、改 职员表   财务统计 菜单统计     菜单信息处理 菜单统计  结账 订单票据   总菜单信息 用户 安排桌台 用户信息 账单统计   桌台信息 桌台统计     点餐 用户菜单信息 找零 收银 餐饮管理系统数据流图 5.1.2 分功效数据数据流图 服务员 查询用户订单 用户菜单统计  结账   用户 安排桌台 桌台信息 桌台统计 桌台信息管理数据流图 系统管理员 菜单管理 增、删、改 菜单统计   菜单信息处理 菜单统计   菜单管理数据流图 5.2 数据字典 5.2.1 数据项 桌台信息: 编号 数据项名 数据项含义说明 数据类型 长度 和其它数据项关系 是否能够为空 1 RoomID 桌台编号 int 4 主键 不 2 RoomName 桌台名称 char 10 不 3 RoomJC 桌台简称 char 10 不 4 RoomBJF 桌台包间费 decimal 9 不 5 RoomWZ 桌台位置 char 10 不 6 RoomZT 桌台状态 char 10 不 7 RoomType 桌台类型 char 10 不 8 RoomBZ 桌台备注 varchar 50 9 RoomQT 桌台其它信息 varchar 50 10 GuestName 用户姓名 varchar 50 11 zhangdanDate 开台时间 datetime 12 Num 用户人数 Int 4 不 13 WaiterName 操作员姓名 Varchar 50 不 菜单管理 编号 数据项名 数据项含义说明 数据类型 长度 和其它数据项关系 是否能够为空 1 foodnum 商品代号 char 10 主键 不 2 foodname 商品名称 varchar 50 不 3 foodsum 消费数量 char 10 不 4 foodallprice 商品价格 decimal 9 不 5 waitername 操作员姓名 varchar 50 不 6 beizhu 备注 varchar 50 7 zhuotai 消费桌台 char 10 不 8 datatime 消费时间 datetime 不 5.2.2 数据结构 编号 数据结构名 属 性 1 菜品信息 类别编号,菜品代号,菜品名称,菜品价格 2 菜品类别 菜品类别编号, 菜品类别名称 3 用户消费 用户编号,菜品代号,菜品名称,消费数量,菜品价格,操作员姓名,备注,消费桌台,消费时间 4 桌台安排 桌台编号,桌台名称,桌台简称,桌台包间费,桌台位置,桌台状态,桌台类型,桌台备注,桌台其它信息,用户姓名,开台时间,用户人数,操作员姓名 5 职员 职员编号,职员姓名,身份证号码,,性别,年纪,电话 5.2.3 数据流 编号 数据流名 输 入 输 出 1 变更菜品信息 新菜品信息 菜品统计 2 查询菜品信息 菜品信息 菜品统计 3 变更人事信息 变更人事信息 人事统计 4 变更菜单信息 变更菜单信息 菜单总信息 5 变更财务信息 新账单信息 账单统计 6 用户信息 用户信息 桌台统计 7 用户所订菜单 用户所订菜单 菜单统计 8 结账 金额 账单统计 5.2.4 数据存放 数据存放名 输入数据流 输出数据流 变更人事 变更人事信息 人事统计 变更菜单 变更菜单信息 菜单总信息 变更财务 新账单信息 账单统计 用户信息 用户信息 桌台统计 用户所订菜单 用户所订菜单 菜单统计 结账 金额 账单统计 5.2.5 处理过程 处理过程名 输入数据流 输出数据流 查询 人事信息+桌台信息+账单+菜单 人事信息+桌台信息+账单+菜单 增、删、改 人事信息+桌台信息+账单+菜单 人事信息+桌台信息+账单+菜单 更新 人事信息+桌台信息+账单+菜单 人事信息+桌台信息+账单+菜单 用户权限认证 用户名,密码,身份 系统主菜单 6 数据库实施 界面设计、建表、数据输入、应用程序设计和调试等、数据库运行和维护(数据库安全性完整性控制、数据库备份)等。汇报中能够先展示系统登录和主界面,关键写个人负担内容,能够包含---数据库中表、视图、存放过程(假如使用)结构和定义(能够用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) { txtName.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.Text == "") { 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(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 = sdr["power"].ToString().Trim(); conn.Close(); Main main = new Main(); main.power = UserPower; main.Names = txtName.Text; 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 主界面设计 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 = Times; 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 = 0; listView2.Clear(); listView2.Items.Add("桌台信息", 9); listView2.Items.Add("职员信息", 18); listView2.Items.Add("菜单修改", 19); } private void AddItems(string rzt) { string rName = sdr["RoomName"].ToString().Trim(); if (rzt == "使用") { if (rName.Substring(0, rName.IndexOf("-")) == "大厅") { listView1.Items.Add(sdr["RoomName"].ToString(), 1); } else { listView1.Items.Add(sdr["RoomName"].ToString(), 3); } } else { if (rName.Substring(0, rName.IndexOf("-")) == "大厅") { listView1.Items.Add(sdr["RoomName"].ToString(), 0); } else { listView1.Items.Add(sdr["RoomName"].ToString(), 2); } } } private void frmMain_Activated(object sender, EventArgs e) { listView1.Items.Clear(); SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand("select * from tb_Room", conn); sdr = cmd.ExecuteReader(); while (sdr.Read()) { string zt = sdr["RoomZT"].ToString().Trim(); AddItems(zt); } conn.Close(); } private void button2_Click(object sender, EventArgs e) { listView1.Height = 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 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); 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, EventArgs e) { frmDetails details = new frmDetails(); details.TableName = listView1.SelectedItems[0].SubItems[0].Text; details.ShowDialog(); } private void listView2_DoubleClick(object sender, EventArgs e) { if (listView2.SelectedItems[0].SubItems[0].Text == "桌台信息") { Desks mDes = new Desks(); mDes.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "职员信息") { Staff zy = new Staff(); zy.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "菜单修改") { cdAlter cd = new cdAlter(); cd.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "系统备份") { frmBF bf = new frmBF(); bf.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "系统恢复") { frmHF hf = new frmHF(); hf.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "用户管理") { userAlter usa = new userAlter(); usa.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "日历") { frmCalender rl = new frmCalender(); rl.ShowDialog(); } if (listView2.SelectedItems[0].SubItems[0].Text == "记事本") {
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服