课程设计报告Delphi餐饮管理系统.docx

上传人:b****8 文档编号:30303972 上传时间:2023-08-13 格式:DOCX 页数:65 大小:1.14MB
下载 相关 举报
课程设计报告Delphi餐饮管理系统.docx_第1页
第1页 / 共65页
课程设计报告Delphi餐饮管理系统.docx_第2页
第2页 / 共65页
课程设计报告Delphi餐饮管理系统.docx_第3页
第3页 / 共65页
课程设计报告Delphi餐饮管理系统.docx_第4页
第4页 / 共65页
课程设计报告Delphi餐饮管理系统.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

课程设计报告Delphi餐饮管理系统.docx

《课程设计报告Delphi餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计报告Delphi餐饮管理系统.docx(65页珍藏版)》请在冰豆网上搜索。

课程设计报告Delphi餐饮管理系统.docx

课程设计报告Delphi餐饮管理系统

4.5.2客户放弃开台设计...........................................37

4.5.3客户点菜完毕返回设计........................................37

摘要

几年来,随着我国国民经济的稳定增长,餐饮业的竞争也越来越激励,想在这样竞争激励的环境下生存,就必须运用科学的管理思想与先进的管理方法,使用点餐与管理一体化。

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

因此,餐饮业的管理者更需要一种综合实时的管理模式,希望从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜。

结合管理信息系统的开发方法及步骤,以此为理论根据,开发出一个信息管理系统——餐饮管理系统。

它采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。

通过本系统功能模块,可为各种大小不同的餐饮管理所使用。

为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。

具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象。

 

关键字:

餐饮管理系统、提高服务水平、提高工作效率

 

第一章系统需求分析

1.1系统功能需求分析

随着现在连锁餐饮店的不断崛起,作为餐饮业不可缺少的一部分——餐饮管理系统,它的内容对于餐饮业的决策者和管理者来说都非常重要。

本系统基于餐饮管理系统之下的一个子系统,可以把整个餐饮店的日常经营管理信息化,包括点餐、库存管理、员工信息等日常经营的一些统计功能。

现在此系统还不够完善,将来使此系统会集成更多的功能,例如:

餐饮管理系统的开发成功,实现了餐饮业的现代化,表明了餐饮管理正与国际化接轨,有了更为深入的发展。

《餐软管理系统》采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。

通过本系统功能模块,可为各种大小不同的餐饮管理所使用。

为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。

具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象。

根据实际情况的需要,系统主要功能如下:

前台管理:

开台管理、客户结账、退出系统。

系统管理:

权限管理、系统管理、帮助。

基础信息管理:

酒水信息查询、菜谱信息查询及设置。

1.2系统数据流图

根据实际情况要求,系统数据流图如图1.2.1所示

图1.2.1数据流图

1.3数据字典

在这定义的酒店餐饮数据字典,主要对数据流程图中的数据流、数据存储和处理过程进行说明。

(1)主要的数据流定义

1)数据流名称:

客户信息

位置:

客户P2

定义:

客户信息=房间台号+所点菜+酒水+开单时间+服务员编号

数据流量:

说明:

客人点菜时可以进行特色菜和酒水信息的查询,买单时要核对消费名目是否属实。

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

输出:

P2

数据结构:

菜谱信息=菜名+单位+价格+菜系类别+口味说明

存取方式:

检索

说明:

在点菜时对菜谱进行查询。

(3)主要处理过程

1)处理过程编号:

P1

处理过程名:

开台

输入:

服务员权限,桌台状况

输出:

开台信息

处理说明:

综合各方面信息,进行客人消费前最基本的准备。

2)处理过程编号:

P2

处理过程名:

点菜

输入:

D1,D3,D4

输出:

点菜信息

处理说明:

客人根据菜谱信息,酒水信息,特色菜信息,选择自己中意的项目进行。

3)处理过程编号:

P3

处理过程名:

权限管理

输入:

员工类型,口令

输出:

相应的操作权限

处理说明:

输入员工类别和口令获得相应的操作权限,管理员比服务员具有更多的操作权限。

 

第二章系统概要设计

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

允许为空

类型说明

char

20

允许为空

餐饮部门

char

20

允许为空

服务费

money

8

允许为空

简要说明

char

30

允许为空

状态

char

20

允许为空

2、点菜表

点菜表用于保存点菜信息和相应的消费信息。

点菜表的结构见表3-2-2所示。

表3-2-2点菜表结构

字段名称

数据类型

字段大小

是否允许为空

id

char

16

设置为主键

房间台号

int

4

允许为空

类别

Char

10

允许为空

编号

int

4

允许为空

名称

char

50

允许为空

类型

char

20

允许为空

单位

char

10

允许为空

数量

int

4

允许为空

价格

money

8

允许为空

合计

Money

8

允许为空

点单日期

datetime

8

允许为空

结单日期

datetime

8

允许为空

服务员编号

int

8

允许为空

服务员姓名

char

12

允许为空

状态

char

10

允许为空

结账编号

int

4

允许为空

是否结单

char

10

允许为空

3、菜谱费用信息表用于查询餐饮店所有的菜的信息。

菜谱费用信息表的结构如图3-2-3所示。

表3-2-3菜谱费用信息结构

字段名称

数据类型

字段大小

是否允许为空

编号

int

4

设为主键

菜名

char

50

允许为空

单位

char

10

允许为空

价格

money

8

允许为空

菜系类别

char

20

允许为空

口味说明

char

30

允许为空

4、台号信息表用于台号信息的查询,方便了消费者选台,开台及其他的作用。

台号信息表的结构如图3-2-4示。

表3-2-4台号信息表结构

字段名称

数据类型

字段大小

是否允许为空

编号

int

4

设为主键

房台名称

char

30

设为主键

类型说明

Char

20

允许为空

餐饮部门

Char

20

允许为空

服务费

money

8

允许为空

简要说明

char

30

允许为空

状态

char

10

允许为空

容纳人数

Int

4

允许为空

 

第四章系统详细设计及实现

4.1系统登陆界面设计

1.实现目标

程序启动后,首先登陆此界面验证操作员的密码。

主要实现的功能如下:

1)以图标形式显示数据库中操作员,并凭口令登入到主界面。

2)操作员输入错误密码提醒错误并返回,三次输入错误口令则退出系统。

3)实现权限登录:

系统管理员拥有一切权利,其他操作员则被限制一些操作权限。

系统登录界面如图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

Query1

设置数据源

3.程序主要代码如下:

单击“登陆”按钮,将判断操作员、操作密码是否正确,如果正确进入主界面并根据操作员权限设置菜单和工具是否可用。

如果输入密码错误将提醒并返回,三次错误输入则自动退出系统。

procedureTUser.BitBtn1Click(Sender:

TObject);

begin

MainForm.ToolButton1.Enabled:

=True;

MainForm.ToolButton2.Enabled:

=True;

MainForm.ToolButton5.Enabled:

=True;

MainForm.ToolButton6.Enabled:

=True;

MainForm.N1.Enabled:

=True;

MainForm.N2.Enabled:

=True;

MainForm.N4.Enabled:

=True;

MainForm.N3.Enabled:

=True;

MainForm.N5.Enabled:

=True;

MainForm.N6.Enabled:

=True;

MainForm.N7.Enabled:

=True;

MainForm.N8.Enabled:

=True;

MainForm.N9.Enabled:

=True;

MainForm.N17.Enabled:

=True;

MainForm.N19.Enabled:

=True;

ifQuery1.FieldByName('编号').AsString='controller'then//如果是系统管理员

begin

ifEdit1.Text<>Query1.FieldByName('密码').AsStringthen

begin

ShowMessage('['+Query1.FieldByName('姓名').AsString+']的口令错误.');//口令错误

Edit1.SetFocus;

End

Else

begin

MainForm.StatusBar1.Panels[1].Text:

='用户['+Query1.FieldByName('姓名').AsString+']';

MainForm.User1:

=Query1.FieldByName('姓名').AsString;

User_Close:

=3;

Timer1.Enabled:

=False;

Close;

end;

End

Else

begin

MainForm.ToolButton1.Enabled:

=False;

MainForm.ToolButton2.Enabled:

=False;

MainForm.ToolButton5.Enabled:

=False;

MainForm.N1.Enabled:

=False;

MainForm.N2.Enabled:

=False;

MainForm.N4.Enabled:

=False;

MainForm.N3.Enabled:

=False;

MainForm.N5.Enabled:

=False;

MainForm.N6.Enabled:

=False;

MainForm.N7.Enabled:

=False;

MainForm.N8.Enabled:

=False;

MainForm.N9.Enabled:

=False;

MainForm.N17.Enabled:

=False;

MainForm.N19.Enabled:

=False;

ifEdit1.Text<>Query1.FieldByName('密码').AsStringthen

begin

ShowMessage('['+Query1.FieldByName('姓名').AsString+']的口令错误.');

Edit1.SetFocus;

End

Else

begin

Name:

=Query1.FieldByName('权限').AsString;

MainForm.EnabledKey(Name);//设置操作员权限

MainForm.StatusBar1.Panels[1].Text:

='用户['+Query1.FieldByName('姓名').AsString+']';

User_Close:

=3;

Timer1.Enabled:

=False;

Close;

end;

end;

END;

窗体启动,关闭钥匙,后将所有操作员添加到操作员列表。

procedureTUser.FormShow(Sender:

TObject);

varList:

Array[0..1]ofTListItem;

begin

Timer1.Enabled:

=True;

User_Close:

=0;//打开关闭钥匙

Query1.Close;

Query1.Open;

ListView1.Items.Clear;

WhilenotQuery1.Eofdo

begin

List[0]:

=ListView1.Items.Add;

List[0].Caption:

=Query1.FieldByName('姓名').AsString;

ifQuery1.FieldByName('编号').AsString='controller'then

begin

List[0].ImageIndex:

=0;

End

Else

begin

List[0].ImageIndex:

=1;

end;

Query1.Next;

end;

end;

选择操作员,点击其中一个则将员工的姓名和类型添加到了相应位置。

procedureTUser.ListView1Click(Sender:

TObject);

varList:

Array[0..1]ofTListItem;

begin

List[0]:

=ListView1.Selected;

ifList[0]<>Nilthen

begin

Query1.Locate('姓名',List[0].Caption,[loCaseInsensitive]);

//查询姓名,但是如果有从名的按第一个算.

end;

end;

4.2主界面设计

1、程序启动后。

系统在“登陆界面”验证操作员密码后,将进入此界面。

系统主界面主要功能:

根据操作员权限设置相应权限的菜单和工具栏功能。

可通过菜单或快捷键进入相应子界面。

显示了系统当前时间和相应操作员。

主程序界面如图4.2.1所示。

图4.2.1主程序界面

2.实现过程

(1)启动Delphi,设置窗体名为mainfrom,设置窗体caption为“餐饮管理系统”,保存为u791.pas。

(2)向窗体中添加Imagelist、mainmenu、image、toolbutton、stausbar、panel、time、label等控件主要属性为:

控件名

属性

功能

Toolbar1

images

Imagelist1

设置工具栏图标

stausbar1

Panel1

用户登录【管理员】

显示程序状态、参数

(3)主要程序代码如下:

使应用项目的提示信息挂钩程序。

procedureTMainForm.FormCreate(Sender:

TObject);

begin

Application.OnHint:

=DisPlayHint;//与应用项目的提示信息挂钩

end;

先调用系统登陆窗口,再设置窗体状态参数程序。

procedureTMainForm.FormShow(Sender:

TObject);

varYear,Month,Day:

Word;

begin

Close_1:

=1;

User.ShowModal;//调用系统登陆窗口

IfClose_1=0Then

Close

Else

begin

Application.MainForm.WindowState:

=wsMaximized;

Application.MainForm.WindowState:

=wsNormal;

DecodeDate(StrToDate(DateTOStr(Date)),Year,Month,day);//分解日期

StatusBar1.Panels[2].Text:

='系统日期:

'+IntToStr(Year)+'年'+IntToStr(Month)+'月'+IntToStr(day)+'日';

end;

end;

调入开台界面程序。

procedureTMainForm.N8Click(Sender:

TObject);

begin

IfAssigned(KTGL)Then

begin

DataModule1.THXX.Open;//打开台号信息表

DataModule1.cybmb.Open;//打开餐饮部门表

DataModule1.JZBH.Open;//打开结帐编号表

KTGL:

=TKTGL.Create(Self);

KTGL.ShowModal;

end;

end;

设置“B”类权限有系统管理和系统维护操作权,“A”类权限即系统管理员的操作享有一切操作权限。

如图4.2.2所示。

图4.2.2B类权限主程序界面

代码如下:

FunctionTMainForm.EnabledKey(key:

String):

Boolean;//声明操作权限函数EnabledKey

begin

ifPos('A',key)>0then//具有"A"类权限

begin

MainForm.ToolButton1.Enabled:

=True;

MainForm.ToolButton2.Enabled:

=True;

MainForm.ToolButton5.Enabled:

=True;

MainForm.ToolButton6.Enabled:

=True;

MainForm.N1.Enabled:

=True;

MainForm.N2.Enabled:

=True;

MainForm.N4.Enabled:

=True;

MainForm.N3.Enabled:

=True;

MainForm.N8.Enabled:

=True;

MainForm.N9.Enabled:

=True;

MainForm.N17.Enabled:

=True;

MainForm.N19.Enabled:

=True;

End

Else

ifPos('B',key)>0then//具有"B"类权限

begin

MainForm.ToolButton1.Enabled:

=True;

MainForm.ToolButton2.Enabled:

=True;

MainForm.ToolButton6.Enabled:

=True;

MainForm.N1.Enabled:

=True;

MainForm.N5.Enabled:

=True;

MainForm.N6.Enabled:

=True;

MainForm.

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

当前位置:首页 > 医药卫生 > 基础医学

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

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