1、酒店管理系统第一章 问题定义- 1 -第二章 可行性研究- 1 -2.1 系统建设目的- 1 -2.2 可行性分析- 2 -第三章 系统需求分析- 3 -3.1 酒店管理系统需求陈述- 3 -3.2 使用构造化办法进行系统分析- 3 -3.3 对系统进行面向对象分析- 7 -第四章 系统概要设计- 10 -4.1 系统体系构造图- 10 -4.2 数据库设计- 10 -第五章 系统详细设计及其实现- 13 -5.1主模块- 14 -5.2 顾客综合管理模块- 16 -第六章 系统测试- 35 -第一章 问题定义 随着人们生活水平不断提高,使酒店客房业竞争也愈来愈激烈,因而必要提高酒店管理水平,
2、酒店客房管理系统通过对信息收集、传递、整顿、加工、维护和使用,提高管理水平和效率。本系统基于Microsoft SQL SERVER 数据库系统和C#程序语言开发实现酒店客房管理系统,着重阐述了该系统开发实现过程,从系统需求分析、模块设计、数据设计、详细设计到系统测试等环节都进行了较详尽分析和描述。酒店客房管理系统要实现客房预定、入住登记、钟点记费、消费记账、调房登记、退房结账、查询记录等功能。其中钟点记费可以在客户来店时间起开始记费至规定离店时间进行结账收费,该功能可明显提高对住宿人员宿费有效管理。将动态实时住宿登记、客房调节等有机地联系在一起,对酒店客房进行全方位管理。系统目的与范畴阐明书
3、项目名称:酒店管理系问题:当前系统式手工操作,费时费力,效率低下。项目目的:建立一种高效率、自动化操作酒店管理计算机系统。项目规模:开发成本应当不超过5万元。初步设想:用学校既有物力和人力资源开发该系统。可行性研究:为了全面分析该系统开发也许性,建议进行大概3周可行性研究。可行性研究成本不超过5000元。第二章 可行性研究2.1 系统建设目的酒店客房信息管理在整个酒店客房运作过程中起着非常重要作用。通过信息管理,酒店客房管理人员可以随时理解客房预订、入住等状况,可以在宏观上分派基本设施使用。运用数据库管理资料可以以便地管理睬员客户资料以利于业务上往来和客服调查,同步功能强大新增、修改、删除及查
4、询操作和钟点计费功能使酒店客房管理系统成为管理人员得力助手,基于手工操作种种缺陷,为了实现管理自动化,将酒店客房管理流程与规则与当代计算机技术相结合,建立起酒店客房管理系统。酒店客房管理系统还可以全程监管客户在客房消费活动,并对收入状况进行记录,从而实现酒店客房管理流程全过程电子化操作。2.2 可行性分析可行性分析是任何一种大型工程正式投入力量之前必要进行一项工作。这对于保证资源合理运用、避免挥霍是一种十分重要,也是项目一旦开始后来能顺利进行必要保证。当系统开发目的拟定后,就可以从如下三方面对能否实现新系统目的进行可行性分析:1. 技术可行性技术可行性是指:依照既有技术条件,能否达到所提出规定
5、;所需要物理资源与否具备,能否得到。针对于本系统,本系统属于一种普通MIS系统。在其组织关系上也未存在很大复杂性、繁琐性及不拟定性,并且整个系统技术构成上来看,它还是属于一种简朴数据库应用类系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。因此就单纯数据库应用来看,暂不存在太大技术问题。并且本系统开发我运用Microsoft SQL Server作为本系统数据库,它是一种支持多顾客新型数据库,合用于大中规模数据量需求。使用Microsoft Visual Studio作为系统开发开发环境,它作为一种当代编程语言,提供完善指令控制语句、类与对象支持及丰富数据类型,给开发高性能系统提供
6、保障为开发满足客户规定系统,保证了代码模块化规定,而代码模块化提高,非常有助于后来对新系统扩展与修改。因而,本系统设计与开发在技术上和硬件设备上条件都是满足,它在技术上是可行。 2. 经济可行性2.1 系统初期投资系统初期投资如表2-1所示。表2-1系统初期投资序号项目人工(人日)单价(元)共计(元)1需求分析32006002总体设计102002,0003房间管理子系统详细设计32006004退房结账子系统详细设计52001,0005工程实际成本数据库实现102002,0006编码实现102002,0007单体测试52001,000 8系统集成测试52001,000 9阐明手册编制320060
7、0 10共计10,8002.2 系统货币时间价值系统货币时间价值如表2-2所示。表2-2系统货币时间价值年份将来值(万)(1+i)n当前值(万)合计当前值(万)10.61.050.57140.571420.61.10250.54421.115630.61.15760.51831.633940.61.21550.49362.127550.61.27630.47012.59762.3 投资回收期系统开发成功后,第一年可以赚得0.5714万元,比投资少0.4286万元。次年可以赚得0.5442万元。即:0.4286/0.5442=0.7876年1+0.7876=1.7876年2.4 纯收入 2.59
8、76-1.08=1.5176(万元)固然,如果想要在五年后得到预测纯收入,那么一方面就应拿出初期投资10万。并且考虑到开发本系统将为后来带来利益,拿出10万来进行酒店客房管理系统开发,是绝对必要。综上所述,该系统开发在经济方面是可行。3. 运营可行性在现今社会越来越多酒店都意识到信息化是提高管理效率不可缺少重要环节配备当代化管理思想更是必不可少,因此在酒店领导者予以系统充分开发资金基本上,更要将当代化管理思想融入其中,使其最后成为具备当代化管理办法管理系统。通过以上分析,运营方面是可行。4. 法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触方面。因而,本系
9、统在法律上是可行。按上述四方面进行可行性分析、研究后,咱们以为该项目是可行。第三章 系统需求分析3.1 酒店管理系统需求陈述依照可行性研究成果和客户规定,决定采用C/S构造,将酒店客房管理系统划分为两个子系统,即客户端子系统、服务器端子系统。其中,客户端子系统功能是给顾客提供系统操作界面,以便输入客户信息、房间信息、客户消费状况、房间入住、预订、续住及调换等。服务器端子系统功能是通过计算机网络将客户端与服务器数据库相连,将从客户端得到信息解决,实现新增、修改、删除、查询、记录等操作。酒店管理系统需要具备如下业务:1) 客户向酒店发出入住意向;2)操作员针对客户需求进行办理预订或及时入住信息,生
10、成预订信息表和入住信息表;3)客户可通过管理员进行办理睬员卡,可以享有优惠价格,生成客户基本信息表;4) 管理员可新建房间信息及房间价格原则,及系统日记信息查询;5)操作员对客户在店其间消费项目,生成消费信息表,以便客户退房时结账清晰;6)客户结账退房,操作员对客户所住时间、房间价格、折扣、加床价格和消费项目进行结算;7) 管理员向操作员发出记录结算时间段收益告知;8) 操作员接到告知后,进行记录结算,生成记录报表。3.2 使用构造化办法进行系统分析3.2.1系统功能建模对顾客需求进行分析,画出系统数据流图,如图3.1图3.4所示。图3.1 学生宿舍管理系统顶层DFD图3.2 学生宿舍管理系统
11、0层DFD图3.3 学生宿舍管理系统1层DFD“宿舍管理”加工分解图图3.4 学生宿舍管理系统1层DFD“宿舍评比”加工分解图3.2.2 学生宿舍管理系统E-R图依照系统数据流程图,咱们可以列出如下系统所需数据项:学生:学号、姓名、床位号、系别、学院、班级、性别、民族、籍贯、学历、政治面貌、政治面貌、联系电话、缴费状况床位:床位表、铺位、寝室号、住没住人寝室:寝室号、朝向、可住人数、已住人数、居住性别设备:设备号、设备名、寝室号、购买日期、制造商、最大使用年限、设备状态分数:成绩记录编号、寝室号、卫生罚分、违纪罚分、总分、月份同步系统还需要进行记录数据项:来访记录:来访记录编号、来访人姓名、被
12、访人姓名、被访人床位号、所属关系、证件名称、值 班 人、来访日期、来访时间、结束时间、备注违纪记录:违纪记录编号、违 纪 人、所属寝室号、违纪扣分、违纪状况、违纪日期卫生记录:卫生记录编号、寝室号、地面不净扣分、床铺不整扣分、桌面乱差扣分、空气不好扣分、检 查 日 期、检 查 人电费使用:用电记录编号、寝室号、用电量、月份、电费学生宿舍管理系统E-R模型如图3.5-图3.10所示。图3.5 床位实体图图3.6 寝室实体图图3.7 学生实体图3.8 设备实体图图3.9 考核成绩实体图图3.10 实体之间关系-图3.3 对系统进行面向对象分析3.3.1 系统用例模型1. 参加者列表列出系统用例参加
13、者,并作简要阐明。例:客户:出钱购买咱们服务人。2. 用例列表列出系统需完毕用例编号和名字,并简要阐明其任务。例:UC-1 登录:用于验证顾客权限。3. 用例图画出系统用例图,注意图不能单独浮现,需要图名图号,并有正文对它引用。例如:本系统用例图如图3.11所示。图3.11 系统用例图4. 用例规格阐明本系统有如下用例:(1)用例详细阐明每个用例。3.3.2 系统对象模型 概要阐明本小节内容1. 拟定类与对象分析并列出系统功能实现所涉及类或对象。例:学生、教师、课程等。2. 拟定关联分析并列出哪些类之间存在关联,及什么样关联。3. 拟定属性分析并列出系统中类与对象属性。4. 拟定服务分析并列出
14、系统中类与对象服务/行为操作。5. 系统类图此处是为系统建立类图。图3.12 系统类图第四章 系统概要设计4.1 系统体系构造图本系统软件体系构造图,参见图4.1所示:图4.1 系统功能模块图4.2 数据库设计依照酒店客房部实际状况,本系统数据库命名为:BarManager,此数据库存储了房间、客户等操作生成数据信息。BarManager数据库为满足各模块设计共分11张信息表。当系统顾客登录时,输入顾客名称、顾客密码及权限与登录表中信息相判断。系统管理员登录表如表4-1所示。表4-1Login(登录表)序号英文名中文名类型长度(字符)1ID自动编号Int 1-327672UserName顾客名
15、称Varchar(10)4-103PassWord顾客密码Varchar(10)1-104UserQuan权限Varchar(10)6-10 客户办理睬员信息存储在客户信息表中,以备后来查询。客户信息表如表4-2所示。表4-2Custom(客户信息表)序号英文名中文名类型长度(字符)1CuId客户编号Int 1-327672CuName客户名称Varchar(10)4-103CuType客户类型Varchar(10)4-104CuTel客户电话Varchar(20)7-115 Operator操作员Varchar(10)4-10房间所在位置、为什么类型及有关信息都存储在相应表中,对房间做任何操
16、作时,后来查询起来以便,易管理。房间信息表、房间类型表及楼层信息表分别如表4-3、表4-4、表4-5所示。表4-3RoomInfo(房间信息表)序号英文名中文名类型长度(字符)1RoomId房间编号Varchar(10)4-102TypeId类型编号Varchar(10)4-103FloorId楼层编号Varchar(10)4-104RoomCount额定人数Int1-55RoomMiao房间描述Varchar(50)1-506BedCount床数Int1-57ZhuTai房间状态Varchar(10)4-108BackZhu备注Varchar(50)1-50表4-4TypeInfo(房间类型
17、信息表)序号英文名中文名类型长度(字符)1TypeId类型编号Varchar(10)4-102TypeName类型名称Varchar(10)8-103RoomJia房间价格Money4PinRoomJia拼房价格Money5OverYuCount可超预订数Decinal36YNPin与否可拼房Bit1表4-5FloorInfo(楼层信息表)序号英文名中文名类型长度(字符)1FloorId楼层编号Varchar(10)4-102FloorName楼层名称Varchar(10)4-10对客户在店内任何消费状况进行管理,并将消费信息存储在消费记账表中。消费记账表如表4-6所示。表4-6Bank(消费
18、记账表)序号英文名中文名类型长度(字符)1ZhangId消费编号Varchar(10)4-102RuId入住单号Varchar(10)4-103XiaoNei消费内容Varchar(50)2-504XiaoJing消费金额Money5XiaoDate消费时间Smalldatetime6BackZhu备注Varchar(50)2-50客户可以提前预订房间,对预订信息存储在预订信息表中,在客户入住时提取预订信息,提高办理入住手续;或客人可以直接办理入住,入住信息存储在入住信息表中,进行管理。预订信息表、入住信息表如表4-7、表4-8所示。表4-7YuDing(预订单表)序号英文名中文名类型长度(字
19、符)1YuId预订单号Varchar(10)4-102YuPeple预订人Varchar(10)4-103TypeId类型编号Varchar(10)4-104PepleTel联系电话Varchar(11)7-115RoomId房间编号Varchar(10)4-106RoomJia房间价格Money7RuJia入住价格Money8RuCount入住人数Int1-59ComeDate抵店时间Smalldatetime10GoDate离店时间Smalldatetime11ZhuTai单据状态Varchar(10)4-1012YuShouKuan预收款Money13YNJia与否加床Bit114Jia
20、ChuangJia加床价格Money15ZheKou折扣Money16ZheKouWhy折扣因素Varchar(50)1-5017BankZhu备注Varchar(50)1-50表4-8RuZhu(入住单表)序号英文名中文名类型长度(字符)1RuId入住单号Varchar(10)4-102YuId预订单号Varchar(10)4-103CuName客户名称Varchar(10)4-104CuType客户类型Varchar(10)4-105CuTel客户电话Varchar(11)7-116RoomId房间编号Varchar(10)4-107RoomJia房间价格Money8TypeId类型编号V
21、archar(10)4-109ZhuTai单据状态Varchar(10)4-1010ComeDate抵店时间Smalldatetime续表4-811GoDate离店时间Smalldatetime12RuCount入住人数Int1-513RuJia入住价格Money14YuShouKuan预收款Money15ZheKou折扣Money16ZheKouWhy折扣因素Varchar(50)1-5017YNJia与否加床Bit118JiaChuangJia加床价格Money19YingZhang应收账款Money20YNJieZhang与否结账Bit121JieZhangMoney结账金额Money2
22、2JieZhangDate结账日期Smalldatetime23FuKuanWay付款方式Varchar(10)4-1024BackZhu备注Varchar(50)1-50 第五章 系统详细设计及其实现由于系统比较大,因此挑选其中若干重要模块简介了它们详细设计与实现。5.1主模块1设计思想:本系统主界面采用莱单式构造。主界面有六大主莱单:客户管理、房间管理、收银结账、系统设立、关于咱们和退出系统。每个主莱单下包括了完毕相应操作子莱单。以房间管理莱单为例,此莱单包括如下子莱单:1房间信息子莱单:完毕房间信息新增,修改等管理操作。2房间预订子莱单:完毕客户需求预订房间信息。3房间入住子莱单:及时地
23、响应客户入住需求办理。4房间续住子莱单:在客户离店时间已届时,客户可以办理续住。5房间调换子莱单:在客户入住时,发现房间位置或其她原规定调换房间时,通过此子莱单以便迅速地实现客户需求。6入住历史子莱单:记录了以往来客入住状况,以便与客户来往。2界面设计如图5.1所示。图5.1 系统主界面3窗体重要对象属性设立:表5.1 窗体重要对象属性4有关程序:1)连接到顾客综合管理模块,在“顾客管理综合管理”菜单项按钮N2 Click事件解决程序中完毕,代码如下:procedure TForm2.N2Click(Sender:TObject);beginform3:=tform3.create(self)
24、;form3.show;end;2)其她菜单链接同1,按钮、快捷键链接同菜单链接相似,只是在按钮或快捷键Onclick事件解决中完毕。3)在状态栏显示系统时间,在Timer1Timer事件解决程序中完毕,代码如下procedure TForm2.Timer1Timer(Sender:TObject);begin StatusBar1.Panels5.text:=DateTimeToStr(Now);end;5.2 顾客综合管理模块为了阐明系统详细设计及其实现,以顾客管理模块和入住管理模块为例进行阐明。1界面设计如图5.2所示。图5.2 顾客管理新增顾客窗体布局图5.3顾客管理删除顾客窗体布局图
25、5.4顾客管理修改顾客信息窗体布局2程序流程图:1)新增顾客图5.5 新增顾客模块流程图2)顾客删除图5.6 顾客删除模块流程图3)顾客信息修改图5.7 顾客信息修改模块流程图3有关程序(1) 在新增顾客过程中,在“提交”按钮BitBtn1OnClick事件解决程序中完毕,代码如下:procedure TForm3.BitBtn1Click(Sender:TObject);var s:integer; /阐明s是integer型变量begin query1.SQL.Clear; /将控件query1内SQL语句清空 query1.SQL.Add(select * from 顾客表); /将控件
26、query1内SQL语句增长操作“查询顾客表内所有内容” query1.Open; /激活query1控件 query1.First; /query1控件指向第一条记录 s:=0; /给变量S附值为0 while (not query1.Eof) and (s=0) do /若query1指针没超过最底一条记录并且s=0进行循环。(三)入住登记模块1设计思想:入住登记是对学生进行入住登记,即为学生分派入住寝室房间。一方面,学生入住寝室床位需求查询中选取自己规定居住寝室、床位条件,点击“查询”按钮对寝室表、床位表进行了查询,在数据网格中显示满足规定条件且床位没有住人信息,学生在数据网格点击选取自
27、己合意记录之后,此条记录床位号、寝室号信息即可在入住登记入住信息床位号、寝室号后文本框中直接显示,填写学生信息及选取缴费状况,点击“登记”按钮,将入住登记中学生名称、学号、床位号、缴费状况后文本框内容填入学生表最后一条记录后,同步要把床位表中列床位号值等于此入住床位号记录列住没住人值改为“已住人”,还要将寝室表中列寝室号值等于此入住床位号属于寝室寝室号那条记录列已住人数值进行加一。“取消”按钮负责关闭入住管理模块。2界面设计:图5.8 入住管理界面3窗体重要对象属性设立:4程序流程图学生入住程序流程图,如下图所示:5有关程序:1)对入住寝室床位需求查询,在“查询”按钮BitBtn1OnClic
28、k事件解决程序中完毕,SQL语句如下:ssql:=select 寝室表.寝室号,床位号,居住性别,朝向,铺位,可住人数,已住人数,住没住人 from 寝室表,床位表 where 寝室表.寝室号=床位表.寝室号 and +居住性别=+ssex+ and +朝向=+chaoxiang+ and +铺位=+chuangpu+;2)对学生入住操作,在“登记”按钮BitBtn1OnClick事件解决程序中完毕,代码如下:。(四)宿舍调节模块1设计思想: 宿舍调节负责将对规定更换寝室床位学生进行床位调节。一方面,在学生信息框内填入规定调节宿舍学生姓名、学号,点击“查看居住信息”按钮,在原始宿舍信息框内数据
29、网格中显示该学生现入住寝室床位信息,点击网络删格中记录,则在下寝室号和床位号后文本框内显示出该学生现入住信息。“点击查询可更换寝室”则在弹出查询要更换到寝室床位号窗体数据网格中点击选取要更换寝室床位那条记录,窗体关闭,并将选取信息显示在调节宿舍为框内寝室号和床位号后文本框中,也可在要更换到寝室床位号窗体中进行居住性别、床铺位置、寝室朝向综合查询以更以便选取更换信息。点击“调节”按钮进行更换宿舍操作,一方面查询学生表,将学号等于规定换宿舍学生学号那条记录列床位号值变更为调节后床位号,随后更改床位表床位号等于旧床位号那条记录住没住人值为没住人,同步要将床位表床位号等于旧床位号那条记录住没住人值为没
30、住人。最后,好要将在寝室表寝室号等于旧寝室号那条记录已住人数数值减一,等于新寝室号那条记录已住人数数值加一,完毕宿舍调节,显示“您已成功调节宿舍”。2界面设计1)宿舍调节界面设计图8-29 宿舍调节界面2)要调节到寝室床位信息查询界面设计图8-31 调节床位信息3窗体重要对象属性设立:宿舍调节窗体重要对象属性设立:2)查询可更换宿舍窗体重要对象属性设立4程序流程图:5有关程序:1)对学生宿舍调节,在“调节”按钮BitBtn1OnClick事件解决程序中完毕,代码如下:procedure TForm13.BitBtn1Click(Sender:TObject);var s,n,m,num1,nu
31、m2:integer; aaaa,ddd,aaa,str,sstr,ssstr,str1,str2,str3,str4:string;begin query2.SQL.Clear; query2.SQL.Add(select * from 学生表); query2.Open; query2.First; s:=0; query4.SQL.clear; query4.SQL.add(select * from 床位表); query4.Open;(五)学生退宿模块1设计思想:学生退宿功能实现对某个学生退宿管理。在学生姓名、学号后文本框中填写规定退宿学生信息,点击按钮“退宿” ,对床位表中“住没住
32、人”值修改,对寝室表“已住人数”数值变更,对学生表中退宿学生信息删除。2界面设计:图8-33 学生退宿界面3程序流程图:图8-34学生退宿流程图4有关程序:procedure TForm9.BitBtn2Click(Sender:TObject);var s:integer; ddd,str:string;begin query2.SQL.Clear; query2.SQL.Add(select * from 学生表); query2.Open; query2.First; s:=0; query1.Open; query3.Open; query4.Open;(六)登录模块1设计原理顾客使用
33、本系统前,先要进行身份验证,填写顾客名、密码、选取此顾客登陆权限。在文本框内填写信息,在下拉列表中选取相应内容,点击“拟定”按钮可进行登录操作,如果顾客表中存在顾客名、密码、权限三项同步满足条件数据,显示“您已成功登录,欢迎使用本系统”对话框,并创立和显示主窗体;如果在顾客表中查找不到一条三项同步符合记录,则显示“您不是本系统合法顾客,请重新输入信息”对话框。顾客依照它拥有权限可以在主界面进行相应操作,即系统管理员权限在主模块中可以进行所有菜单操作,涉及系统管理学生管理、住宿管理、查询管理、门卫登记、寝室管理、记录以及菜单相应功能快捷按钮,宿舍管理员权限在主菜单中可以进行除系统管理其他所有功能
34、及快捷按钮,学生权限在主模块中只能进行查询功能。填写过程中填写出错想重新填写,点击“取消”按钮,将顾客名、密码、权限三项内容清空,可重新填写在登录。放弃登录,点击“关闭”,登录界面关闭。2界面设计图8-35 登录窗体布局(1)点击组件板standard项中GroupBox ,并拖至登录窗体中,重复两次,分别建立GroupBox1和GroupBox2,并按上图布局位置摆放。并设立它们caption属性值均为空。(2)点击组件板standard 中Label ,并拖至登录窗体中,重复四次,分别建立Lable1 、Lable2、Lable3和 Lable4,并按上图布局摆放。(3)点击组件板中Com
35、boBox ,并拖至登录窗体中,建立ComboBox1并按上图布局摆放。(4)点击组件板Additional项中BitBtn ,并拖至登录窗体中,重复三次,分别建立BitBtn1、BitBtn2、BitBtn3,并按上图布局摆放。3窗体重要对象属性窗体Form1重要属性设立,如表8-15所示:表8-15窗体重要属性设立4程序流程图顾客登录某些程序流程图,如图8-36所示:5有关程序:(1)顾客认证过程中,在“拟定”按钮BitBtn1OnClick事件解决程序中完毕,代码如下:procedure TForm1.BitBtn1Click(Sender:TObject);var s:integer; /阐明s是integer型变量beginquery1.SQL.Clear; /将控件query1内SQL语句清空 query1.SQL.Add(select * from 顾客表); /将控件query1内SQL语句增长操作“查询顾客表内所有内容” query1.Open; /激活query1控件 query1.First; /query1控件指向第一条记录第六章 系统测试