1、摘 要本文主要介绍了“*酒店管理系统”的项目背景和意义,着重阐述了该系统开发实现过程,从系统分析、系统设计、系统实现、软件测试、详细设计到系统测试等各个环节都进行了详尽的分析和描述。本文还简略的介绍了主要的开发工具C#和SQL数据库的功能特性。传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。随着社会的的不断进步,宾馆酒店业的竞争也愈来愈激烈,要想在竞争中取得优势,必须在经营管理、产品服务等方面提高管理意识。如何利用先进的管理手段,提高客房的管理水平,是每一个宾馆管理者所面临的重大问题。 本系统采用C#语言编辑,实现了与windows操作系统良好的兼容性,通过代码及SQL语言实
2、现了客房查询功能、客户查询功能、入住登记功能、续费管理功能、退房管理功能、每日结算功能、结算报表功能、房间基本信息修改功能、权限用户修改及房间价格调整功能。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本,以应付当今日趋激烈的竞争环境。 关键字:*酒店管理系统;C#;SQLAbstractAs society progresses, the hotel industry increasingly fierce competition, in order to gain advantage
3、 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 process tedious and com
4、plicated, 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 management efficie
5、ncy 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, detailed design to
6、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.Key word: Rongfeng hotel management system; C #; SQL66目 录引 言11 基础知识21.1 C#语言21.2 SQL Server数据库介绍32 系统分析52.1 开发背景及意义52.2 可行
7、性研究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 用户界面设计133.5 系统详细设计133.5
8、.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.1.5 测试计划的要点135.2 测
9、试的基础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#语言C#是微软公司发布的
13、一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角1。 1C#介绍C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,现在很多非专业一般读C井。C#是一种安全的、稳
14、定的、简单的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言2。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB等。在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现.然后我将介绍C#和它与Java,c,c+的相似之处.其次我将讨论一些存在于Java和C#之间的高层
15、次的,和基础的差别。我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.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#编译器已经能够处理C# 2.0中所有的
17、新特性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公司把该产品移植到OS/2上。后来A
18、ston-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 Server的开发。本文中介
19、绍的是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的变化是渐进的,没有从6.5到7.
20、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.2所
27、示。图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应用软件:
35、Microsoft Office2003或更高版本3 系统设计3.1 系统结构设计3.1.1 软件设计的原则1模块化模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。下面五条标准可以评价一种设计方法定义有效的模块系统的能力。(1)模块可分解性如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。(2)模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。(3)模块可理解性
36、如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。(4)模块连续性如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。(5)模块保护性如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。2抽象人类在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方
37、面。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。3逐步求精逐步求精是人类解决复杂问题时采用的基本技术,是许多软件工程技术的基础。可把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。”求精实际上是细化过程。要从在高抽象级别定义的功能陈述(或信息描述)开始。求精要求设计者细化原始陈述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。4信息隐藏应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能
38、访问的。3.1.2 系统层次结构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 数据库逻辑设计E
42、nterUser表是用来存放操作员的详细信息的数据表,里面存有不同级别的用户,可以在系统中实现不同的功能操作,内容如表3.3所示。表3.3 EnterUser表字段字段名类型长度允许空备注用户名称UserNamechar10N主键用户密码UserPwdchar8N用户权限UserPowernchar4NRoom表包括房间编号、房间类型、入住日期、退房日期等其他有关房间信息的一切特征信息。由于和很多内容相互关联,所以合并为一个数据表,内容如表3.4所示。表3.4 Room表字段字段名类型长度允许空备注房间编号RIDchar3N房间类型RTypenchar3N入住日期RFromDatedateti
43、me19Y到期时间RToDatedatetime19Y房间状态RStatusnchar3N是否含有早餐RBreakfastnchar1N房间价格RPricesmallmoney 12N已付押金RDepositsmallmoney12NCustomer表是用来存放酒店内登记入住客户人员的数据表,也就是当有客人入住本酒店时客人的身份信息将会保存在此表中,而退房离开时自动在此表中消除相应的客户记录,内容如表3.5所示。表3.5 Customer表字段字段名类型长度允许空备注房间编号RIDchar3Y客户姓名CNamenchar4Y客户性别CGendrnchar1Y客户证件号CIDchar18YBal
44、ance表是用来存所有有关金额操作记录的数据表,当用户进行退房,入住,续费等操作时,将会自动保存在该表中,内容如表3.6所示。表3.6 Balance表字段字段名类型长度允许空备注金额日期BDatedatetime19N收入金额BEarningsmallmoney12N支出金额BPayoutsmallmoney12N房间编号BRoomchar3N3.4 人机界面设计3.4.1 人机界面设计指南用户界面设计主要依靠设计者的经验。总结众多设计者的经验而得出的设计指南,有助于设计者设计出友好、高效的人机界面。人机界面的设计过程可分为以下几个步骤:1. 创建系统功能的外部模型设计模型主要是考虑软件的数
45、据结构、总体结构和过程性描述,界面设计一般只作为附属品,只有对用户的情况(包括年龄、性别、心理情况、文化程度、个性、种族背景等)有所了解,才能设计出有效的用户界面;根据终端用户对未来系统的假想(简称系统假想)设计用户模型,最终使之与系统实现后得到的系统映象(系统的外部特征)相吻合,用户才能对系统感到满意并能有效的使用它;建立用户模型时要充分考虑系统假想给出的信息,系统映象必须准确地反映系统的语法和语义信息。总之,只有了解用户、了解任务才能设计出好的人机界面。2. 确定为完成此系统功能人和计算机应分别完成的任务任务分析有两种途径。一种是从实际出发,通过对原有处于手工或半手工状态下的应用系统的剖析,将其映射为在人机界面上执行的一组类似的任务;另一种是通过研究系统的需求规格说明,导出一组与用户模型和系统假想相协调的用户任务。逐步求精和面向对象分析等技术同样适用于任务分析。逐步求精技术可把任务不断划分为子任务,直至对每个任务的要求都十分清楚;而采用面向对象分析技术可识别出与应用有关的所有客观的对象以及与对象关联的动作。3. 考虑界面设计中的典型问题设计任何一个机界面,一般必须考虑系统响应时间、用户求助机制、错误信息处理和命令方式四个方面。系统响应时间过长是交互式系统中用户抱怨最多的问题,除了响应时间的绝对长短外,用户对不同命令在响应时间上的差别亦很在意,若过于悬殊用