




已阅读5页,还剩71页未读, 继续免费阅读
(计算机软件与理论专业论文)空管模拟训练软件产品线体系结构的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
删川人学硕i :学位论文 x 7 7 8 9 4 9 空管模拟训练软件产品线体系结构的研究 计算机软件与理论专业 研究生莫世锋指导教师何贤江 软件产品线是一种以体系结构为核心、全面系统地运用大粒度软件重用技 术对软件产品族进行工程化- 丌发的方法。由于软件产品线能够有效地提高软件 开发的质量和效率,缩短开发周期,降低总体成本,因此它非常适合专业软件 开发组织。目前软件产品线实践已取得了相当的成功,理论研究方面正处于 一个迅速发展的时期。 在特定领域内,丌发一个可被多个产品共享的体系结构,对实现大粒度软 件重用非常有效。产品线体系结构是产品线的骨架和核心资产,被产品线中所 有产品共享,是各个产品的体系结构的导出基础,重用也围绕着它展开。因此, 产品线体系结构对于产品线开发至关重要。 本文针对在结构上和功能上相似的空管模拟训练产品族,提出了对其运用 产品线方法进行开发的思路,通过对软件产品线体系结构及相关理论的研究, 着重进行了体系结构及其核心构件与框架的分析、设计和实现,并在此基础上 探讨了产品线具体产品开发的实践活动,探索出了一种面向特定领域、适合专 业软件开发组织、以体系结构为中心的大粒度软件重用开发方法。 本文主要由四个部分组成: 第一部分首先描述了软件产品线的发展,介绍了空管模拟训练系统及其开 发现状与背景,提出了应用产品线方法开发空管模拟训练软件产品族的思路。 第二部分概述了软件体系结构的发展,描述了运用u m l 进行软件体系结构 可视化建模的方法,介绍了体系结构风格和模式、面向特定领域的软件体系结 构这两种不同的体系结构重用机制;详细介绍了软件产品线及其体系结构,描 述了产品线体系结构的应用框架设计与实现的过程与方法。 第三部分描述了空管模拟训练产品线的产品范围、领域模型与系统特性; 描述了空管模拟训练产品线体系结构,系统的功能划分及体系结构风格、计算 服务器、训练席位及系统控制台、训练计划编辑等子系统的体系结构设计;描 述了二维矢量图形、基于命令机制和有限状态机的仿真计算、网络通信等u j 重 用的核心构件与框架的设计与实现方案。 第四部分介绍了运用产品线进行产品开发的过程模型和组织结构,描述了 应用空管模拟训练产品线体系结构进行塔台管制视景模拟机的丌发。 关键词:软件产品线产品线体系结构软仆体系结构软件重用 g t l ) 1 1 人学硕:l :学位论文 s t u d yo n p r o d u c t - l i n ea r c h i t e c t u r ef o ra t cs i m u l a t e d t r a i n i n gs y s t e m s m a j o r :c o m p u t e rs o f t w a r ea n dt h e o r y p o s t g r a d u a t e :m os h i f e n g t u t o r :h ex i a n j i a n g w i t ht h ea r c h i t e c t u r ea si t sc o r e ,s o f t w a r ep r o d u c tl i n ei sa ne n g i n e e r i n ga p p r o a c h o f s y s t e m a t i c a l l yu s i n gl a r g e - g r a i n s i z er e u s et e c h n o l o g yt od e v e l o ps o f t w a r e p r o d u c t so ft h es a m ef a m i l y s o f t w a r ep r o d u c tl i n e c a ni m p r o v et h eq u a l i t ya n d p r o d u c t i v i t yo fs o f t w a r e ,s h o r t e nt i m et om a r k e t ,r e d u c et h et o t a lc o s t ,s oi ti ss u i t a b l e f o rp r o f e s s i o n a ls o f t w a r ed e v e l o p m e n to r g a n i z a t i o n s a tp r e s e n t ,s o f t w a r ep r o d u c t l i n ep r a c t i c eh a sa l r e a d ya c h i e v e dag r e a ts u c c e s s ,a n dn o wi t st h e o r e t i c a lr e s e a r c hi s i na p e r i o do fr a p i dd e v e l o p m e n t i nas p e c i f i cd o m a i n ,t h ec o m m o ns o f t w a r ea r c h i t e c t u r ea c r o s sa l lm e m b e r so ft h e p r o d u c tf a m i l yi st h ek e yt og a i nl a r g e g r a i ns i z es o f t w a r er e u s e a st h es k e l e t o na n d k e ya s s e t ,p r o d u c t l i n ea r c h i t e c t u r ei st h ec o r eo fr e u s es h a r e da m o n g a l lp r o d u c t si n t h ep r o d u c tl i n e ,a n di ti st h ef o u n d a t i o no ft h es p e c i f i cp r o d u c ta r c h i t e c t u r ei n p r o d u c tl i n e t h e r e f o r e ,p r o d u c t - l i n ea r c h i t e c t u r e i st h eb a s eo fp r o d u c tl i n e d e v e l o p m e n t i nt h i sp a p e r , t h r o u g ht h es t u d yo ns o f t w a r ep r o d u c t l i n ea r c h i t e c t u r ea n di t s r e l e v a n tt h e o r i e s ,w ep r o p o s e dt h ep r o d u c tl i n ef o rt h es o f t w a r ep r o d u c t si na t c s i m u l a t e dt r a i n i n gd o m a i n e s p e c i a l l y , t h ea n a l y s i s ,d e s i g na n di m p l e m e n t a t i o no ft h e r e u s a b l ep r o d u c b l i n ea r c h i t e c t u r ea n ds o m ec o r ec o m p o n e n t sw e r ed e s c r i b e d t h e n t h ep r a c t i c eo fd e v e l o p i n gap r o d u c tb yr e u s i n gt h ek e ya s s e t so ft h ep r o d u c tl i n ew a s a l s oi n t r o d u c e d a sar e s u l t ,al a r g e - g r a i ns i z es o f t w a r er e u s em e t h o dw a se x p l o r e d , a n di tw a ss u i t a b l ef o rp r o f e s s i o n a ls o f t w a r ed e v e l o p m e n to r g a n i z a t i o n si nas p e c i f i c d o m a i nw i t ht h ea r c h i t e c t u r ea si t sc o r e t h i sp a p e rc o n s i s t so fm a i n l yt h ef o l l o w i n gf o u rs e c t i o n s : 玎i 叫川人学坝l j 学似沧义 i nt h ef i r s t s e c t i o n ,a c c o r d i n gt o t h e d e s c r i p t i o no fi t sd e v e l o p m e n t ,s o f t w a r e p r o d u c tl i n ei sp r o p o s e dt od e v e l o pt h ep r o d u c tf a m i l yo fa t cs i m u l a t e dt r a i n i n g b a s e do nt h ec u r r e n ts i t u a t i o na n db a c k g r o u n d i nt h es e c o n ds e c t i o n ,o nt h eb a s i so fi n t r o d u c t i o nt ot h es o f t w a r ea r c h i t e c t u r e , v i s u a l l ym o d e l i n g s o f t w a r ea r c h i t e c t u r ew i t hu m lw a sd i s c u s s e d ,w h i c hc a n i m p r o v et h eu n d e r s t a n d i n ga n du s a g eo ft h es o f t w a r ea r c h i t e c t u r e t h r o u g ht h es t u d y o na r c h i t e c t u r e b a s e dr e u s eo fd s s a ,s o f t w a r ep r o d u c ti i n ea n di t sa r c h i t e c t u r e ,t h e f r a m e w o r k b a s e da p p r o a c hw a sd i s c u s s e dt oc o n s t r u c tt h ep r o d u c t - l i n ea r c h i t e c t u r e i nt h et h i r ds e c t i o n ,t h ep r o d u c tl i n e s c o p e ,d o m a i nm o d e l sa n dc o m m o n c h a r a c t e r i s t i c so ft h ea t cs i m u l a t e dt r a i n i n gp r o d u c tf a m i l yw e r ed e s c r i b e dt h r o u g h t h ed o m a i na n a l y s i s o nt h eb a s i sa b o v e ,t h ed e s i g na n d i m p l e m e n t a t i o n o f p r o d u c t - l i n e a r c h i t e c t u r ew e r e d e s c r i b e d ,i n c l u d i n g t h ed i v i s i o no ff u n c t i o n s , a r c h i t e c t u r es t y l e ,s u b s y s t e m s a r c h i t e c t u r ea n ds o m ek e yr e u s a b l ec o m p o n e n t s i nt h ef o u r t hs e c t i o n ,t h ep r o d u c td e v e l o p m e n tp r a c t i c eo ft o w e rc o n t r o lv i s u a l s i m u l a t o rb a s e do np r o d u c t l i n ea r c h i t e c t u r ei sd e s c r i b e dw i t ht h ed i s c u s s i o no ft h e d e v e l o p m e n tm o d e la n do r g a n i z a t i o ns t r u c t u r e k e y w o r d s :s o f t w a r ep r o d u c tl i n e ,s o f t w a r ep r o d u c t l i n ea r c h i t e c t u r e s o f t w a r ea r c h i t e c t u r e ,s o f t w a r er e u s e i v 州川人学明 学位论文 1 引言 2 0 世纪7 0 年代的软件危机使得人们开始重视软件工程的研究。起初,人们 把软件设计的重点放在数据结构( d a t as t r u c t u r e ) 和算法( a l g o r i t h m ) i :, 但随着软件系统规模越来越大、越束越复杂,软件危机的程度f 1 益加剧。为了 解决而临的“软件危机”,软件,i :发者试图寻找一个将投资均摊到多个系统以降 低成本的方法,软件蘑用就是这样一个降低软件系统的平均成本的重要策略和 技术。运用软件重朋技术可以减少软件,r 发过程巾大量的重复性工作提商软 件j r 发效率,缩短丌发周期,降低软件行发和维护费用,生产更加标准化的软 件,改善软件质量。 对于一个软件丌发组织来说,它总是在丌发系列功能和结构相似的系统, 有足够的经济动力驱使它对已丌发的和将要丌发的软件系统进行规划、重组, 并尽量在这些系统中共用相同的软件资源。这种组织范围内的重用,将会带宋 明显的经济效益。随着软件工程、软件体系结构和软件重用技术的发展,出现 了更高层次的大粒度软件重用技术软件产品线“1 。 1 1 软件产品线的起源和发展 软件产品线的起源可以追溯到1 9 7 6 年p a r n a s 对程序族的研究,软件产品 线的实践早在2 0 世纪8 0 年代中期就出现了。最著名的例子是瑞士c 0 1 s i u s t e c h 公司的舰艇防御系统的开发。1 ,该公司从1 9 8 6 年开始使用软件产品线j r 发方法, 使得整个系统中软件和硬件在总成本中所占比例从使用软件产品线方法之前的 6 5 :3 5 下降到使用后的2 0 :8 0 ,系统开发时间从近9 年下降到不到3 年。根据h p 公司1 9 9 6 年对h p 、i b m 、n e c 、a t t 等几个大型公司分析研究,他们在采用了 软件产品线开发方法后,使产品的开发时问减少了1 5 2 倍,维护成本降低2 5 倍,软件质量提升5 1 0 倍,软件重用达5 0 - - 8 0 ,开发成本降低1 2 1 5 。 虽然软件工业界已经逐渐开始大量使用软件产品线开发方法,但是正式的 对软件产品线的理论研究到2 0 世纪9 0 年代中期才出现,并且早期的研究主要 以实例分析为主。到了9 0 年代后期,软件产品线的研究p , - 女t 成为软件工程领域 最热门的研究领域。得益于丰富的实践和软件工程、软件体系结构、软件重用 技术等坚实的理论基础,对软件产品线的研究发展十分迅速,软件产品线方法 旧川1 大学倾i 。学位论文 足软4 牛- 3 :程领域中软件体系结构和软件重用技术发展的结果。 现代软件系统丌发提出的集成性、综合性、用户协调、应变、规范和抽致 性等新需求,使丌发出的产品不再是功能、性能满足某个用户需求的产品,而 足适应性很强的产品族( p r o d u c tf a m i l y ) 。这正是以体系结构为中心的软件产 品线( s o f t w a r ep r o d u c tl i o e ) 丌发方法提出的背景。 软件产品线代表着跨产品的软件资源的策略重用,并且是有规划的和自顶 向下的重用,而不是在浚领域已被证明了不成功的偶然的和自底向上的重用。 基于软件产品线的软件重用,符合软件重用的发展趋势:从小粒度的重用( 代 码、对象重用) 到构件重用,发展到软件产品线的策略重用,大粒度的部件( 构 件、软仆体系结构、软件系统框架、过程和产- 口i 规划) 的重用,是目前为l 最 人程度的软件重用。因此,基于软件产品线的软件重用已逐渐占据了软件重用 的主要地位。 软件产品线是一个十分适合专业的软件,r 发组织的软件丌发方法,能有效 地提高软件生产效率和质量、缩短丌发周期、降低总体开发成本;它也是 个 新兴的、多学科交叉的研究领域,研究内容和范围都相当广泛。 1 2 空管模拟训练软件产品族 空管模拟训练系统( 空管模拟训练机) 是借助计算机技术、系统仿真技术、 电子和机械技术等逼真地再现空中交通管制的实际工作环境,利用模拟的方法 进行管制服务,以较低的成本换取良好的训练效果的一种计算机模拟仿真系统。 仿真理论和技术是空管模拟训练系统的理论和技术基础。空管模拟训练系统不 是一个单独软件系统,丽是一个软件产品族,目前主要由雷达管制模拟机、程 序管制模拟机和塔台管制模拟机三个软件产品组成。 近年来,伴随着航空运输业的迅猛发展,飞行流量和复杂性急剧增大,空 中交通管制的现代化进程和由国际民航组织规定的新航行体制的实施,对空中 交通管制人员的要求越来越高,对采用现代化手段训练空管人员提出了迫切的 要求”。但由于空中交通管制对航空安全的直接影响,对空中交通管制人员的各 种类型的实习、训练,除非特别必要,部必须尽可能地在模拟训练系统上进行。 空管模拟训练机对空中交通管制学员进行训练具有很多优越性“1 :它不会影响飞 行安全:可以人工设计各种管制情况,进行全面训练( 即模拟各种实践中不易 2 叫门1 人学坝l ? 学位论史 遇到的情况,如大流量训练,意外、紧急情况处理) ;同时它不受航班时刻的限 制,可以灵活方便地随时进行训练,从而提高训练的数量和质量,还使得别人 员的单对单培训方式转向大规模集中训练成为可能。 国外较早在就丌始了空管模拟训练系统系列产品的研制,并相继开发 n 了 一些产品。其中,主要有c e l ls 公司的f a t s d u r a b i ea v i a t i o n ,r a y t h e o n 公 司的f i r s t p lu s “t o w e rs i m u l a t o r ,c a e 公司的c a et r o p o s ”和c a em a x v u e “2 0 0 0 , n a s a 公司的s t i r f a c em a n a g e m e n ts y s t e md f mf u t u r ef 1i g h tc e n t e r ,a d a c e l 公司的e m b r y r i d d j ea e r o n a u t i e a l u n iv e r s i t y 以及c s ( c o m m u n i e a ti 0 i & s y s t e m ) 公司的s t a r l i f e p e r s o n a lt v a i n e r 。 我国曾在国际民航组织( i c a o ) 支持下山加拿人引进一套塔台视景模拟机, 但由于性能不稳定而没有投入实际使用。国内在很长一段时间内,都没有进行 具有自主产权的空管模拟训练系统的研制,而引进国外的产品成本又很高。嗣 时,国内航空业的迅速发展又迫切需要运用空管模拟训练系统加强空管人员的 培训,确保航空安全。 在这样的形势和背景下,在空中交通管制领域具有很强技术优势的川火智 胜软件公司在上世纪9 0 年代初期便投入了大量的资金和人力,迸行空管模拟训 练系统系列产品的丌发,先后成功研制出了程序管制模拟机、雷达管制模拟机 和塔台管制模拟机并已在国内推广应用。但随着航空业的迅速发展,为了更 好地适应新的航彳亍机制的要求,目前已外始进行新一代的空管模拟训练系列软 件产品的开发。 由于对于空管模拟训练领域有着多年的开发实践,有着非常丰富的领域和 技术知识,因此,对于新一代的空管模拟训练软件产品族的丌发,我们在过去 产品开发的经验和技术为基础上,从整个产品族的软件体系结构的高度出发, 通过应用软件产品线方法来实现大粒度的软件重用,从而提高软件生产率、可 靠性和质量,降低开发成本,缩短开发时间。 1 3 作者所做的工作 室管模拟训练系统是一种结构和行为复杂的仿真应用系统,开发这样的系 统存在着较大的难度。本文从软件重用的角度出发,以软件体系结构为中心, 对应用软件产品线方法进行空管模拟训练产品族的开发进行了研究和探讨,主 3 要内容包括: 1 ) 软件体系结构及其重用机制。从软件重用的角度出发,对软件体系结构 及其重用机制进行了研究,提出了运用框架技术设计与实现产品线软件体系结 构的方法与过程,在此基础上提出了应用产品线歼发空管模拟训练产品族的,j 法。 2 ) 空锊模拟洲练软件产品线体系结构设计与实现。设计出了各空管模拟训 练软件可共享的体系结构,对系统进行了功能划分并设计和确定了荇子系统的 体系结构;提出了“软总线+ 软构件”和“生产者一消费者”体系结构模式:设 计和实现了二维矢量图形、基于命令交互机制和有限状念机理论的仿真计算、 网络通信等可重用的核心构件和框架。 3 ) 空管模拟训练软件产品线的产品丌发实践。探讨了运用产品线进行产。i 歼发的过程模型和组织结构:针对机场塔台视景模拟机的具体应用需求,应刚 产品线体系结构对塔台管制视景模拟机进行了开发。 4 叫j i l 大学f m ! l 学位论义 2 软件体系结构及其重用机制 软件体系结构是设计抽象的进一步发展,满足了更好地理解软件系统,更 方便地丌发更大、更复杂的软件系统的需要。因此,软件体系结构的丌发在软 件密集的大型系统的开发过程中是至关重要的一个环节。同时,软件体系结构 也是实现大粒度软件重用的基础和核心其重用t j l $ i j 包括体系结构风格和模式、 面向特定领域的软件体系结构。 本章的主要目的是希望通过对软r | 二体系结构及其重用机制的研究和论述, 为软件,“品线体系结构的研究建立个一氍实的理论基础。 2 1 软件体系结构概述 软件体系结构的研究可以追溯到1 9 6 8 年djj k s t r a 在设计和实现个操作 系统时开始的对软件结构的研究:软件的分割和结构化,并首次提出了软件的 层次结构。2 0 世纪7 0 年代p a m a s 对模块的信息隐藏、软件结构和程序族( p r o g r a m f a m i l y ) 以及b o e h m 等人对元编程( m e t a p r o g r a m m i n g ) 的论述再次引发育天 软件体系结构的讨论,人们开始对软件这一复杂系统的结构的重要性以及正确 的软件结构带来的好处有了深刻的认淤。专门和广泛的研究软f ,f :体系结构是从 2 0 世纪9 0 年代丌始的,1 9 9 3 - - 1 9 9 5 年之间,c m u 的m a r ys h a w 与d a v i db a r l n n 、 贝尔实验室的p e r r y 、南加州大学的b o e h m 、斯坦福的d a v i dl u c k h a m 等人丌始 了进行软件体系结构的研究和学科建设”。”。 目前,软件体系结构领域研究非常活跃。针对软件体系结构发展趋势,有 人预测在未来的5 1 0 年内软件体系结构研究将围绕如下5 个方向展丌“”:体 系结构创建与选择、体系结构表示、体系结构分析、基于体系结构开发、体系 结构演化。而p e r r y 在i f i p 2 0 0 0 年世界计算机大会主题演讲中认为,最为重要 的3 个研究方向是:体系结构风格、体系结构连接件和动态体系结构。 2 1 1 软件体系结构定义 作为软件体系结构的基本组成元素,一般认为,构件是指语义完整、语法 弼确和可重用的单位软件,是软件重用过程中可以明确辨认的系统;结构上, 它是语义描述、通信接口和实现代码的复合体。简单地说,构件是具有定的 5 删川人学坝l j 学位论文 功能、能够独立工作或能同其他构件装配起来协调工作的程序体。从抽象程度 来看,面向对象技术已达到了类级重用( 代码重用) ,它以类为封装的单位。似 这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽 象的程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成 个或多个功能的特定服务,也为用,、提供了多个接口。整个构件隐藏了具体的 实现只用接口对外提供服务。 虽然软件体系结构已经在软件t 干q 领域巾有着广泛的应用,但迄今为止还 没有一个被大家所公认的定义。许多专家学者从刁:同角度和不同侧面对软件体 系结构进行了刻画,较为典型的定义何以f 几种。 1 ) d e w a y n ep e r r y 和a 1 e xw o if 定义” 软件体系结构是具有一定形式的结构化元素( e l e m e n t ) ,即构件的集合, 包括计算构件、数据构件和连接构件。计算构件负责对数据进行计算和处碑, 数据构件负责对数据管理,连接构件则负责把体系结构的不同部分组合连接起 来成为一个有机的整体。这一定义注重区分计算构件、数据构件和连接构件, 这一方法在其他的定义和方法总基本上得到保持。 2 ) m a r ys h a w 和d a v i dg a r l a n 定义”1 软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的 算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通信协议 ( p r o t o c 0 1 ) 、同步、数据存取,给设计元素分配特定功能,设计元素的组织、 规模和性能,在各设计方案问进行选择等。 3 ) d a vjdg a r l a n 和d e w n ep e r r y 定义” 软件体系结构描述描述一个程序系统各种构件的结构、它们之间的相 工关 系以及进行设计的原则和随时间演化的指导方针。 4 ) h a y e sr o t h 定义 软件体系结构是一个抽象的系统规范,主要包括使用其行为来描述的功能 构件和构件之尖的相互连接、接口和关系。 5 ) b a s s 、e l e m e n t s 和k a z m a n 定义”1 一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构 件的外部可见性及其相互关系。其中,“软件外部的可见性”是指软件构件提供 的服务、性能、特性、错误处理、共享资源使用等。 6 川川1 人学倾i 。学位论立 通过上述定义,我们可以发现软件体系结构主要涵盖了如下实体: 构件,包括计算构件和数掘构件; 连接件,实现构件之间的交互、通讯或协调关系; 限制,包括构件通讯协议、实时性、同步等; 配置,反映系统的总体结构,构件和连接件构成的拓扑结构: 设计原则与指导方针,即体系结构设计或掐述的知识,包括体系结构 风格、模式等高级概念。 根据我们对软件体系结构的理解,将软件体系结构定义为“在软什密集的 大规模系统或具有类似需求和结构的软件产品线的丌发中,从一个较高的屡次 来描述和体现:组成系统的构件、构件之间的交互,以及由构件与构件交五:形 成的拓扑结构;这些要素应该满足的限制,遵循的设计规则,在一定的环境下 进行的演化;系统丌发中具有蘑要影响的设计决策、既定的功能和性能需求和 多种关注。” 软件体系结构研究作为软件工程中一个萨在兴起的基础研究领域,将软件 系统的结构信息独立于算法与数掘,创建满足系统需要的结构,定义系统结构 方面的重要方面( 如系统的负荷等) ,并提供系统开发的框架。同时,试图在系 统丌发的早期阶段研究系统实现时的若干重要的质量属性。 2 1 2 基于体系结构的软件重用 重用技术作为软件工程领域倡导的有效技术之一,在基于构件与体系结构 的软件丌发时代,软件体系结构重用是一个重要的主题。 由于软件生产过程主要是正向过程,即大部分软件的生产过程是使软件产 品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的重用容 易带动较低级别的重用因而重用的级别越商,可得到的回报也越大。可重用 的软件元素包括需求分析文档、测试用例、设计文档、设计过程、程序代码甚 至领域知识。可重用的软件元素越大,重用的粒度越大。 按照软件重用所应用的领域范围把重用划分为两种:横向重用和纵向重用。 横向重用是指重用不同应用领域中的软件元素,例如数据结构、分类算法、人 机界面构件等。标准函数库是一种典型的传统的横向重用机制。纵向重用是指 在一类具有较多公共性的应用领域之间进行软构件重用。由于在两个截然不同 7 p q 川人学颅i 学位论文 的应用领域之间实施软件重用非常困难,潜力不大,所以纵向重用彳广受瞩r , 并成为软件重用技术的真谁所在“】。 作为个可传递和可重用的模型,软件体系结构体现了一个相对来说比较 小又可理解的模型,通过体系结构的重用可以保护软件开发组织的投资。般 认为易于重用的标准包括:领域易于理解、变化相对较慢、内部有构件标准, 与已存盘的基础发施兼容,在大规模系统r 发时能体现规模效应。山于软件体 系结构是系统的高层抽象,反映了系统的:1 三要组成元素及其交互芙系,因此, 体系结构重用包含了设计重用和分析重用,比代码重用更抽象,重用级别商”1 。 软件体系结构缴的重用意味着体系结构的决策能在具有相似需求的多个系 统中发生,这比代码级的重用要有更大的好处。通过对体系结构的抽象可以使 设计者能够对一些经过实践证明非常有效的体系结构构件和框架进行重嗣,从 丽提高设计的效率和可靠性。在设计过程巾我们常常发现对一个体系结构稍 加抽象,我们就可以将它应用到其他设计中去,这样会大大地降低没计的复杂 麾”。 2 1 3 软件体系结构风格与模式 为了实现体系结构的软件重用软件工程的实践者从已有的成功软件系统 中抽取出它的组织结构,形成了一些可应用于多个领域的体系结构风格和模式。 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式,通过 构件应用的限制及其相关的设计原则来表现构件之间的关系,为大粒度的软件 重用提供了可能。体系结构风格定义了一个系统家族,它反映了领域中众多系 统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一 个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术 语表和一组指导构件系统的规则。1 ) a v i dg a r l a n 和m a r ys h a w 将通用体系结构 风格分类如下”1 : 数据流风格:批处理序列、管道过滤器: 调用返回风格:主程序子程序、面向对象风格、层次结构; 独立构件风格:进程通信、事件系统; 虚拟机风格:解析器、基于规刚的系统; 仓库风格:数据库系统、超文本系统、黑板系统。 r p q 川人学倾i 。学位论文 软件体系结构一个很重要的方面就是盒线图通用解析的形式化和不同构件 和连接件的分类,但很难给出风格的确切描述,各种风格之间差别也不明碌。 风格只是体系结构一个很粗糙的粒度,对系统的多层次抽象没有什么帮助,尤 其是缺乏一个指导问题到体系结构转化的明确步骤和解决方案。因此,由于目 时尚没有各风格应用规则和指导方法,体系结构风格只能作为体系结构的媾础。 软件体系结构模式是对软件体系结构风格的抽象及在抽象基础之上的形式 化。体系结构模式描述了关于软件系统结构的信息,有助于建立和维护系统的 内部一致性以及实现面向体系结构风格的分析、设计、检查和重用“。凼此, 我们可以从模式的角度来研究软件体系结构。 模式是一条由三部分组成的规则,它表示了一个特定的语境、个问题和 一个解决方案之间的关系。f r a n kb u s h m a n 将模式分为体系结构模式、没计模式 和惯用法( i d i o m ) 三种类型,每一种类型都由具有相似规模或抽象程度的模式 组成。体系结构模式可认为是具体软件体系结构的模扳,它表示软件系统的基 本结构和组成方式,提供一套预定义的子系统,舰定它们的职责,并包含用j i 组织它们之间关系的舰则和指南。设计模式则是提供一个用于细化软件系统的 子系统或构件及其关系的图式,它描述了构件间通信的可再现通用结构可以 解决特定语境中的一般设计问题。惯用法则是具体针对一种编程语言的低层模 式,它描述如何使用特定语言的特性来实现构件的特殊要求或它们之间的关系。 大多数惯用法是针对具体语言的,是代表最低层的模式。因此,模式可大可小, 可以大到整体应用系统的软件体系结构,也可d , n 某个功能模块的设计方式。 一般认为体系结构风格和体系结构模式是可以互用的术语,但是从实际应 用和实现的角度出发,体系结构的风格和模式还是有一定的区别的,这主要表 现在1 : 1 ) 体系结构风格主要描述应用系统的总体结构框架。而体系结构模式可存 在于各种应用系统规模和抽象层次上,即从定义应用系统的总体结构到描述怎 样利用给定的编程语言实现特定问题的惯用法模式。 2 ) 体系结构风格相对独立。各应用系统采用不同的风格后,与由其他风格 构成的系统联系较少。而体系结构模式往往依赖于它所包含的较小的模式或者 与它相互作用的模式。 3 ) 体系结构模式比体系结构风格更加面向问题。体系结构风格侧重予从应 p q 川人学坝i :学位论文 用系统抽取它们的总体组织结构,而较少从实际设计环境来考虑设计的技术。 而体系结构模式通常有问题出现语境、解决方案和适用场景。 通过上述对比,我们认为运用模式语言进行软件体系结构的应用研究更具 现实意义,足一个重要的研究领域。 2 2 软件体系结构可视化建模 软仆体系结构仪仅足人t fj x , 软件t :5 层抽象结构的概念,软件体系结构抽述 则是希迥将这种概念上的东西表述为”r 见的文档。通常,体系结构描述是山反 映系统锌种人员及其关注的视图组成。一个体系结构要从多层次、多角度、多 阶段进行描述,每个视图只能属于一利,视点。体系结构描述具有如下作用1 : 1 ) 支持系统不同人员之间的通讯; 2 ) 能够表达系统及其演化; 3 ) 体系结构评估、分析与比较的基础: 4 ) 便于系统开发活动的计划、管理与执行; 5 ) 表达了系统的持久化特征和所支持的基本原则,有利于系统的进步变 化: 6 ) 便于体系结构的实现与描述之间的一致性检查; 7 ) 记录了体系结构构造的决策知识: 8 ) 系统开发的一种重要文档,中间产品的一部分。 在实际的软件开发中,软件体系结构描述则强调体系结构应该便于各种人 员的交流,是系统的丌发蓝图,因此体系结构应采用可视化的描述方法,并且 通常是多视图描述方法。 2 2 1 统一建模语言 统一建模语言( u m l ,u n i f i e dm o d e l i n gl a n g u a g e ) 作为一种定义良好、 易于表达、功能强大且普遍适用的建模语言,融合了b o o c h ,o m t 和o o s e 方法 中的基本概念,成为一种简单一致的建模语吉。并在1 9 9 7 年1 1 月被o m g 组织 采纳作为基于面向对象技术的标准建模语言。u m l 的定义包括u m l 语义和um i 表示法两个部分“”。 1 0 p qj 1 1 人学删 。学位论文 u m l 语义描述基于u m l 的精确元模型定义。元模型为u m l 的所有元素在语法 和语义上提供了简单、一致、通用的定义性说明,使丌发者能在语义e 取得 致,消除了因人而异的最佳表达方法所造成的影响。此外,u m l 还支持对元模型 的扩展定义。 1 ) u m l 的4 层元摸型。u m l 是明确定义了语法和语义的可视化建模语言,疆 法和语义由元模型、自然语苦和约束来说明。u m l 的4 层元模型即片j 户对象层、 模型层、元模型层、元元模型层。在4 层元模型中,u m l 的结构主要体现在元模 型中,分为3 个逻辑包:基础包、行为元素包、一般机制包,这些包依次又分 为若干个子包:语义约束由对象约束语言( o c l ) 表示,每一个o c l 表达式都以u m l 模型元素为背景。u m l 模型从以下几个方面说明软件系统:类及其同性、操作和 类之间的静态关系;类的包和它的依赖关系:类的状态及其行为;对象之间f f , j 交互行为;使用事例、源码的结构以及执行时的实施结构。 2 ) u m l 的扩展机制。最重要的扩展机制是构造型( s t e r e o t y p e s ) :它足种 在已定义的模型元素的基础上构造新的模型元素的机制。构造型实际上是一射l 命名的约束和标记值,由o c l 语句组成,可应用到其它模型元素中。构造出柬 的新的建模元素就称为构造型的建模元素,被扩展的元素称为基元素。因此构 造型元素不能改变基元素的结构,但可扩充元素的语义。定义构造型需要满足 如下规则: 构造型名不能与其基类重名: 构造型名不能与它所继承的类别模板重名; 构造型不能与元类命名空间冲突; 构造型所定义的标记( t a g ) 名不能与其基类元素的元属性命名空i 日j 冲 突,也不能与它所继承的构造型的标记名冲突。 3 ) 约束。约束( c o n s t r a i n t st y p e s ) 是模型元素中的语义关系,它指定了必 须保持为“真”的条件和命题,否则模型描述的系统是无效的。 4 ) 标记值。标记值( t a g g e dv a l u e s ) 是附加至到任何模型元素的一对标记和 值,用来增加模型元素的语义。u m l 用o c l 来描述元素的约束。o c ! 是一种基于 阶谓词演算的纯表达式语言,不能用它来写书程序逻辑或流程控制,因为o c i 表达式不会改变系统的状态。对于模型中的建模元素,标记值允许加入新的同 性。标记表明了建模元素的可扩展特性的名称,值的范围取决于用户或工具对 标记的解析。 u m 。表示法定义u m l 符号的表示法,为j i :发者或丌发工具使t e 这些图彤符号 和文本语法为系统建模提供了标准。这些图形符号和文字所表达的足应用级的 模型,在语义上它是u m l 元模型的实例。 2 2 2u m l 可视化建模机削 u m l 是_ + 种绘制软件蓝图的标准建模语言,对面向对象系统进行可视化、详 述、构造和文档化是u m l 的目的u m i 川,运用于软件丌发过程各个阶段的建模活 动”“。为了体现系统的静态和动态模型以及功能模型,标准建模语言u m 。的重要 内容可以由下列扛类图( 共9 种图形) 来定义: 第一类是用例图,从用户角度描述系统功能并指出各功能的操作者。 第二类是静态图( s t a t i cd i a g r a m ) ,包括类图、对象图和包图。其中类图 描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、 依赖、聚合等,也包括类的内部结构( 类的属性和操作) 。类图描述的是利,静 态关系,在系统的整个生命周期都是有效的。 对象图是类图的实例,几乎使用j 类图完全相同的标识。他们的不同点在 于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的个 实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。 包图由包或类组成,表示包与包之间的关系。包图常用于描述系统的分层 结构。 第三类是行为图( b e h a v i o fd i a g f s m ) ,描述系统的动态模型和组成对象蚓 的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的 转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状 态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态 图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利 于识别并行活动。 第四类是交互圈( i n t e r a c t i v ed i a g r a m ) ,包括顺序图和协作图,主要描述 对象问的交互关系。其中顺序图显示对象之间的动态协作关系,它强调对象之 间消息发送的顺序,同时显示对象之间的交互;协作图描述对象问的协作关系, 协作图跟顺序图相似,显示对象间的动态协作关系。除显示信息交换外,协作 图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如 果强调协作关系,则选择协作图。 第五类是实现图( i m p l e m e n t a t i o nd i a g r a m ) ,包括构件图和配置图。其呻l 构件图描述代码构件的物理结构及各构件之间的依赖关系。一个构件可能是一 个资源代码构件、一个二进制构件或一个可执行构件。它包含逻辑类或实现类 的有关信息。构件图有助于分析和理解构件之间的相互影响程度。配置图定义 系统中软硬件的物理体系结构。它可以显示实际的计算机和设备( 用节点表示) 以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点 内部,放置可执行构件和对象以显示节点跟可执行软件单元的对应关系。 2 2 3 软件体系结构的u m l 可视化建模 软件体系结构可视化建模方法的一个典型代表是k r u c h t e n 提出的“4 + i ” 的软件体系结构描述模型。该模型由逻辑视图、丌发视图、进程视图、物理视 图和用例视
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鼻过敏性疾病致敏原特异性识别技术研究-洞察及研究
- 基于机器学习的大数据清洗方法研究-洞察及研究
- 知识产权能力提升培训课件
- 知识产权网络培训通知课件
- 知识产权维权保护培训内容课件
- 知识产权烟台培训课件
- 知识产权战略布局培训课件
- 2025年骨灰钻石技术实践应用与生态葬礼仪师模拟题答案解析
- 钳工基础知识培训教材课件
- 椅子舞教学设计美术课件
- 新媒体礼仪知识培训总结
- 2025 年小升初成都市初一新生分班考试语文试卷(带答案解析)-(部编版)
- 护理事业十五五发展规划(2026-2030年)
- 重庆市七校联盟2024-2025学年高一下学期期末考试物理试卷(含解析)
- 2024年河北科技师范学院招聘真题
- 2025版网络直播临时促销员劳务合同
- 培训班校长述职报告课件
- 传染病信息报告管理规范2025年版培训试题及答案
- 临床患者身份识别管理标准
- 抗菌药物处方医师培训考核试题及答案
- 新时代班主任角色转型与实践案例
评论
0/150
提交评论