1 概述
详细设计任务,是在软件概要设计的基础上,完成更为详细的模块级的设计,包括:
更细的模块划分
模块间数据流
模块内部数据结构
模块处理过程(程序流程图)
由于本软件涉及到数据库的应用,故还需要进行数据库的设计,包括:
表、记录字段
事务(或操作)描述
详细设计的框架参考以下模块配置图(图1、2、3)。
图1 服务客户机上的模块配置图
图2 HP高档服务器上的模块配置图
图3 酒店客户机上的模块配置图
系统数据流图参见图4。
图4 系统数据流图
2通信协议与报文格式
四个系统执行者和对应模块之间的通信机制为:
(1)用户和WEB服务器之间通过Internet网络进行通信并遵从http协议,部分页面采用SSL加密机制;
(2)银行和银行服务器之间通过Internet网络进行通信并遵从http协议和SSL协议;
(3)酒店和酒店服务器之间通过Internet网络进行通信并遵从TCP/IP 协议和自定加密协议;
(4)服务客户机和服务管理器之间通过Internet网络进行通信并遵从TCP/IP协议和自定加密协议。
以下详细描述通信报文格式。
2.1 用户计算机~WEB服务器
这是WEB服务器内部的数据结构。
用户计算机和WEB服务器之间的通信以表单形式进行,本次详细设计时不考虑以下三项:
(1)注册表单(注册会员信息)
(2)登录表单
(3)认证表单
2.1.1 酒店查询表单
2.1.2 酒店列表
①信息
2.1.3 订房表单
2.1.4 订房成功表单
2.1.5 订房失败表单
2.1.6 退房表单
2.1.7 退房成功表单
(页面分为三种,订房方式:①订金②全额可退③全额不可退)
2.1.8 退房失败表单
2.2 WEB服务器~数据库代理
WEB服务器接到用户的请求表单后进行判断,如果需要访问数据库,就调用CGI程序,和数据库代理进行通信。
(1)数据库查询WEBDBQuery
2.3 WEB服务器~服务管理器
管理信息,同数据库查询WEBDBQuery。
2.4银行~银行服务器
这是银行服务器内部的数据结构。
主要包括转帐确认递交表单。
2.5银行服务器~数据库代理
具体格式请参见相关文档。
2.6银行服务器~服务管理器
管理信息,同数据库更新BankDBUpdate。
2.7酒店服务器~酒店客户机
具体格式请参见相关文档。
3 模块详细设计
3.1 WEB服务器部分
3.1.1 酒店查询与订房
这是最基本的用户操作,用户通过浏览WEB页面,查找自己感兴趣的酒店和房间,借助于表单的形式完成订房过程。
在设计软件时,这里有几点要说明如下:
(1)单间天和多间天的问题
用户可以预订单天单个房间,也可以预订多天单个房间、单天多个房
间以及多天多个房间。软件设计时可以统一处理。处理方法是这样的:
在填写订房表单时,数据结构中就包括天数范围和房间个数(当然有
其它特殊要求),当WEB服务器接到订房表单后,就通过自身的CGI
程序与数据库代理通信,数据库代理根据此表单查询数据库,若有符
合要求的房间(包括天数范围和房间个数)存在,则分割数据库,置
相应标志,否则返回失败。
另一方面,如果用户订房天数不是连续的,则需要分开订。
(2)银行支付问题
目前,招商银行的支付方法决定了支付时实际上是用户直接和银行打
交道。WEB服务器在转向银行链接时,必须同时向银行提供交易金额
和自己的帐号等信息。
(3)与用户的信息交互问题
无论交易成功与否,都要向用户返回恰当的信息,交易成功时,除了
返回交易成功表单外,WEB服务器同时要向用户的E_mail信箱中发
送此表单。因此,WEB服务器也要包括发送E_mail的功能(此项功
能也可以由服务客户机完成,因为交易成功时WEB服务器会向服务客
户机发送通知信息)。
另一方面,交易成功时WEB服务器会向酒店客户机发送通知信息,但
并不把交易信息push过去,而是由酒店客户机自己去pull。
3.1.2 退房
3.1.3 房间交易
3.2 管理客户机部分
3.3 酒店客户机部分
酒店客户机软件的使用者分为一般用户和特权用户。一般用户的职责是查询信息和酒店入住确认;特权用户的职责是上传酒店信息。
软件中提供命令以设置和修改特权用户密码。
在使用上传酒店信息的命令时,必须输入特权用户密码。
3.3.1 酒店注册流程
3.3.2 数据下载(1)总流程
(2)取快照信息
注:此信息包括两部分,即酒店交易信息表和预订用户信息表。为了业务统计的需要,酒店客户机中还应该包括这两个表的历史记录。
3.3.3 数据上传
3.3.4 入住确认
3.4 服务器守护部分3.
4.1修改酒店ID