酒店预订系统详细设计说明书.docx
《酒店预订系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《酒店预订系统详细设计说明书.docx(29页珍藏版)》请在冰点文库上搜索。
详细设计说明书
1.引言
1.1编写目的
随着现代IT技术的快速发展,不论是计算机软件技术还是硬件技术都相比计算机刚问世时有了长足的进步。
而且现在计算机网络,数据库技术也不断发展。
迅猛发展的旅游行业带动了酒店行业的发展,传统的酒店信息管理系统已不能满足目前的需求。
利用现代计算机技术,网络技术和数据库技术对传统的酒店信息管理系统进行改造是酒店行业唯一的出路。
1.2项目背景
软件的系统名称:
旅店预订系统
本项目的提出者:
软件工程S班第十二组
本项目的任务开发者:
软件工程S班第十二组本项目的用户:
所有人
1.3参考资料:
名称
作者
编号
发布日期
出版单位或
资料来源
基于Web的三
李黎明,陈
1999.11
层C/S计算开
发技术分析
志刚
[J].微型电脑
应用
三 层 次
侯云峰等
2000
酒店预订系统软件详细设计说明书
Client/Server应用开发指南Web数据库开发进阶[M]
唐东 1999
2.总体设计
2.1需求概述
酒店预订系统针对各星级酒店,各个城市,各种价位的选择,房型的种类包括双人海景房,标准单人间,豪华标准间,豪华商务套房,豪华观景房,商务间,标准间,用户的数量和来源不限。
要求:
能够存储一定数量的用户信息和酒店信息,并对用户和酒店的数据操作和管理;
能够对一定数量的用户进行相应的信息存储与管理;能够对要求的统计结果打印输出;
能够提供一定的安全机制;
1)软件结构
2.2程序描述
1.主模块
l功能:
建立与数据库连接
获取系统设置运行主对话框
根据输入调用子模块
退出系统时断开与数据库的连接
l输入项目
用户鼠标点击输入
l程序逻辑
酒店预订模块
初始化
酒店信息模块
UNTIL输入”退
出”
用户管理模块
订单管理模块
退出
l存储分配内部数据:
数据库连接 pConnection_ConnectionPtr
数据库连接指针IsConnectedBOOL 数据库连接指示
子对话框 HotelYudingDlgCHotelYudingDlg 酒店预订对话框
HotelDlg CHotelDlg 酒店信息对话框
UserDlg CUserDlg 用户管理对话框
OrderDlg COrderDlg 订单管理对话框
测试要点
数据库连接情况:
正常情况,数据库文件缺少,外部系统异常。
系统设置获取:
正常情况,外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);子模块的异常状况,系统能否及时做出响应。
2.用户注册模块
l功能:
进行网站新用户的注册,只有进行注册后才能预订酒店
l输入项目:
用户名(引用型字符串),用户密码(整型常数),真实姓名(引用型字符串),e-mail(引用型字符串)
l输出项目:
用户注册结果(是否注册成功)
l程序逻辑
生成数据库查询语句调用数据库查询模块
IF返回结果集为空(不存在该读者证号)
置读者姓名字符串为空返回”非法读者证号”
ELSE
置读者姓名字符串返回”合法读者证号”
l接口
调用形式:
BOOL CheckReader(const long User_id,CString&strUser_Name)
传入参数:
User_id(常量参数传入) 用户编号m_pConnection(注册模块内的全局变量)数据库连接指针传出参数:
用户编号存在/不存在标志(返回值)
strUser_Name(传入的引用参数) 用户编号对应的用户名(用户名不存在时置为空)
l存储分配
局部变量:
数据库 User _RecordsetPtr 数据库查询结果集指针查询参数vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换strQuiry Cstring 查询命令类型转换
vtemp _variant_t 查询结果类型转换
l测试要点
数据库连接正常时
输入合理合法参数输入参数不合理输入参数不合法
数据库连接异常;数据库数据异常(读者姓名为空)
3
.用户登录模块
l功能:
查验用户是否合法
l输入项目:
用户名(整型常量)、密码
l输出项目:
查验结果(BOOL值)
l程序逻辑
生成数据库查询语句调用数据库查询模块
IF返回结果集为空(不存在该用户)
返回”密码错误”或“该用户不存在”ELSE
返回”登录成功”
l接口
调用形式:
BOOLCheckHotel(constlongUser_id)
传入参数:
User_id(整型常量) 带查验的用户编号传出参数:
用户合法/不合法标志(返回值) 查验结果
l存储分配
局部变量:
数据库 Hotel _RecordsetPtr 数据库查询结果集指针查询参量 vtQuiry _variant_t 查询字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry Cstring 查询命令类型转换
l测试要点
数据库连接正常数据库数据正常
输入的用户名合理合法输入的用户名不合理输入的用户名不合法数据库数据异常
数据库连接异常
4.修改个人信息模块
l功能:
网站用户修改自己的个人信息
l输入项目:
合法用户名();用户密码(引用型字符串)
l输出项目:
更新后的个人信息
l程序逻辑
生成数据库操作命令调用数据库操作模块IF操作成功
返回”修改成功”
ELSE
返回”修改失败”
l接口
调用形式:
BOOLGetLHInf(constlongUser_id,CString&strLHInf)
传入参量:
User_id(整型常量) 查询参数
strLHInf( 引用型字符串)返回用的格式化的查询信息传出参量:
修改成功/失败标志(BOOL值)存储分配
局部变量:
数据库 pRecords _RecordsetPtr 数据库查询结果集指针查询参数vtQuiry _variant_t 查询命令字符串
vNull _variant_t 查询连接参量
类型转换strQuiry CString 查询命令类型转换
l测试要点
数据库连接正常数据库数据正常
输入正常(用户名合法)输入异常(用户名非法)输入参数合法
输入参数非法
数据库数据异常数据库连接异常
5.
酒店查询模块
l功能:
查看用户输入的酒店是否存在
l输入项目:
酒店名称(引用型字符串)
l输出项目:
操作结果(BOOL值)
l程序逻辑
生成数据库查询语句调用数据库查询模块
IF返回结果集为空(不存在该酒店)
返回”非法酒店酒店名称”
ELSE
返回”合法酒店名称”
l接口
调用形式:
BOOLWriteBlrecord(constlongHotel_id,User_id)
传入参数:
User_id(整型常量) 操作参数(用户编号)Hotel_id(整型常量) 操作参数(酒店编号)
传出参数:
查询成功/失败标志(返回值)查询结果
l存储分配局部变量:
操作命令参数vRecsAffected
_variant_t
操作影响
vtCommand
_variant_t
操作命令
类型转换 strCommand
CString
操作命令类型转换
strToday
CString
日期类型转换
测试要点
数据库连接正常数据库数据正常
输入的酒店名称合理合法输入的酒店名称不合理输入的酒店名称不合法数据库数据异常
数据库连接异常
6.酒店列表模块
l功能:
将查询酒店结果集列表显示
l输入项目:
点击旅店列表(用户操作)
l输出项目:
用户界面显示,
l程序逻辑
初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)显示列表
WHILE用户未输入“返回”IF用户拖动列的标题栏
重新设置列的位置排序
刷新显示
返回
调用形式:
CListShowDlg:
:
ShowList(const_RecordsetPtrpRecords,
CString*strArray,
constintcols,constintrows)
传入参数:
pRecords(数据库查询结果集指针) 需要显示的查询结果
strArray(字符串数组头指针) 显示项的名称(列名) cols(整型常量) 列表列数
rows (整型常量) 列表行数传出参数:
无
l存储分配
内部数据:
数据库
m_pRecords
_RecordsetPtr
数据库查询结果集
内部参数
m_strArray
CString[20]
列名存储数组
m_intCols
int
列表列数
m_intRows
int
列表行数
m_cltFGrid
CMSFlexGrid
列表控件
l测试要点
m_iMouseCol
int
用户鼠标所在列
查询结果正常
查询结果集为空 显示消息框提示
查询结果集不为空 正常显示结果列表,并根据用户输入调整输出查询结果异常 显示警告
7.填写订单模块
l功能:
客户对所选择的将要预订的旅店点击“预订”,进入订单填写页面,对所预订的旅店进行确认,并填写个人信息(姓名、联系方式(固定电话、手机或者其他)、预订房间类型以及数量、入住日期和入住天数等)。
l输入项目:
用户名(传入参数)、用户密码
l输出项目:
预订结果(返回值)
l程序逻辑
生成数据库操作命令
IF操作成功
生成数据库操作命令(删除)
IF操作成功
返回”预订成功”返回”预订失败”
l接口
调用形式:
BOOLCheckhlrcord(constlonghID)
传入参量:
Hotel_id(整型常量)
传出参量:
书号合法/非法标志(BOOL型)
l存储分配局部变量:
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换引用的全局变量:
pConnection_ConnectionPtr 使用
pRecords _RecordsetPtr 写(打开)
l测试要点
数据库连接正常数据库数据正常
预订结果正常
预订结果异常 显示警告
数据库数据异常 返回“假”预订结果,给出数据异常警告
数据库连接异常 返回“假”预订结果,给出数据库连接异常警
告
8.酒店信息管理模块
l功能:
可以查看旅店的详细资料,可以修改现有旅店信息,也可以删除现有旅店信息。
l输入项目:
管理员编号(整型常数),管理员用户名(引用型字符串),密码登陆(引用型字符串)
l输出项目:
查验结果(BOOL值)
l程序逻辑
生成数据库查询语句调用数据库查询模块
IF返回结果集为空(不存在该用户名)置用户名符串为空
返回”非法编号”
ELSE
置读者用户名字符串返回”合法编号”
l接口
调用形式:
BOOLCheckAdmin(constlongAdminID,CString&strAdminName)
传入参数:
Admin_id(常量参数传入) 待查验的管理员编号
m_pConnection(模块内的全局变量) 数据库连接指针传出参数:
酒店编号存在/不存在标志(返回值)
Admin_Name(传入的引用参数) 管理员编号对应的管理员用户名(管理员编号不存在时置为空)
l存储分配
局部变量:
数据库 pReader _RecordsetPtr 数据库查询结果集指针查询参数vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换strQuiry Cstring 查询命令类型转换
vtemp _variant_t 查询结果类型转换
l测试要点
数据库连接正常时
输入合理合法参数输入参数不合理输入参数不合法
数据库连接异常;数据库数据异常(管理员编号为空)
9.添加新酒店功能模块
l功能:
向系统中添加新的酒店信息
l输入项目:
酒店名称(引用型字符串)、所在地区(引用型字符串)、酒店星级(image)、酒店图片(image)、酒店介绍(引用型字符串)、酒店其他信息(引用型字符串)和酒店地址(引用型字符串)
l输出项目:
查验结果(BOOL值)
l程序逻辑
生成数据库查询语句调用数据库查询模块
lIF添加新酒店
l操作成功
l生成数据库更新语句
lIF更新操作成功
l重新获取记录集
l光标移动到原位置
l返回”成功”
l接口
调用形式:
BOOLHotelCheckHotel(constlongHotel_id)
传入参数:
Hotel_id(整型常量) 带查验的酒店编号
传出参数:
Hotel_id酒店编号合法/不合法标志(返回值) 查验结果
l存储分配
局部变量:
数据库
pBook
_RecordsetPtr
数据库查询结果集指针
查询参量
vtQuiry
_variant_t
查询字符串
vNull
_variant_t
查询连接参量
类型转换
l测试要点
strQuiry
Cstring
查询命令类型转换
数据库连接正常数据库数据正常
输入的酒店名称合理合法输入的酒店名称不合理输入的酒店地区不合法数据库数据异常
数据库连接异常
10.添加新房间分类模块
l功能:
需要列出网站现有的旅店房间分类,管理员可以删除现有的房间分类,还可以添加新的房间分类
l输入项目:
分类名称(引用型字符串);分类价格(引用型字符串)
l输出项目:
查询操作结果(BOOL值)
l程序逻辑
生成数据库查询语句调用数据库查询模块
生成数据库查询语句调用数据库查询模块
lIF添加新分类
l操作成功
l生成数据库更新语句
lIF更新操作成功
l重新获取记录集
l光标移动到原位置
l返回”成功”
l接口
调用形式:
BOOLFenleiCheckHotel(constlongFenlei_id)
传入参数:
Fenlei_id(整型常量) 带查验的分类编号
传出参数:
Fenlei_id分类编号合法/不合法标志(返回值) 查验结果
l存储分配
局部变量:
数据库 pBook _RecordsetPtr 数据库查询结果集指针查询参量 vtQuiry _variant_t 查询字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry Cstring 查询命令类型转换
l测试要点
数据库连接正常数据库数据正常
输入的分类名称合理合法输入的分类名称不合理输入的分类价格不合法数据库数据异常
数据库连接异常
输入异常(管理员编号非法)数据库数据异常
数据库连接异常
11.客户修改模块
l功能:
可以删除已经存在的用户信息。
当系统管理员要删除该用户信息时,系统会提示“你确定要删除该用户信息吗?
删除后将无法恢复”,点击确定将做删除操作。
普通用户帐号被删除后,需要重新进行注册才能登陆网站进行相关操作。
点击“取消”不进行操作
l输入项目:
管理员用户名(引用型字符串),密码登陆(引用型字符串),
用户编号(整型常量)
l输出项目:
操作结果(BOOL值)
l程序逻辑
生成数据库操作命令调用数据库操作模块IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
l接口
调用形式:
BOOLUserCheckHotel(constlong User_id)
传入参数:
User_id(整型常量) 操作参数(借阅图书书号)传出参数:
操作成功/失败标志(返回值)
内部参数
Admin_id
int
管理员编号
Admin_Name
varchar
管理员用户
Admin_Password
varchar
名
管理员密码
l存储分配局部变量:
操作命令参数vRecsAffected_variant_t 操作影响
vtCommand _variant_t 操作命令
l测试要点
数据库连接正常数据库操作正常
输入参数合法
输入参数非法
数据库操作异常数据库连接异常
12.客户列表模块
l功能:
可以通过这个模块查看用户的详细个人资料
l输入项目:
管理员用户名(引用型字符串),密码登陆(引用型字符串),用户编号(整型常量)
l输出项目:
相关信息(客户信息)
l接口
调用形式:
BOOLUserCheckHotel(constlong User_id)
传入参量:
pConnection(数据库连接指针常量)提供数据库连接传出参量:
无
l存储分配内部变量:
数据库m_pConnection_ConnectionPtr数据库连接指针
m_pRecords _RecordsetPtr 数据库查询结果集指针用户界面
User_id
User_xingmingPhone
int
varcharvarchar
用户编号
用户姓名
联系电话(固定电
Mobile_phone
varchar
话)
手机
Qita varchar 其他联系方式
内部参数
Admin_idint管理员编号Admin_Namevarchar管理员用名Admin_Passwordvarchar管理员密码
测试要点
模块正常工作流程
对输入的查验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理
数据库数据异常时能否判断并给予适当处理
13.订单修改模块
l功能:
根据输入提供对订单的修改和删除订单操作删除订单时,提供对所删除记录的相关性检验
l输入项目:
数据库连接(传入参数)
l输出项目:
无
l程序逻辑
初始化(获取数据库连接,显示对话框)WHILE管理员未输入退出
IF管理员输入”删除”更新当前记录
给出警告”确定继续”
IF用户确认继续
IF该酒店预订
给出警告”删除相关预订记录”
IF管理员确认
删除相关预订记录
ELSE
中止操作
删除该酒店预订记录记录总数减一
IF最后一条记录被删除移动至前一条记录
ELSE
移动至下一条记录显示刷新
更新记录
l接口
调用形式:
CHotelDlg:
:
ManageHotels(const _ConnectionPtrpConnection)
传入参数:
pConnection(数据库连接指针)传出参数:
无
l存储分配
内部数据:
数据库 m_pConnection _ConnectionPtr数据库连接指针
m_pRs _RecordsetPtr 数据库查询结果集指针用户界面 Yudiing_id int 当前订单编号
Hotel_id int 当前订单酒店编号User_id int 当前订单用户编号Ruzhu_riqi datetime 当前订单入住日期
Ruqi_tianshu int 当前订单入住天数
内部参数
m_intPosition
int
当前订单位置计数
l测试要点
m_lRecordCount
long
记录总数计数
数据库连接正常
记录集为空 是否工作状态正常
记录集非空 对各种用户输入的响应数据库连接异常
14.订单列表模块
l功能:
获取所有订单记录,置记录总数以及当前位置的初始值
l输入项目:
操作成功/失败标志(返回值)
l输出项目:
酒店记录集(公共变量);
记录总数(公共变量);当前位置(公共变量)
l程序逻辑
生成数据库查询命令查询数据库
IF操作成功返回”成功”
ELSE
返回”失败”
l接口
调用形式:
BOOLOpenRecords()
传入参数:
无
传出参数:
操作成功/失败标志(BOOL值)
引用的全局变量:
m_pRs _RecordsetPtr 写(打开)
m_intPosition int 写
m_lRecordCountlong 写
l存储分配局部变量:
查询参数 vNull _variant_t 查询连接
vtQuiry _variant_t 查询命令
类型转换 strQuiry CString 查询命令类型转换
l测试要点
数据库连接正常酒店记录集为空酒店记录集非空数据库连接异常