毕业论文小型酒店客房管理系统设计.doc_第1页
毕业论文小型酒店客房管理系统设计.doc_第2页
毕业论文小型酒店客房管理系统设计.doc_第3页
毕业论文小型酒店客房管理系统设计.doc_第4页
毕业论文小型酒店客房管理系统设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 摘 要1 第一章 前言1 1.1 项目背景.1 1.2 项目研究意义及必要性.1 第二章 系统开发工具和关键技术2 2.1 开发工具介绍.2 2.1.1 VB.NET 简介 2 2.1.2 SQL Server 2000 简介.3 2.2 ADO.NET 数据库访问技术 .3 2.3 ADO.NET 对象的使用 .3 2.3.1 Connection 对象 3 2.3.2 Command 对象 .4 2.3.3 DataSet 对象 .4 第三章 系统可行性分析4 3.1 技术可行性.4 3.2 经济可行性.4 3.3 操作可行性.5 第四章 系统需求分析5 4.1 系统功能需求.5 4.2 用户界面需求.6 4.3 安全和可靠性需求.6 4.4 系统数据和计算规则.6 4.4.1 数据精确度要求.6 4.4.2 时间特性要求.7 4.4.3 客房宿费的计算方法.7 4.4.4 更换房间规则.7 4.4.5 单据编号设定规则.8 第五章 系统总体设计 .8 5.1 系统功能结构 8 5.1.1 客房预订模块.9 5.1.2 登记入住模块10 5.1.3 更换客房模块10 5.1.4 信息查询模块10 5.1.5 消费记账模块10 5.1.6 退房结账模块10 5.1.7 营业情况统计模块10 5.1.8 客房信息设置模块11 5.1.9 商品信息设置模块11 5.1.10 房态管理模块.11 5.1.11 用户管理模块.11 5.1.12 数据库维护模块.11 5.1.13 系统日志模块.11 5.2 系统流程图12 第六章 数据库设计.13 6.1 数据库需求分析13 6.2 概念结构设计14 6.3 逻辑结构设计17 6.4 创建触发器21 第七章 系统详细设计与实现21 7.1 公共数据模块设计 21 7.2 系统窗体构架23 7.3 系统界面设计24 7.3.1 登录窗体设计 24 7.3.2 系统主界面设计26 7.3.3 登记入住窗体设计28 7.3.4 退房结账窗体设计30 7.3.5 数据库维护窗体设计33 第八章 系统测试与使用说明 35 8.1 系统测试与运行35 8.1.1 对于登记入住模块的测试35 8.1.2 对于消费记账模块的测试37 8.1.3 对于客房信息设置模块的测试37 8.2 系统运行平台38 8.3 系统使用说明38 结束语 .39 致 谢 39 参考文献 .40 摘摘 要要 本毕业设计是一个针对中小型酒店业务经营和管理的特点开发的管理信息系统, 全称小型酒店管理系统。系统的设计目标是实现酒店经营管理的信息化和自动化,解 决小型酒店客人入住登记、客房预订、顾客消费、退房结账等酒店日常业务中的主要 问题。本文简要介绍了项目背景和意义,着重阐述了系统开发实现过程,对系统需求 分析、功能结构及数据库设计等方面都进行了详尽的分析和描述。 关键词:关键词:小型酒店管理系统;VB.NET;SQL Server 2000;ADO.NET Abstract This graduation design is a management information system that is developed with aiming at the characteristics of medium small scaled cabaret business management, all call a small scaled cabaret a management system. The design target of system is to carry out cabaret management to manage of information-based with automation resolve a small scaled cabaret guest go into live register, guest room to reserve, guest consume, back night to register etc. key problem within the daily business of the guest house cabaret. This text synopsis introduced item background and meaning and emphasized to elaborate the system development carries out process and all carried on a detailed analysis and description from the need analysis, function structure and database design etc. KeyWords: Small Hotel Management Information System; VB.NET;SQL Server 2000;ADO.NET 第一章第一章 前前 言言 1.11.1 项目背景项目背景 随着计算机和信息技术的飞速发展,传统的工作模式逐渐被信息化、网络化的现 代工作模式所代替,在酒店管理业务方面亦是如此。传统的酒店管理往往令管理者花 大量的人力和物力以满足各种繁琐的经营活动的需要,例如冗长的登记和结账手续、 手工记录所有客房状态、列表统计顾客消费情况等。这种工作模式不但效率低下,且 极易出现错误和遗漏,有时甚至会导致严重的经济损失,给酒店的经营带来负面影响。 正是在这样一种背景下,新的酒店管理模式应运而生,即采用先进的计算机和软 件技术来实现酒店业务的信息化管理。从客房的营销即客人的预订登记开始,到入住 之后的各种消费直至最后退房结账,整个过程以顾客为中心,利用计算机简化各种复 杂操作,在最合理最短时间内完成酒店业务的规范操作,这样才能令顾客得到优质的 服务,增加顾客的回头率。虽然信息化并不是酒店走向成功的关键元素,但它可以帮 助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机管理系统,将 成为提高酒店的管理效率,改善服务水准的重要手段之一。 1.21.2 项目研究意义及必要性项目研究意义及必要性 酒店作为高层次的服务行业之一,最重要的就是要做到优质服务。服务的安排、 调度是否周到,客人的要求是否能迅速地得到满足,都直接影响到酒店的形象和声誉。 借助计算机技术来进行信息管理,并配合现代化的酒店管理经验和模式,可以极大地 提高酒店的服务质量,获得更好的经济效益。酒店信息化管理已成为酒店现代科学管 理的重要内容,是酒店经营中必不可缺少的现代科学工具。由此可见,一个好的酒店 管理系统应该达到以下几个目标: 1.提高工作效率,减轻劳动强度。 在酒店的日常工作中,每天都要完成对营业信息进行更新统计,提供查询服务, 结算账单等大量的业务,用手工方式进行的话,不仅速度慢,需要的人手多,且出错 的概率也大,而计算机管理则可以大大提高业务运作的速度和准确性,实现营业管理 自动化。 2.提高了酒店经济效益,增加营业收入。 完善的客房管理功能可防止有房不能出租或房间重订的情况出现,随时提供准确 和最新的房态信息,从而可提高工作效率和客房出租率。客人费用的一次性结账,不 仅减少了票据传送,而且避免了管理上的混乱,更主要的是有效地防止逃帐的发生。 3.提高了服务质量,可以为客人提供快捷、细致、周到的服务。 操作人员只需敲击键盘,就可以办理客人入住、查询信息、结账等各项手续,并 准确无误地记录客人的每笔消费记录,大大缩短客人办理手续时的等候时间,提高了 服务质量。 4.信息透明,酒店营业情况一目了然,提高了经营者的决策水平。 经营者可以通过对酒店经营状况及历史数据的分析,做出相关的经营决策,并加 强对饭店运营的内部控制,为酒店未来的发展提供理论依据。 第二章第二章 系统开发工具和关键技术系统开发工具和关键技术 2.12.1 开发工具介绍开发工具介绍 当今流行的系统开发工具有 Visual Basic、Visual C+、Delphi、PowerBuilder 和最新的基于.NET 平台的 Visual Studio.NET 等。综合权衡自己对于各种工具的熟练 程度以及它们的优缺点后,决定采用 Visual Studio 2005 集成开发环境中的 Visual Basic.NET 语言开发本系统,后台数据库则采用 SQL Server 2000 开发。下面就针对 Visual Basic.NET 和 SQL Server 2000 做一些简要介绍。 .1 VB.NETVB.NET 简介简介 Visual Basic.NET 是集成在 Visual Studio 中的一个强大的开发工具,它以.NET 为框架对 Visual Basic 进行了非常大的改进。VB.NET 继承了 VB 6.0 简单、易学、易 用的特点,同时增加了新的组件、修改了以前的集成开发环境界面,给开发人员带来 更多的新鲜、有用的东西,它本身自带的各种函数和方法可以帮助我们快速和有效的 实现系统功能的开发,从而大大减轻工作负担。如果有 VB 和 VC 的基础,将极大地加 快 VB.NET 上手的速度,而且理解其中一些较深层次的内容也更容易。 .2 SQLSQL ServerServer 20002000 简介简介 Microsoft SQL Server 2000 建立于 Windows NT 的可伸缩性和可管理性之上,提 供了功能强大的客户服务器平台。它可以在许多环境,包括两级或多级客户/服务器数 据库系统中有效的工作。服务器端负责创建和维护表和索引等数据库对象,维护数据 的完整性和安全性,确保在出现某种错误时能够恢复操作。用户可以很好的使用客户 端系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而用户则关注信 息的表示。 2.22.2 ADO.NETADO.NET 数据库访问技术数据库访问技术 ADO.NET 是对 Microsoft ActiveX Data Objects(ADO)一个跨时代的改进,它提供 了平台互用性和可伸缩的数据访问。ADO.NET 是新的数据存储对象结构,它是.NET 框 架中的数据库访问模型,主要涉及到 System.Data、System.Data.SqlClient 和 System.Data.OleDb 三个命名空间的类。ADO.NET 体系结构中的对象可以分为两组:包 含在.NET 数据提供程序(DataProvider)中的组件和属于 ADO.NET 断开连接体系结构 的对象,如图 2-1 所示: 图图 2-12-1 ADO.NETADO.NET 体系结构体系结构 从图中可以看出,ADO.NET 的一个组成部分是左边的.NET 数据提供程序,其组件的 设计目的是为了实现对数据的快速的、只向前的和只读的访问。 2.32.3 ADO.NETADO.NET 对象的使用对象的使用 .1 ConnectionConnection 对象对象 ADO.NET 控件若要在数据存储区和应用程序之间传递数据,必须首先建立到该数据 存储区的连接。在 ADO.NET 中,可以使用以下方式创建连接: Dim myConn As SqlConnection=New SqlConnection(“Server=localhost;Database =HMIS;user ID=sa;Password=;”) .2 CommandCommand 对象对象 Command 对象可以执行 SQL 命令、传递系统参数以及取得数据结果等,ADO.NET 的 Command 对象分为 DataSetCommand 和 Command。 DataSetCommand 的主要目的是产生 DataSet,它的结构相对来说比较复杂,如果用 Connection .NET数据提供程序 DataReader DataAdapterDataSet 断开连接的 数据体系结构 Command 户需要将数据批次写回数据库,可以使用 DataSetCommand 提供的 Update 方法。 .3 DataSetDataSet 对象对象 DataSet 是一种新的对象模型,是一个容器类,是 ADO.NET 断开式结构的核心控件, 它将数据库中的数据检索到内存中,代表一个或者多个数据库表中的数据的非连接视 图。建立好 DataSet 对象后,可以调用数据适配器的 Fill 方法从数据库中将数据读入 到数据集中。方法如下: DataAdapter 对象.Fill(DataSet) 或使用如下形式: DataAdapter 对象.Fill(DataSet,TableName) 以上语句用于用给定的表中的记录填充 DataSet,TableName 是指从源表映射到 DataSet 中表的名字。 第三章第三章 系统可行性分析系统可行性分析 3.13.1 技术可行性技术可行性 开发一个小型的酒店管理系统,所涉及到的技术问题不会太多,主要用到的工具就 是数据库管理系统和一门可视化开发的编程语言。Microsoft SQL Server 2000 在安全 性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;而本系统 采用的前台开发工具 Visual Studio 2005 集成开发环境中的 VB.NET 语言自身所提供 的各种控件、函数及方法完全可以帮助我们完成系统的开发。 在实际的开发过程和应用中,数据库和应用程序均在同一计算机上运行。数据库中 储存了所需要被处理的数据,并由 SQL Server 2000 数据库管理系统对其进行集中管 理,应用程序由 Visual Studio 2005 集成开发环境中的 VB.NET 编程语言进行开发。 只要先启动服务器,系统即可运行,这为系统的调试工作带来了便利。 3.23.2 经济可行性经济可行性 小型酒店管理系统从开发、使用到维护所需要的费用都十分的低廉,且在软硬件 方面的要求都不是很高,而收益去非常的巨大,对于小型的酒店宾馆来说,不但不会 增加营业成本,反而能够提高自身的管理效率,创造更多的经济利益。 3.33.3 操作可行性操作可行性 本系统采用界面化设计,简单易用,各项数据都用表格形式显示出来,酒店营业 情况一目了然。并且提供了大量的操作提示以及出错信息,大大的方便用户的使用, 同时也减少了出错的可能,确保了数据的正确性、完整性和一致性。 第四章第四章 系统需求分析系统需求分析 4.14.1 系统功能需求系统功能需求 本系统的总目标是利用计算机强大的数据处理和存储能力,为用户提供快捷、高 效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作和经营情况, 从而提高酒店的服务质量,获得更好的经济效益。 众所周知,客房业务是中小型酒店日常业务中的核心部分,而商品消费也是酒店利 润的重要来源。只有将这两者完美的融入到计算机管理系统中去,才能说是实现了酒 店业务的信息化管理。如图 4-1 所示,从顾客入店登记开始,到顾客在店期间的商品 消费和住宿费用的计算,最后到收银结账办理离店手续,它展示了酒店经营活动的一 次完整的业务流程。这也就是一个小型酒店管理系统应该具备的基本功能。 因此,本系统的功能需求应包括: 1.实现客房预订、登记入住,更换房间以及退房结账等客房营销功能; 2.实现房态信息的实时查询、更新; 3.准确记录顾客在店期间的消费情况; 4.实现住宿费用和商品消费的一次性结账处理功能; 5.实现快速准确的顾客信息查询功能; 6.实现酒店经营状况的统计; 7.实现系统数据库维护功能,能够对数据库进行备份和还原操作; 8.实现账号验证功能,只有拥有合法账号的用户才能进入并使用本系统。 图图 4-14-1 一般酒店业务流程图一般酒店业务流程图 4.24.2 用户界面需求用户界面需求 本系统的用户一般为酒店的管理和销售人员,除了从功能上满足他们的需求外, 还应考虑到系统界面设计、功能设置等方面是否适应他们的习惯和工作方式。 系统界面应采用 Windows 窗体风格和命令按钮化设计,按用户的习惯制定操作提 示和出错信息,使得操作人员不需要经过专门的培训就能够快速的掌握操作方法。 4.34.3 安全和可靠性需求安全和可靠性需求 作为直接参与经营管理的软件,数据的安全性尤为重要。本系统必须采取一系列 的措施,加强数据的安全保密性,如建立账号验证制度,实现用户身份的多重验证功 能。同时还应对合法用户的权限进行严格的控制,一般的酒店服务人员(普通用户) 只能进行一般性的营业功能操作,而那些重要的营业及系统数据只有酒店管理人员 (超级用户)才能查看和更新。更重要的是,它还应具备数据库的备份和还原功能, 以便系统出现故障或数据遭到破坏时能够及时恢复,把损失降到最低。 另外,本系统应能够在酒店营业时间里连续运行,且在负荷较大的情况下仍能高 效的完成任务。对于所输入的信息应具备一定的识别和检查能力,不会因信息输入错 误和不完整造成系统的故障。 4.44.4 系统数据和计算规则系统数据和计算规则 .1 数据精确度要求数据精确度要求 产生顾客 消费记录 登记入住 输入顾客信息 预收押金 安排顾客入住商品消费 住宿费用 核对消费金额 结账 离店 由于本系统只应用于一般性的营业操作,对数据精确度的要求不是太高,主要涉 及的还是营业中各种费用的计算,对于金额、价格、总额这些涉及货币的数据要求精 确到小数点后两位即可。 .2 时间特性要求时间特性要求 在时间特性方面,要求在登记入住、客房预订、收银结账等功能上要有便捷的操 作方式,应尽量缩短顾客的等待时间。日期数据应记录年、月、日、时、分、秒。在 某些信息查询功能中对于相关时间的查询只需要指定到某一天即可。 .3 客房宿费的计算方法客房宿费的计算方法 在宿费的计算方法上,根据实际情况,设置为如下方法: 如果是“钟点房” ,计算时间差以小时为单位。否则,计算时间差以天数为单位, 计算公式如下: 钟点房费用 = 房价小时数;住宿费用 = 房价天数。 如果客人退房时间在住宿当天,可以按如下算法:退房结账时间早于 18:00,那么 住宿天数为 0.5 天;退房结账时间超过 18:00,那么住宿天数为 1 天。如图 4-2 所示。 图图 4-24-2 住宿费用计算方法图住宿费用计算方法图 另外,在退房结账模块内,还存在如下费用计算方法: 应收金额 = 住宿费用消费金额;实收金额 = 应收金额 - 预收押金。 .4 更换房间规则更换房间规则 由于客人的住宿习惯不一样,有些客人会在住宿过程中要求更换客房,例如客人 要求换一间光线较好的客房或者空调房等等,这就要求本系统应该具备换房功能。换 取系统时间 系统时间顾客抵店时间0 ? 系统时间小时数18:00 ?系统时间小时数12:00 ? 住宿天数1 天 住宿天数(系统 时间-顾客抵店时 间)+0.5 天 住宿天数(系统 时间天数-顾客抵 店时间)+1 天 住宿天数0.5 天 是 否 是否是否 房时应该注意的问题是:为减少住宿费用计算的麻烦,顾客只能更换同类房间,且房 价不变。换房之后,应该对原客房、目标客房的状态进行调整。 .5 单据编号设定规则单据编号设定规则 在本系统中,入住单号、预订单号及结账单号的生成方法如下: 单据编号“单据名称首字母组合”“当天日期”“当天入住顾客人数1” 。 例如:在 2007-4-13,某客户是这一天第三个登记入住,则入住单号为 RZ20070413003。 第五章第五章 系统总体设计系统总体设计 5.15.1 系统功能结构系统功能结构 通过系统需求分析可知,本系统可以分为以下若干个功能模块:登记入住、客房预 订、更换房间、退房结账、信息查询、消费记账、营业情况统计、商品信息设置、客 房信息设置、用户管理、数据库维护和系统日志。如图 5-1 所示。 图图 5-15-1 系统功能模块结构图系统功能模块结构图 .1 客房预订模块客房预订模块 客房预订模块可使顾客在抵店之前就登记好房间,待到达之后即可办理入住手续。 该模块需要完成的功能主要有: (1)输入预订信息。主要包括预订单号、顾客姓名、顾客类型、顾客来源、公司名称、 联系电话、预订房数、预订日期等; (2)取消预订。取消预订单,删除数据库中相应的记录; (3)预订入住。为已预订客房的顾客办理登记入住,同时删除相关的预订信息。 小型酒店管理系统 客房信息设置模块 客房预订模块 客房信息添加 客房信息删除 登记入住模块 更换房间模块 信息查询模块 消费记账模块 用户信息管理模块 商品信息设置模块 客房信息修改 在店顾客查询 离店顾客查询 预订顾客查询 添加消费信息 消费转单 退出系统 用户信息添加 用户信息修改 用户信息删除 商品信息添加 商品信息删除 商品信息修改 添加预订 取消预订 预订入住 营业状况统计模块 数据库维护模块 退房结账模块 消费退单 系统日志模块 客房状态管理模块 (4)更新客房状态。将顾客所预订客房的状态由“空闲”改为“预订” 。 .2 登记入住模块登记入住模块 登记入住模块实现顾客登记入住功能。可快速完成顾客信息输入、选择房间(一 次可选择多个房间) 、收取押金等顾客入住手续。该模块的功能主要有: (1)登记入住。输入顾客开单信息,主要包括入住单号、主客姓名、证件类型、证件 号码、性别、公司名称、联系电话、预收押金等; (2)更新客房状态。将顾客所入住客房的状态由“空闲”改为“入住” 。 .3 更换房间模块更换房间模块 用户可根据顾客的要求更换房间,但只能更换同类房间,且房价不变。 .4 信息查询模块信息查询模块 在该模块中按设定条件查询店内相关信息,包括入住客人信息、历史客人信息、 预订单信息以及顾客账单信息等,主要功能有: (1)查询客人信息。包括入住客人信息、预订单信息和入住历史信息; (2)查询结账单信息。包括所有已结账顾客的账单信息。 .5 消费记账模块消费记账模块 该模块记录顾客在店内的消费信息,包括餐饮、娱乐及零售商品的消费情况。该 模块需要完成的功能主要有: (1)添加顾客消费记录。主要包括:入住单号、商品名称、商品类型、购买价格、数 量和消费金额; (2)消费转单。将消费记录由一个账单转到另一个账单上; (3)消费退单。即删除消费记录,取消商品交易。 .6 退房结账模块退房结账模块 该模块实现顾客离店时的费用结算功能。可以对顾客在店期间的住宿费用及商品 消费一次性结账。主要包含以下功能: (1)收银结账。输入结账单信息,主要包括结账单号、入住单号、主客房间、顾客姓 名、公司名称、住宿费用等。同时将入住单相关记录转入入住历史中; (2)可对特殊顾客进行免单操作, “免费”账单所有费用清零,结算状态标记为“免 费” ; (3)更新客房状态。将顾客结账客房的状态由“入住”改为“空闲” 。 .7 营业状况统计模块营业状况统计模块 该模块可查询指定时间段内的营业情况,包括客房收入、各种商品销售数量、总 销售金额等,可为酒店管理人员的经营决策提供参考依据。 .8 客房信息设置模块客房信息设置模块 该模块实现对酒店客房信息进行管理,设置客房名称、类型、数量等信息。系统 需要完成的功能主要有: (1)客房类型的输入、更新和删除,包括类型名称、客房价格和备注; (2)客房信息的输入、更新和删除,包括客房编号、类型名称、客房位置、室内电话、 客房状态、客房描述、单据编号、备注信息。 .9 商品信息设置模块商品信息设置模块 该模块实现对商品信息的管理,设置商品类别和库存信息。该模块的功能主要有: (1)商品类型的输入、更新和删除,包括类型编号、商品类型和是否需要服务生服务; (2)商品信息的输入、更新和删除,包括商品编号、商品名称、商品类别、商品价格 和商品库存数量。 .10 房态管理模块房态管理模块 一般系统可自动管理客房状态,而在该模块中可查询或手动修改客房状态。系统 需要完成的功能主要有: (1)查看客房状态。一般的客房状态包括:空闲、预订、入住、自用、维修等; (2)客房状态修改。可手动将客房状态从一个状态转变为另一个状态。 .11 用户管理模块用户管理模块 该模块实现用户信息管理,系统将用户分为超级用户和普通用户两级权限。只有 超级用户才能使用该模块,普通用户无此权限。该模块主要完成添加、修改和删除用 户信息的功能,包括用户名称、密码、用户权限和当前状态。 .12 数据库维护模块数据库维护模块 数据库的维护对于本系统至关重要,通过对于数据库的清理、备份和还原,既可 使系统的维护工作更加简单易用,又可使系统能够更加安全可靠的运行。其主要功能 如下: (1)清除指定时间段内或所有营业数据,包括单据信息、消费记录和入住历史信息等; (2)清空所有数据库表,即删除所有数据,包括客房信息; (3)备份和还原数据库,将数据库备份到用户指定的路径或从指定的路径还原数据库。 .13 系统日志模块系统日志模块 系统日志记录用户对于系统数据的添加、修改和删除操作,如客房信息设置、商 品信息设置和房态设置等,而不记录用户一般性的营业操作,如登记入住、客房预订 等。 5.25.2 系统流程图系统流程图 通过对系统功能的分析,可得到用户操作的一般流程,如图 5-2 所示。用户登录 系统时,系统将根据用户权限对其进行相应的功能限制。一般普通用户可拥有前台登 记、收银结账以及对商品和客房信息进行查询和设置的权限;而超级用户除拥有普通 用户的所有权限外,还可进行系统用户设置、数据库维护和查看系统日志。 图图 5-25-2 系统流程图系统流程图 第六章第六章 数据库设计数据库设计 6.16.1 数据库需求分析数据库需求分析 酒店管理系统需要提供信息的查询、添加、修改以及删除等功能。这就要求数据 库能充分满足各种信息的输出和输入。通过对上述系统功能的分析,根据酒店管理系 统的需求,总结出如下的需求信息: 1.每个客房都有唯一的客房编号; 2.每个客房只属于一种已存在的客房类型,否则为空; 3.每种客房类型下可有多个房间; 4.如果一个客房类型下存在客房,则该类型不可删除; 5.每条入住单下可以有多个客房; 6.每条入住单下可以有多条消费记录; 7.每条消费记录只属于一条入住单; 8.每条入住单只生成一条结账单; 9.每条入住单只生成一条入住历史记录; 10.每个商品只属于一种已存在的商品类别,否则为空; 11.每种商品类别下可有多个商品; 12.如果一个商品类别下存在商品,则该类别不可删除; 13.一个商品可产生多条消费记录; 14.一条消费记录只对应一个商品。 经过对上述系统功能的分析和需求总结,设计如下数据项: 1.客房信息:客房编号、类型名称、客房位置、室内电话、客房状态、客房描述、 据编号、备注信息。 2.客房类型:类型名称、客房价格、备注。 3.商品信息:商品编号、商品名称、商品类别、商品价格、库存数量、进货标记。 4.商品类别:类别编号、商品类别、是否需要服务生服务。 5.消费记录:记录编号、入住单号、商品名称、商品类别、购买价格、购买数量、 消费金额、购买日期。 6.入住单:入住单号、顾客姓名、顾客类型、顾客来源、证件类型、证件号码、 性别、公司名称、联系电话、顾客人数、主房编号、类型名称、客房价格、入住价格、 折扣比例、预收金额、抵店时间、预住天数、备注。 7.预订单:预订单号、顾客姓名、顾客类型、顾客来源、公司名称、联系电话、 预订房数、预订日期、预抵时间、保留时间、备注。 8.结账单:结账单号、入住单号、顾客姓名、公司名称、客房编号、抵店时间、 离店时间、住宿费用、消费金额、应收金额、预收金额、实收金额、结算状态、是否 开票、备注信息。 9.入住历史:入住单号、顾客姓名、性别、顾客类型、顾客来源、顾客人数、证 件类型、证件号码、公司名称、联系电话、主房编号、类型名称、客房价格、入住价 格、折扣比例、预收金额、抵店时间、备注信息、离店时间。 6.26.2 概念结构设计概念结构设计 概念设计用于信息世界的建模,是现实世界到信息世界的第一层抽象。一般采用 实体-联系方法,即 E-R 图。根据数据库需求分析规划出的实体有:客房类型实体、客 房信息实体、商品信息类别实体、商品实体、消费记录实体、入住单实体、预订单实 体、结账单实体和入住历史实体等。各个实体具体的实体属性图如下: 图图 6-16-1 客房类型实体属性图客房类型实体属性图 图图 6-26-2 客房信息实体属性图客房信息实体属性图 图图 6-36-3 商品类别实体属性图商品类别实体属性图 客房类型 客房价格 类型名称 备注 商品信息 进货标记 商品名称 商品价格 商品类别商品编号 库存数量 商品类别 商品类别 是否需要服务生服务 类别编号 客房信息 类型名称 客房编号 客房位置 室内电话 客房描述 单据编号 备注信息 客房状态 图图 6-46-4 商品信息实体属性图商品信息实体属性图 图图 6-56-5 消费记录实体属性图消费记录实体属性图 图图 6-66-6 入住单实体属性图入住单实体属性图 在入住单实体中主要包括以下属性:入住单号、顾客姓名、顾客类型、顾客来源、 证件类型、证件号码、性别、公司名称、联系电话、顾客人数、主房编号、类型名称、 客房价格、入住价格、折扣比例、预收金额、抵店时间、预住天数、备注等。 图图 6-76-7 预订单实体属性图预订单实体属性图 在预订单实体中主要包括以下属性:预订单号、顾客姓名、顾客类型、顾客来源、 公司名称、联系电话、预订房数、预订日期、预抵时间、保留时间、备注等。 入住单 证件类型 顾客姓名 入住价格 抵店时间 预住天数 入住单号 预订单 顾客类型 顾客姓名 预抵时间 保留时间 预订日期 预订单号 结账单号 消费记录 记录编号 顾客姓名 商品类别 商品名称 入住单号 购买价格 购买数量消费金额 图图 6-86-8 结账单实体属性图结账单实体属性图 在结账单实体中主要包括以下属性:结账单号、入住单号、顾客姓名、公司名称、 客房编号、抵店时间、离店时间、住宿费用、消费金额、应收金额、预收金额、实收 金额、结算状态、是否开票、备注信息等。 图图 6-96-9 入住历史实体属性图入住历史实体属性图 在入住历史实体中主要包括以下属性:记录编号、入住单号、顾客姓名、顾客类型、 顾客来源、证件类型、证件号码、性别、公司名称、联系电话、顾客人数、主房编号、 类型名称、客房价格、入住价格、折扣比例、预收金额、抵店时间、离店时间、备注 信息等。 通过对各个实体及其属性的描述,我们进一步得到各实体之间的 E-R 图,如图 6- 10 所示。 结账单 顾客姓名 入住单号 消费金额 离店时间 结算状态 入住历史 顾客姓名 入住单号 号 入住价格 离店时间 折扣比例 记录编号 图图 6-106-10 实体实体 E-RE-R 图图 6.36.3 逻辑结构设计逻辑结构设计 根据数据库概念结构设计,将数据库概念结构转化为 SQL Server 2000 所支持的实 际数据模型,即数据库的逻辑结构。其各个数据库表的设计结果如下: 表表 6-16-1 客房类型表客房类型表 列名数据类型可否为空是否主键说 明 类型名称Varchar(20) NOT NULL 是客房类型名称 客房价格 Money(8)NULL 不同类型客房单价 备注 Varchar(80)NULL 不同类型客房单价 表表 6-26-2 客房信息表客房信息表 列名数据类型可否为空是否主键说 明 客房编号 Varchar(12)NOT NULL 是客房编号 类型名称Varchar(20) NOT NULL 客房类型名称 客房位置Varchar(20) NULL 客房所在位置 室内电话Numeric(9) NULL 客房电话 客房状态Varchar(10) NULL 客房状态 客房描述Varchar(100) NULL 客房环境描述 入住单 记账 消费记录 入住 预订单 M1 1 1 离店 客房信息 1 1 结账单 1 1 商品信息 生成 1 P 入住历史 更新 1 结账 客房类型 属于 1 商品类别 属于 1 1 M N N N 单据编号Varchar(20) NULL 单据标记 备注信息Varchar(120) NULL 客房备注信息 表表 6-36-3 入住单表入住单表 列名数据类型可否为空是否主键说 明 入住单号Varchar(20) NOT NULL 是入住单编号 主客姓名Varchar(30) NULL 顾客姓名 顾客类型Varchar(10) NULL 顾客类型 顾客来源Varchar(20) NULL 区分顾客性质 证件类型Varchar(10) NULL 证件类型 证件号码Varchar(30) NULL 身份证件编号 性别Varchar(4) NULL 顾客性别 公司名称Varchar(50) NULL 顾客所在公司名称 联系电话 Numeric(9)NULL 顾客联系电话 顾客人数 Int(4)NULL 顾客入住人数 主房编号Varchar(12) NULL 主客的房间编号 类型名称 Varchar(20)NULL 主客房间的类型 客房价格 Money(8)NULL 客房预定价格 入住价格 Money(8)NULL 顾客实际入住价格 折扣比例 Decimal(4,2)NULL 客房预定价格的折扣 预收金额 Money(8)NULL 押金 抵店时间Datetime(8) NULL 顾客到达时间 预住天数 Int(4)NULL 顾客预定入住天数 备注 Varchar(80)NULL 备注信息 表表 6-46-4 预订单表预订单表 列名数据类型可否为空是否主键说 明 预订单号Varchar(20) NOT NULL 是预订单编号 顾客姓名Varchar(30) NULL 顾客姓名 顾客类型Varchar(10) NULL 顾客类型 顾客来源Varchar(20) NULL 区分顾客性质 公司名称Varchar(50) NULL 顾客所在公司名称 联系电话 Numeric(9)NULL 顾客联系电话 预订房数 Int(4)NULL 预订房间数量 预订日期 Datetime(8)NULL 预订客房的日期 预抵时间 Datetime(8)NULL 预定抵达时间 保留时间 Datetime(8)NULL 客房保留的最后时间 备注Varchar(80) NULL 备注信息 表表 6-56-5 结账单表结账单表 列名数据类型可否为空是否主键说 明 结账单号 Varchar(20) NOT NULL 是结帐单编号 入住单号 Varchar(20) NOT NULL 入住单编号 顾客姓名Varchar(30) NULL 顾客姓名 公司名称Varchar(50) NULL 顾客所在公司名称 客房编号 Varchar(12) NULL 主客的房间编号 抵店时间Datetime(8) NULL 顾客到达时间 离店时间Datetime(8) NULL 顾客退房离店时间 住宿费用 Money(8)NULL 住宿费用 消费金额 Money(8)NULL 顾客在店内的消费金额 应收金额 Money(8)NULL 应收金额 预收金额 Money(8)NULL 已收押金 实收金额 Money(8)NULL 实收金额 结算状态Varchar(10) NULL 结算状态 是否开票 Bit(8)NULL 是否打印单据 备注信息Varchar(100 ) NULL 备注信息 表表 6-66-6 商品信息表商品信息表 列名数据类型可否为空是否主键说 明 商品编号Varchar(10) NOT NULL 是商品编号 商品名称Varchar(30) NOT NULL 商品名称 商品类别Varchar(20) NULL 商品类别 商品价格 Money(8)NULL 商品预设价格 库存数量 Int(4)NULL 商品库存数量 表表 6-76-7 入住历史入住历史 列名数据类型可否为空是否主键说 明 记录编号 Int(4)NOT NULL 是入住历史记录编号 入住单号Varchar(20) NOT NULL 入住单编号 顾客姓名Varchar(30) NULL 顾客姓名 顾客类型Varchar(10) NULL 顾客类型 顾客来源Varchar(20) NULL 顾客来源 证件类型Varchar(10) NULL 证件类型 证件号码Varchar(30) NULL 身份证件编号 性别Varchar(4) NULL 顾客性别 公司名称Varchar(50) NULL 顾客所在公司名称 联系电话 Numeric(9)NULL 顾客联系电话 顾客人数 Int(4)NULL 顾客入住人数 主房编号Varchar(12) NULL 主客的房间编号 类型名称 Varchar(20)NULL 主客房间的类型 客房价格 Money(8)NULL 客房预定价格 入住价格 Money(8)NULL 顾客实际入住价格 折扣比例 Decimal(4,2)NULL 客房预定价格的折扣 预收金额 Money(8)NULL 押金 抵店时间Datetime(8) NULL 顾客到达时间 离店时间Datetime(8) NULL 顾客退房离店时间 备注 Varchar(80)NULL 备注信息 表表 6-86-8 商品类别表商品类别表 列名数据类型可否为空是否主键说 明 类别编号Varchar(20) NOT NULL 商品类别编号 商品类别 Varchar(20) NOT NULL 是商品类别名称 是否需要服务生Varchar(10) NULL 是否需要服务生服务 表表 6-96-9 消费记录表消费记录表 列名数据类型可否为空是否主键说 明 记录编号 Int(4)NOT NULL 是消费记录编号 入住单号 Varchar(20) NOT NULL 入住单编号 商品名称 Varchar(30) NULL 商品名称 商品类别Varchar(20) NULL 商品类别 购买价格Money(8) NULL 商品购买价格 购买数量 Int(4)NULL 商品购买数量 消费金额Money(8) NULL 消费金额 购买日期Datetime(8) NULL 顾客消费时间 表表 6-106-10 用户信息表用户信息表 列名数据类型可否为空是否主键说 明 用户名称Varchar(30) NOT NULL 是系统用户名称 用户密码 Varchar(20) NULL 系统用户密码 用户权限 Varchar(10) NOT NULL 用户权限级别 当前状态Varchar(10) NOT NULL 用户状态 表表 6-116-11 系统日志系统日志 列名数据类型可否为空是否主键说 明 操作时间Datetime(8) NOT NULL 是系统用户操作时间 用户名称 Varchar(30) NULL 系统用户名称 内容摘要 Varchar(20) NULL 操作内容摘要 操作内容Varchar(80) NULL 系统用户操作情况 6.46.4 创建触发器创建触发器 本系统在入住单表中使用了一个触发器,实现的功能是进行入住单表记录删除操作 的同时,将要删除的信息添加到入住历史中去。创建触发器如下: CREATE trigger RZD_RZLS on 入住单表 for delete as begin insert into 入住历史(入住单号,顾客姓名,性别,顾客类型,顾客来源,顾客人数,证件类型,证件号码, 公司名称,联系电话,主房编号,类型名称,客房价格,入住价格,折扣比例,预收金额,抵店时间,备注信息, 离店时间) select 入住单号,顾客姓名,性别,顾客类型,顾客来源,顾客人数,证件类型,证件号码,公司名称,联系 电话,主房编号,类型名称,客房价格,入住价格,折扣比例,预收金额,抵店时间,备注,离店时间=getdate() from deleted end 第七章第七章 系统详细设计与实现系统详细设计与实现 7.17.1 公共数据模块设计公共数据模块设计 用公共模块来存放整个系统中公用的函数、全局变量等,使系统中的任何窗体模 块都可以调用其中的函数、变量,可极大地提高系统开发的效率和代码重复利用率。 在本系统中就创建了几个这样的模块。例如模块 DataUpdate.vb,它可实现对数据 库的连接,并可对数据库表中的数据进行更新操作。其具体代码如下: Imports System.Data.SqlClient 命名空间,声明包含对Sql Server数据库的连接 Module DataUpdate Public UserName As String 用户名 Dim comstr As String Dim sqlcon As SqlConnection = New SqlConnection(“server=localhost;database=HMIS;uid=sa;pwd=;“) 建立连接命令 Public Function XTRZ(ByVal NRZY As String, ByVal CZNR As String) As Integer sqlcon.Open() 打开连接 comstr = “insert into 系统日志 (操作时间,用户名称,内容摘要,操作内容) VALUES (“ database=HMIS;uid=sa;pwd=;“) Private Sub btnBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackup.Click strsql = “backup database HMIS to disk=“ & txtBackupPath.Text & “ com = New SqlCommand(strsql, con) con.Open() com.ExecuteNonQuery() con.Close() MsgBox(“数据库备份成功!“, , “操作成功“) End Sub 点击还原按钮,系统进行数据库的还原操作。代码如下: Private Sub btnRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestore.Click strsql = “restore database HMIS from disk=“ & txtRestorePath.Tex & “ com = New SqlCommand(strsql, con) con.Open() SqlConnection.Cl

温馨提示

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

评论

0/150

提交评论