客房预定系统设计与实现软件工程设计.docx
《客房预定系统设计与实现软件工程设计.docx》由会员分享,可在线阅读,更多相关《客房预定系统设计与实现软件工程设计.docx(31页珍藏版)》请在冰豆网上搜索。
客房预定系统设计与实现软件工程设计
目录
引言………………………………………………………………………………………………………………1
1.1开发项目的目的………………………………………………………………………………………………1
2.项目开发计划……………………………………………………………………………………………………2
2.1项目概述………………………………………………………………………………………………………2
2.2实施计划………………………………………………………………………………………………………2
2.3项目开发进程…………………………………………………………………………………………………3
3.需求分析………………………………………………………………………………………………………….3
3.1系统需求和功能分析…………………………………………………………………………………………3
3.2数据字典………………………………………………………………………………………………………4
4.模块设计………………………………………………………………………………………………………….7
4.1系统功能模块划分……………………………………………………………………………………………7
4.2系统功能模块图……………………………………………………………………………………………..8
5.概念结构设计…………………………………………………………………………………………………...8
5.1概念结构E-R图……………………………………………………………………………………………..8
6.逻辑设计………………………………………………………………………………………………………..10
6.1逻辑设计………………………………………………………………………………………………………10
6.2设计优化………………………………………………………………………………………………………12
6.3模块设计………………………………………………………………………………………………………12
7.物理设计…………………………………………………………………………………………………………12
7.1建立索引………………………………………………………………………………………………………12
7.2数据存放位置…………………………………………………………………………………………………12
7.3系统配置………………………………………………………………………………………………………12
8.数据库实施和维护………………………………………………………………………………………………13
8.1创建数据库……………………………………………………………………………………………………13
8.2数据库备份和恢复……………………………………………………………………………………………15
9.应用程序的设计…………………………………………………………………………………………..……18
9.1登陆界面设计…………………………………………………………………………………………….…18
9.2开房界面设计………………………………………………………………………………………….……19
9.3退房界面设计………………………………………………………………………………………………19
9.4换房界面设计………………………………………………………………………………………………20
9.5预订信息界面设计……………………………………………………………………………………….……20
9.6预订入住界面设计………………………………………………………………………………………….…21
10.测试报告…………………………………………………………………………………………..……………21
10.1白盒测试………………………………………………………………………………………….…………21
10.2黑盒测试…………………………………………………………………………………………….………21
11总结体会………………………………………………………………………………………………………27
1.引言
酒店客房管理系统在正常运营中需要对客房资源、客人信息、结算信息等进行管理,利用酒店客房管理信息系统对客房的各个操作进行管理,能够及时了解各个环节中信息的变更,有利于提高管理的效率。
1.1开发项目的目的
本项目要设计和实现一个能对酒店客房租住信息,客人信息,结算信息的管理,实现前台操作流程较方便,清晰,高效的信息管理系统
1.2开发背景
项目名称:
酒店客房管理系统
项目任务提出者:
李代平老师
项目开发者:
巫凯平,吴师伟,刘礼浩,周挺
项目用户:
项目开发者,项目测试员,验收老师
1.3开发环境
计算机及操作系统:
PC机,WindowsXP;
开发工具:
VC++
运行环境:
装有SQLSERVER2000的系统
语言:
VC++与SQL查询语言
1.4参考资料
[1].求是科技.VisualC++数据库通用模块及典型系统开发实例导航.—北京:
人民邮电出版社,2006.3
[2].李代平.软件工程.第二版.北京:
冶金工业出版社,2006.11
[3].王珊/萨师煊.数据库系统概论.第四版.-北京:
高等教育出版社,2006.5
[4].郑阿奇.VisualC++教程-北京:
机械工业出版社,2004.9
1.5可行性分析
目前酒店客房管理系统在宾馆中已普遍使用,使用该项目的开发研究有很好发展前景。
虽然我们开始的时间较紧迫且相关知识点少,这给项目开发带来一定的困难,但从我们所具备的系统开发所需的人员、软件、硬件资源和工作环境来说该项目的开发是具有可行性的。
2.项目开发计划
2.1项目概述
2.1.1工作内容
这个阶段时间很短,工作内容是通过一段时间的资料收集,然后讨论系统功能需求分析,数据库设计,代码实现,系统测试和文档整理等工作的划分,主要目的是为了便于小组成员以后开展工作。
2.1.2产品
该项目产品主要包括程序和文件。
所要提交的程序主要有代码和可执行程序;所要提交的文件有设计报告。
2.2实施计划
2.2.1工作任务的分解与人员分工
主要的工作任务:
一获取需求
二需求分析
三模块设计
四数据库概念设计
五数据库逻辑设计
六数据库物理设计
七数据库实现和维护
八应用程序设计
九系统测试
一十整理文档和设计报告。
成员任务分配表:
表2.1
成员任务分配
巫凯平
任务安排,获取需求,需求分析,代码设计,详细设计,界面设计,白盒测试
吴师伟
参与代码设计,详细设计,界面设计,白盒测试,整理文档和报告
刘礼浩
获取需求,需求分析,数据库设计分析
数据库建立和维护,整理文档和报告
周挺
参与数据库设计分析,负责黑盒测试,整理文档和报告
2.3项目开发进程:
尽量按任务书安排各进程,时间略有出入
3、需求分析
3.1系统需求和功能分析
现在我国的中小型宾馆客房管理水平还停留在纸介质的基础上,这样的机制已不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
而购买大型通用宾馆客房管理系统,对小型宾馆来说,又要付出昂贵的代价,而且管理项目不一定完全符合小型宾馆客房管理的要求。
因此根据企业目前实际的宾馆客房管理情况开发一套宾馆客房管理系统是十分必要的。
本系统主要具备一下几个基本功能:
(1)前台操作:
包括开房登记、退房结帐和房状态查看
(2)预定管理:
包括预定房间、预定入住和解除预定
(3)信息查询:
包括在住客人列表、预定客人列表和历史客人列表
(4)报表统计:
包括开房记录统计、退房结帐和预定房间统计表
3.2数据字典
3.2.1数据结构
(1)住店管理:
客人姓名、证件号码、房号、入住日期、预计离开日期、结账离开日期、应付金额
(2)客人信息:
客人姓名、性别、证件类型、证件号码、联系电话
(3)房间信息:
房号、房类型、价格、押金、房状态
(4)预定房间:
客人姓名、性别、房类型、房号、价格、证件类型、证件号码、联系电话、入住日期、预计离开日期
(5)历史信息:
3.2.2数据项
数据项表如下:
(1)客人信息表
表3.1客人信息表
字段名称
数据类型
说明
1
CNAME
文本
姓名
2
CSEX
文本
性别
3
CIDTYPE
文本
证件类型
4
CIDNO
文本
证件编号
5
CTEL
文本
电话
(2)房间信息表
表3.2预定房间表
字段名称
数据类型
说明
1
ROOMNO
数字
房间号码
2
ROOMTYPE
文本
房间类型
3
ROOMPRICE
文本
房间价格
4
ROOMDEPOSIT
数字
押金
5
ROOMSTATE
文本
房间状态
(3)住店管理表
表3.3住店管理表
字段名称
数据类型
说明
1
CNAME
文本
客人姓名
2
CIDNO
文本
证件号码
3
ROOMNO
文本
房号
4
INDATE
日期
入住日期
5
OUTDATE
日期
预计离开日期
6
CHECKOUTDATE
日期
结帐离开日期
7
TOTAL
数字
应付金额
(5)预定信息表
表3.4预定信息表
字段名称
数据类型
说明
1
CNAME
文本
预订客人姓名
2
CSEX
文本
预订客人性别
3
ROOMNO
文本
预订房号
4
ROOMTYPE
文本
预订房类型
5
ROOMPRICE
文本
预订房价格
6
CIDTYPE
文本
预定人证件类型
7
CIDNO
文本
预订人证件号码
8
CINDATE
日期
预订入住日期
9
OUTDATE
日期
预订离开日期
10
CTEL
文本
联系电话
(6)历史信息表
表3.5历史信息表
字段名称
数据类型
说明
1
CNAME
文本
客人姓名
2
CSEX
文本
性别
3
CIDTYPE
文本
证件类型
4
CIDNO
文本
证件号码
5
CTEL
文本
联系电话
6
CROOMNO
文本
入住房号
7
ROOMTYPE
文本
房间类型
8
ROOMPRICE
文本
房间价格
9
CINDATE
日期
入住日期
10
CHECKOUTDATE
日期
离开日期
3.2.3数据流图
图3.1数据图
3.2.4数据存储
通过SQLSERVER2000建立一个名为HOTEL库,存放酒店中房间信息、客人信息和住店信息以提供应用程序进行系统业务功能数据所需的数据。
1)数据存储名称:
房间信息表
说明:
记录所有房间的基本信息
输入的数据流:
服务员查看酒店房间基本信息
输出的数据流:
输出房间基本信息给服务员查看
组成:
房间号码,房间类型,房间价格,押金,房间信息
2)数据存储名称:
客人信息表
说明:
记录住店客人的基本信息
输入的数据流:
在住店管理界面中添加客人基本信息
输出的数据流:
在在住客人列表中或历史信息中查看客人基本信息
组成:
姓名,性别,证件类型,证件号码,联系电话
3)数据存储名称:
住店管理信息表
说明:
记录开房和退房的基本信息
输入的数据流:
在住店管理界面中添加客人基本信息
输出的数据流:
在开房,退房,在住客人列表中或历史信息中查看有关基本信息
组成:
姓名,证件类型,证件号码,房间号码,入住时间,预计入住时间,结帐离开时间,应付金额
4)数据存储名称:
预订信息表
输入的数据流:
在预订信息管理界面中添加相关预订信息
输出的数据流:
在预订信息列表查看有关信息
组成:
预订人姓名,预订房间号码,预订入住时间,预订人联系电话
5)数据存储名称:
历史信息表
输入的数据流:
所有关于客人,住房,退房的信息
输出的数据流:
在历史列表中查看以往客人信息和有关住房信息
组成:
姓名,性别,证件类型,证件号码,联系电话,房间号码,入住时间,结帐离开时间,应付金额
3.2.5处理过程:
通过应用管理程序操作,结合SQL中的查询和更新等具体语句,对数据库进行数据查询、数据插入、数据修改和数据删除等操作。
4、模块设计
4.1系统功能模块划分
结合前面需求分析阶段的结果进行综合处理,确定了客房管理系统需要完成的功能,主要划分为以下模块:
(1)前台操作:
包括开房登记、退房结帐和房状态查看
(2)预定管理:
包括预定房间、预定入住和解除预定
(3)信息查询:
包括在住客人列表、预定客人列表和历史客人列表
(4)报表统计:
包括开房记录统计、退房结帐和预定房间统计表
4.2系统的功能模块图
图4.1系统功能模块图
结合实际客房管理、查询和统计信息处理量大查询和统计的方式各不相同的特点,在系统设计进行的优化时采取下面一些原则:
●统一的各种原始单据的格式,统一的帐目和报表的格式。
●删除不必要的管理冗余,实现管理规范化、科学化。
●程序代码标准化,软件统一化,确保软件的可维护性和实用性。
●界面尽量简单化,尽量方便前台服务人员的操作。
5.概念结构设计
5.1概念结构E-R图
这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划出的实体有客人实体、房间实体、住店管理实体、预订信息实体和历史信息实体。
各实体的E-R图及其关系描述如下:
6、逻辑设计
6.1逻辑设计
将关系模型转换成具体RDBMS支持的实际关系数据模型,如下面的几个表格所示。
(每个表格表示在数据库中的一个表)
(1)客人信息表
表3.2客人信息表
字段名称
数据类型
说明
1
CNAME
CHAR(20)
姓名(主码)
2
CIDTYPE
CHAR(20)
证件类型
3
CIDNO
CHAR(20)
证件编号(主码)
4
CTEL
CHAR(20)
电话
(3)住店管理表
表3.1住店管理表
字段名称
数据类型
说明
1
CNAME
CHAR(20)
客人姓名
2
CIDNO
CHAR(20)
证件号码
3
ROOMNO
CHAR(20)
房号
4
INDATE
CHAR(20)
入住日期
5
OUTDATE
CHAR(20)
预计离开日期
6
CHECKOUTDATE
CHAR(20)
结帐离开日期
7
TOTAL
CHAR(20)
应付金额
(4)预定信息表
字段名称
数据类型
说明
1
CNAME
CHAR(20)
预订客人姓名
2
CSEX
CHAR(20)
预订客人性别
3
ROOMNO
CHAR(20)
预订房号
4
ROOMTYPE
CHAR(20)
预订房类型
5
ROOMPRICE
CHAR(20)
预订房价格
6
CIDTYPE
CHAR(20)
预定人证件类型
7
CIDNO
CHAR(20)
预订人证件号码
8
CINDATE
CHAR(20)
预订入住日期
9
OUTDATE
CHAR(20)
预订离开日期
10
CTEL
CHAR(20)
联系电话
(5)历史信息表
字段名称
数据类型
说明
1
CNAME
CHAR(20)
客人姓名
2
CSEX
CHAR(20)
性别
3
CIDTYPE
CHAR(20)
证件类型
4
CIDNO
CHAR(20)
证件号码
5
CTEL
CHAR(20)
联系电话
6
CROOMNO
CHAR(20)
入住房号
7
ROOMTYPE
CHAR(20)
房间类型
8
ROOMPRICE
CHAR(20)
房间价格
9
CINDATE
CHAR(20)
入住日期
10
COUTDATE
CHAR(20)
结帐离开日期
6.2设计优化:
在上面的实体以及实体之间的关系的基础上,形成数据库中的表格和各个表格之间的关系,即关系模型。
设计关系模型并对其进行优化:
确定数据依赖,给出给关系模式中的主码,明确其依赖关系。
对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
对照数据依赖的理论对各个关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖,确定个关系模式分别所属的范式类型。
按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,对某些模式检查是否有合并或分解的需要。
对关系模式进行必要的分解,提高数据操作效率和存储空间的利用率。
6.3模式设计
用户名设置为wwlz、密码为pwht登陆数据库,对应用程序和数据库进行操作。
非本用户不能登陆该系统。
7、物理设计
7.1建立索引
在本实例中,房间号码,客人姓名,证件号码这几个属性是主码,设计时考虑建立这些索引,使得对数据库的查询、插入、修改和删除的速度加快,效率也提高。
7.2数据存放位置
在开发本系统时因数据库的规模大,但因开发环境条件限制,所以数据库是存在个人的计算机磁盘上。
7.3系统配置
开发以及运用本数据库应用系统时要求操作系统拥有WINDOWS2000以上的配置,能创建数据库,保存数据,并将系统数据库作为应用系统运行操作的数据源,为方便开始时创建和调试查看数据库内容,要求系统装有SQLSERVER2000。
8、数据库实施和维护
8.1创建数据库
1)运用SQLSERVER2000创建DMS数据库,其创建过程如下面所示(代码在图中):
创建数据库hotel
8.1创建数据库hotel
8.2创建客房信息表
8.3创建客人信息表
8.4创建住店管理表
8.5创建历史信息表
8.6创建预订信息表
8.2数据备份和恢复
数据库是系统的关键信息,需要采取较好,有效的备份方案。
在本设计中,数据备份利用SQLSERVER2000备份功能来进行数据库备份,操作流程如下图所示:
先打开企业管理器,找到要备份的数据库
成功的把数据备份到D:
\z中去
数据库恢复时应把原数据库删除重新导入,如下图所示:
成功载入备份数据库文件即可。
9、应用程序的设计
使用VisualC++的应用程序向导可以轻松地建立起应用程序的框架。
建立工程的操作步骤在这里不在赘述。
下面就各个模块进行设计
9.1登录界面设计
在CRanjianshejiView:
:
OnInitialUpdate()中添加代码
CdengluDlgdlg;
dlg.DoModal();
if(dlg.m_gonghao!
="wwlz"||dlg.m_mima!
="pwht")
{
MessageBox("密码错误!
");
exit(0);
}
9.2开房介面设计
代码请见付程序中,下同
9.3退房界面设计
9.4换房界面设计
9.5预订信息界面设计
9.6预定入住界面设计
因界面及代码不少,其余界面与代码请都参见程序。
10、测试报告
10.1白盒测试
在系统的实现过程和程序的调试过程中,遇到很多问题,此时详细代码设计者已对程序仔细阅读,设置断点,进行了白盒测试。
10.2黑盒测试
系统完成后,要进行黑盒测试,即设置一些测试用例,对系统的各个模块的功能进行测试,看能否得到正确的输出。
在这里以管理员的身份登录系统,以便对系统的各个功能模块进行测试。
10.2.1开房信息测试
10.2.2退房信息测试
\
10.2.3换房信息测试
10.2.4客房状态信息测试
10.2.5预订信息测试
10.2.6预定入住信息测试
10.2.7解除预定信息测试
10.2.8在住客人信息列表测试
10.2.9预定客人列表测试
10.2.10历史信息查询测试
经测试人员严密测试,该系统基本完成客房管理系统的基本查询,插入,修改和更新功能,结果也证明是正确的!
11、总结体会
本次课程设计时间安排在本学期进度表的最后一周,时间很紧迫,加上在之前准备考试复习,同时在这一周中也因做其它课程的设计任务,所以项目开始时准备工作不够充分,加上组员在开始系统方面知识掌握不够,基本是边看书查资料边开发,但是成员之间合作比较好,完成了基本功能,但数据库的信息量未能达到老师布置的要求,在此我们全组人员向老师道歉,数据库的数据缺陷是我们此次设计的一大遗憾,但我们坚信我们继续努力是能开发完成该系统的。
我们不会就此放弃,我们将继续努力完成这个系统的。
但是我们的收获也颇多,通过本项目我们学会了成员之间的协调、团队精神,加深了对数据库设计和应用软件开发过程的理解。
本文是通过网络收集的资料,如有侵权请告知,我会第一时间处理。
........忽略此处.......