第九讲 软件复用与构件化软件开发(Software Reuse

时间:2025-07-08

第九讲 软件复用与构件化软件 开发(Software Reuse and Software Design based Component)Welcome to Software Engineering Lecture 9 Zhang Jiannan, 2010 jiannanz@

内容软件复用与软构件的基本思想 基于构件的软件开发技术 软构件技术的发展现状

4.1软件复用与软构件的基本思想软件复用的定义 软构件的概念 软件复用的意义

1 软件复用的定义正式提出:1968年,D.Mcllroy在国际上首次讨论软件 工程的国际会议上建议建立生产软组件的工厂,用产 品目录上的软组件构成复杂系统,以作为解决软件危 机的一种的一种可能技术途径。 软件复用是指在两次或多次不同的软件开发过程中重 复使用相同或相似软件元素(通常称为可复用构件、 组件或软部件)的过程。 软件复用通常指复用“为了复用目的而设计的软件” 的过程。

2 软构件的基本概念软构件的类比软件IC !?

软件标准零部件 !?

2 软构件的基本概念构件是为组装服务的! 软件构件是指可以独立生产、获取和部署的、 可以被组装到一个功能性系统中去的可执行单 元。 软构件是标准的 标准的、可以互换的 互换的、经过装配 装配可随 标准的 互换的 装配 时使用的软件模块。

3 软件复用的意义软件复用的出发点是使软件系统的开发不再“一切从 零开始”,能够充分利用已有的知识和经验 充分利用已有的知识和经验。 充分利用已有的知识和经验 软件复用是在软件开发中避免重复劳动 避免重复劳动的解决方案。 避免重复劳动 通过软件复用,能够充分利用已有的开发成果,消除 软件开发个阶段的重复劳动,可以提高开发效率,见 地开发成本。 软件复用还可以避免全新开发可能引入的错误 避免全新开发可能引入的错误,从而 避免全新开发可能引入的错误 提高软件的开发质量。

4 软件复用技术的发展历史1968年的NATO软件工程会议上,Mcllroy在提交会议的论文 《大量生产的软件构件》中,提出了“软件组装生产线” 的思想。 70年代中:软件工厂研究实验 80年代后期: 构件库系统与构件分类技术的研究取得进展的方面:可复用构件的创建与分发、复用支持环境、 公司级复用计划。 问题:复用范围太狭窄,没有达到预期的在 软件生产力和质 量上的重大提高。 提出对软件复用的广义理解。

90年代:系统化复用 :对软件体系结构的认识 对过程的改进 复用业务组织

5 软件复用与过程改进CMM模型与软件复用思想不谋而和, Ivar Jacboson将 软件复用能力与CMM的级别对应起来:复用能力 没有可复用的构件 非标准的代码和模块复用 标准化的模块复用 体系结构及子系统的复用 复用时避免缺陷的复用 CMM级别 CMM

级别 1级 2级 3级 4级 5级

5 软件复用与过程改进级别 1 初始级 2 重复级 特点 软件开发过程是一个偶然的甚至无序的过程 很少有明确的定义 软件开发过程是一个偶然的甚至无序的过程,很少有明确的定义 成功 偶然的甚至无序的过程 很少有明确的定义,成功 完全依赖于个体的能力. 完全依赖于个体的能力 实施基本的项目管理 跟踪软件成本、进度和功能。依照以往项目成 实施基本的项目管理:跟踪软件成本 进度和功能。 基本的项目管理 跟踪软件成本、 功的经验来建立基本的过程规则, 功的经验来建立基本的过程规则,使得其他相似项目能重复以往的 成功。 成功。 软件过程的管理和实行方法都已文档化、标准化, 软件过程的管理和实行方法都已文档化、标准化,使开发商有一个 文档化 开发过程的标准。即所有项目都可以依照标准来开发和维护软件。 开发过程的标准。即所有项目都可以依照标准来开发和维护软件。 定义了评估软件过程和产品质量的度量。 定义了评估软件过程和产品质量的度量。利用此度量对软件过程和 度量 产品做出推断和控制。 产品做出推断和控制。 系统地引导新理念及技术的反馈,从而不断改进软件过程。 系统地引导新理念及技术的反馈,从而不断改进软件过程。

3 定义级 4 管理级 5 优化级

5 软件复用与过程改进CMM每上升一级都是软件复用能力的一大步 提升 CMM强调的是可重复性 可重复性,不止是软件的重用。 可重复性 希望做到:源程序重用模块重用 体系结构重用 专家思想重用

4.2 基于构件的软件开发技术1 软构件技术的产生90年代,基于构件的软件开发方法的研究和应用 开始兴起。 “构件化开发方法的兴起是源于面向对象开发方 法在软件复用方面的受到的挫折。” --------Ian Sommerville

2 软构件的基本形式

构件是可被用来构造其他软件的软件成分,基本形式可以是:

被封装的对象类 类树 功能模块 软件框架(framwork) 软件架构(或体系结构Architecture) 文档 分析件 设计模式等

3 基于构件的软件工程(CBSE)由两部分组成: 由两部分组成:

制造软件构件的技术(属于领域工程)。 使用软件构件的技术,也称“基于构件的软件开发”。 (Component Based Software Development,CBSD)

CBSE过程模型 过程模型领域知识 领域专家经验 现有系统资料 领域构架 领域分析 领域构 件需求

构件生产线构分析

件设计

开编程

发测试

构架细化构件/ 构件/构架库 领域构架 问题域 用户需求 系统 开发

构件提交

领 域 构 件

领域构件

…… 此处隐藏:960字,全部文档内容请下载后查看。喜欢就下载吧 ……
第九讲 软件复用与构件化软件开发(Software Reuse.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219