资料介绍
1 引言
配置管理系统[ 3, 9]是软件开发的关键支撑工具之一,是一种管理软件开发和维护过程以及其中各中间软件产品的系统,是ISO与CMM质量保证体系的核心支持工具。配置管理研究怎样在不同时刻标识软件系统的配置,以便系统化地控制配置的改变,并在整个软件系统的生命周期内维护配置的完整性和可追踪性[ 1] 。其中,版本管理是基础和核心。传统的版本管理系统以文件作为管理的基本粒度。版本管理系统记录、维护每个文件的演化历史。在大型软件开发中,系统往往包含较多文件,这使得传统方式版本管理的工作量很大,而且不易于描述文件间内在的组合关系。目前,基于构件的软件开发方法已成为发展趋势[ 7, 8] 。构件作为系统的有机构成成分,在物理上可以表现为多个文件的集合体,而在开发过程中是作为一个原子单位使用的。系统的开发者关心的是构件整体的开发、演化,组装和维护。这种大粒度的开发方法,对版本管理提出了新的要求[ 3] 。这些要求包括:
#应能有效存储和管理构件演化历史。
#操作模型应有利于体现构件的整体性, 降低系统开发的复杂程度。
#需要保证并行开发构件时的正确性, 同时不减少项目组协同工作的灵活性。
本文研究了构件的版本控制策略,提出了基于构件的版本管理模型。针对并行开发问题,又提出了分别在构件和文件粒度上进行版本管理和并发控制的方法。在此基础上,设计实现了一个产品化的配置管理系统JBCM.该系统既提升了管理的粒度,又能确保团队开发具有较好的并行性。
2 以构件为粒度的版本管理
2.1 版本管理系统中的构件定义
在基于构件复用的青鸟软件生产线中,软件构件定义如下: /构件是可以被多个软件系统复用的具有独立功能的系统构成成分0 [8] 。构件在实际形态上可表现为通过目录结构组织起来的一些文件的集合,并且是系统中可以明确辨识的构成成分。需要指出的是,在以前许多有关版本管理的文献中都出现了构件的概念[ 4] ,但其中的构件一般指的就是文件。本文中的构件则是应用系统中多个相关文件构成的一个逻辑整体,例如一个类的定义及其实现,一个完整的功能模块等。构件版本是构件组成文件版本的集合。构件版本的变化不仅体现了组成文件的版本变化,同时也反映了构件中文件组成的变化。也就是说,组成文件发生版本演化,或者增加和删除构件中的文件,都会引起构件版本的演化。在基于构件的系统中,文件版本由系统内部控制,用户只关注构件版本,从而提升了管理层次。图1反映了构件版本与文件版本的关系:
图 中虚线箭头表示构件和文件与其不同版本的关系, 实线箭头表示构件版本由文件版本组成的关系。从图中可以看出构件的版本2 比版本1 增加了一个文件3, 而且文件版本也发生了演化。 构件版本的演化与文件版本的演化同步进行, 并且随着文件的版本演化自动产生。基于上述构件与文件关系模型, 提出并实现了基于构件的软件版本管理系统。
2.2 构件的版本管理
(1) 以构件为粒度的版本管理特点
与 基于文件的版本管理相比, 基于构件的版本管理有以下主要特点: ¹ 构件的抽象级别比文件高。 构件是应用系统中可以明确辨识的构成成分。 记录、维护构件的版本比文件的版本管理更有意义。 º 构件的粒度可以比文件大很多。 一个项目中可能有诸多分布的逻辑单元, 这些逻辑单元与构件相对应。构件的数量较少, 而且整体逻辑意义明显, 可以更清晰地体现项目的演化历史。 » 在构件基础上, 可以体现出系统的层次性、构造性等特征。 同时, 构件版本管理也可以满足对文件版本的管理需求, 使版本管理既有大粒度, 又有灵活性。
(2) 构件版本管理的基本模式
基 于构件的版本管理系统采用/ 检出( Check Out) 、修改、检入( Check In)0 的基本操作模型, 操作的基本单位是构件。 使用者需要先将构件从版本库检出到工作区, 随后在工作区中完成对构件的修改, 最后将修改的结果检入版本库。 构件组成文件的增删以及其中任何一个文件的修改都被视为对整个构件的修改。 因此, 作为检入操作的结果, 版本管理系统会自动生成构件的一个新版本。 以构件版本为粒度的版本管理系统记录和管理了开发人员对构件修改的历史。
配置管理系统[ 3, 9]是软件开发的关键支撑工具之一,是一种管理软件开发和维护过程以及其中各中间软件产品的系统,是ISO与CMM质量保证体系的核心支持工具。配置管理研究怎样在不同时刻标识软件系统的配置,以便系统化地控制配置的改变,并在整个软件系统的生命周期内维护配置的完整性和可追踪性[ 1] 。其中,版本管理是基础和核心。传统的版本管理系统以文件作为管理的基本粒度。版本管理系统记录、维护每个文件的演化历史。在大型软件开发中,系统往往包含较多文件,这使得传统方式版本管理的工作量很大,而且不易于描述文件间内在的组合关系。目前,基于构件的软件开发方法已成为发展趋势[ 7, 8] 。构件作为系统的有机构成成分,在物理上可以表现为多个文件的集合体,而在开发过程中是作为一个原子单位使用的。系统的开发者关心的是构件整体的开发、演化,组装和维护。这种大粒度的开发方法,对版本管理提出了新的要求[ 3] 。这些要求包括:
#应能有效存储和管理构件演化历史。
#操作模型应有利于体现构件的整体性, 降低系统开发的复杂程度。
#需要保证并行开发构件时的正确性, 同时不减少项目组协同工作的灵活性。
本文研究了构件的版本控制策略,提出了基于构件的版本管理模型。针对并行开发问题,又提出了分别在构件和文件粒度上进行版本管理和并发控制的方法。在此基础上,设计实现了一个产品化的配置管理系统JBCM.该系统既提升了管理的粒度,又能确保团队开发具有较好的并行性。
2 以构件为粒度的版本管理
2.1 版本管理系统中的构件定义
在基于构件复用的青鸟软件生产线中,软件构件定义如下: /构件是可以被多个软件系统复用的具有独立功能的系统构成成分0 [8] 。构件在实际形态上可表现为通过目录结构组织起来的一些文件的集合,并且是系统中可以明确辨识的构成成分。需要指出的是,在以前许多有关版本管理的文献中都出现了构件的概念[ 4] ,但其中的构件一般指的就是文件。本文中的构件则是应用系统中多个相关文件构成的一个逻辑整体,例如一个类的定义及其实现,一个完整的功能模块等。构件版本是构件组成文件版本的集合。构件版本的变化不仅体现了组成文件的版本变化,同时也反映了构件中文件组成的变化。也就是说,组成文件发生版本演化,或者增加和删除构件中的文件,都会引起构件版本的演化。在基于构件的系统中,文件版本由系统内部控制,用户只关注构件版本,从而提升了管理层次。图1反映了构件版本与文件版本的关系:
图 中虚线箭头表示构件和文件与其不同版本的关系, 实线箭头表示构件版本由文件版本组成的关系。从图中可以看出构件的版本2 比版本1 增加了一个文件3, 而且文件版本也发生了演化。 构件版本的演化与文件版本的演化同步进行, 并且随着文件的版本演化自动产生。基于上述构件与文件关系模型, 提出并实现了基于构件的软件版本管理系统。
2.2 构件的版本管理
(1) 以构件为粒度的版本管理特点
与 基于文件的版本管理相比, 基于构件的版本管理有以下主要特点: ¹ 构件的抽象级别比文件高。 构件是应用系统中可以明确辨识的构成成分。 记录、维护构件的版本比文件的版本管理更有意义。 º 构件的粒度可以比文件大很多。 一个项目中可能有诸多分布的逻辑单元, 这些逻辑单元与构件相对应。构件的数量较少, 而且整体逻辑意义明显, 可以更清晰地体现项目的演化历史。 » 在构件基础上, 可以体现出系统的层次性、构造性等特征。 同时, 构件版本管理也可以满足对文件版本的管理需求, 使版本管理既有大粒度, 又有灵活性。
(2) 构件版本管理的基本模式
基 于构件的版本管理系统采用/ 检出( Check Out) 、修改、检入( Check In)0 的基本操作模型, 操作的基本单位是构件。 使用者需要先将构件从版本库检出到工作区, 随后在工作区中完成对构件的修改, 最后将修改的结果检入版本库。 构件组成文件的增删以及其中任何一个文件的修改都被视为对整个构件的修改。 因此, 作为检入操作的结果, 版本管理系统会自动生成构件的一个新版本。 以构件版本为粒度的版本管理系统记录和管理了开发人员对构件修改的历史。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- MCU软件版本迭代 0次下载
- 软件演化历史的逆向工程生成方案综述 2次下载
- VxSCADA组态管理软件使用手册电子版 0次下载
- SEED-DEC2812硬件/ 软件版本 0次下载
- 基于构件回归测试的复杂性度量框架 0次下载
- 实例分析基于构件威廉希尔官方网站 的系统软件架构 0次下载
- 基于嵌入式软件版本信息获取的方法 0次下载
- 构件威廉希尔官方网站 的通用自动测试系统软件设计 0次下载
- 一种嵌入式软件版本信息获取方法设计与实现 0次下载
- RFID领域软件构件化开发威廉希尔官方网站 研究 22次下载
- 一种基于构件的软件开发方法
- 构件威廉希尔官方网站 在医院信息管理系统重构中的应用研究
- 构造嵌入式系统软件的构件模型研究
- 智能安全防护软件策略构件的设计与实现
- 软件版本命名规范 0次下载
- 拖动系统基本控制电路详解 446次阅读
- S7-200 SMART与调试助手之间TCP通信 889次阅读
- Linux基础中的软件管理 661次阅读
- 什么是MES系统架构? 2321次阅读
- S32K3基于IAR IDE环境下使用JLINK调试 4763次阅读
- Zemax:安装Ansys版本的OpticsBuilder 2169次阅读
- python巡检华为交换机 1089次阅读
- 企业内部统一软件版本背后有啥命名规则 1368次阅读
- 常见Linux操作系统的安装包管理工具 1425次阅读
- 基于构件化软件开发的IEEE802.15.4标准的设计与实现 2122次阅读
- RFID领域软件构件化开发威廉希尔官方网站 你知道吗 773次阅读
- 为什么项目中的代码需要有Assert断言语句Assert断言的详细资料说明 5543次阅读
- 基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计 780次阅读
- 嵌入式系统内存管理机制详解 4430次阅读
- 最易懂的动力电池系统设计详解 9w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多