您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页餐饮管理系统分析

餐饮管理系统分析

来源:爱go旅游网


餐饮企业管理系统的设计与实现

所在院(系): 学 生: 指导教师: 研究起止日期:

安徽工业大学成教学院2011届专科毕业论文

摘 要

随着我国经济的快速发展,人民生活水平日益提高,餐饮消费需求越来越高,餐饮业突飞猛进。但与此同时,其所面临的竞争也越来越激烈。餐饮业要想在白热化的竞争环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。因此,餐饮企业的管理者需要一种综合,实时的管理模式,减轻工作负担,提高工作效率、降低经营成本,从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜.

首先分析了餐饮系统对现实餐饮运营管理的必要性,接着介绍了本系统所涉及到的相关技术和开发环境。在此基础之上介绍了系统的总体设计以及公共模块、主窗体模块、登入模块、开台管理模块、进货模块等典型模块的详细设计与实现.

本系统主要包括前台管理、后台管理、财务管理、系统管理、报表打印等功能。实现了实时的管理模式,可以减轻工作负担、提高工作效率、降低经营成本。方便、快捷、易用,达到了设计的目的。 关键词:餐饮;管理信息系统; Visual Basic 6.0; SQL Server2000

安徽工业大学成教学院2011届专科毕业论文

Abstract

With Chinese rapid economic development and increasing of people's living standards, consumer demand higher and higher food and beverage. Food and beverage industry is developing more and more quickly。 At the same time, they face increasingly fierce competition. In order to survive in the intense competitive environment, the manager must use scientific management ideas and advanced management methods to make ordering and management be integrative。 Therefore, managers need a comprehensive, real—time management model to reduce workload, improve efficiency, reduce operating costs. With a more scientific management, they will gain advantage in the competition and to be a winner。

First, the food and beverage management system is very essential for real catering enterprises. The paper introduces the relevant technology and developing environment. On this basis, it introduces the overall design of the system and public module, the main module, login module, the founding management module, purchasing module and other typical design and implementation of the module。

The system includes front desk management, background management, financial management, system management, report printing。 The system achieves real—time manage, reduce workload, improve efficiency and reduce operating costs。 Besides, it realizes the goal which is convenient, fast, easy to use。

Keywords: Food and beverage;Management information system; Visual Basic 6。0; SQL Server2000

安徽工业大学成教学院2011届专科毕业论文

目 录

1 绪论…………………………………………………………………………………..1

1。1引言……………………………………………………………………………1 1.2系统设计目的和现实意义……………………………………………………1 1。3开发工具介绍…………………………………………………………………1 2 餐饮企业管理系统分析……………………………………………………………..4

2。1设计目标………………………………………………………………………4 2。2需求分析………………………………………………………………………4 2。3系统可行性分析………………………………………………………………4 3

计…………………………………………………………。..。..5

3。1系统功能分析…………………………………………………………………5 3.2系统功能结构…………………………………………………………………5 4 餐饮企业管理系统数据库设计…………………………………………………….。6

4.1数据库概念设计………………………………………………………………6 4。2数据库逻辑结构设计…………………………………………………………8 4。3数据库结构的实现…………………………………………………………。。11

5 餐饮企业管理系统实现……………………………………………………。。。。.......。12

5.1公共模块设计……………………………………………………………….。12

5.1。1数据库连接…………………………………………………………。

12

5.1.2错误信息显示函数…………………………………………………。13 5.2主窗体的创建………………………………………………………………。.13 5.3系统登入模块的实现………………………………………………………。.15 5。4开台管理模块的实现………………………………………………………。.17 5.5进货管理模块的实现……………………………………………………….。22 6

安徽工业大学成教学院2011届专科毕业论文

试……………………………………………………………………。。.。..。..。.。26 7

结...。。。..。。....。。......。..。。.。。。。。.。....。..。。。.。..。。。..。。.。.。.。.。..。..。.。..。.。。.。...。。。。.。。。。。。..。。.。。.。。....。。..。..。27

参考文献………………………………………………………………………………28 致

谢………………………………………………………………………………………。......。。。。。.29

安徽工业大学成教学院2011届专科毕业论文

1 绪论

1。1 引言

随着我国经济的快速发展,人民生活水平日益提高,餐饮消费需求越来越高,餐饮业突飞猛进。但与此同时,其所面临的竞争也越来越激烈,餐饮业要想在白热化的竞争环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。因此,餐饮企业的管理者需要一种综合,实时的管理模式,减轻工作负担,提高工作效率、降低经营成本,从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜,开发出一个信息管理系统-餐饮管理系统便成为必然。

1。2 系统设计目的和现实意义

在金融危机的冲击下,我国改革开放不断深入,市场竞争日趋激烈,企业要想进一步发展,不得不进行现代化的管理。餐饮企业管理的自动化、信息化是必然选择.为了应对激烈的市场竞争,提高餐饮企业运作效率,建立餐饮管理系统已十分必要.

通过对餐饮企业日常运作的了解,参考大量的资料,综合系统结构组织,功能实现,技术要求以及可行性等多方面的考虑,认为本课题是一个符合现今餐饮企业发展需要的计算机信息管理系统,具有一定的实际开发价值和使用价值。

用计算机管理信息系统已成为现代化企业管理的重要标志,它给企业管理来了明显的经济效益和社会效益。主要表现:极大提高了工作人员的工作效率,大大减少了人工操作的繁杂;基于餐饮企业管理的全面自动化,可以减少进货管理、销售管理及库存管理中的漏洞,可以减少管理开支,增加收益.餐饮企业管理的信息化有利于全面提高了餐饮企业的管理水平。

因此,开发一个易于操作的餐饮企业管理软件对我国餐饮企业的发展具有重要意义,这正是本系统开发的目的和意义。

1。3 开发工具介绍

本系统基于Visual Basic 6.0 平台,完成对餐饮管理系统的开发,包括前台管理、后台管理以及系统配置管理;实现对工作人员的管理,访问权限管理;实现销售报表的生成。数据库采用SQL SERVER 2000,ADO连接方式,通过建立ODBC数据源进行数据的访问,修改。

(1)开发工具:Microsoft Visual Basic 6。0. Visual Basic 6。0简介

Visual Basic 6.0起源于DOS时代的BASIC语言,BASIC语言曾是最流行的计算机编程入门语言及最主流的计算机教学语言。Visual Basic 6。0是微软公司于1998年推出的Visual Studio 98中的一个组件。Visual Studio 98主要包括Visual c++ 6。0、Visual Basic 6.0、Visual Foxpro 6。0、Visual J++

-1-

安徽工业大学成教学院2011届专科毕业论文

6.0、Visual Internet 6。0和MSDN Library 6.0,几乎囊括了当前应用程序开发的各个方面,从中总可以找到满足需要的工具,

VB是一种可视化的、面向对象的Windows开发语言.VB从其问世之初,就有易用、通用和开发效率高的特点,这一特点VB一直保持着.随着微软对它不断的改进以及计算机本身在性能上的迅速提高,VB在程序性能上的缺陷也变得不那么关键。这使VB越来越适合于一般的应用程序开发。VB在顶尖的开发场所是开发关键性任务的主要语言,几乎可以做任何想做的事情。

VB一个很大的优点是迅速有效地编制程序界面.VB的快速程序开发环境在界面设计和程序开发中是很有效的.另外,在现代社会中,程序必须随着外界的变化而不断改变,VB就很适合于这类工作。

使用VB的一个有效方法是将VB与其它开发工具结合起来。VB可以用来做程序界面,以

及其它一些经常变化的部分,而用C语言来编制的动态链接库被VB调用以优化速度.也可以用C语言产生自己的OLE控件,然后在VB中使用。

(2)后台数据库:采用Microsoft SQL Server 2000设计。 SQL Server 2000简介

SQL Server是由Microsoft公司开发和推广的高性能的客户端/服务器结构的关系数据库管理系统(DBMS),最初由Microsoft、Sybase和Ashton-Tate三家公司共同开发,1988年推出第一个版本。1990年,Ashton-Tate公司退出开发,1992年,SQL Server移植到NT上,1994年两家公司分别开发,Microsoft公司专注于开发和推广SQL Server的Windows NT版,而Sybase公司则专注于SQL Server在UNIX操作系统上的应用。

2000年Microsoft公司正式发行了SQL Server 2000版本,SQL Server 2000在数据库性能、数据可靠性、易用性方面做了重大改进,并新增了许多新功能.SQL Server 2000有七种不同的可用版本:企业版、企业评估版、标准版、开发版、个人版、Windows CE版和桌面引擎版。由于企业版支持SQL Server 2000中的所有可用功能,并可根据支持最大的Web站点和企业联机事务处理(OLTP)及数据仓库系统所需的性能水平进行伸缩,多作为生产数据库服务器使用,故本系统采用企业版.

SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证.

SQL Server为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限.SQL Server可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk等。

SQL Server提供服务器端的软件,这部分需要安装在NT Server上,SQL Server的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQL Server可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引.

SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL

2

安徽工业大学成教学院2011届专科毕业论文

强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact—SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,还可以使用规则,缺省以及限制,来协助将新的数值套用到表格中去。

3

安徽工业大学成教学院2011届专科毕业论文

2 餐饮企业管理系统分析

2。1 设计目标

餐饮企业管理系统开发的总体任务是实现餐饮企业管理的系统化和自动化,从而提高企业管理效率.餐饮管理系统以经济、实用、便捷、高效为原则,为企业管理者、员工提供一个便捷、轻松的工作环境。

2.2 需求分析

本系统是为方便餐饮企业管理而开发的,系统的用户对象是餐饮企业的工作人员,由于本系统界面友好,操作简单易学.本系统主要具有以下功能:

(1)实现信息共享,相互之间的信息传递准确、快捷。

(2)业务管理信息化,方便的数据查询,提高准确性,减少人为失误。 (3)如果系统的使用对象较多,则要求有较好的权限管理。 (4)有效管理原材料及库存信息。 (5)结算方便可靠。

2。3 系统可行性分析

2.3。1 经济上可行性

目前,计算机的价格便宜,性能高,并且网络已普及。本系统的开发体现了以下几个特点:第一,本系统的运行可以提高餐饮企业管理的效率,为企业节省大量的人力物力,降低企业运作成本;第二,本系统操作简单,非计算机专业人士通过短期的学习就可熟练操作.

所以,本系统在经济上是可行的.

2.3。2 技术上可行性

本系统前台采用VB作为开发工具,后台数据库使用的是SQL Server 2000,该数据库系统具有安全性好、准确性高、运行速度快、处理数据量大、效率高等优点。

所以,本系统的设计开发在技术和硬件设备上的要求都可满足,因此,它在技术上也是可行的.

2.3.3 运行上可行性

本系统是为一个中小型餐饮企业而设计的管理系统,对电脑在硬件和软件的要求都不高,因此,本系统运行上是可行的。

4

安徽工业大学成教学院2011届专科毕业论文

3 餐饮企业管理系统设计

3。1 系统功能分析

餐饮管理系统是一个中小型而又实用的餐饮企业管理软件,它对系统的要求不高,操作方便,简单实用,主要功能如下: (1)前台管理

前台管理的使用最为频繁,可以实现开台管理、菜单管理、买单管理、当日结账等功能。 (2)后台管理

主要实现进货管理、进货查询、库存查询、原材料信息管理、员工信息管理、员工级别管理、部门信息管理、仓库信息管理等功能. (3)财务管理

主要包括月结算管理、应付款管理、月营业分析、年营业分析等功能。 (4)系统

主要有权限管理、本单位定义等功能。

3。2 系统功能结构

本系统功能模块如图3—1 :

餐饮管理系统前台管理后台管理财务管理系统开台管理买单管理当日结算管理进货查询统计当日结账分析菜单管理月结算管理应付帐管理月营业分析年营业分析权限管理本单位定义退出进货管理库存查询仓库信息管理房台类型设置房间台号管理原材料管理员工信息管理员工级别管理部门信息管理供应商管理 图3—1 功能模块图

5

安徽工业大学成教学院2011届专科毕业论文

4 餐饮企业管理系统数据库设计

在开发餐饮管理系统之前,分析了本系统的数据量。由于后台的原材料信息和点餐的人数可能会很多,因此原材料信息、点单信息等数据量都比较大,要占用大量的数据空间,数据库在一个信息管理系统中占有重要地位,数据库结构设计的好坏将直接影响系统的效率以及功能的实现。

本系统使用SQL server 2000,数据库名称为CYGLXT。下面主要从概念结构设计、逻辑结构设计和数据库实现这几方面介绍本系统的数据库设计。

4.1数据库概念设计

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

用户权限信息实体的E-R图如图4—1所示。

编号密码用户权限信息员工级别权限操作员名称 图4—1 用户权限信息实体E—R图

部门信息实体的E-R图如图4-2所示.

6

安徽工业大学成教学院2011届专科毕业论文

部门编号部门名称部门信息负责人部门职能部门电话 图4-2 部门信息实体E-R图

房间台号信息实体的E—R图如图4-3所示。

房台名称所属部门编号类型说明房间台号信息可容纳人数状态简要说明服务费 图4—3 房间台号信息实体E—R图

点单临时信息实体的E—R图如图4—4所示.

7

安徽工业大学成教学院2011届专科毕业论文

点单临时信息房台编号单据号商品编号……服务员姓名 图4-4 点单临时信息实体E—R图

商品基础信息实体的E—R图如图4-5所示。

商品基础信息商品编号商品单位商品名称……商品单价 图4—5 商品基础信息实体E—R图

4。2 数据库逻辑结构设计

根据以上的实体关系E—R图,设计出的表格结构如下。 权限信息表

根据用户登录系统的需求设计出权限信息表,用来存储用户登录系统的用户名、密码、权限信息等。表结构如表4-1所示.

表4—1 权限信息表的结构

字段名 编号 操作员姓名 员工级别 密码 权限 部门信息表

8 数据类型 varchar varchar varchar varchar varchar 长度 10 12 20 50 20 安徽工业大学成教学院2011届专科毕业论文

部门信息表是根据餐饮店的实际情况设计出来的,其中包含所有部门的相关信息,在用户输入部门时可以以下拉列表框的形式列出所有部门,使其操作更方便、快捷。部门信息表结构如表4—2所示。

表4—2 部门信息表结构

字段名 部门编号 部门名称 负责人 部门电话 部门职能 房间台号信息表

根据房间台号信息的特征构造了房间台号信息表。通过房间台号信息表可以让用户了解房间台号的信息,方便用户根据客人的实际情况为客人安排房间。房间台号信息表结构如表4-3所示.

表4—3 房间台号信息表结构

字段名 编号 房台名称 类型说明 部门 服务费 简要说明 状态 容纳人数 点单临时信息表

因为客人的需求经常变化,点单以后常会改动,所以构建了一个点单临时表,用来存储客人的点单信息。点单临时表的结构如表4-4所示。

表4—4 点单临时表的结构

数据类型 varchar varchar varchar varchar money varchar varchar int 长度 10 30 20 20 8 30 10 4 数据类型 varchar varchar varchar varchar varchar 长度 10 20 10 10 50 9

安徽工业大学成教学院2011届专科毕业论文

字段名 房台编号 房台类别 商品编号 商品名称 单位 数量 单价 金额 点单日期 结账日期 服务员编号 服务员姓名 状态 单据号 是否结账 备注 商品基础信息表

数据类型 varchar varchar varchar varchar varchar numeric money money datetime datetime varchar varchar varchar varchar varchar varchar 长度 10 10 10 50 10 9 8 8 8 8 10 12 10 30 4 50 为了了解每一种商品的基本特征性和详细信息,构建了一个用来存放商品信息的商品基础信息表。在用户进行进货登记时,商品基础信息表以辅助输入的形式显示,用户只需选中相应的信息即可把商品信息插入到进货统计中,方便、省时、省力.商品基础信息表的结构如表4-5所示。

10

安徽工业大学成教学院2011届专科毕业论文

表4-5 商品基础信息表的结构

字段名 商品级别 本级编号 商品编号 本级名称 本级简称 商品全称 单位 单价 商品说明 供应商 联系地址 联系电话 联系人 数据类型 varchar varchar varchar varchar varchar varchar varchar money varchar varchar varchar varchar varchar 长度 4 6 20 20 10 50 10 8 30 20 30 15 12

4.3 数据库结构的实现

经过之前的分析和概念结构设计,得到数据库的逻辑结构.然后,创建数据库。运行SQL Server 2000,选择菜单文件->新建,新建一个数据库文件,命名为CYGLXT。

11

安徽工业大学成教学院2011届专科毕业论文

5 餐饮企业管理系统实现

完成前面的工作,下面就是具体地来实现本管理系统。本章将从公共模块、系统登入模块、开台管理模块、进货管理模块等方面介绍餐饮企业管理系统功能的具体实现方法。

5.1 公共模块设计

为了节省系统资源,在系统中新建一个module1模块来存放整个工程项目中共用的函数、过程、全局变量等。整个工程中的任何地方都可以调用此模块中的函数、过程、变量。这样就实现代码的复用,减少代码的书写量以及维护的工作量。 公用变量声明:

系统中有多处要用到字符串、记录ADO的指针等的变量,其声明如下: Option Explicit ’限制变量必须先声明后使用

Public cn As ADODB.Connection ’定义公用ADO连接变量 Public Sql, sqlStr As String ’定义公用字符串变量

Public Bkm, FormNumber As Integer '用于记录ADO指针位置的整形变量 Dim myform As Form ’定义窗体类型变量

5。1。1 数据库连接

在餐饮管理系统中频繁地使用了数据库连接,因此需要一个公共的数据库连接函数,用以数据库连接.代码如下:

Public Function cnn() As String '定义函数 ’返回一个数据库连接

cnn = \"Provider=MSDASQL。1;Persist Security Info=False;User ID=sa;Data Source=CYGLXT;Initial Catalog=CYGLXT\" ’ 定义一个数据连接 End Function

此过程定义了一个通过通用接口ODBC连接数据库,通过通用接口连接数据库时需要先创建一个新的ODBC数据源CYGLXT。

系统中多处使用ADO控件动态地连接数据库,而ADO的数据库连接又比较麻烦,所以构造了一个用于ADO控件连接数据库的函数。

12

安徽工业大学成教学院2011届专科毕业论文

Public Function FunAdo(ByVal ado As Adodc, ByVal Str As String) '构造连接ADO的连接执行函数

On Error GoTo err1 ’执行过程中如果发生错误转向错误处理 With ado .Visible = False

。ConnectionString = cn.ConnectionString ’设置Ado的连接字符串 。CommandType = adCmdText ’设置Ado的命令类型 。RecordSource = Str ’设置Ado的记录源 。Refresh ’刷新Ado的记录集 End With Exit Function err1:

ErrMessageBox ”与数据库连接失败!\" '显示错误信息 End Function

5.1.2 错误信息显示函数

处理程序中错误时经常要提示错误信息,为了减少代码的书写量以及维护的工作量,更好的实现代码重用,编写错误处理函数,代码如下:

Public Sub ErrMessageBox(ByVal sPrompt As String)

Dim msg As String '变量msg用于记录要在弹出对话框中显示的信息 Dim ErrMsg As String ’ErrMsg记录错误信息代码以及描述

ErrMsg = ”错误#” & CStr(Err。Number) & \":” & Err.Description '错误信息代码以及描述

msg = sPrompt & vbCrLf & ErrMsg '弹出对话框中显示的错误信息 MsgBox msg, vbOKOnly + vbInformation ’显示弹出对话框 End Sub

5。2 主窗体的创建

餐饮管理系统的主界面主要由菜单栏、工具栏、状态栏和部分空间组成.位于窗体顶端的菜单栏

13

安徽工业大学成教学院2011届专科毕业论文

主要用来连接实现系统功能对应的窗体;菜单栏下面的工具栏主要用来连接常用的系统功能窗体;位于窗体底部的状态栏主要用来显示系统当前状态信息。窗体运行界面如图5—1所示.

图5-1 主窗体运行图

工具栏是Windows窗口的组成部分,它为用户提供了应用程序中最常用的菜单命令的快速访问方式,大多数工具栏都是通过Toolbar控件实现的。在利用Toolbar控件创建工具栏时,还需要使用ImageList控件为工具栏按钮添加图标。

除了工具栏,界面还用到菜单、状态栏控件StatuBar控件、TextBox控件和Timer控件。各控件的属性设置值如表5-1所示.

表5—1 主窗体主要空间属性

对象 Adodc 属性 名称 Visible TextBox 名称 Visible Timer 名称 Interval

关键代码的设计与实现:

14

值 AdoMemo False Text1 False Timer1 100 执行显示系统时间的过程 记录打开的窗体 功能 连接数据库 安徽工业大学成教学院2011届专科毕业论文

餐饮管理系统主窗体的功能主要是为用户提供进入其他窗体的接口。从主窗体进入其他窗体时通过菜单栏实现的,菜单栏主要是为其他窗体提供入口。

如打开“开台管理”窗体的实现过程如下: Private Sub ktgl_Click() ’调入开台管理 Load main_qtgl_ktgl '载入开台管理窗体 main_qtgl_ktgl。Show '显示开台管理窗体 frm_main.Enabled = False '设置主窗体不可用

主界面载入以后可以在状态栏中显示当前系统的日期和时间,系统时间是通过Timer控件的

Timer事件来显示的.实现过程如下:

Private Sub Timer1_Timer() '设置时间

St1.Panels(1).text = Format(Date, ”long date”) & \" ” & Time

'使用Format函数将系统当前日期格式为长日期格式,Date返回系统当前日期,Time返回系统当前时间 End Sub

5.3 系统登入模块的实现

在“员工\"文本框中输入用户名,“密码”文本框中输入密码,单击“确定\"按钮,触发click事件,若用户名和密码都正确,即可进入系统主界面.若用户没有输入用户名,密码,或密码错误,系统都将给出错误提示信息,三次输入密码错误,自动退出系统。 系统登录界面如图5-2所示:

15

安徽工业大学成教学院2011届专科毕业论文

图5-2 登录窗体运行效果

窗体涉及到的控件及其属性设置如表5-2所述。

表5-2 登入窗体中主要控件的属性

对象 Adodc 属性 名称 Visble ComboBox 名称 BackColor 名称 Text TextBox 名称 PasswordChar 名称 Caption CommandButton 名称 Caption Label 名称 BackStyle

如果员工的登录信息正确,根据员工的权限赋予员工权限。登录流程图如5—3下:

NO 登录次数为3 登录 LabExit 退出 Label 0 显示提示信息 退出系统 Text1 * LabLogin 确定 登录系统 输入登录密码 值 Adodc1 False Czy &H00C0FFFF& Texttime 空值 显示可以操作系统员工的名称 记录登入次数 功能 连接数据库 选择员工名,输入密码

登录次数 加1 YES 信息是否 正确 退出系统 NO YES 进入系统主界面 16 安徽工业大学成教学院2011届专科毕业论文

图5—3 登录流程图

实现员工登录的代码如下:

Textime.text = TIM

Sql = ”select * from 权限信息表 where 操作员姓名 = '\" + Trim(czy。text) + \"'\" '查询记录集 Call FunAdo(Adodc1, Sql) '调用ADO的执行函数 Adodc1.Refresh '刷新ADO的记录集 If Adodc1.Recordset.RecordCount = 0 Then

MsgBox (”您还没有设置操作员密码和权限,请设置员工密码和权限!”) '显示错误信息 Me。Show '显示本窗体 TIM = TIM + 1 '错误登录次数加1 If TIM = 2 Then '如果登录次数等于3

MESSAGE = MsgBox(”密码输入错误,请向系统管理员查询!\, ””) '提示错误 If MESSAGE = vbOK Then End ’结束程序 End If Exit Sub End If

’判断操作员及密码

If czy.text <〉 ”” And Text1.text = Trim(Adodc1。Recordset.Fields(”密码”)) Then '如果密码正确

Load frm_main ’载入主窗体 frm_main。Show '显示主窗体 '设置操作员权限

If Trim(Adodc1。Recordset。Fields(\"权限”)) = \"A\" Then ’如果用户的权限为A frm_main。qtgl.Enabled = True ’前台管理菜单可用

5。4 开台管理模块的实现

在主窗体中选择“前台管理”/“开台管理”命令,将进入开台管理模块。在开台管理模块中主要实现如下功能:

(1)查看空闲房台、营业房台、维修房台信息.

17

安徽工业大学成教学院2011届专科毕业论文

(2)以列表形式显示营业房台和已定菜谱信息。 (3)汇总当前空闲、营业、维修房台数量. 开台管理运行界面如图5-4 所示。

图5-4 开台管理运行界面

关键代码设计与实现:

在系统主界面中单击工具栏中的“开台管理”按钮,或者在菜单栏中选择“前台管理/开台管理”命令打开开台管理窗体。系统载入开台管理窗体时,首先初始化当前房台信息.

实现的代码如下:

For a = 0 To 7 ’设置房台信息初始值

Label4(a)。Caption = ”\" ’房台信息初始值为空 Next a

Call list_change ’调用房台列表函数 i = SSTab1。Tab

If ListView1(i)。ListItems.Count 〉 0 Then ’如果ListView控件中的列表不为空 Sql = \"select * from 房间台号信息表 where 房间台号信息表.状态=’\" + Left(SSTab1。Caption, 2) + \"’” & _

”and 房间台号信息表.部门='\" + Combo1.text + ”’order by 编号\" '查询房台信息 Call FunAdo(Adodc1, Sql) '调用ADO控件的执行函数 Adodc1。Refresh '刷新ADO控件的记录集

18

安徽工业大学成教学院2011届专科毕业论文

For a = 0 To 7 '显示房台信息

If Adodc1.Recordset。RecordCount 〉 0 Then '如果Adodc1的记录集不为空 Label4(a).Caption = Trim(Adodc1。Recordset.Fields(a)) '显示房台信息 End If Next a End If

Me.Caption = Me.Caption & \" \" & frm_main。St1.Panels(3).text '显示窗体的标题 ’打开\"部门信息表”

rs1。Open \"select 部门名称 from 部门信息表 order by 部门编号”, cnn, adOpenKeyset, adLockOptimistic ’添加部门信息

If rs1。BOF = False Then rs1.MoveFirst '如果记录集指针不在首部,指针移动到第一条记录 For i = 0 To rs1。RecordCount — 1 '向列表框中添加部门名称

Combo1.AddItem (Trim(rs1。Fields(”部门名称”))) ’添加列表项 rs1.MoveNext ’记录集移向下一条记录 Next i

If Combo1。ListCount 〉 0 Then Combo1.ListIndex = 0 '设置Combo1的索引值 rs1。Close ’关闭数据集对象 SSTab1.Tab = 0

为了便于添加房台信息,建立了定义房间列表函数list_change()。函数的定义如下: Public Sub list_change() '定义房台列表函数 i = SSTab1.Tab '把当前选项卡的值赋给变量i

Sql = \"select * from 房间台号信息表 where 状态=’\" + Left(SSTab1.Caption, 2) + ”’\" & _ \"and 房间台号信息表。部门='” + Combo1。text + \"’and 房间台号信息表.房台名称 like '” & _

\"” + Text1。text + ”'+’%'order by 编号\" ’查询符合条件的房台信息 Call FunAdo(Adodc1, Sql) ’调用ADO的执行函数 Adodc1.Refresh ’刷新Adodc1的记录集

If Adodc1。Recordset。RecordCount > 0 Then ’如果Adodc1的记录集不为空 ListView1(i)。ListItems.Clear '清空ListView中的列表项

19

安徽工业大学成教学院2011届专科毕业论文

Adodc1.Recordset.MoveFirst 'Adodc1的记录指针移到第一条记录 Do While Adodc1。Recordset.EOF = False ’如果不是记录集的尾部循环 key = \"(” & Trim(Adodc1.Recordset。Fields(”编号”)) & \")\" _

& Trim(Adodc1.Recordset。Fields(”房台名称\")) ’记录房台编号和房台名称 If i = 1 Then ’如果是营业房台

Set itmX = ListView1(i).ListItems。Add(, , key, 2) '添加房台到ListView控件中

Else ’如果不是营业房台

Set itmX = ListView1(i)。ListItems。Add(, , key, 1) ’添加房台到ListView控件中 End If

Adodc1.Recordset。MoveNext ’Adodc1的记录集指针移到下一条记录 Loop ’返回到DoWhile,继续循环 Else '不过Adodc1的记录集为空

ListView1(i)。ListItems.Clear '清空ListView中的列表项 End If

Label2(i)。Caption = Left(SSTab1.Caption, 2) & \"总数: \" _

& Adodc1.Recordset。RecordCount & \"个” '显示房台数目 End Sub

选择部门,选择部门以后可以改变房台信息,以及当前的房台信息。代码如下: Private Sub Combo1_Click() ’选择部门 Call list_change '调用房台列表函数 i = SSTab1.Tab '把SSTab1的选项卡值赋给变量i

If ListView1(i).ListItems.Count = 0 Then '如果当前ListView控件的列表项为空 For a = 0 To 7 '清空当前房态信息

Label4(a)。Caption = \"\" ’设置但前房态信息为空 Next a End If End Sub

选中空闲房台列表中的一个房台,单击“开台服务”按钮,执行开台服务操作。代码如下: Private Sub Comkt_Click() ’调入开台服务

20

安徽工业大学成教学院2011届专科毕业论文

If Label4(0)。Caption = ”” Or Label4(1).Caption = ”\" Then ’如果没有选中房台 MsgBox (”请选择房间!\") '提示选择房台 Else '否则,如果选中了一个房台

If Label4(6).Caption = ”营业\" Or Label4(6)。Caption = \"维修\" Then '如果选中的不是空闲房台 MsgBox (\"对不起,您选择的房间正在” & Label4(6).Caption & ”,请重新选择!”) '提示选择错误

Else ’否则,如果选中的是空闲房台 Load main_dialog_ygxx '载入员工信息窗口 main_dialog_ygxx.Show '显示员工信息窗口 frm_main.Enabled = False ’主窗体不可用

main_qtgl_ktgl。Enabled = False ’开台管理窗体不可用 End If End If

ListView1(0).Refresh ’刷新ListView(0)控件列表 ListView1(1).Refresh ’刷新ListView(1)控件列表 ListView1(2).Refresh '刷新ListView(2)控件列表 End Sub

5。5 进货管理模块的实现

在主窗体选择“后台管理/进货管理”命令,将进入进货管理模块。该模块主要实现如下功能: (1)录入商品名称,输入数量,计算商品金额。 (2)自动生成进货票号、进货日期。 (3)输入供应商信息.

(4)统计进货品种、进货数量、进货金额. (5)打印进货票据。

进货管理运行效果如图5-5所示。

21

安徽工业大学成教学院2011届专科毕业论文

图5-5 进货管理窗体运行效果

关键代码及实现:

在系统主界面的菜单栏中选择“后台管理/进货管理”命令,打开进货管理界面,在其中可以实现进货管理的工作。在输入进货信息时,可利用方向键控制焦点的位置.实现这些功能的过程如下:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) '添加货物信息 If KeyCode = vbKeyReturn Then '如果输入的是回车键 grid1。Visible = False '辅助输入项不可见 If MS1.Col = 1 Then ’如果是第一列

'With语句用来在一个单一对象或一个用户定义类型上执行一系列的语句。 With Adodc2。Recordset ’

If .RecordCount > 0 Then '如果记录集不为空 '赋值给ms1表格

If .Fields(\"本级名称\") 〈〉 ”\" Then MS1.TextMatrix(MS1。Row, 1) = _ Trim(。Fields(”本级名称\")) '显示数据库中的数据

If .Fields(\"商品编号\") <〉 \"\" Then MS1。TextMatrix(MS1。Row, 2) = _ Trim(.Fields(”商品编号\")) '显示数据库中的数据

If .Fields(\"单位\") <〉 ”” Then MS1。TextMatrix(MS1.Row, 3) = _ Trim(。Fields(”单位\")) '显示数据库中的数据

22

安徽工业大学成教学院2011届专科毕业论文

If .Fields(”单价”) 〈〉 ”\" Then MS1.TextMatrix(MS1.Row, 4) = _ 。Fields(\"单价”) '显示数据库中的数据 text1。SetFocus '设置文本框Text1获得焦点

text1.text = MS1。text ’设置Text1中显示MS1中的信息 grid1。Visible = False ’辅助列表项不可见 MS1.Col = 4 ’MS1的焦点移到第四列 End If '结束If语句 End With ’结束With语句块 End If ’结束If语句

If MS1。Col = 7 Then '如果是第7列

MS1.Row = MS1。Row + 1 ’焦点移到下一行 MS1.Col = 1 '焦点移到第一列 Else ’如果不是最后一行

If MS1.Col + 1 <= MS1.Cols — 1 Then '如果不是最后一列 MS1。Col = MS1.Col + 1 ’焦点移到下一列 Else ’如果是最后一列

If MS1.Row + 1 〈= MS1。Rows — 1 Then ’如果不是最后一行 MS1.Row = MS1。Row + 1 ’焦点移到下一行 MS1.Col = 1 '焦点移到第一列 End If End If End If End If

If KeyCode = vbKeyUp Then ’如果输入的是向上的方向键

If MS1。Row > 1 Then MS1.Row = MS1。Row — 1 '焦点移到上一行 End If

If KeyCode = vbKeyDown Then '如果输入的是向下的方向键

If MS1.Row 〈 99 Then MS1.Row = MS1.Row + 1 '焦点移到下一行 End If

If KeyCode = vbKeyLeft Then ’如果输入的是向左的方向键

23

安徽工业大学成教学院2011届专科毕业论文

If text1.text 〈> \"” Then ’如过文本框Text1的内容不为空 text1。SelStart = 0 ’设置文本框的起始点

text1。SelLength = Len(text1。text) ’设置所选择的字符数 End If

If MS1.Col - 7 〈= MS1。Cols + 1 Then '如果焦点位置是中间的列 MS1。Col = MS1。Col - 1 ’焦点向左移动一列

If MS1。Col = 0 Then MS1。Col = 1 ’如果焦点为行序号焦点移到第一列 Else ’如果不是中间的列

If MS1.Row + 1 〈= MS1.Row - 1 Then ’如果不是第一行 MS1.Row = MS1。Row + 1 ’焦点移到上一行 MS1。Col = 1 ’焦点移到第一列 End If End If End If

If KeyCode = vbKeyRight Then Call moveright ’调用函数 If KeyCode = vbKeyPageDown Then ’如果输入的是翻页键 If MS1。Col = 1 Then '如果是第一列

Sql = \"select * from 商品基础信息表 where 商品级别<〉'1级’\" ’查询商品信息 Call FunAdo(Adodc2, Sql) ’调用ADO控件的执行函数 Adodc2。Refresh ’刷新Adodc2的记录集

If Adodc2。Recordset.RecordCount > 0 Then ’如果记录集不为空 grid1。Visible = True ’显示辅助输入项 grid1。SetFocus '焦点移到辅助输入项上 End If End If End If End Sub

24

安徽工业大学成教学院2011届专科毕业论文

6 系统测试

软件测试在整个软件开发过程中占有非常重要的地位,据统计,软件测试的工作量往往占软件开发总工作量的40%以上。测试的目的是在软件投入生产性运行之前,尽可能多的发现软件中的错误。所以,软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计的最后复审。

本系统测试主要采用黑盒测试,它着重测试软件功能,主要用于测试过程的后期。按照用户在功能、性能、界面方面的需求进行了测试。

测试登陆模块,选择员工姓名、级别,输入相应正确密码方能登陆。若用户或密码错误,系统将给出错误提示信息,三次输入密码错误,自动退出系统。

测试开台模块,如果有空闲房台就可以进行开台服务,开台成功后可以进行点单,同时显示房台信息。没有空闲房台无法实现开台服务。

测试进货模块,首先登记然后填写供应商信息,录入商品相关信息并保存。根据商品名称进行进货查询。

经过测试,验证本系统能够基本满足用户需求,达到预期目的。

25

安徽工业大学成教学院2011届专科毕业论文

7 开发总结

本次毕业设计开发的餐饮企业管理系统 ,采用了VB和SQL Server 2000。本文首先介绍了研究背景及现状,在此基础上,介绍了系统的总体设计,包括系统主要结构功能、数据库设计。最后,进一步深入介绍了一些关键模块的详细设计与代码实现,包括公共模块设计、主窗体设计与实现、登入模块的设计与实现、开台管理模块的设计与实现以及进货管理模块的详细设计与实现。本系统经测试,运行情况良好,达到了设计的目标。本系统主要实现的功能有:

(1)餐饮企业的前台服务,点单,结账等。 (2)餐饮企业的员工管理

(3)餐饮企业库存信息的收录与查询。 (4)餐饮企业业务结算

本系统具有使用方便,检索方便快捷,基本到了设计的目标。当然,系统还有很多不足,在今后的学习与研究,将进一步完善本系统,解决不足之处,使系统趋于完美。

综上所述,本系统基本上可以满足中小餐饮企业的管理要求。

26

安徽工业大学成教学院2011届专科毕业论文

参考文献

[1] 刘瑞新,汪远征。Visual basic 程序设计教程。机械工业出版社.2007 [2] 王新民,张彦玲.Visual Basic程序设计与数据库应用。电子工业出版社 [3] 黄明,梁旭。Visual Basic 6.0信息系统设计与开发实例.机械工业出版社 [4] 王珊,萨师煊.数据库系统概论。高等教育出版社

[5] 王春才,高春艳。Visual Basic数据库系统开发完全手册。人民邮电出版社 [6] 黄明.毕业设计指导及案例剖析Visual Basic管理信息系统。机械工业出版社 [7] 赛奎春。SQL Server数据库开发实例解析.机械工业出版社 [8] 蒋文沛.SQL Server 2000实用教程。人民邮电出版社

[9] 孟小峰,王珊。数据库系统导论.机械工业出版社。

27

安徽工业大学成教学院2011届专科毕业论文

致 谢

本次毕业设计已接近尾声,在完成毕设的这段时间,我学到了许多东西,编程能力得到一定程度的提高。

在论文的撰写过程中,指导老师给予了悉心的指导和关心,帮我克服了很多困难顺利完成了论文的撰写工作.导师们渊博的知识、严谨求实的治学态度及敬业精神,给我留下了深刻的印象,并将在我今后的人生道路上产生深远的影响,

在我攻读学位期间,得到了很多老师的悉心指导和帮助,他们渊博的知识、严谨治学风范、兢兢业业的敬业精神让我受益匪浅!

再一次感谢所有关心我、帮助我的人!

28

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务