- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
代码拷贝是指从熟悉的已有系统中成块地拷贝其中的源代码,设计拷贝是指拷贝一大块代码,删去其中的内部细节,但保持设计的总体框架。这类复用的优点是由于对原有系统很熟悉,所以不用花大力气去理解和修改代码,对简单的应用比较有效。其缺点是不同的开发者可能拷贝不同的片段;同时,由于对原有系统过于熟悉,容易受原有设计的影响,难以使其很好地适应新的系统;这类复用通常不适合于复杂的应用。代码和设计拷贝这类复用的特点是从已设计、实现、调试好的类似系统中尽可能多地成块地拷贝源代码。复用者通常是已有软件的开发者,或对已有软件比较熟悉的人,他能较容易地找到软件中可复用的部分,通过手工修改原有的代码,使之符合新的系统要求,在集成时主要解决所拷贝代码与当前系统的命名问题。软件复用的粒度源代码复用是指复用存放在库中的某种高级程序语言书写的源代码构件。这类复用的特点是构件本身是为复用而开发的,可复用构件存放在一个供大家访问的库中。存放在库中的构件应有一段简明的描述,构件库必须提供有效的构件检索手段,使用者通过设置参数值将其特例化,通过过程调用方式调用构件。这类复用的优点是:构件是参数化的,因此大大减少对构件的人工修改;由于构件已经经过充分的测试,因此可靠性比较高。其缺点是构件库极其庞大。同时,由于构件是为复用而开发的,因此构件一般尽可能的通用,从而增加了额外的开销。123源代码复用软件复用的粒度这类复用的特点是不仅支持高层次的复用,也支持较低层次的复用。设计和软件体系结构可以存放在一个库中,并给以简单的描述。这种库必须对其提供有效的检索,使用者通过良好定义的接口进行集成。设计和软件体系结构复用是指对已有的软件体系结构和(或)设计的复用。这类复用的优点是:可复用较大粒度的软件制品,修改具有局部性。其缺点是难以抽象出简明的描述,存放体系结构的库难以管理。010203设计和软件体系结构复用软件复用的粒度应用程序生成器是指复用整个软件系统的设计,包括整体的软件体系结构、体系结构中的主要子系统、特定的数据结构和算法等。01这类复用的特点是:从高层的领域特定的规约自动生成一个完整的可执行系统,生成器可根据输入的规约填充原先没有的细节,它通常只针对一些成熟的领域。02这类复用的优点是自动化程度高,能获取某个特定领域的标准,以黑盒形式输出结果(应用程序);其缺点是难以构造特定的应用成序生成器。03应用成序生成器(ApplicationGenerators)软件复用的粒度软件复用的粒度领域特定的软件体系结构(Domain-SpecificSoftwareArchitecture,DSSA)DSSA复用是指对特定领域中存在的一个公共体系结构及其构件的复用。DSSA的特点是:需要对领域有透彻的理解才能进行领域建模;库是针对特定领域的;领域模型、基准体系结构(referencearchitecture)和库随着领域的发展而不断发展。这类复用的优点是复用的程度高,对可复用构件的组合提供了一个通用框架。其缺点是前期投资很大。垂直式复用是指在同一应用领域中的复用。由于同一领域中的应用存在许多共性或相似性,因此复用面较广,且有助于获得系统的通用模型。1水平式复用是指在不同应用领域中复用通用的软件元素,如数据结构、算法、人机界面等软件元素。由于不同领域的应用一般差异较大,因此除了一些通用软件元素外,很难找到可复用的构件,所以水平式复用相对较少。但是,随着互联网的应用不断发展,中间件以及各种应用平台是水平式复用的典型发展趋势。2垂直式复用和水平式复用软件复用的形式组装式复用是事先已有一个可复用构件库,开发软件时从库中选择合适的构件,然后组装成新系统(必要时还要开发一些库中没有的构件)。这类复用的基础是一个逐步完善的、高效的构件库系统,可复用的构件应有简明的便于检索的描述和标准的接口。这类复用主要着重于源代码级的复用。生成式复用是根据待开发软件的形式化描述,通过应用程序生成器自动生成相应的应用软件。12组装式复用和生成式复用软件复用的形式01黑盒复用是指对可复用构件不作任何修改,原封不动地复用。这类可复用构件通常比较通用,它往往具有很好的封装性,并具有标准的接口。这类构件的复用率往往比较高,因此要求有很高的可靠性和质量。02白盒复用是指在复用一个构件时需对其进行部分修改,以适应具体应用的需要。黑盒复用和白盒复用软件复用的形式软件复用有效地缩短了软件开发的时间,降低了开发和维护的成本,提高了软件的质量。软件复用是有代价的:通常,创建和维护一个可复用构件的成本是在单个工程中实现同样功能的模块的成本的1.5-3倍;在开发软件系统时复用一个构件的成本大约是开发与其功能等价的模块的成本的四分
文档评论(0)