(计算机软件与理论专业论文)新一代电信运营支撑系统及其框架设计.pdf_第1页
(计算机软件与理论专业论文)新一代电信运营支撑系统及其框架设计.pdf_第2页
(计算机软件与理论专业论文)新一代电信运营支撑系统及其框架设计.pdf_第3页
(计算机软件与理论专业论文)新一代电信运营支撑系统及其框架设计.pdf_第4页
(计算机软件与理论专业论文)新一代电信运营支撑系统及其框架设计.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新一代电信运营支撑系统及其框架设计 摘要 电信运营支撑系统支撑电信业务的运营流程,满足运营需求,其建 设质量直接体现了电信运营商的经营管理和服务水平。传统的以业务为 中心的电信运营支撑系统存在着开发周期长,可维护性差等问题,很难 满足“以客户为中心”的新一代电信运营支撑系统的需求。基于框架和 构件的开发技术可以有效地解决上述问题。通过设计和开发电信运营支 撑系统软件框架,可以有效地降低电信运营支撑系统的建设成本,提高 开发效率和系统可靠性,从而向新一代电信运营支撑系统的目标迈进。 本文首先对软件框架和构件的定义、特点进行了剖析和总结,给出 了作者自己的些见解;对基于框架和构件的开发过程进行提炼和充 实,使其更加系统化和完整。同时作者对电信运营支撑系统的定位和发 展现状进行了研究,着重剖析了电信管理论坛发布的新一代电信运营支 撑系统的相关规范,并初步设计新一代运营支撑系统的体系结构。在归 纳领域需求和电信管理论坛前沿标准的基础上,结合作者参加国家8 6 3 项目面向领域的框架和构件技术的工作实践,设计电信运营支撑系 统的软件框架和构件模型。 关键词:电信运营支撑系统电信管理论坛软件框架 基于框架的开发构件 a b s t r a c t t e l e c o m m u n i c a t i o n o p e r a t i o ns u p p o r ts y s t e m ( o s s ) u n d e r p i n s t h e b u s i n e s sp r o c e s s e so ft e l e c o m m u n i c a t i o ns e r v i c e sa n dm e e t st h eb u s i n e s sa s w e l la s s u p p o r tr e q u i r e m e n t s o fs e r v i c e p r o v i d e r s t h eq u a l i t y o ft h e o p e r a t i o ns u p p o r ts y s t e ms t r a i g h t l yr e f l e c t st h e b u s i n e s sm a n a g e m e n t a b i l i t y a n ds e r v i c el e v e lo fa s p e c i f i c t e l e c o m m u n i c a t i o ns e r v i c ep r o v i d e r t h e t r a d i t i o n a lo s sw i t hl o n gd e v e l o p m e n tp e r i o d sa n dp o o rm a i n t a i n a b i l i t yi s b u s i n e s s - c o n c e r n e da n dh a r d l ym a t c h e st h ea d v a n c e dt e l e c o m m u n i c a t i o n s e r v i c et h e o r y c o m p o n e n tb a s e ds o f t w a r ed e v e l o p m e n t c a r le f f e c t i v e l ys o l v e t h ep r o b l e m s d e s i g n i n ga n dd e v e l o p i n gs o f t w a r ef r a m e w o r ko fo s sc a n r e d u c et h ec o n s t r u c t i o nc o s ta n di m p r o v et h ee f f i c i e n c yo f d e v e l o p m e n t ,t h u s g r a d u a l l y r e a l i z e st h eb l u e p r i n to f n e x t g e n e r a t i o no s s t h et h e s i sa n a l y z e sa n ds u m m a r i z e st h ed e f i n i t i o n sa sw e l la sd e v e l o p i n g p r o c e s s e s o fs o f t w a r ef r a m e w o r ka n d c o m p o n e n t ,m e a n w h i l eb r i n g sf o r w a r d s o m eo ft h ea h t h o r so w no p i n i o n s t h e nw es u m m a r i z et h ea r c h i t e c t u r ea n d e v o l u t i o no fo s s ,m e a n w h i l e c o n c e n t r a t eo nt h ea r c h i t e c t u r eo fn e x t g e n e r a t i o no s s a n dt h ee v o l v i n gs o l u t i o n w i t ht h ep r a c t i c eo f8 6 3p r o j e c t p r o g r a m d o m a i n o r i e n t e d f r a m e w o r ka n dc o m p o n e n tt e c h n o l o g y , t h e t h e s i sc o n c l u d e st h et e l e c o m m u n i c a t i o n r e a l m r e q u i r e m e n t s a n dt h e a d v a n c e dt m fs t a n d a r d s t h e nw ed e s i g n t h es o f t w a r ef r a m e w o r ko f o p e r a t i o ns u p p o r ts y s t e m i nt e l e c o m m u n i c a t i o nd o m a i n ,a n da tt h es a m e t i m ed e s c r i b e st h ec o m p o n e n t sa m o n ge a c hl a y e ro ft h ef r a m e w o r ka n d a n a l y z e st h ee x t e n d i n g m e c h a n i s mo ft h ef r a m e w o r k k e y w o r d s : o p e r a t i o ns u p p o r ts y s t e m t m f f r a m e w o r k c o m p o n e n t 独创性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内 容以外,论文中不包含其他入已经发表或撰写过的研究成果,也不包含 为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:盘塑日期: 生! 生主鲨 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的 规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮 电大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分 内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。 非保密论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 日翔: 0 0 0 v ) ) 星 日期:迦垒:! :1 新一代i u f a 运行支撑系统及,e 框架设计 第一章:概述 1 1论文的背景 随着世界经济的全球化、市场的国际化,国际化的市场环境要求国内的电信 运营企业在经营管理上向国外先进的电信运营企业看齐,以迎接电信运营业的国 际化竞争。同时随着国家改革的深化。国内电信业的市场环境已渐趋合理,竞争 日益加剧。国内、国际电信业的如此态势,对电信运营企业的服务内容、服务方 式、服务质量、经营管理以及服务意识,提出了严峻挑战。企业的经营模式和服 务体系正以客户的价值取向和消费心理为导向,真正体现“创造需求、引导消费” 的现代客户服务意识与理念。 当前电信运营企业在硬件设施方面的差距越来越小,在这种情况下电信业务 支撑系统的作用就显得越来越重要,各电信运营企业的竞争基本上体现为电信业 务支撑系统的竞争。谁能够快速、灵活她向客户提供多种多样的业务,并以优质 的服务和有吸引力的资费优惠政策来吸引客户,谁就能在竞争中立于不败之地, 而这些都取决于是否有一套符合业界发展方向的高效的电信支撑系统。电信管理 论坛( t e l e m a n a g e m e n tf o r u m ,即t mf o r u m ) 是一个由电信业务提供商及供应 商等所组成的国际性非盈利组织,其目标是研究和定义电信运营管理框架、规范 及标准,指导电信运营商和供应商的运营活动。n g o s s 是t mf o r u m 提出的关 于新一代电信运营支撑系统的框架,同时它也提出了一种研究电信运营支撑系统 的方法与思路。 由于软件开发趋于大型化、复杂化,近年来软件工程领域出现了很多关于 重用的新技术和新理论,比如体系结构,设计模式( d e s i g n p a t t e r n ) ,软件框架 ( f r a m e w o r k ) 和基于构件的开发( c o m p o n e n tb a s e dd e v e l o p m e n t ) 等等。这些 新技术的出现,可以使软件设计和开发人员很好地重用已有的设计,而不仅仅 局限于代码级重用,从而有助于我们更快速更灵活地开发应用软件。软件框架 和构件技术应用于电信运营支撑系统的设计和丌发,为新一代电信运营支撑系 统的建设开辟了新的思路,同时该领域的框架设计实践也为未来建设积累了宝 贵的经验。 1 2论文的意义 基于框架和构件的开发大大提高了软件的重用度,改善了应用软件的_ 刀发速 北京邮电大学硕= i 二学位论文 第1 撕 新一代也信运营亘撑系统及其框架设计 度和效率,对于新的需求能够做出灵活迅速的响应,同叫也更易于构造。 本文的研究目标是结合参加国家8 6 3 项用面向领域的框架和构件技术的 工作实践,对框架和构件的概念、特点以及丌发方法等相关问题进行研究,结合 新一代电信运营支撑系统的建设需求,设讨电信运营支撑领域的软件框架,以缩 短电信运营支撑系统的开发周期,提高软件系统的质量,以期为国内电信运营商 未来的电信运营支撑系统的设计和开发提供参考和借鉴。 1 3论文的主要工作 由于软件框架和构件技术相关理论的研究还不十分成熟,作者首先对软件框 架和构件的相关理论进行了总结和概括,给出了作者自己的观点,之后作者对基 于框架和构件的开发过程进行了归纳。 作者在就读研究生期间参与了电信运营支撑系统设计和研究工作,同时收集 了国内外有关电信运营支撑系统的相关资料,进行深入的学习。电信管理论坛是 服务于信息服务和通信行业的国际性非盈利组织,致力于新一代运营支撑系统 ( n g o s s ) 的研究。作者对t m f 提出的电信运营图( t e l e c o mo p e r a t i o n sm a p , t o m ) 、增强的电信运营图( e n h a n c e dt e e e o mo p e r a t i o n sm a p ,即e t o m ) 、系 统集成图( s y s t e m i n t e g r a t i o n m 印,即s i m ) 和技术集成图( t e c h n o l o g y i n t e g r a t i o n m a p ,即t i m ) 等相关规范进行了学习和研究。 在这些理论和经验的指导下,作者参与了北京大学软件工程国家工程研究中 心与北京邮电大学通信软件工程中心合作开发的国家8 6 3 项目面向领域的 框架和构件技术。该项目针对新一代电信运营支撑系统的需求,设计营业系统应 用框架,并使用特定领域应用系统的开发方法和支持机制开发原型与示范系统。 在该项目中作者参与领域需求分析的全过程,与项目组成员共同设计电信营业系 统的框架和构件,框架的实现部分由其他同学完成。 在研究生学习期间,作者还参与了中国联通公司客户服务系统信息模型设 计、国际合作项目瑞典爱立信公司a x e 产品配置模型开发以及中国联通统 一经营信息服务系统( b i ) 等项目,得到了充分的学习和实践机会,并为本论文 的编写提供了丰富的理论和经验支持。 1 4论文的结构 论文的结构安排如下: 北京邮也大学硕+ :学位论文 第2 贝 新一代电信运背支掉系统及】e 框架设计 第二:章列软件框架、构件及相关概念进行了详细的讨论和总结。首先介绍了 软件体系结构和设计模式的概念,进而讨论了框架定义、特点及其与体系结构和 设计模式之间的关系;然后作者讨论了构件和基于构件的开发过程;在本章作者 同时介绍了工作流和工作流管理系统的模型,并以i b m 公司的s a nf r a n c i s c o 为 例介绍其框架体系结构。 第三章对电信运营支撑系统的相关概念和体系结构进行研究,同时介绍了 t m n 与电信运营支撑系统的关系:然后详细剖析t m f 提出的n g o s s 框架以及 支撑该框架的电信运营图( 1 0 m ) 、增强的电信运营图( e 1 o m ) 、系统集成图( s i m ) 和技术集成图( t i m ) 等规范。作者同时结合当前国内电信运营支撑系统的建设 情况,初步设计了新一代电信运营支撑系统的体系结构。 第四章详细描述了基于框架和构件的开发方法指导下电信营业系统框架和 构件的设计过程。作者详细介绍该框架体系结构,描述了该框架中的构件关系模 型和构件规约,最后对该框架设计做出评价和完善方向的建议。 第五章对全文进行了总结。 北京邮i 乜人学颂上学位论文 第3 负 新一代电信运苻支撑系统及其框架设计 第二章:框架及构件技术 软件框架和构件是近年来软件界研究的热点。基于框架和构件的丌发技术大 大提高了软件的复用度,改善了应用系统的开发速度和效率,对于新的需求能够 做出灵活迅速的响应,也更易于构造,从而研究软件框架和构件对于庞大复杂的 应用系统有重要意义。在本章中,作者对软件框架和构件的定义、特点及其与相 关概念的关系进行了剖析和总结,给出了作者自己的一些见解;对基于框架和构 件的开发过程进行总结和充实,使其更加系统化和完整;在本章作者同时介绍工 作流管理系统的模型及其在业务过程建模中的作用。基于上述介绍,作者以i b m 公司的s a nf r a n c i s c o ( 简称s f ) 框架为例,对s f 框架的体系结构进行解析。 2 1 软件框架、构件及相关概念 在介绍软件框架和构件的概念之前,首先明确软件体系结构和设计模式的概 念,进而讨论框架定义、特点及其与体系结构和设计模式之间的关系:然后将归 纳构件定义和总结基于构件的开发过程。 2 1 1 软件体系结构 关于软件体系结构,目前还没有一个标准的被广泛接受的定义,这主要是因 为软件体系结构研究仍然是一个不成熟的领域。下面首先给出几个有关软件体系 结构的常见定义,在此之后给出作者对这一概念的理解。 西门子公司的研究人员s o n i 、n o r d 和h o f m e i s t e r 在1 9 9 5 年曾经提出了他们 对于软件体系结构的定义【1 1 。他们认为软件体系结构至少应该有四种不同的形 式,每一种形式从不同的观点描述了系统的结构。这四种形式( 或称为四种视图) 分别为:概念体系结构( c o n c e p t u a la r c h i t e c t u r e ) ,从系统的主要设计元素以及 元素之间的关系来描述系统,与应用领域联系紧密;模块互连体系结构( m o d u l e i n t e r c o n n e c t i o na r c h i t e c t u r e ) ,包括两种正交的结构:系统功能分解和模块分层; 执行体系结构( e x e c u t i o na r c h i t e c t u r e ) ,描述了系统的动态结构和构件功能到运 行平台元素的映射:代码体系结构( c o d e a r c h i t e c t u r e ) ,描述源程序、二进制文 件、以及库文件在开发环境中的组织方式。 k r u c h t e n 于1 9 9 5 年在i e e e 发表的文章中1 2 】指出不可能用单张视图来捕获系 统所有体系结构的要点,他认为需要从多个视图( 或视点) 来描述软件体系结构。 k r u c h t e n 定义的软件体系结构模型包含五个主要的视图,该模型也由此被称为 “4 + 1 ”模型f : 北京邮电大学硕士学位论文 第4 页 一 一 翌二垡坐! i 堡翌塞苎墨堕垄苎堡型丝堡 逻辑视图( l o g i c a lv i e w ) ,或设计视图。该视图面向最终用。,主要支 持功能性需求,当使用面向对象的设计方法时,就是设计的对象模型。 进程视图( p r o c e s sv i e w ) ,捕获设计的并发和同步特性。进程视图面向 系统集成人员,考虑非功能性的需求,比如性能和有效性,解决并发性、 分布性、系统完整性和容错性等问题。 。 物理视图( p h y s i c a lv i e w ) ,或部署视图,描述了软件到硬件的映射,反 映了分布式的特性。物理视图面向系统工程人员,主要关注于系统非功 能性的需求,比如有效性、可靠性( 容错性) 、性能和扩展性。 开发视图( d e v e l o p m e n tv i e w ) ,或构件视图,描述了开发环境中的静态 组织结构。开发视图面向开发人员,关注于开发环境下的软件管理。 用例或场景( u s ec a s e so rs c e n a r i o s ) :上述四种视图通过组重要的场 景( s c e n a r i o s ) 一更具普遍性的用例( u s ec a s e s ) 实例一来无缝地协同 工作。场景视图面向系统的分析测试人员,关注于软件行为的分析。该 视图是其他视图的冗余( 因而是“+ 1 ”) ,但是采用该视图有两个主要目 的:在体系结构设计中用于体系结构驱动元素的发现;在体系结构设计 结束时,作为体系结构原型的测试起点,充当验证和阐述解释的角色。 i 笙i2 1 :“4 + 1 ”视例模型 在“4 + 1 ”视图模型中,各视图对其内部构件的定义是不同的,如下表所示 视图逻辑视图进程视图开发视图物理视图场景视图i 构件类任务模块节点步骤、脚本f 表2 1 :“4 + 1 ”视图模型中的构件 b a s s 、c l e m e n t s 和k a z m a n 于1 9 9 8 年发表的文章中f 3 】给出软件体系结构的定 义如下:一个程序或计算系统的软件体系结构是系统的一个或多个结构,结构由 北京邮电大学硕士学位论文第5 负 新一代电信运营支撑系统及其框架设计 软件构件、这些构件的外部可见特性、以及他们之 l 的关系身l 成。其r h “外 | 可见特性”是指构件提供的服务、性能、错误处理、共享资源的使j j 等。这一定 义的目的在于强调软件体系结构必须从系统中抽象出某些信息( 否则就彳i 是在看 待体系结构,而仅仅是在查看整个系统) ,目时保留足够的信息作为分析、制定 决策以及降低风险的基础。体系结构定义了构件( c o m p o n e n t s ) ,包括了构件之 间如何交互的信息。这定义明确说明,一个系统可以包含多于一个体系结构, 而且没有哪一个结构可以说就是体系结构。这一定义没有指明什么是体系结构构 件、什么是构件之间的关系。构件可以是一个对象、一个进程、一个数据库、一 个商业产品,也可以是其他任何东西。 以上有关软件体系结构的定义,虽然从字面上各不相同,但是有如下共性: 都认为体系结构是系统的抽象描述;都认为体系结构应该由构件或元素组成,他 们各自实现一定的功能;都认为构件有明确定义的接口用于构件之间的交互;都 认为体系结构是软件设计中的高层设计:都认为体系结构是有关系统整体组织的 一些决策;对于由多个视图构成体系结构的定义,都认为不同的视图是针对系统 的不同参与人员的。 这些定义之间也存在一些差异。早期的软件体系结构定义没有考虑到各种视 图的概念,而后期的定义考虑到了这种需求,比如s o r u 、n o r d 和h o f m e i s t e r 的 定义包含了概念、模块互连、执行和代码四种视图,k r u c h t e n 的定义包含了逻辑 ( 设计) 、进程、物理( 部署) 、开发( 构件) 和场景( 用例) 五种视图,而b a s s 、 c l e m e n t s 和k a z m a n 的定义仅指明了多个体系结构的存在,并没有具体给出是哪 些。虽然定义的视图名称略有不同,但蕴涵的基本概念却相差不多,比较如下: s n h ( s o n i 、n o r d 和h o f m e i s t e r ) 的概念视图类似于k r u c h t e n 的逻辑( 设计) 视图,关心的都是系统的功能性需求,前者是用类和逻辑包来描述,后者用设计 元素( 构件和连接器) 描述:s n h 的模块视图类似于k r l l c h t e n 的丌发( 构 件) 视图,关心的都是系统的功能分解和模块组织,以及逻辑元素到实现元素的 映射,比如前者认为是类和逻辑包被映射到源代码构件和物理包,后者认为是构 件和连接器被映射到子系统和模块:s n h 的执行视图类似于k r u c h t e n 的物 理( 部署) 视图,关心的都是软件到硬件的映射,比如子系统到执行进程的映刺, 模块到运行实体的映射:s - - n - - h 的代码视图类似于k r u c h t e n 的进程视图,都 包含了可执行文件和源文件的依赖关系。 从上述软件体系结构的定义出发,总结对软件体系结构的理解如下:软件体 系结构是对系统的抽象描述,并且包含了许多在设计阶段用于降低技术风险的关 键决策,属于高层设计。它通过构件及其相互关系来描述一个系统的组织结构, 北京邮电大学硕士学位论文第6 页 新一代i u f 占运俅) 撑系统发】e 框梨议计 这些构件有明确定义的行为和接口。体系结构还应陔包含不同的视| 蹙】,川以满足 不同人员的关注焦点,在不同视图中,对于构件或者设计元素的定义有所不同。 因此当我们研究一个系统的软件体系结构时,首先要明确我们所关注的焦点,即 我们所关注的视图,这样才能确定我们最终需要得到哪些类型的软件体系结构 ( 即哪些视图) 。 2 1 2 设计模式 设计模式是面向对象软件的设计经验,是可重用的设计思想,用于解决软件 构造中反复出现的问题,并不局限于某一领域。模式( p a t t e r n ) 描述了我们身边 一再发生的问题,而且描述了解决该问题的关键,从而使你无数地使用这个解而 不必再次去解他1 4 j 。模式是对具体形式的抽象,而且在特定环境中不断重复出现, 可以使我们在解决问题时,不必一切从零开始,而是反复使用过去的经验。模式 捕获了经过验证的经验和好的实践。另外要注意,模式是有关于解的基本原理, 并不是具体的解,具体的解是模式的实例。模式有很多种类型,比如代码模式 ( c o d e p a t t e r n ) 、设计模式( d e s i g np a t t e r n ) 和系统模式体系结构模式等。 2 1 3 软件框架 软件危机的出现,使人们意识到软件复用的重要。可复用软件是指在软件开 发过程中使用和产生的任何可复用的软件产品、成分和知识【5 】。六十年代,可复 用的软件是过程和函数,六十年代末s i m u l a 6 7 语言引入了对象、类和继承等概念, 产生了以类为单元的可复用资源,可复用类提供了可复用的、通用的功能,如列 表类和堆栈类。然而类是一个小粒度的可复用资源,单独的类难以提供完整的行 为,它经常需要与其他类相结合才能提供有用的功能,其作用主要是代码的复用。 人们逐渐认识到设计的复用更为重要,这是因为设计复用受实现环境的影响较 少,从而被复用的机会更多,所需的修改更少。 为了达到设计和实现的复用,支持领域应用系统的开发,人们提出了面向对 象框架( o b j e c t o r i e n t e df r a m e w o r k ) 陋。】的概念,框架由一组相互协作的抽象类和 具体类组成,用来表达特定领域中若干相似的应用系统所具有的功能和基本结 构,是针对应用系统或子系统的大粒度的可复用软件成分。 框架最早起源于s m a l l t a l k 环境,其中最著名的是s a m a l l t a l k 8 0 用户界面框架 m v c ( m o d l e v i e w c o n t r o l e r ) 。随着软件业的发展,框架研究越来越受到重视, 被成功地应用到其他领域中。目前,框架的研究主要集中在框架的开发、演变和 文档建立等方面,而且取得了很大进展。 北京邮电大学硕士学位论文 第7 负 新一代电信运营支撑系统及其框架设计 2 1 3 1 框架的概念 面向对象的框架是由设计和代码组成的可复用软件成分,但是,框架是什么, 由什么具体的成分组成,还缺乏普遍认可的定义。目前常被引用的框架定义是由 j o h n s o n 给出的:框架是一组具体表达了抽象设计的类,用于解决一族相关的问 题【8 1 。具体来说,一个框架由一组协作类组成,阐明了整个设计、类间依赖及成 员类的责任分布。这些类通常是抽象类,实现细节放在具体予类中,构成一个抽 象设计,不同的子类构成对设计的不同实现。特定领域应用系统共有的设计因素 由框架预先定义,应用开发人员只须关注于特定应用系统的特有部分。框架刻画 了其应用领域所共有的设计决策,着重于设计复用。 框架作为一种可复用的软件成分,在基于框架的软件开发过程中会涉及到框 架的开发和利用两个方面的工作。框架的开发阶段产生领域中可复用的设计与实 现,该阶段的重要活动是框架的演变和维护。同所有软件一样,框架也易于变化, 产生变化的原因很多,如应用出错,业务领域变化等。框架复用阶段通过复用框 架得到特定的应用系统,在应用系统开发过程中,应用系统开发者必须识别哪些 系统功能是在框架中已实现的,哪些功能需要添加新的类以满足实际的应用系统 需求。框架用来解决应用系统整体结构的设计问题,而设计模式是针对框架中某 一个具体问题给出的解决方案,为框架提供了设计知识,因此,在框架中通常包 含多个设计模式。 2 1 3 4 框架的特点 框架是一种可复用的软件成分。通常,框架可以看成是应用系统的部分实现, 它为一类相似的应用系统提供了共有结构的设计和实现,同时,框架的扩展机制 使得它易于针对特定的应用系统进行扩展。具体地说,框架有以下主要特性”: 抽象性:框架抽象了特定领域中一组相似的应用系统( 或子系统) 设计与实 现的共有部分,并给出了这些部分的设计和实现。 可适配性:可适配性是指框架自身的可扩展性。例如,我们可以从与框架相 关的构件类中挑选一些类进行组装,或者从抽象类导出新的子类。 迭代性:为了提高框架的可复用性,框架应该充分刻画特定领域中应用系统 的共性,识别其特性。因此,成熟的框架需要经过多次反复地开发。 结构性:框架定义了特定领域中应用系统公共结构的设计和实现,在结构中 填入差异部分形成应用系统,因此一个好的框架具有明确清晰的层次结构, 北京龆也大学硕士学位论文 第8 页 新一代电信运许支撑系统及其框艇设计 以便于复用和扩展。 可复用性:框架是一种大粒度的可复用资源。 使用框架带来了如下好处:面向新应用所需开发的代码量大大减少;框架的 代码都是事先编写并编译完毕的,减少了新应用的编译、调试时问;提供了大粒 度的设计重用,而不止是代码重用;大大增强了应用的可维护性,框架中的一个 错误被纠正了,所有基于此框架的应用中的错误也随之解决。 2 1 3 4 框架的分类 框架可以分为两类:白盒框架( w h i t e b o xf r a m e w o r k ) 和黑盒框架( b l a c k ,b o x f r a m e w o r k ) i l o 。白盒框架又称为基于继承的框架,因为复用白盒框架时,复用 者是通过对框架中的抽象类进行特殊化的方式来定制框架行为的。复用者首先对 白盒框架进行具体化,即为每一个抽象类派生一个予类,并在子类中给定所有纯 虚方法的具体实现,然后就复用这些具体的予类来开发特定应用系统。白盒框架 由于提供了框架中类的实现细节,这使得开发人员能够对它进行各种修改,提高 了它的可复用范围;同时这也成为它的缺点之一,复用者必须了解白盒框架的许 多实现细节,才能正确有效地使用它。与自盒框架相对的是黑盒框架,黑盒框架 描述了该系统所包含的类、这些类需要符合的规约以及这些类之间的互联关系。 框架使用者通过定义类或构件的接口参数得到类或构件的不同组装,从而达到修 改黑盒框架的目的。与白盒框架相比较,软件开发人员在复用这种框架时只需知 道其外部接口,而不需要了解框架内部的实现细节。但是黑盒框架提供的应变机 制较弱,适应能力差,而且复用范围有限。 在框架的演变过程中,开始的时候常常是基于继承的白盒框架。原因是此时 框架开发人员对应用领域还没有充分的了解,无法将行为参数化。随着领域需求 的逐步稳定,框架将逐渐向参数化的方向演变,即向基于组装,继承和组装各有 优缺点。白盒框架利用继承可以导出新的子类,通过编程创建新豹功能:但是继 承是一种静态的关系,导致类之问的“硬连接”,难以在运行时改变。组装可以 在运行时改变,但是不能产生新的功能,所以基于组装的黑盒框架要求框架丌发 人员预先知道什么将会改变。 2 1 3 5 框架和软件体系结构、设计模式的区别 框架和类库的区别 框架是一组可重用的类,类库也是一组可重用的类,但他们之间是有区别的。 北京邮电大学硕士学位论文 第9 负 新一代电f 日运黄支捧系统及j 框架设计 区别在于应用范围、重用程度、对系统体系结构的影响以及控制流。类i l l ;r j 的类通常与特定的应j j 领域无关,而框架则足应用于特定领域的;类库巾类 的重用一般是单独的使用,而框架则是所有的类一起被重用:框架对整个系 统的体系结构的影响要大于类库的影响;此外,使用类库是由程序员编写应 用程序的控制部分,可以直接使用或继承,而使用框架时,应用程序的控制 部分已经由框架提供,程序员需要做的是提供被框架所调用的抽象类的其体 实现。 框架和体系结构的区别 软件体系结构是高层设计,其设计成果是反映系统的多个视图模型。而框架 已经实现为代码;在进行框架设计时首先进行领域体系结构设计,框架的开 发受此领域体系结构的制约和指导;框架规定了特定应用的软件体系结构。 框架和设计模式的区别 设计模式和框架虽然都有助于我们对系统体系结构模型的设计,都是对已有 经验的重用,但是他们之间是有区别的:设计模式比框架更抽象,框架能够 用代码表示,而设计模式代表的是一种设计思想,只有其实例才能表示为代 码;其次设计模式是比框架小的体系结构元素,框架的设计必须要尽可能的 灵活、可扩展,而设计模式有助于增强软件的灵活性,一个成熟的框架往往 使用了多个设计模式,而反之绝非如此;再次框架比设计模式更加特例化。 框架总是针对特定问题域的,而设计模式粒度较小,所以是通用的,不局限 于具体应用领域。将框架和设计模式的区别总结如下表 设计模式框架 使埘方式通过实例化,得到具体实现已给出部分实现,其他部分通过特 殊化替代得到 抽象程度抽象程度高,是关于设计的知识,抽象程度低,本身就是设计,框架本 描述如何获得一个设计,设计模身山现在实现中 式的实例山现在实现中 臼身规模规模小,是某儿个类的组台结构规模火是摧个应用所有参与类的 组合结构,因此个典型的框架包 括若干个设计模式, 北京邮电大学碗士学位论文第1 0 负 新一代电信运转支捧系统及j 榧絮设汁 应_ i j 规模规模小,解决局部问题规模人,解认雅个软什戊川系统或 部分软什庶用系统的问题 应用范围 与特定应州领域无关与特定应_ l i 领域相关 表22 :设计模式和框架的区别 2 1 3 6 基于框架的开发过程 基于框架的开发过程与传统的面向对象的应用开发过程不同。如下图所示: 幽2 2 :基于框架的开发过程 领域分析试图捕捉整个问题域中现有以及将来可能碰到的需求,找到问题域 中稳定部分和易变部分,得到领域模型。领域分析的知识来源于该领域以前的经 验、领域专家和现存的标准;框架设计过程中通过抽象确定框架中稳定和易变部 分,开发领域体系结构和符合领域体系结构的可重用构件;通过在框架中加入新 的类、实现框架抽象类的子类或重写框架类中的方法,完成特定应用的开发 2 1 4 构件 上世纪9 0 年代软件,1 :发技术的一个重要进展就是构件化。由于现在的系统 规模越来越大。一个系统要完成的功能越来越多,市场需求变化也越来越迅速, 因此软件构件技术就更加具有非同寻常的意义。 2 1 4 1 构件的概念 构件这一名词在前面的论述中曾多次被提及,但是对于它的含义,在不同的 北京邮l 乜大学颂士学位论文 第l i 负 新一代电信运营立捧系统及其框架设计 地方却有不同的解释,在这里作者就构件的概念进行总结。 在统一建模语言u m l 中,构件被定义为有标识和明确定义接口的可执行软 件模块j 。构件提供了对功能片段的封装机制,通过这种封装,使得构件成为被 访问和丌发的单元。构件是面向服务的,他们通过“服务”形式的接口向外提供 功能,比单独的对象或一组单独的对象所提供的服务更完整。构件有以下一些特 点:构件是一个可重用的软件建造块( b u i l d i n gb l o c k ) ,封装了应用代码以提供 对象的逻辑分组;构件可以结合起来创建得到更大的构件;构件必须至少公布一 个接口,提供的服务只能通过公开的接口访问;构件提供了细粒度的对象难以提 供的封装。 r o bp o o l e y 和p e r d i t as t e v e n s 于1 9 9 9 年发表的文章中】给出的构件定义是 一个可重用并且可被替代的模块,该模块有明确定义的接口,是高度内聚的,与 系统中的其他部分低耦合的,并且是对可被很好理解的事物的抽象。 c o r b a 构件1 1 2 j 与u m l 构件有所差别,c o r b a 构件仅能通过c o r b ai d l 接口来提供和使用服务。c o r b a 构件通过实现c o r b a 对象来提供服务。一个 c o r b a 构件可以是一个库,一个单独的s e r v e r 可执行程序,或一组不同的s e r v e r 可执行程序。 c a r n e g i em e l l o n 大学软件工程学院的f e l i xb a c h m a n 等人在基于构件的软件 工程的技术报告【1 2 l 中认为构件融合了两个不同的观点,即构件既是实现,也是体 系结构抽象。因此他们给出了如下的定义,一个构件是功能上的非透明的实现, 用于第三方合成,与某个构件模型相一致,这一定义暗示了构件是黑盒实现,开 发与使用相独立,而且交互是标准的。从实现的观点来看,构件可被部署和装配 到更大的系统或子系统中:从体系结构抽象的观点来看,构件表达了应用于所有 构件标准合作模型的设计规则。 上述这些定义虽然各不相同,但是基本上反应了构件的一些特性:都没有强 调构件应该具有何种粒度,即构件可以是对象、模块、子系统、甚至是整个产品; 都强调构件是物理上的实现:都认为构件是可重用的,可被替代的;都强调了接 口的概念,构t 4 :的交互是通过明确定义的接e l 进行的。由此,构件是高内聚低耦 合的物理实现,是对相对独立的可被很好理解的功能的封装,是可重用和可被替 代的,并通过明确定义的接口与其他构件和环境交互,从而构成更大的构件、予 系统或系统,构件还应遵从一定的构件模型。 北京邮电大学硕士学位论文第1 2 页 新一代i b 信运营立撑系统放j e 框架设计 2 1 4 2 基于构件的开发方法 基于构件的开发l i 到( c o m p o n e n t b a s e dd e v e l o p m e n t ,c b d ) ,或者基于构件 的软件工程( c o m p o n e n t b a s e ds o f t w a r ee n g i n e e r i n g ,c b s e ) ,其核心思想就是 通过购买已有构件或开发特定构件并集成到特定的构件框架内得到需要的系统。 一般要有一个标准的构件模型,表明系统中构件类型、接口及构件之间的交互方 式;另外还应有一个构件框架,一方面保证上述构件模型的限制,一方面提供运 行时刻的各种系统服务。c b d 的目的是强调高层重用,如果做不到,则就不能 称之为c b d 。有很多种基于构件的开发方法,比如d e s m o n dd s o u z a 和a l a n c a m e r o nw i l l s 开发的c a t a l y s i s ,p a u la l l a n 和s t u r a tf r o s t 丌发的s e l e c t p e r s p e c t i v e 等。 研究构件和基于构件开发方法,一个重要的原因在于构件的可装配性和可替 代性对于研究和建设新一代电信运营支撑系统有着借鉴意义。首先,我们希望未 来的电信运营支撑系统是一个由多厂商共同开发的系统,而且对于新业务的引 入,能够在不影响现有系统运行的情况下,添加相应的构件即可支持业务运营: 其次,我们还希望系统的各部分构件可以在多个构件提供商之间任意挑选,从而 选取最具竞争力的产品,来替代正在使用的产品。基于构件的开发正好可以满足 这方面的需求。 2 2 工作流技术 工作流技术是计算机支持协同工作理论的一个重要分支,也是当前计算机应 用领域的一个研究热点。工作流管理系统是以业务过程的形式化表示为目标,将 实际的业务流程转换成形式化表示的过程,这一过程称为业务过程建模,即建立 工作流模型。工作流模型是对业务过程的抽象表示,对于电信领域庞杂的业务流 程的设计和开发有着非常重要的借鉴意义。同时,工作流技术支持业务功能和业 务过程的扩展,着眼于管理和引导系统运作的规则与过程,并把不同的业务系统 构件有机的结合在一起,在特定领域框架设计和开发过程中也得到了充分应用。 2 2 1 工作流概念 工作流系统不仅仅是处理过程,也不仅仅是把事务处理从个地方流向另一 个地方,而是着眼于管理和引导系统运作的规则与过程,并把不同的业务系统构 件有机的结合在一起1 。 一个单独的业务流程,其生命周期从几分钟到几天( 甚至是几个月) 不等, 北京邮f b 大学颈- j :学位论文笫1 3 负 新一代电信运营史撑系统及其框架设计 这主要是根据其复杂度以及每个成员活动的延续时间k 短来决定。同时每个业 务流程的实现方式也大不相同,有的流程是在一个工作纽范围内实现的,有的流 程却需要在整个企业范围内来实现。尽管存在着这种多样性,在最高层来看,工 作流管理系统由三大功能模块构成,如下图所示: 流程设计与定义 创建时阐 运行时问 流程实例化及控村 与用户,应用程序 , g z l t i 具的交互 | 工作流定义 过程改变 图2 3 :从撮高层次看工作流管理系统的构成 工作流定义阶段通过使用一种或多种系统分析、建模和定义工具( 如统一建 模语言u m l ) ,把一个现实世界的业务流程转化为一个形式化的,计算机可以处 理的流程模型或者叫流程模板( t e m p l a t e ) :在运行阶段流程控制功能相当于现 实世界与模型世界的桥梁,它解释已定义完的模型,根据模型来调度流程中不同 的子任务( s u b 协k ) 并且激活相应的人或应用程序,流程控制实际上由工作流 引擎( e n g i n e ) 来完成;如果要在不同的子任务之间传送控制信息以及其它的数 据,或者要激活一定的应用程序,还必须不断的与流程控制软件交互。 2 2 2 工作流管理系统的基本结构 工作流管理系统( w f m s ) 如下图所示: 北京邮i u 大学硕士学位论义 蔷 i f 一 暂 新一代l b 信运f i 支撑系统及其框架设计 图2 - 4 :工作流管理系统的一般结构模型 流程定义工具用来创建计算机处理的业务过程描述,它可以是形式化的过程 定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命 令,流程定义包含了所有使业务过程能被工作流执行的必要信息,包括起始和终 止条件、各个组成活动、活动调度规则、各业务的参与者需要做的工作、相关应 用次序和数据的调用信息等;工作流执行服务( w e s ) 和工作流引擎是工作流管 理系统的核心,功能包括解释过程定义、创建过程实例并控制其执行、调度各项 活动、为用户工作表添加工作项、通过应用程序接口( a p i ) 调用应用程序、提 供监督和管理功能等。工作流执行服务可以包括多个引擎,不同工作流引擎通过 协作共同执行工作流。 工作流控制数据指被工作流执行服务( w e s ) 和引擎管理的系统数据,例如 工作流实例的状态信息、每一活动的状态信息等;工作流相关数据指与业务过程 流相关的数据,工作流管理系统使用这些数据确定工作流实例的状态转移,例如 过程调度决策数据、活动间的传输数据等;工作表列出了与业务过程的参与者相 关的一系列工作项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论