第八章基于构件的软件工程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章基于构件的软件 工程
2020年7月26日星期日
•1
第11章基于构件的软件工程
1
•11.1 软件复用的基本概念
•11.2 软件构件与构件工程
•11.3 构件的开发与构件库
•
•11.1 软件复用的基本概念
11.1 软件复用的基本概念
• 软件复用就是将已有的软件成分用于构造新的软件系 统,以达到提高软件系统的开发质量与效率,降低开发成 本的目的。 • 可复用的软件成分—可复用构件(Reusable Component)可从旧软件中提取,也可以专门为复用而开发 。 • 软件复用不仅是对程序的复用,它包括对软件生产过 程中任何活动所产生的制成品的复用。如:项目计划、可 行性报告、需求定义、分析模型、详细说明、源程序和测 试用例等等。
低
•
•11.1.1 软件复用的级别
• 软件生产过程主要是正向过程,即软件产品从抽象级别较 高的形态向抽象级别较低的形态演化,所以较高级别的复用容 易带动较低级别的复用,反之则不然。
• 复用级别越高,可得到的回报也越大,因此分析软件 (Analysis Ware)和设计软件(Design Ware)的复用备受重视。
•11.2.2 基于构件的软件工程
• 基于构件的软件工程与传统的或面向对象的软件工程相 比,有显著的差异。 • 它不是针对某个特定的软件系统,而是针对一类软件系 统的共同的特征、知识和需求。 • 基于构件的软件的开发过程包括两个并发的子过程,一 个是领域工程,另一个是基于构件的开发。领域工程完成一 组可复用构件的标示、构造、分类和传播;基于构件的开发 完成使用可复用构件构造新的软件系统。
•
生产者复用
• (为复用开发构件)
•建立构件
消费者复用 (使用构件开发应用)
•组装应用
•图11.1 生产者复用与消费者复用
•
•11.1.3 软件复用的困难
11.1.3 软件复用的困难
• 复用具有许多明显的优点,但目前应用不广泛的主要原因是 : •(1)技术因素
• 构件与应用系统之间的差异; • 构件要达到一定的规模,才能支持有效的复用; • 发现合用构件的困难; • 基于复用的软件开发方法和软件过程需要一些新的理论、技 术•(2及)人支的持因环素境。喜欢自己创造而不喜欢使用别人的东西。
•
•11.2 软件构件与构件工程
•领域工程
•领域分析
•设计软件 •体系结构
图2
•开发可重用 •的软件成分
•领域 •模型
•结构 •模型
•中心库
•可重用软件 •成分/构件
•软件工程
•用户 •需求
•系统分析
•规格说明 •与设计
•系统规 •格说明
•建造
•分析与 •设计模型
•应用 •软件
•图11.2 重用的过程模型
•(3)管理因素 把复用构件和一般软件构件同等看待,把复用 看作可有可无的事。
•(4)教育因素 软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。
•
•11.2 软件构件与构件工程
11.2 软件构件与构件工程
• 基于软件构件的软件工程也称为构件工程,是以面 向对象的方法为基础,实现软件重用,构造新系统的过程 。 • 为了实现软件重用,基于软件构件的软件工程强调 领域工程与软件工程同时进行。 • 领域工程创建应用领域的模型,标识、构造、分类 和传播一组可重用的软件。 • 软件工程师则在软件开发过程中重用它们。图11.2给 出了一个典型的重用的过程模型,描述了领域工程与软件 工程的关系。
条件的多项设计;
•抽 •象
•分析结果的复 用
••可被独复立用于的具分体应析用结,果专是门针开发对一问些题域 的可复某用些的事分物析或构某件。些问题的抽象程度 更高的解法。
•程
•度
•设计结果的复 用
•受实际环境影响小,可复用机会 多,所需修改少。
•代码的复用
•包括目标代码,也包括文本形式 的源代码。
•
•软件复用的优点: • (1)提高软件生产率,降低软件生产代价; • (2)提高软件质量; • (3)互操作性好; • (4)推动标准化; • (5)支持原型开发。
•
•11.1.2 软件复用的形式
11.1.2软件复用的形式
•一、按照重用活动所跨越的应用领域的类型分 • 1、横向复用(horizontal reuse)也称为水平复用, 是指复用活动的范围跨越了几个不同的应用领域,复用的 软件产品主要包括数据结构、通用算法、人机界面等软件 元素。 • 2、纵向复用(vertical reuse)也称为垂直复用,是 指复用活动的范围限制在同一个应用领域或者是一类具有 较多共性的应用领域内。
•
•11.2.1 可复用构件
•11.2.1 可复用构件
• 一个软件只有在多个系统中被使用才可称为“可复用构件 ”,必须具备的条件:
• (1)独立性 解决一个相对独立的问题,或大问题中某个相对 独立的部分;
• (2)完整性 提供较完整的解决,不要遗留很多缺口,让复用 者做大量补充;
• (3)可标识性 构件所解决的问题应该是可标识的,可命名, 有简要介绍,便于理解和使用。
• (4) 通用性 构件解决的问题,应在同类应用中具有一般性 ;
• (5)适应性 应用场合有某些变化时,构件仍是可用的,使 构件的某些数据参数化和数据类型参数化;
• (11)可靠性 要求构件对预计将要使用它的系统时可靠的;
• (7)标准化 可复用构件的标准化对于软件复用是至关重要 •
8.2.2 基于构件的软件工程
•
•11.1.2 软件复用的形式
•二、基于软件复用的软件开发过程的角度分
• 1、生产者复用(product reuse) • 指建立、获取或者重新设计可复用构件的活动。涉及到 的活动包括:复用的规划、领域分析、构件的开发、构件库的 组织和管理。 • 2、消费者复用(consumer reuse) • 指使用可复用的构件建立新的系统的活动。涉及到的活 动包括:应用系统的规划、构件的检索和选择、应用系统中非 复用部分的开发、应用系统的组装。
•
•11.1.1 软件复用的级别
11.1.1 wk.baidu.com件复用的级别 • 三种方式复用:
• 高
•测试信息的复
• 从现有系统的分析结果中提取可复 •用主构要件包用括于测新系试统用的例分(析t;est case) 的• 复用用和一测份试完整过的程分信析息文的档作复为用输。入
用
,成生针对不通软硬件平台和其它实现
2020年7月26日星期日
•1
第11章基于构件的软件工程
1
•11.1 软件复用的基本概念
•11.2 软件构件与构件工程
•11.3 构件的开发与构件库
•
•11.1 软件复用的基本概念
11.1 软件复用的基本概念
• 软件复用就是将已有的软件成分用于构造新的软件系 统,以达到提高软件系统的开发质量与效率,降低开发成 本的目的。 • 可复用的软件成分—可复用构件(Reusable Component)可从旧软件中提取,也可以专门为复用而开发 。 • 软件复用不仅是对程序的复用,它包括对软件生产过 程中任何活动所产生的制成品的复用。如:项目计划、可 行性报告、需求定义、分析模型、详细说明、源程序和测 试用例等等。
低
•
•11.1.1 软件复用的级别
• 软件生产过程主要是正向过程,即软件产品从抽象级别较 高的形态向抽象级别较低的形态演化,所以较高级别的复用容 易带动较低级别的复用,反之则不然。
• 复用级别越高,可得到的回报也越大,因此分析软件 (Analysis Ware)和设计软件(Design Ware)的复用备受重视。
•11.2.2 基于构件的软件工程
• 基于构件的软件工程与传统的或面向对象的软件工程相 比,有显著的差异。 • 它不是针对某个特定的软件系统,而是针对一类软件系 统的共同的特征、知识和需求。 • 基于构件的软件的开发过程包括两个并发的子过程,一 个是领域工程,另一个是基于构件的开发。领域工程完成一 组可复用构件的标示、构造、分类和传播;基于构件的开发 完成使用可复用构件构造新的软件系统。
•
生产者复用
• (为复用开发构件)
•建立构件
消费者复用 (使用构件开发应用)
•组装应用
•图11.1 生产者复用与消费者复用
•
•11.1.3 软件复用的困难
11.1.3 软件复用的困难
• 复用具有许多明显的优点,但目前应用不广泛的主要原因是 : •(1)技术因素
• 构件与应用系统之间的差异; • 构件要达到一定的规模,才能支持有效的复用; • 发现合用构件的困难; • 基于复用的软件开发方法和软件过程需要一些新的理论、技 术•(2及)人支的持因环素境。喜欢自己创造而不喜欢使用别人的东西。
•
•11.2 软件构件与构件工程
•领域工程
•领域分析
•设计软件 •体系结构
图2
•开发可重用 •的软件成分
•领域 •模型
•结构 •模型
•中心库
•可重用软件 •成分/构件
•软件工程
•用户 •需求
•系统分析
•规格说明 •与设计
•系统规 •格说明
•建造
•分析与 •设计模型
•应用 •软件
•图11.2 重用的过程模型
•(3)管理因素 把复用构件和一般软件构件同等看待,把复用 看作可有可无的事。
•(4)教育因素 软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。
•
•11.2 软件构件与构件工程
11.2 软件构件与构件工程
• 基于软件构件的软件工程也称为构件工程,是以面 向对象的方法为基础,实现软件重用,构造新系统的过程 。 • 为了实现软件重用,基于软件构件的软件工程强调 领域工程与软件工程同时进行。 • 领域工程创建应用领域的模型,标识、构造、分类 和传播一组可重用的软件。 • 软件工程师则在软件开发过程中重用它们。图11.2给 出了一个典型的重用的过程模型,描述了领域工程与软件 工程的关系。
条件的多项设计;
•抽 •象
•分析结果的复 用
••可被独复立用于的具分体应析用结,果专是门针开发对一问些题域 的可复某用些的事分物析或构某件。些问题的抽象程度 更高的解法。
•程
•度
•设计结果的复 用
•受实际环境影响小,可复用机会 多,所需修改少。
•代码的复用
•包括目标代码,也包括文本形式 的源代码。
•
•软件复用的优点: • (1)提高软件生产率,降低软件生产代价; • (2)提高软件质量; • (3)互操作性好; • (4)推动标准化; • (5)支持原型开发。
•
•11.1.2 软件复用的形式
11.1.2软件复用的形式
•一、按照重用活动所跨越的应用领域的类型分 • 1、横向复用(horizontal reuse)也称为水平复用, 是指复用活动的范围跨越了几个不同的应用领域,复用的 软件产品主要包括数据结构、通用算法、人机界面等软件 元素。 • 2、纵向复用(vertical reuse)也称为垂直复用,是 指复用活动的范围限制在同一个应用领域或者是一类具有 较多共性的应用领域内。
•
•11.2.1 可复用构件
•11.2.1 可复用构件
• 一个软件只有在多个系统中被使用才可称为“可复用构件 ”,必须具备的条件:
• (1)独立性 解决一个相对独立的问题,或大问题中某个相对 独立的部分;
• (2)完整性 提供较完整的解决,不要遗留很多缺口,让复用 者做大量补充;
• (3)可标识性 构件所解决的问题应该是可标识的,可命名, 有简要介绍,便于理解和使用。
• (4) 通用性 构件解决的问题,应在同类应用中具有一般性 ;
• (5)适应性 应用场合有某些变化时,构件仍是可用的,使 构件的某些数据参数化和数据类型参数化;
• (11)可靠性 要求构件对预计将要使用它的系统时可靠的;
• (7)标准化 可复用构件的标准化对于软件复用是至关重要 •
8.2.2 基于构件的软件工程
•
•11.1.2 软件复用的形式
•二、基于软件复用的软件开发过程的角度分
• 1、生产者复用(product reuse) • 指建立、获取或者重新设计可复用构件的活动。涉及到 的活动包括:复用的规划、领域分析、构件的开发、构件库的 组织和管理。 • 2、消费者复用(consumer reuse) • 指使用可复用的构件建立新的系统的活动。涉及到的活 动包括:应用系统的规划、构件的检索和选择、应用系统中非 复用部分的开发、应用系统的组装。
•
•11.1.1 软件复用的级别
11.1.1 wk.baidu.com件复用的级别 • 三种方式复用:
• 高
•测试信息的复
• 从现有系统的分析结果中提取可复 •用主构要件包用括于测新系试统用的例分(析t;est case) 的• 复用用和一测份试完整过的程分信析息文的档作复为用输。入
用
,成生针对不通软硬件平台和其它实现