酒店客房预订管理系统26068.docx
- 文档编号:11014214
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:53
- 大小:520.04KB
酒店客房预订管理系统26068.docx
《酒店客房预订管理系统26068.docx》由会员分享,可在线阅读,更多相关《酒店客房预订管理系统26068.docx(53页珍藏版)》请在冰豆网上搜索。
酒店客房预订管理系统26068
中南民族大学
学生实验报告
院系:
计算机科学学院
专业、年级:
2010计科
(1)大班
课程名称:
软件工程
项目名称:
酒店客房预订管理系统
学号姓名:
10061064朱辰
学号姓名:
10061065徐丽
学号姓名:
10081109张赛北
学号姓名:
10151251张胜南
指导教师:
刘卫平
2012年12月23日
第一章系统概述
1.1系统开发背景和意义
随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。
在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。
要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。
现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。
面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。
通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。
当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。
许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。
因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。
1.2开发语言简介
酒店客房预订信息管理系统是一个对客户全方面管理的程序。
该客房预订信息管理系统是在VisualC++6.0平台下设计开发,以TXT文档为后台数据库,
利用VisualC++6.0提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
Microsoft的VisualC++6.0作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网的发展,真正地让人们可以在任何时间、任何地点、通过任何设备得到信息。
1.3本系统简介
现代化的酒店组织庞大、服务项目多、信息量大,想要提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。
酒店管理系统正是为此而设计的。
优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。
这也是我所设计本程序的目的之一。
本系统针对用户和客户以及客房的管理采用了当今常用的C/S结构而设计。
采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括订房,退房,客房信息、客户信息的添加、修改和查询。
1.4系统运行环境
机型:
PC
处理器:
奔四或更高
内存:
512M或更高
硬盘:
4G或更高
输入输出设备:
键盘、扫描仪、打印机、显示器等。
数据库软件:
Notepad
编程工具、编程语言:
visualC++
编译软件:
MicrosoftVisualC++6.0
操作系统:
MicrosoftWindowsXP
第二章系统需求分析
2.1用户需求
该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。
一个方便地实现对客房变更、房价及预订信息的自动化操作。
使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。
该软件能系统管理酒店的信息,功能与实现方面有相当的针对性和实用性。
该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。
2.2功能需求
本系统主要具备以下几个基本功能:
(1)客房预订:
按照客户需求,为新客户分配新客房。
(2)退房管理:
删除已退客户信息,及时更新客房留存状态,方便新客户入住。
(3)客房设置:
可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。
(4)客户设置:
可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客
户的预订信息。
(5)房间预订情况查询:
可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某一个房间或客户。
2.3性能需求
1.技术可行性
该客房预订信息管理系统是在VisualC++6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。
2.经济可行性
该系统节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求,系统的开发成本低,现有的PC机即可提供该系统开发工作需要的所有硬件设备环境。
3.操作可行性
直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作中的每一步都会有相应的提示,这样可以让更多的人群在最短的时间内学会使用他。
2.4出错处理需求
在进行每一步操作时,都会有相应的提示操作,当系统出错时,会有相应的提示信息让你寻找错误,它的简单,易学的特性使得能够广泛普及,让更多的人去使用。
(为了更好地阐述需求更能,我们做了详细的图形说明)
2.5系统功能图
2.6系统数据流图
2.7E-R图
第三章系统总体设计
3.1系统功能设计
该系统充分考虑用户的操作简便性,实现快捷操作。
它有以下几个功能:
(1)客房预订:
按照客户需求,为新客户分配新客房。
(2)退房管理:
删除已退客户信息,及时更新客房留存状态,方便新客户入住。
(3)客房设置:
可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。
(4)客户设置:
可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客
户的预订信息。
(5)房间预订情况查询:
可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某个房间或客户。
4.2系统功能模块图
根据上述系统功能分析,能得出下面系统软件功能模块图:
3.2.1整体模块分配
该系统充分考虑用户的操作简便性,实现快捷操作。
它有以下四大模块:
(1)订房:
按照客户需求,为新客户分配新客房。
(2)退订:
删除已退客户信息,及时更新客房留存状态,方便新客户入住。
(3)客房信息:
可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房以及查看所有客房的状态信息。
(4)客户信息:
可以添加新客户,修改客户信息(客户编号,客户姓名),删除已退订客户信息以及查看所有客户的订房状态信息。
3.2.2客户信息子模块
(1)新增:
录入客户编号、客户姓名等信息
(2)更改:
更改相应客户的个人信息。
(3)删除:
删除相应客户的个人信息。
(4)查询:
查询所需客户的订房信息。
(5)显示:
显示所有预订客户的个人信息以及预订房号。
(6)全删:
删除所有客户信息。
3.2.3客房信息子模块
(1)新增:
录入客房编号、客房描述等相关信息。
(2)更改:
更改相应客房的信息。
(3)删除:
删除相应客户及客房的信息。
(4)查询:
查询所需客房的订房状态。
(5)显示:
显示所有客房的房号以及预订状态信息。
(6)全删:
删除所有客房信息。
第四章系统详细设计
4.1系统详细设计进度规划
甘特图如下
4.2系统详细设计任务
1.算法过程的设计:
本详细设计采用的是流程图的方式来表达每个处理过程的算法。
2.数据结构的设计:
对于处理过程中涉及的概念性的数据类型进行确切的定义。
3.测试用例设计:
测试用例包括输入数据和预期结果等内容。
4.3系统物理方案配置设计
1.设计指标
1)系统的可靠性:
该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。
系统吞吐量
2)要提高系统的吞吐量:
要求使用具有大吞吐量的计算机。
应该选择具有较高性能的计算机。
3)系统响应时间:
响应时间不超过2秒
4)系统处理方式:
该系统采用主机系统方式。
2.计算机硬件配置
计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:
内存:
512MB;CPU:
奔四1.8GHZ以上;硬盘:
空余空间4G。
4.4系统输入输出设计
4.4.1输入设计原则
1.输入数据量设计:
需要输入客户数据,数据量不大。
2.输入错误检测:
检测客户登记状态,确保不会重复登记或登记错误。
4.4.2数据输入设备的选择
本系统选择键盘、鼠标人工输入方式。
4.4.3输入检验设计
本系统对输入检验设计的地方有如下几处:
1.当前台工作人员输入客户数据时,系统会自动检测该信息是否已在系统中存在。
2.当业务员输入房间号时,系统会检测该房间号是否存在,若不存在会提示酒店没该房间。
4.4.4输出设计内容
1.输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员等。
2.信息应以表格及文档形式输出。
3.输出设备:
打印机、终端显示器。
4.输出介质:
输出到专用纸张及电脑屏幕上。
4.4.5错误改正方法
系统出现错误时,将弹出提示框。
并允许工作人员改正。
4.5系统程序流程图
第五章模块设计思路分析
本程序共有五大功能模块:
新建模块、更改模块、删除模块、查询模块和显示模块。
各模块在功能上互相补充,在程序中互相融合,才能实现一个具有多种功能的管理系统。
(1)新建模块:
实现所有客房、订房客户的录入工作。
(2)更改模块:
提供数据的修改,包括客户姓名、客房描述等。
(3)删除模块:
将已退订的客户从数据库中删除。
(4)查询模块:
本程序最重要的模块,也是本系统的精髓所在。
通过房间号或客户号实现客房的预订情况以及客户入住情况的查询工作。
(5)显示模块:
显示所有客房、订房客户的基本信息。
在程序设计上,我们的目标就是先实现单个模块,进而实现整个程序。
本程序正是本着这种思想,一步一步,有条不紊的进行规划与设计。
本程序通过四个类:
客户类、客户库类、客房类、客房库类,并通过主函数调用类函数实现了这五大功能模块的功能。
第6章使用说明
(1)程序主界面:
界面简洁明了,一目了然,便于操作。
选择数字0-6进入相应功能。
(2)订房:
主界面选择1进入订房功能
(3)查询房间预订情况:
主界面选择3进入该功能
(4)增删客户信息:
主界面选择4进入该功能
1.增加客户信息:
系统提示输入客户号码、姓名等信息,按要求录入即可。
2.删除个人信息:
系统提示输入要更改的客户号,输入后即可更改该客户的个人信息。
3.返回:
返回主界面。
(5)增删房间信息:
主界面选择5进入客房信息管理菜单。
1.新增:
系统提示输入房间号、房间描述等信息,按要求录入即可。
2.删除:
系统提示输入要删除的房间号,输入后即可删除该房间。
3.返回:
返回主界面。
(6)查询客户和房间总信息量:
主界面选择6进入该功能,
通过读取文件信息、预订然后将信息输出显示。
(7)退房:
主界面选择2进入退房功能。
(8)退出:
主界面选择0退出程序。
(9)文件中读取房间信息room
(10)文件读取客户信息customer
第七章程序源代码
程序源代码包含三大块:
类定义、各功能函数定义及实现和主函数实现
类定义源代码:
#ifndefINFO_H
#defineINFO_H
#include
#include
#include
usingnamespacestd;
namespaceinfo_space
{
classCustomer
{
public:
Customer();
stringname;
intnumber;//客户编号
};
classRoom
{
public:
Room();
introom_number;
introom_level;//房间等级,1-5级
stringroom_config;//房间配置:
高级,优,良,中等,普通
};
classCustomerBase
{
public:
CustomerBase();
voidadd(Customertemp);//前条件,temp已经含有值
voidremove(Customertemp);
Customerthe_customer;
CustomerBase*next;
};
classRoomBase
{
public:
RoomBase();
voidadd(Roomtemp);
voidremove(Roomtemp);
Roomthe_room;
RoomBase*next;
};
classInfoBase
{
public:
intcustomer_number;
introom_number;
InfoBase();
voidadd(InfoBase*&temp_ptr,intcnum,intrnum);
voidremove(InfoBase*&temp_ptr,intcnum);
boolcheck(InfoBase*&temp_ptr,intcnum);
boolcheckall(InfoBase*&temp_ptr,intcnum,intrnum);
voidoutput(InfoBase*&temp_ptr);
InfoBase*next;
};
typedefCustomerBase*CBasePtr;
typedefRoomBase*RBasePtr;
typedefInfoBase*IBasePtr;
Customer:
:
Customer()//构造函数
{
name="";
number=-1;
}
Room:
:
Room()
{
room_number=-1;
room_level=0;
room_config="";
}
CustomerBase:
:
CustomerBase()
{
next=NULL;
}
RoomBase:
:
RoomBase()
{
next=NULL;
}
InfoBase:
:
InfoBase()
{
next=NULL;
}
voidpause()
{
charget;
cout<<"请按下任何键继续……"< cin.get(get); cin.get(get); } }//info_space的结尾 #endif//INFO_H 各功能函数源代码: #ifndefINFO_FUN_H #defineINFO_FUN_H #include #include #include #include #include"info.h" namespaceinfo_space { voidreadfile(ifstream&instream,CBasePtr&temp)//从文件中读取客户数据 { intt_number=-1; stringt_name=""; CBasePtrt_temp=newCustomerBase; instream>>t_name; while(! instream.eof()) { instream>>t_number; t_temp->the_customer.name=t_name; t_temp->the_customer.number=t_number; if(instream.eof())return; t_temp->next=temp; temp=t_temp; t_temp=NULL; t_temp=newCustomerBase;//循环创建用户信息类 instream>>t_name; } } voidwritefile(ofstream&outstream,CBasePtr&temp)//信息写入文件中 { if(temp==NULL)return; CBasePtrt_temp=temp;//为了防止写完文件后,指针到达指针尾 while(t_temp! =NULL) { if(t_temp->the_customer.name=="") t_temp=t_temp->next; if(t_temp==NULL)break;//这两个if语句用来判别输出客户信息 outstream< < t_temp=t_temp->next; } } voidreadfile(ifstream&instream,RBasePtr&temp)//读取文件函数的重载 { intnumber=-1; intlevel=0; stringconfig=""; RBasePtrt_temp=newRoomBase; instream>>number; while(! instream.eof()) { instream>>level; instream>>config; t_temp->the_room.room_number=number; t_temp->the_room.room_level=level; t_temp->the_room.room_config=config; if(instream.eof())return; t_temp->next=temp; temp=t_temp; t_temp=NULL; t_temp=newRoomBase; instream>>number; } } voidwritefile(ofstream&outstream,RBasePtr&temp) { if(temp==NULL)return; RBasePtrt_temp=temp; while(t_temp! =NULL) { if(t_temp->the_room.room_number==-1) t_temp=t_temp->next; if(t_temp==NULL)break;//这两个if语句用来判别输出房间信息 outstream< < < t_temp=t_temp->next; } } boolcheck(CBasePtr&temp_ptr,intnumber)//若找到相同编号则返回true,否则返回false { CBasePtrthe_ptr=temp_ptr; while(the_ptr! =NULL) { if(the_ptr->the_customer.number==number) returntrue; elsethe_ptr=the_ptr->next; } returnfalse; } boolcheck(RBasePtr&temp_ptr,intnumber)//核对预订的客户和客房信息,看是否还有空房 { RBasePtrthe_ptr=temp_ptr; while(the_ptr! =NULL) { if(the_ptr->the_room.room_number==number) returntrue; elsethe_ptr=the_ptr->next; } returnfalse; } voidCustomerBase: : add(Customertemp)//添加客户信息 { if(temp.name==""||temp.number==-1) { cout<<"用户信息未填写完整,请重新填写! "; return; } else { ifstreaminstream; ofstreamoutstream; instream.open("E: \\customer.txt"); CBasePtrtemp_ptr=NULL; readfile(instream,temp_ptr);//读取文件中的客户信息,存入temp_ptr中 CBasePtrtt_ptr=temp_ptr; //用此临时指针获取指针尾部指针,从而让新客户信息加到指针尾部,写入的时候也会相应写到文件尾部 while(tt_ptr->next! =NULL) tt_ptr=tt_ptr->next; if(check(temp_ptr,temp.number)) { cout<<"客户编号已经存在,请核查! "< return; } else { CBasePtrptr=newCustomerBase; ptr->the_customer=temp; tt_ptr->next=ptr; } outstream.open("E: \\customer.txt");//open函数会刷新文档,里面存储的内容全失 writefile(outstream,temp_ptr);//将新的链表信息写入文件中 } } voidCustomerBase: : remove(Customertemp)//删除客户信息 { intflag=0;//设置一个标记,用来检验删除是否成功 ifstreaminstream; ofstreamoutstream; instream.open("E: \\customer.txt"); CBasePtrtemp_ptr=NULL; readfile(instream,temp_ptr);//读取文件中的客户信息,存入temp_ptr中 if(! check(temp_ptr,temp.number)) { cout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店客房 预订 管理 系统 26068
![提示](https://static.bdocx.com/images/bang_tan.gif)