餐馆点餐系统课程设计
软件工程设计报告 班级:
姓名:
学号:XXX XXXX XXXX ——餐馆点餐系统
目 录
第一章 绪论 . ................................................................................................................. 1
1.1 现实背景和理论背景 . ........................................................................................... 1
1.2 研究目的 . ............................................................................................................... 2
1.2 目的 . ........................................................................................................................ 2
第二章 系统需求分析 . ................................................................................................. 3
1. 引言 . ............................................................................................................................ 3
1.1编写目的 . ................................................................................................................. 3
1.2项目背景 . ................................................................................................................. 3
2. 术语定义 . .................................................................................................................... 3
3. 参考资料 . .................................................................................................................... 3
4. 目前餐饮企业工作流程 . ............................................................................................ 3
5. 所建议系统的工作流程 . ............................................................................................ 4
6. 产品功能 . .................................................................................................................... 5
7. 软件需求描述 . ............................................................................................................ 6
8. 系统用例图 . ................................................................................................................ 6
9. 软件接口 . .................................................................................................................... 8
第三章 系统设计 . ......................................................................................................... 9
1. 系统部署图设计 . ........................................................................................................ 9
2. 数据库设计 . .............................................................................................................. 10
2.1命名规范 . ............................................................................................................... 10
2.2安全设计 . ............................................................................................................... 10
2.3概念设计 . ............................................................................................................... 10
2.4物理设计 . ............................................................................................................... 12
2.5函数设计 . ............................................................................................................... 14
3. 系统模块设计 . .......................................................................................................... 1
4. 系统架构设计 . .......................................................................................................... 16
5. 客户端系统目录结构 . .............................................................................................. 17
6. 系统类图设计 . .......................................................................................................... 17
7. 主要模块设计 . .......................................................................................................... 21
7.1登录模块设计 . ....................................................................................................... 21
7.2点餐模块设计 . ....................................................................................................... 21
第五章 测试概要 . ....................................................................................................... 23
1. 测试用例设计 . .......................................................................................................... 2
2. 测试环境与配置 . ...................................................................................................... 2
3. 测试方法(和工具) . ................................................................................................... 2
第一章 绪论
1.1 现实背景和理论背景
1.1.1现实背景
我国的餐饮市场经过30多年的改革开放及发展,可以说我国正迎来一个餐饮业大发展的时期,市场潜在力量巨大,远景很是广阔。根据中国烹饪协会发布的2009年度餐饮业发展报告显示,即便在经济遭受重创的2009年,全社会餐饮业零售额达依然到17998亿元,同比增长16.8%。其中,每月的零售额均超过1300亿元,增长率稳定在14.4%至21.6%。在各类消费性支出中增幅居前,仅次于交通和通信支出。并且预计2012年餐饮市场还将继续增长,营业额也将达到20000亿元。
与此同时,我国餐饮业发展的质量和内涵也发生了重大变化。行业的经营领域和市场空间不断拓宽,经营档次和企业管理水平不断提高,经营业态日趋丰富,投资主体和消费需求多元化特点更加突出,网点数量和人员队伍继续扩大;餐饮市场更加繁荣,消费的个性化和特色化的趋势明显,追求健康营养和连锁规模发展成为主题。集团化、品牌化、产业化和国际化的发展步伐加快,餐饮现代化的进程不断推进。
近几年来,中国餐饮业的发展一直保持强劲快速增长同时,也看到目前餐饮行业普遍存在的问题。餐饮企业的发展一直处于自我摸索、自我运作、自我积累和自我完善为主的状态,利润低、承载重、支撑小、发展难的特点突出。餐饮企业在产品标准化技术设备开发、连锁管理体系的建立、专业人才的培养、吸纳资本投入、理论指导和信息交流等方面的条件十分不足,存在着技术开发与设备配套难、管理与人才难、配送渠道与发展资金难、沟通交流与合作难等深层次因素的制约,行业平台和基础支持力量不强,对企业发展产生较大的影响。
1.2 研究目的和意义
1.2.1 目的
在我们这个“食文化”高度发达的国度里,餐饮业毋庸置疑地成为第一大传统产业。然而,正是这历史悠久、规模庞大的产业,却也是信息化程度最慢和最低的产业之一。至今为止,绝大多数餐饮企业的经营方式仍然停留在“一张纸、一支笔、经理喊破嗓、员工跑断腿”的境地;而会计工作,也仍然是以一支笔或一个算盘,或最好的情况下一个计算器进行加减乘除,其本质仍然是以人脑计算为基础,不但工作量巨大,而且极易出错。笔者曾经见过生意极好的大排档,服务员进进出出地飞奔于户外桌台、大堂吧台和厨房之间,而经理则用计算器算得满头大汗的场景,蔚为壮观。且不说这种日复一日的重复、单调的劳动意义何在,单就消费计算方面的出错而引发的与客户之间的矛盾纠纷,就不可胜计。
其实在人类文明已经进入电子信息的时代,绝大多数重复、单调、可程式化的工作都已经可以交由计算机来完成。面对复杂和庞大的计算任务,计算机在效率和准确度方面是人脑所不能望其项背的。作为传统产业的餐饮业,同其他很多传统产业一样,同样可以引入信息化改造。
餐饮业的信息化改造内容,主要有:由传统的笔和纸点餐,改用电子点餐;由传统的人工计算、统计、管理,改用电脑进行计算、统计和管理;将现代的电子技术、无线技术、计算机技术和网络技术引入到餐饮行业中来,替代部分人工操作,加快餐饮企业的运转效率,提升餐饮企业的管理水平,使餐饮企业运作更规范、更科学、更高效。
在餐饮企业的信息化改造当中,无线点餐(点菜)系统,成为其核心内容,也是餐饮企业进行信息化改造的必由之路。
因此本论文研究的目的在于通过餐饮企业的信息化改造暨利用无线技术,替代传统的纸和笔进行电子点餐(点菜)操作,实现远距离地进行信息即时传递。当然,无线点餐(点菜)系统不只是可以进行点餐操作,同时通过配套的餐饮管理软件,还可以实现强大的统计和管理功能,使餐饮企业真正实现信息化。
第二章 系统需求分析
2.1引言
2.1编写目的
本文档是餐饮点餐管理系统的项目需求说明书,对餐饮点餐管理系统的发展进行简要回顾,分析当前的业务流程,总结此类管理系统的基本特点以及总体功能,尽可能完整的概括提取出需求方的全部想法。本文档对项目开发人员、设计人员及系统实施人员具有很重要的指导意义。
2.2术语定义
所谓”翻台率【1】”是指在某期间里,指餐桌座位坐满及餐桌空荡的速度。 一个高翻台率意味更多用餐者吃了并且走了,而一个低的翻台率意味同样用餐者是在一段长时间里使用餐桌,或者餐桌座位是空的。
2.3 参考资料
[1] 餐饮点餐管理系统项目开发计划_v1.00
2.4目前餐饮企业工作流程
目前的中小餐饮企业采用最多的手工记账形式,其业务流程如图2.1所示
图2.1 手工业务流程分析
流程图简介:顾客到达餐厅有引领员引导到座位后,承上菜谱并登记客人所点食品,完毕后唱菜谱并由客人确认,征得客人同意后交给后台厨师及配餐人员,配餐人员根据大厅服务员提交的菜谱为客人配齐所有饮料、酒水、甜点等食物,厨师根据大厅服务员提供的菜谱按照先凉后热的顺序快速加工出美味可口的食物交友送餐人员及时送到指定的餐桌。客人用餐完毕后有服务员或者客户到收银处办理结算手续,客人如有会员卡的话,收银员应给予相应的优惠,结算完毕后有引领员送客人出餐厅,这样的工作方式当客流量增加的时候,必然会出现争抢菜谱,上错菜,漏上菜、忘记上菜以及计算失误等现象,轻则引起客户的不满,重则引起纠纷,因此有必要采用新的工作模式,来避免上述情况的发生。
2.5所建议系统的工作流程
基于传统餐饮企业手工操作所带来的种种弊端,一种新的利用计算机来管理
信息的系统---餐饮点餐管理系统也就应运而生,那么该系统的工作流程如图2.2所示
图2.2自动化的点餐系统
2.6产品功能
根据所建议系统的业务流程图,分析出新系统的功能模块图如2.3所示
图2.3功能模块图
2.7软件需求描述
1.用户登陆:用户输入用户名及密码后, 系统自动验证有效性及用户角色, 根据用户拥有的角色自动进入不同的子系统
2.客户点餐子系统:当客人落座后, 服务员手持IPAD 登陆点餐子系统后,首先输入相应的桌号,然后由客人根据不同的服务类别(特价、凉菜、热菜、汤、酒水、饮料)选择不同的食物及数量,系统根据不同的食物计算出总价格,方便客人控制总价格,如果输入错误系统提供删除的功能,最后提交到后厨配餐子系统中.
3.配餐管理子系统:配餐员或者厨师根据最新的配餐信息,按照时间先后顺序配置食品,完成后提交给结算管理子系统中
4.结算管理子系统:收银员根据服务员或者客人提供的桌号计算出总价格,客人如果提供会员卡或者会员号,系统自动验证卡号及会员身份并计算出相应的折扣及实付金额,根据相应的金额出具对应的发票
5.系统管理子系统:经理登陆子系统后,上传菜谱,管理菜谱及特价。在此子系统中,还实现了会员及用户、留言、桌位的管理
2.8系统用例图
系统用例【9】图是按照场景的形式对系统的功能做清晰地设计,具体用例有:登陆用例图2.4所示,点餐用例图2.5所示,配餐用例图2.6所示,结账用例图
2.7所示,管理用例图2.8所示
图2.4登陆用例
图2.5点餐用例
图2.6配餐用例
图2.7结算用例
图2.8系统设置用例
2.9软件接口
Windows 操作系统所提供的各种API 【10】;
第三章 系统设计
3.1系统部署图设计
系统部署图是指系统的物理结构和软件结构在空间上的部署,本系统采用流行的C/S【11】结构,该结构是基于客户端与服务器的结构,原因是本系统的应用场景是中小规模的餐厅及餐馆,目前一期工程中不提供Web 服务,仅限于企业内部办公室用,因此采用C/S结构是科学的也是合理的。具体结构见图3.1所示
图3.1系统部署图
上图中服务器是整个系统运行的基础,负责所有客户端的数据传输与存储,采用SqlServer2005服务器,网络传输采用的是WiFi (802.11)技术,客户端采用IPAD 作为终端显示,但是目前需要安装虚拟Win7系统
3.2数据库设计
3.2.1命名规范
1:数据库名称以db 开头 2:函数以F_开头 3:数据库表以T_开头
3.2.2安全设计
1:创建数据库登录账号dining
2:创建数据库db_dining的所有者用户Dining 3:配置账号映射:dining- dining
3.2.3概念设计
经过对系统的需求分析,发现系统中有以下实体:如图3.2---3.8所示以及他们之间的关系图3.9所示
图3.2用户实体
图3.3意见实体
图3.4会员实体
图3.5餐单实体
图3.6餐单明细实体
图3.7菜谱实体
图3.8E-R 模型图
3.2.4物理设计
物理设计是数据库实体的物理实现,下面的图表分别对应概念设计中的每个实体。
1:T_CAIPU表,图3.9所示
图3.9菜谱表
2:T_CanMingXi,图3.10所示
图3.10餐单明细表
3:T_CanDan,图3.11所示
图3.11餐单表
4:T_Member,图3.12所示
图3.12会员表
5:T_User,图3.13所示
图3.13用户表
6:T_YiJian,图3.14所示
图3.14意见表
3.2.5函数设计
1: F_CaiJinEById,图3.15所示
图3.15计算价格函数
2: F_CaiMingById,图3.16所示
图3.16查找菜名函数
3: F_MemberLeavlByID,图3.17所示
图3.17会员级别函数
4: F_MemberNameByID,图3.18所示
图3.18会员名称函数
3.3系统模块设计
在对系统需求分析的基础上一共设计了八大模块,分别是如下8个模块【11】。
3.3.1系统登录模块
在该模块中主要实现用户身份的验证以及角色的检查,根据用户身份的不同分别登陆到不同的子系统中。
3.3.2系统点餐模块
本模块是系统的主要模块,在该模块中主要实现菜肴以及酒水饮料的点餐等功能,根据食品的分类把界面分为特价、凉菜、热菜、汤类、酒水、饮料不同的区域以及点菜区域。
3.3.3系统配餐模块
本模块面向的对象主要是厨师以及酒水饮料配餐员,实现的功能是按照下餐的时间先后顺序显示订餐列表,厨师按照餐单的详细列表配置不同的食品及其他。每个餐单完成后系统提交到收银区。
3.3.4系统收银模块
本模块面向的对象主要是收银人员,实现的功能是分别显示配餐完毕后的餐单,客户就餐后提供桌号以及会员卡,系统自动计算出优惠金额以及实付金额,收款后系统自动更新数据库。
3.3.5系统管理模块
本模块面向的对象主要是经理管理人员,实现的功能是有会员管理,菜谱管理、用户管理功能
3.3.4系统架构设计
本系统采用流行的C/S结构,既客户端/服务器端结构,客户端是基于.Net FrameWork 平台的应用程序,服务器端是基于Sql Server 2005的数据库存储应用系统,采用面向对象【12】的开发语言C#【13】作为编程语言,使用Visual studio 2010作为开发工具以及应用流行的软件开发模型—瀑布模型【14】
3.5客户端系统目录结构
客户端目录结构按照模块的不同创建不同的文件目录,以便于文件的管理及今后的二次开发,截图如3.19所示
图3.19系统目录
目录结构描述:1:DianCan:客户点餐模块2:PeiCan:食品配餐模块3:JieZhang :收银结账模块4:Manage :系统管理模块5:Images :系统图片
3.6系统类图设计
根据系统中的实体,一共设计6个类,具体见下图3.20所示
图3.20系统类结构图
详细描述如下:
1.T_CaiPu菜谱类,该类中的属性及方法结构如3.21所示
图3.21菜谱类
T_CaiPu类是用来描述系统中的菜谱实体,其中的属性有id(菜谱编号) 、c_name(菜谱名称)、c_Price(菜价)、c_type(类别) 、c_image(照片) 、is_Tejia(是否特价) 、isEnable (是否启用)
2.T_User用户类,属性及方法如图3.22所示
图3.22用户类
T_user类用来描述系统使用者实体,其中的属性有id(记录编号) 、userName (用户名)、userPwd (用户密码)、userRole (用户角色)、isEnable (是否启用)
3.T_YiJian(意见类):该类的属性及方法如图3.23所示
图3.23意见类
T_YiJian类是用来描述客户意见的实体,其中的属性有id(意见编号) 、HJ_YJ(环境意见)、FW_YJ(服务意见)、FC_YJ(饭菜意见)、KH_LY(客户留言)
4.T_Member(会员类):该类的属性及方法如图
3.24
图3.24会员类
T_Member类是用来描述客户级别的实体,其中的属性有id(会员编号) 、member_Name(会员名称)、type_id(会员级别编号)、isEnable (是否启用)
5.T_CanDan(餐单类):该类的属性及方法如图3.25
图3.25餐单类
T_CanDan类是用来描述客户菜单的实体类,其中的属性有id (菜单编号)、desk_HM(桌位号)、xf_je(消费金额)、member_id(会员编号) 、isJieZhang (是否结账)、xf_date(消费日期)、state (配餐状态)
6.T_Can_MingXi(餐单明细) 类:该类的属性及方法如图3.26所示
图3.26餐单明细类
T_Can_MingXi类是用来描述菜单明细的实体,其中的属性有id (记录编号)、can_id(菜单编号) 、cai_id(菜谱编号) 、cai_SL(份数)、cai_JE(每类菜的金额)
3.7主要模块设计
3.7.1登录模块设计
登陆模块的功能就是验证用户名及密码是否有效,如果有效则再判断角色编号值(1:服务员角色2:厨师角色3:收银员角色4:管理员角色),根据不同的角色打开不同的窗口,该模块实现的前置条件是设置正确的服务器地址以及服务器处于启动状态,输入输出数据如表3.27所示
表3.27登陆模块输入输出数据
3.7.2点餐模块设计
点餐模块是系统中重要的模块,主要实现客户餐单的创建以及所点菜品的保存,该模块的实现思路是首先系统分类显示今日特价、凉菜、热菜、汤类、酒水、饮料,客人按照所需登记桌位,选择菜品及分数(默认1份),系统自动计算总金额,如果有误客人则可以删除某类菜品,最后点击提交保存到数据库。那么该模块实现的前提条件是用户以服务员身份登录到系统,且数据库中有相应的菜品信息以及一定数量的桌位。此模块的输入输出数据如表3.28所示
表3.28点餐模块输入输出数据
5 测试概要
5.1测试用例设计
本次测试用例设计主要采用黑盒测试方法,功能模块及集成测试采用的具体方法有等价类划分、边界值划分、正交分解、因果图分析和错误猜测。在系统测试时依据业务流程采用回归测试。
5.2测试环境与配置
1.测试服务器配置: 2.服务器地址:172.16.1.4
3. 操作系统:Windows VISTA
4.CPU: Intel(R) Pentium(R)4 CPU 3.00HZ 5. 硬盘可用空间:160GB
6. 数据库:Microsoft SQL Server 2005 7. 测试对象:FengShaDuMIS.exe
5.3测试方法(和工具)
主要是黑盒测试,测试的重点集中在业务流程、数据提取和各功能模块间的接口。其中单元测试由开发人员直接完成;功能模块采用黑盒测试的常用方法;集成测试模块采用非渐增式测试,偏重系统的接口和数据提取方面;系统测试主要体现在业务流程的测试,主要采用回归测试。
本文从瀑布模型开发过程的原理出发,在分析餐饮系统工作流程的基础上,讨论并建立了餐饮点餐系统的工作流模型,采用C#4.0+DotNet Bar7.0+Ling+Sql Server 2005实现了餐饮点餐信息管理系统,运用黑盒测试原理对该系统进行的单元测试及集成测试表明。该系统实现了:(1)客户点餐(2)厨师配餐(3)收
银管理(4)系统设置。本系统的问题主要表现在菜谱的及时更新方面,如经理在营业期间对菜谱价格做了及时调整,客人在点餐的时候会遇到价格没有及时更新的情况,另外本系统在资金结算方面还不够人性化,如不支持银行卡结算,这些问题是本系统今后改进的方向。