软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx

上传人:b****6 文档编号:17703688 上传时间:2022-12-08 格式:DOCX 页数:15 大小:25.24KB
下载 相关 举报
软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx_第1页
第1页 / 共15页
软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx_第2页
第2页 / 共15页
软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx_第3页
第3页 / 共15页
软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx_第4页
第4页 / 共15页
软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx

《软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

软件工程餐厅管理系统设计报告之欧阳物创编Word文件下载.docx

开台、点菜、结帐、交班,提供最主要的营业功能

营业设置:

日常营业所必需的数据库设定

酒菜设置:

按类别(酒水饮料、凉菜、热菜、主食、包桌、服务用品等)设置酒菜数据

房台设置:

类别设置包房或餐台

其他设置:

付款方式(现金、银行卡、赠券、挂账、免单)、点菜说明等

营业分析:

对营业数据进行统计分析、打印报表

销售分析:

营业总况、收入金额

房台分析:

按房台统计分析营业情况

酒菜分析:

各种酒菜的详细销售情况统计

操作分析:

统计分析服务员的营业情况

业绩分析:

统计分析提成服务员的销售业绩和提成金额

财务查询:

查询各类单据和消费情况

帐单查询:

查询所有已结帐单

点单查询:

查询所有历史点单

挂帐查询:

查询挂帐(签单)客人消费情况

辅助管理:

日常营业所需的其他管理功能

操作员管理:

管理操作员信息,并设置系统操作权限和最低折扣值

挂帐管理:

挂帐人信息录入、修改、挂帐归还

1.2设计目标

(1)支持日常业务运作。

(2)集中管理业务数据,支持管理预测与决策。

(3)有良好的可扩充性(系统配置灵活,支持用户未来信息化进程的发展)。

(4)汉字图形用户界面,人机对话友好,操作方便。

(5)响应速度合理,安全性较高(对折扣、退菜、赠送、优惠操作提供权限校验,并有记录备查。

数据库安全中支持前后台双数据库管理),网络运行稳定。

(6)系统建设费用较低。

1.3要达到的技术要求

(1)功能:

该系统可以帮助餐饮企业处理日常工作业务,规范管理工作和操作流程,是餐饮行业的得力助手。

可以帮助管理者们边工作、边了解企业经营状况,为经营者提供决策分析的数据;

可以杜绝内部管理的漏洞和避免人为错误给企业造成损失;

可以为顾客提供全方位满意的服务;

可以为顾客提供正规、精美、具有企业特色的结帐单;

可以保证企业营业额数目的准确;

可以了解常客的不同消费习惯和消费历史信息;

可以知道畅销菜品和不受欢迎菜品;

同时还能建立全方位的管理模式。

(2)输入/输出:

条形码英文和汉字输入,英文和汉字输出

(3)性能:

稳定快速,实时控制。

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

本研究报告结合公司对餐饮业的实地调查所得出的许多数据,对餐饮业的发展概况和现状、投资特性、行业发展预测等进行详细的分析,并重点对本行业及市场竞争格局做了具体的剖析。

(4)安全与保密要求:

不能轻易被破坏,不能让管理人员以外的人删改餐饮等信息,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。

该系统包含有密码装置来实现基本密码操作。

在系统功能中通过身份鉴别分别授予经理与员工不同的权限。

它是为增强普通关系数据库管理系统的安全性而设计的。

该系统中通过基本设置实现了数据库数据存储等的完整性要求。

第二章总体设计

2.1软件结构图

图2—1餐饮管理软件功能结构图

2.2服务与处理的数据结构设计

图2—2餐饮管理系统的业务流程图

2.3安全设计

本系统考虑到了安全方面的问题,因此,设置了系统的登录权限,工作人员分经理和员工,并且每个工作人员进入界面都有自己的登录名和密码,只有用户名和密码一致,才能进入系统。

不同职位的人员有着不同的负责部分,进入到不同的界面,只能在自己的界面上进行业务,比如增、删、改信息。

员工只负责日常服务工作,不可以对员工信息和房间信息性进行访问和修。

经理权限要大一些,可以对员工信息和房间信息性进行访问和修。

第三章数据库设计

3.1总体设计

在此系统中,本人主要负责包房信息管理,结账功能管理两个模块。

在此,针对这两个功能模块所涉及到得有关数据库设计过程作一下描述。

3.1.1概念结构设计

(1)总体ER模型设计

图3—1各实体及其联系图

1、房间和顾客之间是使用关系;

供房间可以供不同的顾客所使用,顾客也可是选择不同的包房使用,所以是多对多的对应关系。

2、顾客与账单之间是付账的关系;

一张账单只对应固定的消费顾客,所以他们之间是一对一的对应关系。

且只有在进行付账过程中才有付款方式的选择和找零,所以这两个属性应该在对应关系上标出。

3、房间与账单的之间是对应关系;

房间在不同顾客使用过程中,对应不同的账单;

而账单可以来自不同的房间,所以两者之间是多对多的关系。

(2)部分ER模型设计

图3—2房间实体及属性图

房间必须有以一个房间号和所能容纳的顾客人数,在实际使用中需要有一个属性来表示房间是否已经被使用,根据房间具有不同的大、中、小包需要给出房间类型属性,还有专门的员工对某一房间进行管理,在添加管理员工号这一属性。

便构成了如图所示的结构。

图3—3账单实体及属性图

账单通常是都有一个账单号的,账单需要显示顾客所选用的菜名以及数量,并标明是那个房间号。

便需要以上的个属性。

3.2逻辑结构设计

将概念模型转换为逻辑结构,给出关系模式:

此为房间实体对应的关系模式:

房间(房间号,状态,容量,房间类型,管理员工号)

此为账单实体对应的关系模式。

账单(账单号,菜名,点菜数量,房间号)

3.3物理结构设计

将逻辑结构转化为物理结构,根据E—R图和逻辑结构设计,可以创建数据表。

表3—1房间信息表

字段名称

数据类型

长度

可否为空

约束条件

说明

roomid

int

4

NOTNULL

主键

房间号

state

NULL

状态

capacity

10

容量

roomkind

char

房间类型

chief

管理员工号

表3—2账单信息表

billid

8

账单号

dishid

菜名

dishamount

点菜数量

第四章详细设计

4.1包房信息模块

图4—1房间信息功能结构

4.1.1模块设计:

运用c++builder6.0进行可视化页面的设计,并且连接数据库,在数据库中建立包房信息的数据库。

数据库中包含房间信息表,表中有roomid(房间号),state(房间状态),capacity(房间容纳人次),roomkind(房间类型)和chief(负责员工号)五项属性。

4.1.2功能描述:

具体功能描述如下:

1)按房间类型查询:

通过对房间类型的查询,查看某类房间的使用情况,方便员工和顾客选择房间和了解房间使用情况。

如:

顾客光临的时候,根据顾客人数的多少,选择合适的房间类型后,通过按类型查询,查看该类房间的使用情况,了解是否还有空余的房间。

2)按房间号查询:

通过对某一房间号查询到具体房间,了解该房间此时的使用情况。

方便餐厅工作人员了解具体房间的使用情况,对给该房间的开放时间,到目前的使用时间,负责房间的员工等信息直观显示。

顾客结账时,查看该房间是在什么时间开始使用的,到结账时间位置,总共消费使用了多长时间和负责该房间服务员工的员工号是多少,据此找到是负责该房间的员工。

3)删除房间和增加房间:

此项主要是考虑到在具体的实际生活中,餐厅的中房间,可能会因为某种原因不能使用和在问题接触后重新恢复使用,或者餐厅扩大规模,缩小规模的实际情况。

房间需要重新装修,或者由于设施等反面的原因在一段时间内,该房间不能使用,置于停止使用状态,为了能够在平日的工作中直观的表现出来,将把此房间从数据库中暂时删除掉。

便用到了此项操作,这样在日常的营业中,进行相关操作时便不会出现该房间的任何信息,避免将此房间开出而不能使用的尴尬局面。

在暂停使用的房间重新开始使用,或者是餐厅扩大规模,增加了新的房间时。

就需要恢复数据库信息或者修改增加数据库中的信息。

这就用到了增加房间的操作。

4)修改房间信息:

在实际的工作中,房间的相关信息并不是一成不变的,所以就需要对房间的相关信息进行及时的修改,以保证信息的正确性。

由于员工的变动,本来负责某一房间的员工告假,就需要安排新的员工负责该房间。

或者,由于员工的辞职离去,招聘了新的员工进入,在员工数据库信息发生变动的同时,间接的影响到了房间信息数据库的异常。

此时,就需要根据具体情况,对包房信息数据库进行相应的修改。

4.1.3界面设计:

利用c++builder6.0自动生成的界面,进行添加所需要的项目框,构成实际操作中所需要的功能栏。

然后通过数据库连接连接到相应的数据库信息。

在然后通过程序代码的编写,就可以实现通过在界面的相应操作框中输入正确的信息,进行查询,增加,删除和修改,以及显示的具体操作了。

4.2结账信息管理

图4—2结账模块功能结构

此模块与包房信息模块虽然在某些功能上不同,但是在实现界面设计和实现方式上是基本相同,类似的。

在此仅对功能进行简要的描述。

4.1.1功能描述:

具体功能如下:

1)连接包房表:

通过连接包房表,找到顾客消费时使用的包房编号,包房类型;

2)连接账单表:

连接到账单,显示所选择的菜品和数量;

3)结账方式选择:

此程序系统为顾客提供了多种支付方式供选择,并且直接在营业额显示中按不同的支付方式总额的比例;

4)退台:

将使用完毕的包房重新在前台包房信息中恢复显示,供前台服务员安排包房的使用。

第五章编码

5.1包房信息模块功能编码

5.1.1查询功能

1)显示包房全部信息:

TForm1*Form1;

//---------------------------------------------------------------------------

__fastcallTForm1:

:

TForm1(TComponent*Owner)

:

TForm(Owner)

{

}

void__fastcallTForm1:

Button14Click(TObject*Sender)

if(Edit11->

Text!

="

"

{

Stringmysql="

selectroomid餐桌代码,capacity可容人数,chief负责编号,name负责人姓名,roomkind包间类型fromRoom,Staffwherechief=idandroomkind='

+Edit11->

Text+"

'

;

ADOQuery1->

Active=false;

SQL->

Clear();

Add(mysql);

Open();

}

Text=="

selectroomid餐桌代码,capacity可容人数,chief负责编号,name负责人姓名,roomkind包间类型fromRoom,Staffwherechief=id"

5.1.2添加功能

Button1Click(TObject*Sender)

Insert();

FieldByName("

餐桌代码"

)->

Value=Edit1->

Text;

可容人数"

Value=Edit2->

负责编号"

Value=Edit3->

包间类型"

Value=Edit4->

Post();

5.1.3修改功能

Button2Click(TObject*Sender)

//1得到用户输入的新值

StringnewValue=Edit1->

Text;

//第二步向TADOTable组件发出编辑的请求

Edit();

//给字段赋值

Value=newValue;

//第四步提交更改

Post();

StringnewValue2=Edit2->

Value=newValue2;

StringnewValue3=Edit3->

Value=newValue3;

StringnewValue4=Edit4->

Value=newValue4;

selectroomid餐桌代码,capacity可容人数,chief负责编号,name负责人姓名,roomkind包间类型\

fromRoom,Staffwherechief=id"

5.1.4删除功能

Button3Click(TObject*Sender)

Application->

MessageBoxA("

餐桌将被删除"

"

信息提示框"

);

Delete();

5.2结账信息模块功能编码

5.2.1连接到账单表功能

void__fastcallTForm_jiezhangxinxi:

selectdish.dishid菜品编号,dishname菜品名称,dishamount菜品数量fromdishs,dish\

wheredishs.dishid=dish.dishidandroomid='

+ComboBox2->

;

Stringmysqls="

selectdistinctbillidfromdishswhereroomid='

ADOQuery4->

Add(mysqls);

AnsiStringq=ADOQuery4->

billid"

AsString;

Edit5->

Text=q;

5.2.2消费金额计算显示功能

selectsum(uniteprice)a\

fromdishs,dishwheredishs.dishid=dish.dishidandroomid='

AnsiStrings=ADOQuery4->

a"

Edit1->

Text=s;

5.2.3退台功能

insertintoconsume(billid,money,roomid,chargerid,discount,payways)values('

+Edit5->

'

+Edit3->

+ComboBox1->

+Edit2->

+k+"

)"

ADOQuery3->

ExecSQL();

操作成功"

mysql="

updateroomsetstate=0whereroomid='

Form_yuangong->

ADOQuery1->

Close();

deletefromdishswhereroomid='

this->

Close();

第六章测试

6.1包房信息管理模块:

一、查询功能:

1在“餐桌类型”输入框中,输入“中包”,点击“查询”,将在显示框中显示出房间类型为“中包”的元组;

2在“负责人”输输入框中,输入“和平”,点击“查询”,将在显示框中显示出员工姓名为“和平”的元组;

3当输入的输入项不符合要求时,在显示框中出现空表,没有显示内容;

二、插入功能:

在出现的对话框右侧,依次输入房间号为5,容纳人数为10,负责编号为123,包房类型大包后,点击“确定”,在显示框中便会立即出现新插入的数组{"

5"

10"

123"

"

大包"

};

三、删除功能:

在对话框中直接输入房间号,便可以直接删除对应的房间元组;

出现的错误:

再删除房间元组后,出现了产出异常,对应的管理员工的数据也被删除,在其他表中,涉及到该员工的信息元组都一并被删除了。

解决方案:

经删除语句中,将当初设计的“级联”修改为“限制”。

四、修改功能:

如插入功能类似,在输入框中输入需要修改的信息,点击修改,然后点击确定,在显示框中便会立即显示出修改后的新数组信息。

6.2结账功能模块:

1进入页面后,点击“房间号”输入框后的下拉菜单即可选择房间号码,在选中具体号码之

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1