成都东软 技 术 学 院
毕业设计报告
花园酒店管理系统设计与实现
学生姓名
所 在 系
班 级
专 业
指导教师
2008年11月15日
电子信息工程系 电信系06级软件(2)班 软件技术(数据库方向) 陈玲
摘 要
酒店信息管理系统是典型的信息管理系统,其客房模块部分开发主要包括后台SQL Server数据库的建立和维护以及前端界面的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,本系统采用B/S开发模式,应用 MICROSOFT公司的 VISUAL STUDIO2005为开发平台,利用STUDIO2005提供的各种面向对象的开发工具,如操纵后台数据库的ADO控件、数据窗口等智能化对象。
最终系统实现的主要功能模块如下:客房标准信息管理模块、客房基本信息管理模块、订房信息管理模块、结算信息管理模块。实现的功能包括对各个信息模块的添加、修改、删除、查询等。
关键字:B/S、客房管理、订房
I
目 录
第一章 选题依据 ............................................................................................................ 1
1.1本设计的选题依据 ................................................................................................... 1
1.2酒店管理系统研究的目的与意义 ........................................................................... 1
1.3我国酒店管理系统的发展现状 ............................................................................... 2
第二章 系统的需求分析 ................................................................................................ 3
2.1可行性分析 ............................................................................................................... 3
2.1.1技术可行性 ................................................................................................... 3
2.1.2经济可行性 ................................................................................................... 3
2.1.3社会可行性 ................................................................................................... 3
2.2本设计所需的开发工具 ........................................................................................... 3
2.3用户的需求分析 ....................................................................................................... 4
2.3.1酒店的具体情况 ........................................................................................... 4
2.3.2用户需求 ....................................................................................................... 5
2.3.3系统的整体功能模块 ................................................................................... 7
2.4系统功能模块分析 ................................................................................................... 7
2.4.1管理员模块 ................................................................................................... 7
2.4.2普通员工模块 ............................................................................................... 8
2.5数据库的需求分析 ................................................................................................... 8
第三章 概要设计 ............................................................................................................ 9
3.1系统总统设计 ........................................................................................................... 9
3.1.1系统目标要求 ............................................................................................... 9
3.1.2系统平台选择 ............................................................................................... 9
3.1.3系统流程设计 ............................................................................................... 9
3.2数据库的概要设计 ................................................................................................. 10
3.3功能模块的设计 ..................................................................................................... 11
3.3.1登录模块 ..................................................................................................... 11
3.3.2普通员工模块 ............................................................................................. 11
3.3.3管理员模块 ................................................................................................. 12
第四章 详细设计 .......................................................................................................... 13
4.1数据库的详细设计 ................................................................................................. 13
4.1.1表的设计 ..................................................................................................... 13
4.1.2视图的设计 ................................................................................................. 14
4.1.3存储过程的设计 ......................................................................................... 14
4.2系统首页设计及代码分析 ..................................................................................... 15
4.3个人信息页面设计及代码分析 ............................................................................. 17
4.4密码修改页面的设计及代码分析 ......................................................................... 17
4.5订房页面设计及代码分析 ..................................................................................... 18
4.6退房页面的设计及代码分析 ................................................................................. 19
4.7已定房间页面的设计及代码分析 ......................................................................... 20
II
4.8房间信息维护页面的设计及代码分析 ................................................................. 21
4.9添加新房间和新类型页面的设计 ......................................................................... 23
4.10营业状况页面的设计 ........................................................................................... 25
第五章 系统的测试 ...................................................................................................... 27
5.1软件测试的目的 ..................................................................................................... 27
5.2测试环境 ................................................................................................................. 27
5.3测试人员分工 ......................................................................................................... 27
5.4测试过程 ................................................................................................................. 27
总结与展望 .................................................................................................................... 29
总结 ................................................................................................................................ 29
展望 ................................................................................................................................ 30
致 谢 ............................................................................................................................ 31
参考文献 ........................................................................................................................ 32
III
第一章 选题依据
1.1本设计的选题依据
随着信息化建设的发展,酒店服务业与国际市场接轨已成为大势所趋,酒店业要迎接这场挑战,就必须提高整体竞争能力,变革酒店的管理模式,提高管理水平。实施信息化建设无疑是实现这一目的的必由之路和明智之举。目前,我国酒店服务业信息化管理的进程缓慢,跟国外的酒店相比管理依然落后。在激烈的酒店业竞争中,如何能把握机会,保持自己的优势,立于不败之地呢?这就需要提供最好的服务,提供最完善的设施和最先进的技术。在信息时代,更重要的是还必须要有一个完善的管理信息系统,便于方便客人以及更好地管理酒店。特别是近年来计算机在我国突飞猛进的发展,越来越多的行业都涉足到这个新兴的领域,而酒店管理由于自身应该和顾客及时快捷紧密联系的特点,更应该趁着这股春风打开酒店管理新的一页,更为酒店管理与国际接轨以及酒店的长足发展打下良好的软件基础。花园酒店管理系统,它可以借用计算机信息化的优势,方便快捷的实现顾客和管理者的交互,方便管理者在第一时间了解顾客的需求,及时做好应对措施,从而可以使经营者在竞争日益激烈的酒店服务行业中取得优势!
1.2酒店管理系统研究的目的与意义
对整个酒店来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,在新环境下利用酒店管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。
1
1.3我国酒店管理系统的发展现状
随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求越来越高。各地把旅游业当作本地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。
基于WEB的酒店管理系统的总体设计目标能够建立完善、高效、可靠的酒店信息系统,为酒店提供良好的信息环境。
2
第二章 系统的需求分析
2.1可行性分析
管理信息系统是酒店竞争的有力工具,是酒店全面推进ERP的重要内容和基础。管理信息系统不是酒店取得成功的充分条件,但它却是成功的必要条件。酒店要领先于竞争对手,对管理信息系统进行非常积极的投资是必要的。
2.1.1技术可行性
本设计在开发语言上采用VisualStudio2005;在数据库方面,采用SQL2005,进行数据操作。VisualStudio2005是基于C#的可视化的程序设计语言。在C#中,一方面继承了C++所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。
2.1.2经济可行性
对于酒店客房信息管理存在的问题,已经给酒店经营带来了很多的麻烦和不必要的损失,本系统的开发成功将会减少酒店的损失。另外本系统是一次性投资长期受益,而且投资不是很大,本系统的成功将使大多数的工作任务集中在计算机上,不再需要花大量的精力去进行数据的添加、查找和统计等工作,提高了员工的工作效率。因为本系统投入使用后,不必增减酒店人员的工作岗位及职工人数,故没有人力资源成本的增加。
2.1.3社会可行性
在本系统的运营阶段,使用系统的工作人员,除了需要具备在Microsoft Windows平台上使用个人电脑的知识,并不需要特别的技术能力。这方面的知识,在本酒店与本项目运营相关的客房部的直接人员中已经具备。并且在系统投入使用时,还会安排对操作系统的人员进行必要的培训。
2.2本设计所需的开发工具
Microsoft SQL Server 2005
3
Microsoft SQL Server 2005 是一个功能强大、系统可靠性高,并且应用广泛的数据库开始工具。
Microsoft SQL Server 2005 是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了一种称为:Transact-SQL的SQL语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。
Microsoft SQL Server 2005的高度可扩展性和高可靠性。Microsoft SQL Server 2005使用了业界最先进的数据结构,能够为要求最苛刻的Web应用和企业应用提供高度的可扩展性和高可靠性。Microsoft SQL Server 2005在许多工业基准测试中的性能都创立了新世界纪录。
✧ Microsoft Visual Studio 2005
Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。
✧ PowerDesigner
PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。
2.3用户的需求分析
2.3.1酒店的具体情况
花园酒店成立于2002年,坐落在一个正在发展中的小县城。花园酒店主要业务分为:住宿、餐饮;整个酒店大约有员工40人,其中经理4名分别是人事部经理、客房部经理、库存经理、餐饮部经理;供客人住宿的房间主要有4种,豪华标准间,豪华单人间,普通单间,普通双人间,所有的房间设施齐全。整个酒店可以同时容纳500个人就餐。
4
2.3.2用户需求
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。
经过仔细调查各种中小型酒店(花园酒店)的实际状况,并同酒店的相关人员进行沟通后,确定了本花园酒店的具体需求如下:
✓ 客房部分
1.个人信息分析:每个用户都有自己的基本信息及登陆系统的密码,在此能够修改自己的个人信息及熟悉的密码。
2.订房分析:客人到达酒店后,需要到柜台办理住房登记,登记的过程中要为客人查询是否还有他需要的房间,当有的时候就为客人办理登记,记录下客人的基本信息及所交的金额。
3.客人查询分析:客人查询可以按照客人的姓名及身份证号查询在住的客人的基本信息及订房信息。
4.房间信息分析:房间信息包括房间房间的类型及基本信息管理,有必要的时候能添加新房间类型及对房间类型信息的维护。有新类型后,根据实际情况添加新房间则能选择刚新添加的类型或者以前的类型,同理也需要对房间能够进行信息的维护。
5.营业情况分析:能够进行简单的营业情况统计,至少能统计出在柜台的进账数目。
6.加班与请假审核分析:审核客房部门下员工的请假及加班的申请。
✓ 库存部分
1.酒店的一切物品都需要有统计,酒店的日常用品更需要统一的入库,在入库的时候又需要去记录与之相关的一些东西。比如入库的数量,还有就是经办人和入库的具体时间。
2.酒店在运行时,就会需要很多的东西,在这时候就会相应的进行出库,在出库的时候还是需要记录与之相关的诸如出库的数量,经办人和时间等。
5
3.在酒店运作中难免会出现一些问题,这些时候主要还是会来查询库存,查看是什么地方出现问题,这时候库存的查询会很必要。
4.在有了上面这些之后就需要对库存数据进行备份,因为系统很多时候都会遇到来自各方面的问题,可能出现系统不能使用,那时候系统的备份就会显得极其重要。可以用先前的备份来还原数据。那样系统的完整性可以得到很好的处理。这样就迫切需要备份和还原功能。
人事部分
酒店要有好的效益,他们都需要一个好的、可行的人事管理制度,希望酒店的人事管理系统能够实现。具体要求如下:
1.酒店需要招新员工的时候人事部要负责给用户分配用户名其用户名的密码默认都为6个1,并将新员工的基本资料录入系统,其中包括新员工所属的部门、联系电话、基本薪资、邮箱等;当酒店有员工需要辞退的时候人事部要负责将系统中该用户的所有信息清除。
2.如果在中途用户忘记了自己的密码可以到人事部经理那里进行修改,修改的时候只需要提供自己的用户名即可。
3.人事部要根据酒店的具体情况对酒店的员工进行人事的调动,在员工管理里面修改用户信息即可。
4.人事部将对酒店的所有员工进考勤,考勤的类型分为迟到、早退、缺席,在考勤的时候将具体的时间插入到数据库以便查询。
5.人事部还将对自己部门下面的所有员工的加班申请和请假申请进行审核,如审核通过将改员工的加班或是请假的小时数存入数据库,以便该员工的能够准确的查询出自己加班和请假的信息。
6.整个酒店的员工的工资也由人事部管理,工资包括员工的基本薪资、加班获得的工资、请假和考勤应该扣除的工资组成,酒店的所有工资都是由人事部的经理统一发放。
7.人事部的经理可以对整个酒店员工个人信息、考勤情况、工资信息、加班记录、请假记录进行查看。
6
2.3.3系统的整体功能模块
根据系统用户提供的(花园酒店的)需求和结合开发人员的整体分析,最终确定系统的整体功能模块(如图2-1)
图2-1系统总体功能模块图
2.4系统功能模块分析 2.4.1管理员模块
本系统模块划分如图2-2管理员功能模块图所示
图2-2管理员功能模块
7
2.4.2普通员工模块
普通员工模块,如下图2-3普通员工功能模块图所示
图2-3普通员工功能模块图
2.5数据库的需求分析
经过仔细分析,需要存储员工的信息如员工的编号、姓名、性别、职务、所属部门;存储客户的信息,如客户的编号、姓名、性别、身份证号码、电话号码、订房开始日期、订房结束日期,房间编号,支付金额;存储房间的信息,如房间的编号、位置、类型、描述、是否已定;房间类型信息,如类型编号、类型名称、房间面积、床位数、是否有空调、是否有电视。
8
第三章 概要设计
3.1系统总统设计 3.1.1系统目标要求
系统目标应该达到以下要求:
1.时间经济性。优化逻辑设计与物理设计,使系统运行效率高, 反映速度快。
2.可靠性。能连续准确的处理业务,有较强的容错能力。 3.可理解性。用户容易理解和使用该系统。
4.可维护性和适应性。系统应易于修改、易于扩充、易于维护, 能够适应业务不断发展变化的需要。
5.可用性。目标系统功能齐全,能够完全满足业务需求。
6.安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.1.2系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。 本系统采用中文Windows XP平台, Visual Studio为开发工具,软件开发在Windows XP平台下运行。
3.1.3系统流程设计
系统流程就是用户在使用系统时的工作过程。本系统是多类型用户管理信息系统,每一类用户的工作权限有所区别。多用户系统的工作流程都是从用户登录模块开始的,对用户的身份进行认证。身份认证可以分为以下两个过程: 1. 确认用户是否是有效的系统用户。 2. 确定用户的类型。
第一个过程决定用户能否进入系统。第二个过程根据用户的类型决定用户的
9
操作权限。
本系统的流程设计如下图3-1工作业务流程图所示:
图3-1工作业务流程图
3.2数据库的概要设计
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用E-R图的方法来进行数据结构的分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的设计方法。E-R图由实体、属性、联系三部分组成。各部分实体图说明如下图3-2系统E-R图。
10
图3-2系统E-R图
3.3功能模块的设计 3.3.1登录模块
正确的用户名和密码登陆系统,普通员工则登陆普通员工页面,经理则进入经理页面。如图3-3登陆界面所示:
图3-3登陆界面
3.3.2普通员工模块
普通员工一登陆后能管理自己的信息,能提交加班、提交请假,能查看自己的加班记录、请假记录、工资、考勤。如图3-4普通员工所示:
11
图3-4普通员工
3.3.3管理员模块
管理员就有权限去维护房间的信息,查看空闲房间,添加新房间,查看营业情况,审核普通员工的请假与加班。如图3-5管理员所示:
图3-5管理员
12
第四章 详细设计
4.1数据库的详细设计 4.1.1表的设计
经仔细分析本系统所需要的表的设计如下所示:
表4-4房间类型表 13
4.1.2视图的设计
为了简化操作,那些经常使用的查询我们定义为视图,使我们每次的查询不必指定全部的条件,经过仔细的分析,本系统需创建的视图如下:
查询客户信息视图
SELECTdbo.customerInformation.CName,dbo.customerInformation.Sexdbo.customerInformation.IDNumber, dbo.customerInformation.Telephone, dbo.roominfo.TID,dbo.roominfo.TName,dbo.roominfo.TBedQuantitydbo.roominfo.TArea, dbo.roominfo.TPrice, dbo.roominfo.TAirCondition, dbo.roominfo.TTV,dbo.roominfo.RPosition,dbo.roominfo.RDescribedbo.roominfo.RType, dbo.roominfo.RID, dbo.roominfo.Ryiding FROM dbo.customerInformation RIGHT OUTER JOIN
dbo.roominfo ON dbo.customerInformation.RoomID = dbo.roominfo.RID WHERE (dbo.roominfo.Ryiding = '1') 查询房间信息视图
SELECTdbo.RoomType.TID,dbo.RoomType.TName,dbo.RoomType.TAreadbo.RoomType.TBedQuantity, dbo.RoomType.TPricedbo.RoomType.TAirCondition,
dbo.RoomType.TTV,dbo.GuestRoom.RPosition,dbo.GuestRoom.RDescribedbo.GuestRoom.RType, dbo.GuestRoom.RID, dbo.GuestRoom.Ryiding FROM dbo.GuestRoom INNER JOIN
dbo.RoomType ON dbo.GuestRoom.RType = dbo.RoomType.TID 4.1.3存储过程的设计
当接受用户输入的时候,为了是查询速度更快,本系统设计了以下的存储过程,如下所示:
房间添加的存储过程
CREATE PROCEDURE [dbo].[GuestRoomAdd] (@RID [varchar](50), @RType [int],
@RPosition [varchar](50), @RDescribe [varchar](50))
AS INSERT INTO [HMS].[dbo].[GuestRoom] ( [RID], [RType],
14
, ,,
, , ,
[RPosition], [RDescribe]) VALUES ( @RID, @RType, @RPosition, @RDescribe) 房间删除的存储过程
CREATE PROCEDURE [dbo].[GuestRoomAdd] (@RID [varchar](50), @RType [int],
@RPosition [varchar](50), @RDescribe [varchar](50))
AS INSERT INTO [HMS].[dbo].[GuestRoom] ( [RID], [RType], [RPosition], [RDescribe]) VALUES ( @RID, @RType, @RPosition, @RDescribe)
4.2系统首页设计及代码分析 功能简介
用户名输入自己的用户名和密码以后,系统将从登录表(user)中查找相关信息如果用户名和密码都匹配,就根据用户级别跳转到相应的页面。并用session记录该用的登录名和用户级别信息。便于用登录到相关的用户界面进行一些必要的处理。如图4-1登陆所示:
员工打开系统就会看见登录页面,在登录页面输入自己正确的登录名和密码由系统判断登录者的类型然后进入不同的页面。当用户输入的登录名不存在的时候系统会弹出消息框该用户名不存在;当用户输入的用户名存在而密码错误的时候,系统也会弹出消息框告诉用户密码不正确,如图4-2错误提示。只有当用户输入了正确的用户名和密码的时候才能登进花园酒店管理系统。
15
相关截图
图4-1登陆
图4-2错误提示
相关功能代码
SqlParameter[] param ={MySql.CreateInParam
("@user",SqlDbType.NvarChar,20,txtUser.Text.ToString().Trim()), MySql.CreateInParam("@pwd",SqlDbType.NvarChar,20,txtPwd.Text.ToString().Trim()),
MySql.CreateOutParam("@return",SqlDbType.NvarChar,50)}; MySql.RunProc("select_login", param); string aa = param[2].Value.ToString(); if (aa == "1")
SqlParameter[] param1 ={MySql.CreateInParam("@user",SqlDbType.NvarChar,20,txtUser.Text.ToString().Trim()),
MySql.CreateInParam("@pwd",
SqlDbType.NvarChar,20,txtPwd.Text.ToString().Trim())};
SqlDataReader dr = MySql.RunDataReader("select_loginaa", param1); if (dr.Read())
Session["deparid"] = dr["员工所属部门编号"].ToString().Trim(); Session["managerid"] = dr["managerid"].ToString().Trim(); Session["user"] = txtUser.Text.ToString().Trim();
if (txtUser.Text.Trim() == Session["managerid"].ToString().Trim()) if (Session["deparid"].ToString() == "1") Response.Redirect("index.aspx");
else if (Session["deparid"].ToString() == "2") Response.Redirect("index1.aspx");
else if (Session["deparid"].ToString() == "3") Response.Redirect("index2.aspx");
16
Response.Redirect("index3.aspx");
4.3个人信息页面设计及代码分析
功能简介
经理或者普通员工登陆就能看到自己的个人信息且不能修改。如图4-3个人信
息设计视图所示
相关截图
图4-3个人信息设计视图
相关功能代码
SQLDataBase MySql = new SQLDataBase();
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
string strselect = "select * from [user] where 员工登陆名='" +
Session["user"].ToString() + "'";
SqlDataReader dr = MySql.QueryDr(strselect);
if (dr.Read())
TextBox1.Text = dr["员工登陆名"].ToString();
TextBox2.Text = dr["员工姓名"].ToString();
TextBox3.Text = dr["员工电子邮件"].ToString();
TextBox5.Text = dr["员工职位名称"].ToString();
4.4密码修改页面的设计及代码分析
功能分析
每个新用户有一个自己的初始密码,可进行密码修改,输入原密码修改始的
密码,然后在输入新密码。点击修改就可以修改为自定义的新密码,如图4-4所
示:
17
相关截图
图4-4密码修改
相关功能代码
string strselect = "select * from [user] where 员工登陆名='" +
Session["user"].ToString() + "' and 员工登陆密码='" + TextBox1.Text.Trim() + "' ";
SqlDataReader dr = MySql.QueryDr(strselect);
if (dr.Read())
string strupdate = "update [user] set 员工登陆密码='" +
TextBox3.Text.Trim() + "'where 员工登陆名='" + Session["user"].ToString() + "' ";
MySql.Query(strupdate);
Response.Write("");
else
Response.Write("");
4.5订房页面设计及代码分析
功能分析
通过客户的咨询,找到客户所需要的房间,录入客户的信息及所交金额点击
.如图4-5订房页面所示:
相关截图
18
图4-5订房页面
相关功能代码
Try
SqlParameter[]param1={MySql.CreateInParam
("@RoomID",SqlDbType.Int,4,lblRid.Text),
MySql.CreateInParam
("@CName",SqlDbType.NvarChar,50,txtName.Text.ToString().Trim()),
MySql.CreateInParam("@Sex",SqlDbType.NvarChar,2,rblSex.SelectedValue), MySql.CreateInParam
("@IDNumber",SqlDbType.NvarChar,50,txtIDNumber.Text.ToString().Trim()), MySql.CreateInParam("@Tel",SqlDbType.NVarCha50,txtTel.Text.ToString().Trim()), MySql.CreateInParam
("StartDate",SqlDbType.DateTime,8,txtDatetime.Text.ToString().Trim()),
MySql.CreateInParam("Pay",SqlDbType.Money,8,txtPay.Text.Trim())};
MySql.RunProc("insert_customer",param1);
RegisterClientScriptBlock("0","");
Response.Redirect("Emptyroom.aspx");
catch
RegisterClientScriptBlock("0","");
4.6退房页面的设计及代码分析
功能分析
客户有不想在住了的打算要求立即退房,可在退房页面为客户退房。确认客户的信息点击即可退掉当前的房间,如图所示,当前房间就会显示在空
闲的房间里面。如图4-6退房页面所示:
19
相关截图
图4-6退房页面
相关功能代码
SqlParameter[]param1 ={MySql.CreateInParam
("@RID",SqlDbType.Int,4,lblRid.Text),
MySql.CreateInParam("@EndDate",SqlDbType.DateTime,8,lblEnd.Text)}; MySql.RunProc("updateEndDate", param1);
SqlParameter[]param2={MySql.CreateInParam
("@RID", SqlDbType.Int, 4, lblRid.Text) };
MySql.RunProc("update_EndOrder", param2);
Response.Redirect("roomhave.aspx");
4.7已定房间页面的设计及代码分析
功能简介
在已定房间页面内,能看见所有住入本酒店的客户,能通过姓名及身份证号查询到客户的信息及客户所住的房间的信息,如图4-7已定房间按身份证查询所示,图4-8已定房间按姓名查询:
相关截图
图4-7已定房间按身份证查询
20
图4-8已定房间按姓名查询
相关功能代码
string strsql = string.Empty;
if (DropDownList1.SelectedValue == "姓名")
strsql = "select * from room_cus where CName like %"+
TextBox1.Text.Trim() + "%' ";
DataSet ds = MySql.Query(strsql);
grdResult.DataSource = ds;
grdResult.DataBind();
else
strsql = "select * from room_cus where IDNumber like '%"+
TextBox1.Text.Trim() + "%' ";
DataSet ds = MySql.Query(strsql);
grdResult.DataSource = ds;
grdResult.DataBind();
4.8房间信息维护页面的设计及代码分析
功能简介
能够修改房间的类型,房间的位置,房间的描述,能删除此房间,如图4-9房间信息维护所示:
相关截图
图4-9房间信息维护
21
相关功能代码分析
房间的修改
if (Page.IsValid)
//从文件Web.config中读取连接字符串
String strconn=ConfigurationManager.ConnectionStrings["SqlConnectionS
tring"].ConnectionString;
//连接本地计算机的HMS数据库
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
//利用Command对象调用存储过程
SqlCommand cm = new SqlCommand("guestroommodify", cn); //将命令类型转为存储类型
cm.CommandType = CommandType.StoredProcedure;
//往存储过程中添加参数
cm.Parameters.Add("@RID",SqlDbType.VarChar);
cm.Parameters.Add("@RType",SqlDbType.Int);
cm.Parameters.Add("@RPosition",SqlDbType.VarChar);
cm.Parameters.Add("@RDescribe",SqlDbType.VarChar);
//给存储过程的参数付值
cm.Parameters["@RID"].Value = lbl_rid.Text.ToString();
cm.Parameters["@RType"].Value =
Convert.ToInt32(ddl_rtype.SelectedItem.Value.ToString());
cm.Parameters["@RPosition"].Value = tbx_rposition.Text.ToString(); cm.Parameters["@RDescribe"].Value = tbx_rdescribe.Text.ToString(); cm.ExecuteNonQuery();
//关闭连接
cn.Close();
Response.Redirect("roominfo.aspx");
房间的删除
String strconn=ConfigurationManager.ConnectionStrings
["Sql ConnectionString"]. ConnectionString;
//连接本地计算机的HMS数据库
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("guestroomdelete", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@RID",SqlDbType.VarChar);
cm.Parameters["@RID"].Value = lbl_rid.Text.ToString();
cm.ExecuteNonQuery();
cn.Close();
22
//对RoomState表进行删除
cn.Open();
SqlCommand cm0 = new SqlCommand("roomstatedelete",cn);
cm0.CommandType = CommandType.StoredProcedure;
cm0.Parameters.Add("@SRID",SqlDbType.VarChar);
cm0.Parameters["@SRID"].Value = lbl_rid.Text.ToString();
cm0.ExecuteNonQuery();
cn.Close();
Response.Redirect("roominfo.aspx");
4.9添加新房间和新类型页面的设计
功能简介
新建一个房间,包括房间号、房间位置、房间类型、描述,如图4-10所示。 新建一个房间类别,包括类别名称、房间面积、配备床数、价格、是否有空调、是否有电视,如图4-11添加新房间和新类型所示。
相关截图
图4-10添加新房间
图4-11添加新类别
23
相关功能代码
添加新房间功能代码
if (Page.IsValid)
//对GuestRoom表进行添加
//从文件Web.config中读取连接字符串
String strconn= ConfigurationManager.ConnectionStrings
["SqlConnectionString"].ConnectionString;
//连接本地计算机的HMS数据库
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
//利用Command对象调用存储过程
SqlCommand cm = new SqlCommand("guestroomadd",cn);
//将命令类型转为存储类型
cm.CommandType = CommandType.StoredProcedure;
//往存储过程中添加参数
cm.Parameters.Add("@RID",SqlDbType.VarChar);
cm.Parameters.Add("@RType",SqlDbType.Int);
cm.Parameters.Add("@RPosition",SqlDbType.VarChar);
cm.Parameters.Add("@RDescribe",SqlDbType.VarChar);
//给存储过程的参数付值
cm.Parameters["@RID"].Value = tbx_rid.Text.ToString();
cm.Parameters["@RType"].Value =
Convert.ToInt32(ddl_rtype.SelectedItem.Value.ToString());
cm.Parameters["@RPosition"].Value = tbx_rposition.Text.ToString(); cm.Parameters["@RDescribe"].Value = tbx_rdescribe.Text.ToString(); cm.ExecuteNonQuery();
//关闭连接
cn.Close();
//对RoomState表进行添加
cn.Open();
SqlCommand cm0 = new SqlCommand("roomstateadd",cn);
cm0.CommandType = CommandType.StoredProcedure;
cm0.Parameters.Add("@SRID",SqlDbType.VarChar);
cm0.Parameters["@SRID"].Value = tbx_rid.Text.ToString();
cm0.ExecuteNonQuery();
cn.Close();
Response.Redirect("roominfo.aspx");
添加新类型功能代码
if (Page.IsValid)
24
{//从文件Web.config中读取连接字符串
string strconn = ConfigurationManager.ConnectionStrings
["SqlConnectionString"].ConnectionString;
//连接本地计算机的HMS数据库
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
//利用Command对象调用存储过程
SqlCommand cm = new SqlCommand("roomtypeadd",cn);
//将命令类型转为存储类型
cm.CommandType = CommandType.StoredProcedure;
//往存储过程中添加参数
cm.Parameters.Add("@TName",SqlDbType.VarChar);
cm.Parameters.Add("@TArea",SqlDbType.VarChar);
cm.Parameters.Add("@TBedQuantity",SqlDbType.VarChar);
cm.Parameters.Add("@TPrice",SqlDbType.Money);
cm.Parameters.Add("@TAirCondition",SqlDbType.Bit);
cm.Parameters.Add("@TTV",SqlDbType.Bit);
//给存储过程的参数付值
cm.Parameters["@TName"].Value = tbx_tname.Text.ToString(); cm.Parameters["@TArea"].Value = tbx_tarea.Text.ToString();
cm.Parameters["@TBedQuantity"].Value =
Convert.ToInt32(tbx_tbedquantity.Text.ToString());
cm.Parameters["@TPrice"].Value =
Convert.ToDouble(tbx_tprice.Text.ToString());
if (rtn_acyes.Checked) cm.Parameters["@TAirCondition"].Value = 1; if (rtn_acno.Checked) cm.Parameters["@TAirCondition"].Value = 0; if (rtn_tvyes.Checked) cm.Parameters["@TTV"].Value = 1;
if (rtn_tvno.Checked) cm.Parameters["@TTV"].Value = 0;
cm.ExecuteNonQuery();
//关闭连接
cn.Close();
Response.Redirect("roomtypemanage.aspx");
4.10营业状况页面的设计
功能简介
能统计不同类别的房间不同时间段内的进账收入,如图4-12营业状况所示。 相关截图
25
图4-12营业状况
相关功能代码
//从文件Web.config中读取连接字符串
String strconn= ConfigurationManager.ConnectionStrings
["SqlConnectionString"].ConnectionString;
//连接本地计算机的HMS数据库
SqlConnection cn = new SqlConnection(strconn);
//创建最初选择语句
Stringorderstate="SELECT
RID,Rtype,TID,Tname,ORID,ObeginDate,OEndDate,OPay FROM GuestRoom,RoomType,Occupy WHERE RID=ORID AND RType=TID AND OPay!=0";
if (ddl_rtype.SelectedItem.Value.ToString() != "-1")//如果“房间类型”有输入 orderstate=orderstate+"and rtype="+ ddl_rtype.SelectedItem.Value.ToString(); //读取时间纪录
stringdatefrom=ddl_yearfrom.SelectedItem.Value.ToString()+"-"+
ddl_monthfrom.SelectedItem.Value.ToString()+"-"+
ddl_dayfrom.SelectedItem.Value.ToString();
stringdateto=ddl_yearto.SelectedItem.Value.ToString()+"-"+
ddl_monthto.SelectedItem.Value.ToString()+"-"+
ddl_dayto.SelectedItem.Value.ToString();
orderstate = orderstate + " and oenddate between '" + datefrom + "'and'" + dateto + "'";
//创建SqlDataAdapter对象,调用视图
SqlDataAdapter da = new SqlDataAdapter(orderstate, cn);
//创建并填充DataSet
DataSet ds = new DataSet();
da.Fill(ds);
dgd_count.DataSource = ds;
dgd_count.DataBind();
cn.Close();
26
第五章 系统的测试
5.1软件测试的目的
测试目的:
使用人工或自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。为了将本系统的软件错误降至最低,进一步提高系统的可靠性,并对系统进行相关测试
5.2测试环境
测试环境,如表5-1测试表所示:
表5-1测试表
5.3测试人员分工
测试人员主要来自我们班上,分工如下: 管理员模块:张智聪、谭克非 普通员工模块:李先龙
5.4测试过程
整个系统测试如下所示
27
表5-3订房测试和退房测试表
28
总结与展望
总结
经过两个月的忙碌和工作,本次毕业设计已经近完成,由于经验的缺乏,难免有许多考虑不周全的地方,如果没有指导老师的督促指导,以及小组其他成员的支持,想要完成这个设计是很苦难的。
在这里首先要感谢我的指导老师陈玲老师,在我做毕业设计的每个阶段,都给予了我细心的指导。其次还要感谢我们这支开发小组,在本次设计中,大家勤奋工作,克服了许多困难来完成此次毕业设计。
在整个设计过程中,我的总结如下:
1、这是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性,这对于将来我走上工作岗位具有重要意义。
2、设计过程中,经常会遇到困难,不懂的时候就上网查资料或问同学,然后根据自己的设计要求完成模块。
3、设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系,我通过在论坛上提出问题得到了很多热心网友的帮助,这坚定了我通过网络吸收知识的信心。
经过近两个多月的设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。通过此次毕业设计,我不但对SQL Server 2005和Visual Studio2005有了深刻的认识,积累了一定的经验,同时最重要的是摸索出了一套考虑问题和解决问题的方法,这对于我将来走上工作岗位受益匪浅。
29
展望
虽然系统已完成,任务书上的功能已基本都实现了,如客人的订房与退房,个人密码的修改及房间类型管理等。由于前期工作的不彻底,对系统需求分析的要求认识不够清楚,所以一些功能不是很完全,以后还需要不断的修改,以进一步的完善。界面的布局还有待于优化,能让用户感觉更加友好。
30
致谢
致 谢
在论文完成之际,在此我要特别感谢我的指导老师,感谢她在整个项目开发过程中对我的精心指导以及对我的严格要求。同时还要感谢我的所有任课老师们,三年的时间里我得到了老师们悉心的教会和无私的帮助,学到的不仅仅是专业知识,更重要的严谨的治学态度和做人的道理,我相信有了这三年的经历,在成长的道路上我们会走得更远。
在系统的设计过程中,也得到了许多同学的宝贵意见,组员的相互支持和帮助,在此一并致以诚挚的谢意。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!
31
参考文献
参考文献
[1] 杨则正.管理信息系统的维护. 管理科学文摘 . 1996.(08)。 [2] 基于SQL Server的数据库系统开发.人民邮电出版社。
[3] 周立柱.SQL Server数据库原理设计与实现.清华大学出版社。 [4] 微软公司著.《数据库程序设计》.高等教育出版社。 [5] 陆丽娜.《软件工程》.经济科学出版社。 [6] (美)Ron Patton著.《Software Testing》.2006.01。 [7] 丁波.欧震旭.编著. 2002《跟我学做网页》.科学出版社。
[8] 我国酒店发展现状及趋势分析---论文网 www.51paper.net/index.htm [9] 周峰.徐晓军.马德路.ASP开发技术原理与实践教程.电子工业出版社 .2006。
[10] 明日科技.张跃廷.王小科.许文武.ASP.NET.数据库系统开发案例精选.人民邮电出版。 [11] Alex Homer Dave Sussman.ASP.NET 2.0高级编程.清华大学出版社出版社。 [12] 微软公司著.SQL Server2000.数据库程序设计.北京高等教育出版社。
32