第九讲 软件复用与构件化软件开发(Software Reuse and Software Design based Component

更新时间:2023-05-19 08:06:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第九讲 软件复用与构件化软件 开发(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过程模型 过程模型领域知识 领域专家经验 现有系统资料 领域构架 领域分析 领域构 件需求

构件生产线构分析

件设计

开编程

发测试

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

构件提交

领 域 构 件

领域构件

系分析

统设计

装编程

系统 测试

专 用

构 件 开 发分析 设计 编程 测试

系统专用构件

应用 系统

系统生产线

CBSE关键技术构件模型; 构件描述语言; 构件分类与检索; 构件复合组装; 标准化; 软件构架。

4 软件构架与框架软件构架或架构都是指软件体系结构 (software Architecture )。体系结构是一个 软件系统从整体到部分的最高层次的划分。一 般包括三个部分:构件,用于描述计算; 连接 器,用于描述构件的连接部分;部署,将构件 和连接器组成一个有机整体。

软件构架与框架软件框架(Software Framework)是指面向某 领域(包括业务领域,如ERP,和计算领域, 如GUI)的、可复用的“半成品”软件,它实 现了该领域的共性部分,并提供一系列定义良 好的可变点以保证灵活性和可扩展性。可以说, 软件框架是领域分析结果的软件化,是领域内 最终应用系统的模板。

软件构架与框架的区别呈现形式不同。体系结构的呈现形式是一个 设计规约,而框架则是物理实现。 目的不同。体系结构的首要目的大多是指导 一个软件系统的实施与开发;而框架的首要 目的是为复用.因此,一个框架可有其体系 结构,用于指导该框架的开发,反之不然。

5 构件化软件开发的作用构件化软件开发是软件复用的有效方式,使 “软件组装生产线”成为可能!

构件化软件开发方法必将带来软件产业的革 命,将极大的提高软件的生产效率和质量!?

6 应用构件化软件开发的成功案例神州数码成功开发深圳国税Ctais2.0系统时间:2002 软件开发经费:1.2亿人民币

本文来源:https://www.bwwdw.com/article/enl4.html

Top