已阅读5页,还剩79页未读, 继续免费阅读
(计算机软件与理论专业论文)软件企业可复用资产库的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件企业可复用资产库的研究0 实现 软件企业可复用资产库的研究与实现 摘要 软件复用被视为解决软件危机、提高软件生产效率和质量的有效 途径。目前对于软件复用的研究已经得到了越来越多的重视。本文以 软件复用作为指导思想,研究并实现了软件企业可复用资产库,为软 件企业降低生产成本,提高生产效率,实现更高程度的软件复用提出 了新的解决方案。 本文首先阐述了软件复用技术的基本概念、优点、实现以及意义。 软件复用的主要思想是将已有的产品或其有效成分用于构造新的软 件或系统,其目的就是为了通过这样的方式降低开发成本、提高开发 效率。同时,文章还研究了当今软件复用主流技术之一的构件库技术, 明确了构件库在软件复用中的优势以及不足。文章认为,可复用资产 库的实现能够弥补当前构件库对于构件描述不统一的弊端,扩大软件 复用的粒度,以此来满足软件复用高层次、大粒度的发展方向。 为了研究和实现可复用资产库,文章首先对o m g 提出的可复用 资产规约( r a s ) 进行研究。可复用资产规约( r a s ) 是本次课题研 究的重点内容。可复用资产规约是关于可复用软件资产的结构、内容 和描述的一套指导原则与建议。其目的是为了建立一套统一的、标准 的对于可复用资产的描述,从而实现更大粒度的软件复用。 本文对可复用资产规约中核心r a s 、剖面以及对剖面实例化产 ;i i 软件企业日,复用资产库的研究j 实现 生的x m ls c h e m a 文档进行了深入的研究。可复用资产规约不仅定义 了可复用资产的概念、类型和组织方式等,而且给出了基于r a s 剖 面的可复用资产的描述方式。 通过对核心r a s 以及资产剖面的研究,文章在原有默认构件剖 面和默认w e bs e r v i c e 的基础上,对于默认剖面进行了扩展得到了默 认文档剖面和默认测试用例剖面。默认文档剖面能够描述在软件生产 周期中各阶段产生的各种文档。将这些文档作为可复用资产进行管 理,能够有效地提高软件企业内部的信息利用率。而默认测试用例剖 面主要侧重于对软件测试过程中各种测试用例进行统一的描述,提高 了软件测试这一软件生产重要环节之一的复用程度。 此外,文章提出了符合可复用资产库特点的基于传统信息检索的 x m l 编码和索引的可复用资产的检索技术。这一检索技术不依赖于 资产实体描述x m l 文档的文档结构,有利于扩展新的剖面以支持新 类型的资产。 基于上述的研究成果,本文设计了基于s t r u t s 的系统框架并实现 了资产创建、资产查询以及后台管理等功能模块,从而达到了对于可 复用资产进行有效管理的目的。 关键词:软件复用,可复用资产规约,可复用资产库,剖面,x m l s c h e m a ,实体描述x m l 文档 软件企业町复用资产库的研究j 实现 r e s e a r c ha n dr e a l i z a t i o no fr e u s a b l ea s s e t r e p o s i t o r yi ns o f t w a r ee n t e r p i u s e a b s t r a c t s o f t w a r er e u s ei sa ne f f e c t i v ea p p r o a c ht os o l v es o f t w a r ec r i s i sa n d t oi n c r e a s et h ee f f i c i e n c ya n dq u a l i t yo fs o f t w a r ep r o d u c t i o n n o wt h e r e s e a r c ho fs o f t w a r er e u s ei s g e t t i n gm o r ea n dm o r ea t t e n t i o n i nt h i s p a p e r , ar e u s a b l ea s s e tr e p o s i t o r yo fs o f t w a r ee n t e r p r i s ei sr e s e a r c h e da n d r e a l i z e d ,w h i c hh e l p ss o f t w a r ee n t e r p r i s et ol o w e rt h ep r o d u c t i o nc o s ta n d i n c r e a s et h ep r o d u c t i o ne f f i c i e n c ya n dp r o v i d e san e ws o l u t i o nf o rt o r e a l i z et h es o f t w a r er e u s ei nah i g h e rl e v e la sw e l l t h ep a p e ri n t r o d u c e st h eb a s i cc o n c e p t s ,a d v a n t a g e s ,r e a l i z a t i o na n d m e a n i n go fs o f t w a r e ,矿e u s ei nt h ef i r s tp a r t t h em a i ni d e ao fs o f t w a r e r e u s ei su s i n gt h ee x i s t e dp r o d u c t so rt h ee f f e c t i v ep a r t so ft h e mt o c o n s t r u c tn e ws o f t w a r eo rs y s t e m s t h r o u g ht h i sm e t h o d ,s o f t w a r er e u s e c a nl o w e rt h ec o s to fp r o d u c t i o na n di n c r e a s et h ee f f i c i e n c yo fs o f t w a r e d e v e l o p i n g m e a n w h i l e ,c o m p o n e n tr e p o s i t o r yi sd i s c u s s e da so n eo ft h e p o p u l a rs o f t w a r er e u s et e c h n o l o g yn o w a d a y sa n dt h ea d v a n t a g e sa n d d i s a d v a n t a g e so fc o m p o n e n tr e p o s i t o r ya r eg i v e n i ti sb e l i e v e dt h a tt h e v 软件企业可复用资产库的研究o j 实现 r e u s a b l ea s s e tr e p o s i t o r yc a nr e m e d yt h ed i s a d v a n t a g eo fc o m p o n e n t r e p o s i t o r yt h a tc o m p o n e n t sc a nn o tb ed e s c r i b e di nau n i t i v ew a ya n d e n l a r g et h es i z eo fs o f t w a r er e u s e t h u s ,t h er e u s a b l ea s s e tr e p o s i t o r yc a n r e a l i z es o f t w a r er e u s ei nh i g h e rl e v e la n db i g g e rs i z ew h i c hi s t h e d e v e l o p i n gd i r e c t i o no fs o f t w a r er e u s e i n o r d e rt or e s e a r c ha n dr e a l i z et h er e u s a b l ea s s e tr e p o s i t o r y , r e u s a b l ea s s e ts p e c i f i c a t i o np r o p o s e db yo m gh a st ob er e s e a r c h e d f i r s t i ti st h em a i np a r to ft h i sp a p e r r a si sas e to fg u i d e l i n e sa n d r e c o m m e n d a t i o n sa b o u tt h es t r u c t u r e ,c o n t e n t ,a n dd e s c r i p t i o n so f r e u s a b l ea s s e t s t h ep u r p o s ei st oe s t a b l i s has e to fu n i t e da n ds t a n d a r d d e s c r i p t i o n so fr e u s a b l ea s s e t ss ot h a tt h es o f t w a r er e u s ei nb i g g e rs i z e c a nb er e a l i z e d t h ec o r er a s ,p r o f i l e sa n dx m ls c h e m aw h i c hi n s t a n t i a t e s p r o f i l e sa r ed e e p l yd i s c u s s e di n t h i sp a p e r r a sg i v e sn o to n l yt h e c o n c e p t s ,t y p e sa n do r g a n i z a t i o nm e t h o d so fr e u s a b l ea s s e t sb u ta l s ot h e 一 m e t h o dt od e s c r i b er e u s a b l ea s s e t sb a s e do np r o f i l e 誊 t h r o u g ht h er e s e a r c ho fc o r er a sa n dp r o f i l e s ,t h ed e f a u l tp r o f i l ei s e x t e n d e da n dt h ed e f a u l td o c u m e n tp r o f i l ea n dt h ed e f a u l tu s ec a s ep r o f i l e a r eg o tb e s i d e st h ed e f a u l tc o m p o n e n tp r o f i l ea n dt h ed e f a u l tw e bs e r v i c e p r o f i l e t h ed e f a u l td o c u m e n tp r o f i l ec a nd e s c r i b ed o c u m e n t sw h i c ha r e g e n e r a t e d i nt h ed i f f e r e n t p h a s e s o fs o f t w a r e d e v e l o p i n g t h e s e d o c u m e n t sc a nb em a n a g e da sr e u s a b l ea s s e t st oi n c r e a s et h eu s er a t i oo f 软件企业a ,复用资产库的研究j 实脱 i n f o r m a t i o ni n n e rs o f t w a r ee n t e r p r i s e s t h ed e f a u l tu s ec a s ep r o f i l eg i v e s m o r ea t t e n t i o nt od e s c r i b ed if f e r e n tk i n d so fu s ec a s eu s e di ns o f t w a r et e s t p e r i o di nau n i t i v ew a ys ot h a ti t i n c r e a s e st h er e u s ed e g r e eo fs o f t w a r e t e s tw h i c hi sa ni m p o r t a n tp a r to fs o f t w a r ep r o d u c t i o n b e s i d e s ,as e a r c hm e t h o do fx m lc o d i n ga n di n d e x i n gb a s e do nt h e t r a d i t i o n a li n f o r m a t i o nr e t r i e v a li sg i v e n ,w h i c hc a nf i tt h ec h a r a c t e r so f r e u s a b l ea s s e tr e p o s i t o r y t h i sm e t h o dd o e sn o tr e l yo nt h es t r u c t u r eo f m a n i f e s tx m ld o c u m e n t ss ot h a ti tc a nh e l pt oe x t e n dn e wp r o f i l e st o s u p p o r t sn e w a s s e tt y p e s a c c o r d i n gt ot h er e s e a r c hr e s u l t s ,t h i sp a p e rd e s i g n s t h es y s t e m a r c h i t e c t u r eb a s e do ns t r u t sa n dr e a l i z e st h ef u n c t i o nm o d u l e so fa s s e t a d d i n g ,a s s e ts e a r c h i n ga n db a c k g r o u n dm a n a g i n ge t c b y t h i sw a y , r e u s a b l ea s s e t r e p o s i t o r y a c h i e v e st h ep u r p o s eo fr e u s a b l ea s s e t m a n a g i n g k e y w o r d s :s o f t w a r er e u s e ,r e u s a b l ea s s e ts p e c i f i c a t i o n ,r e u s a b l ea s s e t r e p o s i t o r y , p r o f i l e ,x m ls c h e m a ,m a n i f e s tx m l d o c u m e n t 软件企业町复用资产库的研究j 实现 东华大学学位论文原创性声明 本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位 论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除 文中已明确注明和引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的作品及成果的内容。论文为本人亲自撰写,我对 所写的内容负责,并完全意识到本声明的法律结果由本人承担。 学位论文作者签名:越毫毛 日期:) 印砗弓月j f 7 日 软件企业可复用资产库的研究j 实现 东华大学学位论文版权使用授权书 学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅或借阅。本人授权东华大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复 制手段保存和汇编本学位论文。 保密口,在年解密后适用本版权书。 本学位论文属于 不保密邑 学位论文作者签名: 日期:挪3 年月彳日 艚挪繇辫 软件企业町复用资产库的研究。j 实现 第一章绪论 1 1 课题的研究背景与意义 随着软件行业的不断发展,出现了越来越多、不同规模的企业从事软件产品 的开发工作。这些软件产品开发在带来巨大经济效益的同时,随之而来地也带来 许多的问题,其中最为重要的就是如何解决好软件危机问题。 软件危机的本质是建造新软件的能力和速度远远不能满足市场的需求。要想 从根本上解决软件危机,就是要将软件作为一种产业,实现社会大分工。当软件 生产企业可以通过类似于机械组装的形式来生产满足自己需求的应用系统时,那 就是软件行业彻底解决软件危机的时候。由此,软件复用技术应运而生。 软件复用被视为解决软件危机,提高软件生产效率和质量的现实可行的途 径。软件复用不仅是对软件程序的复用,还包括对软件生产过程中其它劳动成果 的复用。据统计,软件系统的开发中若复用程度达到5 0 ,则其生产率提高4 0 , 开发成本降低约4 0 ,软件出错率降低近5 0 。软件工程专家b o h e m 认为,近年 来软件复用已成为解决软件危机、提高软件生产率和质量的最有效、最具潜力的 技术手段 2 2 】。 然而,对于一个软件企业来说,除了在软件复用的基础上对于软件开发过程 的优化和对于软件开发技术的改进之外,是否还有其他的方法来提高软件企业的 核心竞争力么? 在借鉴了其他传统行业的经验之后,认为对软件企业的可复用资 产【l 】进行行之有效的管理将是我们解决好这一问题的最好途径。 首先来看一下普通企业当中的资产管理的作用是什么。对于企业资产进行管 理的重要性已经在各方面得到了论证,并且各行各业中的企业也通过实践印证了 企业资产管理带来的核心竞争力的提高。对于传统行业中的企业来说,企业的资 产主要是各项高价值的固定资产。通过对这些资产进行有效的管理,能够了解企 业内部资产的现状,从内部整合企业的各项资源,从而提高企业的核心竞争力, 对于企业今后更进一步的发展具有巨大的作用和长远的意义。 软件企业可复用资产库的研究j 实现 而对于软件企业来说,资产管理的重要性显得更为突出。与传统行业中的企 业不同,软件企业的资产的主体不再是传统企业的高价值固定资产,具有真正高 价值的资产应该是软件开发生产过程中的所产生各项软件资产。其中,尤其以各 种具有复用价值的资产显得最为重要,可以说其地位等同于传统行业企业中得高 价值固定资产。换句话来说,软件企业进行资产管理的对象应该是各种可复用的 软件资产。软件企业可复用资产简单来说,就是在软件企业生产过程中所得到的 各种可以被继续加以利用的资源。由于软件产品的特殊性,使得能否实现对于这 些资源的再利用,直接影响到了软件企业的核心竞争力以及今后的发展前景。因 此,对于软件企业可复用资产以及相关内容的研究势在必行。 软件企业所重视的内容不仅仅应该局限于如何优化软件开发过程,正如上面 所说的,它所关注的是在此基础之上如何提高其自身的核心竞争力。在软件产品 生产过程中,软件开发虽然在其中占有了相当大的比重,但是对一个软件企业来 说纯粹的软件开发并不是该企业全部竞争力的体现。如何行之有效地管理好软件 企业的资产从而提高企业的核心竞争力,也是各个软件企业领导层所面临的重要 课题。 与其它企业一样,软件企业也能够通过资产管理整合企业内部的各项资源, 明确企业的资产现状。此外,由于软件产品的可复用性高的特殊性,软件企业能 够在软件复用技术的支持下更加有效地对于内部的各项可复用资产进行管理。同 样地,一个高效合理的可复用资产管理系统也能够促进软件复用的发展。通过这 样相辅相成的作用,对于软件企业整合内部资源、优化软件生产将产生连锁式的 反应。 同时,对软件企业实行高效合理的可复用资产管理,可以使软件企业避免因 为人员流动导致的资产流失情况。虽然软件企业所生产的软件产品都能够通过现 有的管理模式加以存储和管理,但是很多与该产品相关的其他资源都因为人员的 流动而丢失,或者因为人员的离开而使得这些资源变得难以利用。对于企业来说, 每一个软件产品生产过程中产生的各种资源都应该成为自身发展过程中的一种 积累。这样的积累也使软件企业实现今后快速发展的有效保证之一。而目前很多 软件企业的现状正式由于人员的流动导致了这样的积累难以实现。通过可复用软 件资产的管理,能够最大程度地保证软件生产过程中各项可复用软件产品得到适 软件企业町复用资产库的研究o j 实现 当的分类、存储和管理,并不因为人员的流动而降低这些资产的可复用性,使得 软件企业能够实现上述的积累,从而使得软件企业真j 下实现基于软件复用的软件 生产。 软件企业不仅能够通过不断增加的软件产品复用率来优化软件生产的过程, 而且能够通过对企业的可复用软件资产的有效管理降低软件生产的成本、减少重 复工作的浪费,从“开源”和“节流”两个方面来提高企业自身的核心竞争力, 为软件企业今后的更大发展打下扎实的基础和提供有力的保障。由此可见,实现 可复用资产的管理对软件企业来说至关重要。 本课题正是在这样的背景下提出的。为了实现软件企业内部高效合理的可复 用资产管理,首先需要对软件企业可复用资产进行合理的分类和存储,建立软件 企业可复用资产库。应该来说,软件企业可复用资产库的建立是实现可复用资产 管理的重要基础。一个合理的可复用资产库的建立,不仅能够使得对于可复用资 产的管理更加便捷高效,而且能够使基于可复用资产的软件生产成为可能。因此, 本课题将着重研究和讨论如何建立软件企业可复用资产库并且加以实现。 1 2 课题的研究现状 对于可复用资产管理的研究,国外起步的时间比较早,也出现了一些比较成 熟的可以应用的系统,实现了资产级的软件复用。而国内的软件复用研究在此领 域上还处于起步阶段,有较大的可研究空间。 1 2 1 可复用资产规约( r e u s a b l ea s s e ts p e c i f i c a t i o n ) 可复用资产规约( r a s ) 是关于是可复用软件资产的结构、内容和描述方面 的一套指导原则与建议。可复用软件资产有不同的范畴和类型。规约规定了部分 范畴,更确切地说是规定了部分类型或剖面,并提供了对这些剖面的通用指导原 则。可复用资产规约( r a s ) 主要定义软件复用工程中的基本组成元素。它试图 通过一致的、标准的封装来减少复用业务中的阻力,如对它们进行标准化,则能 极大地降低复用的成本。【1 】 可复用资产规约( r a s ) 提供了一种标准的方法用于打包和释放一系列相关 的文件。这些文件或工作产物的集合被称为资产( a s s e t ) 。这种资产简化了与其 软件企业口j 。复用资产库的研究o j 实现 他用户共享过程的解决方案,因为大家使用方便的一致的方法来组织,文档化, 共享,存储和恢复方案。根据可复用资产规约( r a s ) 生成的资产( 下文简称 r a s 资产) 在尺寸、复杂性和目的上可以是千差万别的。r a s 资产的范围是资 产的制造者根据客户的需要制定的。距离来说,一个r a s 资产包含一系列的引 用文件,这些文件可以包含源程序的代码片断,文档等。资产也可以被设置为网 络资源定位。这些r a s 资产包含通用的代码结构和模型,应用他们可以快速的 产生设计和代码。更加复杂的r a s 资产能够被设计包含用于创建子系统的软件 架构,以适应系统需求变化的需要。这样的一个r a s 资产可以作为整个应用的 基础。 可复用资产规约( r a s ) 是由o m g 提出,在目前该领域的研究当中是一个 比较统一的标准。可复用资产规约( r a s ) 指导了对于可复用资产的描述,通过 这样的指导我们可以得到统一的、标准的对于可复用资产的描述。正如上述,可 复用资产规约( r a s ) 是利用规定的剖面来对于资产的描述进行指导。目前的研 究结果提出了三种剖面,包括默认剖面、默认构件剖面和默认w e bs e r v i c e 剖面。 由于r a s 规约是本课题比较主要的理论基础,因此下文会有更加详细的介绍。 1 2 2r a t i o n a lx d e r a t i o n a le x t e n d e dd e v e l o p m e n te n v i r o n m e n t ( r a t i o n a lx d e ) 是i b m 的5 大 软件品牌家族中的r a t i o n a l 软件产品家族所大软件开发人员所提提供功能强大 的,基于开放标准的,将软件开发生命周期中的各个环节无缝集成的应用程序开 发平台。 正如上述,软件的复用一直以来都是软件开发追求的重要目标之一。软件的 复用可以缩短软件开放周期,提高软件质量,是软件开发企业最重要的核心竞争 力。但是软件的复用受到很多因素的影响,比如软件设计的质量,项目的交付时 间,软件开发过程各个阶段工作产品的管理及规范都在某种程度上制约了软件的 复用。软件的复用可以分为多个层次,比如代码级复用,构件级复用,设计的复 用,软件架构的复用以及解决方案的复用等等。对于开发人员来说更加关心代码 级复用、构件级复用、设计的复用和软件架构的复用。而r a t i o n a lx d e 的软件 复用支持是基于可复用资产规范( r a s ) 生成的资产,其软件复用的级别是资产 4 软件企业町复用资产库的研究j 实现 级的。r a s 是r a t i o n a lx d e 进行软件复用的机制和载体,所有的可复用资产都 要符合r a s 。 由于r a s 资产的价值依赖于标准化和一致性,和u m l 一样可复用资产规 约( r a s ) 已经成为一个业界的标准。可复用资产规约( r a s ) 在装配,组织, 存储和文档化r a s 资产提供指导,并且r a t i o n a lx d e 提供了用于创建,文档化、 测试和打包r a s 资产的工具。为了保存资产,r a t i o n a lx d e 创建一个z i p 归档 文件来保存资产的部件。这个文件以r a s 作为扩展名,其中有一个清单文件 r a s s e t x m l ,清单文件中记录了所有存储在z i p 文件中的文件和如何定位他们的说 明。创建r a s 资产的主要目的就是复用,x d e 工具允许我们在本地和远程存储 库中查找和归档资产,以实现资产的共享和复用。r a t i o n a lx d e 提供了两种缺省 的存储库用于存储和访问你的资产文件:本地存储库和工作区存储库。只要拥有 相应的访问权限,r a t i o n a lx d e 用户可以共享他们的本地存储库。其他的存储库 可以以基于w 曲的方式来访问。 r a t i o n a lx d e 中目前支持的软件复用方法包括模式和代码模板。模式是在某 一特定环境下,对一个特定问题的一个解决方案。使用模式可以给我们带来短期 或长期的利益。在r a t i o n a lx d e 中使用模式有如下优势: 1 ) 模式可以被很好的共享 模式是一种解决方案,通过对模式的规范化和文档化,它可以在项目、公司 甚至是公司之间进行共享。这个共享的范围取决于模式的创建者创建模式的意 图。当前互联网上有很多已存在的模式可以使用,最著名的莫过于g o f 模式。 r a t i o n a lx d e 提供了对g o f 模式的完全支持,包括对某些指定编程语言的实现。 2 ) 模式通过已经定义好的解决方案来解决问题 模式包含在一定环境下解决特定问题的专家经验和方法。模式的用户依靠良 好的模式文档来选择和应用模式。用户需要知道模式能够解决什么样的问题,并 且需要了解模式是如何解决问题和应用模式的过程逻辑。因此好的模式应该包括 好的模式文档。 3 ) 模式可以被广泛的应用 模式可以在软件开发的各个阶段被使用。你可以创建一个解决单一问题的模 式或者针对某一用例应用的模式。一个模式也可以使用其他的模式或者模式系统 5 软件企业町复用资产库的研究j 实现 来解决复杂的问题。模式的设计类型可以包括结构化的、行为化的和条件化的解 决方案,因此,模式的应用范围是非常广阔的和灵活的。 4 ) 模式可以很好的提升软件的重用性 软件的重用包括系统的创建、修补和软件组件的维护。创建和使用模式可以 促进软件的重用,模式一旦被创建便可以被多次的使用。使用模式可以通过避免 重新设计来节省开发的成本,重用可以不断的提高软件的质量和可靠性。 2 4 3 另外,在x d e 中提供了一个叫做代码模板( c o d et e m p l a t e ) 的功能,可以 非常好的实现代码片断的重用。将代码模板和模式设计相结合,可以产生对丌发 人员更加有用的模式。通过对模式中的方法进行代码模板的绑定,可以在应用模 式时自动的为开发人员生成代码模板中的代码片断。 r a t i o n a lx d e 由此引入了模式资产的概念。模式和模式资产的核心内容是一 样的,都可以被重用。但模式资产具有r a s 标准兼容的结构,可以使模式更方 便的在开发团队或者组织之间进行交换,可以以标准的格式方便的导入和导出, 而且可以在可复用资产库中方便的检索和查询。因此当创建模式时,首选的方式 是创建模式资产。 应该来说,r a t i o n a lx d e 是一款贯穿于整个软件开发生命周期的用于设计、 编码、测试、团队沟通和构建文档的集成开发工具。通过对其的研究,能够了解 在软件开发过程中各种资产的产生时期和表现形式,对于建立合理高效的软件企 业可复用资产库具有一定的指导意义。 1 3 本文的研究内容 本文的研究内容主要是关于如何实现对于可复用资产的统一的、标准的描 述,并且根据这样的描述从软件生产过程中概括出相应的可复用资产并加以存储 和管理,为实现软件企业资产级的软件复用打好基础。文章将分为如下几个部分。 第二章的内容是阐述了软件复用的相关内容,论述了软件复用技术的现状以 及发展方向。同时,论述了构件库这一当今软件复用的主流技术。从构件库的角 度出发,通过对于现有构件库的研究,找出现有的构件库与可复用资产库之间的 联系与区别,以此为接下来构件可复用资产库的工作打下基础。 第三章的内容是详细阐述可复用资产规约( r a s ) 的具体内容,包括对于可 复用资产的定义、描述角度、描述方式等等,从而实现对于软件企业可复用资产 6 软件企业町复用资产库的研究j 实现 的统一化的描述。 第四章主要阐述了可复用资产的描述以及检索的问题。文章根据可复用资产 规约( r a s ) 的研究成果,在现有可复用资产规约( r a s ) 剖面的基础上,扩展 得到默认文档剖面和默认测试用例剖面,进一步扩大可复用资产规约( r a s ) 所 能描述的资产范围,从而为构建软件企业可复用资产库提供更多的理论依据。同 时,文章还对基于此描述下的可复用资产库的检索方式进行了讨论。 第五章主要在上两章理论研究的基础上,阐述了如何设计并且实现软件企业 可复用资产库。 第六章的内容是总结与展望。在总结全文的成果基础上,对于今后的研究方 向做了一定的展望,将通过引入本体的概念来实现语义化的可复用资产库,从而 提高有关资产查询的查全率和查准率。 1 4 本章小结 本章主要论述了本次课题的研究背景、研究的现状以及研究的目的与意义, 并对于本文的内容进行了概述。本课题主要希望通过研究,在现有软件复用技术 发展的基础上,通过研究和实现可复用资产库,来实现资产级别的软件复用。从 而以更高层次和更大粒度的软件复用技术,来帮助企业提高自身的核心竞争力。 软件企业町复用资产库的研究j 实现 2 1 引言 第二章软件复用 软件复用是软件工程学科的一个研究热点,也是解决软件危机的有效途径之 一。软件复用是将已有的软件及其有效成分用于构造新的软件或系统,使人们在 新系统的开发中着重于解决出现的新问题、满足新需求,从而避免或减少软件开 发中的重复劳动,避免一切“从零开始 的情况。复用是以已有的工作为基础, 充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用 的特有构成成分。通过复用,在应用系统开发中可以充分利用已有的开发成果, 避免重新开发可能引入的错误,从而提高软件开发的效率和质量。 本章通过对于软件复用的研究,明确软件复用的目的与相关技术手段。并且 与可复用资产的概念相结合,使得可复用资产库能够真正满足软件复用的要求, 实现软件复用的目的。 2 2 软件复用概述 2 2 1 软件复用基本概念 软件复用的概念是在1 9 6 8 年n a t o 软件工程会议上被第一次引入的,在其后 的几十年中进行了许多复用技术的研究和实践活动。随着研究的不断深入,许多 研究人员从各自的不同角度对软件复用这个概念作了补充和说明。【2 7 】 2 8 】 一般来说,软件复用的主要思想是:将软件看成是由不同功能部分的“组件” 所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工 具。这样,如果完成各种工作的组件被建立起来以后,编写特定软件的工作就变 成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维 护工作都有本质性的改变。 软件复用的行为可能发生在三个维上:时间维,平台维和应用维上。 软件企业町复用资产库的研究j 实现 时问维上的复用,是指使用以前的软件版本作为新版本的基础,加入新功能, 适应新需求,即软件维护。 平台维上的复用是指以某平台上的软件为基础,修改其和运行平台相关的部 分,使其运行于新平台,即软件移植。 应用维上的复用是指将某软件( 或其中构件) 用于其他应用系统中,新系统 具有不同功能和用途,即真正的软件复用。 这三种行为中都重复使用了现有的软件,但是真正的软件复用是为了支持软 件在应用维的演化,使用“为复用而开发的软件( 构件) ”来更快、更好地开发新的 应用系统。 2 2 2 软件复用的分类 软件复用的研究范围很广,在软件复用基本概念的基础上,对于软件复用可 以按复用内容、范围、方法和应用等标准对软件复用进行分类。 1 ) 依据复用的对象,可以将软件复用分为产品复用和过程复用。【2 9 】 产品复用又称组装式复用,指复用已有的软件构件,通过构件集成( 组装) 得到新系统。过程复用又称生成式复用,指复用已有的软件开发过程,使用可复 用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技 术的发展,目前只适用于一些特殊的应用领域。 2 ) 根据对可复用信息进行复用的方式可分为白盒复用和黑盒复用。 黑盒复用指对己有产品或构件不需作任何修改,直接进行复用,这是理想的 复用方式。 白盒复用指根据用户需求对已有产品进行适应性修改后才可使用。白盒复用 一般为源代码一级的复用,以及相应的测试用例、文档等的复用。【2 7 】 3 ) 根据复用活动所跨越的领域可分为纵向( 垂直式) 复用和横向( 水平式) 复用。 横向复用是指复用不同应用领域中的软件元素,例如数据结构、分类算法、 人机界面构件等。标准函数库是一种典型的原始的横向复用机制。 纵向复用是指在一类具有较多公共性的应用领域之间进行软部件复用。因为 在两个截然不同的应用领域之间实施软件复用非常困难,潜力不大,所以纵向复 9 软件企业可复用资产库的研究j 实现 用广受瞩目,并成为软件复用技术的真f 所在。 4 ) 根据k r u e g e r 等人的分类标准,可将软件复用按复用粒度大小和抽象层 次的不同,分为小粒度、中粒度和大粒度复用三类。1 3 0 】 小粒度复用即小规模复用,如程序代码的复用。主要表现为函数、子程序 面向对象中的类、方法的复用。源代码复用和目标代码复用属于小粒度复用。 中粒度复用:即中等规模复用,如软件设计结果的复用。进一步按复用粒度 的大小,又分为两种:微体系结构复用和宏体系结构复用。前者是注重于如何对 系统的局部行为进行要领建模和解释,而后者则以宏体系结构为基础,注重系统 的全局结构的建立。设计结果复用和分析结果复用均属于中粒度复用。 大粒度复用即大规模复用,如应用子系统的复用。复用对象是独立开发的应 用程序或子系统。在复用过程中,它们不能做任何修改和扩充。通过一些标准协 议,可使这些大粒度构件( 应用程序) 协同工作,共同实现某些功能。类模块复 用和构件技术属于大粒度复用。 通过对于对小粒度复用进行了长期的研究和实践,发现这类复用方式有许多 局限性。因此,近年来更多的研究和实践转向了中、大粒度复用。并且发现通过 中粒度复用,软件设计者们在开发一个新的软件系统时,可以利用已有的需求分 析、设计的思想和结果。通过大粒度复用,可以利用已有的系统来组建新的应用 系统。设计新的应用系统时,只需考虑各子系统相互作用的框架结构,而不必关 心设计和实现的细节,从而缩短了开发时期,降低了开发成本。可以说,大粒度 的软件复用是现今以及今后最为重要的研究发展方向。 2 2 3 软件复用的级别 从软件工程的角度出来,软件生命周期中一些主要开发阶段的软件制品的复 用是一个比较重要的研究内容。按抽象程度的高低,可以划分为代码的复用、设 计的复用、分析的复用和测试信息的复用四个级别。【3 1 】 1 ) 代码的复用 包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久, 当前大部分编程语言的运行支持系统都提供了连接、绑定等功能来支持这种复 用。源代码的复用级别略高于目标代码的复用,程序员在编程时把一些想复用的 l o 软件企业町复用资产库的研究j 实现 代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。想 大规模的实现源程序的复用只有依靠含有大量可复用构件的构件库。 2 ) 设计的复用 设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少, 从而使可复用构件被复用的机会更多,并且所需的修改更少。这种复用有三种途 径,第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这 些构件应用于新系统的设计;第二种途径是把一个现有系统的全部设计文档在新 的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;第三种途 径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。 3 ) 分析的复用 这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事 物或某些问题的抽象程度更高的解法,受到设计技术及实现条件的影响很少,所 以可复用的机会更大。复用的途径也有三种,即从现有系统的分析结果中提取可 复用构件用于新系统的分析:用一份完整的分析文档作输入产生针对不同软硬件 平台和其它实现条件的多项设计;独立于具体应用,专门开发一些可复用的分析 构件。 4 ) 测试信息的复用 主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试 用例在新的软件测试中使用,或者在软件做出修改时在新的一轮测试中使用。后 者是在测试过程中通过软件工具自动地记录测试的过程信息,包括测试员的每一 个操作、输入参数、测试用例及运行环境等一切信息。这种复用的级别,不便和 分析、设计、编程的复用级别作准确的比较,因为被复用的不是同一事物的不同 抽象层次,而是另一种信息,但从这些信息的形态看,大体处于与程序代码相当 的级别。 2 2 4 软件复用的关键因素 实现软件复用的关键因素( 技术和非技术因素) 主要包括:软件构件技术 ( s o f t w a r ec o m p o n e n tt e c h n o l o g y ) 、领域工程( d o m a i ne n g i n e e r i n g ) 、软件构架 ( s o f t w a r e a r c h i t e c t u r e ) 、软件再工程( s o f t w a r er e e n g i n e e r i n g ) 、开放系统 o p e l l l l 软件企业口,复用资产库的研究j 实现 s y s t e m ) 、软件过程( s o f t w a r ep r o c e s s ) 、c a s e ( c o m p u t e ra i d e ds o f t w a r e e n g i n e e r i n g ) 技术等以及各种非技术因素。【3 2 】【3 3 】 1 ) 软件构件技术 构件( c o m p o n e n t ) 是指应用系统中可以明确辨识的构成成分。而可复用构 件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可复用价值的构件。 构件和构件库作为目前较为流行的软件复用技术,将在下面的章节中详细阐 述。 2 ) 领域工程 领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的 过程,它覆盖了建立可复用软件构件的所有活动。领域是指一组具有相似或相近 软件需求的应用系统所覆盖的功能区域。领域工程包括三个主要的阶段:领域分 析、领域设计以及领域实现。领域分析的主要目标是获得领域模型( d o m a m m o d e l ) 。领域模型描述领域中系统之间的共同需求。领域设计的目标是获得领 域架构( d o m a ms p e c i f i cs o f t w a r ea r c h i t e c t u r e ,d s s a ) 。d s s a 描述在领域模型 中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系 统的需求的一个高层次设计。领域实现的主要行为是定义将需求翻译到由可复用 构件创建的系统的机制。 3 ) 软件体系结构 软件体系结构也称为架构,它是对软件系统的系统组织,是对构成系统的构 件的接口、行为模式、协作关系等体系问题的决策总和。研究软件体系结构有利 于发现不同系统的高层共性,保证灵活和正确的系统设计,对系统的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西南宁市良庆区那马初级中学秋季学期计划招聘1人考试笔试模拟试题及答案解析
- 2025河北张家口康保县二人台艺术团招聘专业演职人员18人笔试考试参考试题及答案解析
- 2025年福建省博达企业管理咨询服务有限公司招聘16人笔试考试备考试题及答案解析
- 2025云南省交通投资建设集团有限公司下属经营公司招聘13人笔试考试参考试题附答案解析
- 煤矿顶板管理安全培训试题及答案
- 工程测量原理及应用考试题及答案
- 2025吉林延边州档案馆招聘公益性岗位4人考试笔试模拟试题及答案解析
- 景德镇昌江区招聘城市社区工作者(专职网格员)【68人】笔试考试参考题库附答案解析
- 2025内蒙古包钢金石选矿有限责任公司招聘7人笔试考试参考试题附答案解析
- 2025福建省翼食荟餐饮管理有限公司及南安市翼融信资产运营有限公司招聘4人笔试考试备考题库及答案解析
- 2026年辽宁医药职业学院单招职业适应性考试必刷测试卷新版
- 心源性休克考试题及答案
- 美国心脏协会心肺复苏(CPR)与心血管急救(ECC)指南(2025年)解读课件
- DB32∕T 3822-2020 内河航道维护技术及质量评定规范
- 时代乐章第三课自然之美 课件 2024-2025学年人教版(2024)初中美术上册
- CNC机加工作业指导书
- 提灌站施工施工方案
- (精心整理)视唱练耳教案
- 常用肺功能指标
- 热带雨林的动植物
- 60仙命配24山吉凶选择一览表
评论
0/150
提交评论