面向构件的可复用软件资源管理
软件复用与软件构件技术

科 学 发 展
铖 鸯与 蟪寓
软件复 用与软件构件 技术
崔 振 宇
摘 ( 沈 阳汽 车工业学 院) 要: 本文主要论述 了在软件开发 的过程中 , 为 了减少 因重复劳动而增 大的工作量 而使 用的软件 复用 的有关 问题 , 并就软件 复用的主要形式一软
件构件技术 的概念与 构架做 出了简要概述 , 指 出了在当前 的软件 开发过程 中, 有效 使用软件复用 技术能够很好 的提 高软件的开发效率 , 促 使软件产业 更
加快速 的发展 。 关键词 : 软件复用 软件 构件 软件 构架 技术方法
自第三次产业革命 以来 , 计算机技术就得到 了迅速而广泛的应 用, 极大 了促进 了社会的生产力 , 提高 了工作中的计算效率与应用能力。与此 同时, 支撑其快速发展的软件技术也在不断的更新与发展 ,从而增大和完善 了计
造成一定影响 。
Байду номын сангаас
面向构件的软件过程:提交、发布与部署

3 发 布 . 该活动 的 目的是 : 决定 发布内容( 特定子版本 应用
系统 、 配置文件 、 助文档 、 帮 安装手 册 、 用户手册 等 )编 ,
写版本说 明书, 落实包装等发布相关事宜 , 并予以发布。 该活动由发布经理负责组织各方资源完成 。
4部 署 . 该活动的 目的是 :将面 向构件应 用部署到用 户的
提交到构件库 。
() 5 构件 的提取 : 的需求 申请 、 构件 审批 、 取的管 提
理。
构件库管理员负责协调组织级行 为和项 目级行为 。
一
() 6 构件注销 : 处理过期 、 报废 的构件 。 () 7 日志管 理 : 用户使用构件库 的业务操作 日志。
中国金融 电脑 2 0 0 7年第 1 0期 ・ 3 5
时监控 的结果 , 对应用采取主动调优 。
5 以 面 向构 件 为 核 心 的 一 体 化 平 台 对 本 阶 段 .
的 支 持 如果说 ,是面向构件的方法为软件行 业带来 了曙
光, 那么面 向构件为核心 的平 台则使 得“ 组装 软件 ” 的梦
想得 以实现。以面向构件的方法开发应用 , 要求必须对 原有 的开发工具 、 开发环境 、 生产方式等进行改变 , 以适
包括配置文件 、 用户手册 、 帮助文档 、 安装手册等进行收 集、 整理 、 打包 、 发布。 用户最终希望得到 的是一套正常运转 的软件系统 ,
这就需要部署 、 配置等 。当有遗 留数据时还要进行数据
移行 , 这些工作在部署 活动 中完成。
1提 交 .
该活动的 目的是 : 将通过测试 的业 务构 件和服务构 件进行评审 , 将评审通过 的构件提交到构件库 。该活 并 动由构件库管理员负责组织各方资源完成 。 相对来说 , 构件库 的建立 是有必要 的。如果生产 出 来 的构件 只是 分散 、 孤立地 存放 于某个地 方 , 构件信息
面向构件的软件过程:项目管理

老 板 希 望 项 目经 理 在 项 目启 动 伊 始就 提
供 详 细 的 项 目计 划 — — 否 则 他 就 觉得 不 踏 实 ;项 目经 理 如 果 这 样 做 ,老 板 会 很 高兴 — — 但 这 对 实 际的 项 目实 施 并 无 意 义 ;项 目经 理 如 果 不 这 样 做 ,老 板 会 觉
或加 工某 些 工 作 产 品 的 目的 ;但 实 际 上 ,
敏 捷 方 法 的 流 行 ,使 更 多 人 认 识 到 “ 实 ”的 才 是 最 好 的 。在 我们 提 出的 面 务
面 向构 件 的 项 目组 织
臣
:
任 何 有 经 验 的 项 目经 理 都 知 道 ,根 据 所 谓 的项 目管 理 。 三 角 来 制 定 项 目 铁 计 划是 远 远 不 够 的 。 根据 自己的 实 践 , 笔
者 认 为 A l 在 其 《 程 模式 》一 书 中 mbe r 过 归 纳 的 “ 六 边 形 显 然更 成 熟 ,如 图 2 铁
所示 。
品要 不 要 提 交 到 “ 置 管理 库 ” 行 版 本 配 进 控 制 , 段 性 的 产 品 包仅 仅 是 内部 发 布 、 阶
还 是 要 rl s 到 外部 等等 。 e ae e ● 项 目的 诸 多投 入 ,最 终 要 换 来 产
…
:
出 的 品 。项 目 管理 中应 重 视 产 品 需 求
《 目计划 )应 在 项 目的早 期 阶 段 制 项 )
定 , 主要 目的 是 评 估 项 目规 模 、 计 项 其 估
软件重用-NATO-标准简介-P17

NATO软件复用标准简介摘要实践证明,软件复用可以有效地提高软件的质量和生产率,它包括开发可复用软件构件和基于可复用构件的开发两个生命周期。
在这两个生命周期中,采用一个适当的标准以识别和开发可复用软件将大大促进软件复用的实践。
为此,NATO(北大西洋公约组织)制定了一整套软件复用的指导性标准,以帮助NATO及其参与国和承包商的项目管理部门进行有效的软件复用。
这套标准包括《可复用软件构件开发指南》、《可复用软件构件库管理指南》和《软件复用过程指南》三个文档,分别从软件生命周期的各个阶段对软件复用进行了指导和帮助。
关键词:NATO,软件复用,可复用构件开发,构件库管理,复用过程一、前言1.背景与目的自从McIlroy在1968年的NATO软件工程会议上正式提出软件复用的概念以来,软件复用已有了近三十年的发展历程,复用的对象也从早期的代码复用扩展到对软件开发过程中一切有价值的信息的复用,包括需求、需求规约、设计、源代码、测试计划和测试案例等。
近三十年的实践证明,软件复用可以有效地提高软件的质量和生产率,是解决当前“软件危机”的一条比较现实可行的途径。
软件复用包括开发可复用软件构件和基于可复用构件的开发两个生命周期。
在这两个生命周期中,采用一个适当的标准以识别和开发可复用软件将大大促进软件复用的实践。
为此,NATO(北大西洋公约组织)制定了一整套软件复用的指导性标准,以帮助NATO及其参与国和承包商的项目管理部门进行有效的软件复用。
这套标准包括《可复用软件构件开发指南》、《可复用软件构件库管理指南》和《软件复用过程指南》三个文档,分别从软件生命周期的各个阶段对软件复用进行指导,以便最大限度地减少复用代价和增加复用收益。
青鸟工程是国家“九五”重点科技攻关项目,其中研究的主要内容之一便是软件复用和软件构件技术。
为了吸收和利用国外软件复用的最新研究成果,我们对国际上相关研究和实践工作进行了深入分析,以期能拓宽思路,取长补短,使我们的工作能和国际主流接轨。
软件工程中的构件重用技术研究

软件工程中的构件重用技术研究在软件工程中,构件重用技术是一种非常重要的技术手段,它可以帮助软件开发人员更加高效地开发出高质量的软件系统。
构件重用技术是一种将可重用的组件设计、实现、测试并加以维护的技术,以便在开发新软件的过程中能够重复使用这些组件。
本文将详细探讨构件重用技术在软件工程中的应用和实践。
一、构件重用技术的意义构件重用技术的存在,主要是为了解决软件开发人员在开发软件的时候重复造轮子的问题。
因为每个软件系统都需要一些共同的基础构件来实现基础功能,例如界面设计、输入输出处理、网络连接等等,这些共同的构件往往会被重复设计、开发和测试。
这不仅会导致资源浪费,还会影响软件开发的效率和质量。
因此,构件重用技术的存在就是想要将这些基础构件抽离出来,以便于开发人员在开发新的软件系统时能够直接复用这些构件,从而提高开发效率和质量。
二、构件重用技术的核心构件重用技术的核心在于组件的设计与实现。
好的组件设计和实现可以为软件系统提供高性能、高可靠性和高可维护性。
为了达到这个目标,需要通过以下方式来完成:1.抽象化:将组件的某些特定功能和实现细节抽象为公共接口和实现,以便于其他开发人员重新利用它们。
2.封装化:将组件的处理逻辑隐藏在组件的内部,只对外提供公共接口,以便于其他开发人员,只需要使用这些公共接口,便可以完成功能的使用任务,而不需要了解组件的具体实现。
3.拆解化:将组件分解为更小、更简单、更易于管理的部件,以便于将不同的组件组成更复杂的系统。
三、构件重用技术的常见实践1.面向对象编程:面向对象编程是一种将真实世界中的实体和其相应的行为进行建模的编程方式。
它以类为基础,将对象(实体)和其行为(方法)作为封装化的组件来处理。
面向对象编程可以提供类的继承、多态、封装和抽象等特性,提供了组件设计和实现的重要基础。
2.开放式系统:开放式系统是指可以被其他系统和组件调用和扩展的系统。
开放式系统的存在,可以帮助软件开发人员更加灵活地使用和扩展现有的组件。
青鸟系统中可复用软件构件的表示与查询

青鸟系统中可复用软件构件的表示与查询1常继传李克勤郭立峰梅宏杨芙清(北京大学计算机科学技术系,北京100871)摘要可复用构件的表示和检索是构件库和软件复用研究的重点,它伴随复用实践的深入和新技术的出现而不断取得进展。
通过比较现有的构件分类模式,青鸟构件库系统以青鸟构件模型为基础,采用以刻面分类为主、多种分类模式相结合的方法对构件进行分类索引,支持多种构件查询方式组合使用。
本文介绍了青鸟Ⅲ型构件库系统中可复用软件构件的分类表示模式及构件检索机制的系统结构、设计依据和系统特性。
关键词:软件复用、软件构件、构件库、构件表示、构件检索Representing and Retrieving Reusable Software Components in JB(Jadebird) SystemChang Jichuan, Li Keqin, Guo Lifeng, Mei Hong, Yang Fuqing(Department of Computer Science and Technology, Peking University, Beijing 100871) Abstract How to represent and retrieve reusable software component is always of interest to the reuse community. As a software development environment supporting systematic reuse, JB system chose faceted approach as the primary classification scheme, with several other schemes constituing a combined solution, which supports multiple retrieval methods as well as their combination. This paper discusses the representation, classification and retrieval of reusable components in JB system, introduces the system architecture, data model and features of related subsystems, as well as underlying assumptions and design rationale.Keyword software reuse, software component, reuse library, component representation, component retrieval-、引言对软件复用和软件构件的研究始于60年代后期,30年来人们一直关心的两个问题是:1.如何有效地表示可复用软件构件?2.如何在已有的大量构件中找到所需的构件?与第一个问题相关的研究涉及到构件模型(什么是构件?构件的基本属性是什么?构件之间如何交互?)、构件规约(如何用形式化方法规约构件的功能和其他属性?)、构件库数据建模(构件库的元模型和数据模型是什么?构件库采用何种分类索引模式?)等问题;后者涉及到构件库查询接口(SQL、OQL或者与复用相关的构件库查询服务)、构件的匹配和检索算法、以及自动工具支持(如查询工具、构件的认证和评价工具)等问题。
面向构件的软件过程:提交、发布与部署

◆降低 I总体成本。面向构件的平 T
构件的检索
核心” 是因为这里所论述的平台是建立 台的有 效构件资源管理 .为整个开发 团 ,
用户可以输入业务构件的需求 . 在 在面向构件的概念 面向构件的方法、 面 队提供 了一个 交流 和知识 共享 的平 台。
构件 库中 匹配合适构件 .检索范围可 以 向构 件的架构基础之上 的。这个平 台不 开发人员可以充分利用现有的构件资源 .
构件注销
处理过期 ,报废的构件。
B志管理
同于 JE 平台和 .E 平 台 . 2E NT 它不依赖于 从而提高了构件的复用度。高复用性一 特定 的技术 、特定的编程语 言。 方面缩短开发周期 降低人力成本 。 另一
面向构件为核心的平台具有一体化 方面也提 高软 件质量 .降低风险成本
构 件库 管理 应覆 盖 的功 能
构件库应 提供构件 的管理服务 .包
括构件的描述 、管理 存储和检索功能 。 构件 库为 日益增长 的构件 的数量 、种类
部 署阶段 的进入条件 主要 角色和
步骤 核心工件 退出条件等如图 1 示。 所
手中之前还有不少工作耍做 ,发布工作
就负责将软件本 身 包括配置文件 、 用户
构件被检索、 提取 。 用的相 关的分 具 、 使 构件库组成 ( 参见图 4。 ) 它提供 了对 管理功能。 用户可 以根据业务需要对应用
析统计报表。
发布
定子版 本应用系统 、配置文件 帮助 文
构件运行期管理等构件的整个构建、生
◆企业级的能力。面向构件为核心
的平台为客户提供 一个统一 、 简单 。 基于
.
提交
提供了有效的管理手段 ( 如图3 所示) 。
浅谈软件复用技术的四个关键问题

浅谈软件复用技术的四个关键问题[摘要]软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
60年代出现的软件危机导致了有关软件复用的研究。
软件复用是指重复使用“为了复用目的而设计的软件”的过程。
通过软件复用,在应用系统开发中可以充分利用已有的开发成果,消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率。
同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,从而提高了软件的质量。
[关键词]软件复用技术软件危机软件复用一、引言软件复用的概念是由McI1roy在1968年的NATO软件工程会议上提出的。
McI1roy提出了发展以可复用源代码软件构件为基础的软件工业和利用COTS (Component Off The Shelf)构件工业化生产软件的观点。
软件复用被认为是解决所谓“软件危机”的技术上可行的、现实的解决方案。
软件复用的对象包括软件开发过程中所使用和产生的各种资源:源代码、各种文档、测试数据、设计方法、体系结构等等,总称可复用构件。
软件复用是为了改善软件生产的资金投入大、开发周期长、软件产品失败率高等不能满足市场需求的现状,充分利用已有的高质量软件产品和部件,经过组装集成快速搭建应用软件系统的软件开发理论。
经历了结构化程序设计、面向对象技术、软件构件技术的发展,软件复用已经成为加速软件工业化早日实现的重要力量。
二、面向对象技术面向对象技术提供了新的认知和表示世界的思想和方法。
面向对象方法就是用对象来作为描写客观信息的基本单元,它包括封装在一起的对象标识、对象属性和对象操作。
面向对象技术是以对象为基础来构件系统的,可以通过一个指向对象的指针或对它的引用,就可以访问这个对象的所有数据和方法,用面向对象技术建造起来的系统不仅易于管理和使用,而且源代码的可读性高。
如果没有对象,在程序中必须保存大量的变量和一个个孤立的函数,然后在这些没有多大关连的变量和函数之间进行变量传递,这不仅给编程增加了很大的复杂性,而且使得程序的可读性极差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件构件库的相关标准(2)
IEEE关于构件库互操作的标准:
IEEE Std 1420.1-1995, (RIG), IEEE Standard
RfoeruIsnefLoribmraatriyonInTteecrhopneorloagbyil—itySGofrtwouapre
Reuse—Data Model for Reuse Library interoperability: Basic
最终用户直 接使用应用 程序(在线 软件最终用户 构件)
软件构件库的相关标准(1)
北大西洋公约组织(NATO)的三个关于可复用软 件构件管理的标准:
Contel Corporation. Standard for the Development of Reusable Software Components. NATO contract number CO-5957-ADA, 1991;
UUDDDDI I RReeggisitsrtryy
Microsoft IBM
……….
应用接口层
抗攻击
入侵检测
病毒防护 ……….
用户管理 身份验证 用户信息管理 权限管理
统计与反馈工具
计费工具
功能层
开发资源管 理平台
版本管理机制 变化管理机制
开发资源库
复用资源管理平台
构件实体管理平台 构件提取机制 构件验证机制
存储层
数据存储
事务处理
数据备份
数据恢复
数据安全
构件库管理系统的特性(2)
构件库管理系统的规范化特性
应用层 构件库接口层
应用程序界面
应用程序
商业模式
复用模式
应用API
查询
构件库管理
互操作API
构件库描述层
构件的管理 发布 检索
构件库描述语言(BCLDL)
构件库描述模型(BCLDM)
构件关系的管理
构件库
A
B R
C D
A1 A2
B1
B2 C1 C2
D1
A3 A4
B3 B4
4.
软件开发人员利用查询
D2
构件服务
结果开发应用程序(离 线构件、在线构件)
最终用户直接
使用应用程序
(在线构件)
软件构件库管理系统
软件构件库(Software Component Library)
持久存储的可复用软件构件及其相关资源的集合
构件关系管理
相关概念
关系空间:描述一组关系类型的 应用范围。
如OOA模型定义为关系空间。
关系类型:对一组具有相同属性 的关系的抽象描述。
如一般特殊关系、整体部分关系 等定义为关系类型。
关系实例:关系类型的实例化。
CLMS中预定义了软件机构 之间的关系空间
基本概念 反馈基础模板
面向构件的可复用软件资源管理
李戈
北京大学 信息科学技术学院 软件研究所 2006年11月23日
软件复用的基础
基于构件的软件复用方法
将可复用构件作为复用对象,利用“为复用目的 而开发的构件”构造新的系统。
软件构件技术已在学术界和产业界得到了很好的 研究与实践,成为目前软件开发的主流技术与方 法。
离线构件:构件实体信息 在线构件:构件接口信息
3.
软件开发人员查询构件 库,发现自己所需的构件
2.
构件库系统为每个构件 分配唯一的标识符,并 对其进行管理
软件构件库系统
A1
A3
A
A2
A4
B1
B
B3
R
B2 B4
C
C1
C2
D
D1
D2
4.
软件开发人员
软件开发人员通过WEB 所查询到的结果开发相 应应用程序(离线构 件、在线构件)
软件构件库的相关标准(3)
中华人民共和国电子行业标准
信息技术 软件构件管理 信息模型
z 2005年9月完成送审稿,现已公示
信息技术 软件构件管理 管理模型
z 2005年9月完成初稿
软件构件库管理系统
北京大学软件构件库管理系统
构件库系统功能结构
软件开发人员
软件用户
INTERNET
Contel Corporation. Standard for Management of a Reusable Software Component Library. NATO contract number CO-5957-ADA, 1991;
Contel Corporation. Standard for Software Reuse Procedures. NATO contract number CO-5957-ADA, 1991.
应用层
用户管理层
身份验证
抗攻击
用户信息管理
权限管理
入侵检测 计费工具
病毒防护 …. 统计与反馈 增值服务 ….
功能层
开发资源 管理平台
版本管理 机制
配置管理 机制
变化管理 机制
过程管理 机制
复用资源管理平台
构件信息 管理
构件发布 机制
构件实体 管理
构件发布 机制
构件检索 机制
构件验证 机制
构件分类 机制
日志
运行日志
z 数据库操作等
错误日志
z 用户操作错误等
日志信息存储
构件库用户管理
基于角色的用户管理 角色定制管理 角色权限管理 用户等级管理 用户角色管理 用户令牌管理
构件库管理系统的特性(1)
构件库管理系统的可定制性
构件描述规范的可定制性 分类法的可定制性 关系管理的可定制性 反馈管理系统的可定制性 用户管理系统的可定制性
相关概念
构件分类法 分类模式 构件分类信息
分类法
刻面分类法 枚举/层次分类法 平面分类法 属性-值分类法
关于刻面分类法
确定应用范围
选择刻面
每个刻面
选择术语 确定术语空间 确定同义词典
合并得到 刻面分类模式
简单查询
关键词查询
构件检索管理
复杂查询
可选择的查询逻辑
IEEE Std 1420.1b-1999, Reuse Library Interoperability Group (IRnfIoGrm), aIEtiEonETTercihanl-oUlosegyS—upSpolfetmweanrte tRoeIuEsEe—E DStaatnadMaroddfeolrfor Reuse Library Interoperability: Intellectual Property Rights Framework;
IEEE Std 1430-1996, Reuse Library Interoperability Group (RIG), IEEE Guide for Information Technology—Software Reuse—Concept of Operations for Interoperating reuse Libraries.
分类的管理
状态的管理
定义 发布 检索 发布 检索 发布 检索
使用信息的管理
评估
反馈
构件描述层
构件的属性
构件描述语言(BCDL)
本体描述 构件的评估
构件描述模型(BCDM)
构件的反馈
构件的关系
组织描述 构件的分类
构件的状态
UDDI
LDAP
X.500
BIDM/UDM
用 户 身 份 认 证
用
统日
户
计志安
管
企业软件生产的关键环节
对可复用软件资源的管理是企业进行软件生 产的关键环节 确保企业有可复用的对象
z 帮助企业在软件生产过程中有效积累可复 用资源
确保要复用的对象是可用的
z 有效控制可复用构件的发布、审核、反馈
为软件资源的复用提供支持
z 帮助复用者发现、提取、使用软件资源 z有效管理软件资产之间的复杂关系
构件信息管理平台 构件检索机制 构件发布机制 刻面分类机制
分布构件管理平台 UDDI Operator
构件 实体库
企业与构件 信息库
分布构件信息库
分布构件运行平台 EJB运行平台
Webservice运行平台
存储层: 数据备份、数据恢复、数据安全……….
构件库管理系统的主要功能
构件发布管理 构件分类管理 构件检索管理 构件反馈管理 构件关系管理 构件信息统计 构件库用户管理
ASSET--Asset Source for Software Engineering Tech. (软件工程技术构件源)
DSRS--Defense Software Repository System (国防软件库系统)
软件构件库业务流程
1.
构件发布者
构件发布者将构 件信息发布到构 件库中
反馈属性+属性间关系
反馈模板
反馈基础模版+权重
反馈信息
反馈模版 + 用户评分
主观评价信息
自然语言,可查询
构件反馈管理
预定义
ISO9126质量评估反 馈基础模版
关于反馈模板
树状结构的反馈基础模板
树叶节点为属性,表示了详细 的反馈信息条目,属性是基础
模板的原子单位。
有子节点的节点称为维
企业资 源管理
企业间 协作
地区构件库
行业构件库
构件库互联
领域构件库