第八章 基于构件的 换什工程
第八章 第八章基于构件的软件工程 基于构件的 软件工程
第八章基于构件的软什工程 8.1软件复用的基本概念 82软件构件与构件工程 83构件的开发与构件年 <>返回
第八章基于构件的软件工程 1 8.1 软件复用的基本概念 8.3 构件的开发与构件库 8.2 软件构件与构件工程
6.1软件复用的基本概念 8.1软件复用的基本概念 软件复用就是将已有的软件成分用于构造新的软件系 统,以达到提高软件系统的开发质量与效率,降低开发成 本的目的。 可复用的软件成分—可复用构件( Reusable component 可从旧软件中提取,也可以专门为复用而开发。 软件复用不仅是对程序的复用,它包括对软件生产过 程中任何活动所产生的制成品的复用。如:项目计划、可 行性报告、需求定义、分析模型、详细说明、源程序和测 试用例等等
8.1 软件复用的基本概念 软件复用就是将已有的软件成分用于构造新的软件系 统,以达到提高软件系统的开发质量与效率,降低开发成 本的目的。 可复用的软件成分—可复用构件(Reusable Component) 可从旧软件中提取,也可以专门为复用而开发。 软件复用不仅是对程序的复用,它包括对软件生产过 程中任何活动所产生的制成品的复用。如:项目计划、可 行性报告、需求定义、分析模型、详细说明、源程序和测 试用例等等。 6.1 软件复用的基本概念
8.1.1软件复用的级别 811.复用的级别三种方式复用 从现有系统的分析结果中提取可复 测试信息的复用用构件用于新系统的分析 用一份完整的分析文档作为输入 成生针对不通软硬件平台和其它实现条 件的多项设计; 抽象程度 独立于具体应用,专门开发一些咸成 分析结果的复用可复用的分析构件 更局解我。 设计结果的复用受实际环境影响小,可复用机会多 所需修改少。 低 代码的复用包括目标代码,也包括文本形式的 源代码
代码的复用 设计结果的复用 分析结果的复用 测试信息的复用 高 抽 象 程 度 低 8.1.1 软件复用的级别 包括目标代码,也包括文本形式的 源代码。 受实际环境影响小,可复用机会多, 所需修改少。 可被复用的分析结果是针对问题域 的某些事物或某些问题的抽象程度 更高的解法。 主要包括测试用例(test case) 的复用和测试过程信息的复用。 三种方式复用: 从现有系统的分析结果中提取可复 用构件用于新系统的分析; 用一份完整的分析文档作为输入, 成生针对不通软硬件平台和其它实现条 件的多项设计; 独立于具体应用,专门开发一些 可复用的分析构件。 8.1.1 软件复用的级别
6.11软件复用的级别 软件生产过程主要是正向过程,即软件产品从抽象级别较 高的形态向抽象级别较低的形态演化,所以较高级别的复用容 易带动较低级别的复用,反之则不然。 复用级别越高,可得到的回报也越大,因此分析软件 ( Analysis Ware)和设计软件( Design Ware)的复用备受重视 软件复用的优点 (1)提高软件生产率,降低软件生产代价; (2)提高软件质量; (3)互操作性好; (4)推动标准化; (5)支持原型开发
软件生产过程主要是正向过程,即软件产品从抽象级别较 高的形态向抽象级别较低的形态演化,所以较高级别的复用容 易带动较低级别的复用,反之则不然。 复用级别越高,可得到的回报也越大,因此分析软件 (Analysis Ware)和设计软件(Design Ware)的复用备受重视。 软件复用的优点: (1)提高软件生产率,降低软件生产代价; (2)提高软件质量; (3)互操作性好; (4)推动标准化; (5)支持原型开发。 6.1.1 软件复用的级别
6.1.2软件复用的形式 8.1.2软件复用的形式 按照重用活动所跨越的应用领城的类型分 1、横向复用( horizontal reuse)也称为水平复用, 是指复用活动的范围跨越了几个不同的应用领城,复用的 软件产品主要包括数据结构、通用算法、人机界面等软件 元素。 2、纵向复用( vertical reuse)也称为垂直复用,是 指复用活动的范围限制在同一个应用领域或者是一类具有 较多共性的应用领城内
8.1.2软件复用的形式 一、按照重用活动所跨越的应用领域的类型分 1、横向复用(horizontal reuse)也称为水平复用, 是指复用活动的范围跨越了几个不同的应用领域,复用的 软件产品主要包括数据结构、通用算法、人机界面等软件 元素。 2、纵向复用(vertical reuse)也称为垂直复用,是 指复用活动的范围限制在同一个应用领域或者是一类具有 较多共性的应用领域内。 6.1.2 软件复用的形式
6.1.2软件复用的形式 基于软件复用的软件开发过程的角度分 1、生产者复用( product reuse) 指建立、获取或者重新设计可复用构件的活动。涉及到的 活动包括:复用的规划、领域分析、构件的开发、构件库的组 织和管理。 2、消费者复用( consumer reuse) 指使用可复用的构件建立新的系统的活动。涉及到的活动 包括:应用系统的规划、构件的检索和选择、应用系统中非复 用部分的开发、应用系统的组装。 生产者复用 消费者复用 (为复用开发构件)(使用构件开发应用) 建立构件 组装应用 图6.1生产者复用与消费者复用
二、基于软件复用的软件开发过程的角度分 1、生产者复用(product reuse) 指建立、获取或者重新设计可复用构件的活动。涉及到的 活动包括:复用的规划、领域分析、构件的开发、构件库的组 织和管理。 2、消费者复用(consumer reuse) 指使用可复用的构件建立新的系统的活动。涉及到的活动 包括:应用系统的规划、构件的检索和选择、应用系统中非复 用部分的开发、应用系统的组装。 6.1.2 软件复用的形式 建立构件 组装应用 生产者复用 消费者复用 (为复用开发构件) (使用构件开发应用) 图6.1 生产者复用与消费者复用
6.1.3软件复用的困难 8.13软件复用的图难 复用具有许多明显的优点,但目前应用不广泛的主要原因是: (1)技术因素 构件与应用系统之间的差异 构件要达到一定的规模,才能支持有效的复用; 发现合用构件的困难 基于复用的软件开发方法和软件过程需要一些新的理论、技术 及支持环境。 ()人的因素喜欢自己创造而不喜欢使用别人的东西。 (3)管理因素把复用构件和一般软件构件同等看待,把复用看 作可有可无的事。 (4)教育因素软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。 >返回
复用具有许多明显的优点,但目前应用不广泛的主要原因是: (1)技术因素 构件与应用系统之间的差异; 构件要达到一定的规模,才能支持有效的复用; 发现合用构件的困难; 基于复用的软件开发方法和软件过程需要一些新的理论、技术 及支持环境。 8.1.3 软件复用的困难 (2)人的因素 喜欢自己创造而不喜欢使用别人的东西。 (4)教育因素 软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。 (3)管理因素 把复用构件和一般软件构件同等看待,把复用看 作可有可无的事。 6.1.3 软件复用的困难
62软件构件与构件工程 8.2软件构件与构件工程 基于软件构件的软件工程也称为构件工程,是以面向 对象的方法为基础,实现软件重用,构造新系统的过程 为了实现软件重用,基于软件构件的软件工程强调领 城工程与软件工程同时进行。 领城工程创建应用领域的模型,标识、构造、分类和 传播一组可重用的软件。 软件工程师则在软件开发过程中重用它们。图62给出 了一个典型的重用的过程模型,描述了领域工程与软件工 程的关系
8.2 软件构件与构件工程 基于软件构件的软件工程也称为构件工程,是以面向 对象的方法为基础,实现软件重用,构造新系统的过程。 为了实现软件重用,基于软件构件的软件工程强调领 域工程与软件工程同时进行。 领域工程创建应用领域的模型,标识、构造、分类和 传播一组可重用的软件。 软件工程师则在软件开发过程中重用它们。图6.2给出 了一个典型的重用的过程模型,描述了领域工程与软件工 程的关系。 6.2 软件构件与构件工程
62软件构件与构件工程 1领城工程 领域分析 设计软件 开发可重用 体系结构 的软件成分 领域 结构 中心库 模型 模型 可重用软件 成分/构件 软件工程 系统分析 规格说明 与设计 建造 用户 需求 系统规 分析与 格说明 应用 设计模型 软件 图62重用的过程模型 >返回
图2 领域分析 设计软件 体系结构 开发可重用 的软件成分 中心库 可重用软件 成分/构件 领域 模型 结构 模型 系统分析 规格说明 与设计 建造 系统规 格说明 分析与 设计模型 应用 软件 用户 需求 软件工程 领域工程 图6.2 重用的过程模型 6.2 软件构件与构件工程