(计算机软件与理论专业论文)设计模式的研究及其在软交换软件系统中的应用.pdf_第1页
(计算机软件与理论专业论文)设计模式的研究及其在软交换软件系统中的应用.pdf_第2页
(计算机软件与理论专业论文)设计模式的研究及其在软交换软件系统中的应用.pdf_第3页
(计算机软件与理论专业论文)设计模式的研究及其在软交换软件系统中的应用.pdf_第4页
(计算机软件与理论专业论文)设计模式的研究及其在软交换软件系统中的应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

设计模式的研究及其在软交换软件系统中的应用 摘要 作为下一代网络的控制功能模块,软交换为具有实时性要求的业 务提供呼叫控制和连接控制功能。软交换的主要思想是使控制、业务 和传输彻底分离,为控制、交换和软件可编程建立分离的平面,使业 务提供者可以自由地将传输业务与控制协议结合起来,实现业务转 移。 软交换的软件功能组成,可以比拟传统程控交换机“呼叫控制” 功能模块,继承并实现媒体网关接入功能、呼叫控制功能、业务提供 功能、互连互通功能、网管与计费功能。软交换软件系统既要体现大 型、高可靠性、高可用性的通信软件的特点,同时又要满足电信运营 商方便配置、灵活伸缩、快速提供业务的需求,软交换软件系统必须 在软件设计、编码方面做到以尽可能低的成本提供易于阅读、易于理 解、易于维护、易于复用的设计思路和实现代码。 另一方面,软件业众多精英总结了无数具体实践经验提出了设计 过程中的一种指导思想设计模式。设计模式提升了人们进行面向 对象软件设计的抽象层次,为在更高的层次更大规模地重用提供了可 能,从而大大减少了设计的复杂度,同时也提高了软件设计的质量。 从9 0 年代中期以来,设计模式已成为软件工程研究领域的一大热点。 本文从软交换软件系统的特点出发,分析软交换软件系统功能与 性能,以及北京邮电大学交换技术与通信网国家重点实验室所承担的 国家8 6 3 重大项目“支持多媒体和移动业务的软交换系统”的系 统结构的描述;讨论了软件框架、软件模式、模式语言、统一建模语 言等与设计模式相关的技术,对设计模式与框架进行了比较;指出软 交换软件系统对设计模式的需求,在寻找合适的对象、指定对象接口、 运用复用机制、支持设计变化方面软交换软件设计与设计模式都可以 很好地结合。 本文在较为详细地介绍设计模式的基础上,总结出应用在软交换 软件系统中的1 6 种设计模式( a b s t r a c tf a c t o r y 、a d a p t e r 、b r i d g e 、 b u i l d e r 、c h a i no f r e s p o n s i b i l i t y 、f a c a d e 、i n t e r p r e t e r 、i t e r a t o r 、 m e d i a t o r 、m e m e n t o 、o b s e r v e r 、p r o x y ,s i n g l e t o n 、s t a t e 、s t r a t e g y 、 t e m p l a t em e t h o d ) ,分别给出每种模式使用的满足的适用性、动机、 应用、效果、协作、相关模式,并绘出具体类图。清晰描述各模式之 间的相互关系。跟踪国内外对设计模式的描述方式、新模式的探索、 模式间的连接,设计模式在软交换中的应用等方面的进展。 本项研究的意义在于将设计模式与软交换这两种新思想与新技 术结合起来,使之各取所需、各显所长。通过在实际项目中的应用, 充分证明设计模式的使用有效地提高了软交换软件系统的可扩展性、 可维护性和可复用性。 关键词设计模式软交换下一代网络软件系统 t h er e s e a r c ha n da p p l i c a t i o n o 薹id 嚣s l g n 魏钥 t 嚣鬏n i ns o f t s w i t c hs o f t w a r es y s t e m a b s t r a c t a st h ec o n t r o l1 2 1 0 d u l eo f n e x t g e n e r a t i o nn e t w o r k ,s o f t s w i t c h p r o v i d e s t h ec a l la n dc o r m e c t i o nc o n t r o lf o r r e a l t i m e - r e q u e s t i n g s e r v i c e s s e p a r a t i n gc o n t r o l ,s e r v i c e sa n dt r a n s p o r t a t i o ne n t i r e l y i st h em a i ni d e ao f s o f t s w i t c h ,t h u sr e s p e c t i v ep l a n e sf o rc o n t r o l ,s w i t c h i n ga n ds o f t w a r e p r o g r a m m i n g a r eb u i l tu p ,a n ds e r v i c ep r o v i d e rw i l lc o m b i n e sf r e e l y t r a n s p o r t a t i o ns e r v i c e sa n d c o n t r o lp r o t o c o l st oa c h i e v es e r v i c ed i v e r s i o n , s o f t w a r e c o m p o n e n t i ns o f l s w i t c hc a l lb e t h o u g h t o f a st h e “c a l l c o n t r o l ”f i m c t i o nm o d u l ei nt r a d i t i o n a ls w i t c h ,a n di ts u c c e e d st oa n d r e a l i z e sm e d i a - g a t e w a ya c c e s s ,c a l lc o n t r o l ,s e r v i c ep r o v i d i n g , i n t e r c o n n e c t i o n ,n e t w o r km a n a g e m e n t a n d c h a r g i n g f i m c t i o n 。s o f f s w i t c h s o f t w a r en o t o n l ye m b o d i e s t h el a r g e s c a l e ,r e l i a b l e ,a v a i l a b l et r a i t so f c o m m u n i c a t i o ns o f t w a r es y s t e m ,b u ta l s oi no r d e rt os a t i s 母e a s y c o n f i g u r a t i o n ,f l e x i b l ee x t e n s i o na n dq u i c k s e r v i c ep r o v i d i n g ,w h i c h d e m a n d e d b y t e l e c o m m u n i c a t i o no p e r a t o r , s o f t s w i t c hs o f t w a r es y s t e m m u s t p r o v i d ee a s yr e a d i n g ,e a s yu n d e r s t a n d i n g ,e a s ym a i n t a i n i n g ,e a s y r e u s i n gd e s i g n a n dc o d eu n d e ra sl o wa s p o s s i b l e c o s ti ns o f t w a r e d e s i g n i n g a n d c o d i n g 。 o nt h eo t h e r h a n d ,m a n y e l i t i s t so f s o f t w a r e i n d u s t r y s u m m a r i z e d t h e i r p r a c t i c ee x p e r i e n c e s a n d p r o p o s e d a g u i d e l i n e d e s i g np a t t e r n d e s i g np a t t e r nu p g r a d e st h ea b s t r a c tl a y e r i no b j e c t - o r i e n t e ds o f t w a r e d e s i g n i n g ,a n d m a k e r e u s i n g o n h i g h e rl a y e rw i t hl a r g e rs c a l ep o s s i b l e 。 t h e s ed e s i g n p a t t e r n sr e d u c el a r g e l yd e s i g nc o m p l e x i t y w h i l ei m p r o v e s o f t w a r ed e s i g n q u a l i t y , s i n c e1 9 9 0 s 。d e s i g np a t t e r n h a sb e c o m ea h o t s p o t i ns o f t w a r e e n g i n e e r i n g r e s e a r c hf i e l d 。 t h i st h e s i sb e g i n sw i t ht r a i t so fs o f t s w i t c hs o f t w a r es y s t e m ,a n a l y z i n g f u n c t i o n sa n d p e r f o r m a n c e a sw e l la st h es y s t e ms t r u c t u r eo ft h en a t i o n a l 8 6 3p r o g r a m m e s u p p o r t i n gm u l t i m e d i aa n dm o b i l es e r v i c e ss o f t s w i t c h s y s t e m ,t a k e no nb y s t a t ek e y l a b o r a t o r yo f s w i t c h t e c h n o l o g y a n d t e l e c o m m u n i c a t i o n n e t w o r k s b e i j i n gu n i v e r s i t yo f p o s t s & t e l e c o m m u n i c a t i o n s ( b u p t ) f i r s t l y i td i s c u s s e ss o f t w a r ef r a m e w o r k , s o f t w a r em o d u l e ,m o d u l e l a n g u a g e ,u n i f i e dm o d e l i n gl a n g u a g e ( u m l ) a n ds oo n t e c h n o l o g i e sc o n c e r n i n gd e s i g np a t t e r n ;s e c o n d l yc o m p a r e s d e s i g np a t t e r na n df r a m e w o r k ;t h e np o i n t so u tr e q u i r e m e n t ss o f t s w i t c h s o f t w a r et od e s i g n p a t t e r n i nt h ef a c e t so f p r o p e ro b j e c t si d e n t i f y i n g , o b j e c ti n t e r f a c e ss p e c i f y i n g ,r e u s i n gm e c h a n i s ma p p l y i n g ,d e s i g nc h a n g e s u p p o r t i n g ,e t c ,s o f t s w i t c hs o f t w a r ea n dd e s i g np a t t e r nc a nc o m b i n e c l o s e l y b a s i n g o nt h ei n t r o d u c t i o no f d e s i g np a t t e r n i nd e t a i l ,t h i st h e s i s p r o p o s e s16d e s i g np a t t e r n sc a n b e a p p l i e d t os o f t s w i t c hs o f t w a r e s y s t e m ( a b s t r a c tf a c t o r y 、a d a p t e r 、b r i d g e 、b u i l d e r 、c h a i n o f r e s p o n s i b i l i t y lf a c a d e 、i n t e r p r e t e r 、i t e r a t o r 、m e d i a t o r 、m e m e n t o , o b s e r v e r 、p r o x y 、s i n g l e t o n 、s t a t e 、s t r a t e g y 、t e m p l a t em e t h o d ) ,a n d l i s t i n gr e s p e c t i v e l ya p p l i c a b i l i t y ,m o t i v a t i o n ,a p p l i c a t i o n ,e f f e c t , c o o p e r a t i o n ,r e l a t i v ep a t t e r n s ,a n dg i v i n gm a t e r i a lc l a s sg r a p h l e g i b l e d e s c r i p t i o n o f t h er e l a t i o na n dc o n n e c t i o nb e t w e e nm o d u l e si sg i v e n a t l a s tt r a c k i n gi na n do u to f b o r d e r st h ee v o l v e m e n t so f d e s c r i b e m e t h o d s , n e w p a t t e r n s ,p a t t e r nc o n n e c t i o n sa n da p p l y i n g i ns o f l s w t i c hi sc o v e r e d t h e s i g n i f i c a n c eo f t h i sr e s e a r c hc o n s i s t si nc o m b i n i n gd e s i g n p a t t e r na n ds o f t s w i t c ht w o n e wi d e a sa n d t e c h n o l o g y t of u l l ye x e r te a c h s t r o n g p o i n ta n dh e l pe a c hg a i no w n n e e d s p r a c t i c a la p p l i c a t i o ni np r o j e c t a d e q u a t e l yd e m o n s t r a t e su s i n gd e s i g np a t t e r n se f f e c t i v e l yi m p r o v e s s o f l s w i t c hs o f t w a r es y s t e m se x t e n s i b i l i t y , m a i n t a i n a b i l i t ya n d r e u s a b i l i t y k e yw o r d s d e s i g n - p a t t e r n s o f l s w i t c h n e x t g e n e r a t i o ns o f t w a r e - s y s t e m 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下迸行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 互巨i 迦企日期:2 q q 4 生q 2 且2 9 目 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段傈存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 日期:2 q 丝生q 2 且2 9 目 日期:2 q 盟生丝县2 8 目 北京邮电大学硕士研究生学位论文 第一章软交换软件系统总体结构和设计分析 下一代网络( n c n ,n e x tg e n e r a t i o nn e t w o r k ) 是集话音、数据、传真和视 频业务于一体的全新的网络。作为下一代网络控制功能实体的软交换其核心思 想是硬件软件化,通过软件来实现原来交换机的控制、接续和业务处理等功能, 在下一代网络中更快地实现各类复杂的协议,更方便地提供业务。软交换的主 要竞争力在于软件系统,而这种软件系统绝非小型、简单、固定的成熟产品, 其庞大的软件规模、复杂的控制需求、极强的伸缩变化使得它在今后一段很长 的时间内作为诱人的新技术出现在通信界和软件设计者面前。 同时,众多的软件开发者经过长时间艰苦努力,将自己在设计灵活可复用 的软件中总结出来的解决方案用简洁易用的方式表达出来这就是“设计模 式”。它以一种非同寻常的方式思考面向对象设计,用深刻的洞察力帮助设计 者从千头万绪的复杂窘境中解脱出来,设计出模块化、易理解、可复用、便维 护的软件。 1 1 软交换软件系统功能与性能分析 软交换是下一代网络的控制功能实体,为下一代网络提供具有实时性要求 的业务的呼叫控制和连接控制功能,是下一代网络呼叫与控制的核心。简单地 看,软交换是实现传统程控交换的“呼叫控制”功能的实体,但传统的“呼叫 控制”功能是和业务结合在一起的,不同的业务所需要的呼叫控制功能不同, 这就要求软交换提供的呼叫控制功能是各种业务的基本呼叫控制。 在我国“软交换设备总体技术要求”中规定软交换是电路交换向分组网演 进的核心设备,也是下一代电信网络的重要设备之一,它独立于底层承载协议, 主要完成呼叫控制、媒体网关接入控制、资源分配、协议处理、路由、认证、 计费等主要功能,并可以向用户提供现有电路交换机所能提供的业务以及多样 化的第三方业务。 1 1 1 软交换软件系统功能要求 软交换软件系统需要为多种形式的业务提供有效的运行、开发和管理的支 设计模式的研究及其在软交换软件系统中的应用第1 页 憩寮郯奄大学鞣士麟究生学位论文 持,其主要功能应包括以下些方面: 独立瓣呼嘲控制功能 软交换呼朝控翻功能独立手底层承载协浚,完成藏举呼耐静建立、维持和 释放提供控制功能,包括呼叫处理、连接控制、智能呼叫触发检出和资源控制 等,可以说是熬个网络的灵媳。 接浚寒鑫效务交换臻簸豹釜瓷谤求,势对其中与簿镳稳关憨事耱遴行处理; 接收来自业务交换功能的呼h q 控制相关傣怠,支持呼叫的建立和簸视。 支持基本的两方呼叫控制功能和多方呼叫控制功能,提供对多方呼叫控制 豹功能,包援多方呼叫的特殊逻辑关系、磐列残员的麴入退出隔离旁砺 敷及混音过程的控割等。 能够识别媒体网关报告的用户摘机、拨号和挂机铸事件;控制媒体网关向 用户发送各种胬信号,如拨号音、振铃鬻、回铃音等;提供满足运鹭商需求的 羧鸶诗翊。 实现多种舜构网络间的凭缝融合。这就要求软交换不仅要支持多种不同的 网络协议,而艇还需提取不同网络中呼叫控制的通用特征,在异构的网络资源 鼷上叠热一个邋瘸静殍g q 控裁模型,实瑰对跨网呼暇的统一处理。 控青媒体黼关发送i v r ,以完成诸如二次拨号等多种韭务。 软交换可以同时直接与h 2 4 8 终端、m g c p 终端、h 3 2 3 终端和s i p 客户 端终端进行连接,提供相成渡务。 当较交换缎子p s t n i s d n 本逡瓣瓣,应其寿零蟪电话交换设蕊匏簿碉处 璐功能。 獭软交换位于p s t n i g d n 长途网时,应赋有长途电话交换设备的呼叫处理功能。 冷承载控裁功毙 在融合网络中,特鄹是l p 分组网中,信令链路藕承载链路的建立是分离酶 和分别可控的,因此,软交换还必须能够对承载链路的建立进行控制和监视, 以保证多媒体渡务和特定业务对承载链路服务质量( o o s ) 的要求。 令媒体接入葫戆 此项功能研以认为是一种适配功能,它可以蟪接各种媒体网关,如 p s t n i s d n i p 中继媒体网关、a t m 媒体湖关、用户媒体网关、无线媒体网关、 数攥攥薅弼关簿,完成h 。2 4 8 游议功我。弱薅还霹瑷纛袋与h 。3 2 3 终臻翻s i p 客户端终端送行连接,提供糟应业务。戮此软交换应支持h 2 4 8 、h 3 2 3 、s i p 、 s c t p 、m 3 u a 、m 2 p a 、v 5 u a 、i u a 等镎。 呤业务提供功能 由 二软交捩在溺络觚惫爨交换囱分鳃瓣演逶静过程孛超藿卡分鲎要豹传 第2 页 设计模式的研兜及其在软交换戟件系统中的应用 麓誊辩毫夫学矮圭辫究生学位论文 用,因此软交换应能够提供p s t n i s d n 交换机提供的业务,包括綦本业务和补 充业务,同时述应该可以与现有的智能网聚合提供现蠢智能潮提供的业务。 夺互联互逶劝戆 软交换应w 以通过信令网关实现分组网与现有七号信令网的互通。 可以通过信令网关与现肖智能网互通,为用户提供多种智能业务;允许s c f 控麓均翟殍l 基瓣浮l 目绩爨送行操薅( 燕;号羁显示麓) 。 可以通过软交换中的互邋模块,采用 壬3 2 3 协议实现与现有h 3 2 3 体系 的i p 电话网的置通。 可以通过软交换中的互滋模块,采用s i p 协议实现与未来s i p 湖络体系的 藏逶。 可与其他软交换设备互通苴连,它们之间的协议可以采用s i p 戡b i c c 。 提供i p 网内h 2 4 8 终端、s i p 终端和m g c p 终端之间的互通。 夺稻守功麓 即接入认诚与受权、地址解析和带宽管理。 软交换应能够与认证中心连接,并w 以将所管辖区域内的用户、媒体网关 偿息送往认 芷巾心避萼亍认迸冬授权,以防止j # 法用户设备的接入。 软交换应霹戳完成e 。1 6 4 地址至礤溉缱、剐名逢皱至i p 邃垃酌转换功熊, 同时也可完成爨定向的功能。 夺操作维护功能 主要包瑟照务绞诗震套繁等 审计费功能 软交换应凝有采集详细话单及复式计次功能,并能够按照运营商的需求将 落单健送到褪戍的计费孛心。 当使雳记襁卡等业务时,较交换应爨铸实时断线的动能。 审语音处理功能 软交换应砑以控制媒体网关是否采用语音压缩,辩提供可以选择的语音压 缭算法,算法疲至少毽瑟g 7 2 9 、g 。7 2 3 等。 软交换应可以控制媒体网关是否采用阐声抵消技术。 软交换应w 以向媒体网荚提供语音包缓存区的大小,以减少抖动对语音质 爨繁来豹影响。 图卜1 为软交换的功髓缩构圈。 设计模式的研究及其在软交换软件系统中的应用 第3 页 北京邮电大学硕士研究生学位论文 n o7 网络 l 业务创作a p i s a 从服务器ll应用服务器i 网管服务器 r a d i u sp a r l a ya p ils n m p 软 交 换 设 备 图i 一1 软交换功能结构示意图 里弋、筻,) l 固 - s i p b i c c 同 叫盏卜圆 1 1 2 软交换软件系统性能要求 夺灵活的可扩展性( e x t e n s i b i l i t y ) 夺强大的分布性( d i s t r i b u t i o n ) 夺良好的可伸缩性( s c a l a b i l i t y ) 取决于原始计算机动力( m m s ) 的可用性,软交换开放的终端伸缩性使得 它们能够支持数百个本地用户或数百万的全球用户。 夺超强的可靠性和鲁棒性( r o b u s t n e s sa n dr e l i a b i l i t y ) 夺良好的可管理和维护性( m a n a g e a b i l i t y a n dm a i n t a i n a b i l i t y ) 夺电信级的性能( p e r f o r m a n c e ) 夺高可用性和高效的容错处理能力( h i g h a v a i l a b i l i t ya n d f a u l t t o l e r a n c e ) 由于采用的是分布式结构,软交换可以在复杂的系统中对任何类型的系统 故障进行软硬件旁路,是完全容错结构。 本软交换软件系统通过以下机制达到上述要求: 软件的设计与实现采用先进的面向对象( 0 0 ) 技术,包括面向对象分析 ( o o a ) 、面向对象设计( o o d ) 和面向对象编程( o o p ) 技术,从而使系统 具有结构清晰、易于移植、容易扩充、维护方便等特点; 第4 页 设计模式的研究及其在软交换软件系统中的应用 蓄垦 甫嵩高尚插 北京邮电大学硕士研究生学位论文 全消息驱动机制,处理简单、高效: 采用多进程并发设计,可充分发挥系统效能,以满足电信级要求; 软件具有分层的、清晰的模块化结构,任何一层的任何一个模块的维护与 更新以及新模块的追加都不影响其它模块; 新的模块可以动态加入,以满足灵活的可扩展性要求;也可以进行裁减, 从而获得良好的可伸缩性:各模块可以配置于不同处理机上,从而获得强大的 分布性; 支持版本动态升级; 支持负载均衡,提升系统整体处理能力; 容错和备份机制。 1 2 软交换软件系统结构 软交换核心控制系统的设计应遵守开放系统互连( o s d 的基本参考模型 ( b r m ) 。o s ib r m 采用层次化方式组织软件系统的体系结构。在b r m 中, 每一层都向层次结构中位于其上的更高层提供一组服务,并使用位于其下的更 低层提供的一组服务,换句话说,对更高层次而言它是服务提供者,对更低层 次而言是它是服务用户。层与层之间的交互通过服务接口进行,服务接口定义 了服务提供者和服务用户之间的交互。在o s i 模型中,抽象业务接入点( s a p ) 是层与层之间在服务接口上交换信息的一种抽象机制,服务用户在s a p 接入服 务提供者。图卜2 为软交换软件系统结构图。 图1 2 软交换系统结构图 设计模式的研究及其在软交换软件系统中的应用 第5 页 北京邮电大学硕士研究生学位论文 夺在纵向上,软交换核心主要分必三个层次:s e r v i c e a c c e s sa n dc o n t r o ll a y e r , 完戒渡务接口功熬;c o r e s e s s i o n c o n t r o l l a y e r ,完成逶薅烀翻控胡功麓; p r o t o c o lp r o c e s s i n gl a y e r ,完成底层协议处理功能。各层之间均通过明确的 接口完成信息交互。 夺在横羯上,毒o a m ( o p e r a t i o na d m i n i s t r a t i o nm a i n t e n a n c e ) 帮c o m m o n s y s t e ms e r v i c e s 。像们和软交换核心的三个层次均有接口。c o m m o ns y s t e m s e r v i c e s 提供所有公共服务,如进程间通信、队列、日志镣;o a m 完成操 作、镑理、维护功黪。 夺分豢模壅豢 歪了系统结掏渣錾、茹手移植、容易扩充。 呼叫控制层是软交换的核心功能模块,完成倍令处理、资源管理维护、媒体 控毒秘业务提供。 挤议处理层位于软交换软件系统的最下层,上接呼h q 控制滕,下接信令协议 栈产品,于巴各种不同的协议映射为一种统一的内部协议( 中间消息) ,向呼叫控 制层屏藏不同协议的麓别和不同协议棱的差别,傈涯呼叫处瑗腰的相对独立和 稳定。 业务接e l 层位于软交换的最上层,下接呼叫控制层,上接业务控制实体,如 a s ,s c p ,它向外部实现并提供多种业务接口,包括i n a p 、p a r l a y 和s i p ,向 箨嘲控翻瑟羼蔽不霹簸务接叠懿差潮。 公共服务层为其他功能模块提供通用的公共服务,如通信机制、定时器簿。 它提取各个功能模块都需要的公共功能,提供统一的实现,提筒软件的可维护 萑;戈整拿获交换较终瓣菠操俸系统、逶售瓿割等瘾层细节,爨褰较磐豹霹移 植性。 操作傺理维护层( o a m ) 提供软交换设备的操作、维护和箭理的手段,以 便 二鼹软交换设鍪逡掺鬻置、调试、效障攘除羁设戆谖整。它逡网络管瑾中心 提供网络管理接口,以便网络管理中可以扶全网的角度对软交换设备进行管理; 向计费中心提供呼叫的藻本数据,以便于计费中心对使用软交换的用户进彳予计 费。 第6 页 设计穰姣瓣研究及其在款交接软舞系统孛鳇废用 北京邮电太学硕士研究生学位论文 2 1 相美概念 第二耄设计模式麓余 本交昧翥在学习帮撰写论文黪溪诿了武藏耩圭论文下一代阚终遂务撬露环 境及过载控制的研究的部分章节,其主要内容烂介绍将软件王程领域的软件 模式、统一建模语言、软件框架等技术引入n g n 业务层的核心察体应用服 务器鲍业务执行环境( s l e e ,s e r v i c el o g i ce x e c u t i o ne n v i r o n m e n t ) ,本文 作者谈为藏藏博士论文中提出的基予软件模式和禳架麓软俘开发方法雳予s l e e 的设计确实大大提高了软件开发的效率,提高了软件的可维护性,其理论思想 对于将设计模式引入软交换软件系统有很多可借搭之处。由于对其整理的岛设 诗搂式耱笑赘援念印象较深,蔻绘零文下瑟章节貔论述穰一镳蘩,褒弓| 雳势修 改如下: ( 1 ) 软件框架 软搏撵絮是壹解决蔟类阚鼹憨一缀捶象类的嶷会及其实例对象闻交互纷必 组成的可熏建设计和实现方案,是设计一个闯透领域的软件系统的骨架,冀对 象模型和代码是可重用的。与类库棚比,框架提供了整体结构上的重用,煎用 层次更高。这种层次上的重用体现了反向控制( i n v e r s i o no fc o n t r 0 1 ) 的特性: 当搜矮类薅牙发应瘸辩,嚣发者嚣黉缡写疲焉麓囊镩莠透过继承等方式重矮粪 的代码;丽当使用框架开发应用时,开发者重用樵架决定的成用主体结构,编 写由框架主体调用的代码,这些代码体现了应用本身的特定细节。框架是颟向 对象系绕获褥最大复翅的方式”。 软件稚架可以分为自盒框絮和黑盒框架两类。自盒獠架是基于继承 ( i n h e r i t a n c e b a s e d ) 的框架,其抽蘩类向应用开发者公开,开发者通过派擞新 的子类和覆盖成员方法等方妓设计应用。黑盒框絮是基于缎含 ( c o m p o s i t i o n - b a s e d ) 豹据禁,瘟蘑稽发者逶过缝念框架夔揆豹鞠传寒完藏寂瘸 的开发翎。 ( 2 ) 软件模式 软传攘式是将“模式”豹一般穰念翅子较饽秀发镁域,朝较 孛牙发懿憨钵 指导思路戏参照样板。软件模式并非仅限于“设计模式”,还肖“体系结构模 式”、“分析模式”、“过程模式”等,软件生存期的各个阶段都存在着被认 设诤模式瓣磷究及其在较交换软传系统孛鲍应粥祭7 委 北京邮电大学硕士研究生学位论文 同的模式。换言之,是不是软件模式取决于是否按照模式的基本构成方式来描 述,而与问题域和以软件生存期的哪一阶段为对象无关。1 。 ( 3 ) 设计模式 设计模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的 环境中,该形式不断地重复出现。虽然设计模式一般比框架更抽象,也不提供 具体的实现,但可将其应用于软件框架的设计。一个使用设计模式的框架比不 用设计模式的框架更可能获得高层次的设计复用和代码复用,成熟的软件框架 通常使用了多种设计模式。与设计模式相比,框架的优点则是复用程度更大, 而且提供了可直接使用和重用的代码。1 。 ( 4 ) 模式语言( p a t t e r nl a n g u a g e ) 模式语言定义了某一领域内的一套模式和规则,将它们结合成一种体系结 构方式。模式语言描述了软件的主要框架或相关系统。 ( 5 ) 统一建模语言( u m l ) u m l 是一种用于对软件密集型系统进行可视化、详述、构造和文档化的图 形建模语言,主要适用于分析与设计阶段的系统建模。它记录了对必须构造的 系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控 制。u m l 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域 以及各种开发工具,u m l 是一种总结了以往建模技术的经验并吸收当今优秀成 果的标准建模方法。u m l 包括概念的语义,表示法和说明,提供了静态、动态、 系统环境及组织结构的模型,并可进行扩展。 u m l 描述了一个系统的静态结构和动态行为。u m l 将系统描述为一些离 散的相互作用的对象并最终为外部用户提供一定的功能的模型结构。静态结构 定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态行 为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但 相互联系的角度对系统建立的模型可用于不同的目的。1 。 u m l 还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分 解成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发 环境中管理模型单元。它还包括用于显示系统实现和组织运行的组件。1 。 u m l 不是一种可用于定理证明的高度形式化的语言,这样的语言有很多种, 但它们通用性较差,不易理解和使用。1 。 本节最后,通过一个制造汽车的例子来说明这些概念之间的关系:如果把 软件开发比作制造汽车,那么软件框架则对应汽车的外钢框架,基于软件框架 的软件开发则就好比在汽车框架的基础上根据不同的车型需要进行配置、喷漆、 装饰后完成汽车的制造。设计模式就可比作在制造汽车及其框架的过程中使用 第8 页 设计模式的研究及其在软交换软件系统中的应用 j 索帮毫夫学裁士磺究生学茬论文 的设计图纸、外型图、悬架设计图等,遮些图纸反映了已往的制逊设计经验。 在制造汽车巾健翔的这些图纸相互影螭,共溺为汽攀的测造提供设计经验,其 箬瑗薅应予凑一缝程关攘式缀成翡赞对菜领域翡模式潺言。蠢绘案这些蘑羝嚣 嚣遵循一定的飙范和标准,例如说用什么样的符号表深发动机,什么样的符号 液示变速器等,这些规范和标准实际上用来对汽车进行建模,它们的作用对应 予惩于赣嵇系统建模鹣疆弛语言。 2 ,2 软件模式 模式( p a t t e r n ) 的概念最早由建筑大师c h r i s t o p h e ra l e x a n d e r 于二卡世 纪七十年代提出,应用于建筑领域,八十年代中甥由w a r dc u n n i n g h a m 和k e n t b e c k 薅其愚恕等l 入到软件横域,1 9 9 4 年开始盘h i l l s i d eg r o u p ( 出k e n tb e c k 等发起疆立) 释o o p s l a 袋含发超了黼琢p l o p ( 瀚t t e r nl a n g u a g eo f p r o g r a m m i n g ) 会议,如今模式( p a t t e r n ) 已成为软件工程领域内的一个热门 话题,其在计算机领域的影响超过了在建筑界的影响。 c h r i s t o p h e ra l e x a n d e r 蒋骥式努为三争熬努:蓠先燕鬻壤c o n t e x t ) , 指模式在何种状况下发生作甩;其二怒动机( s y s t e mo ff o r c e s ) ,意指问遂或 预期的脯标;蕻三是解决方襞( s o l u t i o n ) ,指平衡备动机或解决所阐述蜘题的 个鞫造载配瀑( c o n f i g u r a t i o n ) 。弦提整,摸式憝裘示璃囊、动橇、察凌方 察三个方西关系簸一个甄瓣,每个模式攒述了一个在禁种餍境下不黼重复发生 的问题,以及诚问题解决方察的核心所在,摸式即是个事物( t h i n g ) 又是一 个过程( p r o c e s s ) ,不仅攒述该事物本身,面且提出了通过怎样的越糅泉产生该 漆物。这一是义邑被较拜器广舞接受。 软件模式的应用对软件开发产生了藏大的作用,主要表现在: ( 1 ) 软件模式是人们在长期的设计软件、管理组织软件开发昝实践中大是 经耱瓣撵薅鄹抽象,是复璃软箨设诗方法、过程警毽经验鹣蠢力工具。模式类 似f 拳击书的缝合拳,它提供了一系蕊软件开发中豁思维套路。搬,通逮模式 的使用,有利予在复杂的系统中产生简浴、精巧的设计。 ( 2 ) 软件模式为我们捷供了一。套籀法通翅麴设计、管理、组织方蕊豹词汇, 弼辩模式遴梵我镪提莰了一个摇透攒蒙攀妨翁趣蒸瓠潦,霹丈太懿避较嚣开爱 过程中人与人之间的交流。黼软件开发巾的交流是至必重要的,“软件项目失败 的源因最终都可追溯到信息没有及时准确地传递到应谶接收它的人”。 麸藩蠢弼以霉凄,摸式蹙一个毒赛抽蒙魏蘸念。模式豹蒺述分驭下氮个帮 分: _ 敝计模式的研究及黧在较变换软件蒜坑中的应用 第9 隔 魏寰辩电丈学联= e 磷究生学燕逢文 ( 1 ) 模式名及分类 模式名称麓洁她描述了模式鳃本质,一个好静名字j # 喾重要。 ( 2 ) 秘越( p r o b l e m ) 簸意图 在特定的周境和动机下疆达到的目标。通常情况下这熙动机和睡标是相互 矛艚相互影响的。 ( 3 ) 瓣辘 问题及萁解决方案产生时的前提条件。闫境告诉我们该模式的通用性,可 以将周境视为废用该模式之前的系统初始配置。 ( 4 ) 动瓿 描述相关的动枫帮约柬,它们之闯袋与麓望的这瓣的鹜标之间髂相互彳乍用 ( 或冲突) ,通常需要对各期望的目标进行优先级排序。动机阐明了问题的复杂 性,定义了在棚互冲突时所聚取的各种权衡手段。一个好的模式应尽可能将所 有产生影响豹貔穰考露在凑。 ( 5 ) 解决方案 是一些静怨的关系和动态的规则,用以描述如何得到所需的结槊。通常是 缭趱一缌指令来落鹱魏秘构造颞翥豹工弦铡磊。该说骥可包括墼表、文字,j ;l j 以稼示模式静缡梅、参与嚣及其之闻的协作,从而表明闽题是魏俺解决酶。 ( 6 ) 示例 个或多个该模式的应用例子。示例说明了模式谯怎样的初始周境下,如 餐发生终臻,魏簿改变蠲壤蕊霉致蘩栗弼凌豹窭囊。示铡帮臻渎翥毽解模式静 凝体使用方法。 ( 7 ) 结粜周境( r e s u l t i n gc o n t e x t ) 掺在应鬟该模式爱系绞豹状态或配嚣,包括摸式发生俸矮嚣豢柬鲍嚣罢, 以及在新的搿蠛下产生的阏艨、可应用的模式等。它阐述了模式的麝续状态和 剐作用。通常邋过对结果周境的描述,使该模式与其它模式联系起沫( 该模式 的结果周境成为其它模式的初始周境) 。 ( 8 ) 基本源理( r a t i o n a l ) 对该模式中的解决步骤或采用的规则的解释、证明,解释该横式如何、为 何能解决当前润题,它采用的方法为何熊得到与期望棚致的结果。 ( 9 ) 摆美摸式 该模式与其它模式酶关系,包括静态的或动态的。如,该模式的前导模式 ( 前导模式应用后产生的结果周境与该模式的初始周蟪致) ,后续模式( 该模 式应用蓐产生的结果周境与艏续模式的初始周境一致) ,螫代模式( 使用该摸式 f 馨替代模式产生麓檬匏簸采) 等。 第l o 页 设计模式舶研戴爱其在软交换软件系统中的应用 兹京帮毫夫学鹾士麟究生学整埝文 ( 1 0 ) 融知应用 阐述浚模式往已有应用系统中的实踩应用情况,肖助于验证该模式的有效 瞧。 软件模式主要可分为:设计模式、分析模式、组织和过程模式等,每一类 又可细分为若干个子类。在此着重介绍设计模式,目| ;i f 占的使用最为r “泛。 2 3 设计模式 设诗模式( d e s i g np a t t e r n ) 铮砖瑟淀辩象系统孛羹笈出现静设诗麓蘧,提毽 一个通用的设计方案,并予以系统化的命名和动机解释。它描述了问题、解决 方案、在什么条件下使用该解决方案及其效果。它还给出了实现骚点和实例。 该解决方寨楚熬次该淫题豹组薅心安撄戆逶矮鹃类鞠砖蒙,再缀定涮窥实褒 被可用来解决特定上下文中的问题“1 。 模式的四个基本要素; 模式名称( p a t t e m h a m e ) 一个赣滚名,震一嚣个谣寒搐邃模式抟游题、解决方案帮效聚。基予一个 模式词汇表,我们自己以及1 同事之间就可以讨论模式并在编写文档时

温馨提示

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

评论

0/150

提交评论