1、1本科毕业论文(科研训练、毕业设计)题 目:基于证券交易系统的软件体系结构的分析和应用姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号: 指导教师: 职称: 年 月 I基于证券交易系统的软件体系结构的分析和应用摘 要随着软件开发与应用技术的发展,构件一个可维护、可扩展、可重用、高稳定性并且能够支持快速开发应用的系统体系结构已成为迫切的需要。目前,软件体系结构已逐渐成为软件工程领域研究的热点,其中特定领域软件体系结构的研究是其中一个重要的研究方向。通过对某个领域内的软件体系结构进行分析,能够为具体应用系统提供参考体系结构,提高软件构件的重用率,从而提高系统的开发效率与质量。
2、本文在分析了软件体系结构概念之后,阐述特定领域软件结构(Domain Specific Software Architecture)的建模方法,接着针对证券交易系统这一应用领域,采用领域工程与领域应用相结合的开发模型,构建相应的DSSA。最后,根据台湾某公司的证券应用系统的需求,阐述了转档业务功能模块的应用实现,体现了领域体系结构的一些设计原则与策略。关键词: 软件体系结构; 特定领域软件体系结构; 可重用构件; 领域工程; 领域分析IIThe Analysis and Application of Software ArchitectureBased on Stock Exchange Sy
3、stemAbstractWith the development of the Applied Technology and the software development, it is an urgent need to construct a software architecture which support the rapid development of application systems with the feature of high quality, can be maintained, scalable, reusable and high stability.At
4、present, the software architecture has gradually become a hot spot of the software engineering research, in which the Domain Specific Software Architecture is an important research direction. It can improve the reuse rate of the software component and provide the reference architecture for the speci
5、fic application systems through the analysis of the domain software architecture.The dissertation expatiate the modeling of Domain Specific Software Architecture (DSSA) after analysising the conception of software architecture. And then constructs the DSSA on the field of Stock Exchange system .At l
6、ast, according the demand of the Stock Exchange system of a company in Taiwan, the dissertation expatiate the achievement of zhuandang business function model and reflects the design principle in this fields.Keywords: software architecture; DSSA; reusable component; domain engineering; domain analys
7、isIII目 录第一章 引言 .11.1 课题研究背景与意义 .11.2 论文的章节安排 .2第二章 软件体系结构 .32.1 软件体系结构的定义 .32.2 软件体系结构的基本元素 .52.2.1 构件 .52.2.2 连接件 .52.2.3 约束 .62.3 软件体系结构的重要性 .6第三章 特定领域软件体系结构 .73.1 特定领域软件体系结构概念 .73.2 领域工程的建立过程 .83.2.1 域分析 .93.2.2 域设计 .93.2.3 域实现 10第四章 面向证券交易系统的 DSSA 分析 .114.1 领域的需求分析 114.1.1 领域与领域分析的概念。 114.1.2 领域
8、需求 114.2. 建立领域参考体系结构 144.2.1 领域体系结构设计的目标 144.2.2 DSSA 构架 .154.3 DSSA 架构的 模型部件 .154.3.1 业务逻辑处理模型 154.3.2 权限与安全控制 164.3.3 数据管理模型 174.3.4 应用开发模型 184.3.5 系统维护管理模型 19第五章 证券交易系统参考体系结构的应用 215.1 系统需求简述 215.2 DSSA 构架的应用 .225.2.1 加载页面 225.2.2 实现业务逻辑 24第六章 总结与展望 256.1 总结 256.2 展望 25IV参考文献 27致谢语 28VContentsChap
9、ter 1 Introduction11.1 Background and Significance Of the Research .11.2 Organization Of This Article 2Chapter 2 Software Architecture 32.1 The Defination of Software Architecture 32.2 The Base Elements of Software Architecture 52.2.1 Components52.2.2 Connectors52.2.3 Constraints62.3 The Importance
10、of Software Architecture 6Chapter 3 Domain Specific Software Architecture .73.1 The Concept of Domain Specific Software Architecture73.2 The Building Process of Domain Engineering .83.2.1 Domain Analysis .93.2.2 Domain Design .93.2.3 Domain Implementation 10Chapter 4 Analysis of DSSA in the Stock Ex
11、change System.114.1 Demands Analysis of the Domain114.1.1 The Concept of the Domain and Domain Analysis .114.1.2 Domain Demands .114.2. Construct the Domain Reference Architecture 144.2.1 The Target of the Domain Architecture.144.2.2 DSSA Framework .154.3 DSSA Framework 154.3.1 Logic Processing Mode
12、l of Business 154.3.2 Access and Security Control.164.3.3 Data Management Model174.3.4 Application Development Model .184.3.5 System Maintenance and Management Model.19Chapter 5 The Application of the Reference Architecture in Stock Exchange System 215.1 System Requirement Outlined.215.2 The Applica
13、tion of the Dssa Architecture.225.2.1 Loading Pages 225.2.2 To Achieve the Business Logic.24Chapter 6 Summary And Outlook 256.1 Summary .256.2 Outlook 25VIReferences .27Acknowledgements.28第一章 引言1第一章 引言1.1 课题研究背景与意义自 60 年代以来,随着计算机在经济,工业,科研,国防等领域的广泛应用,软件规模越来越大,复杂性也急剧增加,软件危机渐渐暴露。如软件开发周期长,代价高质量低,修改维护十分困
14、难。NATO 于 1968 年提出软件工程概念以来,软件工程界已经提出了一系列的理论方法、语言和工具,解决了软件开发过程中的若干问题。 然而软件本身固有的复杂性,重用性不高等问题依然存在,同时各个领域对于大型程序需求的迅猛增长,在这种背景下,使得人们开始深入探讨程序以及程序开发的规律,软件体系结构概念应运而生。并且随着研究的深入,大量事实表明,对于特定软件体系架构的研究,会成为提高软件生产效率和解决软件危机的良好的途径。针对以上现象,本课题首先阐述体系结构的基本原理与理论,分析并提出特定领域软件体系结构的建立方法与过程,再根据目前迅猛发展的证券系统领域的系统这个实例,对特定领域软件体系结构的功
15、能模块进行分析,进而利用参考体系结构,阐述转档业务模块的实现。整个过程阐述了系统早期的设计决策,系统设计的抽象,体现了通过软件的设计复用与过程复用,从而降低开发成本,提高开发效率。回顾机器语言、汇编语言、过程式程序设计语言、面向对象程序设计语言、形式化(半形式化)规格说明语言(如体系结构描述语言)发展过程,可以发现,计算机语言的模型越来越适合于开发人员的思维活动,复用也越来越重要,对软件体系结构的研究,实现了从代码复用到设计与过程的复用。软件体系结构为开发人员提供了共同的交流语言,为软件系统的早期设计提供决策,在软件需求与软件设计之间架起一座桥梁,为实现框架与构件的复用,为基于体系结构的开发提
16、供了有力的支持。软件体系结构是 90 年代软件工程领域出现的一个新的研究分支。目前对于这一领域的研究取得了一定的成果,但是对于这一领域的应用还比较不成熟,软件体系结构技术正处于不断发展变化之中,因此这一领域还有比较大的发展空间。本课题分析探索了证券交易系统领域的体系结构的建立方法与领域内的功能模块,并且阐述了转档业务结构的应用实现,这过程体现了证券交易系统中体系结构设计的原则与策略。对于证券交易系统结构,特别是转档业务模块的构建具有一定重用参考价值。基于证券交易系统的软件体系结构的分析和应用21.2 论文的章节安排本文分析特定领域软件体系结构的概念并且引入证券交易系统阐述其应用过程,从结构上,
17、分为 6 章:第一章是引言,介绍课题的背景及意义。第二章介绍软件体系结构定义与基本构件,并且指出其重要性。第三章阐述特定领域软件体系结构的定义,然后说明领域工程与领域应用两个过程的关系,并且说明 DSSA 的建立过程。第四章将 DSSA 的建立过程,即领域分析,领域设计,领域实现应用与证券系统领域,并给出 DSSA 的部分模型组件。第五章通过阐述业务逻辑模型的实现过程,展示将 DSSA 作为参考体系结构并运用的方法。第六章对课题进行总结并展望。第二章 软件体系结构3第二章 软件体系结构2.1 软件体系结构的定义虽然软件体系结构己经在软件工程领域中有着广泛的应用,但目前学术界还没有形成一个统一的
18、定义。以下介绍的几个具有代表性的定义,是专家学者从不同角度不同侧面进行描述,这里分析其共同点,并根据我们对于软件体系结构的理解,归结出一些软件体系结构的基本特征。定义 1 Garlan & Shaw 模型SA=components, connectors, constrains构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序,如数据库的 SQL 服务器。连接器(connector)表示构件之间的相互作用。它可以是过程调用,管道,远程过程调用等。一个软件体系结构还包括某些限制(constrain)。定义 2 CFRP 模型SA=elements, interface
19、s, connections, connection semantics软件系统由一组元素构成(elements)。这组元素分成处理元素和数据元素。每个元素有一个接口(interface),一组元素的互连(connection)构成系统的拓扑。元素互连的语义是:静态互连语义(如数据元素的互连),描述动态连接的信息转换的协议(如过程调用,管道等)。定义 3 Perry & Wolf 模型SA=elements, form, rational软件体系结构是由一组元素(elements)构成。这组元素分成 3 类:处理元素(processing elements) 数据元素(data element
20、s)和连接元素(connecting elements)。软件体系结构形式(form)是由专有特性(properties)和关系(relationship)组成。专有特性用于限制软件体系结构元素的选择,关系用于限制软件体系结构元素组合的拓扑结构。而在多个体系结构方案中选择合适的体系结构方案往往基于一组准则(rational)。定义 4 Vestal 模型SA=component, idioms/styles, common patterns of interaction。软件由构件(component)组成,构件之间通过通用的互操作模式相连。体系结构风格基于证券交易系统的软件体系结构的分析和应
21、用4(style)描述了一种通用的设计模式,可满足特定系列的应用需求。定义 5 IEEE 610.12-1990 软件工程标准词汇中的定义Architecture=component, connector, environment, principle。体系结构是以构件、构件之间的关系和构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。定义 6 Boehm 模型SA=components, connections, constraints, stakeholders needs, rationale。软件体系结构包含系统构件连接件约束的集合;反应不同人员需求
22、的集合;以及能够展示由构件连接件和约束所定义的系统在实现时如何满足系统不同人员需求的原理的集合。通过比较上述软件体系结构的定义,可以发现:定义 1 和定义 2 是从软件构造角度审视软件体系结构,强调了软件的基本元素是构件,连接器,及其约束。定义 3 和定义 4 侧重于从体系结构风格模式和规则等角度来定义软件体系结构的。定义 5 不仅强调了体系结构系统的基本构成,同时还强调了体系结构的环境即与外界的交互。定义 6 则强调了软件体系结构是一组概念以及关于软件系统结构的设计决策,用来使待开发的系统在体系结构上满足重要的功能与质量需求 1。 根据我们对于软件体系结构的理解,可以认为软件体系结构的基本特
23、征是:由构件为组成单位,构件之间具有交互关系,具有一定限制,构件与连接件构成拓扑结构,含有设计原则与指导方针。因此,在这里给出软件体系结构定义如下:在软件密集的大规模系统或具有类似需求和结构的软件产品线的开发中,必须从一个较高的层次来考虑组成系统的构件之间的交互,以及由构件与构件交互形成的拓扑结构,这些要素应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化。而且,软件体系结构应能反映系统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,据此开发的系统能完成系统既定的功能和性能需求 1。通过对软件体系结构定义的分析,可以知道软件体系结构的基本元素为构件、连接器、约束
24、、端口等。第二章 软件体系结构52.2 软件体系结构的基本元素2.2.1 构件构件是软件体系结构的基本要素之一。从功能上看,构件是实现某种相关逻辑功能的软件单位,它具有语义完整、语法正确、可重用等特点。从结构上看,构件是一系列类的组合,并提供一定的接口,构件只能通过接口对外界提供服务,外界也只能通过接口访问构件。构件可以有不同的粒度,一个构件可以只有一个过程,一个函数,也可以包含一个应用程序,一组类库。连接件是用来建立构件间的交互以及实现交互规则的体系结构构造模块。连接件实现的功能包括消息或信号量的传递、功能或方法调用、数据的传送和转换、构件之间的同步关系、依赖关系等。构件之间的交互,最简单的
25、情况为直接完成交互,这时连接件就退化成直接连接;在复杂的情况下,体系结构的通信需要复杂的协议,就需要抽象这些协议并使之能重用,将连接件构造为类型,以实现构件间交互的处理和维持。为了保证体系结构中连接件的正确通信,连接件应该抽象出服务,并规范地提供接口 2。2.2.2 连接件连接件的主要特性有可扩展性、互操作性、动态连接性和请求响应特征:1) 连接件的可扩展性是连接件允许动态改变被关联构件的集合和交互关系的性质;2) 互操作性指的是被连接的构件通过连接对其他构件进行直接或间接操作的能力;3) 动态连接性即对连接的动态约束,是指连接对于不同的所连接构件实施不同的动态处理方法的能力。 请求响应特性包
26、括响应的并发性、时序性。在并行或并发系统中,多个构件有可能并行或并发地提出交互请求,这就要求连接能够正确协调这些交互请求之间的逻辑关系和时序关系。连接件是构件的粘合剂,是构件交互的实现。连接件也是一组对象,它把不同的构件连接起来,形成体系结构的一部分。基于证券交易系统的软件体系结构的分析和应用62.2.3 约束体系结构约束描述了体系结构配置和拓扑要求。体系结构约束提供限制来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现所需行为的组合语义。例如,连接件约束确保执行计划和交互协议,建立起内部连接件依赖关系。2.3 软件体系结构的重要性软件体系结构为软件系统提供了一个结构、
27、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构指定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。软件体系结构的重要性体现在以下几个方面:1) 软件体系结构是系统的骨架 3。体系结构表达了软件系统初期的特征和系统的早期设计,体系结构一旦建成,是贯穿整个软件产品,以后难以修改。软件在维护过程中,修改是难免的,良好的体系结构是有助于分析构件之间的关系,良好的体系结构是更改的重要依据;2) 软件体系结构决定了复用的程度。体系结构是系统行为、关系的高级抽象,体现了各个模块的
28、内聚度以及模块之间的耦合性,为复用提供了基础;3) 软件体系结构提供了共同的交流语言。体系结构往往用于大型的、生存期长的软件系统的描述。它需要简单的,可理解的语法来配置结构化信息,从较高的抽象层上理解系统的分析与设计,从而方便了有关人员的交流。软件体系结构的理想状态是不需要研究构件与连接件就能使构件系统的各种参与者理解系统。第三章 特定领域软件体系结构7第三章 特定领域软件体系结构3.1 特定领域软件体系结构概念特定领域软件体系结构是一个领域中所有应用系统的共同体系结构,是根据领域参考需求给出的解决方案,是识别、开发和设计出可复用组件的基础。它是体系结构与实际相结合的一个有效且重要途径,它继承
29、了软件体系结构的意义。一方面,它基于软件体系结构的理论,通过确定构件以及它们之间的交互关系、约束。另一方面,它是限定在特定领域的体系结构,领域中的各个应用系统相似度高,减少了要素的种类,并使得复用的可能性大大增加。特定领域软件体系结构是美国国防部的高技术局(DAPRA)倡导的,在 DARPA 和美国空军的支持下,制定了一个有关 DSSA 的培训计划,在这个培训计划中把 DSSA 定义为 4:1) 是软件构件的一个集合,以标准的结构组合而成,对于一个特殊类型的任务(领域)是通用的,可用于有效地、成功地建立一个系统。这里的构件是指一个抽象的具有某种特征的单元,它为其他单元提供能力或服务;2) 是问
30、题元素的解元素的样本,定义了它们之间的映射。除了以上定义,Hayes-Roth 和 WillTracz 也分别对特定领域的体系结构给出了不同的定义。分别为:1) DSSA 就是专用于一个特定类型的任务(领域) 的、在整个领域中能有效使用的、为成功构造应用系统限定了标准的组合结构的软件组件的集合;2) DSSA 就是在一个特定的问题域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。综合分析以上的定义,可以总结出特定领域软件体系结构的特征为:1) 需要对特定领域的分析,建立领域模型;2) 需要建立参考体系结构,以适用于一个域的应用系统
31、,具有通用性;3) 具有领域可重用的构件。DSSA 包含两个过程。一是领域工程,即建立领域模型,设计总结出领域内可重用的组件,可重用的设计等,提供一个灵活的,结构化的可用于指导领域内系统开发的参考体系结构。基于证券交易系统的软件体系结构的分析和应用8二是应用工程,以参考体系结构为开发框架,利用可重用构件与设计,开发应用系统的过程5。领域工程与应用工程的关系如图 2.1 所示:领域分析领域模型领域设计领域体系结构实现可重用部件可重用部件库需求分析系统需求系统设计基于可重用构件的应用系统开发应用系统用户需求图 2.1 领域工程与应用工程的关系图首先收集用户需求然后与领域需求进行比较,就可以很快地建
32、立当前系统的需求模型。也就是说,领域模型可以辅助开发者理解一个应用领域,并可以作为系统分析的起点。一旦确定了当前系统的需求模型,然后参考领域体系结构构造出系统特定的体系结构。这种系统体系结构是一种高层的设计表示,提供了系统开发的基础。根据系统体系结构,开发者可以从构件库中选取或定制开发可重用构件,利用构件来实现应用系统。3.2 领域工程的建立过程Tracz提出了一个通用的DSSA应用过程,这些过程需要根据不同的应用领域来进行调整。Tracz提出的DSSA应用过程包括以下5个步骤:1) 定义领域范围:定义要完成什么,重点在用户需要;2) 定义、细化特定领域元素:类似于需求分析,重点在问题空间;3
33、) 定义、细化特定领域的设计和实现限制:类似于需求分析的细化,重点在解决方案空间;4) 开发领域体系结构:类似于高层设计,重点在定义模块膜型的接口和语义;第三章 特定领域软件体系结构95) 制造和收集可重用的产品单元:可重用的部件(代码、文档等)的实现和收集。在 Tracz提出的这一DSSA过程中,DSSA的建立是并发的、递归的和反复进行的过程.该过程的目的是将用户的需要映射为基于实现约束集合的软件需求,这些需求定义了DSSA。虽然在不同领域中,领域工程的建立会有些许区别,一般情况下,需要用所应用领域的开发者习惯使用的工具和方法来建立 DSSA 模型。但是建立过程一般包括三个阶段:域分析,域设
34、计和域实现。3.2.1 域分析域分析是系统分析的一种类型,这个阶段要建立域模型。域模型描述了元素和元素间的关系。领域分析的目的是定义正确灵活的,可重用的域模型。这个阶段主要活动包括分析领域的功能需求,定义领域的边界,确定领域间的元素以及它们之间的关系与约束条件。领域间的构件元素包含共性构件,个性构件还有动态构件,这个阶段主要需要识别,收集和组织这些构件。良好的域分析是良好的软件体系结构的前提。建立的领域模型图如图2.2 所示:共性构件动态构件个性构件构件之间的关系与约束图 2.2 域模型图3.2.2 域设计这个阶段是的产出是 DSSA。在域分析后,将域模型描述的需求分析用参考体系结构描述,为具
35、体的应用体系提供解决方案。它是从高基于证券交易系统的软件体系结构的分析和应用10层概述系统结构,由于参考体系结构是一种不完备或半完备的体系结构,具有一定的变化性,因此 DSSA 要具有变化适应性。域设计要描述构件的功能以及构件之间的具体关系。域设计阶段可以通过分析特定领域传统业务流程来提取框架 6。通过分析识别核心业务流程模型、周边业务流程模型以及他们的框架建立,来获得 DSSA。3.2.3 域实现这个过程主要根据域模型实现并收集可重用信息,按照特定领域架构进行组织。这个过程产生组件库,以及它们的标准定义与规范。特定领域软件体系结构开发过程如表 3.1 所示:表 3.1 特定领域软件体系结构开
36、发过程步骤 过程 产出1 领域分析 领域模型2 领域设计 领域体系结构3 领域实现 组件库4 领域应用开发 应用开发系统第四章 面向证券交易系统的 DSSA 分析与设计11第四章 面向证券交易系统的 DSSA 分析4.1 领域的需求分析4.1.1 领域与领域分析的概念。领域是指一组具有相似或相近需求和功能的应用系统所覆盖的区域 7。领域描述一个问题空间,领域内的系统共享一组能力或者数据集。对领域内的问题空间的求解可以导出新系统。领域工程的最终结果是设计在一个领域内可以复用的构件,这个过程的首要基础是领域分析。领域分析是对一类应用系统的共同应用领域进行系统化的分析 8,从而发现该领域的共同知识、
37、需求及其应用系统的共同特征。领域分析与系统分析的主要区别在于:系统分析关心特定系统的特定动作,而领域分析关心应用领域中的所有相似系统的共性,并且特别强调分析和设计级的共性。领域分析首先要针对领域需求来捕捉领域的系统行为的高层描述。4.1.2 领域需求对于领域需求的的提取,可以采用需求工程的方法。需求工程把软件需求分为三个不同的层次:业务需求、用户需求、功能需求 9。1) 业务需求:描述了组织结构或客户对软件系统高层次的目标要求;2) 用户需求:描述了用户和系统的交互过程;3) 功能需求:描述了为实现特定的业务需求,即软件系统必须具备的功能。这三个层次可以从不同的角度,不同的高度对系统特征进行描
38、述。业务需求是从高层描述系统,体现了业务的能力,是该领域与其他领域的本质区别所在。用户需求体现的用户与系统交互的过程应该是该领域中普遍存在的或具有特色过程。功能需求描述了领域中的基本元素,是用户需求与业务需求实现的基本单位。下面就从这三个方面对证券交易系统领域进行领域需求分析。基于证券交易系统的软件体系结构的分析和应用121. 业务需求网络的迅猛发展,促进了证券业迅速发展,证券公司作为向筹资者融资和投资者投资提供中介服务的机构,其信息系统必须满足证券业的发展要求。随着证券营业部的增加,证券公司面临着严峻的竞争挑战。如何加强证券公司的业务管理,规范公司运营流程,对公司的数据资源进行优化统一管理,
39、成为证券商提高竞争力,获得最大经济效益的必经之路。要满足这些需求,证券系统需要解决的问题有:1) 网络的迅猛发展与普及,使得投资者迅速增加,证券系统需要处理的业务量增长迅猛,同一时刻需要处理的业务请求,需要存取的数据量成倍增长。这就要求系统能够迅速的处理业务,并且允许一定时间的延迟;需要提高数据的存储效率与存储方式。而且,用户的增多,必然需要提升权限控制的能力,需要给予广大不同用户恰当的权限。2) 证券新品种的不断推出,要求证券系统具有足够的灵活性,提供恰当的接口,能够迅速的开发出业务处理子系统,并且能够对其进行统一规范的管理,以提升开展新业务的能力。3) 信息互通、互联、资源统一共享的要求,
40、一直是证券信息系统应用的棘手问题。需要优化系统,对系统信息和资源进行统一管理。使得企业中宝贵的信息资源能够完整,统一准确的体现业务,从而发挥信息的最大效用。4) 证券营业部的增加,使得证券系统的竞争激烈。需要提供简单高效的操作,并且具有人性化的设置,以提升核心竞争力。2. 用户需求用户需求如图 3.1 所示:第四章 面向证券交易系统的 DSSA 分析与设计13系统用户开发管理权限安全控制数据管理业务逻辑处理系统维护管理W e b 交易交易所图 3.1 用户需求用例图参与者说明:1) 系统用户:表示证券商里的注册用户。2) 交易所: 表示与证券商进行交互的注册人员。用例说明:1) 权限安全控制:
41、向用户提供身份验证,权限分配的安全机制,以及系统内的资源信息的安全控制。2) 开发管理:向用户提供快速的,方便的开发应用系统的方法和手段,支援团队开发,增加自动化比例。3) 业务逻辑处理:提供一系列接口,使得用户可以针对新增的具体业务处理流程进行开发与管理。4) 数据管理:证券系统每天都需要处理大量数据,需要及时处理交易数据,阶段性的总结数据。5) Web 交易:提供与交易所的交流途径。6) 系统维护管理:提供简单的操作,具有系统基本资料修改,权限资料修改,服务管理等功能3. 功能需求综合以上分析的领域内共性问题。可以进一步分解出以下的共性功能需求。基于证券交易系统的软件体系结构的分析和应用1
42、41) 提供灵活方便的工作流管理系统;2) 提供认证与权限分配的安全管理机制;3) 提供灵活的接口,方便用户及时进行开发新业务,扩充系统;4) 提供基于 Internet 协议的分布式服务;5) 对数据统一管理,统计挖掘出有价值信息。提供多种数据存取方式;6) 具有系统重用构件库,提供快速开发的平台。通过对此领域的分析,可以得出此领域模型需要具有良好的扩展性、强大的数据管理能力、快捷的操作工作流程,是一个整合商品交易管理系统与开发系统的 IT 平台。4.2. 建立领域参考体系结构4.2.1 领域体系结构设计的目标领域软件体系结构设计的最主要目标是构架重用,而构架重用的基础与切实可行的方法则来自
43、于构件化的领域应用框架。领域构架表现为一组抽象构件之间的交互方法。领域构架定义了领域应用的体系结构,阐明了构件之间的协作依赖关系,控制关系以及责任分配,是可被领域应用开发者重用的定制骨架。软件生产中的重用可分为应用系统中抽象块重用、多个应用或领域中的代码重用以及领域应用框架重用。领域应用框架的重用不是包含具体功能的代码块,而是从高层提供所有领域应用中所期望的类集合以及他们之间的交互方式。构架重用的设计可以使用面向对象设计的策略。 设计模式一书对优秀面向对象设计的策略提出了一些建议。其中包括三点:1) 按接口编程;2) 尽力用聚合代替继承;3) 找出变化并封装之 10。接口的设计在领域体系结构中
44、,除了需要满足方便灵活,最主要的应该是要根据其在整个框架中的特定作用和特征确定其领域专用的扩展槽,为开发者提供可以自行选择的扩展槽。扩展槽使框架更具有灵活性。良好的接口设计大大增强领域系统构架的可重用性、扩展性与第四章 面向证券交易系统的 DSSA 分析与设计15灵活性。应用基于继承的框架,开发者通过衍生子类或继承父类的方法来开发系统,子类的实现很大程度上依赖的父类的实现,这种依赖性限制了重用的灵活性和完全性。特别是在复杂的系统中,大量应用继承会导致巨型继承层次结构, 从而降低设计的质量与重用性。聚合即为构件对象的组装,应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部接口,
45、无须了解内部的具体实现。另外,组装比继承更为灵活,它能动态地改变,因此聚合比继承更适合于重用构架的设计。 但是,通过继承获得构件有时比组合容易,因此在构架设计中,应用聚合,同时兼用继承技术。对于领域中的变化需求成分,在分析出基本元素模型后,将其封装成构件,有利于重用。4.2.2 DSSA 构架在本文所针对的证券交易系统领域中,根据前文的分析可以得出领域参考体系结构的总体架构由多个子系统构成,如图 3.2 所示。领域内的特征可以大致概括为以下几个子系统构件,从高层看各个子系统构件是提供特定功能的框架。各个子系统框架之间可以通过特定接口进行交互。 子系统构件都包含特定接口,为在具体应用系统时提供拓
46、展。因此,在具体应用系统中需要特色功能时,只要符合接口定义,就能将新的构件加入框架中,构件设计者就能重用体系框架。开发人员利用此体系结构,进行构件开发,从而方便开发人员之间的交流。开 发 管 理 权 限 与 安 全 控 制系 统 维 护 管 理业 务 逻 辑 处 理数 据 管 理图 3.2 参考体系结构图4.3 DSSA 架构的模型部件4.3.1 业务逻辑处理模型这部分模块是整个系统功能的核心部分。一方面提供与客户端表现层的交互接口,另一方面提供与数据库交互的接口。基于证券交易系统的软件体系结构的分析和应用16业务层体现系统的业务逻辑,它意识不到表现层的具体逻辑,而是通过公开的接口为表现层提供
47、更贴近业务模型组织的业务层服务。按照组织的层次,可以将业务层细分为业务控制层和业务服务层。业务控制层:面向业务过程,体现的是粗粒度的用例,主要负责组装业务服务组件。业务控制层的关键控制元素是用例控制器,用例控制器是从用例操作的角度出发,面向业务过程,通常是一个事务单元,用户所作的操作要么提交要么回滚。用例控制器可以组装多个业务服务来满足用户的操作。业务服务层:封装业务逻辑,体现的是细粒度的业务操作,当涉及到具体的数据存储操作(主要是数据库访问), 调用集成层去实现的。业务服务层的关键控制元素是业务服务:业务服务封装了业务逻辑,它主要从业务的角度而不是具体用例操作的角度出发。业务服务粒度较细,以
48、提高复用度。证券系统的业务包含交易处理,报表打印等。业务层的细分使整个架构更加清晰,有效地引导开发人员从业务的角度区分出一系列的用例场景。它的高层流程结构图如图 3.3 所示:逻 辑 处 理用 户 表 现 层数 据 库安 全 处 理图 3.3 业务逻辑图证券系统可以采用 C/S 架构,用户操作客户端,产生的请求事件通过一定的接口与逻辑层交互,逻辑层根据请求事件,与数据库交互。这个过程需要都在安全机制的控管之下运行。第四章 面向证券交易系统的 DSSA 分析与设计174.3.2 权限与安全控制系统安全性的重要性是显而易见的。在 DSSA 构架中设计出多层的、一致的身份验证机制和灵活的授权策略是一
49、项非常关键的任务,在证券系统构架中,这里采用访问控制与安全子系统采用统一的身份验证和基于角色的授权策略,基于这种框架可以让多个应用系统共享同一安全管理框架,避免重复开发和由于安全控制系统不一致造成的安全性漏洞和增加系统安全管理的复杂性。在统一身份验证框架下,系统中的多个业务应用系统不需要分别开发自己的身份验证系统,而是共用系统构架中提供的统一身份验证中心服务。应用系统在响应用户请求之前,先向统一身份验证中心查询该用户的身份验证信息,确定是否为安全用户的。通过身份验证之后,权限控制子系统应确定用户的权限信息,明确用户可以访问的资源以及对资源的操作权限,以此系统资源的访问控制提供保护。基于角色的系统安全控制模型是安全管理员通过定义各种角色,并给各个角色设置合适的访问权限,然后再给不同的用户分配角色。角色是一个表示访问控制权限的对象。因此,用户登录时的访问控制过程分为两部分,即访问权限与角色的确认。用户登陆的流程图如图3.4所示:用户 身份验证中心 应用系统登陆安全用户分配权限不通过则返回图 3.4 统一身份验证流程图4.3.3 数据管理模型证券系统要求数据存取具有高效性,基于证券交易系统的软件体系结构的分析和应用18高安全性。因此,在 DSSA 中,必须突破传统使用的单一数据库的