第四章-可重用性和可移植性课件

上传人:2127513****773577... 文档编号:241515158 上传时间:2024-07-01 格式:PPT 页数:30 大小:252.90KB
返回 下载 相关 举报
第四章-可重用性和可移植性课件_第1页
第1页 / 共30页
第四章-可重用性和可移植性课件_第2页
第2页 / 共30页
第四章-可重用性和可移植性课件_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第四章第四章 可重用性和可可重用性和可移植性移植性 本章重点本章重点:重用的概念;重用的概念;可重用的软件成份;可重用的软件成份;重用对可维护性的影响;重用对可维护性的影响;重用的障碍;重用的障碍;可移植性的概念;可移植性的概念;实现可移植性的技术。实现可移植性的技术。1精选ppt第四章 可重用性和可移植性 本章重点:1精选ppt4.1重用的概念重用的概念 n n重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。在软件工程中,重用是指使用一个产品中的组件来简化另一个不同的产品的开发。2精选ppt4.1重用的概念 重用也叫再用或复用,是指同一事物不作修改或n n最早的软件重用技术:人们建造了子程序库,开发成运行时支持程序,使用时只需要调用相应的函数或方法即可,而不用从头开始建造相应的程序。n n随着软件开发技术的不断发展和软件重用技术的需求,又提出软件构件和软件构件库的概念。3精选ppt最早的软件重用技术:人们建造了子程序库,开发成运行时支持程序n n重用不但可以缩短开发过程、降低开发成本、提高软件产品的质量,还可以减少维护的时间和降低维护成本。4精选ppt重用不但可以缩短开发过程、降低开发成本、提高软件产品的质量,大量使用可重用的组件来开发软件,可以从下述两大量使用可重用的组件来开发软件,可以从下述两个方面提高软件的可维护性:个方面提高软件的可维护性:n n第一方面,通常可重用的组件在开发时经过很严第一方面,通常可重用的组件在开发时经过很严格的测试,可靠性比较高,且在每次重用过程中格的测试,可靠性比较高,且在每次重用过程中都会发现并清除一些错误,随着时间推移,这样都会发现并清除一些错误,随着时间推移,这样的组件将变成实质上无错误的。的组件将变成实质上无错误的。n n第二方面,很容易修改可重用的组件使之再次应第二方面,很容易修改可重用的组件使之再次应用在新环境中,因此,软件中使用的可重用的组用在新环境中,因此,软件中使用的可重用的组件越多,维护也就越容易。件越多,维护也就越容易。5精选ppt大量使用可重用的组件来开发软件,可以从下述两个方面提高软件的图图4-14-1面向软件构件复用的软件开发过程面向软件构件复用的软件开发过程6精选ppt6精选ppt4.1.1软件成分的重用级别软件成分的重用划分成以下软件成分的重用划分成以下3 3个级别:个级别:n n(1)(1)代码重用代码重用调用库中的模块。可以采用下列形式:调用库中的模块。可以采用下列形式:源代码剪贴:缺点是复制或修改原有代码时可能出错。源代码剪贴:缺点是复制或修改原有代码时可能出错。源代码包含:许多程序设计语言都提供包含源代码包含:许多程序设计语言都提供包含(include)(include)库中源代码的机制。库中源代码的机制。继承:重用类库中的类时无须修改已有的代码,就可扩充或具体化在库继承:重用类库中的类时无须修改已有的代码,就可扩充或具体化在库中找出的类。中找出的类。n n(2)(2)设计结果重用设计结果重用重用某个软件系统的设计模型重用某个软件系统的设计模型(即求解域模型即求解域模型)。n n(3)(3)分析结果重用分析结果重用重用某个系统的分析模型。适用于用户需求未改变,但系统体系结构发重用某个系统的分析模型。适用于用户需求未改变,但系统体系结构发生了根本变化的场合。生了根本变化的场合。7精选ppt4.1.1软件成分的重用级别软件成分的重用划分成以下3个级别4.1.2 典型的可重用软件成分n n(1 1)项目计划。跨项目重用软件项目计划的基本结构和)项目计划。跨项目重用软件项目计划的基本结构和许多内容,可以减少用于制定计划的时间,降低与建立进许多内容,可以减少用于制定计划的时间,降低与建立进度表和进行风险分析等活动相关联的不确定性。度表和进行风险分析等活动相关联的不确定性。n n(2 2)成本估计。不同项目中常含有类似的功能,只做极)成本估计。不同项目中常含有类似的功能,只做极少修改或根本不做修改就重用对该功能的成本估计结果。少修改或根本不做修改就重用对该功能的成本估计结果。n n(3 3)体系结构。很少有截然不同的程序和数据体系结构,)体系结构。很少有截然不同的程序和数据体系结构,有可能创建一组类属的体系结构模板,把那些模板作为可有可能创建一组类属的体系结构模板,把那些模板作为可重用的设计框架。重用的设计框架。n n(4 4)需求模型和规格说明。用传统软件工程方法开发的)需求模型和规格说明。用传统软件工程方法开发的分析模型,是可重用的。面向对象开发方法中,类和对象分析模型,是可重用的。面向对象开发方法中,类和对象的模型及规格说明也是经常被重用的对象。的模型及规格说明也是经常被重用的对象。n n(5 5)设计。用传统方法开发的体系结构、数据、接口和)设计。用传统方法开发的体系结构、数据、接口和过程设计结果,是重用的候选者;系统和对象设计也是可过程设计结果,是重用的候选者;系统和对象设计也是可重用的。重用的。8精选ppt4.1.2 典型的可重用软件成分(1)项目计划。跨项目重用软n n(6 6)源代码。用兼容的程序设计语言书写的、经过验证)源代码。用兼容的程序设计语言书写的、经过验证的程序构件,是重用的候选者。的程序构件,是重用的候选者。n n(7 7)用户文档和技术文档。即使针对不同的应用,也有)用户文档和技术文档。即使针对不同的应用,也有可能重用用户文档和技术文档的大部分。可能重用用户文档和技术文档的大部分。n n(8 8)用户界面。)用户界面。GUIGUI(图形用户界面)软件可占到一个应(图形用户界面)软件可占到一个应用程序的用程序的60%60%代码量,经常被重用,重用的效果非常显著,代码量,经常被重用,重用的效果非常显著,这可能是最广泛被重用的软件成分。这可能是最广泛被重用的软件成分。n n(9 9)数据。在大多数被重用的软件成分中,被重用的数)数据。在大多数被重用的软件成分中,被重用的数据包括:据包括:内部表、列表和记录结构,以及文件和完整的数内部表、列表和记录结构,以及文件和完整的数据库。据库。n n(1010)测试用例。如果设计或代码构件被重用,相关的测)测试用例。如果设计或代码构件被重用,相关的测试用例也会一同被重用。试用例也会一同被重用。9精选ppt(6)源代码。用兼容的程序设计语言书写的、经过验证的程序构件4.1.3软件成分重用的过程软件成分重用的过程 10精选ppt4.1.3软件成分重用的过程 10精选ppt4.1.3软件成分重用的过程软件成分重用的过程软件重用的一般过程如下:软件重用的一般过程如下:n n抽象:对一个可重用的软件成分,首先要对其进行抽象:对一个可重用的软件成分,首先要对其进行“抽象抽象”概括,即描述该软件成分的本质、功能、适用范围和特点,概括,即描述该软件成分的本质、功能、适用范围和特点,以此作为关键字,方便使用者在调用时进行检索;以此作为关键字,方便使用者在调用时进行检索;n n存储:以关键字作为索引,放置在存储:以关键字作为索引,放置在“可重用的软件成分库可重用的软件成分库”中备用;中备用;n n检索:在组建(集成)新系统时,利用关键字,根据需要检索:在组建(集成)新系统时,利用关键字,根据需要从可重用的软件成分库检索挑选适合新系统功能要求的软从可重用的软件成分库检索挑选适合新系统功能要求的软件成分;件成分;n n实例化:对选取的软件成分进行简单的修改调试,变成完实例化:对选取的软件成分进行简单的修改调试,变成完全适合新系统要求的软件成分;全适合新系统要求的软件成分;n n系统集成:最后进行系统集成,完成新系统的组建。系统集成:最后进行系统集成,完成新系统的组建。11精选ppt4.1.3软件成分重用的过程软件重用的一般过程如下:11精选4.1.4软件重用形式的划分1 1根据重用跨越的问题领域划分根据重用跨越的问题领域划分n n(1 1)垂直式重用:在同一应用领域中重用。)垂直式重用:在同一应用领域中重用。采用这种重用方式的各个应用系统具有共性或相似性。对于采用这种重用方式的各个应用系统具有共性或相似性。对于这种形式,便于获得通用模型,重用面广;大多数软件组这种形式,便于获得通用模型,重用面广;大多数软件组织采用这种重用形式。织采用这种重用形式。n n(2 2)水平式重用:在不同领域中重用通用的软件元素。)水平式重用:在不同领域中重用通用的软件元素。由于各个应用系统一般差异较大,可重用的构件较少。常用由于各个应用系统一般差异较大,可重用的构件较少。常用的通用软件元素有数据结构、算法、人机界面等。现在互的通用软件元素有数据结构、算法、人机界面等。现在互联网中的中间构件及各种应用平台已经变成水平式重用的联网中的中间构件及各种应用平台已经变成水平式重用的发展趋势。发展趋势。12精选ppt4.1.4软件重用形式的划分12精选ppt2 2根据实现重用的途径划分根据实现重用的途径划分n n(1 1)组装(集成)式重用:建立可重用构件库,)组装(集成)式重用:建立可重用构件库,开发新的软件时从构件库中选取合适构件组装开发新的软件时从构件库中选取合适构件组装(集成)成新系统。(集成)成新系统。这种重用的基础是一个逐渐完善、高效率的构件库这种重用的基础是一个逐渐完善、高效率的构件库系统。在这种重用方式中,可重用的构件应该有系统。在这种重用方式中,可重用的构件应该有简明的特征描述以便检索,并有标准接口;并且简明的特征描述以便检索,并有标准接口;并且着重源代码的重用。着重源代码的重用。n n(2 2)生成式重用:通过形式化语言描述,利用程)生成式重用:通过形式化语言描述,利用程序自动生成器生成相应的软件系统。序自动生成器生成相应的软件系统。13精选ppt2根据实现重用的途径划分13精选ppt3根据重用方式划分n n(1)黑盒重用:对可重用的构件不加任何修改,直接重用。这种重用的构件为通用型可重用构件,具有良好的封装性和标准的接口,并具有高可靠性和质量保证,因此这种类型构件重用率很高。n n(2)白盒重用:对可重用的构件进行部分修改,以适应新系统的要求。14精选ppt3根据重用方式划分14精选ppt4.1.5可重用软件构件的生产和使用1 1软件构件的生产软件构件的生产开发者获取并生产可重用的构件,其基础工作是建立可重用构件库和构开发者获取并生产可重用的构件,其基础工作是建立可重用构件库和构件分类检索方案。软件构件的生产步骤如下:件分类检索方案。软件构件的生产步骤如下:n n领域分析:分析和抽象该领域的通用成分和应用体系结构;领域分析:分析和抽象该领域的通用成分和应用体系结构;n n基准模型:构建领域基准体系结构模型,该模型应具有可扩充性;基准模型:构建领域基准体系结构模型,该模型应具有可扩充性;n n寻找构件:在基准体系结构模型基础上寻找和确定可能的构件;寻找构件:在基准体系结构模型基础上寻找和确定可能的构件;n n性能分析:挑选具有特殊性的构件,并从通用性和局部可修改性(通性能分析:挑选具有特殊性的构件,并从通用性和局部可修改性(通过消息传递、继承等方式)进行归并、扩充和完善;过消息传递、继承等方式)进行归并、扩充和完善;n n创建构件:建立可重用构件;创建构件:建立可重用构件;n n构件测试:严格测试,提高可靠性。其测试用例可以与构件一起被重构件测试:严格测试,提高可靠性。其测试用例可以与构件一起被重用;用;n n商业包装:特征描述,以方便客户对测试过的构件存储和检索,存入商业包装:特征描述,以方便客户对测试过的构件存储和检索,存入构件库。构件库。15精选ppt4.1.5可重用软件构件的生产和使用1软件构件的生产15精2 2软件构件的使用软件构件的使用软件构件的使用步骤如下:软件构件的使用步骤如下:n n体系结构:以构件生产者提供的基准体系结构模型为基础,经裁剪或体系结构:以构件生产者提供的基准体系结构模型为基础,经裁剪或扩充而成。扩充而成。n n寻找构件:从构件库、遗留软件或构件供应商中查询适合待开发软件寻找构件:从构件库、遗留软件或构件供应商中查询适合待开发软件要求的构件。要求的构件。n n筛选构件:从寻找到的构件中进一步比较,挑选出最适合待开发软件筛选构件:从寻找到的构件中进一步比较,挑选出最适合待开发软件要求的构件。要求的构件。n n修改构件:调整和修改选中的构件,使之完全满足系统要求。修改构件:调整和修改选中的构件,使之完全满足系统要求。n n软件开发:对新的软件系统中不能重用的部分进行开发。软件开发:对新的软件系统中不能重用的部分进行开发。n n组装构件:将调整后的构件和新开发的部分组装成一个新的软件系统。组装构件:将调整后的构件和新开发的部分组装成一个新的软件系统。n n集成测试:对新组装成的软件系统进行集成测试。集成测试:对新组装成的软件系统进行集成测试。n n构件评价:对可重用构件提出改进意见,发现新的可重用构件并向生构件评价:对可重用构件提出改进意见,发现新的可重用构件并向生产者推荐。产者推荐。16精选ppt2软件构件的使用16精选ppt4.2软件重用的实施与组织n n系统地软件重用实施是指有目的地创建、管理、支持和重用软件资产。n n软件资产是那些有价值的、高质量的软件工作制品、工具、模型、过程步骤、算法等。在系统地软件重用描述中,经常用软件资产代替构件。17精选ppt4.2软件重用的实施与组织系统地软件重用实施是指有目的地创建系统地软件重用在实施过程中涉及的系统地软件重用在实施过程中涉及的系统地软件重用在实施过程中涉及的系统地软件重用在实施过程中涉及的4 4个并发过程个并发过程个并发过程个并发过程 18精选ppt系统地软件重用在实施过程中涉及的4个并发过程 18精选pptn n1 1创建过程:其目标是标识和提供可重用软件资产。此创建过程:其目标是标识和提供可重用软件资产。此过程的活动包括清理分析遗留的软件资产、领域分析、重过程的活动包括清理分析遗留的软件资产、领域分析、重用客户需求分析、定义体系结构、构建构件、测试和包装用客户需求分析、定义体系结构、构建构件、测试和包装软件资产。软件资产。n n2 2支持过程:对可重用资产的获取、管理和维护提供全支持过程:对可重用资产的获取、管理和维护提供全面支持。涉及的活动包括验证和分发可重用资产,为构件面支持。涉及的活动包括验证和分发可重用资产,为构件分类编目、提供附加文档、收集反馈信息。分类编目、提供附加文档、收集反馈信息。n n3 3重用过程:利用可重用资产生产应用软件产品。涉及重用过程:利用可重用资产生产应用软件产品。涉及的活动包括验证领域模型和用户需求、选择和修改可重用的活动包括验证领域模型和用户需求、选择和修改可重用资产、组建和测试应用软件。资产、组建和测试应用软件。n n4 4管理过程:对系统地软件重用全过程进行统筹、计划管理过程:对系统地软件重用全过程进行统筹、计划和协调。涉及的活动包括制定和协调进度计划、安排资金和协调。涉及的活动包括制定和协调进度计划、安排资金使用方向和额度、组织培训等。使用方向和额度、组织培训等。19精选ppt1创建过程:其目标是标识和提供可重用软件资产。此过程的活动系统地进行软件重用的组织结构示意图系统地进行软件重用的组织结构示意图系统地进行软件重用的组织结构示意图系统地进行软件重用的组织结构示意图 20精选ppt系统地进行软件重用的组织结构示意图 20精选ppt各职能部门职责如下:各职能部门职责如下:n n1 1系统开发部门:可重用构件创建者。其职能是创建高质量的可重系统开发部门:可重用构件创建者。其职能是创建高质量的可重用资产,为众多重用者服务;与应用开发部门(重用者)并列,集中用资产,为众多重用者服务;与应用开发部门(重用者)并列,集中精力设计和创建可重用构件;尽量接近重用者,以保证其生产的可重精力设计和创建可重用构件;尽量接近重用者,以保证其生产的可重用构件符合实际需要。用构件符合实际需要。n n2 2应用开发部门:可重用构件使用者。其职能是更多、更快、低成应用开发部门:可重用构件使用者。其职能是更多、更快、低成本地利用可重用资产完成应用项目的开发;将软件重用时发现的问题本地利用可重用资产完成应用项目的开发;将软件重用时发现的问题与修改意见及时反馈给系统开发部门,完善可重用构件。与修改意见及时反馈给系统开发部门,完善可重用构件。n n3 3支持部门:用来完成前两个部门不能涉及而又必须作的工作,为支持部门:用来完成前两个部门不能涉及而又必须作的工作,为可重用资产的获取、管理、维护提供全面的支持,与系统开发部门和可重用资产的获取、管理、维护提供全面的支持,与系统开发部门和应用开发部门并列。应用开发部门并列。n n4 4高层经理:在高层经理:在3 3个职能部门之上。其职责是关注总体目标,从总体个职能部门之上。其职责是关注总体目标,从总体目标高度上权衡创建者和重用者的得失;协调目标高度上权衡创建者和重用者的得失;协调3 3个职能部门之间的工个职能部门之间的工作,仲裁作,仲裁3 3个职能部门之间的发生的冲突;对于大公司,可设立重用个职能部门之间的发生的冲突;对于大公司,可设立重用管理委员会,设经理、体系结构设计师等职位,由委员会集体讨论和管理委员会,设经理、体系结构设计师等职位,由委员会集体讨论和仲裁各部门之间的矛盾。仲裁各部门之间的矛盾。21精选ppt各职能部门职责如下:21精选ppt4.3重用的障碍重用的障碍 重用会面临这样的一些障碍:重用会面临这样的一些障碍:n n1 1很多软件专业人员宁可自己从头编写一个程序,也不很多软件专业人员宁可自己从头编写一个程序,也不愿重用别人编写的程序。愿重用别人编写的程序。n n2 2重用的对象最好自身没有错误也不会给相关程序带来重用的对象最好自身没有错误也不会给相关程序带来错误。错误。n n3 3可重用的组件很多,如何进行存储和管理以便进行检可重用的组件很多,如何进行存储和管理以便进行检索去重用?索去重用?n n4 4对于合同软件会产生司法问题。对于合同软件会产生司法问题。n n5 5重用的对象是现成的软件产品组件时,相应的源代码重用的对象是现成的软件产品组件时,相应的源代码对软件开发组织来说是保密的。对软件开发组织来说是保密的。n n6 6重用会增加成本。重用会增加成本。这些障碍只是一些主要的障碍,在原则上是可以克服的。这些障碍只是一些主要的障碍,在原则上是可以克服的。22精选ppt4.3重用的障碍 重用会面临这样的一些障碍:22精选ppt4.4可移植性n n软件可移植性指的是把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境并使之正常运行的难易程度。可移植性有时也被描述为跨平台性。它从软件对新环境的适应性这一方面反映了软件的质量。23精选ppt4.4可移植性软件可移植性指的是把程序从一种计算环境(硬件配好的软件产品可以在它的整个生存期间,在三个或好的软件产品可以在它的整个生存期间,在三个或更多的不同的硬件配置上实现。更多的不同的硬件配置上实现。为解决这个问题,可以采用不同的方法为解决这个问题,可以采用不同的方法:n n一种方法是购买向上兼容的硬件,这样做仅需要一种方法是购买向上兼容的硬件,这样做仅需要花钱购买相应的硬件产品,而不需要对软件作变花钱购买相应的硬件产品,而不需要对软件作变动。动。n n另一种方法是把与硬件、操作系统以及其他外部另一种方法是把与硬件、操作系统以及其他外部设备有关的程序代码集中放到特定的程序模块中,设备有关的程序代码集中放到特定的程序模块中,把因环境变化而必须修改的程序局限在少数程序把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度。模块中,从而降低修改的难度。24精选ppt好的软件产品可以在它的整个生存期间,在三个或更多的不同的硬件n n为提高软件的可移植性,应尽量使软件与具体的设备无关,即提高软件的设备独立性。n n可移植性还意味着能够容易地修改文档以反映目标配置,而不需要重新写一个新的文档。25精选ppt为提高软件的可移植性,应尽量使软件与具体的设备无关,即提高软分析软件的可移植性需要考虑:分析软件的可移植性需要考虑:n n不同的体系结构之间二进制形式的应用软件是不不同的体系结构之间二进制形式的应用软件是不可移植的,如果是源程序,必须对其进行重新编可移植的,如果是源程序,必须对其进行重新编译才可以在新的环境中运行。译才可以在新的环境中运行。n n相同体系结构的硬件平台上,如果操作系统也相相同体系结构的硬件平台上,如果操作系统也相同,二进制形式的应用软件可移植,否则必须对同,二进制形式的应用软件可移植,否则必须对源程序进行相应的修改后重新编译链接生成新的源程序进行相应的修改后重新编译链接生成新的可执行文件才可以在不同的操作系统下运行。可执行文件才可以在不同的操作系统下运行。n n对于同一种语言编写的程序在不同版本编辑器之对于同一种语言编写的程序在不同版本编辑器之间的可移植性,取决于该语言的标准化程度和编间的可移植性,取决于该语言的标准化程度和编译器实现时对语言标准的严格遵守程度。译器实现时对语言标准的严格遵守程度。26精选ppt分析软件的可移植性需要考虑:26精选pptn n软件的可移植性是软件共享的源程序文本资源的一个特性,它可以从两方面来解释:原程序可以从一台处理机转向另一台处理机,从一个编译程序转向另一个编译程序,只需要很小的改动或根本不需要修改;源程序模块只需要很小的改动或不需要改动就可以集结到不同的软件包中。27精选ppt软件的可移植性是软件共享的源程序文本资源的一个特性,它可以从4.5实现可移植性的技术n n对于可移植的系统软件,一种技术是可以隔离任何必须依赖于实现的程序段,而不是禁止所有依赖于实现的特性方面。n n另一种有用的技术是使用抽象层次来实现可移植性。28精选ppt4.5实现可移植性的技术对于可移植的系统软件,一种技术是可n n对于应用软件,由于通常使用高级语言进行编写,在进行选择实现的语言时,应考虑到可移植性这个因素,应该选择普遍实现的编程语言。29精选ppt对于应用软件,由于通常使用高级语言进行编写,在进行选择实现的n n对于数据,最安全的方式就是构造一个非结构化的文件,对该文件进行移植。从非结构化的文件可以重新构建结构化文件,只需要编写两个特定的转换程序。一个运行在原机器上,将原来的结构化文件转换为顺序文件形式。另一个运行在目标机器上,将移植过来的顺序文件重新构建结构化文件。30精选ppt对于数据,最安全的方式就是构造一个非结构化的文件,对该文件进
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!