1、53小型饭店信息管理系统第1章 绪论1.1 系统开发背景 在饭店行业竞争激烈的今天,如何借助现代科技,实现现代化管理,使饭店经营管理一体化,是现代饭店管理成功的关键。先进科学技术为饭店提供了全面科学化、数字化、效率化和精细化的管理。科技已成为饭店业关心的焦点。饭店业的发展将进入信息与科技时代。科技在饭店中的应用与发展已是必然趋势。环保技术在饭店的应用已越来越广泛,它为饭店节能降耗、降低成本以及改善饭店环境提供了强有力的支持。新的环保技术和环保产品在饭店业的应用已成为新潮流。 饭店业属于以人为本的劳动密集型服务行业,由于行业间本质上的差异,部分技术密集型行业,把最先进的产品设备或解决方案推销给饭
2、店,其结果通常是饭店付出了昂贵的代价却不尽如人意。由此,许多饭店人士也发出感慨,饭店需要更为实用的科技产品,为饭店经营提供服务,因此我们在感受部分饭店科技、智能化水平落后的同时,也需要明晰科技的实际应用:技术功能与饭店需求是否错位?饭店面临的关键问题是什么?供应商和饭店在利益上是否一致?等等。饭店是一个以服务为本的行业,依靠客人对各项服务的满意度来提升饭店的入住率和经营效益。饭店科技、信息化的实施,意味着饭店又增加了一项新的服务,即信息服务。许多行业外公司负责策划和实施,但通常不承担日后的服务,因为他们不属于服务行业。然而,倘若服务的责任落到饭店自身头上,饭店能应付的了吗?由于服务不到位,使系
3、统不能充分发挥作用的已屡见不鲜,怎样来为饭店提供服务呢?饭店科技的发展趋势是什么? “饭店智能管理”作为一个综合概念,给饭店业带来经营管理理念的巨大变革。这一变革要经过不断的建设和发展,渐渐形成一个涵盖数据采集、信息保存、信息处理、传输控制等。这些信息库的建立将成为饭店信息化管理和办公自动化的重要基础。从前台客人入住登记、结账到后台的财务管理系统、人事管理系统、采购管理系统、仓库管理系统都将与智能管理系统连接融合构成一套完整的饭店科学信息化体系,不同类别、不同管理模式的饭店需求是不同的,如何根据不同的饭店需求为饭店提供科学信息化系统,对饭店科技配套商家也是一项挑战。正是基于这样一个理念,我们决
4、心开发一个中小型饭店管理系统,科技化,信息化我们的中小饭店,让饭店的管理更加科学,更加合理。1.2 我的构想 下面我将简要介绍一下我对饭店信息化的一些构想:直接饭店消费 最终顾客中小型饭店饭店上游供应商 潜在顾客以饭店为中心的信息共享平台 通过网站了解,朋友介绍 以客户为中心的CRM管理系统及饭店网站 图1-1 饭店信息构想我作为一个饭店的经理,首先第一要解决的问题是采购问题。第一,找客户。我希望在当地的各个菜市场中找到一些质量好而且价格又相对便宜的供应商。我相信这些供应商也希望能够找到一些稳定的,效益好的客户。这样的话,当在我们之间建好一个平台,让我们彼此都能自由的选择对方!这就好像将一个大
5、型的经济交流会放到了网上,而且这个交流会一刻也不会停,每时每刻都在交易。这样那些好的供应商依靠自己物美价廉的产品自然会找到自己的客户,同时省去了大量的交易成本。第二,与供应商合作。当我们饭店与供应商建立了合作关系后,我要让我们的合作都要信息化。我要把我们饭店的存货信息实时地在我和供应商的平台上公布,这样的话,当供应商见到我们的存货信息达到了需要供应的数量时,他们会结合我们饭店的需求订单自发的供应蔬菜等产品。这个平台的建立最好由第三方来建立。接下来要解决的问题是企业的内部管理问题。这个问题主要就是要靠我们现在这个软件来实现。对于我们这个小型的饭店来说,主要的收入来源就是靠卖饭菜来实现的!所以我们
6、这个系统也就主要围绕这个点菜功能来实现的。在和一些小型饭店的老板交流过程中,我们仔细研究了他们的需求后。总结出简单,易用,数据准确,提供财务分析功能这样几个重要的功能。所以我们的软件也就主要针对这几个方面。在此软件的开发过程中,我们参考了一些市场的用得较多的饭店管理软件,以及点菜系统以后,我们根据我们所能采用的技术层次,挑选了一些他们的实现方式,运用我们的技术来实现点菜功能。而对于套餐设置这块,我们也是自己尝试地使用了一些我们认为客户操作比较方便方式来实现。还有在信息管理这个模块上,我们调查了这些饭店老板在经营决策上最希望得到的信息,我们具体实现了这些信息的查询方式。还有在资料的管理方式上,我
7、们将资料的录入,查询,修改,删除都放到了一个页面中去进行,就是为了实现简单这个特点。而在用户权限设置这个模块中,我们采取了行业应用软件普遍的方式来进行设置,易用,方便。在下面的几个章节中,我们会陆续地向您介绍这个软件的功能及设计过程 。第三,客户对于一个饭店来说,是置关重要的!所以对于客户的管理也必须为重中之重。我们在这个方面,主要采取的是方针是:在饭店内部,建立客户关系管理系统,而将饭店的网站直接面对客户。在客户关系管理这块,我们在软件并没有实现,有待于今后扩充,而饭店的网站,我们也已经初步建立。便于常客管理管理和查询自己的信息。还有一点值得说明的就是。客户光临饭店后,可以在自己所坐的座位上
8、点菜,而没有必要到前台去点菜。关于它的实现,我们为了便于在您面前演示,我们采用了浏览器浏览的方式进行。以上就是自己在做这个系统过程中,总结出的一些想法。这些想法在市场上已经有了很多成功可行的实施方案,而对于我来说,这只是个开始,而且是未知的领域,我得去加把劲,在未来的工作岗位上继续学习,继续努力才能不断有前瞻的想法,有领先的技术。第2章 开发工具介绍2.1 delphi技术简介 Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语
9、言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用De
10、lphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将带给您一份欣喜。Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可
11、以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。 在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。2.1.1 面
12、向对象编程的概念面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Delphi是完全面向
13、对象的,这就使得Delphi成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。一些早期的具有OOP性能的程序语言如C+,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi将帮助您轻松地完成。它允许在一个具有真正OOP扩展的可视化编程环境中,使用它的Object Pascal语言。这种革命性的组合,使得可视化编
14、程与面向对象的开发框架紧密地结合起来。delphi环境为避免隐藏在Delphi后的Program Manager和曾经运行过的其它程序扰乱版面,分散您的注意力,不妨在启动Delphi前关掉其它应用程序;启动Delphi后,再最小化隐藏在后面的Delphi 2.0程序组。这样屏幕上就只留下Delphi窗口可见了。首次加载Delphi,屏幕上会出现四个窗口:(1) 标题为“Delphi-Project1”的Delphi主窗口(2) Object Inspector窗口(3) 标题为“Form1”的窗体(Form)窗口(4) 标题为“Unit1.PAS”的代码编辑窗口。刚启动时这一窗口的大部分被“F
15、orm1”窗体所掩盖。将“Form1”窗体移开,或单击Form1窗体下方的状态行,可以使其全部可见。在“Form1”窗体的任意可见位置单击鼠标,可以恢复主窗体可见以下我们将对这四个窗口分别进行介绍。2.1.2 Delphi可视化编程环境介绍(1)主窗口(Main Form)Delphi的主窗口位于屏幕的上端,包括Menu(菜单)、Speed Bar(加速条)和Component Panel(部件选项板)。Menu是下拉式主菜单。Speed Bar位于主窗口的左下端,由两排共14个加速按钮组成。这些按钮是菜单功能的快捷方式,各种图标直观地表示了它能执行的动作。Component Panel由一行
16、、若干页对象按钮所组成,利用它来选择需要的部件并将它放到窗体中去。(2) Object Inspector(对象检视器)Object Inspector窗口含有两页:Properties页显示窗体中当前被选择部件的属性信息,并允许改变对象的属性;Events页列出了当前部件可以响应的事件。按动Object Inspector下端的“Events”页标签,使得Events页可见,这一定的事件后边的空白处,可以定义对象接受到相应事件时执行的动作。首次启动时,Object Inspector窗口显示的是当前窗体Form1的属性。Object Inspector根据对象属性的多少,决定是否有滚行显示。
17、移动滚行条,可以查看当前对象的全部属性。此外,Object Inspector上还有Object Selector(对象选择器),位于Object Inspector上方的下拉式菜单中。它显示了窗体上所有部件的名称和类型,也包含窗体本身。您可以用Object Selector很容易地在窗体的各个部件之间切换,也可以快速地回到窗体本身。当窗体中含有较多的对象时,您会发现这是切换对象尤其是回到窗体的最快捷途径。想使Object Inspector一直可见,可将鼠标移到Object Inspector上,按动右键,以启动Object Inspector的弹出式菜单,将其设置为Stay On Top。
18、这对初学者常是一个很重要的设置方式。(3)窗体窗口 Forms窗口是开展大部分设计的工作区域。首次启动Delphi 2.0时显示的是窗体Form1。可以把部件放在窗体中,通过移动位置、改变尺寸等操作随心所欲地安排它们,以此来开发应用程序的用户界面。您可以把窗体想象成一个可以放置其它部件的容器。窗体上有栅格(Grids),供放置部件时对齐位置用,在程序运行时Grids是不可见的。一个真正的应用程序可能有不止一个窗口,您可以选用不同的窗体进行设计。其它窗体可以是对话框(Dialog Box)、数据录入框等。(4)代码窗口代码窗口一开始处于窗体窗口之下。因为在Delphi中,设计用户界面直接在窗体中
19、进行,运行结果和设计样板完全一致。当部件被放到窗体上时,Delphi会自动生成大部分的用户界面代码。您所应做的只是在它为您生成的框架中加入完成所需功能的程序段而已。点动Form1的状态行使代码窗口可见。 这个窗口中是代码编辑器。可以在其中书写Delphi应用程序的源代码。当程序中含有不止一个窗口时,会有几个库单元的源程序出现在代码编辑器中。代码编辑器的标题条中显示了当前正在编辑的库单元文件名。要查看某一特定程序的源代码,只需用鼠标点动写有该库单元文件名的页标签,就可以对该库单元进行编辑了。delphi 7 特点Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持
20、,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结
21、构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。 Delphi发展至今,从Delphi、Delphi到现在的Delphi7,不断添加和改进各种特性,功能越来越强大。Delphi添加了对IDE(集成开发环境)的很多改进新特性,扩展了数据库支持(ADO和InterBase数据库),带有Internet支持的MIDAS改进版,TeamSouse版本控制工具,转换功能,框架概念以及很多的新组件与新特性。 Delphi7功能十分完善和强大,本栏目将以它为基础,介绍Delphi的开发环境、基本概念、控件的使用、常用的编程方法和编程技巧。本栏目的对象为Del
22、phi初学者,主旨是帮助初学者更快更好掌握Delphi基本的编程方法和技巧。为满足不同层次开发人员需要,delphi 7 共有个版本:Pesonal:个人版,提供初学者和一般用途开发人员的版本.Professional:专业版,适用于专业开发人员进行较高层次实际开发的版本.Enterprise:企业版,适用于企业开发人员进行多层次数据库开发的版本.Architer Edition:架构版,包含可了企业版的所有功能。另外增加了Boldsoft公司的Bold工具的专Delphi专用版本.2.2 SQL SEVER 的介绍SQL的历史在70年代初,E.E.Codd首先提出了关系模型。70年代中期,I
23、BM公司在研制 SYSTEM R关系数据库管理系统中研制了SQL语言,最早的SQL语言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS数据库系统中也实现了SQL。1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986),后为国际标准化组织(ISO)采纳为国际标准。1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89, 该标准替代AN
24、SI X3.135-1986版本。该标准为下列组织所采纳:(1) 国际标准化组织(ISO),为ISO 9075-1989报告“Database Language SQL With Integrity Enhancement”(2) 美国联邦政府,发布在The Federal Information Processing Standard Publication(FIPS PUB)127目前,所有主要的关系数据库管理系统支持某些形式的SQL语言,大部分数据库打算遵守ANSI SQL89标准。SQLSERVER2000 特性简介上手容易 话分两头,如果您的企业至今还未购置数据库,其中一个主要的原因
25、可能就是认为它不好上手,那么,从SQL Server开始吧。毕竟,大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多向导(Wizard)帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数。从另一个角度来讲,学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习
26、和使用它们就容易多了IT行业的实践经验充分证明了这一点。 兼容性良好 由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。 相对于7.0的忧越性 Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性
27、、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。电子商务 在使用由Microsoft SQL Server 2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 200
28、0,以实现面向SQL Server 2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。数据仓库 Microsoft SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。增强的在线商务 Microsoft SQL Server 2000简化了管理
29、、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性-诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。 利于构筑“敏捷性商务” 所谓“敏捷性商务” 就是能够打破内部和外部的商业界限,对迅速改变的环境做出快速反应。微软已经与关键的合作伙伴建立起了战略关系,创造出了能够与许多供应商的产品实现整合的解决方案,因而企业用户并不需要做
30、出要么完全接受,要么全部不要的承诺。在部署解决方案的过程中,企业用户不一定要拆除原有的设备从头。敏捷商务让企业用户能够充分利用现有的系统,自主决定所需的硬件和软件解决方案以及由谁来提供,伸缩自如、游刃有余。2.3 TQuery部件的使用 TQuery部件是一个数据集部件,它在Delphi部件选择板上的数据访问页(Data Access)上,它与TTable部件具有很多共同的特性,我们在第十五章“数据访问部件的应用及编程”中较详细地进行了介绍。 TQuery 部件在 SQL 编程中占居了十分重要的地位。 它实现了Delphi对SQL语言的支持,在Delphi开发的数据库应用中,SQL语句是通过T
31、Query部件传递到要访问的数据库系统的数据库引擎中,由数据库引擎具体执行SQL语句,以实现对数据的操作,而不是传递给Delphi中的BDE,由BDE实施具体的SQL动作。 我们已经知道了TTable部件在访问数据库时已经具备很强大的功能。TTable部件通过Delphi内置的BDE可以实现对各种数据库系统的访问,然而TQuery部件提供了一些 TTable部件不具备的功能,它们是:(1)多表联接查询(2) 复杂的嵌套查询(Select中包含着Select子查询)明确需要按SQL语言进行的操作(3) 因为TTabel部件不能使用SQL语言,而在TQuery部件可以使用SQL语言,因而TQuer
32、y部件也就具备了强大的关系查询能力。当然这也使数据库应用程序本身变得更复杂了。在Delphi应用程序中编写和使用的SQL语句有两种:即静态SQL语句、动态SQL 语句。静态SQL语句是在程序设计阶段,将SQL命令文本作为TQuery部件的SQL属性值设置。而动态SQL语句编程是SQL语句中包含一系列的参数,在程序运行过程中各参数值是可变的,即可以动态地给SQL语句中的参数赋值。 静态方式是把SQL命令文作为TQuery部件的SQL属性值进行设置,这样,当执行应用程序时,Delphi便执行TQuery部件SQL属性中设置的SQL命令。如果是SQL中的查询命令,把TQuery部件通过TDataSo
33、urce部件与数据控制部件相连,查询的结果将会显示在与 TQuery部件相连接的数据浏览部件中。动态SQL语句是指SQL语句中包含一些参数变量,在程序中可以为这些参数赋值,在程序运行过程中,各个参数值是变化的。TQuery部件的SQL 属性中的SQL语句的编写也有两种方法,一种方法是在程序设置阶段便将相应的SQL语句写入到TQuery的SQL属性中,另一种方法是在Delphi开发的应用程序将SQL语句,包含在Pascal代码单元中。在SQL编程中使用TQuery部件的具体方法步骤如下:(1)为TQuery部件设置DatabaseName属性,它可以是用BDE建立的数据库的别名,或桌面数据库系统
34、中的目录名或数据库服务器中的文件名,如果在应用中使用了TDatabase 部件,那么TQuery部件的DatabaseName属性可以是TDatabase部件中定义的一个数据库别名。详细情况请参看“TDatabase部件的使用”;(2)为TQuery部件设置SQL属性,TQuery部件的SQL属性值就是应用程序要执行的SQL 命令文本,设置SQL属性有两种方法:在程序设计过程中,我们可以通过对象浏览器(Object Inspector)编辑SQL属性在Object Inspector中选择SQL属性,这样会打开String List Editor窗口,在其中我们便可以编写SQL命令,我还可以打
35、开Visual Query Builder来编写SQL命令 (只有Delphi的客户/服务器版本才具有这一工具)。(3) 将SQL命令包含在Pascal代码单元中在程序运行过程中,首先调用TQuery部件的Close方法关闭当前的TQuery部件,然后调用Clear方法清除SQL属性,并说明新的SQL命令文本,然后调用Add方法,将新的SQL命令文本加入到SQL属性中。(4)通过调用TQuery部件的Open方法或ExecSQl方法执行 SQL 命令。 Open 方法只执行Select命令,ExecSQL方法还可以执行其它的SQL命令。Open方法和ExecSQL 方法的区别我们在后面的章节里
36、会进一步地加以讨论的。如果使用动态SQL语句,首先调用prepare方法,给动态SQL语句中的参数赋值,然后再调用Open方法或ExecSQL方法。调用propare 方法并不是必须的,但是对于要多次执行TQuery部件中SQL属性中的动态SQL语句,调用Prepare可以大大提高TQuery部件执行SQL语句的性能。第3章 需求分析.1 需求分析说明 随着餐饮业的竞争越来越激烈,小型饭店已意识到使用计算机信息技术的重要性,决定首先在餐饮管理上采用计算机管理手段。本系统就是利用计算机信息技术提高饭店的管理水平,主要对点菜收银、库房进行管理,同时具有营业分析功能。点菜收银管理可实现点菜、转台、并
37、台、结帐、清台。库房管理可记录商品入库、出库等情况。营业分析可对客人点单情况、房台营业情况、酒菜销售情况、销售收入等进行分析。点菜收银、营业分析、库房管理的有机结合,可为饭店经营方向提供依据,为饭店的发展提供重要保证。结合实际业务总结出以下使用计算机系统管理的具体需求:(1)前台管理:提供点菜管理窗口,客人买单窗口,结帐数据分析窗口,并执行其相 应操作.(2)财务管理:实现日结算,月结算功能、费用单据管理、公司资金管理.(3)员工管理:对员工基本信息管理和员工工资的管理 .(4)基础信息管理:对酒水信息设置、菜谱信息设置、餐具信息设置、房间台号管理、商品基础信息登记。 .2 系统运行需求硬件平
38、台方案 服务器 Pentium 4 Celeron 2.0G 中央处理器 Intel 845 Desktop 主板 HY 256M DDR内存 ST 80G 硬盘 LG套装 键盘、鼠标 普通 17 纯平显示器 打印机: HP3558彩喷 客户机 Celeron4 1.7G 中央处理器 ASROCK 845GV 主板 HY 128M DDR内存 ST 40G 硬盘 LG套装 键盘、鼠标 普通 17 彩色显示器 其他硬件 HP打印服务器 四通UPS不间断电源 集线器、网线、水晶头等网络设备 软件平台方案 服务器 操作系统:Microsoft Windows xp Server中文版 Microso
39、ft Windows xp Service Pack 4中文版 数 据 库:Microsoft SQL Server 2000 Enterprise Edition中文版客户机 操作系统:Microsoft Windows xp Professional中文版 Microsoft Windows xp Service Pack 4中文版第4章 系统设计.1 系统层次框架饭店管理系统前 台 管 理员 工 管 理财 务 管 理 基础信息管 理餐具管理酒水信息菜谱信息商品基础信息员工信息管理员工资料管理日结算管理公司资金管理 图4-1 饭店管理系统系统层次图.2 系统流程图 根据餐饮业的特点和该饭店
40、的实际情况,系统业务流程图如图所示。其他费用点 菜结 帐点 菜 分 析酒 水 分 析挂 帐清 台营业分析 图4-2 饭店管理系统流程图.3 数据库设计 针对饭店的业务情况和业务范围,系统采用了数据库sql server,数据库名为TLCYGLXT。数据库包含一下几个表:菜谱费用信息表、酒水费用信息表、挂单菜谱表员工信息表、日结算费用信息表、工资管理信息表、房间台号信息表、权限信息表。菜谱费用信息表功能:菜谱费用信息表用于保存菜谱费用相关信息表菜谱费用信息表结构字段名称数据类型字段大小编 号Int菜 名Char50单 位Char10价 格Money菜系类别Char20口味说明Char30酒水费用
41、信息表功能:酒水费用信息表用于保存酒水费用信息 表 酒水费用信息表结构字段名称数据类型字段大小编号Int存货编号int酒水名称Char20单位Char10价格Money酒水类别Char20简要说明char30挂单菜谱表功能:挂单菜谱表用于保存挂单相关信息 表 挂单菜谱表结构 字段名称数据类型字段大小idUniqueidentifier挂单编号Int房间台号Int类别Char10编号Int名称Char50类型char20单位Char10数量Int价格Money合计Money点单日期datetime结单日期Datetime服务员编号Int服务员姓名Char12状态Char10结单编号Int是否结帐
42、char10 日结算费用信息表功能:日结算费用表用于保存每日结算费用信息表日结算费用表结构字段名称数据类型字段大小iduniqueidentifier结帐编号Int房间台号Int日期Datetime费用Money结款人Char12结款方式Char20结款说明Char50员工信息表功能:员工信息表用于保存员工信息 表 员工信息表结构字段名称数据类型字段大小员工编号Int姓名Char12性别Char2出生日期Datetime联系电话Char15联系地址Char30聘用日期Datetime工作部门Char20员工类别Char20身份证号Char20备注Char60工资管理信息表功能:用于保存员工的工
43、资信息。 表工资管理信息表结构 字段名称数据类型字段大小工资编号Int姓名Char12基本工资Money奖金Money加班费Money其他费用Money扣除费用说明char30扣除费用Money合计Money是否发表Char10房间台号信息表功能:房间台号信息表用于保存房间的相关信息表房间台号信息表结构字段名称数据类型字段大小编号Int房间名称char30类型说明Char20餐饮部门Char20服务费Money简要说明Char30状态char10权限信息表功能:权限信息表用于保存设置权限相关信息表权限信息表结构字段名称数据类型字段大小编号Char10姓名Char12员工类别Char20密码Ch
44、ar10权限char20第5章 系统实现5.1 主程序窗体设计(1) 实现目标程序启动后,在“系统登陆”界面验证操作员密码后,将进入主界面主界面主要实现如下功能:(a)根据操作员操作权限,设置相应权限的菜单和工具栏功能。(b)通过菜单或快捷键调用相应子程序。(c)显示当前系统时间,当前操作员和公司名称等内容。 系统主界面如图5-1所示图系统主界面(2)实现过程(a)delphi,选择“file”中的“New Application” 新建项目 main,选择“file”中的“Save Project as”菜单项,将工程保存为main.dpr。(b)选择新产生的窗口 form1,设置窗口 name 属性为MainForm ,设置窗口 caption 属性为“餐饮管理系统”,保存窗体MC_mainform.pas.(c)向窗体中添加 Imagelist、MainMenu、Image、TooButton、StatusBar、Panel、Time、label 等控件,并设置相应属性。(d)详