证券交易系统概要设计说明书
文档编号:HSS0022VS1.0QI0100 密级:限用
杭州恒生电子有限公司
证券交易系统
概要设计说明书
编制:证券事业部
审核:范径武
批准:范径武
二OOO年六月
*本资料仅供恒生用户使用,请勿外传。
1引言
1.1 编写目的
随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用Client/Server结构的证券交易软件管理系统(SQL版)。本系统从底层予以优化,使整个系统的运行速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩充性得到极大提高。
本说明书给出恒生SQL版证券交易系统的设计说明,包括最终实现的软件必须满足的功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。
目的在于:
?为编码人员提供依据;
?为修改、维护提供条件;
?项目负责人将按计划书的要求布置和控制开发工作全过程;
?项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。
本说明书的预期读者包括:
?项目开发人员,特别是编码人员;
?软件维护人员;
?技术管理人员;
?执行软件质量保证计划的专门人员;
?参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。
?合作各方有关部门的负责人;项目组负责人和全体参加人员。
1.2 背景
中国证券交易市场全面启动,证券业务不断发展完善;当前证券交易管理软件市场比较混乱,有些难以满足不断发展的业务需求;恒生公司作为长期服务于中国证券市场的专业软件开发公司,具有丰富的行业经验,充分的技术积累。我们充分分析了当前证券市场的需求和发展趋势,与国内多家大券商做了深入交流,吸收了公司过去各版本交易系统的特点和优点,合理运用了一些新技术,在此基础上,形成了恒生证券交易综合管理平台。
1.3 定义
本项目开发的软件,约定:
中文全称:恒生98SQL , 99SQL ,2000SQL证券交易管理系统
中文别称:恒生98,99,2000
英文全称:Handsome Securities SQL Management System 3.5,3.6,3.7
英文缩写:HSSMS3.5 ,HSSMS3.6,HSSMS3.7
本报告用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。
1.4 参考资料
《中国证券经营机构营业部信息系统技术管理规范》
《中华人民共和国证券法》
《恒生交易接口规范(字串接口)》
《恒生交易接口规范(协议接口)》
与本文直接相关的国家标准包括:(中国标准出版社1996年)
GB8566-1995 软件生存期过程
GB8567-88 计算机软件产品开发文件编制指南
GB9385-88 计算机软件需求说明编制指南
GB/T11457-1995 软件工程术语
2任务概述
2.1 目标
?实现中国航母型大证券公司全公司企业广域网上的证券交易,使得服务能力没有投资者数量的限制,并且能有效实现企业级的管理的监控,成为能自动风险预警的智
能型系统。
?成为能在多种操作系统和多种数据库系统上运行的系统,提高本系统的平台适应能力,为用户提供最大程度的平台选择性。
?建立中国证券业交易信息技术平台,制定证券行业交易信息接口规范。
?全面加强系统的安全性,使证券业信息系统的安全性达到很高的水平。
2.2 用户的特点
系统的用户分如下几类:
股民:利用系统提供的功能进行证券买卖委托和查询有关股民自身的信息或证券行情。此类用户只需按使用说明操作,不要求对软件系统本身有任何了解。
操作人员:营业部参与证券交易的员工,熟悉证券交易业务,经培训能熟练操作系统提供的各项功能,并能处理软件的日常故障(非致命性故障)。
系统管理人员:营业部员工,负责计算机系统和本系统软件的部分维护和管理,要求对本系统软件有较深的了解。能处理本系统软件的各类故障。
营业部经理和管理人员:本软件系统的特权用户,能使用本系统提供的各项功能,了Array图2-1 营业部系统模型
解营业部的日常经营情况和本营业部员工的工作业绩,负责员工操作权限的授予。对软件系统本身不要求有很深的了解。
2.3 系统分析
营业部系统一共有四个对象,即客户、员工、市场和银行,市场的概念是交易所的细化,比如上海证券交易所的A股和B股就是两个市场,有了市场的概念我们就可以把交易所这个概念细化,并使同一个市场的共性更突出。银行则通过银证转账业务介入,并成为营业部系统不可或缺的组成部分。
上述四个对象通过一些业务流程进行相互操作从而形成整个交易活动。因此整个系统模型可以由五个元素表述为图2-1。
设计时需要将营业部系统所使用的各种信息分为描述四个对象的信息和描述业务流程的信息。由于四个对象相对而言是一种稳定型信息,而业务流程则较易变化,且营业部之间
差异很大,因此应将四个对象尽量定型,而将各种业务流程尽可能做成组件,以便营业部可
根据实际需求组装成适合自己的系统。
根据以上思想,在设计对象模型时应充分考虑到可扩展性,尽量做到抽象化、参数化,从而使对象需求变化时不致影响系统结构。
经过对四个对象和业务流程的分析,我们将一些业务管理上相关的业务流程组装在一起构成功能模块,这些模块包括:资金管理、柜台管理、查询管理、委托服务、数据转换、银证转账、日终管理、系统管理、系统监控、报表管理。
根据每个模块的不同特点,上述十个模块可以分为三类(图 2-2):第一类为柜台交易类模块,包括资金管理、柜台管理、查询管理、报表管理,此类模块主要用于处理柜台发生的资金、委托、以及转账业务;第二类为接口处理类模块,包括委托服务,数据转换、银证转账,此类模块主要用于处理系统对外界的接口,与周边系统、交易所、银行交换信息;第三类系统维护类模块,包括日终管理、系统管理、系统监控,用于业务管理部、电脑部配置系统运行参数、分析交易状况,处理交易所发来的清算、结算、对帐数据等。三类模块功能互补、相辅相成,与营业部局域网和数据库一起构成整个交易系统的体系结构。
2.4 假定和约束
系统设计应遵循以下约束:
图2-2 交易系统体系结构
2.4.1功能要求
系统应在充分调研的基础上尽量把各种用户、各类营业部的合理需求覆盖进去,能满足现在以及将来可能会有的各种服务需求。
2.4.2性能要求
系统应站在使用者的角度去考虑问题,从用户的使用习惯方便来设计系统,而不应从计算机实现的方便性来考虑问题。要真正使用户感到一致、简洁、方便、快速。
2.4.3稳定性要求
系统在设计时应注意设计风格统一,使系统可调试性良好,尽可能把系统错误消灭在调试阶段,系统一旦交付使用,就应该有很好的稳定性。
2.4.4安全性要求
系统应着重安全性设计,做到外界人员无法入侵到系统本身,内部人员操作则留下操作痕迹,使用权管理层可以定期或不定期地稽核系统。系统可变参数也分为两类:一类为标准业务类型,可由营业部自行设置;另一类为特殊参数,在得到业务管理部许可后,由电脑部设置。
2.4.5容错能力要求
系统应具有防范各种灾难的能力,当各种灾难发生时,应具有补救或容错手段,使系统再生,使故障排除时间缩到最短。
2.4.6可扩充性要求
系统设计时应充分考虑其可扩充性,尽量将系统抽象化、能参数化,使系统尽可能地应付各种业务变化,便于加入各种新的业务需求。
2.4.7可维护性要求
系统设计时应备齐各类文档,操作人员只需阅读文档就可知道所有的操作,维护人中也
可以通过文档了解系统结构、设计思路,以便快速掌握整个系统。程序设计时应保持良好的编程风格,结构清晰、注释明确,使调试、测试人员能快速定位各种错误。系统应提供远程维护功能,便于及时恢复系统。
2.5 参考资料
《恒生交易接口规范(字串接口)》
《恒生交易接口规范(协议接口)》
《中国证券经营机构营业部信息系统技术管理规范》
项目开发文档:《软件需求说明书》
国家标准:(中国标准出版社 1996年)
GB8566-1995 软件生存期过程
GB8567-88 计算机软件产品开发文件编制指南
GB/T11457-1995 软件工程术语
3系统组织结构
3.1 总体设计思想
3.1.1客户的需要和我们的设计思路
任何项目中客户的最高目标是可登录、维护和依靠的方案。为了确保实现此目的并使最终方案满足客户的总体需求,其它目标也必须得以实现。
3.1.2 高可用性
该平台必须24x7x365可用
3.1.3 冗余
平台服务必须有副本从而使系统中不存在单点故障,并且系统负载可以被分配到可用的资源上。
3.1.4 容错
该平台必须有能力处理任何错误情况。它必须提供一个恢复服务的工具。
3.1.5 伸缩性
一个具备伸缩性的平台必须可以在三维平面上伸缩,如下所述:
上述三种伸缩性区域中的任何一种都必须能够双向伸缩。
3.1.5.1 垂直伸缩性(向上扩展)
为一个现有部件添加额外硬件的能力,例如内存、处理器和/或硬件,其目的是提升性能和系统资源的可用性。
Hardware
Network
Software
3.1.5.2水平伸缩性(向外扩展)
3个伸缩性参数将可以通过添加额外的相似部件来加以伸缩以便满足系统负载的需要3.1.6安全
系统将在3个方面支持安全模型:
3.1.6.1应用程序
应用程序安全将确保只有经过授权的个人和部件才能访问业务对象及其功能。
3.1.6.2网络
网络安全将确保只有经过授权的个人、实体、硬件、软件或部件才能使用该平台的网络资源。
3.1.6.3域名
域名安全将确保只有经过授权的个人才能访问组成该平台的核心软件和硬件部件。3.1.7基于公开的标准
采用基于正确公开标准的部件和技术以确保最大限度的协作能力以及与第三方系统与部件集成的简便性。这类标准包括但不限于以下几种:
?网络协议与标准 (TCP/IP, HTTP, SSL, etc)
?数据库连接性(ODBC)
?语言(SQL, C++, etc.)
3.1.8文档
系统将包含完整的文档,便于进行新的开发、培训、系统维护,以及简化与第三方部件
和服务的集成。
3.1.9易于扩展
系统软件将基于业务对象设计的面向对象的模块化方法。
3.1.10可复制
系统的设计必须记录下来以便可以复制。
3.2 系统体系结构
3.2.1高层次的系统构架
本节将提到高层次的系统构架。组成该结构的每个部件都会有适当的详述。
总体系统如下图所示。每个部件及其各自的层是等同的。以下的章节将就系统结构的每一个层次进行阐述。
3.2.2 数据库层
数据库层将包括所有与该平台有关的数据。这包括但不限于: ? 会员信息 ? 交易信息 ? 历史信息 ? 入库数据
中间件
接入平台
数据库
业务对象业务模型业务流程
认证数据库
接入层网络层客户层
通讯业务平台
数据库平台
企业内部/公众
网络
I n t r a n e t I n t e r n e t 银行呼叫中心有线网络电信其它
认证管理
核心服务手机浏览器电话专用客户端寻呼
C D P D
其它
3.2.2.1数据分类标准
证券业务系统的所有数据大体可划分为以下几类:
?交易数据:对各类交易如开户、发行、撮合等的描述,包括委托、应答、冲正和成交回报等。
?资金数据:指各种用于资金清算、结算、派息和兑付的数据。
?证券数据:指各类客户的各种证券持有量、状态等数据。
?账户数据:与股民有关的基础信息。
?配置数据:对交易的对象、规则、形式等的限制和约定,如券种、利率、各种费率,代理集中点信息、网点信息、各级操作员信息。
?行情数据:买盘、卖盘、指数、实时价格、成交量等。
?管理数据:用于内部管理等用途的数据,包括通知文件。
3.2.2.2交易处理模式
交易处理方式根据业务的处理响应流程主要区分为同步模式与异步模式。
?同步交易处理模式
同步方式是由客户端向服务器提出交易申请后进入等待状态,服务器对数据库中相关数据进行处理后向客户端反馈处理结果,客户端再进行一定的操作(数据变换、打印等)后结束本次交易过程。证券业务系统中采用同步模式的交易主要有涉及股民资金与证券账户的账户管理功能类交易、涉及股民资金在不同资金系统间划转的资金处理类交易以及查询类交易。
?异步交易处理模式
异步交易处理模式又称为通知式交易处理模式,它与同步方式最大的不同在于客户在提出申请后,不需要立即获得最终处理结果,只要得到申请已被受理的确认后即可结束联机交易,处理结果将在未来时刻得到通知或可主动查询结果。
异步交易模式通常应用于证券交易类中,这种模式的产生与证券交易的特定环境是密不可分的。整个交易处理的过程分为交易申请的受理及成交回报处理两个阶段。根据
我们的分析,实时交易将是系统运行过程中业务量最大的。无论对网络或主机资源的需求也将最大。
3.2.2.3数据库模式
开发一种数据库模式。该模式将满足本平台的企业级交易处理的所有业务需求。该数据库模式将针对适当的业务需求、性能、标准化、数据存储和分析来进行设计。
3.2.3中间层
应用服务为组成系统功能的业务对象提供了一个知识库。业务对象将数据库的复杂性和细节在系统客户面前隐藏起来。
应用服务器层与数据层一起组成了这个企业级系统的OLTP(在线业务处理)核心。
3.2.3.1采用通讯协议,使股民操作的周边系统成为真正的三层结构
恒生周边系统采用通讯协议,取消硬盘上周边系统的交换文件,网上数据在客户端发送之前加密,使得系统安全性提高,性能提高。
3.2.3.2业务的动态加载、卸载
恒生中间件的业务功能均封装于一个个独立的动态链接库中,实现了对业务功能的动态管理,可以保证系统的不中断运行的情况下,动态地加载或卸载业务功能,使系统功能的更新能动态实现,为将来系统的发展提供了充分的余地。
3.2.3.3业务相关性和扩展性
中间件可以完成一定业务逻辑,以减轻后台服务器的压力,接口采用功能号完成,易扩展。
3.2.3.4数据库连接
采用连接池,每个线程使用各自的连接,数据库连接使用BDE专用驱动或ODBC
3.2.3.5流量平衡
恒生中间件采用多线程方式处理来自客户端的请求数据包,提高了系统对客户端的响应处理,保证流量均衡。
3.2.4客户端网关层
某些客户端可能不能用IP网络标准或标准的通信标准直接与企业网关通讯。此时,就必须安装或开发一个客户端网关或代理服务器以便使客户端可以与企业网关通讯并且使用业务对象。
3.2.
4.1WEB接入
它是浏览器客户端的网关并且使用带有HTML的HTTP协议作为信息内容协议。
3.2.
4.2WAP接入/手机短消息接入
数据在W AP网关和Web服务器之间以WML(无线标记语言)作为信息内容编码进行交换。
3.2.
4.3电话委托/CALL CENTER接入
3.2.
4.4多家银行银证转账集中接入
3.2.
4.5银证通(存折炒股)接入
3.2.
4.6电信179平台接入
3.2.
4.7有线网、智能小区接入
3.2.5网络层
网络层为平台和所有的客户端之间提供基本的网络互连。
有些客户端将通过一个公共网络如Internet来访问系统,而其他客户端则可能使用私人网络或使用VPN(虚拟私人网络)的安全通讯通道来连接。
3.2.6客户端层
客户端层是由任何需要与该平台通讯的系统所组成的。客户端可以是独立的,例如一个DOS应用程序,它也可以是位于公司广域网络中的一台服务器。
3.2.6.1独立客户端
这种客户端可以是Windows 、DOS或Novell应用程序,这在每个营业部都能找到。它们还可以是蜂窝电话、Internet浏览器、手提设备等。
3.2.6.2交易平台
另一种客户端是与该平台连接的交易所来回传送交易数据的应用程序。这些程序将使用应用服务器层所采用的现存的业务对象。
由于同交易所的通讯是异步的,并且我们需要保证交易数据的传送,因此最好和最具伸缩性的解决方案将要用到信息队列服务器。
3.2.6.3报表平台
报表平台是一系列位于公司广域网内部的客户端应用程序,它们被设计成根据数据库和其他数据存储源提供报表功能。
3.3 系统功能设计
3.3.1功能综述
3.3.2系统各模块主要功能
3.3.2.1资金管理
该模块共有27个功能,其中有3个是公用功能,内容包括:
柜员更密、客户更密、客户清密。
另外24个为资金管理的功能,内容有:
客户开户、资料修改、代理修改、增设币种、币种修改、换资金卡、状态修改、客户销户、股东开户、股东修改、股东状态、股东销户、资金存取、资金内转、结息取款、当日冲销、当日冻结解冻、长期冻结解冻、隔日红冲蓝补、个人利息结算、类别利息结算、全部利息结算、个人流水、个人统计。
3.3.2.2柜台管理
该模块共包含35个功能:
普通委托、选择委托、批量委托、批量申购、批量撤单、代理配股、单笔转托、选择转托、全部转托、委托补单、证券冻结、证券解冻、证券长冻、证券长解、证券红冲、证券蓝补、证券转入、证券转出、债券抵押、债券解押、自动交割、重新交割、选择交割、批量交割、汇总交割、申购交割、中签交割、邮寄交割、邮寄对帐、客户对帐、汇总对帐、本柜流水、本柜汇总、全体流水、全体汇总。
3.3.2.3查询管理
该模块共包含38个功能:
查个人基本信息、查个人资金信息、查个人股票信息、查个人委托信息、查个人回报信息、查个人流水信息、查个人交割信息、查个人回购信息、查个人账号信息、查个人代理
信息、查个人银行信息、查个人转账信息、查资金信息、查流水信息、查股票信息、查委托信息、查回报信息、查交割信息、查回购信息、查转账信息、查银行信息、头寸调度、业务汇总、账户汇总、国债汇总、查客户状态、查客户组成、查开户趋势、查委托方式、查资金存取、查业务分布、查成交趋势、查资金分布、查交易分布、当日龙虎榜、分支比较-客户数量、分支比较-交易状况、个人统计。
3.3.2.4报盘管理
该模块共包含2个功能:
申报参数设置、启动报盘。
3.3.2.5报表管理
该模块共包含23个功能:
资金业务汇总、科目汇总、业务统计、资金余额、客户透支、资金变动、利息汇总、资金流水、银行转账、回购明细、前台收费、一级清算、二级清算、成交明细、申购配号、申购中签、证券汇总、证券余额、委托明细、客户成交、成交排名、经营情况、盈亏分析。
3.3.2.6数据转换
该模块共包含4个功能:
转换设置、实时转换、系统初始化、代码初始化。
3.3.2.7日终管理
该模块共包含19个功能:
成交数据转换、成交结算转换、成交配对、成交查询、结算查询、清算前备份、清算后备份、临时备份、历史库备份、归档库备份、成交清算、成交结算、数据汇总、恢复清算前备份、恢复清算后备份、恢复临时备份、恢复历史库备份、恢复归档库备份。