软件复用与软件构件(精)

合集下载

河海大学研究生课程【软件复用技术】06软件构件技术概述(二)

河海大学研究生课程【软件复用技术】06软件构件技术概述(二)

软件复用硕士研究生课程软件构件技术计算机与信息学院软件复用硕士研究生课程声明软件复用硕士研究生课程主要内容一、软件构件二、软件构件模型三、应用框架四、基于构件的软件开发方法三、应用框架技术软件复用硕士研究生课程软件复用硕士研究生课程1. 应用框架(1) 定义1:应用框架是一种可以复用的应用软件的半成品,它可以被用来建造一族应用程序;定义2:应用框架是一组相关组件的集合,这些组件的相互作用关系形成了一个可以复用的体系结构。

该结构可以被用来建造一族应用程序;定义3:应用框架是一种软件复用技术。

它是一个应用软件系统的部分或整体的可复用设计。

一般来说,框架定义了一个应用程序的骨架并提供可以放置于该骨架中的标准用户界面实现(2) 开放式体系结构:软件系统的开放性包括数据的开放性、功能的开放性和系统的可扩充性。

软件复用硕士研究生课程典型成果:软件复用硕士研究生课程2、框架的特点软件复用硕士研究生课程•框架的优点:•存在困难:3、框架的特征软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程4、框架分类软件复用硕士研究生课程5、通用框架开发过程模型6、框架开发过程软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程(3)设计阶段软件复用硕士研究生课程软件复用硕士研究生课程四、基于构件的软件开发软件复用硕士研究生课程软件构件技术是一种系统化的技术,包括构件模型、构件构架(Architecture)及实现技术、构件分析和设计技术、基于构件的应用系统构造及实现技术等内容。

当构件技术运用于特定的应用系统开发,通常称之为基于构件的软件开发(Component-Based software Development ,CBD). CBD是指利用已开发完成的商业构件(Commercial Off-The-Shelf,COTS)(或可复用的构件)来按应用需求组装形成软件应用系统的软件开发方法研究构件软件的两个核心是:如何提取可复用构件以及如何组装成系统并能实现互操作。

领域分析

领域分析

软件复用和构件技术软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功。

领域工程是软件复用的关键,即可复用软件资产(包括体系结构和构件等)的生产阶段,主要包括领域分析、领域设计和领域实现这三个活动。

领域分析是对特定的领域进行需求工程的活动。

它覆盖了对领域需求的获取、分析,规约和检验/验证的整个过程。

现有的一些领域需求分析方法如FODA、RSEB、FeatuRSEB等基本都是以特征作为需求空间内的一阶实体,通过对特征的分析建立领域模型。

近几年来,面对日益复杂的软件系统,人们开始认识到,要真正实现软件的工业化生产方式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现实可行的途径。

软件复用可以避免重复劳动,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验。

基于构件的复用是产品复用的主要形式,同时构件技术也是成功的软件复用的关键。

软件复用相关研究目前主要关注于商用第三方构件(COTS: Commercial off-the-shelf)以及特定领域的复用式开发。

软件复用可分为产品复用和过程复用两种途径。

产品复用,即复用已有的软件构件,通过构件集成(组装)得到新系统,是目前现实可行的主流途径。

构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。

随着对软件复用理解的深入,构件的概念已不再局限于源代码级构件,而是延伸到系统和软件的需求规约、构架、文档、测试等对开发活动的有用的信息。

高抽象层次构件的复用更为重要和更有价值,它所带来的收益将明显大于低抽象层次构件的复用。

代码构件的复用仅仅是软件复用的初级阶段。

软件构件技术是支持软件复用的核心技术。

主要研究内容包括:构件获取、构件模型、构件描述语言、构件的分类与检索、构件的复合组装、标准化等方面。

基于构件的复用中,构件的获取、管理和组装是三个重要的环节,而其中构件的获取是最基本的前提。

基于构件的软件复用在公安科技成果推广项目管理系统中的研究与实现

基于构件的软件复用在公安科技成果推广项目管理系统中的研究与实现
统的运行环境发生变化或需求需要更改时,只需对受影响 的构件进行修改 ,如果此 时拥有可复用的构件越多 ,就可
为软件复用提供 了基本的技术支持。 本文以 “ 公安科技成果推广项 目管理系统”开发为原 型 ,结合软件复用的理论 和技术 ,阐述 了在 . t 台上建 n平 e 立项 目管理领域软件构件的过程 ,分析 和设计了基于构件 的项 目管理信息的体 系结构 ,设计 了面向对象的构件功能 和功能实现 ,提高了软件开发质量和效率 ,解决了项 目管 理系统的通用性、适应性和可扩展性等问题。

软 件复 用概念
软件复用就是将已有 的软件成分用于构造新的软件 系 统 ,是指重复使 用 “ 了复用 目的而设计 的软件” 的过 为
模块之间的关系。并且对这些功能模块进行分析 ,确定 哪 些功能是通用的,哪些模块是系统专用的。这一环节如果 能充分利用构件 ,将极大减轻程序 员的压力 ,缩短开发周 期,节约人力成本 ,代码实现过程 的时间缩短 ,会给其后 续 的测试反馈 、安装部署 、版本发布等工作带来好处。构

以节约越多的时间 ,只需修改构件接 口或再加一个转换用
的中间接 口, 就可 以 起到事 半功倍的效果。
( ) 二 构件 开发 过 程
在基于构件的软件开发过程 中第一步要做的是了懈应 用需 求,用面向对象的方法进行分析和设计 ,建立系统 的
体 系架构 ,确定软件主要有哪些功能模块组成和这些功能
件开 发过 程 如 图 1 示 。 所
程。运用复用能得到的主要效益有 :1 提高软件生产率, .
2 缩短软件开发时间,3 以更少的人员去开发软件 。4 人 . . .
员、工具和方法更易于从一个项 目转移到另一个项 目,5 . 降低软件成本 ,6 生产更高质量的软件 ,7 改善软件系统 . .

软件复用与软件构件技术

软件复用与软件构件技术

软件复用与软件构件技术一、软件复用与构件技术的魅力所在说到软件复用,大家的第一反应可能是:是不是把之前写的代码拿出来用就完事了?其实不然,软件复用不仅仅是“复制粘贴”这么简单,它更像是一个高效的工具,让我们能够避免重复劳动,也能提高代码的质量。

想象一下,如果你每次都得从头开始做一个功能,做个几遍下来,哪怕是最喜欢编程的人也会心烦意乱吧。

所以啊,软件复用就是为了让我们可以在不同的项目中重复使用已经写好的模块。

简直是开发者的“神仙”操作,不管多复杂的功能,只要写成了“构件”,以后再想用的时候就能直接拿出来丢进去,轻轻松松搞定。

要是能有效地进行软件复用,不仅能节省时间,还能提升产品的质量。

想一想,如果每个功能都经过了多次的检验和优化,那不是省了好多麻烦嘛!软件构件技术的出现更是让这一切变得有条不紊。

构件就像是一个个“乐高积木”,每个构件都是一个完整的功能模块,大家可以随意拼装,只要搭得合适,立马就能完成一个新的应用。

这不仅提高了效率,而且让开发者们有更多时间去思考如何创新、如何提升用户体验,简直是开发者的福音。

说到这里,可能有的小伙伴会问:这些构件是不是很复杂?是不是得学好高深的技术才能用?其实也不是!很多构件的设计本身就很简单易懂,关键在于如何把它们整合得更好。

就像做菜一样,有些菜谱看起来复杂,但其实只要把原料准备好,照着步骤来,菜肴自然就做出来了。

软件构件的设计也是如此,有了这些模块,开发者就像是厨师,掌握了食材之后,能随心所欲地做出各种不同的菜肴来。

二、软件复用的难点和挑战虽然软件复用听起来是个完美的方案,但现实中要做到完全的复用并不是一件容易的事。

你看,有时候我们在使用已有的构件时,往往会碰到“版本不兼容”的问题。

举个例子,你今天用的构件版本是A,过了一段时间,开发团队又更新了B版本。

结果你发现,A和B版本的接口不一样,甚至有些功能已经被改动了,这样就得花时间去适配,麻烦不说,甚至可能还会带来一些不可预见的bug。

软件复用与构件接口技术

软件复用与构件接口技术

2020/5/20
UML系统建模与设计
1
9.1 面向对象技术的发展与技术支持
2020/5/20
UML系统建模与设计
2
9.2 软件复用技术的发展与应用
9.2.1 软件复用的形式与过程
1.可复用的软件制品种类 凯波.琼斯(Caper Jones)提出可以复用的软件制品有:
项目计划:书写格式结构及进度表、风险分析等内容; 成本估算:各种项目相似的功能模块成本大体相当; 体系结构:应用系统的体系结构非常相似,可建立模版
2020/5/20
UML系统建模与设计
9
(3)已有软件系统体系结构复用 特点:支持高、低层次层次复用、体系结构和设
计有简洁、通过接口进行集成。 优点:可以复用规模较大的软件制品、只需要进
行局部修改。 缺点:抽象出简明的描述困难、存放体系结构的
数据库难以管理。
(4)应用程序自动生成器
特点:自动生成可执行系统、可以填充原先没有
进行复用; 需求模型:需求分析中的对象类模型及规约等分析模
型; 设计模型:系统设计、对象设计及体系结构、数据、接
口等设计;
2020/5/20
UML系统建模与设计
3
设计模式:各种经过验证、已经在使用的设计 模式。
程序代码:经过实际运行检验过的程序代码; 文档资料:用户文档资料和技术文档资料; 用户界面:图形用户界面复用率达60%; 数据构成:数据存储结构、文件、完整的数据
2020/5/20
UML系统建模与设计
11
9.2.3 可复用软件构件的生产与使用过程
(1)软件构件的生产 领域分析、基准模型、寻找构件、性能分析、 创建构件、构件测试、商业包装。
(2)软件构件的使用 体系结构、寻找构件、筛选构件、修改构件、 软件开发、组装构件、集成测试和评价。

软件构架、架构、框架区别

软件构架、架构、框架区别

软件框架(Software Framework)介绍面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。

可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。

随着软件规模的扩大、应用的广泛和软件复用技术的发展,以子程序或类(Class)为单位的软件复用有许多不足:(1)子程序库日趋其庞大以致于使用人员难以掌握,(2)大多数类粒度很小,且其自身往往不能完成有用的功能。

这一问题迫使人们在复用中将一组类(或模块)及其交互作为一个整体来考虑,由此出现了软件框架。

软件框架至少包含以下组成部分:(1)一系列完成计算的模块,在此称为构件。

(2)构件之间的关系与交互机制。

(3)一系列可变点(也称热点,Hot-spots,或调整点)。

(4)可变点的行为调整机制。

开发人员通过软件框架的行为调整机制,将领域中具体应用所特有的软件模块绑定到该软件框架的可变点,从而得到最终应用系统,这一过程称为软件框架的例化(instantiation)。

通过软件框架的使用,开发人员可将主要精力放在应用所特有的模块的开发上,从而大大提高了软件生产率和质量。

软件框架的行为调整机制是指如何针对具体的应用调整该框架的可变部分、如何在可变点加入特定应用模块所采用的方法和规则。

行为调整机制可分为四种:(1)模板参数化。

软件框架提供代码自动生成工具,该工具根据用户设置的参数自动生成所需的代码。

(2)继承和多态。

通过面向对象中的子类继承和重载,在子类中加入新的功能或改变父类的行为。

(3)动态绑定。

在运行时刻动态绑定所需的对象服务,可通过软件模式技术实现。

(4)构件替换。

通过替换框架中可插拔的构件来加入业务特定的功能,不同于一般的可复用软件制品,软件框架的一个显著特点是逆向控制(Inversion of Control),在复用过程中,前者需被显式调用,控制是在应用特定的模块中,软件框架则不然,应用开发人员只要将应用特定的模块绑定到框架内,框架则根据自己的交互机制自动调用该模块,控制由框架负责。

软件工程中的软件复用

软件工程中的软件复用

软件工程中的软件复用软件复用是指在软件开发过程中,重复使用已有的软件组件、模块、库或其他可重用的资源来构建新的软件系统。

它是提高软件开发效率和质量的重要手段之一。

本文将从软件复用的定义、优势、实施方法以及存在的挑战等方面进行讨论。

一、软件复用的定义软件复用是指在软件开发过程中,通过合理组合已有的软件组件、模块、库等可重用资源,使得新的软件系统能够更高效、更快速地开发出来。

软件复用旨在降低开发成本、加快开发进度、提高软件质量和可靠性。

它可以通过不同的方式实现,如通过代码重用、组件复用、模块复用等。

二、软件复用的优势1. 提高开发效率:软件复用可以避免从头开始编写相同或相似功能的代码,减少了开发时间和工作量,提高了开发效率。

2. 提高软件质量:通过复用已经经过测试和验证的软件组件,可以减少错误和缺陷的可能性,提高软件的质量和可靠性。

3. 降低成本:软件复用避免了重复开发相同功能的成本,节约了开发资源和时间,并且可以通过合理的复用策略降低软件维护的成本。

4. 加快上市时间:软件复用可以减少开发周期,使得软件能够更快速地上市,占领市场先机,增加竞争力。

三、软件复用的实施方法1. 代码重用:通过将已经编写好的代码模块作为库文件或软件包,供其他项目重复使用,实现代码的复用。

2. 组件复用:将可独立使用的业务组件打包成可重用的组件库,由多个项目共享使用,避免重复研发相同的组件。

3. 模块复用:将软件系统中的功能模块抽象出来,形成独立的模块,供多个系统复用,实现模块级的复用。

四、软件复用存在的挑战1. 适用性问题:不是所有的软件都适合进行复用,有些软件需求特殊或定制化程度高,不适合直接进行复用。

2. 维护问题:复用的软件组件可能需要进行维护和升级,需要投入额外的人力和时间进行支持和维护。

3. 版本管理问题:多个项目同时复用同一个软件组件时,版本管理可能成为一个挑战,需要具备良好的版本管理机制。

4. 知识和沟通问题:开发团队需要具备相应的知识和技能才能进行有效的复用,同时需要加强团队间的沟通和协作。

软件复用和构件技术丛书ppt

软件复用和构件技术丛书ppt
特别地,由于构件没有从认识论的角度提出一套新 的软件模型,因此,构件可以兼容此前的各种编程语 言,即,这些编程语言写出来的程序可以封装/转换成 构件从而得以复用
从软件工程方法看构件化软件设计与实现
构件化软件的设计集中于软件体系结构 构件化软件通过组装而不是编程来实现 实现工作持续到了软件部署和运行管理阶段
指南
第4部分 基于UML构件规约的需求建模 第5章的 DSSA是 一种以体系结构为中心的领域工程方法,
•第10章 •第11章 法
UML构件规约 一种基于UML构件规约的需求建模方
通过为选定的目标领域建立一个通用的参考体系结构来 实施有计划的软件复用。其特色
•第12章 面向构件的软件系统建模工具
刻画了特定领域各系统构成成分(构件)之间的拓
12
《面向复用的需求建模》内容
第1部分 领域工程概述
•第1章 需求工程 •第2章 领域工程
第2部分 领域分析方法
•第3章 面向特征的领域分析方法 •第4章 面向特征的复用方法 •第5章 领域特定的软件体系结构 •第6章 青鸟领域工程方法
第3部分 面向特征的领域建模方法
•第7章 面向特征的需求分析 •第8章 特征驱动的软件体系结构设计 •第9章 面向特征的需求分析支持工具
第1章介绍传统的软件开发中与需求相关的 一系列活动:需求的捕获、分析、规约、 确认和管理。 第2章对领域工程的起源和背景、领域工程 相关的基本概念、领域工程包含的主要活 动、领域工程面临的关键问题、以及几种 具有代表性的领域工程方法的主要特色
•第11章 一种基于UML构件规约的需求建模
方法
•第12章 面向构件的软件系统建模工具
《面向复用的需求建模》的定位
客观事物 (问题空间)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、产品线系统
产品线系统(Product Line System)是 CMU/SEI提出的产品开发的组织方式。产品线集 中体现了软件复用思想。 一个产品线是共享一组共同设计及标准的产 品族,从市场角度看是在某市场片断中的一组相 似的产品。 产品线方法可以通过各种可复用软件构件, 如需求、需求规约、构架、代码构件、文档、测 试策略和计划、测试案例和数据、开发人员的知 识和技能、过程、方法及工具等。产品线也是基 于在相同产品价格条件下提高竞争力的商业考虑。
6、CASE技术
CASE是一种智能化计算机辅助软件工程 (Computer Aided Software Engineering,CASE) 工具。CASE工具的已成为保证软件质量,解决 软件危机的主要手段。 CASE 技术中与软件复用相关的主要研究内 容包括:在面向复用的软件开发中,可复用构件 的抽取、描述、分类和存储;在基于复用的软件 开发中,可复用构件的检索、提取和组装;可复 用构件的度量等。 CASE技术与软件复用技术相关的主要研究 内容包括:在面向复用的软件开发中,可复用构 件的抽取、描述、分类和存储;在基于复用的软 件开发中,可复用构件的检索、提取、组装及度 量等。
①、黑盒(Black-box)复用:黑盒复用指对已有构 件不需作任何修改,直接进行复用。 ②、白盒(White-box)复用:白盒复用指已有构件 并不能完全符合用户需求,需要根据用户需求进 行适应性修改后才可使用。
--
依据抽象程度的高低,我们将软件的复用划 分为以下几类:
1、代码的复用 包括目标代码和源代码的复用,其中目标代码的复用级别 最低。源代码的复用级别略高于目标代码的复用,程序员 在编程时把一些想复用的代码段复制到自己的程序中,但 这样往往会产生一些新旧代码不匹配的错误。
3、分析的复用 复用的途径也有三种: ①、从现有系统的分析结果中提取可复用构件用 于新系统的分析。 ②、用一份完整的分析文档作输入产生针对不同 软硬件平台和其它实现条件的多项设计。 ③、独立于具体应用,专门开发一些可复用的分 析构件。 4、测试信息的复用 主要包括测试用例的复用和测试过程信息的复用。 前者是把一个软件的测试用例在新的软件测试中 使用。后者是在测试过程中通过软件工具自动地 记录测试的过程信息。
-- 软件复用的意义主要有以下几点:
①、提高生产率:软件复用最明显的好处在于提高 生产率,从而减少开发代价。 ②、减少维护代价:使用经过检验的构件,减少了 可能的错误,同时软件中需要维护的部分也减少 了。
③、提高互操作性:通过使用同一个接口的实现, 系统将更为有效地实现与其它系统之间的互操作。
④、支持快速原型:软件复用另一个好处在于对快 速原型的支持,即可以快速构造出系统可操作的 模型,以获得用户对系统功能的反馈。 ⑤5、减少培训开销:软件工程师将使用一个可复用 构件库,其中的构件都是他们所熟悉和精通的。 -- 通过软件复用,在应用系统开发中可以充分地利 用已有的开发成果,消除了包括分析、设计、编 码、测试等在内的许多重复劳动,从而提高了软 件开发的效率,同时,通过复用高质量的已有开 发成果,避免了重新开发可能引入的错误,从而 提高了软件的质量。
-- 构件具有以下特点:
(1)构件是一个独立的可部署单位,它能很好地从 环境和其它构件中分离出来。 (2)作为一个部署单位,一个构件不会被部分地部 署,第三方也不应该涉及构件的内部实现细节。 (3)构件是可替换的,构件通过接口与外界进行交 互,明确定义的接口是构件之间唯一可视的部分。
--
软件构件的主要研究内容包括:
非技术因素包括机构组织、管理方法、开发 人员的知识更新、知识产权、标准化问题等。
软件复用的研究与实践
1、领域工程
卡内基.梅隆大学的软件工程研究所 (CMU/SEI)提出了面向特征的领域分析方法 (Feature-Oriented Domain Analysis Method,缩写 为FODA方法)。它支持对某领域中系统共性和个 性的发现、分析和文档记录。 FODA的过程分为三个阶段:上下文分析 (Context Analysis)、领域建模(Domain Modeling)、 构架建模(Architecture Modeling)。
软件复用与软件构件
李健东 李东 杜俊博 王涵杨 许博谦
概述
-- 软件复用是在软件开发中避免重复劳动的 解决方案。通过软件复用,可以提高软件 开发的效率和质量。 -- 当前软件构件技术被视为实现成功复用的 关键因素之一。 -- 软件复用技术的广泛应用将促进软件产业 的变革,这种变革对软件产业的发展将起 到极大的推动作用。
3、构件及构件库的标准化
北大西洋公约组织(NATO)针对NATO、 NATO参与国和承包商制定了一组关于软件复用 的标准,其中包括“可复用构件开发标准”、 “可复用软件构件库管理标准”、“软件复用过 程标准”。制订这些标准的目标是供NATO及其 参与国的项目管理部门使用它们来建立复用计划 需求和向承包商提供指导。
在美国国防部高级研究项目署(ARPA)资助下, Will Tracz提出了领域构架方法(Domain-Specific Software Architecture),缩写为(DSSA方法)。 该方法有五个阶段。每个阶段可以进一步划 分为一些步骤或子阶段。每个阶段包括一组需要 回答的问题,一组需要的输入、一组将产生的输 出和验证标准。该方法的领域工程过程是并发的 (concurrent)、递归的(recursive)和反复(iterative)。 完成该过程可能需要对每个阶段经历几遍,每次 增加更多的细节。
-- 在软件演化的过程中,重复使用的行为可能发生 在三个维上: 1、时间维: 2、平台维: 3、应用维: -- 这三种行为中都重复使用了现有的软件。 -- 它的基本思想非常简单,即放弃那种原始的、一 切从头开始的软件开发方式,而是利用复用技术, 由公共的可复用构件来组装新的系统,这些可复 用构件包括对象类、框架或者软件体系结构等。
4、软件再工程
5、开放系统技术
开放系统(Open System)技术的基本原则是 在系统的开发中使用接口标准,同时使用符合接 口标准的实现。这些为系统开发中的设计决策, 特别是对于系统的演化,提供了一个稳定的基础, 同时,也为系统(子系统)间的互操作提供了保证。 当前以解决异构环境中的互操作为目标的分布对 象技术是开放系统技术中的主流技术。该技术使 得符合接口标准的构件可以方便地以“即插即用” 的方式组装到系统中,实现黑盒复用。
HP的RMM将复用成熟度与复用率联系起来,也 分为五级: (1)无复用:-20%至20%的复用率; (2)挖掘整理:15%至50%的复用率; (3)计划复用:30%至40%的复用率; (4)系统化复用:50%至70%的复用率; (5)面向领域的复用:80%至90%的复用率。
构件模型的实例——青鸟构件模型
-- 软件构架研究如何快速、可靠地从可复用构件构
造系统的方式,着重于软件系统自身的整体结构 和构件间的互联。其中主要包括: (1)软件构架原理和风格; (2)软件构架的描述和规约; (3)特定领域软件构架; (4)构件向软件构架的集成机制。
3、领域工程
领域工程是为一组相似或相近系统的应用工 程建立基本能力和必备基础的过程,它覆盖了建 立可复用软件构件的所有活动。 其中“领域”是指一组具有公共属性的系统。 领域工程可以从已经存在的系统中提取可复用的 信息,把关于领域的知识转化为领域中系统共同 的规约、设计和构架,使得可以被复用的信息的 范围扩大到了抽象级别较高的分析和设计阶段。
软件复用的意义
-- 通常情况下,应用软件系统的开发过程包 含以下几个阶段:需求分析、设计、编码、 测试、维护等。 -- 当每个应用系统的开发都是从头开始时, 在系统开发过程中就必然存在大量的重复 劳动。软件复用是在软件开发中避免重复 劳动的解决方案,充分利用过去应用系统 开发中积累的知识和经验,从而将开发的 重点集中于应用的特有构成成分。
• • • • • •
软件复用的概念 软件复用的分类 软件复用的意义 软件复用的关键技术 软件复用的研究与实践 构件模型的实例——青鸟构件模型
软件复用的概念
-- 软件复用是指重复使用“为了复用而设计 的软件”的过程。相应地,可复用软件是 指为了复用目的而设计的软件。 -- 与软件复用的概念相关,重复使用软件的 行为还可能是重复使用“并非为了复用目 的而设计的软件”的过程,或在一个应用 系统的不同版本间重复使用代码的过程。
2、设计的复用 这种复用有三种途径; ①、途径是从现有系统的设计结果中提取一些可复用的设计构 件,并把这些构件应用于新系统的设计。 ②、途径是把一个现有系统的全部设计文档在新的软硬件平台 上重新实现,也就是把一个设计运用于多个具体的实现。 ③、途径是独立于任何具体的应用,有计划地开发一些可复用 的设计构件。
青鸟工程是在国家支持下的重点科技攻关课 题,历经“六五”、“七五”和“八五”,已有 十余年的发展,开发成功了集成化软件开发环境 JB和JB。 制定了软件工业化生产标准,强化采用 面向对象技术,支持以软件复用为基线的,基于 “构件-构架”模式的软件工业化生产技术,开发 基于异构平台、 可访问多信息源的应用系统集成 (组装)环境青鸟III型(JB3)系统 JB3作为一个支持 复用的软件开发环境,其构件的有效管理和查询 是关键,其核心是一个构件库系统JBCL。青鸟构 件库系统用于对可复用构件进行描述、管理、存 储和检索,以满足基于“构件-构架”复用的软 件开发过程的需要。
软件复用的分类
-- 软件复用可以从多个角度进行考察。 -- 依据复用的对象,可以将软件复用分为两 类: 1、产品复用:产品复用指复用已有的软件 构件,通过构件集成(组装)得到新系统。 2、过程复用:过程复用指复用已有的软件 开发过程,使用可复用的应用生成器来自 动或半自动地生成所需系统。
-- 依据对可复用信息进行复用的方式分类, 可以将软件复用区分为:
4、构件组装技术 5、基于复ห้องสมุดไป่ตู้的软件开发过程
相关文档
最新文档