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