第四章 可重用性和可移植性

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.根据重用方式划分
❖ (1)黑盒重用:对可重用的构件不加任何修 改,直接重用。
这种重用的构件为通用型可重用构件,具有良好 的封装性和标准的接口,并具有高可靠性和质 量保证,因此这种类型构件重用率很高。
❖ (2)白盒重用:对可重用的构件进行部分修 改,以适应新系统的要求。
4.1.5可重用软件构件的生产和 使用
第四章 可重用性和可移植性
本章重点: 重用的概念; 可重用的软件成份; 重用对可维护性的影响; 重用的障碍; 可移植性的概念; 实现可移植性的技术。
4.1重用的概念
❖ 重用也叫再用或复用,是指同一事物不作修改 或稍加改动就多次重复使用。在软件工程中, 重用是指使用一个产品中的组件来简化另一个 不同的产品的开发。
4.1.4软件重用形式的划分
1.根据重用跨越的问题领域划分 ❖ (1)垂直式重用:在同一应用领域中重用。 采用这种重用方式的各个应用系统具有共性或相似性。
对于这种形式,便于获得通用模型,重用面广;大多 数软件组织采用这种重用形式。 ❖ (2)水平式重用:在不同领域中重用通用的软件元素 。 由于各个应用系统一般差异较大,可重用的构件较少。 常用的通用软件元素有数据结构、算法、人机界面等 。现在互联网中的中间构件及各种应用平台已经变成 水平式重用的发展趋势。
机制。 继承:重用类库中的类时无须修改已有的代码,就可扩充或具体化
在库中找出的类。 ❖ (2) 设计结果重用 重用某个软件系统的设计模型(即求解域模型)。 ❖ (3) 分析结果重用 重用某个系统的分析模型。适用于用户需求未改变,但系统体系结
构发生了根本变化的场合。
4.1.2 典型的可重用软件成分
❖ (1)项目计划。跨项目重用软件项目计划的基本结构 和许多内容,可以减少用于制定计划的时间,降低与 建立进度表和进行风险分析等活动相关联的不确定性 。
4.1.3软件成分重用的过程
软件重用的一般过程如下: ❖ 抽象:对一个可重用的软件成分,首先要对其进行“
抽象”概括,即描述该软件成分的本质、功能、适用 范围和特点,以此作为关键字,方便使用者在调用时 进行检索; ❖ 存储:以关键字作为索引,放置在“可重用的软件成 分库”中备用; ❖ 检索:在组建(集成)新系统时,利用关键字,根据 需要从可重用的软件成分库检索挑选适合新系统功能 要求的软件成分; ❖ 实例化:对选取的软件成分进行简单的修改调试,变 成完全适合新系统要求的软件成分; ❖ 系统集成:最后进行系统集成,完成新系统的组建。
❖ (5)设计。用传统方法开发的体系结构、数据、接口 和过程设计结果,是重用的候选者;系统和对象设计 也是可重用的。
❖ (6)源代码。用兼容的程序设计语言书写的、经过验 证的程序构件,是重用的候选者。
❖ (7)用户文档和技术文档。即使针对不同的应用,也 有可能重用用户文档和技术文档的大部分。
❖ (8)用户界面。GUI(图形用户界面)软件可占到一 个应用程序的60%代码量,经常被重用,重用的效果 非常显著,这可能是最广泛被重用的软件成分。
1.软件构件的生产 开发者获取并生产可重用的构件,其基础工作是建立可重用构件库
和构件分类检索方案。软件wk.baidu.com件的生产步骤如下: ❖ 领域分析:分析和抽象该领域的通用成分和应用体系结构; ❖ 基准模型:构建领域基准体系结构模型,该模型应具有可扩充性
; ❖ 寻找构件:在基准体系结构模型基础上寻找和确定可能的构件; ❖ 性能分析:挑选具有特殊性的构件,并从通用性和局部可修改性
大量使用可重用的组件来开发软件,可以从下述 两个方面提高软件的可维护性:
❖ 第一方面,通常可重用的组件在开发时经过很 严格的测试,可靠性比较高,且在每次重用过 程中都会发现并清除一些错误,随着时间推移 ,这样的组件将变成实质上无错误的。
❖ 第二方面,很容易修改可重用的组件使之再次 应用在新环境中,因此,软件中使用的可重用 的组件越多,维护也就越容易。
领域知识
问题领域分析
客户需求 理解
软件开发与软 件构件开发
软件构件
软件构件
目标软件 确认
检索
软件构件
可重用软件构 件库
软件构件
图4-1面向软件构件复用的软件开发过程
4.1.1软件成分的重用级别
软件成分的重用划分成以下3个级别: ❖ (1) 代码重用 调用库中的模块。可以采用下列形式: 源代码剪贴:缺点是复制或修改原有代码时可能出错。 源代码包含:许多程序设计语言都提供包含(include)库中源代码的
2.根据实现重用的途径划分
❖ (1)组装(集成)式重用:建立可重用构件 库,开发新的软件时从构件库中选取合适构件 组装(集成)成新系统。
这种重用的基础是一个逐渐完善、高效率的构件 库系统。在这种重用方式中,可重用的构件应 该有简明的特征描述以便检索,并有标准接口 ;并且着重源代码的重用。
❖ (2)生成式重用:通过形式化语言描述,利 用程序自动生成器生成相应的软件系统。
❖ 最早的软件重用技术:人们建造了子程序库, 开发成运行时支持程序,使用时只需要调用相 应的函数或方法即可,而不用从头开始建造相 应的程序。
❖ 随着软件开发技术的不断发展和软件重用技术 的需求,又提出软件构件和软件构件库的概念 。
❖ 重用不但可以缩短开发过程、降低开发成本、 提高软件产品的质量,还可以减少维护的时间 和降低维护成本。
❖ (2)成本估计。不同项目中常含有类似的功能,只做 极少修改或根本不做修改就重用对该功能的成本估计 结果。
❖ (3)体系结构。很少有截然不同的程序和数据体系结 构,有可能创建一组类属的体系结构模板,把那些模 板作为可重用的设计框架。
❖ (4)需求模型和规格说明。用传统软件工程方法开发 的分析模型,是可重用的。面向对象开发方法中,类 和对象的模型及规格说明也是经常被重用的对象。
❖ (9)数据。在大多数被重用的软件成分中,被重用的 数据包括: 内部表、列表和记录结构,以及文件和完 整的数据库。
❖ (10)测试用例。如果设计或代码构件被重用,相关 的测试用例也会一同被重用。
4.1.3软件成分重用的过程
系统集成
目标软件
实例化
软件成分
软件成分
抽象
检索
软件成分
可重用软件构 件库
软件成分
相关文档
最新文档