当前位置:文档之家› 餐饮管理系统详细设计

餐饮管理系统详细设计

餐饮管理系统1.1开发背景近几年来,计算机网络、分布技术日趋成熟,随着科技的发展,餐饮业的竞争也越来越激烈。

想在这样竞争激烈的环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。

这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使管理者能够准确、有效地管理餐饮。

因此,餐饮业的管理者更希望从科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜。

1.2系统分析1.2.1 需求分析通过与XXX餐饮公司的沟通和需求分析,要求系统具体以下功能:●系统操作简单,界面友好●规范、完善的基础信息设置;●支持多人操作,要求有权限分配功能;●为了方便用户,要求系同支持模糊查询;●实现对消费账目自动结算。

1.2.2可行性分析1.引言(1)编写目的以文件的形式给企业的决策层提供项目实施的参考依据,其中包括项目存在的风险、项目需要的投资和能够收获的最大效益。

(2)背景XXX餐饮公司是一家以餐饮经营为主的私营企业。

为了完善管理制度、增强企业的竞争力、实现信息化管理,公司决定开发餐饮管理系统。

2.可行性研究的前提(1)要求餐饮管理系统必须提供桌台信息、菜品信息和人事档案信息的基础设置;强大的查询功能和消费管理功能;可以分不同权限、不同用户对该系统进行操作。

另外,该系统还必须保证数据的安全性、完整性和准确性。

(2)目标餐饮管理系统的目标是实现企业的信息化管理,节约人力、物力、财力等资源,提高餐饮行业的服务效率并提升企业市场竞争力。

(3)条件、假定和限制为实现企业的信息化管理,必须对才做人员进行培训,而且将原有的菜品、桌台、人事档案等信息转换为信息化数据,需要操作员花费大量时间和精力来完成,为不影响企业的正常运行,餐饮管理系统必须在两个月的时间内交付用户使用。

系统分析人员需要两个内到位,用户需要4天时间确认需求分析文档。

去除其中可能出现的问题,例如用户可能临时有事,占用5天时间确认需求分析。

那么程序开发人员需要在一个月零19天的时间内进行系统设计、程序编码、系统测试、程序调试和程序的打包工作。

其间,还包括员工每周的休息时间。

(4)评价尺度根据用户的要求,项目主要以桌台信息、菜品信息和查询统计功能为主,对于认识档案和消费信息应该及时准确地保存,并提供相应的查询和统计。

3.投资及效益分析(1)支出根据系统的规模及项目的开发周期(两个月),公司决定投入7个人。

为此,公司将直接支付10万元的工资及各种福利待遇。

在项目安装及调试阶段,用户培训、员工出差等费用支出需要2万元。

在项目维护阶段预计需要投入3万元的资金。

累计项目投入需要15万元资金。

(2)收益用户提供项目资金35万元。

对于项目运行后进行的改动,采取协商的原则根据改动规模额外提供资金。

因此从投资与收益的效益比上看,公司可以获得20万元的利润。

项目完成后,会给公司提供资源储备,包括技术、经验的累积,其后在开发类似的项目时,可以极大地缩短项目开发周期。

4.结论根据上面的分析,在技术上不会存在问题,因此项目延期的可能性很小。

在效益上公司投入7个人、两个月的时间获利20万元,效益比较可观。

在公司今后发展上可以储备项目开发的经验和资源。

因此认为该项目可以开发。

1.3系统设计1.3.1系统目标本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅消费进行管理。

本系统应达到以下目标:●系统采用人机交互的方式,界面美观有好,信息查询灵活、方便,数据存储安全可考;●实现对餐厅客户开台、点菜/加菜、账目查询和结账等操作;●对用户数的数据进行严格的数据检验,尽可能地避免人为错误;●实现对消费账目自动结算;●实现对消费的历史记录进行查询、支持模糊查询;●系统应最大限度地实现易维护性和易操作性。

1.3.2 系统功能结构餐饮管理系统功能结构如图1_1所示。

图1_1 系统功能结构图1.3.3业务逻辑编码规则遵守程序编码规则所开发的程序,代码清晰、整洁、方便阅读,并可以提高程序的可读性,真正做到“见名知意”。

本节哦哪个数据库设计和程序编码两个方面介绍程序开发中的编码规则。

1.数据库对象命名规则(1)数据库命名规则数据库命名以字母db开头(小写),后面加数据库相关英文单词或缩写。

下面将举例说明,如表1_1所示。

(2)数据表命名规则数据表命名以字母tb开头(小写),后面加数据库相关英文单词或缩写和数据表名,多个单词间用“_”分隔。

下面将举例说明,如表1_2所示。

表1_2 数据表命名(3)字段命名规则字段一律采用英文单词或词组(可利用翻译软件)命名,如找不到专业的英文单词或词组,可以用相同意义的英文单词或词组代替。

下面将举例说明,表1_3为桌台信息表中的部分字段。

2.业务编码规则(1)桌台编号桌台的ID编号是餐饮管理系统中桌台的唯一标识,不同的桌台可以通过该编号来区分。

该编号是个字增序号,从数字1开始。

例如1、2、3。

(2)食品类别编号食品类别编号用于区分食品的不同类别,不同的食品种类可以通过该编号来区分。

该编号是个字增序号,从数字1开始。

例如1、2、3。

(3)员工编号员工编号用于区分各个员工的信息,不同的员工可以通过该编号来区分(即使员工名称相同)。

该编号是个字增序号,从数字1开始。

例如1、2、3。

1.3.4系统预览餐饮管理系统由多个窗体组成,下面仅列出几个典型窗体,主窗体模块如图1_2所示,主要功能是连接系统功能菜单、显示所有桌台和现实系统当前状态。

图1_2 主窗体模块点菜模块如图1_3所示,主要功能是为顾客点菜。

图1_3 点/加菜模块开台模块如图1_4所示,主要功能是实现对指定的桌台进行开台操作。

图1_4 开台模块运行结果结账模块如图1_5所示,主要功能是对指定的桌台进行结账操作,同时,清空结账桌台的所有消费信息。

图1_5 结账模块运行结果1.3.5业务流程图餐饮管理系统的业务流程图如图1_6所示。

图1_6 餐饮管理系统的业务流程图1.4数据库设计1.4.1 数据库概要说明在本系统中,采用的是SQL Server2008数据库,用来存储商品信息、桌台信息、员工信息、操作员信息等。

这里将数据库命名为db_MrCy ,其中包含了6张数据表,用于存储不同的信息,如图1_7所示。

图1_7 数据库结构1.4.2 数据库概念设计通过对数据库进行的需求分析、业务流程设计 及系统功能结构的确定,规划出系统中使用的数据库实体对象及实体E-R 图。

由于商品的种类很多,因此需要对商品进行分类,这样就可以对商品分门别类地进行存储,在查询时可以根据商品类别进行查询,商品信息实体E-R 图如图1_8所示。

在数据库中建立一个商品类型信息表,用于存储商品的所有类别信息,商品类别信息实体E-R 图如图1_9所示。

图1_8 商品信息实体E-R 图图1-9 商品类别信息实体E-R图当顾客进行消费时,顾客会根据自己的需求消费不同的商品,系统将顾客消费的所有信息存储到数据表中,以便顾客结账时查询,在数据库中建立一个顾客消费信息表用于存储顾客的消费记录。

顾客消费信息实体E-R图图如1_10所示。

1_10 顾客消费信息实体E-R图餐厅中会有多个桌台供顾客选择,每个桌台会有不同的信息。

例如,大厅01号桌被顾客使用,顾客人数为5人等,方便操作员对桌台的操作,在数据库中建立一个桌台信息表用于存储所有桌台的详细信息。

桌台信息实体E-R图如图1_11所示。

图6_11 桌台信息实体E-R图为了对系统进行不同的管理,需要为系统建立管理用户。

这些用户通过登录模块登录系统,登录成功之后会根据不同的权限对不同的功能模块进行管理,在数据库中建立一个用户信息表,用于存储登录用户信息。

用户信息实体E-R图如图1_12所示。

图1_12 用户信息实体E-R图在餐饮行业中,餐厅服务员起着及其重要的作用,但是由于服务人员数众多,如果不进行相应的信息记录,可能管理起来会非常困难。

因此,需要对服务人员的详细信息进行记录。

在数据库中建立一个志愿信息表用于存储所有服务人员的信息。

支援信息实体E-R图图如1_13所示。

图1_13 职员信息实体E-R图1.4.3 数据库逻辑设计根据设计好的E-R图在数据库中创建各表,系统数据库中各表的结构如下。

1.tb_Food(商品信息表)tb_Food表用于保存所有商品信息,该表的结构如表1_4所示。

表1_4 商品信息表2.tb_FoodType(商品类别信息表)tb_ FoodType表用于保存商品类别信息,该表的结构如表1_5所示。

3.tb_GuestFood(顾客消费信息表)tb_GuestFood表用于保存顾客的消费信息,该表结构如表1_6所示。

表1_6 顾客消费信息表4.tb_Room(桌台信息表)tb_Room表用于保存所有桌台信息,该表结构如表1_7所示。

5.tb_User(用户信息表)tb_User表用于保存所有系统用户信息,该表结构如表1_8所示。

表1_8 用户信息表6.tb_Writer(职员信息表)tb_Writer表用于保存所有职员信息,该表结构如表1_9所示。

1.5 公共类设计为了节省系统资源,实现代码重用,可以在系统中设计一些公共类。

本系统中创建了一个DBConn公共类,该类封装了用于连接数据库的方法。

由于此类对数据库进行操作,所以需要引入一个命名空间,其主要代码如下:自定义方法CyCon用于连接数据库,此方法返回一个SqlConnection对象,主要代码如下:1.6 系统登录模块设计1.6.1系统登录模块概述为了使系统的安全性得到保障,大多数系统都开发登录模块。

只有通过登录模块,才能对登录用户进行验证,只有系统的合法用户才可以进入系统的主界面。

登录模块运行结果如图1_14所示。

图1_14 登录模块运行结果1.6.2 系统登录模块技术分析运行本系统的登录模块,用户只需要输入用户名和密码,单击“登录”按钮进行验证。

登录模块以登录的用户和密码作为搜索条件,在数据库中进行查询。

使用SqlDataReader对象的HasRows属性判断登录用户名和密码是否正确。

下面介绍SqlDataReader对象的HasRows属性。

HasRows属性用于获取一个bool型的值,该值指示SqlDataReader是否包含一行或多行,语法如下:public override bool HasRows{get;}属性值:如果SqlDataReader包含一行或多行,则为true;否则为false。

例如,验证登录用户名和密码是否正确,可以通过以下代码实现:1.6.3 系统登录模块实现过程该模块需要使用的数据表示:tb_User系统登录模块的具体实现步骤如下:(1)新建一个Windows窗体,命名为frmLogin.cs,主要用于实现系统的登录功能,该窗体用的主要主要空间表如表1-10所示。

相关主题