• 802.50 KB
  • 2022-04-22 13:40:28 发布

花园酒店管理系统设计与实现毕业论文.doc

  • 34页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'花园酒店管理系统设计与实现毕业论文目录第一章选题依据11.1本设计的选题依据11.2酒店管理系统研究的目的与意义11.3我国酒店管理系统的发展现状2第二章系统的需求分析32.1可行性分析32.1.1技术可行性32.1.2经济可行性32.1.3社会可行性32.2本设计所需的开发工具42.3用户的需求分析52.3.1酒店的具体情况52.3.2用户需求52.3.3系统的整体功能模块62.4系统功能模块分析72.4.1管理员模块72.4.2普通员工模块72.5数据库的需求分析8第三章概要设计93.1系统总统设计93.1.1系统目标要求93.1.2系统平台选择93.1.3系统流程设计93.2数据库的概要设计103.3功能模块的设计113.3.1登录模块113.3.2普通员工模块123.3.3管理员模块12第四章详细设计134.1数据库的详细设计134.1.1表的设计134.1.2视图的设计144.1.3存储过程的设计144.2系统首页设计及代码分析154.3个人信息页面设计及代码分析174.4密码修改页面的设计及代码分析184.5订房页面设计及代码分析18 4.6退房页面的设计及代码分析194.7已定房间页面的设计及代码分析204.8房间信息维护页面的设计及代码分析214.9添加新房间和新类型页面的设计234.10营业状况页面的设计25第五章系统的测试275.1软件测试的目的275.2测试环境275.3测试人员分工275.4测试过程27总结与展望29总结29展望29致谢31参考文献32 第一章选题依据第一章选题依据1.1本设计的选题依据随着信息化建设的发展,酒店服务业与国际市场接轨已成为大势所趋,酒店业要迎接这场挑战,就必须提高整体竞争能力,变革酒店的管理模式,提高管理水平。实施信息化建设无疑是实现这一目的的必由之路和明智之举。目前,我国酒店服务业信息化管理的进程缓慢,跟国外的酒店相比管理依然落后。在激烈的酒店业竞争中,如何能把握机会,保持自己的优势,立于不败之地呢?这就需要提供最好的服务,提供最完善的设施和最先进的技术。在信息时代,更重要的是还必须要有一个完善的管理信息系统,便于方便客人以及更好地管理酒店。特别是近年来计算机在我国突飞猛进的发展,越来越多的行业都涉足到这个新兴的领域,而酒店管理由于自身应该和顾客及时快捷紧密联系的特点,更应该趁着这股春风打开酒店管理新的一页,更为酒店管理与国际接轨以及酒店的长足发展打下良好的软件基础。花园酒店管理系统,它可以借用计算机信息化的优势,方便快捷的实现顾客和管理者的交互,方便管理者在第一时间了解顾客的需求,及时做好应对措施,从而可以使经营者在竞争日益激烈的酒店服务行业中取得优势!1.2酒店管理系统研究的目的与意义对整个酒店来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,在新环境下利用酒店管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。 第一章选题依据1.3我国酒店管理系统的发展现状随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求越来越高。各地把旅游业当作本地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。基于WEB的酒店管理系统的总体设计目标能够建立完善、高效、可靠的酒店信息系统,为酒店提供良好的信息环境。 第二章系统的需求分析第二章系统的需求分析2.1可行性分析管理信息系统是酒店竞争的有力工具,是酒店全面推进ERP的重要内容和基础。管理信息系统不是酒店取得成功的充分条件,但它却是成功的必要条件。酒店要领先于竞争对手,对管理信息系统进行非常积极的投资是必要的。2.1.1技术可行性本设计在开发语言上采用VisualStudio2005;在数据库方面,采用SQL2005,进行数据操作。VisualStudio2005是基于C#的可视化的程序设计语言。在C#中,一方面继承了C++所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。2.1.2经济可行性对于酒店客房信息管理存在的问题,已经给酒店经营带来了很多的麻烦和不必要的损失,本系统的开发成功将会减少酒店的损失。另外本系统是一次性投资长期受益,而且投资不是很大,本系统的成功将使大多数的工作任务集中在计算机上,不再需要花大量的精力去进行数据的添加、查找和统计等工作,提高了员工的工作效率。因为本系统投入使用后,不必增减酒店人员的工作岗位及职工人数,故没有人力资源成本的增加。2.1.3社会可行性在本系统的运营阶段,使用系统的工作人员,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识,并不需要特别的技术能力。这方面的知识,在本酒店与本项目运营相关的客房部的直接人员中已经具备。并且在系统投入使用时,还会安排对操作系统的人员进行必要的培训。2.2本设计所需的开发工具²MicrosoftSQLServer2005 第二章系统的需求分析MicrosoftSQLServer2005是一个功能强大、系统可靠性高,并且应用广泛的数据库开始工具。MicrosoftSQLServer2005是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了一种称为:Transact-SQL的SQL语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。MicrosoftSQLServer2005的高度可扩展性和高可靠性。MicrosoftSQLServer2005使用了业界最先进的数据结构,能够为要求最苛刻的Web应用和企业应用提供高度的可扩展性和高可靠性。MicrosoftSQLServer2005在许多工业基准测试中的性能都创立了新世界纪录。²MicrosoftVisualStudio2005VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。²PowerDesignerPowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。2.3用户的需求分析2.3.1酒店的具体情况花园酒店成立于2002年,坐落在一个正在发展中的小县城。花园酒店主要业务分为:住宿、餐饮;整个酒店大约有员工40人,其中经理4名分别是人事部经理、客房部经理、库存经理、餐饮部经理;供客人住宿的房间主要有4种,豪华标准间,豪华单人间,普通单间,普通双人间,所有的房间设施齐全。整个酒店可以同时容纳500个人就餐。 第二章系统的需求分析2.3.2用户需求需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。经过仔细调查各种中小型酒店(花园酒店)的实际状况,并同酒店的相关人员进行沟通后,确定了本花园酒店的具体需求如下:ü客房部分1.个人信息分析:每个用户都有自己的基本信息及登陆系统的密码,在此能够修改自己的个人信息及熟悉的密码。2.订房分析:客人到达酒店后,需要到柜台办理住房登记,登记的过程中要为客人查询是否还有他需要的房间,当有的时候就为客人办理登记,记录下客人的基本信息及所交的金额。3.客人查询分析:客人查询可以按照客人的姓名及身份证号查询在住的客人的基本信息及订房信息。4.房间信息分析:房间信息包括房间房间的类型及基本信息管理,有必要的时候能添加新房间类型及对房间类型信息的维护。有新类型后,根据实际情况添加新房间则能选择刚新添加的类型或者以前的类型,同理也需要对房间能够进行信息的维护。5.营业情况分析:能够进行简单的营业情况统计,至少能统计出在柜台的进账数目。6.加班与请假审核分析:审核客房部门下员工的请假及加班的申请。ü库存部分1.酒店的一切物品都需要有统计,酒店的日常用品更需要统一的入库,在入库的时候又需要去记录与之相关的一些东西。比如入库的数量,还有就是经办人和入库的具体时间。2.酒店在运行时,就会需要很多的东西,在这时候就会相应的进行出库,在出库的时候还是需要记录与之相关的诸如出库的数量,经办人和时间等。 第二章系统的需求分析3.在酒店运作中难免会出现一些问题,这些时候主要还是会来查询库存,查看是什么地方出现问题,这时候库存的查询会很必要。4.在有了上面这些之后就需要对库存数据进行备份,因为系统很多时候都会遇到来自各方面的问题,可能出现系统不能使用,那时候系统的备份就会显得极其重要。可以用先前的备份来还原数据。那样系统的完整性可以得到很好的处理。这样就迫切需要备份和还原功能。ü人事部分酒店要有好的效益,他们都需要一个好的、可行的人事管理制度,希望酒店的人事管理系统能够实现。具体要求如下:1.酒店需要招新员工的时候人事部要负责给用户分配用户名其用户名的密码默认都为6个1,并将新员工的基本资料录入系统,其中包括新员工所属的部门、联系电话、基本薪资、邮箱等;当酒店有员工需要辞退的时候人事部要负责将系统中该用户的所有信息清除。2.如果在中途用户忘记了自己的密码可以到人事部经理那里进行修改,修改的时候只需要提供自己的用户名即可。3.人事部要根据酒店的具体情况对酒店的员工进行人事的调动,在员工管理里面修改用户信息即可。4.人事部将对酒店的所有员工进考勤,考勤的类型分为迟到、早退、缺席,在考勤的时候将具体的时间插入到数据库以便查询。5.人事部还将对自己部门下面的所有员工的加班申请和请假申请进行审核,如审核通过将改员工的加班或是请假的小时数存入数据库,以便该员工的能够准确的查询出自己加班和请假的信息。6.整个酒店的员工的工资也由人事部管理,工资包括员工的基本薪资、加班获得的工资、请假和考勤应该扣除的工资组成,酒店的所有工资都是由人事部的经理统一发放。7.人事部的经理可以对整个酒店员工个人信息、考勤情况、工资信息、加班记录、请假记录进行查看。 第二章系统的需求分析2.3.3系统的整体功能模块根据系统用户提供的(花园酒店的)需求和结合开发人员的整体分析,最终确定系统的整体功能模块(如图2-1)图2-1系统总体功能模块图2.4系统功能模块分析2.4.1管理员模块本系统模块划分如图2-2管理员功能模块图所示图2-2管理员功能模块 第二章系统的需求分析2.4.2普通员工模块普通员工模块,如下图2-3普通员工功能模块图所示图2-3普通员工功能模块图2.5数据库的需求分析经过仔细分析,需要存储员工的信息如员工的编号、姓名、性别、职务、所属部门;存储客户的信息,如客户的编号、姓名、性别、身份证号码、电话号码、订房开始日期、订房结束日期,房间编号,支付金额;存储房间的信息,如房间的编号、位置、类型、描述、是否已定;房间类型信息,如类型编号、类型名称、房间面积、床位数、是否有空调、是否有电视。 第三章概要设计第三章概要设计3.1系统总统设计3.1.1系统目标要求系统目标应该达到以下要求:1.时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2.可靠性。能连续准确的处理业务,有较强的容错能力。3.可理解性。用户容易理解和使用该系统。4.可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5.可用性。目标系统功能齐全,能够完全满足业务需求。6.安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。3.1.2系统平台选择选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。本系统采用中文WindowsXP平台,VisualStudio为开发工具,软件开发在WindowsXP平台下运行。3.1.3系统流程设计系统流程就是用户在使用系统时的工作过程。本系统是多类型用户管理信息系统,每一类用户的工作权限有所区别。多用户系统的工作流程都是从用户登录模块开始的,对用户的身份进行认证。身份认证可以分为以下两个过程:1.确认用户是否是有效的系统用户。2.确定用户的类型。 第三章概要设计第一个过程决定用户能否进入系统。第二个过程根据用户的类型决定用户的操作权限。本系统的流程设计如下图3-1工作业务流程图所示:图3-1工作业务流程图3.2数据库的概要设计在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用E-R图的方法来进行数据结构的分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的设计方法。E-R图由实体、属性、联系三部分组成。各部分实体图说明如下图3-2系统E-R图。 第三章概要设计图3-2系统E-R图3.3功能模块的设计3.3.1登录模块正确的用户名和密码登陆系统,普通员工则登陆普通员工页面,经理则进入经理页面。如图3-3登陆界面所示:图3-3登陆界面3.3.2普通员工模块普通员工一登陆后能管理自己的信息,能提交加班、提交请假,能查看自己的加班记录、请假记录、工资、考勤。如图3-4普通员工所示: 第三章概要设计图3-4普通员工3.3.3管理员模块管理员就有权限去维护房间的信息,查看空闲房间,添加新房间,查看营业情况,审核普通员工的请假与加班。如图3-5管理员所示:图3-5管理员 第四章详细设计第四章详细设计4.1数据库的详细设计4.1.1表的设计经仔细分析本系统所需要的表的设计如下所示:表4-1入住人信息登记表字段名数据类型备注IDint客户编号(主键)CNamenvarchar(50)客户姓名Sexnvarchar(2)客户性别IDNumbernvarchar(50)客户身份证号Telephonenchar(10)客户电话号码StartDatedatetime订房开始日期EndDatedatetime订房结束日期RoomIDnvarchar(50)房间编号Paymoney支付金额表4-2客房表字段名数据类型备注RIDvarchar(50)房间编号(主键)RTypeint房间类型RPositionvarchar(50)房间位置RDescribevarchar(50)房间描述Ryidingint是否已定表4-3房间状态表字段名数据类型备注SRIDvarchar(50)房间编号(主键、客房表外键)SSatebit房间状态表4-4房间类型表字段名数据类型备注TIDint类型编号(主键)TNamevarchar(50)类型名称TAreafloat房间面积TBedQuantityint床位数TPricemoney价格 第四章详细设计TAirConditionbit是否有空调TTVbit是否有电视4.1.2视图的设计为了简化操作,那些经常使用的查询我们定义为视图,使我们每次的查询不必指定全部的条件,经过仔细的分析,本系统需创建的视图如下:查询客户信息视图SELECTdbo.customerInformation.CName,dbo.customerInformation.Sex,dbo.customerInformation.IDNumber,dbo.customerInformation.Telephone,dbo.roominfo.TID,dbo.roominfo.TName,dbo.roominfo.TBedQuantity,dbo.roominfo.TArea,dbo.roominfo.TPrice,dbo.roominfo.TAirCondition,dbo.roominfo.TTV,dbo.roominfo.RPosition,dbo.roominfo.RDescribe,dbo.roominfo.RType,dbo.roominfo.RID,dbo.roominfo.RyidingFROMdbo.customerInformationRIGHTOUTERJOINdbo.roominfoONdbo.customerInformation.RoomID=dbo.roominfo.RIDWHERE(dbo.roominfo.Ryiding="1")查询房间信息视图SELECTdbo.RoomType.TID,dbo.RoomType.TName,dbo.RoomType.TArea,dbo.RoomType.TBedQuantity,dbo.RoomType.TPrice,dbo.RoomType.TAirCondition,dbo.RoomType.TTV,dbo.GuestRoom.RPosition,dbo.GuestRoom.RDescribe,dbo.GuestRoom.RType,dbo.GuestRoom.RID,dbo.GuestRoom.RyidingFROMdbo.GuestRoomINNERJOINdbo.RoomTypeONdbo.GuestRoom.RType=dbo.RoomType.TID4.1.3存储过程的设计当接受用户输入的时候,为了是查询速度更快,本系统设计了以下的存储过程,如下所示:房间添加的存储过程CREATEPROCEDURE[dbo].[GuestRoomAdd](@RID[varchar](50),@RType[int],@RPosition[varchar](50),@RDescribe[varchar](50))ASINSERTINTO[HMS].[dbo].[GuestRoom]([RID],[RType], 第四章详细设计[RPosition],[RDescribe])VALUES(@RID,@RType,@RPosition,@RDescribe)房间删除的存储过程CREATEPROCEDURE[dbo].[GuestRoomAdd](@RID[varchar](50),@RType[int],@RPosition[varchar](50),@RDescribe[varchar](50))ASINSERTINTO[HMS].[dbo].[GuestRoom]([RID],[RType],[RPosition],[RDescribe])VALUES(@RID,@RType,@RPosition,@RDescribe)4.2系统首页设计及代码分析Ø功能简介用户名输入自己的用户名和密码以后,系统将从登录表(user)中查找相关信息如果用户名和密码都匹配,就根据用户级别跳转到相应的页面。并用session记录该用的登录名和用户级别信息。便于用登录到相关的用户界面进行一些必要的处理。如图4-1登陆所示:员工打开系统就会看见登录页面,在登录页面输入自己正确的登录名和密码由系统判断登录者的类型然后进入不同的页面。当用户输入的登录名不存在的时候系统会弹出消息框该用户名不存在;当用户输入的用户名存在而密码错误的时候,系统也会弹出消息框告诉用户密码不正确,如图4-2错误提示。只有当用户输入了正确的用户名和密码的时候才能登进花园酒店管理系统。Ø相关截图 第四章详细设计图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);stringaa=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())};SqlDataReaderdr=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");elseif(Session["deparid"].ToString()=="2")Response.Redirect("index1.aspx");elseif(Session["deparid"].ToString()=="3")Response.Redirect("index2.aspx");Response.Redirect("index3.aspx"); 第四章详细设计4.3个人信息页面设计及代码分析Ø功能简介经理或者普通员工登陆就能看到自己的个人信息且不能修改。如图4-3个人信息设计视图所示Ø相关截图图4-3个人信息设计视图Ø相关功能代码SQLDataBaseMySql=newSQLDataBase();protectedvoidPage_Load(objectsender,EventArgse)if(!IsPostBack)stringstrselect="select*from[user]where员工登陆名=""+Session["user"].ToString()+""";SqlDataReaderdr=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所示:Ø相关截图 第四章详细设计图4-4密码修改Ø相关功能代码stringstrselect="select*from[user]where员工登陆名=""+Session["user"].ToString()+""and员工登陆密码=""+TextBox1.Text.Trim()+""";SqlDataReaderdr=MySql.QueryDr(strselect);if(dr.Read())stringstrupdate="update[user]set员工登陆密码=""+TextBox3.Text.Trim()+""where员工登陆名=""+Session["user"].ToString()+""";MySql.Query(strupdate);Response.Write("");elseResponse.Write("");4.5订房页面设计及代码分析Ø功能分析通过客户的咨询,找到客户所需要的房间,录入客户的信息及所交金额点击.如图4-5订房页面所示:Ø相关截图 第四章详细设计图4-5订房页面Ø相关功能代码TrySqlParameter[]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");catchRegisterClientScriptBlock("0","");4.6退房页面的设计及代码分析Ø功能分析客户有不想在住了的打算要求立即退房,可在退房页面为客户退房。确认客户的信息点击即可退掉当前的房间,如图所示,当前房间就会显示在空闲的房间里面。如图4-6退房页面所示: 第四章详细设计Ø相关截图图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已定房间按身份证查询 第四章详细设计图4-8已定房间按姓名查询Ø相关功能代码stringstrsql=string.Empty;if(DropDownList1.SelectedValue=="姓名")strsql="select*fromroom_cuswhereCNamelike%"+TextBox1.Text.Trim()+"%"";DataSetds=MySql.Query(strsql);grdResult.DataSource=ds;grdResult.DataBind();elsestrsql="select*fromroom_cuswhereIDNumberlike"%"+TextBox1.Text.Trim()+"%"";DataSetds=MySql.Query(strsql);grdResult.DataSource=ds;grdResult.DataBind();4.8房间信息维护页面的设计及代码分析Ø功能简介能够修改房间的类型,房间的位置,房间的描述,能删除此房间,如图4-9房间信息维护所示:Ø相关截图图4-9房间信息维护 第四章详细设计Ø相关功能代码分析房间的修改if(Page.IsValid)//从文件Web.config中读取连接字符串Stringstrconn=ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;//连接本地计算机的HMS数据库SqlConnectioncn=newSqlConnection(strconn);cn.Open();//利用Command对象调用存储过程SqlCommandcm=newSqlCommand("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");房间的删除Stringstrconn=ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;//连接本地计算机的HMS数据库SqlConnectioncn=newSqlConnection(strconn);cn.Open();SqlCommandcm=newSqlCommand("guestroomdelete",cn);cm.CommandType=CommandType.StoredProcedure;cm.Parameters.Add("@RID",SqlDbType.VarChar);cm.Parameters["@RID"].Value=lbl_rid.Text.ToString();cm.ExecuteNonQuery();cn.Close(); 第四章详细设计//对RoomState表进行删除cn.Open();SqlCommandcm0=newSqlCommand("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添加新类别 第四章详细设计Ø相关功能代码添加新房间功能代码if(Page.IsValid)//对GuestRoom表进行添加//从文件Web.config中读取连接字符串Stringstrconn=ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;//连接本地计算机的HMS数据库SqlConnectioncn=newSqlConnection(strconn);cn.Open();//利用Command对象调用存储过程SqlCommandcm=newSqlCommand("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();SqlCommandcm0=newSqlCommand("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) 第四章详细设计{//从文件Web.config中读取连接字符串stringstrconn=ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;//连接本地计算机的HMS数据库SqlConnectioncn=newSqlConnection(strconn);cn.Open();//利用Command对象调用存储过程SqlCommandcm=newSqlCommand("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营业状况所示。Ø相关截图 第四章详细设计图4-12营业状况Ø相关功能代码//从文件Web.config中读取连接字符串Stringstrconn=ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString;//连接本地计算机的HMS数据库SqlConnectioncn=newSqlConnection(strconn);//创建最初选择语句Stringorderstate="SELECTRID,Rtype,TID,Tname,ORID,ObeginDate,OEndDate,OPayFROMGuestRoom,RoomType,OccupyWHERERID=ORIDANDRType=TIDANDOPay!=0";if(ddl_rtype.SelectedItem.Value.ToString()!="-1")//如果“房间类型”有输入orderstate=orderstate+"andrtype="+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+"andoenddatebetween""+datefrom+""and""+dateto+""";//创建SqlDataAdapter对象,调用视图SqlDataAdapterda=newSqlDataAdapter(orderstate,cn);//创建并填充DataSetDataSetds=newDataSet();da.Fill(ds);dgd_count.DataSource=ds;dgd_count.DataBind();cn.Close(); 第五章系统的测试第五章系统的测试5.1软件测试的目的测试目的:使用人工或自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。为了将本系统的软件错误降至最低,进一步提高系统的可靠性,并对系统进行相关测试5.2测试环境测试环境,如表5-1测试表所示:表5-1测试表软件环境硬件环境操作系统中文版WindowsXPCPU2.80GHz数据库SqlServer2005内存512M测试平台VS2008网卡100Mbps浏览器IE6.0/7.0、火狐、傲游带宽1M5.3测试人员分工测试人员主要来自我们班上,分工如下:管理员模块:张智聪、谭克非普通员工模块:李先龙5.4测试过程整个系统测试如下所示表5-2登陆测试和密码修改表测试步骤预期结果测试结果结论登录模块测试测试通过 第五章系统的测试1、使用正确的用户名和密码进行登录系统自动判别用户级别,自动跳转到相应用户级别页面。如:管理员页面、教师页系统正确地判断了用户的身份,并正确跳转相应级别用户页面2、使用错误的用户名或密码不能进入任何页面,并显示出错误提示信息。用户不能登录到任何页,且显示出提示信息“你输入的用户名或密码有错”测试通过3、直接用系统内页面的url绕过登录,进行登录系统判断session里的值为空,自动跳转到登录页面页面都能自动跳转到登录页面。测试通过修改密码测试1、新密码和确认密码不相同不能更密码,并提示新密码与确认密码不相同用户不能更改密码,系统提示新密码和确认密码不相同测试通过2、不输入任何密码不能更改密码,并提示旧密码不能为空用户不能更改密码,系统提示旧密码不能为空测试能过3、输入正确的旧密码,并新密码与确认密码相同成功更改该用户的密码,并弹出“修改密码成功“用户修改密码成功,系统弹出“修改密码成功“对话框。测试成功表5-3订房测试和退房测试表订房测试1.输入正确的客户信息订房当确定订房后,自动跳转到空闲房间页面系统正确的判断输入的客户信息测试通过2.输入错误的客户信息订房当确定订房后,不能跳转到空闲房间页面系统自动提示“请填写正确信息”不能跳转到其他任何页面测试通过3.不输入客户信息订房当确定订房后,不能跳转到空闲房间页面系统自动提示“请填写正确信息”不能跳转到其他任何页面测试通过退房测试点击退房,确认当确认后,跳转到已定房间页面系统自动跳转到已定房间页面,可以继续退房测试通过 总结与展望总结与展望总结经过两个月的忙碌和工作,本次毕业设计已经近完成,由于经验的缺乏,难免有许多考虑不周全的地方,如果没有指导老师的督促指导,以及小组其他成员的支持,想要完成这个设计是很苦难的。在这里首先要感谢我的指导老师陈玲老师,在我做毕业设计的每个阶段,都给予了我细心的指导。其次还要感谢我们这支开发小组,在本次设计中,大家勤奋工作,克服了许多困难来完成此次毕业设计。在整个设计过程中,我的总结如下:1、这是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性,这对于将来我走上工作岗位具有重要意义。2、设计过程中,经常会遇到困难,不懂的时候就上网查资料或问同学,然后根据自己的设计要求完成模块。3、设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系,我通过在论坛上提出问题得到了很多热心网友的帮助,这坚定了我通过网络吸收知识的信心。经过近两个多月的设计,我深刻体会到要做好一件事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。通过此次毕业设计,我不但对SQLServer2005和VisualStudio2005有了深刻的认识,积累了一定的经验,同时最重要的是摸索出了一套考虑问题和解决问题的方法,这对于我将来走上工作岗位受益匪浅。 总结与展望展望虽然系统已完成,任务书上的功能已基本都实现了,如客人的订房与退房,个人密码的修改及房间类型管理等。由于前期工作的不彻底,对系统需求分析的要求认识不够清楚,所以一些功能不是很完全,以后还需要不断的修改,以进一步的完善。界面的布局还有待于优化,能让用户感觉更加友好。 致谢致谢在论文完成之际,在此我要特别感谢我的指导老师,感谢她在整个项目开发过程中对我的精心指导以及对我的严格要求。同时还要感谢我的所有任课老师们,三年的时间里我得到了老师们悉心的教会和无私的帮助,学到的不仅仅是专业知识,更重要的严谨的治学态度和做人的道理,我相信有了这三年的经历,在成长的道路上我们会走得更远。在系统的设计过程中,也得到了许多同学的宝贵意见,组员的相互支持和帮助,在此一并致以诚挚的谢意。最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢! 参考文献参考文献[1]杨则正.管理信息系统的维护.管理科学文摘.1996.(08)。[2]基于SQLServer的数据库系统开发.人民邮电出版社。[3]周立柱.SQLServer数据库原理设计与实现.清华大学出版社。[4]微软公司著.《数据库程序设计》.高等教育出版社。[5]陆丽娜.《软件工程》.经济科学出版社。[6](美)RonPatton著.《SoftwareTesting》.2006.01。[7]丁波.欧震旭.编著.2002《跟我学做网页》.科学出版社。[8]我国酒店发展现状及趋势分析---论文网www.51paper.net/index.htm[9]周峰.徐晓军.马德路.ASP开发技术原理与实践教程.电子工业出版社.2006。[10]明日科技.张跃廷.王小科.许文武.ASP.NET.数据库系统开发案例精选.人民邮电出版。[11]AlexHomerDaveSussman.ASP.NET2.0高级编程.清华大学出版社出版社。[12]微软公司著.SQLServer2000.数据库程序设计.北京高等教育出版社。'