软件配置管理
SCM
软件配置管理的必要性
软件配置管理的发展及含义
软件配置管理的目标及任务
软件配置管理的功能
ClearCase产品简介
软件配置管理
程序设计:
程序系统:
软件工程:
程序 程序员 编程
程序
文档 小组
编码
测试
程序
文档
数据
团队
软件生
命周期
个人编程质量
小组技术水平
团队管理水平
越
来
越
复
杂
软件开发的发展历程
软件开发过程中面临的困境
缺乏对用户需求进行有效的管理和追踪的工具缺乏对用户需求进行有效的管理和追踪的工具
产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱
代码可重用性差从而不能对产品进行功能扩充代码可重用性差从而不能对产品进行功能扩充
开发过程中的人员流动经常发生开发过程中的人员流动经常发生
由于管理不善致使未经测试的软件加入到产品中由于管理不善致使未经测试的软件加入到产品中
用户与开发商没有有效的产品交接界面用户与开发商没有有效的产品交接界面
多操作系统
多开发工具
网络化
团队方式
异地开发
Orac
le
Orac
le SybaseSybase
APPCAPPC
MVSMVS
WINDOWS
WINDOWS
SQLSQL
OSOS//22
TCP/IPTCP/IP U
NIXUNIX
OOOO
PMPM
DB2DB2
NTNT
C++C++
INTERNET
INTERNET
INTR
ANETINTR
ANET
开发环境的复杂性
操作系统
开发工具
技术水平
操作系统
开发工具
技术水平
与国外的软件开发相比
国外 国内
操作系统
开发工具
技术水平
操作系统
开发工具
技术水平
管理
缺乏规范的管理
国外 国内
软件质量?
软件生产达不到规模化
人员流动成员间缺少沟通
缺少有效的通信机制
缺乏管理所造成的问题
软件开发管理的基础
软件配置管理的必要性
软件配置管理的发展及含义
软件配置管理的目标及任务
软件配置管理的功能
ClearCase产品简介
软件配置管理
硬件配置
• 系统硬盘空间
• 运行速度
• 外设性能
配置的起源
软件配置是由在软件工程过程中
产生的所有信息项构成的,它可以看作
该软件的具体形态(软件配置项)在某
一时刻的瞬间影像
代码
文档
报告数据
软件配置的定义
“协调软件开发使得混乱
减到最小的技术叫做软件配置
管理,它是一种标识、组织和
控制修改的技术,目的是使错
误达到最小并最有效地提高生
产效率。”
------ Wayne
Babich
《 SCM SCM Coordination Coordination for for Team Team
ProductivityProductivity》》
软件配置管理的含义
SCM贯穿整个软件生命周期与软
件工程过程
计划
需求分析
设计
编码
测试
运行维护
定
义
开
发
确认
维护演进
软件配置管理
软件生命周期
始于软件项目之初
终于项目淘汰之时
软件配置管理的特点
测试测试
服务服务
软件开发过程软件开发过程
用户平台用户平台
软件配置管理的地位
需求管理需求管理
可视化建模可视化建模
软件配置管理软件配置管理
软件配置管理
软件配置管理的必要性
软件配置管理的发展及含义
软件配置管理的目标及任务
软件配置管理的功能
ClearCase产品简介
• 标识变更
• 控制变更
• 确保变更
• 报告变更
软件配置管理的目标
标识
版本管理
变更控制
配置审计
配置报告
软件配置管理的任务
修订版管理
产品
版本
管理
变更控制
状态报告
状态报告
建立管理
完善的软件配置管理功能
软件配置管理
软件配置管理的必要性
软件配置管理的发展及含义
软件配置管理的目标及任务
软件配置管理的功能
ClearCase产品简介
修
订
版
管
理
一个应用程序模块
经历过的多个状态
的存储
• 保留文件修改轨迹
• 增量存储方式
软件配置管理的功能
产
品
版
本
管
理
是对应用程序系
统在版本级的管
理
File 3File 2File 1Version
Labels
正式版
Beta 1
软件配置管理的功能
建
立
管
理
允许为建立程序
有可重用的定义
•自动构造程序
•自动回溯机制
•保证程序建立一致性
软件配置管理的功能
变
更
管
理
对变更严格的加以控制和管
理,保持修改信息,并使其
精确、清晰。
• 提出变更申请及方案
• 对变更进行评价
• 存取控制
• 同步控制
软件配置管理的功能
状
态
报
告
对开发过程作出系
统的记录
• 发生了什么(WhatWhat)?
• 为什么要发生(WhyWhy)?
• 谁做的(WhoWho)?
• 什么时候发生的(WhenWhen)?
• 在哪儿改变的(WhereWhere)?
报
告
软件配置管理的功能
软件配置管理的必要性
软件配置管理的发展及含义
软件配置管理的目标及任务
软件配置管理的功能
Rational配置管理解决方案
配 置 和 变 更 管 理
Rational的配置和变更管理产品线是一套完整
的解决方案,它能够管理开发团队在软件开
发生命周期中的全部资产。
ClearCaseClearCase 提供安全的存储库和软件开发资源的
版本
ClearCase MultiSiteClearCase MultiSite 能够使地理上分布的开发团队
共享开发工作
ClearQuest and ClearDDTSClearQuest and ClearDDTS 能够使你对变更的生命
周期进行管理
ClearCase能够解决的问题
你的开发人员是否能在一种无法控制的状态
下访问原代码?
修改过的错误是否还会出现?
你的集成过程是否拖延了产品投放市场的时
间?
你是否能有效的管理多个任务?
你当前的解决方案是否能应付变化的需求?
你是否有同步开发的问题?
你是否能重构所有的建立(Build)?
谁需要使用ClearCase?
团队式的软件开发需要:
长期维护软件
管理多个版本
在流水线上继续新产品的开发
地理上分布的团队
支持Windows和Unix开发环境
谁需要使用ClearCase?
开发人员
保护他们的工作,避免破坏同伴的工作
工作在多个任务中
版本工程师
控制版本过程
对建立(Build)进行管理以确保其是100%正确的
项目管理
管理项目的变更
了解项目的发展状况
为什么使用ClearCase 是正确的选择
最有力的支持并行开发
提供自动的分支和归并功能
安全的存储库
防止被破坏并具有灵活性的存储库
灵活可靠的工作空间管理
能够使开发人员控制变更的传播
全面的建立(Build)管理
提供100%的重构能力
支持多种操作系统平台
ClearCase
是当今可用到的最自动
化的弹性解决方案
为什么使用ClearCase 是正确的选择
市场的领导
全球销售已超过100,000 licenses
和Rational的其它产品相集成
Unix:Unix:
FF ClearDDTSClearDDTS
FF RoseRose
FF PurifyPurify
Windows:Windows:
FF ClearQuestClearQuest
FF RoseRose
FF RequisiteProRequisitePro
为什么使用ClearCase 是正确的选择
与多种开发工具和Windows资源管理器无
缝集成
开发工具:开发工具:
FF Visual C++Visual C++
FF Visual BasicVisual Basic
FF Visual J++Visual J++
FF Power BuilderPower Builder
FF Developer 2000Developer 2000
FF ExplorerExplorer
ClearCase 的集成 (Windows)
SoDA
preVue
SQASuite
Quantify
Coverage
Purify
RequisiteProRequisitePro
RoseRose
ClearQuestClearQuest
ClearCaseClearCase
PowerBuilder,
Microsoft Visual Studio,
Developer 2000Models and Models and
Sub-UnitsSub-Units
Base-line Base-line
ProjectsProjects
Change Requests Change Requests
and Softwareand Software
ClearCase 的集成 (UNIX)
SoDASoDA
ApexApex
preVuepreVue
QuantifyQuantify
PureCoveragePureCoverage
PurifyPurifyRoseRose
ClearCaseClearCase
ClearDDTSClearDDTS
Platform Platform
LanguagesLanguages
and Utilities and Utilities
Models and Models and
Sub-UnitsSub-Units
Change Requests Change Requests
and Softwareand Software
Check OutCheck Out
ErrorsErrors
与资源管理器的无缝集成
被集成到自然的工被集成到自然的工
作环境中作环境中
与开发工具的无缝集成
ClearCase 的市场地位
“在软件配置管理工具市场上,Rational公
司连续两年居于领先地位。在1997年软件配
置管理工具的收入中,Rational占据了%
。”
------IDC ------IDC
IDCIDC的的一一位位高高级级研研究究人人员员指指出出 :“:“分分布布式式的的、、异异
地地的的环环境境大大大大地地增增加加了了软软件件开开发发的的复复杂杂性性。。整整个个软软
件件开开发发生生命命周周期期的的管管理理软软件件的的任任务务已已进进行行到到了了新新的的
维维度度,,ClearCaseClearCase一一族族产产品品极极大大的的满满足足了了软软件件开开发发
的的这这一一复复杂杂性性。。ClearCaseClearCase的的市市场场占占有有率率就就表表明明了了
这一切。这一切。””
Alcatel - 524Alcatel - 524
AT&T - 774AT&T - 774
Bay Networks - 407Bay Networks - 407
BNR/Nortel - 1643BNR/Nortel - 1643
Cisco Systems - 937Cisco Systems - 937
Boeing - 627Boeing - 627
Computervision - 275Computervision - 275
Digital - 344Digital - 344
EDS - 404EDS - 404
Ericsson - 667Ericsson - 667
Fidelity - 377Fidelity - 377
Ford Motor - 263Ford Motor - 263
GTE - 630GTE - 630
Hewlett Packard - 2649Hewlett Packard - 2649
Honeywell - 255Honeywell - 255
Hughes - 402Hughes - 402
Philips - 328Philips - 328
Princeton - 757Princeton - 757
Raytheon - 384Raytheon - 384
SDRC - 250SDRC - 250
Siemens - 2459Siemens - 2459
Sybase - 478Sybase - 478
Texas Instruments - 608Texas Instruments - 608
Santa Cruz SCO - 400Santa Cruz SCO - 400
Silicon Graphics - 368Silicon Graphics - 368
Thomson - 313Thomson - 313
TRW - 462TRW - 462
Informix - 1900Informix - 1900
Lockheed Martin - 934Lockheed Martin - 934
Lucent - 567Lucent - 567
Motorola - 2799Motorola - 2799
Oracle - 1290Oracle - 1290
拥有拥有250250个个LicenseLicense以上的用户已超过以上的用户已超过3030家家
ClearCase 被广泛的使用
对ClearCase 的评价
“对于开发人员来讲ClearCase比其它配置
管理工具使用更为轻松 ...”
Hugh Bawtree, Software Development MagazineHugh Bawtree, Software Development Magazine
December ‘97December ‘97
“如果没有ClearCase我们将不能支持所有
不同的产品版本"
--SPSSSPSS
“我们使用Java 做了许多能够满足商业需
求的快速应用开发……ClearCase 帮助
我们有效的控制变更,并且没有降低我
们的开发速度. ”
--Marion Brown, Sun ISMarion Brown, Sun IS
版本
控制
建立
管理
工作空间
管理
过程
控制
ClearCase
ClearCase 功能
ClearCase的存储库
提供提供自动自动跨越多个存储跨越多个存储
库的功能库的功能
根据您的需求
VOB 存储库
---Version Object Bases
作用
---防止随意变更
存储内容
---可以存储多种文件类型
ClearCase ClearCase 独有的独有的!!
FF VOBVOB
ClearCase 版本控制
• 控制任何文件的版本
• 可对目录和子目录进
行版本控制
• 采用版本树结构
• 完美归并功能
• 文本比较
• 丰富的注释和版本报
告信息
6
5
4
3
2
1
2
0
3
主支
Checkout
Edit
Check-in
Rel 1
修复错误
建立分支
Checkout
Edit
Check-in
归
并
、
比
较
增
量
存
储
增
量
存
储
Rel 1
ClearCase 并行开发
自动自动
建立分支建立分支
自动自动
进行归并进行归并
ClearCase 并行开发
确保修改过的错误不会再出现
归并效用能够找到所有未归并的文件
减少集成时间
对于一个项目可以节省几个月,对于一个建立
(Build)可以节省几天
归并的工作能跨越多个存储库
在多个平台上同时发布
归并功能可以同时归并32个文件
传送一个缺陷的修改到多个版本
可以在任何方向上建立分支和进行归并
不会拖延产品投放市场的时间
使高风险的工作隔离在单独的分支上
工作空间管理的重要性
提供一个与开发人员友好的环境
为开发人员创建可靠的工作空间
保证在集成期间能够继续开发
为开发工作提供可靠的同步机制
VV
OO
BB
私私
人人
存存
储储
src
V
I
E
W
• 建立灵活的工作空间
• 透明的访问版本元素
• 支持非ClearCase主机
访问视图
ClearCase 工作空间管理
ClearCase 工作空间管理
ClearCase 是最好的SCM解决方案,可以提供
两种工作模式
在Unix 和 Windows NT上提供动态视图
在Windows NT上提供快照视图
“…ClearCase 能够提供我们需要的所有不
同的工作模式.”
NobleNet, Inc.
ClearCase 工作空间管理
动态视图动态视图使用网络连使用网络连
接接 ClearCase ClearCase 的存储库的存储库
直接更新
访问数据历史
代码库的整体视图
审核建立(Build)
网络建立(Build)
ClearCase 工作空间管理
快照试图快照试图在在Windows NTWindows NT
上能够可靠地被分离上能够可靠地被分离
使用使用
只能定期更新
可以远离办公室工作
可以在本地进行建立
(Build)操作
同步开发是永远可靠的
ClearCase ClearCase
为同步开发提供为同步开发提供
最多的自动机制最多的自动机制
ClearCase 工作空间管理的益处
集成期间不影响开发工作继续进行
在集成工作进行过程中能够保护个人的视图
同步开发是永远可靠的
为被检出的开发工作提供标识
自动检测多个同时被检出的文件并确保它们被适
当的归并
• 支持UNIX和Windows
平台的建立
• 跨越多台主机进行分布
式构造
ClearCase 建立管理
工作站 工作站 工作站 工作站
HP
Sun SGI RS/6000 DEC
Sun HP
VOB Server VOB Server
VOB可以
分布在多
个服务器
之间
在多
台主
机间
进行
Build
操作
ClearCase 建立管理
提供100%的重构能力
全面的审核追踪:
• 谁作的
• 作了什么
• 怎么作的
• 什么时间
自动生成配置报告
了解建立(Build)之间的差异
• 比较两个建立(Build)
• 确定文件是否有改动
•• 事件预触发机制事件预触发机制
• 有规则的自动分支有规则的自动分支
• 动态配置规格动态配置规格
• 历史记录描述历史记录描述
• 提供状态报告提供状态报告
系统
管理员
开发者 管理
技术
文档
软 件 开 发 过 程
警告 警告
文件
修改 报告 更新文档
ClearCase 过程控制
ClearCase全面支持ISO9000
ClearCase
唯一确定地标识每一个软件项的版本唯一确定地标识每一个软件项的版本
确定地标识每个软件项及其在整个软件产品的版确定地标识每个软件项及其在整个软件产品的版
本本
确定标识软件产品在开发、分配和安装过程中的确定标识软件产品在开发、分配和安装过程中的
各个状态各个状态
管理同一个软件部分被多名开发人员同时更改管理同一个软件部分被多名开发人员同时更改
协调多个软件产品根据需要在多个地点的更新协调多个软件产品根据需要在多个地点的更新
使用ClearCase的益处
Computervision
缩短开发周期,减少70%的集成时间
集中的集成团队从15名工程师减少至5名
减少施工费用
有利于企业知识库的建立
帮助团队规范管理
“ClearCase可以恢复我们软件开发过程的秩
序和可预见性,我们有信心满足客户的需求。
”
ClearCase MultiSite
能够使地理上分布的
开发团队共享工作
ClearCase MultiSite能够解决的问题
地区之间的开发数据传递
你的项目是否正在忍受技术资源不足的影响
你是否希望用不同地点的资源支持来缩短产
品投放市场的时间
ClearCase MultiSite的优势
最灵活地支持分布式的团队开发
最自动的解决方案
市场的领导
超过 30,000 licenses
最灵活的解决方案
能使一个或多个地点能使一个或多个地点
共享工作共享工作
复制存储库到一个或多
个地点
可以增加工作地点
跨地区跨地区 遍布全球遍布全球 !!
55
44
33
22
11
00
22
11
00
33
London
London
22
11
00New
Y
ork
N
ew
Y
ork
Release
最自动的解决方案
消除手工的步骤消除手工的步骤
同步是自动进行的
确保顺利集成确保顺利集成
提供对谁拥有什么分支的
控制
提供灵活的同步频率提供灵活的同步频率
立即的、每天一次、每周
一次…...
ClearDDTS
for Unix
ClearQuest
for Windows
Rational变更需求管理工具
可以了解谁改了什么、为什么
正确及时的项目状态报告
最大限度的利用你的工程师资源
利于团队交流
提供图形化的项目状况
ClearDDTS是灵活的
E-mail
E-mail
E-mailProject A
Project B
Project C
Project B
Project C
Project A
ClearDDTS Site 1
ClearDDTS Site 2
ClearDDTS Site 3
分布的项目可以轻松的分享数据
弹性灵活的体系结构
典型体系结构
ClearQuestClearQuest
CoreCore
ODBCODBC
Web ServerWeb Server
(ASP)(ASP)
ClearQuestClearQuest
WebWeb
MS AccessMS Access
MS SQL ServerMS SQL Server
ClearQuestClearQuest
ClientClient
ClearQuestClearQuest
DesignerDesigner 客户客户
容易使用容易使用
服务器服务器
是弹性的是弹性的
核心核心
是灵活的是灵活的
完全的Web支持
可视化的项目状况
ClearQuest是易用的
配 置 和 变 更 管 理
Rational的配置和变更管理产品线是一套完整
的解决方案,它能够管理开发团队在软件开
发生命周期中的全部资产。
ClearCaseClearCase 提供安全的存储库和软件开发资源的
版本
ClearCase MultiSiteClearCase MultiSite 能够使地理上分布的开发团队
共享开发工作
ClearQuest and ClearDDTSClearQuest and ClearDDTS 能够使你对变更的生命
周期进行管理
全面的配置和
变更管理
解决方案