1、课程名称 数据库课程设计 题 目 餐饮管理系统 院 系 班 级 学生姓名 指导教师 绪 论近年来,计算机的应用越来越广泛,管理系统成为餐饮、书店、超市、药店、企业管理等必不可少的助手,随着计算机技术的飞速发展,越来越多的企业会实现管理的信息化。本次课程设计的餐饮管理系统是一个比较实用的系统,目的在于减少餐饮前台工作人员烦琐的重复性劳动和后台大量的计算量,减少工作人员的数量,从而降低人员开销,实现管理的信息化。餐饮的管理在人工环境下,工作是十分低效的,同时,员工也会有许许多多不可避免的失误,直接导致了后期工资的发放,员工的提成,营业额的统计与分析出现差错,帐务的核查、烦琐的计算都会浪费大量的人力
2、物力,鉴于餐饮业在工作中的诸多问题,我们开发了餐饮管理系统,帮助工作人员方便准确的完成工作,减少工作中的失误,减轻工作人员的负担,实现餐饮的信息化,以赢得更大的利益。本系统采用客户/服务器结构,所谓客户机/服务器(Client/Server)是从主机/终端结构发展起来的,在主机/终端结构中,所有的计算和处理都是在主机中进行的,但是在客户机/服务器结构中,允许将一部分计算放在客户端进行,这样大大降低了服务器的负担。在客户机即前台计算机上完成日常营业,在服务器上完成营业的统计与分析及餐饮营业管理与设置。系统前台使用vc+ 6.0设计,通过目前较流行的ADO与数据库连接,后台使用功能强大的Micro
3、soft Sql Sever 2000完成,对系统的安全性和灵活性都有很好的支持。总体需求分析本系统开发的总体任务是实现餐饮管理的信息化、系统化,以提高管理效率,减轻工作人员的负担,及方便顾客。根据调查分析,结合本小组实际系统开发的经验和能力,主要划分为以下几大模块:1前台营业:日常营业操作l 日始日结:设定每个营业日的开始和结束l 接待预订:显示房台状态,进行房台预订l 点菜收银:开台、点菜、结帐、交班,提供最主要的营业功能2营业设置:日常营业所必需的数据库设定l 酒菜设置:按类别(酒水饮料、凉菜、热菜、主食、包桌、服务用品等)设置酒菜数据l 房台设置:类别设置包房或餐台l 其他设置:付款方
4、式(现金、银行卡、赠券、挂账、免单)、点菜说明等3营业分析:对营业数据进行统计分析、打印报表l 销售分析:营业总况、收入金额l 房台分析:按房台统计分析营业情况l 酒菜分析:各种酒菜的详细销售情况统计l 操作分析:统计分析服务员的营业情况l 业绩分析:统计分析提成服务员的销售业绩和提成金额4财务查询:查询各类单据和消费情况l 帐单查询:查询所有已结帐单l 点单查询:查询所有历史点单l 挂帐查询:查询挂帐(签单)客人消费情况5辅助管理:日常营业所需的其他管理功能l 操作员管理:管理操作员信息,并设置系统操作权限和最低折扣值l 挂帐管理:挂帐人信息录入、修改、挂帐归还系统的软件结构图根据需求分析,
5、总结概括出系统的主要功能,加以模块化之后,得到本系统的软件结构图如下一页的图2-1所示:图2-1 系统软件结构图概念结构设计根据需求分析得知餐饮管理系统需要实现的主要功能,整个ER图的设计围绕餐饮的核心顾客点菜消费展开,一个顾客可以多次预定,但是一次预定只能对应着一个顾客;一个预定可以对应着多个预定明细,一个预定明细只能对应着一次预定;每位顾客的消费形成一张消费单用以结帐,结帐需要通过收银员,根据结帐方式的不同,对于特殊的结帐方式挂帐,需要有挂帐人,而一个挂帐人可以拥有多张消费单,一张消费单不可能会有多个挂帐人(即:即使几个人一起来消费,最后也为一个人付帐),而挂账又对应着多个挂账明细,管理员
6、通过挂账明细进行挂账结账;顾客的消费地点房台,一位顾客在同一时间只能在一个房台上进行消费,每个房台又有分配的服务员对房台上的顾客(顾客产生的消费单)进行服务,同时,由于系统支持接待预定功能,由收银员接待顾客的预定,形成一份定单,为每份定单预定一个房台。通过上述,可以得到餐饮管理系统的ER图如图3-1所示:图3-1 餐饮管理系统ER图逻辑结构设计在逻辑结构设计阶段,通过把概念结构设计的ER图转换为关系模式,得到如下关系模式及属性:注:带下划线的为主码。员工(员工编号,姓名,性别,生日,政治面貌,学历,身份证号,联系电话,联系地址,员工状态,员工职务,薪水,受雇时间,备注);酒菜表(酒菜编号,酒菜
7、名,单价,种类,备注);消费单(消费单号,餐桌号,折扣,付帐方式,结帐日期,帐单金额,顾客人数,挂帐人编号,收银员编号);其中,房台号,收银员编号,挂帐人编号分别为餐桌表,员工表,挂帐表的主键,在该表中为外键约束。点单(ID,消费单号,菜号,菜的数量);其中消费单号,菜号为外键。订单(编号,定单人,身份证号,餐桌号,定金,联系电话,日期,时间,备注);其中餐桌号为外键。餐桌表(餐桌号,种类,状态,容量,服务员号);其中服务员号为外键,来自员工表。挂帐人信息表(编号,挂帐人名,身份证,联系电话,联系地址,注册时间);另外,还有一张电脑用户表(操作员表)如下:操作员表(用户名,用户密码,用户权限,
8、员工编号);其中员工编号为外键。详细设计我所设计的主要包括总体的分析以及模块的划分,建库,总体构架以及工具使用等,功能模块是前台营业,包括顾客开台点菜,加菜退菜,预定,主界面面设计(工具条,状态栏),具体见以下小节。开台点菜点击顾客开单后先进入餐桌使用情况的页面,该页面显示各个餐桌的使用情况,操作员可以通过点击上面的“所有餐桌”“豪华包间”“包间”“大厅”来查询不同地方的餐桌的使用情况,红色的表示此餐桌正在使用当中,黄色的表示此餐桌已经被预定,绿色的表示此餐桌是空闲的,可以使用。用户可以通过双击绿色的餐桌图标进入点菜开单界面,在这个界面可以通过菜品的种类来进行点菜,选中所需菜的菜品种类后,再选
9、中右面图中的菜名,点击添加,就可以把菜进入到点菜单了,另外系统还显示用户所点菜的合计价格以供客户点菜。当顾客点菜完后,点击开单显示开单成功。前台营业主界面是开台点菜,加菜退菜,主要是观察房台的状态以方便开台。通过2个按钮分别实现开台点菜,加退菜功能,还有一个默认的IDCANCLE作为退出按钮。关于房台显示部分为查询数据库所有房台,根据房台的种类添加到树中不同的父结点下,根据TreeCtrl的SelChanged事件来决定DataGrid的显示内容,它们通过AdoData连接,当选择的为种类时,显示所有该种类房台信息,当选种为一个房台时,则显示该房台的信息。当点开台按钮的时候,会判断当前选中房台的状态,如果是就餐状态,则会提示,要求选其他房台,如果是空,则会提示确认开台,如果确认会自动跳转到点菜界面。当点加/退菜的时候同样判断房台状态,如果为空,则提示不能加退菜,请先开台,如果为就餐则会进入点菜界面。界面如下图所示:图4-1 餐饮管理系统餐桌使用情况图4-2 点菜开单界面