第九讲 软件复用与构件化软件开发(Software Reuse
时间:2025-07-08
时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……