酒店管理系统毕业设计_第1页
酒店管理系统毕业设计_第2页
酒店管理系统毕业设计_第3页
酒店管理系统毕业设计_第4页
酒店管理系统毕业设计_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

1、. . . . 酒店管理系统毕业设计摘 要本文主要介绍了“荣丰酒店管理系统”的项目背景和意义,着重阐述了该系统开发实现过程,从系统分析、系统设计、系统实现、软件测试、详细设计到系统测试等各个环节都进行了详尽的分析和描述。本文还简略的介绍了主要的开发工具C#和SQL数据库的功能特性。传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。随着社会的的不断进步,宾馆酒店业的竞争也愈来愈激烈,要想在竞争中取得优势,必须在经营管理、产品服务等方面提高管理意识。如何利用先进的管理手段,提高客房的管理水平,是每一个宾馆管理者所面临的重大问题。 本系统采用C#语言编辑,实现了与windows操作系

2、统良好的兼容性,通过代码与SQL语言实现了客房查询功能、客户查询功能、入住登记功能、续费管理功能、退房管理功能、每日结算功能、结算报表功能、房间基本信息修改功能、权限用户修改与房间价格调整功能。通过这样的系统,我们可以做到信息的规管理和快速查询,实现了客房信息管理的系统化、规化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本,以应付当今日趋激烈的竞争环境。关键字:荣丰酒店管理系统;C#;SQLAbstractAs society progresses, the hotel industry increasingly fierce competition, in order

3、to gain advantage in the competition must be in management, products, services and so improve the management awareness. How to make use of advanced management tools to improve the management level rooms, a hotel manager every face major problems.Traditional hand-rooms in the management of the proces

4、s tedious and complicated, inefficient and error-prone. Through such a system, we can do the standard management of information and quick queries, information management realized the room systematic, standardized and automated, so that the management not only reduces the workload, but also improve m

5、anagement efficiency and reduce management costs.This article briefly describes the Rongfeng hotel management system project background and significance, focusing on the implementation of the system development process, from system analysis, system design, system implementation, software testing, de

6、tailed design to system testing carried out in all aspects of a detailed analysis and description. This article also briefly introduced the main development tools, C #, and SQL database features.Keyword:Rongfeng hotel management system; C #; SQL69 / 74目 录引言11 基础知识21.1 C#语言21.2 SQL Server数据库介绍32 系统分析

7、52.1 开发背景与意义52.2 可行性研究52.3 功能需求62.3.1 用例分析62.3.2 概念类描述92.3.3 行为描述112.4 性能需求112.4.1 响应时间112.4.2 吞吐量112.4.3 并发用户数132.4.4 资源利用率132.5 环境需求132.5.1 硬件环境132.5.2 软件环境133 系统设计133.1 系统结构设计133.1.1 软件设计的原则133.1.2 系统层次结构133.2 设计阶段类图133.3 数据库设计133.3.1 数据库概念设计133.3.2 数据库逻辑设计133.4 人机界面设计133.4.1 人机界面设计指南133.4.2 用户界面

8、设计133.5 系统详细设计133.5.1 入住登记PAD图133.5.2 房间查询PAD图133.5.3 退房管理PAD图134 系统实现134.1 语言选择原因134.2 软件开发环境134.3 系统功能实现134.3.1 管理员登录134.3.2 空余房间查询134.3.3 客户查询134.3.4 入住登记134.3.5 退房操作134.3.6 今日结算134.3.7 结算报表134.3.8 酒店基本信息管理135 软件测试135.1 测试计划的制定135.1.1 调试计划的整体目标135.1.2 定义软件测试的标准135.1.3 测试实施策略的制定135.1.4 软件测试管理流程135

9、.1.5 测试计划的要点135.2 测试的基础135.2.1 测试的目标135.2.2 白盒测试和黑盒测试135.2.3 测试的准则135.3 测试用例设计135.3.1 等价类测试用例设计135.3.2 边界值测试用例设计135.3.3 功能图法测试用例设计135.4 软件可靠性135.4.1 基本定义135.4.2 估算平均无故障时间的方法135.4.3 MTTF和ASS的估算13结论13致13参考文献13附录13附录A JSP Introduction13附录B JSP介绍13附录C 程序主要代码13引 言当今时代的两个显著特点就是世界经济一体化和以计算机为代表的信息技术的快速发展。一个

10、组织要在激烈的竞争中保持优势和不断发展,必须对迅速变化的环境灵敏地做出有效地反应。管理信息系统的应用能够提供这种有效的决策支持。系统效能,是预期一个系统满足一组特定任务的程度的量度。它是系统综合性能的反映,是系统的整体属性。效能评估,就是要对系统进行综合分析,把系统的各项性能与任务要求综合比较,最终得到表示系统的优劣程度的结果。荣丰酒店管理系统的效能,可以细分为系统的自身效能和应用效能。自身效能是酒店管理系统本身固有的性能,它体现了系统本身的完备性;应用效能是酒店管理系统在应用过程中体现的效能,是通过对信息的搜集、传输和处理对平时有利作用的程度。信息管理的过程包括信息收集、信息传输、信息加工和

11、信息储存。信息收集就是对原始信息的获取。信息传输是信息在时间和空间上的转移,因为信息只有与时准确地送到需要者的手中才能发挥作用。信息加工包括信息形式的变换和信息容的处理。信息的形式变换是指在信息传输过程中,通过变换载体,使信息准确地传输给接收者。信息的容处理是指对原始信息进行加工整理,深入揭示信息的容。信息送到使用者手中,有的并非使用完后就无用了。信息系统从技术上说就是为了支持决策和组织控制而收集(或获取)、处理、存储、分配信息的一组相互关联的组件。除了支持决策、协作和控制,信息系统也可用来帮助经理和工人分子问题,使复杂性可视化,以与创造新的产品,从商业角度看,一个信息系统是一个用于解决环境提

12、出的挑战的,基于信息技术的组织管理方案。我们用“信息系统”这个词时,特指依赖于计算机技术的信息系统。一个基于计算机的信息系统是以计算机软件、硬件、存储和电信等技术为核心的人机系统。酒店管理系统主要是从酒店日常管理入手,严格的遵守系统的效能,是一个结构复杂、功能强大的管理信息系统。酒店部的基本信息、入住、退房和结算、房间基本信息的管理是一项重要的任务。本系统中将引入管理信息系统对酒店的基本信息、入住、退房和结算、房间基本信息进行管理,可以方便管理员对酒店信息的查询,简化了酒店管理的统计计算,从而真正减少管理员日常的工作量,使管理人员轻松、快捷、高效、高质量的完成各项工作。1 基础知识1.1 C#

13、语言C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角1。 1C#介绍C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,现在很多非专业一般读C

14、井。C#是一种安全的、稳定的、简单的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言2。并且C#成为ECMA与ISO标准规。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB等。在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现.然后我将介绍C#和它与Java,c,c+的相似之处.其次我将讨论一些存在于J

15、ava和C#之间的高层次的,和基础的差别。我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.NET和C#的一个主要战略。目前,C#和.NET还只能以C#语言规则,以与Windows 2000的一个d预览版本,还有MSDN上迅速增多的文档集子的形式获得(还没有最终定型)。2泛型编程介绍微软本打算继续保证开发进度,并在2004年推出Visual Studio .NET 2004,但由于其间软件工程学尤其是软件管理学的大规模进步,微软所提供的这种仅具备开发和调试功能的IDE已经无法满足团队开发的需求3。因此微软决定在项目设计和管理工具方面进行了进

16、一步研发,并将其集成到Visual Studio中,以赢回原有的市场。因此,微软将Visual Studio.NET 2004“改名”为Visual Studio 2005,并决定推迟一年发布。不过,微软还是坚持在2004年的6月份发布了Visual Studio2005的第一个Beta 版,同时向开发者展示了C#语言的2.0版本4。2005年4月,微软发布了Visual Studio 2005 Beta2,这已经是具备了几乎全部功能的VisualStudio,包括的产品有SQL Server2005、Team Foundation Server和TeamSuite。这时的C#编译器已经能够处

17、理C# 2.0中所有的新特性5。1.2 SQL Server数据库介绍SQL Server是微软公司开发的一个关系数据库管理系统,以Transact SQL的数据库查询和编程语言。T-SQL 是结构化查询语言SQL的一种,支持ANSI SQL92标准。但说起它的历史,却得从Sybase开始的。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把该产品移

18、植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、Sybase公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了用于Windows NT操作系统的SQL Server,1992年,将SQL Server移植到了Windows NT平台上6。在SQL Server 4版本发行以后,Microsoft公司和Sybase公司在SQL Server的开发方面分道扬镳,取消了合同,各自开发自己的SQL Server。Microsoft公司专注于Windows NT平台上的SQL Server开发,而Sybase公司则致力于UNIX平台上的SQL Ser

19、ver的开发。本文中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版、个人版四个版本。从SQL Server 7.0到SQL Server 2000的变化是渐进

20、的,没有从6.5到7.0变化那么大,只是在SQL Server 7.0的基础上进行了增强7。数据库技术从60年代末期至今只有不到40年的历史,但其发展速度之快是其它技术所不与的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用8。数据库通常有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括: 1据库数据间的关系。2数据存储

21、正确,定义数据间关系的规则未被违反。3系统崩溃的情况下,按照已知的一致性程度恢复所有数据。2 系统分析2.1 开发背景与意义信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用水平成为衡量一个国家综合国力的重要标志之一。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类信息系统对数据管理的要求,在文件系统的基础上发展基础数据库系统,数据库方法针对事物处理量数据管理需求。我国自从80年代上半期,国家计委统计局计算中心在第一次全国人口普查、工业普查中使用了数据库管理技术以来,随着微机管理系统的推广,数据库信息管理系统的应用逐渐展露头脚,但是也由于发展晚起步低的原因

22、和当代技术的占有独享性质,导致我国虽然在这方面发展迅速但是发展规模普遍都是中小型方向而且运作机制还很不完善。酒店管理是一项琐碎、复杂而又十分细致的工作,工作量很大,一般不允许出错,如果实行手工操作,每天须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,利用计算机进行酒店日常管理,不仅能够保证核算准确无误、快速输出,而且还可以利用计算机对有关的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极提高酒店管理的效率,也是酒店管理管理科学化、正规化,与世界接轨的重要条件。2.2 可行性研究系统的可行性研

23、究在系统的整个过程中占有很重要的地位,它决定所选项目是不是可能实现或值得去实现。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。它主要包括技术、经济、运行、法律等方面的可行性:现有技术是否能够实现本系统的设计开发;经济上是否值得去实现;是否能够在一般平台下运行等。技术可行性是指开发一个新系统所需要的技术是否具备,如支持新系统的软硬件功能以与技术人员的数量和水平。本系统是进行酒店日常管理,所以结合实际需要,经过仔细斟酌,本系统的开发过程采用的是C#+windows窗体的模式。使用SQL Server 2005作为后台数据管理系统,而在前端使用dataGridView组件来访

24、问实际的数据库,这样就基本实现了程序代码和数据库的无关性。经济可行性是评价一个计算机管理系统是否可行的最基本的一种方法,是对管理系统解决方案的成本有效性的量度。管理系统的开发是一种投资,因此对于酒店来说,首先关心的是,是否值得开发一个酒店管理系统。而在效益方面,首先关心的是,当使用了这套管理系统后,酒店日常管理的效率是否提高了,人员使用的资金是否节省了。而本系统的设计和开发事实上恰好能满足其这些要求。还有该系统对硬件的要求不高,而且由于.NET系统的可移植性,只要是装有Windows系列操作系统的计算机通过配置一般就能运行系统,所以在系统运行方面也不存在问题。运行可行性方面,酒店管理系统是酒店

25、日常操作进行统一的管理,可以简单方便高效的进行录入、查询、修改、删除、退出。随时把握酒店部的情况,为酒店日常管理管理提供了解决方案。2.3 功能需求荣丰酒店管理系统主要实现对酒店部信息的操作和管理,系统的用户是负责管理设备的管理人员,系统具有房间信息查询、入住与退房操作管理、房价调整管理、结算管理等主要功能。2.3.1 用例分析用例图主要用来图示化系统的主事件流程,它主要用来描述需求,即希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,是设计系统分析阶段的起点,设计人员根据需求来创建和解释用例图,用来描述软件应具备哪些功能模块以与这些模块之间的调用关系,用例图图符如表2.1所

26、示。表2.1 uml用例图图符可视化图符名称描述系统用来表示系统边界,所有用例放在系统之中 用例用来表示用例图中的用例 执行者用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例通过系统的功能需求分析,可得到系统的执行者为管理员、管理员添加人员和数据库系统,系统的用例为结算管理、酒店基本信息管理、入住管理、房间状态管理、续费管理和退房管理,系统总体用例图如图2.1所示。图2.1 系统总体用例图结算管理:对酒店当日与按月份的结算信息进行统计计算,如果有必要,还可以打印导出详细信息,为了能更快更准的对账目信息进行查看,可以进行账目信息详细报表,结算管理的用例图如图2.

27、2所示。图2.2 结算管理用例图酒店基本信息管理:对酒店中的所有的房间和人员信息进行添加信息、核实并修改现有信息等操作,并且可以查看房间价格信息,如果需要调整房间价格,可以进行总体修改,酒店基本信息管理用例图如图2.3所示。图2.3 酒店基本信息管理用例图入住管理:对前来入住的客户进行统一的登记。可根据要入住的房间类型,填写相应的信息并实现录入数据库。同时相应的房间信息也会跟随改变,并将本次操作的金额存入结算信息表中,以备以后核对账目,入住管理的用例图如图2.4所示。图2.4 入住管理用例图房间状态管理:可以根据选择的房间类型与房间状态信息来分类显示当前符合条件的信息记录,以便登记入住时的房间

28、状态查询之用,房间状态查询用例图如图2.5所示。图2.5 房间状态查询用例图续费管理:可以对已登记入住的客户房间进行续费操作、同时会将记录信息添加到相应的收费报表容里,以便日后核对,续费管理的用例图如图2.6所示。图2.6 续费管理用例图退房管理:可以已入住房间的基本信息,为了方便用户简化操作,退房时会自动计算用户当前所剩余金额并找零,用户管理的用例图如图2.7所示。图2.7用户管理用例图2.3.2 概念类描述类图是由若干类关联在一起,反映系统或者子系统组成结构的静态图。类图的建模贯穿工程的分析和设计阶段的始终,通常从商务伙伴能够理解的类开始建模,最终往往成为只有开发小组才能够完全理解的类。类

29、图是在面向对象的系统模型中使用得最普遍的图。类图包含了一组类、接口和协作以与其之间的关系。使用类图来为系统的静态视图建模。通常这包括模型化系统的词汇(从系统的词汇表中发现类),模型化协作,或则模型化模式。类图还是一些相关的图的基础,包括组件图、分布图。类图的重要性不仅仅体现在为系统建立可视化的、文档化的结构模型,同样重要的是构建通过正向和反向工程建立执行系统。没有类是单独存在的,类通常和别的类协作,创造比单独工作更大的语义。使用类图来表达这种协作,类图图符如表2.2所示。表2.2 类图图符可视化图符名称描述类表示具体的一个类,第一栏为类名,第二栏为类的属性,第三栏为类的方法包一种分组机制,表示

30、一个类图的集合关联表示类的对象间的关系,包括聚集关联和组成关联泛化关系描述类或包的一般元素与特殊元素之间的分类关系创建类图最好的起点是用例图,根据上面的用例图很容易确定类与其关联、属性和操作。概念类的类图如图2.8所示。图2.8 概念类类图2.3.3 行为描述系统的行为是通过对象的动作来描述的,通常可以通过顺序图来描述对象之间如何进行消息的传递。顺序图是一种动态建模方法。一般用于确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。通过观察什么消息被发送给一个对象,以与通过概略的观察运行被调用的方法需要花费多长时间,很快就能了解哪里的设计需要变化,以

31、达到在系统部平衡负荷的目的,uml顺序图图符如表2.3所示。表2.3 uml顺序图图符可视化图符名称描述带有生命线的对象用于表示顺序图中参与交互的对象激活表示在这个时间段,对象处于活动状态消息用于表示对象之间传递的消息返回消息用于表示对象之间传递的消息要绘制系统的顺序图首先要了解系统的过程,根据系统类图中的方法可以获得详细的系统过程,系统管理操作顺序图如图2.9所示。2.4 性能需求系统的性能是系统的一种非功能特性,它关注的不是系统是否能够完成特定的功能,而是在完成功能时展示出来的与时性。为了能够客观地度量系统的性能,定义了一系列的性能指标,以便于在不同情况下度量系统的性能。2.4.1 响应时

32、间响应时间是指在操作系统中,用户发出请求或者指令到系统做出反应(响应)的时间。在讨论系统的响应时间时,通常是指系统所有功能的平均响应时间或者所有功能的最大响应时间。对一个系统,其响应时间如果小于1秒应该是不错的,如果达到5秒就完全难以接受了。2.4.2 吞吐量吞吐量是指在没有帧丢失的情况下,软件能够接受的最大速率。对于无并发的系统而言,吞吐量与响应时间成严格的反比关系,实现上此时吞吐量就是响应时间的倒数。由于本系统的响应时间比较短,所以系统的吞吐量比较大。图2.9 系统管理操作顺序图2.4.3 并发用户数并发用户数是同时执行一个操作的用户,或者是同时执行脚本的用户,这个并发在设置不同场景的时候

33、并发的情况是不一样的,在实际的测试中需要根据具体的需求进行设计。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。2.4.4 资源利用率资源利用率反映的是在一段时间资源平均占用的情况。对于数量为1的资源(如CPU),资源利用率可以表示为资源被占用的时间与整段时间的比值;对于数量不为1的资源(如存),资源利用率可以表示为在该段时间平均被占用的资源数与总资源数的比值。2.5 环境需求2.5.1 硬件环境介于本软件采用的数据库连接方式而定,并不存在C/S,B/S结构,而是单一的操作端,服务端一体化结构,数据库连接方式也是默认为本地,所以本系统

34、操作端的配置如下:处理器:Inter Pentium4 2.4GHz 或更高存:256MB硬盘空间:80GB显卡:GF5200。因为操作端同时进行数据处理和操作执行,因此需要的配置应该高于下面的配置:处理器: Inter Pentium3 1.6GHz 或更高存: 128MB硬盘空间:40GB显卡: MX440。2.5.2 软件环境操作端要求如下:操作系统:Windows 2000 Server或更高版本Windows网络协议:TCP/IP系统软件:Microsoft Visual Studio 2005或更高版本数据库: Mircrosoft SQLserver2005应用软件:Micros

35、oft Office2003或更高版本3 系统设计3.1 系统结构设计3.1.1 软件设计的原则1模块化模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。下面五条标准可以评价一种设计方法定义有效的模块系统的能力。(1)模块可分解性如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。(2)模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。(3)模块可理解性如果可以把一

36、个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。(4)模块连续性如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。(5)模块保护性如果在一个模块出现异常情况时,它的影响局限在该模块部,则由错误引起的副作用将最。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。2抽象人类在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面。把这些相似的

37、方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。3逐步求精逐步求精是人类解决复杂问题时采用的基本技术,是许多软件工程技术的基础。可把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。”求精实际上是细化过程。要从在高抽象级别定义的功能述(或信息描述)开始。求精要求设计者细化原始述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。4信息隐藏应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。3.1.2 系

38、统层次结构HIPO图是IBM公司发明的“层次图加输人/处理/输出图”的英文缩写。它既可以描述软件总的模块层次结构H图(层次图),又可以描述每个模块输入/输出数据/处理功能与模块调用的详细情况IPO图(也称IPO表)。HIPO图以模块分解的层次性以与模块部输入、处理、输出三大基本部分为基础建立的。本系统的最顶层的矩形框代表酒店管理系统的主控模块,调用下层模块以完成全部管理功能;第二层的每个模块控制完成系统的一个主要功能,如此实现自顶向下逐步求精,系统的H图如图3.1所示。图3.1 系统的H图H图只说明了系统由那些模块组成与其控制层次结构,并未说明模块间的信息传递与模块部的处理。因此对一些重要模块

39、还必须根据H图绘制具体的IPO表。用户和管理人员可利用IPO表编写、修改和维护程序。IPO表中包含的附加信息主要有系统名称、图的作者,完成的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单、注释以与本模块使用的局部数据元素等。房间查询的上层调用模块为客房管理,没有下层模块可调用,房间查询的IPO表如表3.1所示。表3.1房间查询的IPO表系统名称:荣丰酒店管理系统设计者:唐睿模块名:房间查询日期:2009-11-20模块编号:1.1上层调用模块:客房管理下层被调用的模块:无输入数据:要查询的房间信息输出数据:查询得到的结果处理:根据查询的信息判断库

40、中是否有相应的记录,如果有则显示查询的结果客户查询的上层调用模块为客房管理,没有下层模块可调用,客户查询的IPO表如表3.2所示。表3.2客户查询的IPO表系统名称:荣丰酒店管理系统设计者:唐睿模块名:客户查询日期:2009-11-20模块编号:1.2上层调用模块:客房管理下层被调用的模块:无输入数据:要查询的客户信息输出数据:查询得到的结果处理:判断修改信息的合法性,查询成功后显示查询的结果3.2 设计阶段类图在系统分析阶段,已经找出了主要的概念类和类的方法、类间的关系。到了系统设计阶段,需要从软件系统的角度来重新设计类图。分析阶段的类到了设计阶段有的可能变成一组类,有的可能消失。分析阶段的

41、类图主要是用来描述现实世界中的问题;而设计阶段的类图主要是对解决方案进行描述。因此设计阶段的类图描述了软件的系统结构。创建设计类图的过程包括以下几步:1识别设计阶段出现的类,为这些类添加属性和方法。2建立类间关系,最终完成对属性和方法的细节描述。系统设计阶段的类图如图3.2所示。图3.2 系统设计阶段的类图3.3 数据库设计3.3.1 数据库概念设计1.EnterUser表:存储操作员的基本信息。2.Room表:存储酒店客房的基本信息。3.Customer表:存储入住客户的基本信息。4.Balance表:存储酒店日常账目的基本信息。3.3.2 数据库逻辑设计EnterUser表是用来存放操作员

42、的详细信息的数据表,里面存有不同级别的用户,可以在系统中实现不同的功能操作,容如表3.3所示。表3.3 EnterUser表字段字段名类型长度允许空备注用户名称UserNamechar10N主键用户密码UserPwdchar8N用户权限UserPowernchar4NRoom表包括房间编号、房间类型、入住日期、退房日期等其他有关房间信息的一切特征信息。由于和很多容相互关联,所以合并为一个数据表,容如表3.4所示。表3.4 Room表字段字段名类型长度允许空备注房间编号RIDchar3N房间类型RTypenchar3N入住日期RFromDatedatetime19Y到期时间RToDatedate

43、time19Y房间状态RStatusnchar3N是否含有早餐RBreakfastnchar1N房间价格RPricesmallmoney12N已付押金RDepositsmallmoney12NCustomer表是用来存放酒店登记入住客户人员的数据表,也就是当有客人入住本酒店时客人的身份信息将会保存在此表中,而退房离开时自动在此表中消除相应的客户记录,容如表3.5所示。表3.5 Customer表字段字段名类型长度允许空备注房间编号RIDchar3Y客户CNamenchar4Y客户性别CGendrnchar1Y客户证件号CIDchar18YBalance表是用来存所有有关金额操作记录的数据表,当

44、用户进行退房,入住,续费等操作时,将会自动保存在该表中,容如表3.6所示。表3.6 Balance表字段字段名类型长度允许空备注金额日期BDatedatetime19N收入金额BEarningsmallmoney12N支出金额BPayoutsmallmoney12N房间编号BRoomchar3N3.4 人机界面设计3.4.1 人机界面设计指南用户界面设计主要依靠设计者的经验。总结众多设计者的经验而得出的设计指南,有助于设计者设计出友好、高效的人机界面。人机界面的设计过程可分为以下几个步骤:1. 创建系统功能的外部模型设计模型主要是考虑软件的数据结构、总体结构和过程性描述,界面设计一般只作为附属

45、品,只有对用户的情况(包括年龄、性别、心理情况、文化程度、个性、种族背景等)有所了解,才能设计出有效的用户界面;根据终端用户对未来系统的假想(简称系统假想)设计用户模型,最终使之与系统实现后得到的系统映象(系统的外部特征)相吻合,用户才能对系统感到满意并能有效的使用它;建立用户模型时要充分考虑系统假想给出的信息,系统映象必须准确地反映系统的语法和语义信息。总之,只有了解用户、了解任务才能设计出好的人机界面。2. 确定为完成此系统功能人和计算机应分别完成的任务任务分析有两种途径。一种是从实际出发,通过对原有处于手工或半手工状态下的应用系统的剖析,将其映射为在人机界面上执行的一组类似的任务;另一种

46、是通过研究系统的需求规格说明,导出一组与用户模型和系统假想相协调的用户任务。逐步求精和面向对象分析等技术同样适用于任务分析。逐步求精技术可把任务不断划分为子任务,直至对每个任务的要求都十分清楚;而采用面向对象分析技术可识别出与应用有关的所有客观的对象以与与对象关联的动作。3. 考虑界面设计中的典型问题设计任何一个机界面,一般必须考虑系统响应时间、用户求助机制、错误信息处理和命令方式四个方面。系统响应时间过长是交互式系统中用户抱怨最多的问题,除了响应时间的绝对长短外,用户对不同命令在响应时间上的差别亦很在意,若过于悬殊用户将难以接受;用户求助机制宜采用集成式,避免叠加式系统导致用户求助某项指南而

47、不得不浏览大量无关信息;错误和警告信息必须选用用户明了、含义准确的术语描述,同时还应尽可能提供一些有关错误恢复的建议。此外,显示出错信息时,若再辅以听觉(铃声)、视觉(专用颜色)刺激,则效果更佳;命令方式最好是菜单与键盘命令并存,供用户选用。4. 借助CASE工具构造界面原型真正实现设计模型软件模型一旦确定,即可构造一个软件原形,此时仅有用户界面部分,此原形交用户评审,根据反馈意见修改后再交给用户评审,直至与用户模型和系统假想一致为止。一般可借助于用户界面工具箱(Userinterfacetoolkits)或用户界面开发系统(Userinterfacedevelopmentsystems)提供

48、的现成的模块或对象创建各种界面基本成分的工作。3.4.2 用户界面设计本系统的管理员在使用该系统时,首先要通过管理员登录模块对身份进行验证,当确认和法后可进入系统的主界面。系统主界面要提供包括信息查询、入住与退房、结算、报表、酒店基本信息管理、帮助等模块的。每个模块都具有自己的页面和功能,根据人机界面设计指南和模块功能可以设计用户界面。由于系统的用户界面众多,不可能将所有的用户界面都进行简介,为了能看到直观的用户界面,在此仅以用户主界面、入住登记界面、结算报表等为例,进行简介。系统管理员通过管理员登录界面输入相应信息,系统对其身份进行验证,验证合法后便可以进入到系统的主界面。系统主界面如图3.

49、3所示。图3.3 系统主界面在系统的主界面中可以看到信息查询、入住与退房、结算、报表、酒店基本信息管理、帮助等菜单操作界面,入住登记的用户界面如图3.4所示。图3.4 入住登记界面在系统的主界面中可以看到报表模块,在报表模块中可以对结算进行报表操作,结算报表的用户界面如图3.5所示。图3.5 结算报表界面3.5 系统详细设计程序员根据这个蓝图写出实际的代码。因此,过程设计的结果基本上决定了最终的程序代码的质量。过程设计的任务不是具体地编写程序,而是要设计出程序的“蓝图”,在软件的生命周期中,实际上对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要

50、看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是过程设计的逻辑基础。PAD 是问题分析图(Problem Analysis Diagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,是一种用结构化程序设计思想表现程序逻辑结构的图形工具,将这种图翻译成程序代码比较容易。PAD图的主要优点如下:(1)使用表示结构化控制的PAD符号所设计出来的程序必然是结构化程序。(2)PAD图描述的程序结构十分清晰。图中最左面的竖线

51、是程序的主线,即第一层结构。随着程序层次增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线,PAD图中竖线的总条数就是程序的层次数。(3)用 PAD 图表现程序逻辑易读、易懂、易记。 PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左到右顺序执行,遍历所有结点。(4)有利于提高软件的可靠性和软件生产率。容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可以省去人工编码的工作,有利于提高软件的可靠性和软件生产率。(5)既可用于表示程序逻辑,也可用于描述数据结构。(6)PAD 图的符号支持自顶向下、逐步求精方法的使用。开始设计者可以

52、定义一个抽象的程序,随着设计工作的深入而使用 def 符号逐步增加细节,直至完成详细设计。本系统的功能模块有客房查询查询、入住登记、退房管理、每日结算、结算报表、客户查询、房间基本信息管理、价格调整等。每一个模块又包含有自己的子模块,并具有其相应的功能。由于系统的功能模块众多,在此不能对每个模块都设计其PAD图,所以仅以入住登记操作、房间查询操作、退房管理操作的PAD图来进行说明。3.5.1 入住登记PAD图用户经过登录模块验证成功后可以进行入住登记模块操作,在用户进行入住登记时要输入正确的房间的信息,系统对库存中的记录进行遍历,查询正确后才能进行入住登记的操作入住登记的E-R图如图3.6所示

53、。查询是否存在输入房间名查询登记信息While(True)提示信息有误登记返回主窗体图3.6 入住登记PAD图3.5.2 房间查询PAD图用户进行房间查询操作时,首先要填写相应的查询条件信息,系统会根据调选择的条件来筛选数据表中符合条件的记录显示,房间查询的PAD图如图3.7所示。查询是否存在输入查询条件记录存在While(True)提示信息不存在查询显示继续查询或其它操作图3.7 房间查询用PAD图3.5.3 退房管理PAD图用户进行退房操作时,首先要验证房间信息是否为“已入住”,如果为真的话,将执行退房操作并计算找零功能,退房操作的PAD图如图3.8所示。查询是否已住输入房间号查询显示Wh

54、ile(True)提示信息有误退房并找零返回主界面图3.8 退房管理PAD图4 系统实现4.1 语言选择原因本系统在实现系统功能时使用的是C#语言。C#语言具有许多先进的特性,也正是因为其有这些特性所以才选择用C#语言来开发本系统,C#的特点如下:1简洁的语法在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C+中被疯狂使用的操作符(例如:“:”、“-”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。C#用真正的关键字换掉了那些把活动模板库(Acti

55、ve Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。语法中的冗余是C+中的常见的问题,比如const和#define、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。2精心地面向对象设计C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对

温馨提示

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

评论

0/150

提交评论