还剩51页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
湖南人文科技学院计算机系课程设计说明书课程名称:软件工程导论课程代码:408029题目:酒店管理系统年级/专业/班:09级计科二班学生姓名:严若华、陈娟、管珍妮、林艳、周婷学号:
09408227、
46、
09、
25、30指导老师:颜富强开题时间:2011年6月6日完成时间:2011年6月23日2011年6月23日课程设计任务书及成绩评定课程名称:软件工程导论完成者:严若华、陈娟、管珍妮、林艳、周婷
1、设计的目的与要求1)加强学生的实践能力;2)理解小型系统开发的基本步骤;3)本系统的功能包括酒店信息查询模块、注册模块、酒店信息管理模块(包括基本的添加、修改、删除功能)
2、设计进度及完成情况日期内容
6.6-
6.7项目开发计划书
6.8-
6.10系统可行性研究
6.11-
6.13系统需求分析
6.13-
6.18系统设计
6.18-
6.21系统测试
6.21-
6.23项目的递交
3、成绩评定设计成绩(教师填写)指导老师(签字)2011年月日目录TOC\o1-3\h\u第一章项目开发计划书
11.1引言
11.
1.1编写目的
11.
1.2背景
11.2项目概述
11.
2.1工作内容
11.
2.2主要参加人员
21.
2.3产品
21.
2.4服务
21.
2.5验收标准
21.
2.6本计划的批准者和批准日期
21.
3.2进度
31.4支持条件
31.
4.1计算机系统支持3第二章可行性分析
42.1可行性研究前提
42.2对现有系统的分析
42.3建议新系统
42.
3.1新系统说明
42.
3.2新系统的数据流图
52.4经济上可行性
52.5技术可行性
62.6开发工具的选择
62.7新系统的影响
62.8结论6第三章需求分析
73.1开发目的
73.11定义
73.2总体概述
83.21系统属性
83.22产品功能
83.23用户的特点
113.3具体需求
113.4数据流程图
163.5数据库
163.6概念设计18第四章系统设计
204.1总体设计
204.
1.1需求概述
204.
1.2酒店管理系统功能设计
204.2功能模块的设计与实现
214.
2.1主界面
214.
2.2管理模块
294.
2.3服务点单
314.
2.4客人信息查询模块40第五章系统测试
445.1测试的作用和意义
445.2测试方法
445.3测试内容
445.4测试结果
455.
4.1酒店管理模块测试
455.
4.2信息查询模块测试
465.4结论47第六章总结48参考文献49第一章项目开发计划书
1.1引言
1.
1.1编写目的此项目开发计划书的编写主要是为了给开发《酒店管理系统》做主要的规划和整合,在开发过程中起到引导作用,以及给使用者提供简要的说明
1.
1.2背景随着信息化建设的发展,酒店服务业与国际市场接轨已成为大势所趋,酒店业要迎接这场挑战,就必须提高整体竞争能力,变革酒店的管理模式,提高管理水平实施信息化建设无疑是实现这一目的的必由之路和明智之举于是,我们决定开发一个新系统以实现利用计算机对酒店管理进行管理酒店管理系统,它可以借用计算机信息化的优势,方便快捷的实现顾客和管理者的交户,方便管理者在第一时间了解顾客的需求,及时做好应对措施,从而可以使经营者在竞争日益激烈的酒店服务行业中取得优势!使用计算机对酒店管理信息进行管理,具有手工管理所无法比拟的优点例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高酒店管理管理的效率将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住房、餐饮的服务和管理方式
1.2项目概述
1.
2.1工作内容《酒店管理系统》针对的管理员是需要定房和需要点餐的人;该系统需要实现如下功能浏览查询主要是让想定房或定餐的人对想要了解的信息进行查询,包括客人信息、客房信息、帐单信息、食物信息、消费情况等信息管理客房登记、选房、房间预定、餐饮点菜、帐单付款、服务点单、账务结账管理员可以发布客房、餐饮信息和对客房、餐饮信息进行修改、添加或删除
1.
2.2主要参加人员组长严若华设计严若华、陈娟开发林艳、管珍妮、周婷
1.
2.3产品1系统开发计划书2系统需求说明书3系统设计说明书4测试计划5一个能正确运行的可执行程序
1.
2.4服务安装、维护和运行支持从使用该系统开始,维护期限为一年
1.
2.5验收标准各个功能均能正常使用,满足管理员的需求
1.
2.6本计划的批准者和批准日期批准者颜富强批准日期2011年6月6日
1.3实施计划
1.
3.1工作任务的分配与人员分工组长:严若华任务:
(1)系统总的开发计划书
(2)每周至少组织小组讨论一次,列出本周开发计划
(3)项目开发进度的管理
(4)团队的组织和协调设计严若华任务:
(1)参与小组讨论陈娟
(2)进行系统的需求分析和系统设计管珍妮
(3)完成系统需求说明书和系统设计说明书
(4)编写测试计划,参与系统测试
(5)协助文档人员完成管理员相关文档开发林艳任务:
(1)参与小组讨论周婷
(2)根据设计完成编码,并注释
(3)进行单元测试
1.
3.2进度系统规划阶段:项目标志性事件开始到完成开发阶段项目开发计划书的完成
6.6-
6.7需求分析阶段:系统需求说明书完成
6.8-
6.10设计阶段:系统设计说明书
6.11-
6.13编码实现:项目的形成
6.13-
6.18测试阶段:测试计划
6.18-
6.21移交阶段:项目的递交
6.21-
6.
231.4支持条件
1.
4.1计算机系统支持操作系统需要windows2000以上;操作系统环境vc++
6.
0.netFrameWork
3.0;前台开发工具MyEclipse
5.5,Dreamvermx
8.8;前台界面类型htmljspservlet第二章可行性分析
2.1可行性研究前提要求满足酒店员工对客房及客户信息的掌握,并对客户资料具有保密性目标实现无纸化办公,节省成本,提高工作效率条件、假定、限制本软件自开发到运行结束至少可运行5年,开发成本不超过500元人民币,开发软件到投入使用不超过1个月
2.2对现有系统的分析如今酒店没有准确管理客房及客户信息的平台酒店员工管理客房及客户信息,主要是通过纸质登记、拿客房钥匙等传统的方式这样做不仅酒店员工不能准备掌握客房信息,效果不好而且花费也是十分高昂的在生活节奏日益加快的今天,这种状况已无法满足人们的对酒店管理效率的要求了
2.3建议新系统
2.
3.1新系统说明新系统能够为酒店员工提供一个良好的平台,使酒店员工能及时准确掌握酒店客房信息酒店员工能快捷、方便地为客户找到客户所需要的客房,还可以提供餐饮等服务而且本系统界面友好,操作简单,对硬件要求不高,且用户的花费是几乎可以忽略的,因此十分有利于推广本系统的用户为酒店员工,客户可以通过前台酒店员工及打电话、网上订房找到适合的客房,再在前台登记入住,入住期间可享受餐饮等服务,离开时办理退房手续,缴纳所有的消费费用
2.
3.2新系统的数据流图酒店管理客户获取订房信息确定入住房间确认信息核对客户D4消费信息D2客房信息表D1预订登记表D3客房信息客房信息客房信息账单客房信息图
2.1数据流图
2.4经济上可行性开发成本500元人民币效益暂时无法具体衡量效益/投资比暂时无法估算投资回收期大约2个月
2.5技术可行性软件需求操作系统WINDOWS2000AdvanceServer以上硬件需求酷睿I3CPU、512M内存250G硬盘的计算机使用语言为C++编辑工具为:VC++
2.6开发工具的选择VC++
6.0作为前台的开发工具;
2.7新系统的影响设备的影响创建新系统需要添置一些性能良好的服务器人员的影响新系统需要一个专职维护人员用户的影响酒店员工可准确、高效的掌握和查询客房和客户住房信息
2.8结论综上所述,酒店管理系统在技术非常成熟,主客观条件都具备,且具有良好的效益,因此开发此系统是可行的为了提高酒店管理效率,方便酒店员工方便掌握客房和客户信息,建议应立即开发第三章需求分析
3.1开发目的随着旅游业的民展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用
3.11定义
1.客房预定系统:可以处理散客预定、团体预定、客房预定、预定未到处理、预售查询等事务
2.前台接待系统可以处理散客入住登记,合约入住,团体自动入住和手动入住,补填客单,修改客人信息、转房、调房、设置房态、客人留言,预定客房查询、可售客房查询等事务
3.前台必银系统处理记账、埋单、限制客人消费、退房、押金加入、查账、转账、设置跑单、客用保险箱管理、团体埋单及退房业务
4.账务系统除具有收银的功能外,还具有纠错、报表输出等功能,能将损失降至最低
5.管家系统;可处理设置净房、脏房、坏房及取消坏房,设置SKIP房、SLEEP房,查询诌房表、脏房表、坏房表,房间状态,新入住查询等业务
6.电话系统具有自动计费、夜间稽核,客人信息查询、动态房态查询、房间明细账查询、收银员报表、当日入住客人报表等功能
7.客历系统能处理客人手工、自动输入,客人资料查询与修改,黑名单,入住客人自动查询客历、入住客人自动归入客历
8.合约系统可将酒店签约的单位或个人的资料输入电脑,并可随时查询和更新
9.经理系统可修改客房定价,增加、删除、修改各级密码,个性特别客单,设置系统参数,内部银行系统,数据整理,自我诊断,数据备份
10.总经理系统具有客单查询,查询客房状态,查询可售情况,客房占用统计,账务查询,万能查询,报表输出功能
11.密码管理系统可以管理客户和酒店的各种密码
12.报表系统主要是对处理一些非账务表单主要有客房占用表、转房改租表、预定未到表、客房取消表、房租分析表、经营统计表、可售情况表、房间状态表、坏房状况表、日租统计表、合约销售表
13.账务报表主要是处理酒店的日常的账务报表,有收入报表(前台收入明细表、现付收入明细表)、消费报表、顾客账务(住房账务、离店客人账务各跑单账务)、交班报表、信用卡报表、街账报表、应收报表、催账报表、转账报表、借贷报表、联网消费、酒店总表
3.2总体概述
3.21系统属性本系统是一个独立的酒店管理系统,具有客房预定系统、前台接待系统、前台收银系统、账务系统、管家系统、电话系统、客历系统、合约系统、经理系统、总经理系统、密码管理系统、报表系统、账务报表系统这12个子系统各个系统具有自己独立的功能,这些系统组成一个完整的管理系统
3.22产品功能序号功能名称功能需求标识优先级简要描述0客房预定系统A高1散客预定A01高单个客户的定房2团体预定A02高团体客户的定房3客房预定A03低包括散客预定和团体预定4预定未到处理A04高定房到期未到5预售查询A05高可查当天及之前30天客房预售情况6前台接待系统B高7散客入住登记B01高单个客户登记8合约入住登记B02高与酒店有签约的单位及个人入住登记9团体自动入住和手动入住B03高团体客户登记10填补客单B04高输入客人有关信息11修改客人信息、转房、调房、设置房态、客人留言B05高修改客人信息、转房、调房、设置房态、客人留言12预定客房查询B06高查询已被预订客房13可售客房查询B07高查询可售客房14前台收银系统C高15记账C01高记下每一笔帐单16埋单C02高记下客户付账记录17限制客人消费C03高限制客户最大消费额18退房C04高受理客户退房19押金加入C05高客户埋单时加入押金20查帐C06高查询总客户帐、总收入帐、总消费帐21转帐C07高把消费帐单从一个账号转入另一账号22设置跑单C08高记录逃单客人信息23客用保险箱管理C09高管理客用保险箱24团体埋单及退房C10高团体客户付账和退房记录25帐务系统D高具有收银系统功能,还有纠错、报表等功能26管家系统E高27设置净房、脏房、坏房以及取消坏房E01高设置房间状态28设置SKIP房、SLEEP房E02高设置SKIP房、SLEEP房状态29查询净房表、脏房表、坏房表E03高查询干净的房间、脏房间、坏房间30房间状态E04高每个房间状态31新入住查询E05高查询当天住入的房间32电话系统F高33自动计费F01低自动计算客户消费34夜审系统F02高夜间审核当天经营情况35客人信息查询F03高客户的个人信息查询36动态房态查询F04高查询房间状态发生改变的房间信息37房间明细帐查询F05高查询房间内各种消费详细情况38收银员报表F06高帐务报表39当日入住客人报表F07高当天入住酒店客人的报表40客历系统G高41客人资料手工自动查询G01高查询客人的资料42客人资料查询与修改G02高查询和修改客人的资料43黑名单G03高有不良记录的客人44入住客人自动查询客历G04高住入的客人查询以前的入住资料45入住客人自动归入客历G05低将本次入住资料归入客历46客历合并G06中客户入住载入客户入住的历史资料中去47合约系统H高可对与酒店签约的单位和客人资料进行操作48经理系统I高49修改客房定价I01高修改客房价格50增加、删除、修改各级密码I02高对各级密码进行操作51修改特别客单I03高修改VIP客人客单52设置系统参数I04高对系统参数进行设定53内部银行系统I05高内部人员一卡通系统54数据整理I06高整理各项数据55自我诊断I07高数据安全诊断56数据备份I08高备份各项数据57总经理系统J高58住店客单查询J01高查询酒店的客单59查询客房状态J02高查询客房的状态60查询可售情况J03高查询客房是否可售61客房占用统计J04高统计已用客房的数量62帐务查询J05高查询帐务63万能查询J06中超级权限查询64报表输出J07高输出报表65密码管理系统K高管理系统各级密码66报表系统L高67客房占用表L01高被占用的客房表68转房改租表L02低房间改租的表69预定未到表L03高预定到时未入住表70客房取消表L04高退房的表71房租分析表L05高分析房租信息的表72经营统计表L06高统计经营状况的表73可售情况表L07高空房表74房间状态表L08高记录房间不同状态的表75坏房报告表L09高记录坏房的表76日租统计表L10高当日出租情况统计表77合约销售表L11高通过合约关系出租的情况表78帐务报表M高79收入报表M01高详细收入帐单的表80消费报表M02高客户详细消费表81顾客帐户M03高顾客帐户详情82交班报表M04高交接班情况统计表83信用卡报表M05高使用信用卡消费的详细表84结帐报表M06高客户结帐时详细表单85应收报表M07高应收取的费用表86催帐报表M08高到时未结帐的客单表87转帐报表M09高帐单从一个帐户到另一帐户的表88借贷总表M10高客户借贷款的总表89联网消费M11高用信用卡90酒店总表M12高酒店总的收入、支出表
3.23用户的特点本软件的最终使用用户单位的职工,操作人员一般分为两类,一般操作人员无须具备很多的电脑知识,进行一些简单的培训后,懂得基本电脑操作即可系统维护人员需具备一定的数据库方面的知识和技能,可以对数据库进行维护
3.3具体需求功能编号1功能名称客房预定系统所属部门调查者调查时间审核人功能描述能处理散客预定、团体预定、客房预定,还可以进行预定未到处理,和预售查询输入项姓名性别预付押金付款方式入住类型证件类型和号码地址联系电话预订入住日期和预离日期宾客人数当前时间处理描述客户预定后存储用户的信息如姓名,性别等,更新数据库中预定记录,并分配一个独立的ID号,以方便进行各种查询及更新操作和身份识别根据用户输入的时间,查询数据库显示可售房间信息根据当天时间,查询数据库中的预定记录显示预定未到报表,并对预定未到的房间为可售房间输出项酒店个人押金凭证酒店团体押金凭证酒店预售一览表可售房间数以及某房间的预订情况功能编号2功能名称前台接待系统所属部门调查者调查时间审核人功能描述散客入住登记、合约入住登记、团体自动入住和手动入住、补填客单、修改客人信息、转房、调房、设置房态、预定客房查询、可售客房查询输入项姓名性别预付押金付款方式入住类型证件类型和号码地址联系电话入住日期和预离日期宾客人数入住方式当前时间所需修改信息处理描述客人登记入住后,存储客人信息(姓名、性别、预付押金等),分配IC卡,IC卡中记录客人房间、消费等与酒店相关的信息客人可在前台申请转房、调房等操作,并更新相应的消费和客房信息客人还根据自己的预定信息和需求,查询客房状态输出项客人相关信息团体入住相关信息修改后的用户信息显示预订相关信息或者是无结果空闲房间号功能编号3功能名称前台收银系统所属部门调查者调查时间审核人功能描述记账、埋单、限制客人消费、押金加入、退房、查账、转账、设置跑单、团体埋单及退房输入项姓名性别证件号处理描述客人从预定房间起客人的账号就自动产生初始化客人的IC卡,并将客人的消费记入IC卡,更新数据库中的数据并检测客人的状态,满足一定的条件,客人才能进行相应的业务如客人账户余额为零,客人账号为空,保险箱钥匙归还才以退房客人根据自己的信息(姓名、证件号、性别)在前台进行相应的业务,如增加押金、退房、查账等,前台服务员对数据库中的客户账户资料(如押金,余额,消费额)进行修改输出项当前消费酒店消费清单功能编号4功能名称账务系统所属部门调查者调查时间审核人功能描述根据数据库的数据和客户的业务输出一些相关报表,并处理一些数据中的错误输入项用户信息或房间号处理描述根据用户提供的身份识别信息(如ID号、用户身份证号等),对数据库中客户的各种消费信息进行处理,并打印该信息给客户输出项显示用户消费信息输出新的查询信息功能编号5功能名称管家系统所属部门调查者调查时间审核人功能描述设置净房、脏房、坏房、及取消坏房,设置SKIP、SLEEP房,查询净房、脏房、坏房表,房间状态,新入住查询输入项房间号处理描述读取数据库中的客房状态,并派相应的工作人员整理房间整理房间后及时更新数据库中的数据如将脏房打扫后设置成净房,记录新入住房间输出项显示房间状态功能编号6功能名称电话系统所属部门调查者调查时间审核人功能描述自动计费,夜审系统,客人信息查询,收银员报表,当日入住客人报表输入项客人信息房间号输入具体日期处理描述对客户房间的电话进行自动计费,并记入客人的消费信息,更新数据库夜审系统定时客人的消费业务和各种报表进行汇总,以方便客户和酒店管理人员进行查询输出项客人消费明细帐单和日营业报表客人相关信息或者房间状态收银员报表或当日客人入住报表功能编号7功能名称客历系统所属部门调查者调查时间审核人功能描述客人资料手工输入、自动输入,客人资料查询与修改,黑名单,入住客人自动查询客历,客历合并输入项客户信息处理描述在客历系统中保存入住客户的信息(如姓名、性别、身份证号等客户个人信息),并在客户资料变更时进行更新查询客历系统(根据客房的身份证号),如果是老客户,根据现在的信息,修改客户的旧资料客人可根据相应的客历资料进行查询和更新如客户有不良消费记录,将其列入黑名单输出项显示客户入住新信息输出客户历史纪录功能编号8功能名称合约系统所属部门调查者调查时间审核人功能描述可将酒店签约的单位或个人的资料输入电脑,并可随时查询、修改和删除凡合约单位或个人入住,均可自动填单系统还可以自动打印合约单位或个人来往的函信等输入项客户或团体信息处理描述根据客户或团体信息(如客户或团体与酒店签约的ID号或能识别客户身份的相关信息等),查询数据库中的合约数据,并打印相应信息输出项显示并打印客户信息功能编号9功能名称经理系统所属部门调查者调查时间审核人功能描述修改客房定价,增加、删除,修改各级密码,修改特别客单,设置系统参数,内部银行系统(即IC卡功能),数据整理,自我诊断,数据备份输入项房间号和新的房间价格选择用户角色及输入客户信息和账户信息以及新密码客户账户信息及密码输入密码处理描述通过身份验证(用户名、密码)后,可以更新数据库中的房价、密码等信息,对数据库进行备份输出项显示修改后的新的房间价格显示操作成功显示消费信息显示整理或备份成功功能编号11功能名称密码管理系统所属部门调查者调查时间审核人功能描述用来管理酒店工作人员及客户的密码输入项选择用户角色和账户信息及操作类型处理描述当用户密码正确允许进入错误时给出提示要求重新输入输出项显示操作成功功能编号12功能名称报表系统所属部门调查者调查时间审核人功能描述客房占用表、转房改租表、预定未到表、客房取消表、房租分析表、经营统计表、可售情况表、房间状态表、坏房报告表输入项输入具体的日期输入客户信息旧房间号及新的房间号输入用户信息处理描述根据具体的日期,查询数据库的房间的可售情况表、房间状态表、坏房报告表、预定未到表、客房取消表等关于房间的报表输出项显示所有房间状态并统计被占用的房间总数显示修改后的客户信息预定房间状态统计结果
3.4数据流程图分析调查有关酒店管理信息需求的基础上得本系统所处理的数据流程图图
3.1数据流程图
3.5数据库RoomTypeFloorPhoneRoomStatusPriceTypePrice标准单人房12615789住人Yes
188.5标准双人房12615751住人Yes300贵族单人房12615752住人Yes800贵族单人房12615753空Yes800标准单人房22615754住人No
188.5标准单人房22615755住人No
188.5标准双人房22615756住人No300贵族单人房22615757住人Yes800贵族双人房32615757空Yes
3000.5FoodInfoFoodNameFoodPrice龙虾
1000.5鱼翅500三明治20油条2面条3GuestInfoHandCodeNameGuestTypeSexCertificateCertifyCodeIsMemberIsMasterGroupIDGuestNumRoomNumRoomCodeH2003519yql主客男身份证43042519881025008NoYes00H2003519008yql主客男身份证43042519871024008NoYes00H2003007008国产007主客男军人证43042519991026008NoYes02201202H20032501254841chinakuge主客男身份证123456789452154NoYes00H203545457yyyyyyyy主客男身份证123456789854125417NoYes00H2031054易强亮个人男身份证123456789NoNo000201202H20030424刘德华个人男身份证43042570825005601NoNo000020030425007爱因斯坦个人男身份证320125487410125455NoNo000301H20035201巧逢主客男身份证43042519821026005NoYes001102H007唐伯虎主客男军人证254125467815451NoYes001203H200307哭个个人男身份证4304258010YesNo001101H008孙悟空主客男身份证350822199101152364YesYes00220H200352007乔峰主客男军人证43042519801026005NoYesG2003520103101103204H20030424587kuge团体成员男身份证4304251988820008YesNoG2451541800H20030424015张学友团体成员男军人证21021024400541570YesNoG
5241063411202003.6概念设计在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法E-R图由实体、属性、联系三部分组成本程序E-R图如下图
3.2客人信息E-R图图
3.3客房标准信息E-R图图
3.4房间入住历史信息E-R图图
3.5房间类型信息E-R图第四章系统设计
4.1总体设计
4.
1.1需求概述本系统的目标是管理酒店信息,方便酒店管理员查询或管理酒店信息,从而使酒店更快捷的运转因此,本系统需要实现酒店的基本信息管理和查询,如预订房间、点菜、客人结账、客人和客房信息查询等
4.
1.2酒店管理系统功能设计根据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能客人和客房信息的查询账单查询房间预定选房客人点菜还有结账等其功能模块结构图如下图
4.1程序功能模块图
4.2功能模块的设计与实现
4.
2.1主界面本系统是由管理员操作的,主界面包括了酒店的各个信息管理查询,当客户要预定客房、点菜、选房和结账时管理员打开主界面完成操作,管理员还可以通过主界面的“查询”模块对客户的信息、账单进行查询;主界面如下图
4.2主界面具体方法代码实现如下intCMainFrame::OnCreateLPCREATESTRUCTlpCreateStruct{ifCFrameWnd::OnCreatelpCreateStruct==-1return-1;if!this-CreateExToolBarreturn-1;if!m_clock.CreateWS_CHILD|WS_VISIBLECRect0013540thisIDC_CLOCK{return-1;}m_wndReBar.AddBarm_clockNULLNULLRBBS_FIXEDSIZE|RBBS_FIXEDBMP;m_clock.SetStyleCLEDClock::XDC_SECOND;if!m_wndStatusBar.Createthis||!m_wndStatusBar.SetIndicatorsindicatorssizeofindicators/sizeofUINT{TRACE0Failedtocreatestatusbar\n;return-1;//failtocreate}if!m_systemIcon.Createthis//消息通知窗口WM_ICON_NOTIFY//自定义消息酒店管理系统2011//提示字符串AfxGetApp-LoadIconIDR_MAINFRAME//图标ID号IDR_POPUP_MENU//弹出菜单ID号{return-1;}if!m_wndTabBar.CreatethisCSize110100WS_CHILD|WS_VISIBLE|CBRS_LEFT|CBRS_SIZE_DYNAMICAFX_IDW_TOOLBAR+11{TRACE0Failedtocreatecoolbar\n;return-1;//failtocreate}if!m_wndListBox
1.CreateWS_CHILD|WS_VISIBLECRect1010150300m_wndTabBar.m_wndTabCtrl0{TRACE0Failedtocreatelistbar\n;return-1;//failtocreate}m_wndTabBar.m_wndTabCtrl.SetModeTABMODE_GROUP;m_wndTabBar.m_wndTabCtrl.AddPagem_wndListBox1管理NULL;m_wndListBox
1.AddItem0客房登记ID_ROOM_REGISTER客人住入酒店时进行客房登记;m_wndListBox
1.AddItem1选房ID_ROOM_CHOOSE给客人分配房间;m_wndListBox
1.AddItem2房间预定ID_ROOM_DESTINE为客人进行房间预定服务;m_wndListBox
1.AddItem3餐饮点菜ID_FOOD_ORDER管理客人的餐饮点菜;m_wndListBox
1.AddItem4帐单付款ID_MONEY_PAY支付某个帐单的费用;m_wndListBox
1.AddItem5服务点单ID_SERVER_ORDER服务点单;m_wndListBox
1.AddItem6财务结帐ID_MONEY_CHECKOUT客人离开时进行费用结算;m_wndListBox
1.SetImagelistIDB_IMAGE;if!m_wndListBox
2.CreateWS_CHILD|WS_VISIBLECRect1010200300m_wndTabBar.m_wndTabCtrl0{TRACE0Failedtocreatelistbar\n;return-1;//failtocreate}m_wndTabBar.m_wndTabCtrl.SetModeTABMODE_GROUP;m_wndTabBar.m_wndTabCtrl.AddPagem_wndListBox2查询NULL;m_wndListBox
2.AddItem0客人信息ID_INFOLOOK_GUEST查看客人在酒店的情况;m_wndListBox
2.AddItem1客房信息ID_INFOLOOK_ROOM查看客房信息;m_wndListBox
2.AddItem2帐单信息ID_INFOLOOK_BILL查看帐单信息;m_wndListBox
2.AddItem3服务项目ID_INFOLOOK_SERVER查看酒店有哪些服务项目;m_wndListBox
2.AddItem4食物信息ID_INFOLOOK_FOOD查看酒店有哪些食物提供服务;m_wndListBox
2.AddItem5员工信息ID_INFOLOOK_EMPLOYER查看酒店的员工信息;m_wndListBox
2.AddItem6消费情况ID_INFOLOOK_CONSUME查看在酒店的消费情况;m_wndListBox
2.SetImagelistIDB_IMAGE;m_CoolMenu.AttachGetMenu-GetSafeHmenu;//菜单连接CCoolMenu::SubClassthis-GetSafeHwnd;//子类化CCoolMenu::SetLogoTexthelloRGB00255;CCoolMenu::SetLogoImageIDB_LOGOBAR20;CCoolMenu::SetBackGroundBmpIDB_BKBMP;CCoolMenu::SetStyleCCoolMenu::GetStyle~CMS_ICONBAR;CCoolMenu::SetMenuColorRGB255255255;//菜单背景色CCoolMenu::SetIconBarColor::GetSysColorCOLOR_3DFACE;CCoolMenu::SetLightBarColorRGB61128152;//高亮栏的边框的颜色CCoolMenu::SetLightBarStartColorRGB255255255;CCoolMenu::SetLightBarEndColorRGB77109120;CCoolMenu::SetTextColorRGB000;CCoolMenu::SetHighLightColorRGB202050;CMenuWndHook::m_crFrame
[0]=RGB120120158;CMenuWndHook::m_crFrame
[1]=RGB485048;CMenuWndHook::m_crFrame
[2]=RGB255255255;CMenuWndHook::m_crFrame
[3]=RGB168168210;{if!m_wndDialogBar.CreatethisCG_IDD_DIALOGBARCBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_HIDE_INPLACECG_ID_VIEW_DIALOGBAR{TRACE0Failedtocreatedialogbarm_wndDialogBar\n;return-1;//failtocreate}m_wndDialogBar.EnableDockingCBRS_ALIGN_RIGHT|CBRS_ALIGN_LEFT;EnableDockingCBRS_ALIGN_ANY;DockControlBarm_wndDialogBar;}m_wndRollupCtrl.CreateWS_VISIBLE|WS_CHILDCRect401481000m_wndDialogBar2;m_wndRollupCtrl.InsertPage高级查询IDD_PAGE1RUNTIME_CLASSCPage110;m_wndRollupCtrl.InsertPage数据分析IDD_PAGE2RUNTIME_CLASSCPage2;m_wndRollupCtrl.InsertPage酒店概况IDD_PAGE3RUNTIME_CLASSCPage3;HICONm_hIcon=AfxGetApp-LoadIconIDR_MAINFRAME;return0;}BOOLCMainFrame::PreCreateWindowCREATESTRUCTcs{if!CFrameWnd::PreCreateWindowcsreturnFALSE;returnTRUE;}#ifdef_DEBUGvoidCMainFrame::AssertValidconst{CFrameWnd::AssertValid;}voidCMainFrame::DumpCDumpContextdcconst{CFrameWnd::Dumpdc;}voidCMainFrame::OnClose{CFrameWnd::OnClose;}BOOLCMainFrame::CreateExToolBar{CImageListimg;CStringstr;if!m_wndReBar.Createthis{return-1;}if!m_wndToolBar.CreateExthisTBSTYLE_FLATWS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC{return-1;}m_wndToolBar.GetToolBarCtrl.SetButtonWidth5090;img.Create2525ILC_COLOR16|ILC_MASK22;img.SetBkColor::GetSysColorCOLOR_BTNFACE;img.AddAfxGetApp-LoadIconIDI_WZD;//应用程序向导img.AddAfxGetApp-LoadIconIDI_PRE;//前台程序img.AddAfxGetApp-LoadIconIDI_BACK;//后台程序img.AddAfxGetApp-LoadIconIDI_HELP;//帮助img.AddAfxGetApp-LoadIconIDI_EMAIL;//邮件img.AddAfxGetApp-LoadIconIDI_EXIT;//退出m_wndToolBar.GetToolBarCtrl.SetHotImageListimg;img.Detach;img.Create2323ILC_COLOR16|ILC_MASK22;img.SetBkColor::GetSysColorCOLOR_BTNFACE;img.AddAfxGetApp-LoadIconIDI_WZD;//应用程序向导img.AddAfxGetApp-LoadIconIDI_PRE;//前台程序img.AddAfxGetApp-LoadIconIDI_BACK;//后台程序img.AddAfxGetApp-LoadIconIDI_HELP;//帮助img.AddAfxGetApp-LoadIconIDI_EMAIL;//邮件img.AddAfxGetApp-LoadIconIDI_EXIT;//退出m_wndToolBar.GetToolBarCtrl.SetImageListimg;img.Detach;m_wndToolBar.ModifyStyle0TBSTYLE_FLAT|CBRS_TOOLTIPS|TBSTYLE_TRANSPARENT|TBBS_CHECKBOX;m_wndToolBar.SetButtonsNULL6;m_wndToolBar.SetButtonInfo0IDC_APPWZDTBSTYLE_BUTTON0;m_wndToolBar.SetButtonText0向导;m_wndToolBar.SetButtonInfo1IDC_PRETBSTYLE_BUTTON1;m_wndToolBar.SetButtonText1前台模式;m_wndToolBar.SetButtonInfo2IDC_BACKTBSTYLE_BUTTON2;m_wndToolBar.SetButtonText2后台模式;m_wndToolBar.SetButtonInfo3IDC_HELPTEXTTBSTYLE_BUTTON3;m_wndToolBar.SetButtonText3帮助;m_wndToolBar.SetButtonInfo4IDC_EMAILTBSTYLE_BUTTON4;m_wndToolBar.SetButtonText4邮件;m_wndToolBar.SetButtonInfo5IDC_EXITTBSTYLE_BUTTON5;m_wndToolBar.SetButtonText5退出;CRectrectToolBar;m_wndToolBar.GetItemRect0rectToolBar;m_wndToolBar.SetSizesrectToolBar.SizeCSize2023;m_wndReBar.AddBarm_wndToolBar;REBARBANDINFOrbbi;rbbi.cbSize=sizeofrbbi;//这个是必须填rbbi.fMask=RBBIM_CHILDSIZE|RBBIM_IDEALSIZE|RBBIM_SIZE|RBBIM_BACKGROUND;rbbi.cxMinChild=rectToolBar.Width;rbbi.cyMinChild=rectToolBar.Height;RBBIM_BACKGROUND标志rbbi.hbmBack=LoadBitmap::AfxGetInstanceHandleMAKEINTRESOURCEIDB_TOOLBARBKGND;rbbi.cx=rbbi.cxIdeal=rectToolBar.Width*10;m_wndReBar.GetReBarCtrl.SetBandInfo0rbbi;returnTRUE;}voidCMainFrame::OnAppWzd{PlayResourceIDR_PRESSBTN;}voidCMainFrame::OnPre{PlayResourceIDR_PRESSBTN;}voidCMainFrame::OnBack{PlayResourceIDR_PRESSBTN;}voidCMainFrame::OnHelp{PlayResourceIDR_PRESSBTN;}voidCMainFrame::OnEmail{PlayResourceIDR_PRESSBTN;}voidCMainFrame::OnExit{PlayResourceIDR_PRESSBTN;CFrameWnd::OnClose;}BOOLCMainFrame::PlayResourceWORDwResourceID{HINSTANCEhInstance=AfxGetInstanceHandle;ASSERThInstance!=NULL;HRSRChResInfo=FindResourcehInstanceMAKEINTRESOURCEwResourceID_TWAVE;ifhResInfo==NULLreturnFALSE;HANDLEhRes=LoadResourcehInstancehResInfo;ifhRes==NULLreturnFALSE;LPSTRlpRes=LPSTRLockResourcehRes;iflpRes==NULLreturnFALSE;ifsndPlaySoundlpResSND_MEMORY|SND_ASYNC==NULLreturnFALSE;FreeResourcehRes;returnTRUE;}voidCMainFrame::OnSizingUINTfwSideLPRECTpRect{CFrameWnd::OnSizingfwSidepRect;CQQView*pView=CQQView::GetView;RestorViewBmp;//改变大小时,视图区重画,//显示在视图区的图像也被擦除,应该恢复ifpView-nImgTypeInView==12{page
3.bDrawTreeImage=TRUE;}ifpView-nImgTypeInView==13{page
3.bDrawFrameImage=TRUE;}ifpView-nImgTypeInView==0{pView-bFirstRun=TRUE;}}voidCMainFrame::RestorViewBmp{CQQView*pView=CQQView::GetView;pView-UpdateDataTRUE;CDC*pDC=pView-GetDC;CRectrect;pView-GetClientRectrect;//pDC-FillSolidRectrectpDC-GetBkColor;CBitmap*m_bitmap=CBitmap::FromHandlepView-m_CurScreenBitmap;CDCMemDC;MemDC.CreateCompatibleDCpDC;MemDC.SelectObjectm_bitmap;pDC-BitBlt00rect.Widthrect.HeightMemDC00SRCCOPY;}voidCMainFrame::DoDataExchangeCDataExchange*pDX{DDX_ControlpDXIDC_CLOCKm_clock;CFrameWnd::DoDataExchangepDX;}
4.
2.2管理模块在系统主界面左边有个“管理”的列表,管理员由这里进行为客人预定房间、选房、点菜、结账等图
4.3管理界面登录后通过此方法从数据库检索是否有此用户voidCQQView::OnRoomRegister{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CGuestRegisterguestreg;guestreg.DoModal;//登记对话框}voidCQQView::OnRoomChoose{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CChooseRoomchooseroom;chooseroom.DoModal;}voidCQQView::OnRoomDestine{bFirstRun=FALSE;CRoomDestineRoomDestine;RoomDestine.DoModal;}voidCQQView::OnFoodOrder{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CChooseFoodchoosefood;choosefood.DoModal;}voidCQQView::OnServerOrder{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CChooseServerchooseserver;chooseserver.DoModal;}voidCQQView::OnMoneyCheckout{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CCheckOutcheckout;checkout.DoModal;}voidCQQView::OnMoneyStock{nImgTypeInView=-1;//背景图bFirstRun=FALSE;}voidCQQView::OnMoneyReportform{nImgTypeInView=-1;//背景图bFirstRun=FALSE;}voidCQQView::OnMoneyPay{nImgTypeInView=-1;//背景图bFirstRun=FALSE;CMoneyPaymoneypay;moneypay.DoModal;}
4.
2.3服务点单当客户需要休闲服务时,管理员进入服务点单界面输入客户手牌号再选择服务项目、服务员数量和输入折扣率确定的话点击“OK”,取消点击“Cancel”图
4.4服务点单界面BOOLCChooseServer::OnInitDialog{CDialog::OnInitDialog;HICONm_hIcon=AfxGetApp-LoadIconIDR_MAINFRAME2;this-SetIconm_hIcontrue;//设置对话框图标CCreateBillCodebillcode;BillCode.SetWindowTextbillcode.GenereBillCode;if!m_ServerInfoSet.Open{MessageBox打开数据库失败!数据库错误MB_OK;returnfalse;}m_ServerInfoSet.MoveFirst;//移动到第一条记录while!m_ServerInfoSet.IsEOF{CStringstrServerName=;floatnServerPrice=
0.00f;strServerName=m_ServerInfoSet.m_ServerName;nServerPrice=m_ServerInfoSet.m_ServerPrice;CStringstr;str.Format%
6.00fnServerPrice;strServerName=strServerName++str;ServerList.AddStringstrServerName;m_ServerInfoSet.MoveNext;//移动到下一条记录}m_ServerInfoSet.Close;//关闭数据库Rebate.SetWindowText1;Sum.SetWindowText0;Paid.SetWindowText0;Paid.EnableWindowFALSE;returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}voidCChooseServer::OnOK{OnUpdatedata;//自动更新数据防止因为忘记更新或者其他的原因产生误操作CStringstrHandCode;HandCode.GetWindowTextstrHandCode;ifstrHandCode=={MessageBox请输入手牌号!数据为空错误MB_OK;return;}CStringstrPaidTemp=;Paid.GetWindowTextstrPaidTemp;//得到已经付的款ifbStriked{ifstrPaidTemp==||strPaidTemp==0{MessageBox你可能输入错误客人已经付的款应该大于0!!输入信息错误MB_OK;return;}}if!m_GuestInfoSet.OpenAFX_DB_USE_DEFAULT_TYPE{AfxMessageBox打开数据库失败!;return;}m_GuestInfoSet.MoveFirst;boolbhas=false;while!m_GuestInfoSet.IsEOF{ifm_GuestInfoSet.m_HandCode==strHandCode{bhas=true;//存在这条记录break;}m_GuestInfoSet.MoveNext;//移动到下一条记录}if!bhas{MessageBox你输入的手牌号不正确!输入信息错误MB_OK;m_GuestInfoSet.Close;//关闭数据库return;}m_GuestInfoSet.Close;//关闭数据库if!m_BillInfoSet.Open{MessageBox打开数据库失败!数据库错误MB_OK;return;}m_BillInfoSet.AddNew;CStringstrBillCodestrSumstrPaidstrRebate;BillCode.GetWindowTextstrBillCode;m_BillInfoSet.m_BillCode=strBillCode;//帐单号码m_BillInfoSet.m_HandCode=strHandCode;//客人手牌Sum.GetWindowTextstrSum;char*s=strSum.GetBufferstrSum.GetLength;longnSum=atols;m_BillInfoSet.m_Sum=nSum;//应付总数Paid.GetWindowTextstrPaid;s=strPaid.GetBufferstrPaid.GetLength;longnPaid=atols;m_BillInfoSet.m_Paid=nPaid;//实付总数Rebate.GetWindowTextstrRebate;m_BillInfoSet.m_Rebate=strRebate;//折扣率thereisabug!!!!m_BillInfoSet.m_Striked=bStriked;//是否已经付款m_BillInfoSet.Update;//数据更新m_BillInfoSet.Close;//关闭数据库if!m_BillContentInfoSet.Open{MessageBox打开数据库失败!数据库错误MB_OK;return;}m_BillContentInfoSet.AddNew;//新增一条记录CStringstrBillContent=;forinti=0;iServerBillList.GetCount;i++{CStringstrTemp=;ServerBillList.GetTextistrTemp;strBillContent=strBillContent+strTemp+;}CStringstrBillcode;BillCode.GetWindowTextstrBillcode;m_BillContentInfoSet.m_BillCode=strBillcode;m_BillContentInfoSet.m_BillContent=strBillContent;m_BillContentInfoSet.Update;//更新数据库将缓冲区的数据写入数据库中m_BillContentInfoSet.Close;//关闭数据库CDialog::OnOK;}voidCChooseServer::OnCancel{CDialog::OnCancel;}voidCChooseServer::OnAdd{intnCurSel=ServerList.GetCurSel;ifnCurSel==-1{MessageBox请选择至少一种服务!数据为空错误MB_OK;return;}CStringstrServerNum;Num.GetWindowTextstrServerNum;ifstrServerNum==||strServerNum==0{MessageBox数量至少要为一数据为空错误MB_OK;return;}CStringstrServerName=;ServerList.GetTextnCurSelstrServerName;//得到文本char*s=strServerName.GetBufferstrServerName.GetLength;char*str=strtoks;//得到菜的名字boolbSame=false;forinti=0;iServerBillList.GetCount;i++{CStringstrTemp=;ServerBillList.GetTextistrTemp;//得到文本char*temp=strTemp.GetBufferstrTemp.GetLength;//得到缓冲区字符char*bSameText=strtoktemp;if*bSameText==*str//找到一个相同的项目{bSame=true;MessageBox你已经选了这个服务!选择错误MB_OK;return;}}if!bSame//若没有相同的项目则添加新的记录{strServerName=str;//构造显示文本CStringstrEmployerCode;//服务员IDEmployerCode.GetWindowTextstrEmployerCode;ifstrEmployerCode=={MessageBox请输入服务人员的ID数据为空错误MB_OK;return;}CStringSQLstr=;boolbHasTheEmployerCode=false;CStringstrEmployerName=;if!m_EmployerInfoSet.Open{MessageBox打开数据库失败!数据库错误MB_OK;return;}m_EmployerInfoSet.MoveFirst;while!m_EmployerInfoSet.IsEOF{ifm_EmployerInfoSet.m_EmployerCode==strEmployerCode{bHasTheEmployerCode=true;strEmployerName=m_EmployerInfoSet.m_Name;break;}m_EmployerInfoSet.MoveNext;//移动到下一条记录}m_EmployerInfoSet.Close;//关闭数据库ifbHasTheEmployerCode{strServerName=strServerName++strServerNum++strEmployerName;ServerBillList.AddStringstrServerName;//添加字符窜}else{MessageBox该服务员的代号不存在!信息错误MB_OK;return;}}floatMoneySum=0;//总钱数目fori=0;iServerBillList.GetCount;i++{CStringBillListText=;ServerBillList.GetTextiBillListText;//取得文本char*billlistText=BillListText.GetBufferBillListText.GetLength;char*ServerNameInBillList*ServerNumInBillList;ServerNameInBillList=strtokbilllistText;//食物名字ServerNumInBillList=strtokNULL;//食物数量CStringSQLstr;SQLstr=select*fromServerInfowhereServerName=;SQLstr=SQLstr+ServerNameInBillList;SQLstr=SQLstr+;if!m_ServerInfoSet.OpenAFX_DB_USE_DEFAULT_TYPESQLstr{MessageBox打开数据库失败!数据库错误MB_OK;return;}floatnMoney=m_ServerInfoSet.m_ServerPrice;//得到价钱m_ServerInfoSet.Close;//关闭数据库longserverNum=0;serverNum=atoiServerNumInBillList;//食物数量MoneySum=MoneySum+nMoney*serverNum;}m_DefaultSum=MoneySum;//设置缺省的总数floatrebate=
0.00f;CStringstrText;Rebate.UpdateDatatrue;Rebate.GetWindowTextstrText;ifstrText=={MessageBox请输入折扣率!数据为空错误MB_OK;return;}char*sTemp=strText.GetBufferstrText.GetLength;rebate=atofsTemp;MoneySum=m_DefaultSum*rebate;//乘以折扣率CStringstrSum=;strSum.Format%
6.00fMoneySum;Sum.SetWindowTextstrSum;//显示总数}voidCChooseServer::OnDelete{intnCount=ServerBillList.GetCount;ifnCount==0{MessageBox当前没有删除的项目!数据为空错误MB_OK;Sum.SetWindowText0;return;}intnCurSel=ServerBillList.GetCurSel;ifnCurSel==-1{MessageBox你应该选择一种要删除的服务项目!数据为空错误MB_OK;return;}else{ServerBillList.DeleteStringnCurSel;}intnNum=ServerBillList.GetCount;floatnMoney=
0.00f;forinti=0;inNum;i++{CStringstrItemText=;ServerBillList.GetTextistrItemText;//得到项目文本char*str=strItemText.GetBufferstrItemText.GetLength;char*strServerName*strServerNum;strServerName=strtokstr;//得到项目的名字strServerNum=strtokNULL;//得到服务项目的数目CStringSQLstr;SQLstr=select*fromServerInfowhereServerName=;SQLstr=SQLstr+strServerName;SQLstr=SQLstr+;if!m_ServerInfoSet.OpenAFX_DB_USE_DEFAULT_TYPESQLstr{MessageBox打开数据库失败!数据库错误MB_OK;return;}floatnPrice=m_ServerInfoSet.m_ServerPrice;//得到价钱m_ServerInfoSet.Close;//关闭数据库longnServerNum=atoistrServerNum;nMoney=nMoney+nPrice*nServerNum;}m_DefaultSum=nMoney;//设置缺省的总数CStringstrShowTextstrReabte;Rebate.GetWindowTextstrReabte;char*s=strReabte.GetBufferstrReabte.GetLength;doublen=atofs;strShowText.Format%
6.00fm_DefaultSum*n;Sum.SetWindowTextstrShowText;}voidCChooseServer::OnRadio{this-UpdateDatatrue;ifm_PaidType==0{bStriked=true;Paid.EnableWindowtrue;}ifm_PaidType==1{bStriked=false;Paid.EnableWindowfalse;}}voidCChooseServer::OnUpdatedata{floatMoneySum=
0.00f;floatrebate=
0.00f;CStringstrText;Rebate.GetWindowTextstrText;//得到折扣率文本ifstrText=={MessageBox请输入折扣率!数据为空错误MB_OK;return;}char*sRebateTemp=strText.GetBufferstrText.GetLength;rebate=atofsRebateTemp;//转变折扣率MoneySum=m_DefaultSum*rebate;CStringstrSum=;strSum.Format%
6.00fMoneySum;Sum.SetWindowTextstrSum;//显示总数}
4.
2.4客人信息查询模块当管理员需要查询客户信息时就打开此界面,输入需要查询的客户的账单号点击“OK”客人信息查询窗口CStringCGuestInfoLookup::STRINGS
[100]={};CGuestInfoLookup::CGuestInfoLookupCWnd*pParent/*=NULL*/:CDialogCGuestInfoLookup::IDDpParent{HandCode=_T;//初始化数据成员Name=_T;GuestType=_T;Sex=_T;Certificate=_T;CertifyCode=_T;IsMember=FALSE;IsMaster=FALSE;GroupID=_T;GuestNum=0;RoomNum=_T;RoomCode=_T;bSuccess=false;}voidCGuestInfoLookup::DoDataExchangeCDataExchange*pDX{CDialog::DoDataExchangepDX;DDX_ControlpDXIDC_COMBO1m_InfoLookup_HandCode;}BEGIN_MESSAGE_MAPCGuestInfoLookupCDialogEND_MESSAGE_MAPvoidCGuestInfoLookup::OnOK{CStringstr;m_InfoLookup_HandCode.GetWindowTextstr;ifstr=={MessageBox请输入手牌号!数据为空错误MB_OK;return;}if!m_GuestInfoSet.OpenAFX_DB_USE_DEFAULT_TYPE{MessageBox打开数据库失败!数据库错误MB_OK;bSuccess=false;return;}boolbInSQL=false;//是否存在这个数据记录m_GuestInfoSet.MoveFirst;while!m_GuestInfoSet.IsEOF{ifm_GuestInfoSet.m_HandCode==str{bInSQL=true;break;}elsebInSQL=false;m_GuestInfoSet.MoveNext;}ifbInSQL{HandCode=m_GuestInfoSet.m_HandCode;Name=m_GuestInfoSet.m_Name;GuestType=m_GuestInfoSet.m_GuestType;Sex=m_GuestInfoSet.m_Sex;Certificate=m_GuestInfoSet.m_Certificate;CertifyCode=m_GuestInfoSet.m_CertifyCode;IsMember=m_GuestInfoSet.m_IsMember;IsMaster=m_GuestInfoSet.m_IsMaster;GroupID=m_GuestInfoSet.m_GroupID;GuestNum=m_GuestInfoSet.m_GuestNum;RoomNum=m_GuestInfoSet.m_RoomNum;RoomCode=m_GuestInfoSet.m_RoomCode;bSuccess=true;}else{MessageBox该记录不存在!记录错误MB_OK;bSuccess=false;m_GuestInfoSet.Close;return;}m_GuestInfoSet.Close;CDialog::OnOK;}BOOLCGuestInfoLookup::OnInitDialog{CDialog::OnInitDialog;HICONm_hIcon=AfxGetApp-LoadIconIDR_MAINFRAME2;this-SetIconm_hIcontrue;//设置对话框图标m_acCombo.InitGetDlgItemIDC_COMBO1;if!m_GuestInfoSet.OpenAFX_DB_USE_DEFAULT_TYPE{MessageBox打开数据库失败!数据库错误MB_OK;returnfalse;}InitDate;//初始化数组m_GuestInfoSet.MoveFirst;//movetothefirstrecordinti=0;while!m_GuestInfoSet.IsEOF{STRINGS[i]=m_GuestInfoSet.m_HandCode;m_GuestInfoSet.MoveNext;i++;}m_GuestInfoSet.Close;//关闭数据库forintj=0;!STRINGS[j].IsEmpty;j++{m_acCombo.GetStringList.AddSTRINGS[j].GetBufferSTRINGS[j].GetLength;}returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}voidCGuestInfoLookup::InitDate{forinti=0;i100;i++{STRINGS[i]=;}}第五章系统测试
5.1测试的作用和意义系统测试是管理信息系统的开发周期中的一个十分重要环节尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价系统测试占用的时间、花费的人力和成本占软件开发的很大比例统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍因此做好系统交付前的系统测试的目的就是在系统在投入生产性运行之前,尽可能多的发现系统的潜在错误,这是保证系统质量的关键,也是减少系统后期维护投入的最佳方法
5.2测试方法本次测试主要是对系统进行黑盒测试由未参与系统编程的组员参与通过设计不同的等价输入类对系统的各项功能进行反复运行,观察系统的返回结果来判断系统的各项功能的实现情况
5.3测试内容1软件的正常运行、关闭及退出时保存记录情况2数据的录入、删除及更改是否能顺利完成3各模块的共能是否能达到预期要求4系统的稳定性是够良好
5.4测试结果
5.
4.1酒店管理模块测试经过测试,用户能在本系统进行正常的运行,下面是管理模块中的房间预定和结账功能,操作成功,房间预定在输入不存在的手牌后能给出提示,要是客人已经结账时再输入手牌号也能给出已经结账提示说明本系统的管理模块的各项功能都圆满实现了图
5.1房间预定的界面图
5.2输入错误的信息后系统的提示界面图
5.3客人结账界面图
5.4已经结账提示
5.
4.2信息查询模块测试在本系统查询模块中点击各个酒店信息查询时系统都能正确显示结果例如下图是进行客人信息查询的结果,从中可看出本系统的客人信息查询可以正常运行,即说明本系统的查询模块的各项功能都能良好实现图
5.5客人信息查询结果界面
5.4结论经过反复测试,系统完成后运行酒店预定房间、结账、查询客人信息等功能均正常,发布
1.0版虽然此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了软件开发的主要步骤,了解了各环节在开发时要注意的问题,从方便用户的角度出发,去考虑开发出好的软件另外,在设计过程中也逐渐提高了软件开发技能和编程技能因此本设计虽然较粗糙,但是从学习的角度上看,非常有意义第六章总结在此次酒店管理系统的开发过程中,使我们更清楚的了解了JAVAEE系统的开发流程,但由于是第一次把JAVA语言应用于WEB建设,因此系统必然会存在一些缺陷和不足,特别是在功能方面并不很完善,但我们会在今后的学习过程中不断改进,使系统更加完善尽管本系统存在着一些不足之处,但其基本功能全面、易于日后程序更新、界面美观友好、操作方便、效率高、安全性好等优点是本系统所必需的相信本酒店管理系统在网络信息宣传中是一套非常有用的系统在本次课程设计中,我们通过分析系统功能及其实现的方式、查找相关资料、自己动手做程序设计,真正受益匪浅,不仅通过实践更理解、消化了学习的理论知识,更为我们以后的工作打下了基础在此,感谢颜富强老师耐心的辅导另外,在系统设计与开发的整个过程中通过组员之间的密切合作,大家互相讨论,在实际困难前不畏惧,不放弃,基本完成此次设计,极大增强了团队合作意识参考文献
[1]张海藩著,软件工程导论(第五版),清华大学出版社,2008年
[2]郑人杰著,软件工程,人民邮电出版社,2009年
[3]http://www.china-pub.com/51248朱三元、钱乐秋著,软件工程概论,科学出版社,2002年
[4]潘锦平施小英,姚天昉《软件系统开发技术》,西安电子科技大学出版社1997
[5]刘育楠著,动态网页设计培训教程,清华大学出版社,2001年
[6]许家珆、曾翎著,软件工程--理论与实践配光盘,高等教育出版社,2004年
[7]邵维忠杨芙清《面向对象的系统分析》,清华大学出版社1998酒店管理系统查询管理客房登记房间预定餐饮点菜服务点单财务结账客人信息客房信息账单信息食物信息员工信息PAGE5。