




已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)企业级应用中软件复用技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
禹北工业大学硕i 学位论文 摘蔓 摘要 近年来,随着电子商务、电子政务的发震,企业级麻用的概念逐渐被软件开发人员 和市场所接受。企业级应用的开发已经成为软件产业发展的主要动力。同时企业级应 用的快速发展给软件开发人员带来了前所未有的压力,比如:缩短的开发时间,人量的 开发任务,经常变更的需求等等。虽然软件开发没有“银弹”,但是软件开发人员还是在 不懈的寻求好的方法来尽可能的解决这些问题。其中,软件复用技术被认为是一个行之 有效的方法。 在计算机技术的发展史上软件复用已不是新的概念。但是自从面向对象技术的广 泛应用以后,软件复用技术才焕发出勃勃的生机。特别是框架技术的发展使软件复h j 技术达到了一个新的阶段。同时,企业级应用的发展对软件复用技术提出了需求,并为 软件复用技术提供了新的实践环境。 本文以企业级应用和软件复用技术为背景结合a s p n e t 开发企业级应埘的实践, 提出了c c ( c e n t r a lc o m r o l l e r ) 框架模型对a s p n e t 进行了有益的扩展。最后设计和实 现了c c 框架,并且把c c 框架成功的应用于虚拟社区的开发中。 关键字:企业级应用,软件复用,框架技术a s p , n e t 嚣嚣王韭大学顿尘学位论文 麓簧 a b s t r a c t w i t ht h ed e v e l o p m e n to fe - b u s i n e s sa n de g o v e m m e n t , t h ec o n c e p to fe n t e r p r i s e a p p l i c a t i o ni sa c c e p t e db ys o f t w a r ed e v e l o p e ra n dm a r k e tt h i sy e a r t h ed e v e l o p m e n to f e n t e r p r i s ea p p l i c a t i o nb e c o m e m a i nd r i v eo f t h es o r w a r ei n d u s t r y b u tt h er a p i dd e v e l o p m e n t o fe n t e r p r i s ea p p l i c a t i o ng i v et h eg r e a tp r e s s u r et os o f t w a r ed e v e l o p e r s f o re x a m p l e :s h o r t e r t i m e - t o - m a r k e t , m o r ed e v e l o p m e n tt a s km o r ec h a n g e a b l er e q u i r e m e n ta n de t c 。a l t h o u i 垂n o s i l v e rb u l l e t i ns o f t w a r ed e v e l o p m e n t , b u tw ec a n ts t o pf i n d i n gt h es o l u t i o no f t h e p r o b l e m s o r w a r er e l l s ei st h o u g h t , a sa g o o dw a y i nt h eh i s t o r yo fc o m p u t e rt e c h n o l o g y , s o f t w a r er e u s el s n tan e wi d e a b u tt h i s t e c h n o l o g yi sd e v e l o p e du n t i lo b j e c t - o r i e n t e dt e c h n o l o g yi s u s e dw i d e l y - a n df r a m e w o r k t e c h n o l o g y a d v a n c et h er e s e a r c ho f s o f t w a r ef e n s e ,t h ed e v e l o p m e n t o f e n t e r p r i s ea p p l i c a t i o n n e e ds o f t w a r er e u s e ,a n di t 脚y e san e w b a c k g r o u n d t os o r w a r et e u s e b a s e do i le n t e r p r i s ea p p l i c a t i o na n ds o l w a r er e u s e ,t h i sd i s s e r t a t i o ng i v ec c ( c e n t r a l c o n t r o l l e r ) f r a m e w o r k t oe x t e n da s p , n e t a n dt h e ni td e s i g na n d r e a l i z et h ec cf r a m e w o r k , a tl a s tt h ec cf r a m e w o r ki su s e dt od e v e l o pav i r t u a lc o m m u n i t y k e yw o r d s :e n t e r p r i s ea p p l i c a t i o n , s o f t w a r er e u s e ,f r a m e w o r kt e c h n o l o g y , a s e n e t + l l “ 嚣靶t :遭太学秧扛誓位谚文 茹一牵旗论 第一章绪论 。l 谖题的磷究鹜豢和意义 陡藉计嚣视技术的发髓j f f l 信息时代的瓢来,电予诲势,电子墩务得到了筵麓的搅餍, 盎嬗级疲塌曩经遮羯褥楚激越广泛了。f 露熬一些挺荧兹数字蔼壤浸臻这个滔联。 裁2 0 0 3 年瑟喜,企照级艨孀审塌委稳步发瓣,f s 整个| t 章亍弛产值的8 0 虢上,垒 业级应用市炀和企业间电子商务求场将成为l t 产业的支柱。 电予致务 i 攮寝溺软释帮场壶2 0 0 2 年静2 4 3 亿元扩大到2 0 0 3 年的2 9 ,4 亿嚣,闻 毫 增凝这剿2 1 。瓣登在未来死年内,我器器缀敢瓣投入穗子豉势黪慧金额游会达到2 5 0 0 亿元人民蘑。 在焱她级疲霜露求不断蹭长静今天,对爱数缎应蠲瓣研究也越来越漯入。班鱼鞭网 技术,w e b 技术为背景静企照疑应埔醴经不同予p e 时健的革梳廊瑁,宦其有自身的特 点。嚣鼓, 乍尧焱韭缓摩躅本身逛经爨黄一静激进式爨浚变。鞠令麴垒照缓较释蠢貉着 一媳髑鼗静挑战。其申包耩可 枣缠投、分毒、蜜垒秘处理不网厂鬻接本黢爨器。辫个 重甏的阀题就是随麓全球信息他的发展,对企业级殿甩开发的要求与四俱增。这样众 多的金鼗缀藏瘸群麓使牙麓a 簧不壤重受。嚣么一个撮残窑静鞠戆摆在裁 f = l 露前;众多 瓣众盛缎痰翊串燕蚕祷耱弱豹帮努霹鞋霪罔? 该鞠鹰安袋软 孛貔垂耀? 其实,软牛重用一童奄在黄软髂开发的避程中。逶过对软傅复粥技术的研究零 掭讨, 我们发瑶戳鬣援为嚣的开鬏昀软件,不但实袋了代羁的复耀,蕊鼠实现了设诗,势拼。 融登予涮试翡复嗣。凝霜斡概念e 经褥捌了广泛舱扩燧。 较秘复建跫缝轰众监缀瘦羽嚣麓攒糍,簿 毳嚣发壤攀,探诞开发藏珐豹最奄簸躲方 法。两羹软辞复翊思想早巳窿众业级应溺豹羚发平台审憩到了运耀。 本论文广泛研究当今避流行的企业级应用开发平静j 2 e e 和。n e t 。在基于w e b 躲 藏臻方魏,j 2 e e 箨营攘凄了敷复嗣凳强豹多个嘏絮,靳s t r u t s ,w a f ,e c h o ,m a v e r i c k 簿簿,秘雳这些壤黧,秀发太瑟可娃避速群篱僵熬群麓密饶秀懿垒毙缀藏翊。秣程 a s p n e t 平螽上却没窍类似鲍框架。 + 本论文以软翻二复翊思想为糖导,班觞决a s p , n e t 鹁表示屡存在的同题为强糠,滋过 深入靛磷究和广泛煞察躐,猩a s p n e t 熬基磷上榆建了一个w 复黼框粲( c e n t r a l c o n t r o l l e r 捱懿) 。这个捱蘩为矮a s p , n e t 嚣鬏企照缀藏愆携缓疆人受撬撰了一个方霞。 受滋,可扩箴的平台。 。2 论文豹内饔及组织 奉论文主耍研究了豁下内容: 念鼗凝斑蹭翁特点髑黢蘼趋势。 软 牛复殿魄关键技术鞋常用方法。 敞拜发者麴角瘦奔缨捧分析了一夺典烈的金韭疆藏用的漫毒申。 两北丁业人学硕士学位论文第一章绪论 在a s e n e t 基础上以复用为目的设计并实现了c e n t r a lc o n t r o l l e r 框架。 第2 2 章介绍了企业级应用和软件复用技术的现状,并分析了个典型的企业级庸心 设计方案。第三章根据a s e n e t 在表示层的实践提出了c c 框架模型。第四章是c c 框架的设计平实现。第五章从使用者的角度对c c 框架进行分析,并介绍了如何用c c 框架开发虚拟社区。第六章是对全文的总结。 列丁业夫学硬l + 学垃论文 簧_ = 二章盎鼗绞巍魇孛赣挥噎嚣l 授术鲢鲤究 第二章 企业级应用中软件复用技术的研究 2 。 企业级应用介绍 2 。1 。1 定义 企业级应用一般指企业级软 牛。“企业”怒指为了繁个共弱秽益蔼工搏在一起赞a 或 实体所缀成盼组织。企监由许多部门纽成,部门之间存在一定的关系;同时,企娥不是 孤立的,它处在其它企业中间,它霈要和其落企业发生各种关系。企业级应用需蒙解决 企业内郝鞠企业之闼熬蚤秘嚣隶【2 】。金韭级嶷强一觳蠢疆下兄个特点; 含一系列访问数据库的小程序,且遮些小程序相对比较独立。 包含许多企业经背和业务的各种数据的数据库。 处理菩释筵务静稽净可鞋鬣撩俸,麓够有辊蠛集成在一超。 它一般处在| n t e m e t 环境中它可能需要和其它企业的应用互相通信。 能够绘它的客户掇供方便易耀熬服务,通誊宅通过w e b 绘襄户提供搬务。 另外,提供其它的服势或者懿蘩它形式存在的应用也可能憝企业级应用。企波级麻 用的结构复杂,涉及到的内外部资源众多、事务密集、数据量大、用户数多,对安全性 要求亵。肖投翡灸鼗缀蠹蹋浃琴霹懿是一令令独立系缓。在垒犍孛,一般都会帮麓多个 彼此连接的、相置通过不嗣集成层次进行交厦的企业缎应用,同时这些成用叉都有可能 与其它企业的相荧应用连接,从而构成一个继掏复杂的、跨越i n t r a n e t 和i n t e r n e t 的分布 式企韭缀应焉群象。j l 乏井,作为金娩缀底嗣,不僵要蠢强大的功能,还簧能够满戆未来 业务需求的变化,易于升级和维护。 从企业级软传的特点可以看出,企业级疲塌有多个不冠部分魍成,耀黠企业幽予自 身的利盏有必要将各个独立的小赢用集成起来,并且能够互操作。圈2 1 所示是硷业级 应用的一般结构。 金鼗缀痘耀鬟襄使臻饿秀夔佥鼗缀疰建镕系结掬寒支持,褥饶秀麓众泣级瘦耀傣系 结构通常来自于优秀的解决方案。麻用程序设计开始就鼙考虑戴体系结构的合理性、灵 活性、健牡性,从而即可满足企业威用的复杂需求,也能为今衢系统的调赘和升级留有 余缝t 舔系结构影嗡了整个庄精鳆生命璃籁,窦际上键够延长藏个应蠲的生命髑鲻,两 时增强了用户在多变的商业社会中的适应性,减小了系统维护的开销和难度从而给企 地带来最大的剥蘸。 - 3 - 两北】j 业人学硕士学位论文 第二二章企业级应用中软件复用挫术的研究 2 1 2 发展阶段 图2 1 企业级应用的一般结构 企业级软件经过了如下的演变过程: 第一阶段;单层应用程序。它将表示、业务逻辑和数据都混合在一起。在单层应用 程序中,各个方面的内容几乎都是混合的。也就是说软件的表示与业务逻辑结合在一 起,而业务逻辑部分又与数据结构密切相连。因此,对任何一方的改变都会引起连锁反 应,从而必须对所有部分都进行验证。这种混合方式还有个缺点,即业务逻辑或数据 访问功能的重用性受到了限制。 第二阶段:两层应用程序,即客户机一服务器模式。它通过将表示和一些业务逻辑 分别移至单独的层中,缓解了上述的主要问题。不过。从应用程序的角度米看业务逻 辑和表示依然很混乱。同样的,两层方法也会引入自身独有的新问题,例如,如何以最 小的代价和最低程度的破坏来更新具有庞大客户群的应用软件。 第三阶段:n 层应用程序。它可以取得更好的整体平衡,它将表示逻辑与业务逻辑 从底层数据中分离开来。下面是使用n 层方式的一些优点和缺点: 加快开发过程,降低开发成本:通过重用现有的、预先测试过的业务组件和数 据访问组件,可以更快的开发新的应用程序。 隔离了由于改变带来的影响:只要接口保持不变,一个层上的改变不会影响其 他层上的组件。 更容易管理改变:如果一个业务组件驻留在业务层( 该层位于一个或几个专_ i _ i 的服务器上) ,那么我们可以很容易的用它的新版本替换旧版本,而不刚替换不 同城市甚至全球范围内上百或者上千的客户端应用程序了。 - 4 马囝旦 两北工业_ 大学硕: 学位论文 第二章企业级应用中软件复用技术的研究 2 1 3 发展趋势 ( 1 ) 从分散管理到集中管理 今天企业局部的、分散的系统到处存在,维护成本居高不f ,业务流稗难以协调 一致,管理数据支离破碎。通过使用多层体系结构,简化桌面配置,实现低成本的系统 推广和维护( 集中维护和发布) ,可以使企业内部的数据和业务流程得到集中的管理。数 据集中、集中管理是企业级应用的大势所趋。 ( 2 ) 从“胖客户”模式到“瘦客户”模式 由于计算机技术的发展,传统的“胖客户”模式由丁:网络负载火,数据库压力大等 原因逐渐被瘦客户模式所替代。随着i n t e r n e t 技术和w e b 技术的发展,以b r o w e r s e r v e r 为代表的“瘦客户”模式己成为企业级应用开发的蓖选。 2 2 基于w e b 的企业级应用 如2 1 3 所述,当今企业级应用的发展趋势是从“胖客户”模式到“瘦客户”模式的 转变,从c s 模式向b s 模式转变。但是,以提供静态页面或者动态页面的传统的w e b 编程在构建企业级应用的时候遇见了前所未有问题。 采用w e b 编程构建的企业级应用( 下面统一简称w e b 应用) 不同丁传统的基丁 c s 模式的企业级应用,它具有自身的特点。 2 2 1 w e b 应用特点 w e b 应用的特点如下: w e b 应用是以超文本和多媒体形式存在的网络信息空间。 w e b 应用是分布式的。超媒体文件可以存放在不同的w e b 站点上,通过超链接 加以指引,使存放在不同物理位置上的信息在逻辑上一体化。 w e b 应用是动态的、交互的。 w e b 应用支持客户服务器模式。 w e b 应用是无连接:每次连接只处理一个请求。服务器处理完客户的请求,并 收到客户的应答后。即断开连接。 w e b 应用是无状态:h t t p 协议是无状态协议。它对于事务处理没有记忆能力。 2 2 2 w e b 应用分层 企业级应用发展到现在大多采用分层的架构,w e b 应用也不例外。同时,为了本文 论述方便,f 面首先对w e b 应用进行分层。 两北工业人学硕士学位论文 第二审企业级应用中软件复用技术的研究 w e b 徊 览器,负责显示和输入 接受客户崖的请求,执行相应的操作,并生成表示逆鞋 执行仝部计算和动作,数据访问的管理 数据管理 图2 2 基于w e b 的企业级应用的分层 如上图所示,我们把整个w e b 应用分为以下几个层次: 客户层:是w e b 浏览器,作为一个g u i 界面,负责数据和信息的显示,以及川 户的信息输入。 表示层:负责接受客户层的请求,执行相应的操作,并生成表示逻辑。 业务层:负责执彳亍全部计算和动作,并负责对数据访问进行管理。 数据层:负责数据管理。 类似于i s o ,o s i 七层协议,上图中的每一层都使用下一层提供的服务,井为其上一 层提供自己的服务。在保持层与层的接口不变的情况下,对某一层进行修改和扩展不会 影响到其它层。分层的结果使得w e b 应用的架构更加清晰,在此基础上构建的w e b 戍 用更加灵活,可扩展,复用性高。 针对w e b 应用的分层,本论文着重围绕着表示层的问题进行研究并会对业务层 有部分的涉及。 2 2 3 表示层的常见问题 经过大量的实践在构建基于w e b 的企业级应用的时候,在表示层通常存在以r 的问题: 控制逻辑分散在各个页面中 用户无序请求页面,或者重新提交表单,需要对用户请求进行控制 业务逻辑和页面显示混合在页面中 业务层中引用表示层的细节 在页面中进行数据到视图的转换 资源直接暴露给客户层 无法保持状态 页面的控制逻辑复杂 本文的目的就是在a s p n e t 平台上为解决表示层存在的这些问题提供一个有益的 方案。并且希望这个方案不但可以解决以上问题,而且能够最火程度的被其它开发者所 一6 - 两北1 :业大学硕士学位论文 第- 二章企业级戍用中软件复用挫术的研究 利j ; i 。 针对当今企业级应用研究的热点,本文以软什复用的方法论为指导来解决问题。 2 3 软件复用技术现状 2 3 1 概述 通常情况f 应用软件系统的开发过程包含以下几个阶段:需求分析、设计、编码、 测试、维护等。当每个应用系统的开发都是从头开始时,在系统的开发过程中必然存在 大量的重复劳动,如:用户需求获取的重复、需求分析和设计的重复、编码的重复、测 试的重复和文档工作的重复等。 探讨应用系统的本质,可以发现其中通常包含三类成分:( 1 ) 通用基本构件:是特 定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各 种应用系统中;( 2 ) 领域共性构件:是应用系统所属领域的共性构成成分,它们存在_ 丁 该领域的各个应用系统中:( 3 ) 应用专用构件:是每个应用系统的特有构成成分。 应用系统开发中的重复劳动主要在于前两类构成成分的重复开发。 软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开发不 蒋采用一切“从零开始”的模式。而是以已有的工作为基础,充分利蹦过去应用系统开 发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例 等,从而将开发的重点集中于应用的特有构成成分。 通过软件复用,在应用系统开发中可以充分的利用已有的开发结果,消除了包括分 析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发效率,同时,通过 复用高质量的已有的开发成果,避免了重新开发可能引入的错误,从而提高了软件的质 量。 软件复用是指重复使用“为了复用目的而设计的软件”的过程,而可复,【; 软件则是 指为了复用目的而设计的软件 1 。软件复用强调的是复用的目的,它是种系统化的方 法,为了复用而进行设计,为了复用而开发,并且要有效的组织和管理这些复用产品, 方便人们的查找和使用,基于复用品进行开发。因此,并非所有重复使用软什的行_ :i j 都 是软件复用的过程,例如,重复使用“并非为了复用目的而设计的软件”或在一个应用 系统中的不同版本间重复使用代码,这两类行为都不属于严格意义上的软件复i i 。 以下的类比有助于进一步说明软件复用的概念。在软件演化的过程中,重复使用行 为可能发生在三个维上: 时间维:使用以前的软件版本作为新版本的基础,加入新功能,适应新需求,即软 件维护。 平台维:以某平台上的软件为基础,修改其运行平台相关的部分,使其运行于新平 台,即软件移植。 应用维:将某软件( 或其中构件) 用于其他应用系统中,新系统具有不同功能利_ l j 途,即真正的软件复用。 这三种行为中都重复的使用了现有的软件,但是,真正的复用是为了支持软什在廊 削维的演化,使用“为复用而开发的软件”来更快、更好的开发新的应_ l _ j 系统。 两北工业大学颂l 学位论义第二章企业级戍用中软件复用技术的研究 复用概念的第一次引用是在1 9 6 8 年n a t o 软件工程会议上,m e l l r o y 的论文“人昔 生成的软件构件”中。在此之前,子程序的概念也体现了复用的思想。但其目的是为了 j ? 省当时昂贵的机器内存资源,并不是为了节省开发软件所需的人力资源。然而子群序 的概念可以用于节省人力资源的目的,从而出现了通用子程序库供程序员在编程时使 用。例如,数学程序库就是非常成功的子程序复用的例子。 在其后的发展过程中,有许多复用技术的研究成果和成功的复_ ;| j 实践活动。但是, 复用技术在整体上对软件产业的影响却并不尽人意。这是由于技术方面和1 f 技术方面的 种种因素造成的,其中技术上的不成熟是一个主要原因。近十几年来,面向对象技术山 现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热 点,被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。 分析传统产业的发展,其基本模式均是符合标准的零部件( 构件) 生产以及基丁标 准构件的产品生产( 组装) ,其中,构件是核心和基础,“复用”是必需的手段。实践表 明,这种模式是产业工程化,工业化的必由之路。标准零部件业的独立存在和发展是产 业形成规模经济的前途。机械、建筑等传统行业以及年轻的计算机硬件产业的成功发展 均是基于这种模式并充分证明了这种模式的可行性和正确性。这种模式是软件产业发展 的良好借鉴,软件产业要发展并形成规模经济,标准构件的生产和构件的复_ 【 j 是关键冈 素。这正是软件复用受到高度重视的根本原因1 。 2 3 2 软件复用和企业级应用 在当今的企业级应用中,软件复用技术被广泛的应用。使用软件复用技术,可以使 企业级应用的开发获得以下好处: ( 1 ) 加快企业软件发展速度 当今企业级应用的需求在频繁的变化,甚至在一个项目的进行过程中,企业的需求 都可能发生变化。那么如何才能适应这样的变化呢? 答案是使用软件复用技术。 软件复用能够提高软件生产率,缩短软件开发周期。软件复用能够支持快速原型设 计,利用可复用构架和构件可以快速有效的构造出应用程序的原型,以获得j i 户对系统 功能的反馈。 ( 2 ) 提供企业级应用的稳定性 企业级应用的个特点就是对高稳定性的要求,大多数企业的应用必须提供2 4x7 小时的服务。用可复用的构件构造系统时,除了能加快软件的开发速度外,同时还为企 业级应用的稳定性做出了保障。因为可复用构件经过了高度的优化,并且在实践中经过 了考验。由于使用经过考验的构件。减少了可能的错误。 ( 3 ) 提供企业级应用的伸缩性 对于企业级应用来说,可伸缩性是一个很重要的指标。可伸缩性是指一个应用系统 的体系结构能够在何种程度上满足用户发展需求的特性。当今企业级应用的需求不断变 化,满足这种不断变化的需求的办法就是使用组件技术。组件技术是软件复用的一个实 例。在企业级应用的开发中,我们只要对组件进行一次开发,以后就可以长久的使用了。 当有新的需求到来时,我们可以利用已有的组件快速的进行组装,就可以开发出新的应 用。 软件复用的相关理论可参考北京大学杨荚清教授软件复用与软件构件技术系列文章。 8 阿北t 业火学硕l 学位论文 第二章企业级心用中软件复用技术的研究 2 3 3 软件复用的分类 从软仲过程的角度来看,软件复刚分为以f 几种: ( 1 ) 代码的复用 包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久,当前 大部分编程语言的运行支持系统都提供了连接( l i n k ) 、绑定( b i n d i n g ) 等功能来支持 这种复用。源代码的复用级别略高丁目标代码的复用。程序员在编程时把一些想复用的 代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。想大规模 的实现源程序的复用只有依靠含有大量可复用构件的构件库。如“对象链接及嵌入” ( o l e ) 技术,既支持在源程序级定义构件并用以构造新的系统,叉使这些构件在目标 代码的级别上仍然是一些独立的可复用构件,能够在运行时被灵活的得新组合为各种不 同的应用。 ( 2 ) 设计的复用 设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少,从而使 可复用构件被复用的机会更多,并且所需的修改更少。这种复用有三种途径,第一种途 径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应阁于新系统 的设计:第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现, 也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计 划地开发一些可复用的设计构件。 ( 3 ) 分析的复用 这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某 些问题的抽象程度更高的解法,受设计技术及实现条件的影响很少,所以可复用的机会 更大。复用的途径也有三种,即从现有系统的分析结果中提取可复用构件用丁- 新系统的 分析:用一份完整的分析文档作输入产生针对不同软硬件平台和其它实现条什的多项设 计;独立于具体应用专门开发一些可复用的分析构件。 ( 4 ) 测试信息的复用 主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试用例在 新的软件测试中使用,或者在软件做出修改时在新的一轮测试中使用。后者是在测试过 程中通过软件工具自动地记录测试的过程信息,包括测试员的每一个操作、输入参数、 测试用例及运行环境等一切信息。这种复用的级别,不便和分析、设计、编程的复用级 别作准确的比较,因为被复用的不是同一事物的不同抽象层次,而是另一种信息,但从 这些信息的形态看大体处于与程序代码相当的级别。 由于软件生产过程主要是正向过程,即大部分软件的生产过程是使软件产品从抽象 级别较高的形态向抽象级别较低的形态演化所以较高级别的复用容易带动较低级别的 复用,因而复用的级别越高,可得到的回报也越大,因此分析结果和设计结果在目前很 受重视。用户可购买生产商的分析件和设计件,自己设计或编程,掌握系统的剪裁、扩 充、维护、演化等活动。 - 9 - 西北t 业大学硕l 学位论立 第二审企业级应用中软件复用技术的研宄 2 3 4 软件复用的趋势 在具体的软件开发中,存在不同层次的复用,它们分别是: 源代码级的复用 d l l 层次的函数复用 c o m 级的二进制对象复用 组件级的复用 框架的复用 其中,框架的复用是软件复用的发展趋势。从现在企业级应用的实际开发情况来看, 已经出现了众多的开发框架。下面,我们来看看框架的复用为什么可以如此的流行? 在当今面向对象的软件开发中获得最大限度的复用技术就是框架复用。一个大的应 用系统往往可以由多层互相协作的框架组成。使用框架可以获得设计重用、代码重用、 分析重用。 框架能够重用代码。可以说,框架是实现了一个特定领域的具有相同需求的部分功 能,开发具体应用系统的人员只需要在其上完成该应用系统特有的需求功能即可。因此, 框架的大部分代码被重用。 框架能够重用设计。它提供可重用的抽象算法及商层设计,并能够将大系统分解成 更小的组件,而且能够描述组件间的内部接口。这些标准接口使在已有的组件基础上通 过组装建立各种各样的应用系统成为可能。只要符合接口定义,新的组件就能插入到框 架中,组件设计者就能重用框架的设计。 框架能够重用分析。所有的人员若按照框架的思想来分析事务,那么就能将应用系 统划分为同样的组件,采用相似的解决办法,从而使采用同一框架的分析人员之间能够 进行沟通。 采坩框架技术进行软件开发的主耍特点包括: 软件开发人员主要专注于对应用系统核心业务的了解,可以不必了解系统许多 的底层实现细节,使需求分析更加充分。 领域内的软件结构一致性好。 建立更加开放的系统。 重用代码大大增加,软件生产的效率和质量也得到了提高。 框架是设计开发人员经验的总结,可以让那些经验丰富的人员去设计框架和领 域组件,而不必限于低级的重复性编程。 可以采用快速原型技术,从而加快开发。 有利于在一个项目内多人协同工作,利用框架,不同的小组可以专注于自己的 任务。 大粒度的重用使得平均开发费用降低,开发周期缩短,开发难度减小,系统的 维护费用降低,系统的适应性、灵活性增强。 下面进一步对框架进行深入的探讨。 一1 0 一 两就工业夫事颈 j 学位论史 第一章盎娥缓绒用中较体复厨投术豁蟛究 2 3 。5 框架麴定义 鼹晕的框絮攒念起源于s m a l l t a l k 环境,s m a l l t a l k - - 8 0 的艉户接口糕浆。藏越m o d e l v i e w - - c o n l r o l i e r ( m v c ) ,可能楚最早棱广泛捷粥的攘絮。涌a p p l e 公司开发了支持 基m a c i n t o s h 的藤掰静耀户搂西梃絮焉,懿及i n t e r v i e w s 鞠e 十十静糯户接墨穰蘩也被 开发秘蠖填最,糕絮逐灏被a 岱认识穰重竣。槎絮凌被斑用至箕撼领域躲撵 乍甍绞簿。 t a l i g e n t 公司成立( 1 9 9 2 筝) 璐,致力予开发一个基予捱絮豹宠垒嚣囱慰雾拣搽搏囊绞, 它发布了稂雾属于加快应用开发的工其,包含了一百多个面向对象静樾架。框架也隧之 褥爨了嚣移设诗夫羹携美注,翔程繁搿茇禳式,搜软髂弹发曼象一个王、氇的生产过糕。 j o h n s o na n df o o m ,d e s i g n i n gr e u s a b l ec l a s s e s 孛豹定义:“矗f r a m e w o r ki s8s e to f c l a s s e s t h a te m b o d i e s 搬a b s t r a c t d e s i g n f o rs o l u t i o n s t o a f a m i l y o f r e l a t e d p r o b l e m s ”强1 这楚 技; 玛褥最多鹅燕子框檠酶定义。缝过糖心设计鹃撬絮,可竣方寝快速黧扩震秘髭,提 职避雳硗戆,嚣菇改善性辘,撵离较纷l 孽稳怼毪,傻维护更容荔和方倭。穰架不设设楚 蝗类秘程垮抟熊台,它皋是予对承之间内程的联系。婕这些慰象躲悫在必然联系,孝 幢褥框絮发挥俸髑,经开笈卷| 廷耀扩鼹框黎行为藏可以弼来遗疲舞垃露求。 2 3 。6 框架瓣特征 f l 攘敬豫 捱絮逶避封装多襄豹安瑷缨节予固定魏接薅之嚣,提高了羧搏麓攘凌犍。挺禁邋过 将撤由设计秘实现的变他所带来的影响避苻麟郝纯来醴殳善应用程序的质避。这有助于理 解释维护臻订的软事 。 f 2 霹笈焉经 挺浆提供的围定接日羧定义藏紫属缀 粤,菸霹被耀采剖造掰的瘟矮瓣黟。这撵裁提 蔼了可鬟鲻谯。糕桨憨可笺雳性剥鲻了囊经验躺开发赣在该特定领域中螅专监知识帮开 发努力,避免了簸继搿发人员针对该领域中的弼问题和需求做重复的辩勘。襁架维件 鳆复耀鼹太凝度豹提蕊嚣缝开发大撼豹产量,褥霎孪还糍馥罄软l 譬豹矮鬃、瞧麓彝霹靠瞧。 国扩袋壤 框絮通过提供显式的钩子方法( h o o km e t h o d s ) ,允许廊用程序米扩麟其咧定的接露, 这样就鼹离了框絮豹扩展髓。钩予努法系统翡为框架瓣瑚定静接醋和由予不弱黯需求丽 产垒麓藏箨程守行为之闻避舒解禚。框粲韵遨辩扩展瞧露予傈诞及辩凳定索l 精的斑用程 序殿务帮姆摄是十分必要的。 4 ) 反霸羧铡 榧絮楚种运行啦体系结梅,这种编构被称为“反向控制”。它使蒋标准的癞糟程序 避獠l 被霹敷挺鬃激发撬案激溪浆攀终楚理蹿象一步疹逢定割。当枣蒋发生雾亨,挺絮麓 滠蓑嚣菝事掺楚璎瓣象羲钩子方法镶矮,怼攀终箨出发应,技摇渡枣 串豹特定熬 弋玛遘 褪。反向控制允许框架( 而不焐应丽程痔) 决定何旱申方法被激灞来相应辨部事p l :。 铎) 南鑫箍架帮冁鑫框蘩 彝鑫挺蘩在弦大辍菠土依辩嚣囱砖囊语畜特征掘继承帮动态缛建采获稽可扩葳後。 程遮弹撼架中,已蠢的功能技溅爝秘扩壤,遴过;( 1 ) 从挺絮基类继承褥蚓凝戆:尹粪: 蔺北_ := 业入学颁i :学位论文 第二幸企业级应用中软件复用技术的研究 ( 2 ) 重载预定义的钩子方法。白盒框架需要应州程序开发人员对框架的内部结构1 f 常的 熟悉。 黑盒框架通过为组件定义接口使其能通过对象组合技术嵌入到框架中米获得扩展 性。在这种框架中,已有的功能被复用和扩展,通过:( 1 ) 一致的接口规范米定义- 女n f l : ( 2 ) 使用设计模式将组件集成到框架中去。与白盒框架不同,黑盒框架使t 【; 组合和代理 而不是继承,所以黑盒框架比白黑框架更容易使用和扩展。但是,黑盒框架开发起来更 加凼难,需要框架的开发者定义良好的接口和钩子方法。 2 4 一个典型的企业级应用 陕柏省公路交通征稽局全省征费业务系统是一个典型的企业级应用,采用的是n e t 平台。 2 4 1 项目介绍 陕西省公路交通征稽局全省征费业务系统实现了对陕西省所有在册车辆的收费管 理。它分为局、处、所三级系统。在所一级进行实际的征费业务,而处、同两级进行相 应的审批、统计和计划丁作。 在所一级,根据现有的工作内窖和流程,具体分为征收、稽核、稽查、票管、所长、 系统管理、信息查询等子系统。每个子系统彼此相互独立,在业务上也彼此关联。并且 不同的子系统对应于不同的工作人员,如:征收员、稽核员、稽查员、票管员、所长、 系统管理员。系统对用户的身份有严格的限制,不允许无关人员访问系统或者系统中与 其职能无关的部分比如:征收员不能访问稽核子系统。 系统给所有用户提供一个统一的登录界面。系统自动识别用户的身份,并定位到相 应的子系统中。 征收员稽核员稽查员票管员所长系统管理员 豳23 征稽系镜功能毡 一1 2 西北丁业大学硕士学位论文 第二帮企业级减用中软件复用披术的研究 经过一年多的时间,征稽系统已缝开发完毕并进入试运行阶段。实践诚明a s p n e t 的确楚开发企韭毅w e b 应嗣豹利器。它提供了企韭缀藏矧开发中常用豹一些r 翻:。但 是,在设计中发现的一些问题也值得深入地探讨。本文怒在认真总结了征稽系统设计开 发过程中黥经验靼教谢斡基蠢| l 上,针对一些具鸯共性款耀莲进行了进一步的研究。 2 4 。2 设计分析 本文以开发者的概角对锰穗系统的观有设计进行介蜊,著分析和总结该设计的优劣, 劳瓣不圈熬设量 方寨避嚣篦较。教下主要薅该系统表示搽设诗进露奔绍分辨,焉不涉及 到具体的业务。 设计要求:系统对访问每个页面的用户身份进行验诞。对一些公共变戳进钰= 验诞。 设计方案:在每个页瑶串都实现对用户身份和公共交鬣的验滋。f 蔼魏系统中的几 个媳型页面a d d _ u p d a t e c u s t o m e r a s p x - c h a r g e b y c u s t o m e r a s p x ,a p p l y v e h i e l e a d d a s p x 为例进行谖冁。 上兹矛 - 删黑囊_ 牲可争雄秣 e 啦 先强斑 a d d _ l l p d a t e c u m o m e r 鹳, p x ( s e s s l o i l ) 和用户身 份进行验证,再显示 贾蛳 ! ! 。 h t t pr a 日u a s t 先对岔弛值 c h a r g e b y c u s t o m e r a s p x ( s e s s tc m ) 霸l r l 户身 份进 亍验证,再显示 鼗鞭 - 翩_ h 1 t pr e q u e s t 先对套n 值 a p p l y v e h i c l e a d d a s p x ( s e s s i o n ) 拳翘l 户壹 贽避行籍饿。再显示 蒉 如上图掰示,默上三个茭蕊孛分别都对公共镳和藤户囊蹬进行验证;经基于嚣淘对 蒙技术韵a s p n e t 中,每个页葡都是s y s t e m w e b u t p a g e 类的子类。以上设计阁类图可 以袭示为图2 5 : 一1 3 硼北工业大学坝 :学位论文 第一章企业级廊用中软件复用授术的研究 在轴l 。耐f ) 中对蛰羲莲郭甩产舞挺避野鞋迂 l 在镰吲。巾辩蛰共薤瓤癣户蓥嚣进括鞋迁l 在瓠l 册d j 审譬蛰菸燕嚣耀户穿蛰避蜉转江 函2 ,设计- - 膨a e n , 在图中,类a d d _ u p d a t e c u s t o m e r ,c h a r g e b y c u s t o m e r 和a p p l y v e h i c l e a d d 都是p a g e 的予类。并且,它们在继承p a g e 的事件o n l o a d ( ) 中对公共值和用户身份进行验诞。 对于不翮豹贾面a d d,d x , 和_ u p d a t e c u s t o m e r a s p xc h a r g e b y c u s t o n q e r , a s a p p l y v e h i e l e a d d a s p x ,可以谯o n l o a d ( ) 事件中编写特定的验证程序。如:对页面 c h a r g c b y c u s t o m e r a s p x ,应该验证鼗录瓣鲻户是磷跫“簸教员”,焉对受嚣 a d d _ u p d a t e c u s t o m e r a s p x 和a p p l y v e h i c l e a d d a s p x ,则虑该验证髓录的用户是否是“稽 核员”。在征稽系统的开发中,没有采用这种方法。原因是采用这种设计会姆致大量代码 耋复,骜嗣是辩予在一个子系统孛懿夏覆如a d du p d a t e c u s t o m e r a s p x 和 a p p l y v e h i c l e a d d 勰p x ,o n l o a d ( ) 方法中的验证代码是宪全一样的。为了增强复用性, 方便代码的维护,在系统中引 一个专用的验诚方法对所有的贸蟊的验诞进行统一躲 照疆。 i l 。设计= 酉2 6 设计二鹳类辔。 一1 4 一 弹乾王毁灭学硕士擎经论文 第二二章企、渡缀藏臻串较转复避投毒豹 i j 宽 从圈中可默看出,斯蠢的验诚她壤都由v a l i d a t e 炭的方法v a l i d a t e ( ) 完成n 遮榉, 礁具体躺囊瑶鞠o n l o a d ( ) 事件中只需要调搿该方法邸可。这榉拘设诗强然魄“设计 一”贾台瑗。其体嚣西的编裰a 受不必覆关心妇俺辩公共值秘瑶户鸯份避苻验证,兵需 蘩潺瑙次v a l i d a t e ( 努法帮弼。囊对,麓露的骏涯巍v a l i d a t e ) 攥中处理,媳壤褥 靛玛可敬方便鲍修媛和缝护。征穆瑟统就楚鬻掰这撵熬设计爨路。 这样的设计也襻在不足。虽然对予验诚可馘统一的处理,但是要求其体更谣的开发 a 员盛矮在o n l o a d ( ) 方法中显式稠播v a l i d a t e ) 。一方嚣,在页嚣 a 黝u p d a t e c u s t o m e r a s p x ,c h a r g e b y c u s t o m e r , a s p x 。裁a p p | y v e h i c i e a d d 。a s p x 弱霉释涵 数o n l o a d ( ) 中,都食旃相阕的诱旬v a l i d a t e v a l i d a t e ( ) ,最褥肖照代磁嚣众:另一方露, 对v a l i d a t e 谲弼靛幂透鞠谯鼹覆南辩象开麓孛濑该避凳瓣。 对豁上设计迸一步後纯,发褒整体稔瑟瑟酃是s y s t e m w e b u i p a g e 黉憨子擞;鄢盘, 把翳寄的骏涯懿救癸父炎中去赛臻,具体瓣疆程只溪攘继承父豢裁盎然懿关专黢逶凌链。 1 1 1 後诗三 麓2 7 设势兰豹类黼 o u r p a g e 是p a g e 的予装,在熬0 n l o n d ( ) 事 牛串瓣辑露美露麴黢谜述露缝一躲处 理t 类a d du p d a t e c u s t o m e r ,c h a r g e b y c l l s t o m e r 葶日a p p l y v e h i c l e a d d 都趱爨o u r p a g e , 在它们盼o n l o a d ( ) 事件中,先执行父裘o u r p a g e 的o n l o a d ( ) 事件,然后礴进行自 己瞧楚邂。这样簸浚计愆“设计二”受会瀵。蒋走,去捧了海了避符验诞蠢g | a 酌类 v a l i d a t e ;其次,g | 入了赝卷粪体瑟瑟瓣父癸o u r p a g e ,熬验谣秘裁壶父类蜜瑷。予类就 自然的嶷有了验诞的功能。这样的设计慝路艇符食瑟嘲对象设计中继承的慰想; 毽憝,对“设计兰”避萼亍仔鲻分群班屠,麓现这榉的设计也逐存在一宠豹潮题。首 先,对巾瘫大系统麓囊谢舞蕊避符骏诞配较簧杂,潞瑟进行犬蘩的蠹袭王作,裙席镌 健鼹也缀多。遮榉,掰有瓣具落舞鬻熬继承这个豢o u r p a g e ,会臻懑予黉变 孽“隧黪”, 不堪重负。其次,献麓能的霜废对类避季亍分糖+ 发现廷嚣撰懿驳戆“过羧”。在理想揍况 下,页瑟应该足颤费箍示戳及对用户的输入避彳亍晌麻。而在“设计三”中,每个页蕊简 嚣矮嚣蘩鼹公共馕稳箱户势豫避牙骏试。 一个筵好憨竣诗建该凳骚泛功熊获茭瑟孛势离密来。并盈在鑫示买霆之菸,宪戚耀 应蛇验诞操作。 一l s 西北_ 丁业大学硕j j 学位论文第二章企业级应用中软件复用技术的研究 i v 设计西 在“设计四”中,类a d d,和 ddupdatecustomerc h a r g e b y c u s t o m e ra p p l y v e h i c l e a 仍然是p a g e 的子类。并且在o n l o a d ( ) 事件中不进行任何验证操作。引入一个新类f i l t e r 对系统验证进行统一处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环保产业行业绿色技术创新与市场前景研究报告
- 2025年物联网技术应用场景与发展前景研究报告
- 2025年区块链行业技术应用前景展望研究报告
- 商场员工安全培训资料课件
- 2025年生物医药行业创新药物研发与市场前景分析报告
- 2025年运输行业无人驾驶技术发展前景研究报告
- 山西省2025山西长治医学院招聘博士研究生40人笔试历年参考题库附带答案详解
- 商场业主管理培训课件
- 夏县2025山西运城市夏县事业单位引进高素质青年人才25人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国农业科学院作物科学研究所科研管理处招聘1人笔试历年参考题库附带答案详解
- 新入职教师法律法规培训
- 数字经济与就业
- 2024年-2025年司法考试真题及复习资料解析
- 幼儿园护学岗职责
- 国开电大《组织行为学》形考任务1-4
- 施工安全生产风险分级管控和隐患排查治理双重预防机制建设实施方案
- 精细化工技术-大学专业介绍
- 餐饮财务问题的研究报告
- 慢性疾病运动干预中心服务要求(征求意见稿)
- 林同炎与美洲银行大厦
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
评论
0/150
提交评论