课程设计报告Delphi餐饮管理系统 论文Word格式.docx
- 文档编号:16409597
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:56
- 大小:1.14MB
课程设计报告Delphi餐饮管理系统 论文Word格式.docx
《课程设计报告Delphi餐饮管理系统 论文Word格式.docx》由会员分享,可在线阅读,更多相关《课程设计报告Delphi餐饮管理系统 论文Word格式.docx(56页珍藏版)》请在冰豆网上搜索。
说明:
客人点菜时可以进行特色菜和酒水信息的查询,买单时要核对消费名目是否属实。
2)数据流名称:
菜谱信息
位置:
菜谱P2
定义:
菜谱信息=编号+房间台号+菜名+单位+价格+菜系类别+口味说明
数据流量:
编号不能有重复的。
3)数据流名称:
桌台状况
桌台P1
桌台状况=编号+房台名称+类型说+餐饮部门+服务费+简要说明+状态
只有状态为空闲的房台才能开台。
4)数据流名称:
开台人
服务员P1
开台人=编号+姓名+员工类别+密码
不同的员工类别具有不同的权限,管理员具有所有权限,服务员不具备系统维修等权限。
5)数据流名称:
员工信息
P3P1
员工信息=员工编号+姓名+性别+出生日期+联系电话+联系地址+聘用日期+工作部门+员工类别+身份证号+备注
员工编号不可相同。
6)数据流名称:
管理员情况
管理员P3
管理员=姓名+口令
平均流量为每年传输50次。
通过管理员来不断的更新和维护这个系统。
7)数据流名称:
开台信息
P1P4
开台信息=房间台号+服务费
说明:
服务费可以省去。
8)数据流名称:
点菜信息
P2P4
点菜信息=房间台号+类别+编号+名称+类型+数量+价格+合计+点但日期+结单日期+服务员编号+服务员姓名+结帐编号
房间台号是根据开台而来的。
(2)主要的数据存储定义
1)数据存储编号:
D1
数据存储名称:
桌台信息
输入:
P1
输出:
P2
数据结构:
桌台信息=编号+房台名称+类型说+餐饮部门+服务费+简要说明+状态
存取方式:
检索和更新处理,以检索为主。
编号具有唯一性,状态只能是空闲或者营业。
2)数据存储编号:
D2
P1
P3
员工信息=员工类别+口令
主要是检索。
根据员工类别的不同,在后面的操作中具有不同的权限。
3)数据存储编号:
D3
P2
菜谱信息=菜名+单位+价格+菜系类别+口味说明
检索
在点菜时对菜谱进行查询。
(3)主要处理过程
1)处理过程编号:
处理过程名:
开台
输入:
服务员权限,桌台状况
输出:
处理说明:
综合各方面信息,进行客人消费前最基本的准备。
2)处理过程编号:
处理过程名:
点菜
D1,D3,D4
客人根据菜谱信息,酒水信息,特色菜信息,选择自己中意的项目进行。
3)处理过程编号:
权限管理
员工类型,口令
相应的操作权限
输入员工类别和口令获得相应的操作权限,管理员比服务员具有更多的操作权限。
第二章系统概要设计
2.1系统总体框架设计
根据业务情况,该系统共分为开台管理、客人买单、菜谱信息设置、客户点菜、酒水信息设置等模块,系统结构图如图2.1所示。
图2.1餐饮管理系统结构图
2.2各模块功能分析
(1)系统登录窗口主要功能:
1)以图标形式显示数据库中操作员,并凭口令登入到主界面。
2)操作员输入错误密码提醒错误并返回,三次输入错误口令则退出系统。
3)实现权限登录:
系统管理员拥有一切权利,其他操作员则被限制一些操作权限。
(2)系统主界面主要功能
1)根据操作员权限设置相应权限的菜单和工具栏功能。
2)可通过菜单或快捷键进入相应子界面。
3)显示了系统当前时间和相应操作员。
(3)系统菜谱信息设置界面主要功能:
实现对菜谱信息的添加、修改、删除、查询的功能。
(4)系统开台管理界面主要功能:
1)以图标模式显示空台、营业台,点击台号图标则自动显示相应台号信息。
2)通过输入台号检索符合条件的台号。
3)点击空房自动弹出与昂查询窗口从而自动开台。
(5)系统点菜界面主要功能:
1)实现菜谱,酒水查询的链接。
2)点击“开始点菜”按钮台号状态自动变为开台,并聚焦到编号栏。
3)在编号栏输入菜编号按回车自动录入菜的信息,。
4)自动生成结账编号,输入菜数量自动计算合计消费金额。
5)可实现挂单、读单、放弃开台和点菜完毕返回的功能。
第三章数据库设计
3.1系统E-R图的设计
系统E-R图如图3.1所示
图3.1系统E-R图
3.2数据库结构设计
数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。
因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库后再进行编码,从而避免了无谓的重复的工作。
本系统采用了SQLServer数据库,数据库名称为060412079。
该数据库包含4个表,分别是:
开台表,点菜表,菜谱费用信息表,台号信息表。
下面分别介绍数据表的结构。
1、开台表
开台表用于保存开台的相关信息。
开台表的结构见表3-2-1所示。
表3-2-1开台表结构
字段名称
数据类型
字段大小
允许为空否
编号
int
4
设置为主键
房台名称
char
30
允许为空
类型说明
20
餐饮部门
服务费
money
8
简要说明
状态
2、点菜表
点菜表用于保存点菜信息和相应的消费信息。
点菜表的结构见表3-2-2所示。
表3-2-2点菜表结构
是否允许为空
id
16
房间台号
类别
Char
10
名称
50
类型
单位
数量
价格
合计
Money
点单日期
datetime
结单日期
服务员编号
服务员姓名
12
结账编号
是否结单
3、菜谱费用信息表用于查询餐饮店所有的菜的信息。
菜谱费用信息表的结构如图3-2-3所示。
表3-2-3菜谱费用信息结构
设为主键
菜名
菜系类别
口味说明
4、台号信息表用于台号信息的查询,方便了消费者选台,开台及其他的作用。
台号信息表的结构如图3-2-4示。
表3-2-4台号信息表结构
Char
money
容纳人数
Int
第四章系统详细设计及实现
4.1系统登陆界面设计
1.实现目标
程序启动后,首先登陆此界面验证操作员的密码。
主要实现的功能如下:
1)以图标形式显示数据库中操作员,并凭口令登入到主界面。
系统登录界面如图4.1.1所示。
图4.1.1系统登录界面
2.实现过程
(1)添加窗体设置窗体caption属性为“登录窗口”,保存窗体为u79in.pas。
(2)向窗体中添加Datasource、Query、Edit、Listview、ImageList、Image、Time、Label等控件。
主要控件对象的属性如表4-2-1所示。
表4-2-1主要控件对象的属性列表
控件名
属性
值
功能
Query1
Databasename
SQL
060412079
Select*from员工信表
权限查询
Database1
Dataset
设置数据源
3.程序主要代码如下:
单击“登陆”按钮,将判断操作员、操作密码是否正确,如果正确进入主界面并根据操作员权限设置菜单和工具是否可用。
如果输入密码错误将提醒并返回,三次错误输入则自动退出系统。
procedureTUser.BitBtn1Click(Sender:
TObject);
begin
MainForm.ToolButton1.Enabled:
=True;
MainForm.ToolButton2.Enabled:
MainForm.ToolButton5.Enabled:
MainForm.ToolButton6.Enabled:
MainForm.N1.Enabled:
MainForm.N2.Enabled:
MainForm.N4.Enabled:
MainForm.N3.Enabled:
MainForm.N5.Enabled:
MainForm.N6.Enabled:
MainForm.N7.Enabled:
MainForm.N8.Enabled:
MainForm.N9.Enabled:
MainForm.N17.Enabled:
MainForm.N19.Enabled:
ifQuery1.FieldByName('
编号'
).AsString='
controller'
then//如果是系统管理员
begin
ifEdit1.Text<
>
Query1.FieldByName('
密码'
).AsStringthen
ShowMessage('
['
+Query1.FieldByName('
姓名'
).AsString+'
]的口令错误.'
);
//口令错误
Edit1.SetFocus;
End
Else
MainForm.StatusBar1.Panels[1].Text:
='
用户['
]'
;
MainForm.User1:
=Query1.FieldByName('
).AsString;
User_Close:
=3;
Timer1.Enabled:
=False;
Close;
end;
Name:
权限'
MainForm.EnabledKey(Name);
//设置操作员权限
END;
窗体启动,关闭钥匙,后将所有操作员添加到操作员列表。
procedureTUser.FormShow(Sender:
varList:
Array[0..1]ofTListItem;
=0;
//打开关闭钥匙
Query1.Close;
Query1.Open;
ListView1.Items.Clear;
WhilenotQuery1.Eofdo
List[0]:
=ListView1.Items.Add;
List[0].Caption:
ifQuery1.FieldByName('
then
List[0].ImageIndex:
=1;
Query1.Next;
end;
选择操作员,点击其中一个则将员工的姓名和类型添加到了相应位置。
procedureTUser.ListView1Click(Sender:
=ListView1.Selected;
ifList[0]<
Nilthen
Query1.Locate('
List[0].Caption,[loCaseInsensitive]);
//查询姓名,但是如果有从名的按第一个算.
4.2主界面设计
1、程序启动后。
系统在“登陆界面”验证操作员密码后,将进入此界面。
系统主界面主要功能:
根据操作员权限设置相应权限的菜单和工具栏功能。
可通过菜单或快捷键进入相应子界面。
显示了系统当前时间和相应操作员。
主程序界面如图4.2.1所示。
图4.2.1主程序界面
(1)启动Delphi,设置窗体名为mainfrom,设置窗体caption为“餐饮管理系统”,保存为u791.pas。
(2)向窗体中添加Imagelist、mainmenu、image、toolbutton、stausbar、panel、time、label等控件主要属性为:
Toolbar1
images
Imagelist1
设置工具栏图标
stausbar1
Panel1
用户登录【管理员】
显示程序状态、参数
(3)主要程序代码如下:
使应用项目的提示信息挂钩程序。
procedureTMainForm.FormCreate(Sender:
Application.OnHint:
=DisPlayHint;
//与应用项目的提示信息挂钩
先调用系统登陆窗口,再设置窗体状态参数程序。
procedureTMainForm.FormShow(Sender:
varYear,Month,Day:
Word;
Close_1:
User.ShowModal;
//调用系统登陆窗口
IfClose_1=0Then
Close
Application.MainForm.WindowState:
=wsMaximized;
=wsNormal;
DecodeDate(StrToDate(DateTOStr(Date)),Year,Month,day);
//分解日期
StatusBar1.Panels[2].Text:
系统日期:
'
+IntToStr(Year)+'
年'
+IntToStr(Month)+'
月'
+IntToStr(day)+'
日'
调入开台界面程序。
procedureTMainForm.N8Click(Sender:
IfAssigned(KTGL)Then
DataModule1.THXX.Open;
//打开台号信息表
DataModule1.cybmb.Open;
//打开餐饮部门表
DataModule1.JZBH.Open;
//打开结帐编号表
KTGL:
=TKTGL.Create(Self);
KTGL.ShowModal;
设置“B”类权限有系统管理和系统维护操作权,“A”类权限即系统管理员的操作享有一切操作权限。
如图4.2.2所示。
图4.2.2B类权限主程序界面
代码如下:
FunctionTMainForm.EnabledKey(key:
String):
Boolean;
//声明操作权限函数EnabledKey
ifPos('
A'
key)>
0then//具有"
A"
类权限
B'
B"
MainFo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计报告Delphi餐饮管理系统 论文 课程设计 报告 Delphi 餐饮 管理 系统