第10章软件复用分解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
纵向复用的领域工程实施的活动:
① 实施领域分析
② 开发可复用的构件
③ 建立可复用构件库
编码与测试
中南大学医药信息系
2. 实施领域分析
领域分析是在特定应用领域寻找最优复用的过程, 它以公共对象、类、子集合和框架等形式进行标 识,然后对它们进行分析和规约。 这个阶段的主要任务是获得“领域模型”,领域模 型的需求描述为“领域需求”。
构件与应用系统之间的差异;
构件要达到一定的规模,才能支持有效的复用; 发现合用构件的困难; 基于复用的软件开发方法和软件过程需要一些新的理论、技 术及支持环境。 (2)人的因素 喜欢自己创造而不喜欢使用别人的东西。 (3)管理因素 把复用构件和一般软件构件同等看待,把复用看 作可有可无的事。 (4)教育因素 软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。
管理信息系统
第10章 软件复用
中南大学医药信息系
主要内容 1. 2. 3. 4. 软件复用的基本概念 领域工程 基于构件的软件开发 面向对象与软件复用
编码与测试
中南大学医药信息系
10.1 软件复用的基本概念
1. 软件复用的定义
Freeman (1983年) :
“在构造新的软件系统过程中,对已存在的软件 人工制品的使用技术。” 开发伴随复用,开发为了复用
根据领域需求,领域工程师寻找领域的共性,进而 确定软件的可复用构件。
编码与测试
中南大学医药信息系
领域分析(Domain Analysis)是对一类应用系统的 共同应用领域进行系统化分析,以发现该领域 的共同知识、需求及其应用系统的共同特征。 领域分析又称作领域工程(Domain Engineering),是软件工程的发展与延伸。 领域分析是一项比系统分析更难的工作。 领域分析方法可采用结构化方法和面向对象方 法,而后者将成为主流。
编码与测试
中南大学医药信息系
2) CORBA(Common Object Request Broker Achitecture)公共对象请求代理体 系结构
CORBA是对象管理组织于1991年发布的一种基 于分布对象技术的公共对象请求代理体系结构, 其目的是在分布式环境下,建立一个基于对象 技术的体系结构和一组规范,实现应用的集成, 使组件在异构环境中可以复用、移植和互操作。
编码与测试
中南大学医药信息系
(2)领域构件的特征
①标准数据 ② 标准接口协议 ③程序模板
编码与测试
中南大学医药信息系
(3)几种流行的构件技术
1) COM(Component Object Model)
OLE(Object Linking and Embedding)
组件对象模型技术
COM是Microsoft公司开发的一种构件对象模型,它 提供了使用不同厂商生产的对象的规约。任何人都可 以按此标准独立地开发组件和增值组件,或由若干组 件组建集成软件。
中南大学医药信息系
(3)应用程序生成器
用于对整个软件系统设计的复用。 自动化程度高
特定的应用程序生成器不宜构造
(4)领域特定的软件体系结构的复用
指对特定领域中存在的一个公共体系结构 及其构件的复用。要求对领域有透彻的 理解才能进行领域建模。
特点:① 复用程度高
② 前期投入大
编码与测试
中南大学医药信息系
领域分析
领域分析是对特定应用领域中共同的特征、知识、需求 的标识、分析和规约。领域分析是特定领域内软件重用的基 础,它的目标就是:发现和挖掘在特定领域内可以被复用的 构件。领域分析活动中输入和输出如图所示:
输入信息
技术文献 已有应用 专家经验/建议 当前与未来的需求
输出信息
领域分析 领域语言 复用标准 分类方法 功能/行为模型
目的:能更快、更好、成本更低地生产软件产品。
实现软件复用应优先采取的措施:
建立支持复用的基础设施(如构件库)。
培训工程师和管理者使用复用软件。 采用促进软件复用的开发方法(如面向对象的开发
方法)。 企业内部采取激励措施。
编码与测试
百度文库
中南大学医药信息系
软件复用的困难
复用具有许多明显的优点,但目前应用不广泛的主要原因是: (1)技术因素
编码与测试
中南大学医药信息系
领域分析的步骤:
领 域
技术文件 已有应用 类的分析
领
知
识 源
客户考察
专家提议 目前/未来的需求
领 域 分 析
复用标准 功能模型 需求规约
域 知 识 模 型
⑴ 选择特定的领域
⑵ 抽取具有最优复用的功能
⑶ 标识该功能 ⑷ 建立领域分析模型
⑸ 定义需求规约,得到由需求规约构件和子配置构成的领域模型
领域分析的输入和输出
领域分析不是针对某个特定的软件系统,而是针对一类软 件系统的共同的特征、知识和需求。比需求分析更一般、更抽 象、更广泛的特征。
3. 开发可复用构件
(1)单个构件的特征
①通用性
②可变性
在建造构件时,应该提供构件的特化和调整机制。
③易组装性
• 构件的组装分为同构件的组装和异构件的组装。 • 构件应有良好的封装性和良好的接口。 • 构件间应有松散的耦合度 • 应提供便于组装的机制
编码与测试
中南大学医药信息系
3. 软件复用的粒度 (1)源代码复用
在构件库检索到实用的构件,通过设置参数值, 使之具有新的适应性。 由于构件经过充分的测试,其可靠性高。 但通用性、抽象性较差。 (2)软件体系结构复用
可复用较大粒度的软件制品 因为难以抽象出简明的描述,存放体系 结构的库不宜管理
编码与测试
10.2 领域工程
领域:是一组具有相似或相近软件需
求的应用系统所覆盖的区域。
编码与测试
中南大学医药信息系
10.2 领域工程
1、横向复用和纵向复用 领域中的复用可分为:横向复用和纵向复用 横向复用:指复用不同应用领域中的软件元 素,如标准函数库。
纵向复用:指具有较多公共性的应用领域之 间的软件复用。
制造软件构件技术——领域工程
使用软件构件技术——基于构件的软件开发
编码与测试
中南大学医药信息系
领域 工程
领域分析
软件结构开发
可重用构件开发 可复用 构件库
领域模型
结构模型
基于构件 的开发
构件选用 构件调整 构件组合
构件更新 应用 软件
分析
结构设计
构件工程
测试
2. 软件复用的措施 软件复用的重要性
① 实施领域分析
② 开发可复用的构件
③ 建立可复用构件库
编码与测试
中南大学医药信息系
2. 实施领域分析
领域分析是在特定应用领域寻找最优复用的过程, 它以公共对象、类、子集合和框架等形式进行标 识,然后对它们进行分析和规约。 这个阶段的主要任务是获得“领域模型”,领域模 型的需求描述为“领域需求”。
构件与应用系统之间的差异;
构件要达到一定的规模,才能支持有效的复用; 发现合用构件的困难; 基于复用的软件开发方法和软件过程需要一些新的理论、技 术及支持环境。 (2)人的因素 喜欢自己创造而不喜欢使用别人的东西。 (3)管理因素 把复用构件和一般软件构件同等看待,把复用看 作可有可无的事。 (4)教育因素 软件科学技术的教育与培训中,缺乏关于软件复 用的内容,缺少专门教材和课程。
管理信息系统
第10章 软件复用
中南大学医药信息系
主要内容 1. 2. 3. 4. 软件复用的基本概念 领域工程 基于构件的软件开发 面向对象与软件复用
编码与测试
中南大学医药信息系
10.1 软件复用的基本概念
1. 软件复用的定义
Freeman (1983年) :
“在构造新的软件系统过程中,对已存在的软件 人工制品的使用技术。” 开发伴随复用,开发为了复用
根据领域需求,领域工程师寻找领域的共性,进而 确定软件的可复用构件。
编码与测试
中南大学医药信息系
领域分析(Domain Analysis)是对一类应用系统的 共同应用领域进行系统化分析,以发现该领域 的共同知识、需求及其应用系统的共同特征。 领域分析又称作领域工程(Domain Engineering),是软件工程的发展与延伸。 领域分析是一项比系统分析更难的工作。 领域分析方法可采用结构化方法和面向对象方 法,而后者将成为主流。
编码与测试
中南大学医药信息系
2) CORBA(Common Object Request Broker Achitecture)公共对象请求代理体 系结构
CORBA是对象管理组织于1991年发布的一种基 于分布对象技术的公共对象请求代理体系结构, 其目的是在分布式环境下,建立一个基于对象 技术的体系结构和一组规范,实现应用的集成, 使组件在异构环境中可以复用、移植和互操作。
编码与测试
中南大学医药信息系
(2)领域构件的特征
①标准数据 ② 标准接口协议 ③程序模板
编码与测试
中南大学医药信息系
(3)几种流行的构件技术
1) COM(Component Object Model)
OLE(Object Linking and Embedding)
组件对象模型技术
COM是Microsoft公司开发的一种构件对象模型,它 提供了使用不同厂商生产的对象的规约。任何人都可 以按此标准独立地开发组件和增值组件,或由若干组 件组建集成软件。
中南大学医药信息系
(3)应用程序生成器
用于对整个软件系统设计的复用。 自动化程度高
特定的应用程序生成器不宜构造
(4)领域特定的软件体系结构的复用
指对特定领域中存在的一个公共体系结构 及其构件的复用。要求对领域有透彻的 理解才能进行领域建模。
特点:① 复用程度高
② 前期投入大
编码与测试
中南大学医药信息系
领域分析
领域分析是对特定应用领域中共同的特征、知识、需求 的标识、分析和规约。领域分析是特定领域内软件重用的基 础,它的目标就是:发现和挖掘在特定领域内可以被复用的 构件。领域分析活动中输入和输出如图所示:
输入信息
技术文献 已有应用 专家经验/建议 当前与未来的需求
输出信息
领域分析 领域语言 复用标准 分类方法 功能/行为模型
目的:能更快、更好、成本更低地生产软件产品。
实现软件复用应优先采取的措施:
建立支持复用的基础设施(如构件库)。
培训工程师和管理者使用复用软件。 采用促进软件复用的开发方法(如面向对象的开发
方法)。 企业内部采取激励措施。
编码与测试
百度文库
中南大学医药信息系
软件复用的困难
复用具有许多明显的优点,但目前应用不广泛的主要原因是: (1)技术因素
编码与测试
中南大学医药信息系
领域分析的步骤:
领 域
技术文件 已有应用 类的分析
领
知
识 源
客户考察
专家提议 目前/未来的需求
领 域 分 析
复用标准 功能模型 需求规约
域 知 识 模 型
⑴ 选择特定的领域
⑵ 抽取具有最优复用的功能
⑶ 标识该功能 ⑷ 建立领域分析模型
⑸ 定义需求规约,得到由需求规约构件和子配置构成的领域模型
领域分析的输入和输出
领域分析不是针对某个特定的软件系统,而是针对一类软 件系统的共同的特征、知识和需求。比需求分析更一般、更抽 象、更广泛的特征。
3. 开发可复用构件
(1)单个构件的特征
①通用性
②可变性
在建造构件时,应该提供构件的特化和调整机制。
③易组装性
• 构件的组装分为同构件的组装和异构件的组装。 • 构件应有良好的封装性和良好的接口。 • 构件间应有松散的耦合度 • 应提供便于组装的机制
编码与测试
中南大学医药信息系
3. 软件复用的粒度 (1)源代码复用
在构件库检索到实用的构件,通过设置参数值, 使之具有新的适应性。 由于构件经过充分的测试,其可靠性高。 但通用性、抽象性较差。 (2)软件体系结构复用
可复用较大粒度的软件制品 因为难以抽象出简明的描述,存放体系 结构的库不宜管理
编码与测试
10.2 领域工程
领域:是一组具有相似或相近软件需
求的应用系统所覆盖的区域。
编码与测试
中南大学医药信息系
10.2 领域工程
1、横向复用和纵向复用 领域中的复用可分为:横向复用和纵向复用 横向复用:指复用不同应用领域中的软件元 素,如标准函数库。
纵向复用:指具有较多公共性的应用领域之 间的软件复用。
制造软件构件技术——领域工程
使用软件构件技术——基于构件的软件开发
编码与测试
中南大学医药信息系
领域 工程
领域分析
软件结构开发
可重用构件开发 可复用 构件库
领域模型
结构模型
基于构件 的开发
构件选用 构件调整 构件组合
构件更新 应用 软件
分析
结构设计
构件工程
测试
2. 软件复用的措施 软件复用的重要性