资源描述
全路客调命令及客车编组管理信息系统概要设计说明书
文件编号
ITCMOR-QCS-D-PI-02
记 录 号
项目编号-xxx
文件版本
V1.3
编 制
课题组
日 期
20090621
审 核
日 期
批 准
日 期
铁 道 部 运 输 局
铁道部信息技术中心
修订历史记录
日期
版本
说明
作者/修改者
20090606
V1.1
系统概要设计初稿
课题组
20090614
V1.2
修改完善各个子系统的功能设计
课题组
20090621
V1.3
修改完善数据库设计
课题组
目 录
1 引言 1
1.1 目的 1
1.2 引用文件 1
1.3 术语和缩写词 1
2 设计准则 3
3 系统总体设计 7
3.1 系统总体架构 7
3.2 应用功能架构 8
3.3 网络结构 10
3.4 平台架构 11
4 环境 13
4.1 软件开发环境 13
4.1.1 硬件要求 13
4.1.2 软件要求 13
4.1.3 网络要求 14
4.2 软件运行环境 14
4.3 运行控制 14
5 功能设计 16
5.1 功能模块命名规则 16
5.1.1 功能编号定义 16
5.1.2 功能命名定义 16
5.2 客调命令子系统 16
5.2.1 处理流程图 16
5.2.2 模块汇总表 16
5.2.3 模块关系图 18
5.3 客车编组子系统 18
5.3.1 处理流程图 18
5.3.2 模块汇总表 18
5.3.3 模块关系图 18
5.4 辅助功能子系统 18
5.4.1 处理流程图 18
5.4.2 模块汇总表 19
5.4.3 模块关系图 19
5.5 异常处理设计 19
5.5.1 错误信息编码规则 19
5.5.2 错误信息代码表 19
5.5.3 补救措施 20
6 接口设计 21
7 数据库设计 22
7.1 数据表命名规则 22
7.2 逻辑结构设计 22
7.2.1 数据表汇总 22
7.2.2 数据表间关联关系 24
7.2.3 <数据表1> 25
6.2.3.1 sc_parameter 001 25
8 25
9 非功能需求设计 26
9.1 人工处理过程 26
9.2 性能 26
9.3 安全性设计 26
9.3.1 系统级安全 26
9.3.2 数据库级安全 27
9.3.3 应用级安全 27
9.4 系统维护设计 27
10 附录 28
10.1 详细设计功能模块列表 28
10.2 需求-设计映射表 28
28
Error! Reference source not found.
1 引言
1.1 目的
《全路客调命令及客车编组管理信息系统概要设计说明书》是在总结调度系统前期研究成果的基础之上,以《全路客调命令及客车编组管理信息系统总体方案》为基础,依据调度信息化专项规划,借鉴国外先进的IT设计理念,编写而成。
本文档对系统进行概要设计,为系统详细设计提供指导,并为系统开发提供参考依据。本文档的预期读者为系统详细设计人员、系统开发人员和系统技术维护人员。
1.1 引用文件
[1] 全路客调命令及客车编组管理信息系统总体方案
[2] 全路客调命令及客车编组管理信息系统概要设计说明书
[3] 计划调度管理系统(OPMS4.0)总体技术方案
[4] 运输调度指挥信息化专项规划
[5] 铁路行车调度规则
[6] 铁路货车统计规则
1.2 术语和缩写词
客运调度,简称客调;
客调命令(包含三种类型:开行类命令、甩挂类命令、其它类命令);
开行类命令(包含临客增加令、临客停运令、临客更改令、临客取消令、临客其它令);
甩挂类命令(包含甩挂增加令、甩挂更改令、甩挂取消令、甩挂其它令);
其它类命令,指除去开行类和甩挂类命令以外的客调自由编辑的命令;
命令发布(包含命令的申请、会签、下达、回执);
旅客列车时刻表,简称时刻;
旅客列车编组,简称编组(包含基本编组、实际编组);
基本编组,指旅客列车计划的编组方案;
实际编组,指旅客列车实际的编组情况;
编组数据库,简称编组库;
旅客列车交路,简称交路;
旅客列车基本运行图,简称基本图;
径路。
客运调度,简称客调;
设计准则
客调命令(包含三种类型:开行类命令、甩挂类命令、其它类命令);
开行类命令(包含临客增加令、临客停运令、临客更改令、临客取消令、临客其它令);
甩挂类命令(包含甩挂增加令、甩挂更改令、甩挂取消令、甩挂其它令);
其它类命令,指除去开行类和甩挂类命令以外的客调自由编辑的命令;
命令发布(包含命令的申请、会签、下达、回执);
旅客列车时刻表,简称时刻;
旅客列车编组,简称编组(包含基本编组、实际编组);
基本编组,指旅客列车计划的编组方案;
实际编组,指旅客列车实际的编组情况;
编组数据库,简称编组库;
旅客列车交路,简称交路;
旅客列车基本运行图,简称基本图;
径路。
2 设计准则
设计准则对设计过程中应遵守的设计标准进行了说明,并且对需求的约束情况进行了明确,对于其质量约束和隐含约束进行了说明。
1) 需求约束
① 本系统在开发的过程中要遵守CMMI L3过程标准,要实现对整个系统开发过程的可定制管理,对于整个过程的文档实现可跟踪管理,分阶段项目里程碑实现整个系统的开发。
② 系统采用Java作为开发语言,JDK版本采用1.6;应用服务器版本采用WebLogic10.3或GlassFish2.1,应用服务器端技术采用EJB3.0规范技术;数据库服务器采用Oracle10g;客户端框架技术采用WebStart或OSGi规范技术,JRE版本采用1.6。服务器硬件条件满足安装应用服务器的要求。
③ 系统中消息的传输采用JMS传送方式,采用JMS1.2规范技术;系统与其它系统的信息交换采用WebService或数据共享的方式。
④ 系统界面应满足用户的功能需求,文档应规范管理。
2) 质量约束
① 在各种应用环境下,针对相同的输入要保证系统有相同的输出。系统应对可列举的异常情况进行处理,具备容错处理能力。
② 系统满足易操作、易管理的要求,具备良好的用户操作界面,针对系统的使用过程建立完善的用户帮助使用手册。
③ 系统满足可扩展性、可伸缩性。针对不同路局的情况,提炼出公共模块和专用模块,模块化开发设计整体系统结构;不但要满足当前各种业务的实际需求,而且要充分考虑用户数据增加、业务种类和业务量增长的需求。
④ 系统满足灵活性要求,提炼公共配置参数,通过调整系统的参数,实现系统功能的变更。
⑤ 系统充分考虑实现性和经济性,考虑和利用现有的硬件资源、软件可复用代码,既要考虑到系统的先进性和有效性,又要考虑其实现的可能性和经济性。
⑥ 整体系统的安全性要给予统一的保证,要保证数据的安全传输,防止篡改和窃取;对于设备和应用也要提供安全保障,确保系统正常运行。
⑦ 系统要满足高可维护性,针对不同的路局、不同的需求要进行整体的维护考虑,从系统架构方面考虑整体系统的可维护性。
⑧ 系统设计要考虑可移植性。要充分考虑到硬件配置和环境发生变化的可能性,最大限度的提高软件的可移植性。
3) 隐含约束
隐含约束考虑到需求文档中没有明确指出的相关内容,这些内容可能对于系统的设计、开发产生影响,需要统一在这里进行说明。
① 系统使用的前提默认用户可以使用计算机进行正常办公处理,具备使用计算机办公的能力;可以具备学习相应的软件使用手册的能力。
② 系统假设客户端可以正常安装JDK1.6,可以具备足够的硬盘、内存运行应用程序,假设客户端具有足够的处理能力以运行系统。
系统认为当前的业务模式在一定可以预见的时间内不会发生根本性的变化,默认当前业务模式可以正常运转。
系统总体设计
3 系统总体设计
3.1 系统总体架构
系统的总体架构如下图所示,系统架构图描述了本系统和其他外部系统之间的关系,定义了系统整体的结构和系统与外界系统之间的交互接口。
图1 系统总体架构图
对于整个客调系统的访问要通过铁路安全平台的认证。客调系统的运行结果要为其它工种的调度系统提供接口,为各工种调度协同工作提供辅助决策的功能。局级和站段级别的客调系统要与客运列车编组系统交互,实现数据共享查询及校验的功能。系统采用统一的数据处理平台和消息传输平台,在进行数据传输的时候采用统一的网络传输平台。
3.2 应用功能架构
应用功能架构图如下所示,主要介绍了各个业务应用之间的关联关系,整体应用采用C/S结构,针对客调系统在不同级别上面的部署情况,分为铁道部、铁路局、站段三级应用。
图2 应用功能结构图
铁道部、铁路局和站段三级应用都包含命令模块、编组模块、权限配置模块和查询统计模块;铁路局级应用相对铁道部级应用增加了日班计划模块,可以实现基本图和径路的管理。
系统对数据的访问和存储采用三层结构,即客户端(client)-应用服务端(server)-数据库服务器(database)。所有对数据库的修改均通过应用服务器进行,两级数据同步通过局应用服务器和部应用服务器之间的沟通完成。
路局客调和部客调通过应用服务器的JMS消息驱动通信,各种客调命令如临客加开命令、停运命令、甩挂命令等,均通过统一调度命令平台进行命令的编辑、申请、会签、审核、下达和回执。
3.3 网络结构
网络结构对整个系统的网络类型、结构进行了描述,对于接入方式进行了规定,列举了各个网络设备和子网的功能。
图3 网络结构图
整体系统分为铁道部级、铁路局级的网络结构,铁路局与铁道部之间通过路由器连接。
在铁道部级的网络环境中,铁道部的应用服务器和数据服务器通过防火墙与铁道部的以太网进行连接;铁道部客调和客运营销处直接连接到铁道部以太网。
在铁路局级的网络环境中,铁路局的以太网根据自己的IP定义规则设定IP,铁路局的应用服务器和数据服务器通过防火墙与铁路局的以太网进行连接;铁路局客调、客运处、运输、机务、车辆、票务中心等部门直接连接至铁路局以太网。
站段直接连接到所属铁路局的以太网,或者通过路由器连接到路局的以太网。
3.4 平台架构
平台架构描述了应用服务器上面的应用部署情况,平台的架构图如下图所示,描述了服务器的情况和服务器上面对应的数据内容情况。
图4 应用部署架构
铁道部应用服务器设置为两台,通过应用负载均衡提供服务,应用服务器中间件产品选择WebLogic10.3或GlassFish2.1,存储的内容为命令、编组等处理程序;数据库版本选择Oracle10g,存储系统运行所需的命令、编组等信息;消息中间件产品选择WebLogic10.3或者GlassFish2.1所带的MQ中间件;
铁路局端平台架构同铁道部端平台架构一致。
环境
4 环境
本章节对软件的开发环境、运行环境进行了说明,在开发环境中对软件、硬件提出了相应的要求,并且对于网络环境和运行控制提出了要求。
4.1 软件开发环境
这里对软件的硬件需求、软件需求和网络要求进行了说明,明确了开发工具和开发部署服务器的选择。
4.1.1 硬件要求
下表对软件开发的硬件环境进行了说明。
序号
设备名称
设备类型
用途
数量
配置要求
部署地点
状态
1
AIX X4100
刀片服务器
安装铁道部级应用服务器、消息服务器
2
主频2G
内存4G
铁道部
[]现有 [√]新购
[]待定
2
AIX X4100
刀片服务器
安装铁道部级数据库
1
主频2G
内存4G
铁道部
[]现有 [√]新购
[]待定
3
AIX X4100
刀片服务器
安装铁路局级应用服务器、消息服务器
2
主频2G
内存4G
铁路局
[√]现有 []新购
[]待定
4
AIX X4100
刀片服务器
安装铁路局级数据库
1
主频2G
内存4G
铁路局
[√]现有 []新购
[]待定
4.1.2 软件要求
下表对软件开发的软件环境进行了说明。
序号
软件名称
软件版本
用途
授权
数量
配置要求
部署设备
状态
1
WebLogic
10.3
用于铁道部和铁路局应用服务器、消息服务器
2
包含消息服务器
AIX X4100
[]现有
[]新购
[√]待定
2
GlassFish
2.1
用于铁道部和铁路局应用服务器、消息服务器
2
包含消息服务器
AIX X4100
[]现有
[]新购
[√]待定
3
Oracle
10g
用于铁道部和铁路局数据库服务器
2
AIX X4100
[√]现有
[]新购
[]待定
4.1.3 网络要求
示例:网络需求
序号
网络设备软件名称
类型/
版本
用途
数量
配置要求
部署地点
状态
1
网络接口
IPV4
连接部应用服务器
1
10.1.2.*
7001、4848、80、7676
部
[]现有 [√]新增
[]待定
2
网络接口
IPV4
连接部数据库服务器
1
10.1.2.*
1521
部
[]现有 [√]新增
[]待定
3
网络接口
IPV4
连接局应用服务器
1
10.128.2.*
7001、4848、80、7676
局
[]现有 [√]新增
[]待定
4
网络接口
IPV4
连接局数据库服务器
1
10.128.2.*
1521
局
[]现有 [√]新增
[]待定
4.2 软件运行环境
软件运行的环境说明如下,操作系统为Windows XP或者Windows Vista;在客户端需要安装JRE环境,安装版本为JRE1.6。
4.3 运行控制
软件的部署采用JavaWebStart技术,在客户端可以自动下载并安装使用;在服务器端对于软件的使用采用了IP限制的技术,软件运行需要经过系统的IP认证。
每个用户具有自己的口令,通过用户认证才能登录系统;每个用户的权限需要经过后台管理系统的配置,根据每个用户的岗位和实际业务情况进行用户权限的分配和管理;用户登录系统之后,根据每个用户的权限内容进行具体权限的分配。
功能设计
5 功能设计
[要求:此节是本文档的主要部分,应重点描述如下工作。
1) 将子系统N分解为模块(Module),说明各模块的主要功能。
2) 说明“如何”以及“为什么”(how and why)如此分解子系统N。
3) 说明各模块如何协调工作,从而实现子系统N的功能。]
5.1 功能模块命名规则
[要求:本节说明功能模块编号和命名规则。建议采用示例规则。]
5.1.1 功能编号定义
示例:FXXYY00
1) F,1位,代表功能(FUNCTION)
2) XX,2位,代表子系统编号
3) YY,2位,代表子系统下的一级模块编号
4) 00,2位,代表二级及二级以下模块的流水编号
5.1.2 功能命名定义
示例:操作 + ‘_’ + 操作对象名称 如 Edit_Person
1) 操作,代表实施某一动作,如Edit、Adjust、Query等
2) 操作对象名称,代表操作对象,如Person、Rate、Render等,可选
5.2 客调命令子系统
5.2.1 处理流程图
[要求:采用系统流程图说明子系统的主要处理流程和操作的时序或状态。]
5.2.2 模块汇总表
客调命令子系统模块汇总表
序号
模块编号
模块名称
简要功能说明
1
F010101
铁道部开行类命令编辑
铁道部客调操作人员选择铁路局上传的开行计划,合并编制成铁道部开行类命令。
2
F010102
铁道部甩挂类命令编辑
铁道部客调操作人员选择铁路局上传的甩挂计划,合并编制成铁道部甩挂类命令。
3
F010103
铁道部其它类命令编辑
铁道部客调操作人员编制铁道部的其它类命令。
4
F010104
铁道部命令发布
铁道部客调将命令下发到铁路局,提示下发是否成功,显示下发人和下发时间,显示接收单位接收人和接收时间。
5
F010105
铁道部命令打印预览
预览打印编制好的命令内容
6
F010106
铁路局甩挂计划编辑
铁路局客调操作人员选择站段上传的甩挂计划,合并编制成铁路局的甩挂计划。
7
F010107
铁路局甩挂计划发布
铁路局客调将甩挂车计划上报到铁道部,提示上传是否成功,显示上传人和上传时间,显示铁道部接收人和接收时间。
8
F010108
铁路局开行计划编辑
铁路局客运处操作人员编制成铁路局的开行计划
9
F010109
铁路局开行计划发布
铁路局客调将开行计划上报到铁道部,提示上传是否成功,显示上传人和上传时间,显示铁道部接收人和接收时间。
10
F010110
铁路局开行类命令编辑
铁路局客调操作人员选择铁道部下发的开行命令,合并编制成铁路局开行类命令。
11
F010111
铁路局甩挂类命令编辑
铁路局客调操作人员选择铁道部下发的甩挂计划,合并编制成铁路局甩挂类命令。
12
F010112
铁路局其它类命令编辑
铁路局客调操作人员编制铁路局的其它类命令。
13
F010113
铁路局命令发布
铁路局客调将命令下发到站段,提示下发是否成功,显示下发人和下发时间,显示接收单位接收人和接收时间。
14
F010114
铁路局命令打印预览
预览打印编制好的命令内容
15
F010115
站段甩挂计划编辑
站段用户格式化编辑甩挂车计划。
16
F010116
站段甩挂计划发布
站段用户将甩挂车计划上报到路局,提示上传是否成功,显示上传人和上传时间,显示路局接收人和接收时间。
17
F010117
站段甩挂计划打印预览
预览打印编制好的甩挂计划
18
F010201
时刻表管理
导入时刻表、匹配基本图和经路、导入新旧交替、
5.2.3 模块关系图
[要求:说明子系统中各模块间的调用关系。建议采用树形结构图表示。]
5.3 客车编组子系统
5.3.1 处理流程图
[要求:采用系统流程图说明子系统的主要处理流程和操作的时序或状态。]
5.3.2 模块汇总表
客车编组子系统模块汇总表
序号
模块编号
模块名称
简要功能说明
1
F020101
编组库管理
2
F020201
交路图管理
5.3.3 模块关系图
[要求:说明子系统中各模块间的调用关系。建议采用树形结构图表示。]
5.4 辅助功能子系统
5.4.1 处理流程图
[要求:采用系统流程图说明子系统的主要处理流程和操作的时序或状态。]
5.4.2 模块汇总表
辅助功能子系统模块汇总表
序号
模块编号
模块名称
简要功能说明
1
F030101
基本图管理
2
F030201
径路管理
3
F030301
权限配置
4
F030401
字典配置
5
F030501
查询统计
5.4.3 模块关系图
[要求:说明子系统中各模块间的调用关系。建议采用树形结构图表示。]
5.5 异常处理设计
5.5.1 错误信息编码规则
[要求:项目组在本节定义错误信息编码规则。]
示例:错误信息编码规则:AB+nnn
1) A,1位字母,显示出错位置。
2) B,1位字母,说明错误严重程度。致命性的错误(F),警告性的错误(W),提示性的信息(I)。I
3) nnn,3位数字,错误编号,根据错误编号,可直接查出出错解释和处理方法。
5.5.2 错误信息代码表
[要求:用列表的方式描述当每种可能的出错或故障情况出现时,系统输出信息的形式、含义及处理方法。]
示例:错误信息代码表
序号
错误代码
错误信息提示
纠正措施
1
AW001
时刻数据不存在
请添加时刻数据
2
AW002
时刻没有匹配基本图和径路
请关联基本图数据或径路数据
3
AW003
时刻数据和基本图数据不一致
4
5.5.3 补救措施
[要求:说明故障出现后可能采取的变通措施。]
例如:
1) 后备技术:当原始数据丢失时,副本的建立和启动的技术。
2) 降效技术:通过降低系统效能,实现部分系统功能的技术方法。
3) 恢复及重启动技术:描述使软件从故障点恢复执行或使软件从头开始重新运行的方法。
接口设计
6 接口设计
[要求:说明本应用软件同硬件、支持系统和外部系统的接口关系及实现技术。
例如:接口实现技术
应用软件与数据库服务器软件接口采用Bea Weblogic提供的数据库连接池,以此作为数据源提供给系统进行数据库操作。
该软件接口要求在应用服务器端安装Oracle9i及以上客户端,配置连接池时采用oracle提供的oracle.jdbc.OracleDriver类作为驱动。连接池的配置由软件安装人员完成。]
示例:接口设计
序号
接口信息
1
接口名称
实现技术
2
接口名称
实现技术
3
非功能需求设计
7 数据库设计
7.1 数据表命名规则
[要求:数据表命名规则采用两位特征码加表的英文名称或缩写,也可采用汉语拼音缩写。如果项目组另有约定,必须在此处说明。]
例如:AB_ + 表的英文名称或汉语拼音缩写
1) A,表示表的性质
① ‘无’ ,代表用户表(与业务处理直接相关的表)
② S,代表系统表(为完成业务而建的对用户非透明的表)
2) B,表示表的类型,
① C,字典表(包含唯一代码,一次性生成,很少改动)
② D,数据存放表(业务数据、控制、设置、记录系统信息等)
③ T,临时表(程序动态生成)
④ V,视图
示例:
用户字典表:c_bank
系统字典表:sc_user
7.2 逻辑结构设计
[要求:对表结构进行规范化处理(第三范式),可按业务领域,进一步划分三级、四级目录结构。]
数据库设计基本达到第三范式要求。
7.2.1 数据表汇总
示例:数据表汇总
序号
表代码
名称
简要说明
1
001
sc_parameter
基础参数表
2
002
sc_users
用户表
7.2.2 数据表间关联关系
[要求:用实体关系图(ERD)描述数据表间关联关系。建议使用Microsoft Visio的数据库模型图的实体关系图进行描述。]
7.2.2.1 运行线
7.2.3 <数据表1>
6.2.3.1 sc_parameter 001
序号
数据名称
数据代码
类型
数据长度
空/非空
备注
1
归属
OWNER
VARCHAR2
10
非空
2
参数段
PARA_SESION
VARCHAR2
20
非空
3
参数名
PARA_NAME
VARCHAR2
20
非空
4
参数值
PARA_VALUE
VARCHAR2
1000
5
参数备注
PARA_NOTE
VARCHAR2
20
8
9 非功能需求设计
9.1 人工处理过程
[要求:描述不能完全自动处理,需要人工进行干预的处理过程。例如:ATM机的人工操作。本节可选。]
9.2 性能
[要求:根据需求分析中的性能需求,分析业务功能中可能对系统造成性能瓶颈的压力点,描述拟采用的提高性能的技术方法。]
例如:
1) 分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。
2) 当优化对象(目标)之间存在对抗时,给出折衷方案。
3) 给出优化的具体措施,例如数据库的连接方式、SQL语句的优化,数据库环境参数的设置,对表格进行反规范化处理等。
示例:性能设计
序号
优化对象
措施
优先级
1
2
3
4
9.3 安全性设计
[要求:从网络级、数据库级、应用级等方面描述安全保密方案,权限的设置,保密算法,软件的实现方法等。]
9.3.1 系统级安全
[要求:从服务器、网络的系统管理等方面描述安全保密方案,或直接引用已有的系统安全规范。]
9.3.2 数据库级安全
[要求:从数据库方面描述安全保密方案,如防止用户直接操作数据库的方法,密码的加密方法等。]
9.3.3 应用级安全
[要求:从业务应用方面描述安全保密方案,主要是针对用户的权限管理和验证。]
9.4 系统维护设计
[要求:说明用于系统检查与维护的检测点和专用模块。]
附录
10 附录
10.1 详细设计功能模块列表
[要求:对于业务流程复杂度高和技术实现难度大的功能模块,进一步进行详细设计。]
示例:详细设计功能模块列表
序号
模块编号
模块名称
备注
10.2 需求-设计映射表
展开阅读全文