基于VB的酒店订餐管理系统的设计与实现access

上传人:陈** 文档编号:97236126 上传时间:2022-05-27 格式:DOCX 页数:32 大小:1.96MB
收藏 版权申诉 举报 下载
基于VB的酒店订餐管理系统的设计与实现access_第1页
第1页 / 共32页
基于VB的酒店订餐管理系统的设计与实现access_第2页
第2页 / 共32页
基于VB的酒店订餐管理系统的设计与实现access_第3页
第3页 / 共32页
资源描述:

《基于VB的酒店订餐管理系统的设计与实现access》由会员分享,可在线阅读,更多相关《基于VB的酒店订餐管理系统的设计与实现access(32页珍藏版)》请在装配图网上搜索。

1、基于VB的自助点餐管理系统摘 要:随着本国市场经济的迅速发展和人们生活水平的不断提高,宾馆餐饮业的竞争越来越激烈。要想在竞争中取得优势,就必须在经营管理,产品服务等方面提高服务管理意识。面对餐饮经营中起决定作用的餐饮管理,面对庞大的信息量,就需要一个餐饮订餐管理系统来提高餐饮管理效率。因此,选择目前应用最广的Windows操作系统作为开发、测试和运行的平台,用Visual Basic 6.0作为软件开发工具,VB作为编程语言,ACCESS Server 2000作为数据库支持,开发一个方便上手且功能强大的餐饮订餐管理系统软件,以提高餐饮的管理水平。主要功能包括登记、订餐、退餐、结算、查看客人信

2、息、未结帐提醒等。关键词:餐饮订餐管理系统,VB,数据库设计,程序设计The Design and Realization of the Hostel Management System Based on the VBAbstract:With the rapid development of the domestic economy and the improvement of peoples life standard, the competition between hotel industry is becoming keener and keener. It is necessary

3、 to improve since of service and management on management, product, etc in order to get the advantage in the competition. Facing the room administration which plats the decisive role on the room management as well as the large information, it needs a hotel management system to improve room managemen

4、t efficiency.Therefore, the best way to improve the level of management is to explore a convenient and powerful systematic software of hotel management. That is to choose the widely used Windows operation system as a platform of exploration, test and operation, the Visual Basic 6.0 as a tool of soft

5、ware development, VB as programmer-edited language, ACCESS Server 2000 as the supporter of database. Its main function includes: registration, room reservation , settlement of refunding, room situation check, tourists information check, etc .key words:Hostel Management System, VB, database design, p

6、rogrammer design目录前 言1第一章 绪 论21.1 课题背景21.2 课题研究的目的和意义21.3 课题的主要内容2第二章 开发工具和开发环境32.1 ACCESS 简介32.3 VB简介42.4 ADO 数据访问介绍52.4.1 ADO 不依赖于连续的活动连接62.4.2 ADO 的优点8第三章 系统需求分析及总体设计103.1 系统功能分析103.2 数据库结构设计113.2.1 系统数据流程图113.2.2 实体关系图123.2.3 数据库逻辑结构设计14第四章 系统详细设计与实现154.1 登陆界面154.2 主界面174.3 客户换桌管理界面184.4 订餐界面204

7、.5 菜谱管理界面254.6 用户信息管理界面264.7 更改密码界面27第五章 系统测试285.1 系统测试的目的285.2 系统测试方法28结 论29参考文献30致 谢31前 言互联网的不断发展是推动科技发展的最直接的动力之一,而在这种趋势之下,各种管理系统也必须得跟上时代的步伐,新的需求在不断的产生,管理系统也得跟着需求发展。对于餐饮管理来说,利用先进的管理手段,提高餐饮的管理水平,已是形势所趋。过去,Visual Basic 主要用于创建有着丰富用户界面(包括按钮、列表以及下拉列表框)的应用程序。Visual Basic 的编程人员在程序设计中首次实现完全面向对象的能力。由于VB面向对

8、象的卓越设计,使它成为广大编程人员的最理想的选择之一。餐饮订餐管理系统是基于VB编程语言在Microsoft的Visual Basic平台下开发的,运用了ACCESS Server 2000数据库。强大的数据库支持,能完成大量的数据处理,使得系统更加稳定安全。1编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第30页 共32页第一章 绪 论1.1 课题背景随着经济的迅速发展和人们生活水平的不断提高,宾馆餐饮业的竞争越来越激烈。要想在竞争中取得优势,就必须在经营管理,产品服务等方面提高服务管理意识。面对餐饮的经营起决定作用的是餐饮的管理。如何利用先进的管理手段,提高餐饮的管理水

9、平,是每一个餐饮管理者所面临的重要课题。简单的服务标准已经不是制胜的法宝,只有管理做到最细微之处,才能让顾客体会到餐饮服务的高标准,高质量,而准确,快捷,周全往往就是最基本的成功要素。面对信息时代的挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。因此采用电脑管理业务,财务等诸多环节已成为宾馆餐饮业快速发展的先决条件。世界经济已从工业化社会进入信息化社会,西方发达国家已经进入相当发达的信息化阶段,而本国的信息产业目前尚处于起步阶段。信息高速公路和经济信息化,无疑将对人类社会的经济发展带来根本性的变化,对社会各行各业的生产、工作和管理方式带来深刻的变化, 对包括餐饮在内的许多机构无疑是一个

10、严峻的挑战。1.2 课题研究的目的和意义国内餐饮业的应用系统不同,对于一家餐饮,如果各部门使用的是不同的平台、不同的软件,员工操作时还需要重新学习各种软件,这样不但花费了大量时间,也同时影响餐饮的效率。这样就需要一个容易上手并且实用的一个管理软件,可以让员工能够在极短时间内掌握,减少成本,增加收益。因此,制作一个餐饮订餐管理系统来解决这些问题已是势在必行。针对餐饮的具体业务,主要是餐饮管理,为用户提供迅速高效的服务,减免手工处理烦琐以及误差,并及时准确的反映餐饮的工作状况,从而提高餐饮管理的服务质量,使餐饮获得更好的经济效益。1.3 课题的主要内容本餐饮订餐管理系统数据库选择的是ACCESS,

11、开发环境是Microsoft的Visual Basic,编程语言VB。基本思想是把开发过程分成:项目计划、需求分析、详细设计、代码实现、系统测试以及系统维护等进行完成。餐饮订餐管理系统的开发设计,包括数据库结构设计及程序设计。该系统具有登记、订餐、退餐、结算、查看客人信息等基本功能,能够用于一般的中小型餐饮餐饮管理。要求具备对某一领域熟悉的情况下去寻找相关资料并通过自学逐步掌握该门知识的能力。第二章 开发工具和开发环境2.1 ACCESS 简介Microsoft Access软件与其他数据库应用程序(例如FoxPro,Oracle和dBase等)一样,从本质上说,都是一种数据库管理系统(DBM

12、S),更为具体点,它是一种关系数据库管理系统(RDBMS), Access主要用于中小型数据库应用系统。而Oracle和Sybase主要用于大型数据库应用系统。作为一个模拟系统,数据量并不大,所以就采用了小型数据库Access。它适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access具有一个数据库管理系统所应具备的功能,允许用户构造应用程序来归档和存储数据,并使数据能够很容易地采用多种方式进行筛选、分类和查询数据。Access本身是一个很好的应用程序开发环境,它有和VB类似的界面设计方法,一样易学易用。在面向数据库的应用程序开发方面比起VB的开发效率更高,功能更强。它提供了很多对

13、象(表,窗体,查询,报表)的设计向导,使得有VB基础的非常容易使用。Access拥有的子窗体、子报表控件,它在设计主细表结构的界面和报表方面给程序员带来巨大的方便。Access软件所能完成的功能基本上是一个数据库管理系统所就具有的功能:1 可以根据需要定制Access数据库系统,对数据进行保存、查阅和计算。2 利用表存储相应的数据信息,为每一种实际对象的信息创建一个表,在表中对不同数据以不同的方式进行保存。3 可以按照实际中对象之间的关系,定义各个表之间的关系,将各个表中相关的数据有机地联系在一起。4 可以检索用户指定条件的数据,创建相应的查询来进行检索,也可以利用查询来更新或删除多条记录,并

14、对表中的数据执行各种计算。5 可以直接输入、查看或更改数据库中的数据,利用表格或创建一定的窗体来完成上述功能。6 可以对数据库中的数据进行分析,或者通过特定的方式将数据打印出来,绘制一份相应要求的报表。7 可以将数据库中的数据传输到其他数据库的服务器上,实现资源共享,通过Web页功能来制作数据访问页。Access特点:在Access中,数据库是由若干个数据表格组成的,在表格中具有主关键字和外部关键字定义,并且在数据库中提供了完全的引用完整性,从而避免了数据库中不合理的数据更新和删除。同时,Access的表格具有数据确认规则,以避免非精确数据在输入时被忽略,并且对于大多数软件的数据输入。表格的每

15、一个字段都具有自己的格式和缺省的定义。Microsoft Access支持文本、数字、货币、日期、备注、是/否以及OLE对象等字段类型。当进行特殊处理而缺少数值时,Access还提供完全支持空值的特性。由上面列出的内容来看,Microsoft Access能够完全满足对一个现代数据库就用的需要,不但可以对数据基本操作可以完成,同时还能够完成更高级的操作功能。IIS(Internet Information Sever):微软Internet 信息服务器是一种Web服务器,安装在NT服务器上,支持网页信息发布和ASP编写的多种商业应用程序。2.3 VB简介Visual Basic 6.0,是微软

16、公司推出的可视化编程工具MSDN之一, 是目前世界上使用最广泛的程序开发工具。它的快捷的开发速度, 简单易学的语法, 体贴便利的开发环境,不愧为一款优秀的编程工具, 是初学者的首选。另外VB提供的是可视化的开发环境,我们可以象搭积木一样构建出程序的界面,而且VB提供了丰富的控件组,省去了我们自己写代码实现这些效果的麻烦,这样我们就能把更多的精力放在程序功能的实现上,所以用起来方便。在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。VB功能特点如下:1具有面向对象的可视化设计工具 在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装

17、起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。 2事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。 3提供了易学易用的应用程序集成开发环境 在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成

18、可执行文件在Windows中运行,使用户在友好的开发环境中工作。 4结构化的程序设计语言 VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点: (1)强大的数值和字符串处理功能 (2)丰富的图形指令,可方便地绘制各种图形 (3)提供静态和动态数组,有利于简化内存的管理 (4)过程可递归调用,使程序更为简练 (5)支持随机文件和顺序文件的访问 (6)提供了一个可供应用程序调用的包含多种类型的图标库 (7)具有完善的运行出错处理 5支持多种数据库系统的访问 利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfo

19、t FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。 6支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术 7完备的HELP联机帮助功能 VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执行是由外来事件决定的。因此是“事件”驱动的。与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要

20、的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。 2.4 ADO 数据访问介绍使用 ADO 开发应用程序时,将有操作数据的各种要求。在某些情况下,可能只是想在窗体上显示数据。在其他情况下,则可能需要设计一种方式来与另一个公司共享信息。无论对数据进行怎样的操作,了解 ADO 中的数据结构、主数据组件概念和组件组合方式是很有用的。2.4.1 ADO 不依赖于连续的活动连接在传统的客户端/服务器应用程序中,组件将建立与数据库的连接,并在应用程序运行过程中使连接保持打开状态。出于各种原因,该方法在许多应用程序中是不实用的: 打

21、开的数据库连接占用宝贵的系统资源。在大多数情况下,数据库只可以维持少量的并发连接。维持这些连接的系统开销将降低应用程序的总体性能。 类似地,需要打开的数据库连接的应用程序极难按比例扩展。对于没有很好地按比例扩展的应用程序而言,也许几个用户使用它时执行效果是可以接受的,但如果有数百个用户使用它时其效果也许就不能被接受了。ASP.NET Web 应用程序尤其需要能够很轻松地进行扩展,因为 Web 站点的通信量可能会在非常短的时间内突增几个数量级。 在 ASP.NET Web 应用程序中,组件彼此之间本来就是不连接的。浏览器从服务器请求一页;在服务器完成处理并发送该页后,服务器即不再与浏览器有任何连

22、接,直到下一次请求为止。在这些情况下,维持打开的数据库连接是不可行的,因为没有办法知道数据使用者(客户端)是否需要进一步的数据访问。 基于始终连接数据的模型可能使得使用连接结构在应用程序和组织边界之间交换数据变得困难且不实际。如果两个组件需要共享相同的数据,则二者均必须连接,或者必须为这两个组件设计一种方式以相互传递数据。 出于所有这些原因,使用 ADO 进行数据访问是以有节制使用连接的结构为中心进行设计的。应用程序连接到数据库的时间仅足够获取或更新数据。因为数据库并未被大部分时间空闲的连接占用,所以它可以为更多用户提供服务。使用数据命令执行数据库交互若要在数据库中执行操作,应执行 ACCES

23、S 语句或存储过程(它包括 ACCESS 语句)。使用 ACCESS 语句或存储过程读写行并执行聚合函数,例如添加或求平均值。使用 ACCESS 语句或存储过程创建或修改表或列、执行事务等。在 ADO 中,使用数据命令打包 ACCESS 语句或存储过程。例如,想要从数据库读取一组行,则创建一个数据命令并用 ACCESS Select 语句的文本或获取记录的存储过程的名称配置它。如果要获取这些行,则执行以下操作: 1.打开一个连接。 2.按以下顺序调用命令的执行方法: a.执行该命令引用的 ACCESS 语句或存储过程。 b.然后关闭连接。 连接保持打开的时间仅足够执行语句或存储过程。 在调用命

24、令的执行方法后,它将返回一个值。更新数据库的命令返回所影响的行数;其他类型的命令返回一个错误代码。如果该命令使用 SELECT 语句查询数据库,则它返回一组行。安全说明 当使用 CommandType 属性设置为 Text 的数据命令时,请对从客户端发送过来的信息进行仔细检查,然后再将它传递给数据库。恶意用户可能会试图发送(插入)修改过的或其他 ACCESS 语句,以获得未经授权的访问或破坏数据库。在将用户输入内容传输到数据库之前,应始终确认这些信息是有效的;如果可能的话,始终使用参数化查询或存储过程,这是最佳措施。如果要执行多个操作(例如,读取一些行,然后更新它们),则可以使用多个数据命令,

25、每个操作一个命令。每一操作分别执行。例如,要读取多行,应打开连接,读取这些行,然后关闭该连接。如果要更新数据,再次打开连接,执行更新,然后再次关闭该连接。数据命令可以包括多个参数(具体而言,参数对象的集合),使用这些参数创建类似以下形式的参数化查询:Select * From customers Where (customer_id = customerid)然后在运行时设置这些参数并执行命令以返回或更新所需数据。数据可被缓存到数据集中。最常见数据任务是从数据库检索数据并对数据进行某些操作:显示数据、处理数据或将数据发送给另一个组件。经常地,应用程序需要处理不止一条记录,而是一组记录:例如客户

26、列表或今天的订单。通常应用程序所需的该组记录来自多个表:我的客户及其所有订单;所有名为Smith的作者及他们写的书;以及其他类似的相关记录组。获取了这些记录后,应用程序通常将它们成组使用。例如,应用程序可以允许用户浏览名为Smith的所有作者,检查一个 Smith 的书,然后检查下一个 Smith 的书,等等。在许多情况下,每次应用程序需要处理下一条记录时都返回到数据库是不切实际的。(这样做可能会失去将打开连接的需求降至最低所带来的许多好处。)因此解决方案就是临时存储从数据库检索的记录,然后使用该临时集。这便是数据集的概念。数据集是从数据源检索的记录的缓存。它的工作方式如同虚拟的数据存储区:数

27、据集包含一个或多个表(这些表基于实际数据库中的表),并且它可以包含有关这些表之间的关系和对表可包含数据的约束的信息。数据集内的数据通常是数据库中内容的非常精简的版本。但是,可以用与操作实际数据十分类似的方式操作数据集。这样操作时,将保持与数据库的不连接状态,使数据库可以自由执行其他任务。如果经常需要更新数据库中的数据(尽管不会像从数据库检索数据那么频繁)。可以在数据集上执行更新操作,并且这些更新可以直接写到基础数据库。数据集是数据的被动容器这一点很重要。若要实际从数据库获取数据和(可选)将数据写回数据库,请使用数据适配器。数据适配器包含一个或多个数据命令,这些命令用于填充数据集中的单个表并更新

28、数据库中的相应表。(数据适配器通常包含四条命令,分别用于选择、插入、更新和删除数据库中的行。)因此,每当调用数据适配器的 Fill 方法时,它都可能执行 SELECT au_id, au_lname, au_fname FROM authors 之类的 ACCESS 语句。因为数据集实际上是数据库数据的私有副本,所以它不一定反映数据库的当前状态。如果想要查看其他用户进行的最新更改,可以通过调用适当的 Fill 方法刷新数据集。使用数据集的一个便利之处是组件可以根据需要交换数据集。例如,中层的某个业务对象可以创建和填充一个数据集,然后将它发送给应用程序中其他位置处的另一个组件以供处理。该功能意味

29、着组件不必分别查询数据库。数据集独立于数据源尽管数据集是作为从数据库获取的数据的缓存,但数据集与数据库之间没有任何实际关系。数据集是容器;它由从数据适配器执行的 ACCESS 命令或存储过程填充。由于数据集不直接绑定到数据源,所以它是来自多个源的数据的好的集成点。例如,数据集内的某些数据可能来自数据库,而它的其他部分可能来自另一个数据库或电子表格之类的非数据库源。数据集内的某些数据可能来自另一个组件所发送的流。一旦数据在数据集内,则不管它的原始源是什么,都可以使用一致的对象模型对它进行操作。数据保持为 XML数据需要从数据存储区移动到数据集以及从数据集移动到各种组件。在 ADO 中,传输数据的

30、格式是 XML。类似地,如果需要保持数据(例如保持到文件中),则将其存储为 XML。如果有 XML 文件,则可以像使用任何数据源一样使用它,并从它创建数据集。实际上,在 ADO 中,XML 是数据的基本格式。ADO 数据 API 自动用数据集内的信息创建 XML 文件或流,并将它们发送给另一个组件。第二个组件可以调用类似的 API 将 XML 读回数据集。2.4.2 ADO 的优点与 ADO 的早期版本和其他数据访问组件相比,ADO 提供了若干好处。这些好处分成以下几个类别:互操作性ADO 应用程序可以利用 XML 的灵活性和广泛接受性。由于 XML 是用于在网络中传输数据集的格式,因此可以读

31、取 XML 格式的任何组件都可以处理数据。实际上,接收组件根本不必是 ADO 组件:传输组件可以只是将数据集传输给其目标,而不考虑接收组件的实现方式。目标组件可以是 Visual Studio 应用程序或无论用什么工具实现的其他任何应用程序。唯一的要求是接收组件能够读取 XML。作为一项工业标准,XML 正是在谨记这种互操作性的情况下设计的。可维护性在已部署系统的生存期中,适度的更改是可能的,实质的结构更改十分困难。因为在事件的自然过程中,这种实质上的更改会变得很有必要。例如,当已部署的应用程序越来越受用户欢迎时,增加的性能负荷可能需要进行结构更改。随着已部署的应用程序服务器上的性能负荷的增长

32、,系统资源会变得不足,并且响应时间或吞吐量会受到影响。面对该问题,软件设计者可以选择将服务器的业务逻辑处理和用户界面处理划分到单独计算机上的单独层上。实际上,应用程序服务器层将替换为两层,缓解了系统资源缺乏。该问题并不是要设计三层应用程序。相反,它是要在应用程序部署以后增加层数。如果原始应用程序使用数据集以 ADO 实现,则该转换很容易进行。当用两层替换单个层时,将安排这两层交换信息。由于这些层可以通过 XML 格式的数据集传输数据,所以通信相对较容易。可编程性Visual Studio 中的 ADO 数据组件以不同方式封装数据访问功能,加快编程速度并减少犯错几率。例如,数据命令提取生成和执行

33、 ACCESS 语句或存储过程的任务。同样,由这些工具生成的 ADO 数据类导致类型化数据集。使可以通过已声明类型的编程访问数据。性能对于不连接的应用程序,ADO 数据库提供的性能优于 ADO 不连接的记录集。当使用 COM 封送在层间传输不连接的记录集时,会因将记录集内的值转换为 COM 可识别的数据类型而导致显著的处理开销。在 ADO 中,这种数据类型转换则没有必要。可伸缩性因为 Web 可以极大增加对数据的需求,所以可缩放性变得很关键。Internet 应用程序具有无限的潜在用户供应。尽管应用程序可以很好地为十几个用户服务,但它可能不能向成百上千个(或几百万个)用户提供同样好的服务。使用

34、数据库锁和数据库连接之类资源的应用程序不能很好地为大量用户服务,因为用户对这些有限资源的需求最终将超出其供应。ADO 通过鼓励程序员节省有限资源来实现可缩放性。由于所有 ADO 应用程序都使用对数据的不连接访问,因此它不会在较长持续时间内保留数据库锁或活动数据库连接。第三章 系统需求分析及总体设计3.1 系统功能分析系统开发的总体任务是实现餐饮餐饮各种信息的系统化、规范化和自动化。主要完成功能: 本餐饮订餐管理系统,有登记、订餐、退餐、查看菜谱信息、查看客人信息、管理员密码修改等主要功能。系统建立了三个数据表,第一个表记录管理员的用户名和密码信息;第二个表记录用餐信息;第三个表记录客人信息。用

35、餐信息有三种状态,即“营业中”、“预定”、和“空闲”,客人信息也有三种状态,即“登记”、“订餐”、“退餐”。这些状态可以对用餐的情况和客人的情况进行统计。 程序主要结构如图31所示:登录界面客户订餐用户管理菜谱管理餐桌管理修改密码系统帮助用户添加用户管理菜谱添加菜谱管理餐桌添加餐桌查询换桌管理点菜管理图31程序主要结构图各子界面设计: 用户管理界面:可以对用户进行管理和添加。 菜谱管理界面:可输入菜谱编号、类别、菜名、价格。 餐桌管理界面:餐桌添加和查询功能;其中可按编号和名称进行快速查询;添加餐桌时可输入编号、人数、状态。 订单记录信息界面:可查看用餐信息、菜单、价格以等,并且可以根据销售记

36、录统计出总额。修改密码界面:用于修改管理员密码。3.2 数据库结构设计3.2.1 系统数据流程图用餐登记基本信息输入订餐登记顾客信息返回用餐信息选定择结算信息餐饮信息返回基本信息输入分析调查有关餐饮管理信息需求的基础上得本系统所处理的数据流程:图32 餐饮订餐管理信息系统数据流程图3.2.2 实体关系图本系统设计规划出的实体有:管理员信息实体、订餐记录信息实体、菜谱信息实体、客户信息实体。各个实体具体的描述-图如下:管理员信息实体用户名密 码图33 管理员信息实体-图点餐信息实体菜名价格桌号菜谱图34 订餐记录信息实体-图菜谱信息实体菜谱编号菜名价格类别图35 菜谱信息实体-图桌号信息实体编号

37、信息大小状态图36桌号信息实体-图登记信息管理登记订餐信息管理订 餐订餐信息管理结算菜谱信息管理图37 实体之间关系-图3.2.3 数据库逻辑结构设计系统设计了三个数据表即“管理员” 、“用餐表” 、“顾客信息表” 。其各个表格的设计如下: 表31 管理员列名数据类型可否为空说明用户名VarcharNOT NULL主键密码VarcharNULL注册时间TimeNULL表32 订餐表列名数据类型可否为空说明客户编号VarcharNOT NULL主键客户姓名VarcharNULL菜名VarcharNULL订餐时间DatetimeNULL是否结账CharNULL价格FloatNULL表33 顾客信息

38、表列名数据类型可否为空说明系统编号CharNOT NULL主键用户名VarcharNOT NULL密码CharNULL真空姓名CharNULL性别CharNULL证件类型CharNULL证件号VarcharNULL电话FloatNULL地址FloatNULL第四章 系统详细设计与实现4.1 登陆界面图41通过工具箱的控件, 控件制作界面如图41所示。此程序段中,“IF”语句的作用是判断用户输入的用户名与密码和数据库的是否相同,如果用户名或密码输入错误,则提示相应错误信息。4.2 主界面图43主界面也是各个子界面的接口界面,通过主界面可以打开各个子界面。首先添加一个新的窗体,作为主界面。界面中用

39、到“ImageList1”控件,设计成如图43所示。主界面设有各子界面的操作入口,包括用户管理、菜谱信息管理、订餐信息管理、餐桌管理及订餐记录等。界面清爽大方,操作简约明了。4.3 客户换桌管理界面图44该模块主要是让客户可以更换自己喜欢的桌位,其界面非常简单,一是显示原桌号,二是选择新桌号,界面看似简单,实现起来比较麻烦,因为客户换桌后还要将其所点的菜谱信息全部更换到新桌里,这样才能保证不出错。实现本模块功能的主要代码如下:Private Sub Command3_Click()mycon.Open ACCESS = update canzhuo set zhuangtai=空闲 where

40、 bianhao= & nzh & mycon.Execute ACCESS ACCESS = update canzhuo set zhuangtai=已占 where bianhao= & Trim(zhuohao.Text) & mycon.Execute ACCESS ACCESS = update dcjl set khbh= & Trim(zhuohao.Text) & where isjz=未结 and khbh= & nzh & mycon.Execute ACCESS nzh = Trim(zhuohao.Text) MsgBox 换桌成功, , 系统提示 mycon.Clo

41、seEnd SubPrivate Sub Form_Load()Set rs = New ADODB.RecordsetLabel2.Caption = nzhACCESS = select bianhao from canzhuo where zhuangtai=空闲 order by id descmycon.Openrs.Open ACCESS, mycon, 1, 1If rs.EOF ThenElse Do While Not rs.EOF zhuohao.AddItem (rs(bianhao) rs.MoveNext LoopEnd Ifrs.Closemycon.CloseEn

42、d Sub4.4 订餐界面图46此界面为客户选择菜谱的界面,界面很简洁。界面上方是用户名的选择,下方分为两边,左侧显示所有菜谱,右侧显示已选菜单,中间用两个方向相反的箭头,表示选择或放弃菜谱,操作简单。实现本模块功能的主要代码如下: Private Sub Combo1_Click()mycon.Open ACCESS = select * from allkehu where username= & Trim(Combo1.Text) & Dim rs As New ADODB.Recordset rs.Open ACCESS, mycon, 1, 1 If rs.EOF Then Else

43、 Text1.Text = rs(realname) End If rs.Close mycon.CloseEnd SubPrivate Sub Command1_Click()If List2.ListCount = 0 Then ssss = MsgBox(你还没有选择任何菜单!, vbInformation + vbOKOnly, 警告) Exit SubEnd IfACCESS = select * from dcjlDim rs As New ADODB.RecordsetDim rs2 As New ADODB.Recordsetmycon.Openrs.Open ACCESS,

44、mycon, 3, 3For i = o To List2.ListCount - 1 rs.AddNew rs(khbh) = Trim(Combo1.Text) rs(khxm) = Trim(Text1.Text) rs(cname) = Trim(List2.List(i) ACCESS2 = select price from allcai where cname= & Trim(List2.List(i) & rs2.Open ACCESS2, mycon, 1, 1 rs(price) = rs2(price) rs2.Close rs.UpdateNext issss = Ms

45、gBox(点菜成功!, vbInformation + vbOKOnly, 提示)mycon.CloseEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()Dim i As Integeri = 0Do While i List1.ListCount If List1.Selected(i) = True Then List2.AddItem List1.List(i) List1.RemoveItem i Else i = i + 1 End IfLoopIf List1.ListCou

46、nt = 0 ThenCommand3.Enabled = FalseEnd IfIf List2.ListCount 0 ThenCommand4.Enabled = TrueEnd IfEnd SubPrivate Sub Command4_Click()Dim i As Integeri = 0Do While i List2.ListCount If List2.Selected(i) = True Then List1.AddItem List2.List(i) List2.RemoveItem i Else i = i + 1 End IfLoopIf List1.ListCoun

47、t 0 ThenCommand3.Enabled = TrueEnd IfIf List2.ListCount = 0 ThenCommand4.Enabled = FalseEnd IfEnd SubPrivate Sub Form_Load()mycon.OpenACCESS = select * from allkehu order by id descDim rs As New ADODB.Recordsetrs.Open ACCESS, mycon, 1, 1If rs.EOF ThenElse Do While Not rs.EOF Combo1.AddItem (rs(usern

48、ame) rs.MoveNext LoopEnd Ifrs.CloseACCESS = select * from allcai order by id descrs.Open ACCESS, mycon, 1, 1If rs.EOF ThenElse Do While Not rs.EOF List1.AddItem rs.Fields(cname) rs.MoveNext LoopEnd Ifrs.Closemycon.CloseEnd Sub图47图4-7是客户退餐界面,是订餐的反操作。界面的设计风格承袭了系统设计的统一风格:简约、明了。界面可分为三部分:最上方为客户信息查询模块,当查询

49、到具体用户时,系统在中间的版块显示该用户所订的所有菜谱信息,此时可选择其中需要退订的菜名,并点击下方的退订按钮,即可完成退订操作。4.5 菜谱管理界面图48添加菜谱界面。设计十分简约,而且考虑到信息输入及管理的问题,所以将需要输入的信息设置得十分简单,仅需四个,而且其中“类别”一栏还用下拉菜单选择。图49此窗体的界面与客户信息管理界面相仿,且操作方式亦十分相似,只是针对的对象及需要操作的数据有所不同,由于篇幅关系,不一一详细说明。4.6 用户信息管理界面图410图411此系列界面,是进行餐饮内部用户的信息管理,包括添加用户信息、管理用户信息等。界面与客户信息管理有些相类,只是较客户信息管理界面

50、要简单,故不展开说明。4.7 更改密码界面图411密码修改界面需要输入的信息很少,仅仅需要输入原密码(验证身份)、新密码即可。由于界面十分清晰,故不展开说明。系统还设计了其他功能,如餐费结算、未结账提醒等,由于篇幅关系,而且界面设计十分明朗,故不一一累述。第五章 系统测试5.1 系统测试的目的系统测试的目的是保证所实现的系统确实是用户所想要的。为了达到此目的,需要完成一系列的测试活动,这些活动包括功能测试、性能测试、验收测试、安装测试。其中功能测试、性能测试是要过软件开发人员的关,如果软件开发人员都不满意,就不能提供给最终用户。验收测试、安装测试是要过最终用户的关,最终用户对测试满意则测试任务

51、就完成。5.2 系统测试方法设计测试方案是测试的首要任务。测试方案包括具体的测试目的和测试用例,其中创建好的测试用例对成功测试起到至关重要的作用。通常的测试用例技术有白盒测试和黑盒测试。白盒测试法设计用例的指导思想是选择测试用例集检验代码的内部结构是否正确,因此,它是在清楚了程序的内部结构和处理算法的基础上进行的测试用例技术。黑盒测试即不考虑所编写程序的具体结构,而是根据软件所需要的输入数据格式以及应该完成的功能,设计一些合法的测试用例和不合法的测试用例,特别是根据边界条件设计一些边界测试用例,以检查系统的是否正确的完成这些功能,得到预期的输出。并对不合法的输入和操作能够正确的识别和防御。考虑

52、到各种因素和条件的限制,我采用黑盒测试方案。测试项目包括整个餐饮订餐管理系统所有模块功能的输入、输出、添加、修改、保存、查询。通过系统测试,可以知道软件的功能有没实现,还存在什么样的问题,针对问题寻找合理的解释,对于某些不完善的地方或功能还不全,以便以后修改和完善。结 论本毕业设计完成了餐饮订餐管理系统的设计与实现,包括数据库结构和程序的设计。系统由VB和ACCESS制作而成的,功能和结构较为简单,使用于小型的餐饮管理。该系统实现了登记、订餐、退餐、查看菜谱信息、用户管理、管理员密码修改等主要功能,减少了管理人员工作量,极大的提高餐饮管理的运作效率。同传统的手工作业相比,通过该系统:管理人员可

53、以方便快捷的对客人信息进行登记,根据情况的变换,取消客人预定的用餐;退餐结算能够迅速准确的计算出应付金额,避免了手工计算的可能的失误。通过查看用餐的状态信息,可以随时掌握餐饮餐饮运行情况,随着规模的扩大,能够添加新的用餐。在查看客人信息的界面中,根据顾客不同的状态进行操作,能够按名称、时间实现模糊查询的功能。餐饮订餐管理系统是大学所学知识的综合运用,是理论与实践相结合的产物。在此期间,不但巩固了所学的书本知识。而且还学到了许多课堂上和书本上无法学到的实践知识,提高了自学能力,增强了专业技术的水平,为今后从事本专业的工作打下一定的基础。我会继续努力,完善自我,同学的帮助、指导老师的用心辅导和学校

54、的精心安排使这个课题能够顺利进行。但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,恳请各位老师斧正。参考文献1 (美)佩特科维奇|译者:冯飞、薛莹,Microsoft ACCESS Server2005初学者指南,中文第1版,北京,清华大学出版社,2008年2 黄梯云计算机基础知识及管理信息系统北京:中国经济出版社,19893 (美)维埃拉|译者:叶寒、管贤平,ACCESS Server2005编程入门经典(第2版),第2版,北京,清华大学出版社,2009年4 (美)奥蒂|译者:高猛,Microsoft ACCESS Server2005s开发指南,第1版,北京,

55、清华大学出版社 ,2007年5 沛曾 陆慰民 杨志.Visual Basic 程序设计教程(6.0版)北京:高等教育出版社,2007.76 张海藩,软件工程导论,2003年,清华大学出版社7 卢毅. Visual Basic6数据库设计实例导航.北京:科学出版社,20018 美 Jeffrey D.Ullman,Fundamental Course of Database System,TsingHua Press,2001年11月。9 美Jeffer R.Shapiro著,周之、黄玫译,ACCESS Server 2005参考大全,清华大学出版社,2006年6月。10 隆华软件工作室 编著,

56、ACCESS Server 2005程序设计,清华大学出版社,2007年10月。致 谢在整个毕业设计的过程,从刚开始的开题,系统需求分析,系统总体设计,系统详细设计,到最后的系统的编程开发,指导老师提出了很多宝贵的意见和建议,并给予了许多帮助,让我体会了如何完成一个系统的整个过程。在毕业设计的过程中,先是对ACCESS Server做了大量的工作,并熟悉了Visual Basic 6.0开发环境和VB编程语言,为毕业设计的顺利完成奠定了基础。在遇到问题时和同学交流、讨论,或是向指导老师寻求帮助。毕业设计的整个过程让我收获很大。整个过程中我遇到很多困难,在同学、网友以及老师的帮助下最后把问题都一一解决了。特别是在开发过程中我熟悉了Visual Basic 6.0框架结构,掌握了VB与ACCESS Server 2000 的开发技术.我非常感谢在我毕业设计过程中给我提供帮助的同学和老师! 第 30 页 共 32 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!