基于C#和SQL SERVER数据库实现的餐饮管理系统

Inyoumeheat

发布日期: 2018-11-16 12:33:21 浏览量: 523
评分:
star star star star star star star star star_border star_border
*转载请注明来自write-bug.com

摘 要

餐饮管理系统作为一个餐饮的基本管理,是餐饮服务业对职工以及餐饮的日常管理。开发餐饮管理系统,正是完善餐饮业信息化管理的重要环节。人工操作已很难满足餐饮业信息化管理的要求,面对庞大的信息量,该方式现存在很多弊端。因此,建立现代化的智能管理系统势在必行。这样也大大减轻了餐饮业内部人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简约而轻松。

在系统设计中包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。该系统侧重于顾客开台,点菜和结帐,通过已编制好的程序,完成对管理员的登录、桌台信息和职工信息的添加、查询,以及管理员的增、删、改、查等,本系统使用的开发工具是.NET开发程序,采用SQL Server2005数据库。实现餐饮数据及职工的数据采集、数据统计和信息查询过程,完善餐饮管理现代化,方便管理人员统计、考查员工工作情况,方便餐饮业管理部门查询宾馆一段时间内盈余情况,准确地掌握餐饮业近期情况和相关数据。

关键词:餐饮管理;Visual C#.NET;SQL Server2005数据库

1 项目介绍

针对系统来说主要任务是设计一个餐饮管理系统,实现顾客的开台,点菜,结帐,和餐饮业职工的管理等功能。具体的设计任务如下:

  • 实现用户登录及修改密码及创建用户帐户

  • 能查看、查询、输入、添加职工基本信息

  • 能查看、查询、输入、添加桌台和包间基本信息

  • 能及时开台,为顾客点菜以及结帐

  • 能及时备份数据和恢复数据

  • 有一些辅助工具如日历计算机等

2 需求分析

餐饮管理系统是一个饮食产业不可缺少的一部分,它对于餐饮业的决策者和管理者来说都非常重要。本系统主要包括桌台显示、消费查询、人事档案及权限等几大部分,本系统具有良好的用户接口,使用方便。具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵活地进行查询、修改、删除等维护性操作。餐饮管理系统有足够的存储容量,满足酒店每日营业的变动,另外对于操作用户有一定的管理,并对用户的权限有一定的设置。

餐饮管理系统的功能模块包括基本信息、辅助工具、系统维护、系统设置模块,其中系统设置模块可以实现口令修改和锁定系统。此模块通过修改密码和锁定系统提高系统安全性也方便工作人员操作。

2.1 功能需求

2.1.1 基本功能需求

本课题要实现的是餐饮宾馆管理系统,在设计时应该有友好的用户界面,便于用户的操作,系统应有基本功能如下:

  • 用户登录功能

  • 职工和桌台相关信息的管理功能

  • 开台,点菜,结帐的功能

  • 查询功能

  • 用户信息管理功能

2.1.2 用户界面需求

对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。如尽量减少用户输入次数,多使用快捷按扭等。

2.1.3 开发环境介绍

本系统使用的开发语言是Visual C# .net,数据库采用的是SQL Server2005,以Windows XP系统为操作平台。

3 系统设计

3.1 登陆模块

3.1.1 模块功能

本模块主要起登陆作用,判断用户何不合法,可不可以使用本软件,是本系统的第一个界面

3.1.2 模块功能图

3.1.3数据表

数据库使用Microsoft SQL SERVER 2005,新建数据库命名为db_MrCy,在数据库中创建了6个数据表用于存储不同的信息,本系统设置模块用到的数据表是表tb_user,用于存放用户信息,如下:

字段名 数据类型 长度 主键 描述
id int 4 系统标号
username varchar 50 用户登录名
userpwd varchar 50 用户登录密码
power int 10 用户权限

3.1.4 模块技术分析

该窗体用到的主要控件如下:

  • 两个TextBox控件:前一个用于输入用户账号,后一个用于输入登录密码

  • 两个Bottom控件:确定按钮用于确认登陆,取消按钮用于退出系统

输入账号或密码为空,则跳出提示窗口:

若输入账号密码错误,则跳出提示窗口:

输入账号密码一致,进入下一窗口。

点击退出按钮,跳出提示窗口:

单击确定,退出系统。

3.2 主界面模块

3.2.1 模块功能

用户通过登录界面登录之后,进入主模块界面。主模块界面上显示基础信息、辅助设计、系统维护、系统设置、帮助和退出菜单,方便用户进行相关操作。此外,主模块界面上通过两幅不同的图片形象的显示桌台或者大厅的空闲状态,用户通过双击图片可以进入另一个界面。如果用户双击的是表示空闲状态的图片,会提示“您已经开过台!请选择加点菜或者退出!”,那么进入另一个界面,就可以点击开台单、点/加菜和退出菜单,并进行相关操作。如果用户双击的是表示非空闲状态的图片,会提示“您没用开台!请选择开台!”,那么进入另一个界面上就不能点击开台单菜单,只能点击点/加菜和退出菜单,并进行相关操作。

3.2.2 模块数据流图

3.2.3 数据表

字段名 数据类型 长度 主键 描述
ID int 4 系统编号
roomname char 10 桌台名称
roomjc char 10 桌台简称
roombjf decimal 9 桌台包间费
roomwz char 10 桌台位置
roomzt char 10 桌台状态
roomtype char 10 桌台类型
roombz varchar 50 桌台备注
roomqt varchar 50 桌台其它信息
guestname varchar 50 顾客姓名
zhangdandate varchar 50 开台时间
num int 4 顾客人数
watername varchar 50 操作员姓名

3.2.4 模块技术分析

开发主模块中的桌台显示时,主要通过ListView控件实现的,系统首先从数据库中检索出每个桌台的状态,然后根据不同的状态通过ListView控件的Items属性中的ADD方法向控件中添加项目集合。

主模块界面

主模块用到的控件主要有:

  • 6个MenuScrip控件:分别用于点击基础信息、辅助工具、系统设置、关于、帮助和退出,方便用户进行相关操作

  • 1个ImageList控件:用于显示代表桌台状态的图片

  • 1个ListView控件:用于显示所有桌台

主模块功能

  • 主模块提供基础信息、辅助工具、系统设置、关于、帮助和退出菜单,方便用户点击,进行相关操作

  • 若双击任意表示非空闲状态的图片,弹出以下对话框,提示用户已经开台

点击确定,进入如图2.5界面,可以进行点/加菜或者退出操作。

若双击表示空闲状态的界面,弹出以下对话框,提示用户,没有开台。

点击确定,进入如图2.7界面,进行开台、点/加菜或者退出操作。

3.3 开台模块

3.3.1 模块功能

在进入主模块界面之后,选择要进行开台的桌台号或者大厅号,双击图片进入另一个界面。在另一个界面上,单击开台单菜单,进入开台单模块界面。用户可以在该界面上选择服务员、输入顾客名称、用餐人数和备注,点击保存按钮,提示“已经保存成功!”。同时,返回到主模块界面上时,用户刚选择进行开台的桌台号或者大厅号的图片会变化为表示非空闲状态的图片,这样可以提示用户该桌台号或者大厅号已经开台。如果用户没有输入顾客名称和用餐人数,点击保存按钮后,会提示“顾客名称和用餐人数不能为空!”;点击退出按钮,返回到主模块界面。

3.3.2 模块数据流图

3.3.3 模块技术分析

在开台单模块中用户可以对桌台编号、账单日期、顾客名称、用餐人数、服务员和备注进行录入或更改。数据库录入或修改完毕后,单击“保存”按钮完成开台单的操作。在开发此模块时,主要用到了数据库的更新技术。

开台单模块界面

开台单模块用到的控件主要有:

  • 4个TextBox控件:分别用于输入顾客名称、账单日期、用餐人数和备注

  • 2个ComboBox控件:分别用于显示桌台编号和服务员

  • 2个Button控件:分别用于保存数据和退出返回到主模块界面

开台单模块功能

  • 选择桌台编号,服务员,并输入顾客名称、用餐人数和备注

点击保存按钮,会弹出以下对话框,提示已经保存成功,即开台成功。

如果用户没有输入顾客名称和用餐人数,点击保存按钮,会弹出以下对话框,提示顾客名称和用餐人数不能为空。

  • 点击退出按钮,返回到主模块界面。

3.4 点菜结帐模块

3.4.1 模块功能

服务员在已开台的桌台单击进入点加菜窗体,根据顾客需要从菜品类别中选取菜,在信息文本中会显示菜品的信息,服务员只需输入菜的数量和选取负责服务员的名字,保存信息后系统记录顾客所点的菜品的信息,如果顾客不再需要,服务员可以立即删除记录,另外服务员还可以根据具体要求添加备注。在顾客享用过程中,如有需要服务员还可以再次调出桌台信息,记录顾客加菜的信息。在顾客享用完后,服务员只需点击桌台弹出点加菜窗体,确定信息完整正确,点击结账按钮弹出结账窗体,系统自动结算了顾客消费清单,列出了详细具体的消费情况供顾客查询,此外,系统还有为服务员计算找零的功能,提高了操作效率。

3.4.2 模块数据流图

3.4.3 数据表

字段名 数据类型 数据长度 主键 数据描述
ID Int 4 系统编号
Foodnum Char 10 菜品编号
Foodname Varchar 50 菜品名称
Foodsum Char 10 菜品数量
Foodallprice Decimal 18 菜单总价
Waitername Varchar 50 服务员名
Beizhu Varchar 50 备注
Zhuotai Char 10 桌台
Datatime Datetime 50 日期

3.4.4 模块技术分析

在桌台主界面菜单按钮点加菜菜单,激发单击事件,载入点加菜窗体。

菜品分类列表

创建treeview控件,读取数据库中数据,根据类别创建节点。

菜品信息

读取数据库中顾客菜品信息,将数据显示在datagridview控件中,服务员输入菜品数量,完整信息,否则系统自动提示。

菜品记录

点击保存按钮,将文本中的菜品信息写入数据库中,并保存桌台信息。

删除记录

选中下表中顾客数据,点击删除按钮删除数据表中数据。

结账模块

点击结账按钮,弹出结账窗体,弹出结账窗体,并在label控件中显示消费情况。

消费情况

在datagridview控件中调取数据库中顾客点菜数据。

找零

根据消费总额及各科支付的金额,系统给出找零金额。

3.5 桌台信息管理模块

3.5.1 模块功能

桌台信息模块主要实现的功能是对桌台信息的添加、查询、修改和删除。选择该窗体以后,如果需要添加信息,用户需要填写添加的内容,然后按添加按钮进行添加,修改信息时,用户需要先从显示数据中选择需要修改的数据,将相关修改信息填写完成后点击修改按钮,查询时输入桌台号,点击查询,即可显示详细信息的窗口,选择数据后可直接点击删除,桌台信息即从数据库中删除成功,若要取消操作,直接点击取消即可。

3.5.2 模块功能图

3.5.3 数据表

数据库使用Microsoft SQL SERVER 2005,新建数据库命名为MrCy,在数据库中创建了2个数据表用于存储桌台和职员的信息。

字段名 数据类型 长度 主键 描述
Id int 4 系统编号
Roomname char 10 桌台名称
Roomjc char 10 桌台简称
Roombjf decimal 9 桌台包间费
Roomwz char 10 桌台位置
Roomzt char 10 桌台状态
Roomtype char 10 桌台类型
Roombz varchar 50 桌台备注
Roomqt varchar 50 桌台其他信息
Guestname varchar 50 顾客姓名
Zhagndandate varchar 50 开台时间
Num int 4 顾客人数
Waitername varchar 50 操作员姓名

3.5.4 模块技术分析

新建一个Windows窗口,命名为ZTXX.cs,主要用于实现对数据库中桌台信息的操作,界面如下图所示。

该窗体用到的主要控件如下:

  • 6个TextBox控件,用途:接收输入或是从数据库中选择的数据,显示选择的数据

  • 6个Label控件,用途:标记文本框的内容

  • 1个DataGridView控件,用途:显示数据库内容

  • 6个Button控件,用途:分别实现添加、修改、取消、查询、删除、退出的功能

在查询功能中还调用了ZTXXXX.cs窗口,如下图所示。

该窗体的主要控件如下:

  • 9个Label控件,用途:标记文本框的内容

  • 9个TextBox控件,用途:显示所查询的用户的详细信息

  • 1个Button控件,用途:退出该窗口,回到上一级窗口

3.6 职工信息管理模块

3.6.1 模块功能

职员信息模块的功能和桌台信息模块基本相似。

3.6.2 模块功能图

3.6.3 数据表

字段名 数据类型 长度 主键 描述
Id Int 4 系统编号
Waitername Varchar 50 职员姓名
Cardnum Varchar 50 身份证号码
Waiternum Char 10 职员编号
Sex Char 10 性别
Age Char 10 年龄
Tel Varchar 50 电话

3.6.4 模块技术分析

新建一个Windows窗口,命名为ZYXX.cs,主要用于实现对数据库中职员信息的操作,界面如下图所示。

同样在查询时也调用了ZYXXXX.cs窗口,如下图所示。

该模块用到的主要控件基本和桌台信息模块的相同。

3.7 系统设置模块

3.7.1 模块功能

系统设置模块主要实现的功能是对管理员的添加、查询、修改和删除,以及软件的锁定和数据库的备份和还原。选择该窗体以后,如果需要添加管理员,用户需要填写添加的内容,然后按添加按钮进行添加,修改信息时,用户需要输入管理员名称,将相关修改信息填写完成后点击修改按钮,查询时点击查询,即可显示所有管理员的窗口,数据库的备份和操作只需点击相应按钮就好,点击锁定软件后必须键入管理员密码才可解锁。

3.7.2 模块功能图

3.7.3 数据表

数据库使用Microsoft SQL SERVER 2005,新建数据库命名为db_MrCy,在数据库中创建了6个数据表用于存储不同的信息,本系统设置模块用到的数据表是表tb_user,用于存放用户信息,如下:

字段名 数据类型 长度 主键 描述
id int 4 系统标号
username varchar 50 用户登录名
userpwd varchar 50 用户登录密码
power int 10 用户权限

3.7.4 模块系统分析

用户管理模块界面

该窗体用到的主要控件如下:

  • 2个TextBox控件:前一个用于输入新密码,后一个用于重新输入密码以确认

  • 2个Bottom控件:确定按钮用于确认修改密码,取消按钮用于退出设置

用户管理模块功能

  • 添加用户:该模块可以添加用户,重复输入密码,如不一致出现出错提醒,各项均为必填。

  • 修改用户:该模块可修改用户的各项信息,重复输入密码,如不一致出现出错提醒,各项均为必填。

  • 删除用户:该模块可删除用户,通过用户名来匹配要删除的用户,通过密码来核对,如密码错误则提醒出错。

  • 查看用户信息

锁定模块界面

该窗体用到的主要控件如下:

  • 1个TextBox控件:用于输入解锁密码

  • 1个Bottom控件:解锁按钮用于确认解锁

系统流程图该窗体用到的主要控件如下:

  • 2个TextBox控件:前一个用于输入新密码,后一个用于重新输入密码以确认

  • 2个Bottom控件:确定按钮用于确认修改密码,取消按钮用于退出设置

锁定系统模块功能:

  • 输入解锁密码,若密码与登录用户密码不符,则弹出提示框:

系统维护模块界面

备份系统

该模块可以及时的备份数据库,以免出现不可抗拒的因素使得数据丢失。

恢复系统

数据得到备份后利用该模块可以使得数据库得以及时的恢复。

3.8 辅助工具和关于以及帮助模块

3.8.1 模块功能

本模块主要提供一下小软件,方便用户使用,只需单击主界面上相应按钮即可。

3.8.2 模块界面

4 总 结

本次实习已接近尾声,经过近一周的艰苦奋战,我们的系统终于基本完成,虽然感到比较累,但看到自己亲手做出的系统,心中却充满了喜悦。这周对我来说是比较累,却很充实的一段时光。期间,有苦,有乐。这是我第一次进行团队合作并完成系统,让我学到了很多,明白了很多,进步了很多,成熟了很多。我作为我们小组的组长,刚开始觉得自己身上的胆子比较重,但是组员相信我,给我信心让我勇于挑战。

记得刚开始,对这个系统还很陌生,有很多领域知识都不知道,经过老师的讲解和在网上搜索,我们知道了餐饮业的基本运行情况,管理软件在宾馆运营的作用及地位,管理软件要实现的基本功能。之后,在老师的指导要求下我们开始进行需求分析及任务分工。接下来就是分配编写代码任务,刚开始以为基本任务也不过如此,决定在三天内完成,由于我的数据库设计有些失误,导致我们六个人在编写时有些矛盾的思想,六个人的实现功能与计划不一致,三个模块的功能不统一,认识到问题之后我进行深刻的反省,此后我深刻明白在团队的合作中,任何人的一点点失误,就有可能对整个团队造成重大损失;个人不能搞独立,必须融入团队中,再强编程能力的人自己也很难完成一个功能良好的软件。

在最后阶段,随着各项工作逐渐完成,欢乐的心情也像清流一样缓缓淌入心中,看着这个经过自己团队努力终于等到的丰收的成果。我在这期间不仅学到了书本上没有的东西,还掌握了一些学习方法,奋斗的经验,也认识到在平时的课外生活中,取各方面营养,这样,才有更多的勇气勇于面对未来的生活中挑战。

参考文献

[1] 马煜,Visual C#.NET案例开发集锦,北京:电子工业出版社,2005

[2] 李乃文 傅游,C#程序设计实践教程,北京:清华大学出版社,2007

[3] 郭东恩,数据库原理与应用,河南:河南科学技术出版社,2008

上传的附件 cloud_download 基于C#和SQL SERVER数据库实现的餐饮管理系统.7z ( 2.43mb, 55次下载 )
error_outline 下载需要7点积分

发送私信

那些让你睡不着的心事,都会变成天上的星星

8
文章数
6
评论数
最近文章
eject