70
软软软软软软 软软软软软软 SCM SCM

软件配置管理 SCM

  • Upload
    rafe

  • View
    196

  • Download
    0

Embed Size (px)

DESCRIPTION

软件配置管理 SCM. 软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能 ClearCase 产品简介. 软件配置管理. 个人编程质量. 程序设计:. 程序. 程序员. 编程. 越来越复杂. 小组技术水平. 程序 文档. 编码 测试. 程序系统:. 小组. 程序 文档 数据. 团队管理水平. 软件生 命周期. 软件工程:. 团队. 软件开发的发展历程. 软件开发过程中面临的困境. 缺乏对用户需求进行有效的管理和追踪的工具 产品升级和维护所必需的程序和文档非常混乱 - PowerPoint PPT Presentation

Citation preview

软件配置管理软件配置管理SCMSCM

软件配置管理的必要性软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能 ClearCase 产品简介

软件配置管理

程序设计:

程序系统:

软件工程:

程序 程序员 编程

程序文档 小组

编码测试

程序文档数据

团队软件生命周期

个人编程质量个人编程质量

小组技术水平小组技术水平

团队管理水平团队管理水平

越来越复

软件开发的发展历程

软件开发过程中面临的困境

缺乏对用户需求进行有效的管理和追踪的工具缺乏对用户需求进行有效的管理和追踪的工具 产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱 代码可重用性差从而不能对产品进行功能扩充代码可重用性差从而不能对产品进行功能扩充 开发过程中的人员流动经常发生开发过程中的人员流动经常发生 由于管理不善致使未经测试的软件加入到产品中由于管理不善致使未经测试的软件加入到产品中 用户与开发商没有有效的产品交接界面用户与开发商没有有效的产品交接界面

多操作系统多开发工具网络化团队方式异地开发

OracleOracle SybaseSybase

APPCAPPCMVSMVS

WINDOWSWINDOWS

SQLSQL

OSOS//22

TCP/IPTCP/IP UNIXUNIX

OOOO

PMPM

DB2DB2

NTNT

C++C++

INTERNETINTERNET

INTRANETINTRANET

开发环境的复杂性

操作系统开发工具技术水平

操作系统开发工具技术水平

与国外的软件开发相比

国外国外 国内国内

操作系统开发工具技术水平

操作系统开发工具技术水平

管理管理

缺乏规范的管理

国外国外 国内国内

软件质量软件质量??软件生产达不到规模化

人员流动成员间缺少沟通

缺少有效的通信机制

缺乏管理所造成的问题

软件开发管理的基础

软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能 ClearCase 产品简介

软件配置管理

硬件配置硬件配置

• 系统硬盘空间• 运行速度• 外设性能

配置的起源

软件配置软件配置是由在软件工程过程中

产生的所有信息项构成的,它可以看作该软件的具体形态(软件配置项)具体形态(软件配置项)在某一时刻的瞬间影像

代码文档 报告数据

软件配置的定义

“ 协调软件开发使得混乱减到最小的技术叫做软件配置管理,它是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。” ------ Wayne BabichWayne Babich 《 SCM Coordination for Team ProductivitySCM Coordination for Team Productivity 》》

软件配置管理的含义

SCMSCM 贯穿整个软件生命周期与贯穿整个软件生命周期与软件工程过程软件工程过程

SCMSCM 贯穿整个软件生命周期与贯穿整个软件生命周期与软件工程过程软件工程过程

计划需求分析

设计编码

测试运行维护

定义

开发

确认维护演进

软件配置管理

软件生命周期

始于软件项目之初始于软件项目之初终于项目淘汰之时终于项目淘汰之时

软件配置管理的特点

测试测试

服务服务

软件开发过程软件开发过程

用户平台用户平台

软件配置管理的地位

需求管理需求管理

可视化建模可视化建模

软件配置管理软件配置管理

软件配置管理

软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务软件配置管理的目标及任务 软件配置管理的功能 ClearCase 产品简介

• 标识变更• 控制变更• 确保变更• 报告变更

软件配置管理的目标

标识 标识 版本管理版本管理 变更控制 变更控制 配置审计配置审计 配置报告配置报告

软件配置管理的任务

修订版管理修订版管理

产品版本管理产品版本管理

变更控制变更控制

状态报告状态报告状态报告状态报告

建立管理建立管理

完善的软件配置管理功能

软件配置管理

软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能软件配置管理的功能 ClearCase 产品简介

修订版管理

一个应用程序模块经历过的多个状态的存储

1.0

1.1

1.2

1.3

• 保留文件修改轨迹• 增量存储方式

软件配置管理的功能

产产品品版 版 本 本 管 管 理理

是对应用程序系统在版本级的管理

File 3File 2File 1Version Labels

正式版

Beta 11.0

1.1

1.2

1.3

1.0

1.1

1.2

1.0

1.11.21.31.4

软件配置管理的功能

建建立 立 管 管 理理

允许为建立程序有可重用的定义

•自动构造程序•自动回溯机制•保证程序建立一致性

软件配置管理的功能

变变更更管管理理

对变更严格的加以控制和管对变更严格的加以控制和管理,保持修改信息,并使其理,保持修改信息,并使其精确、清晰。精确、清晰。

• 提出变更申请及方案• 对变更进行评价• 存取控制• 同步控制

软件配置管理的功能

状状态态报报告告

对开发过程作出系统的记录

• 发生了什么( WhatWhat)?• 为什么要发生 (WhyWhy)?• 谁做的 (WhoWho)?• 什么时候发生的 (WhenWhen)?• 在哪儿改变的 (WhereWhere)?

报告

软件配置管理的功能

软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能 RationalRational 配置管理解决方案配置管理解决方案

配 置 和 变 更 管 理 RationalRational 的的配置和变更管理产品线是一套完配置和变更管理产品线是一套完

整的解决方案,它能够管理开发团队在软件整的解决方案,它能够管理开发团队在软件开发生命周期中的全部资产开发生命周期中的全部资产。。 ClearCaseClearCase 提供安全的存储库和软件开发资源的

版本 ClearCase MultiSiteClearCase MultiSite 能够使地理上分布的开发团

队共享开发工作 ClearQuest and ClearDDTSClearQuest and ClearDDTS 能够使你对变更的生命

周期进行管理

ClearCase 能够解决的问题 你的开发人员是否能在一种无法控制的状态你的开发人员是否能在一种无法控制的状态

下访问原代码下访问原代码 ? ? 修改过的错误是否还会出现修改过的错误是否还会出现 ? ? 你的集成过程是否拖延了产品投放市场的时你的集成过程是否拖延了产品投放市场的时

间间 ?? 你是否能有效的管理多个任务你是否能有效的管理多个任务 ? ? 你当前的解决方案是否能应付变化的需求你当前的解决方案是否能应付变化的需求 ?? 你是否有同步开发的问题你是否有同步开发的问题 ?? 你是否能重构所有的建立你是否能重构所有的建立 ((BuildBuild))??

谁需要使用 ClearCase?

团队式的软件开发需要团队式的软件开发需要 ::长期维护软件管理多个版本在流水线上继续新产品的开发地理上分布的团队支持 Windows 和 Unix 开发环境

谁需要使用 ClearCase?

开发人员开发人员 保护他们的工作,避免破坏同伴的工作 工作在多个任务中

版本工程师版本工程师 控制版本过程 对建立 (Build) 进行管理以确保其是 100%正确的

项目管理项目管理 管理项目的变更 了解项目的发展状况

为什么使用 ClearCase 是正确的选择 最有力的支持并行开发最有力的支持并行开发 提供自动的分支和归并功能提供自动的分支和归并功能 安全的存储库安全的存储库

防止被破坏并具有灵活性的存储库 灵活可靠的工作空间管理灵活可靠的工作空间管理

能够使开发人员控制变更的传播 全面的建立全面的建立 ((Build)Build) 管理管理

提供 100%的重构能力 支持多种操作系统平台支持多种操作系统平台

ClearCaseClearCase

是当今可用到的最自动是当今可用到的最自动化的弹性解决方案化的弹性解决方案

ClearCaseClearCase

是当今可用到的最自动是当今可用到的最自动化的弹性解决方案化的弹性解决方案

为什么使用 ClearCase 是正确的选择 市场的领导市场的领导

全球销售已超过 100,000 licenses 和和 RationalRational 的其它产品相集成的其它产品相集成

Unix:Unix: ClearDDTSClearDDTS

RoseRose

PurifyPurify

Windows:Windows: ClearQuestClearQuest

RoseRose

RequisiteProRequisitePro

为什么使用 ClearCase 是正确的选择 与多种开发工具和与多种开发工具和 WindowsWindows 资源管理器无资源管理器无缝集成缝集成

开发工具:开发工具: Visual C++Visual C++

Visual BasicVisual Basic

Visual J++Visual J++

Power BuilderPower Builder

Developer 2000Developer 2000

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

ApexApexApexApex

preVuepreVue

QuantifyQuantify

PureCoveragePureCoverage

PurifyPurifyRoseRose

ClearCaseClearCase

ClearDDTSClearDDTS

Platform Platform LanguagesLanguages

and Utilitiesand Utilities

Platform Platform LanguagesLanguages

and Utilitiesand Utilities

Models and Models and Sub-UnitsSub-Units

Change Requests Change Requests and Softwareand Software

Check OutCheck OutErrorsErrors

与资源管理器的无缝集成

被集成到自然的工被集成到自然的工作环境中作环境中

被集成到自然的工被集成到自然的工作环境中作环境中

与开发工具的无缝集成

ClearCase 的市场地位 ““ 在软件配置管理工具市场上,在软件配置管理工具市场上, RationalRational公司连续两年居于领先地位。在公司连续两年居于领先地位。在 19971997 年软年软件配置管理工具的收入中,件配置管理工具的收入中, RationalRational 占据了占据了18.4%18.4% 。”。”

------IDC 1998.5------IDC 1998.5

IDCIDC 的一位高级研究人员指出的一位高级研究人员指出 :“:“ 分布式的、异地分布式的、异地的环境大大地增加了软件开发的复杂性。整个软件的环境大大地增加了软件开发的复杂性。整个软件开发生命周期的管理软件的任务已进行到了新的维开发生命周期的管理软件的任务已进行到了新的维度,度, ClearCaseClearCase 一族产品极大的满足了软件开发的一族产品极大的满足了软件开发的这一复杂性。这一复杂性。 ClearCaseClearCase 的市场占有率就表明了这的市场占有率就表明了这一切。”一切。”

Alcatel - 524Alcatel - 524AT&T - 774AT&T - 774Bay Networks - 407Bay Networks - 407BNR/Nortel - 1643BNR/Nortel - 1643Cisco Systems - 937Cisco Systems - 937Boeing - 627Boeing - 627Computervision - 275Computervision - 275Digital - 344Digital - 344EDS - 404EDS - 404Ericsson - 667Ericsson - 667

Alcatel - 524Alcatel - 524AT&T - 774AT&T - 774Bay Networks - 407Bay Networks - 407BNR/Nortel - 1643BNR/Nortel - 1643Cisco Systems - 937Cisco Systems - 937Boeing - 627Boeing - 627Computervision - 275Computervision - 275Digital - 344Digital - 344EDS - 404EDS - 404Ericsson - 667Ericsson - 667

Fidelity - 377Ford Motor - 263GTE - 630Hewlett Packard - 2649Honeywell - 255Hughes - 402Philips - 328Princeton - 757Raytheon - 384SDRC - 250Siemens - 2459Sybase - 478

Fidelity - 377Ford Motor - 263GTE - 630Hewlett Packard - 2649Honeywell - 255Hughes - 402Philips - 328Princeton - 757Raytheon - 384SDRC - 250Siemens - 2459Sybase - 478

Texas Instruments - 608Santa Cruz SCO - 400Silicon Graphics - 368Thomson - 313TRW - 462Informix - 1900Lockheed Martin - 934Lucent - 567Motorola - 2799Oracle - 1290

Texas Instruments - 608Santa Cruz SCO - 400Silicon Graphics - 368Thomson - 313TRW - 462Informix - 1900Lockheed Martin - 934Lucent - 567Motorola - 2799Oracle - 1290

拥有 250 个 License 以上的用户已超过 30 家拥有 250 个 License 以上的用户已超过 30 家

ClearCase 被广泛的使用

对 ClearCase 的评价 “ “ 对于开发人员来讲对于开发人员来讲 ClearCaseClearCase 比其它比其它

配置管理工具配置管理工具使用更为轻松使用更为轻松 ...”...” Hugh Bawtree, Software Development MagazineHugh Bawtree, Software Development Magazine

December ‘97December ‘97

“ “ 如果没有如果没有 ClearCaseClearCase 我们将不能支持我们将不能支持所有不同的产品版本所有不同的产品版本 " "

--SPSSSPSS

“ “ 我们使用我们使用 Java Java 做了许多能够满足商做了许多能够满足商业需求的快速应用开发……业需求的快速应用开发…… ClearCase ClearCase 帮助我们有效的控制变更帮助我们有效的控制变更 ,,并且没有降并且没有降低我们的开发速度低我们的开发速度 .. ” ”

--Marion Brown, Sun ISMarion Brown, Sun IS

版本控制

建立管理

工作空间管理

过程控制

ClearCaseClearCaseClearCaseClearCaseClearCase 功能

ClearCase 的存储库

提供提供自动自动跨越多个存储跨越多个存储库的功能库的功能

根据您的需求

VOB 存储库 ---Version Object Bases作用 ---防止随意变更存储内容 --- 可以存储多种文件类型

ClearCase ClearCase 独有的独有的 !!ClearCase ClearCase 独有的独有的 !!

VOB VOB

ClearCase 版本控制• 控制任何文件的版本• 可对目录和子目录进 行版本控制• 采用版本树结构• 完美归并功能• 文本比较• 丰富的注释和版本报 告信息

6

5

4

3

2

1

2

0

3

主支

CheckoutEdit

Check-in

Rel 1

修复错误建立分支

CheckoutEdit

Check-in

归并、比较

增量存

增量存

储储

Rel 1

ClearCase 并行开发自动自动

建立分支建立分支自动自动

建立分支建立分支

自动自动进行归并进行归并

自动自动进行归并进行归并

ClearCase 并行开发 确保修改过的错误不会再出现确保修改过的错误不会再出现

归并效用能够找到所有未归并的文件 减少集成时间减少集成时间

对于一个项目可以节省几个月,对于一个建立 (Build) 可以节省几天

归并的工作能跨越多个存储库 在多个平台上同时发布在多个平台上同时发布

归并功能可以同时归并 32 个文件 传送一个缺陷的修改到多个版本传送一个缺陷的修改到多个版本

可以在任何方向上建立分支和进行归并 不会拖延产品投放市场的时间不会拖延产品投放市场的时间

使高风险的工作隔离在单独的分支上

工作空间管理的重要性

提供一个与开发人员友好的环境提供一个与开发人员友好的环境

为开发人员创建可靠的工作空间为开发人员创建可靠的工作空间

保证在集成期间能够继续开发保证在集成期间能够继续开发

为开发工作提供可靠的同步机制为开发工作提供可靠的同步机制

foo.c foo.hVVOOBB

bar.c 私私人人存存储储

src

foo.c

bar.cfoo.h

V

I

E

W

• 建立灵活的工作空间• 透明的访问版本元素• 支持非 ClearCase主机 访问视图

ClearCase 工作空间管理

ClearCase 工作空间管理 ClearCase ClearCase 是最好的是最好的 SCMSCM 解决方案解决方案 ,, 可以提可以提

供两种工作模式供两种工作模式 在 Unix 和 Windows NT 上提供动态视图在 Windows NT 上提供快照视图

“…“…ClearCase ClearCase 能够提供我们需要的所有不同能够提供我们需要的所有不同的工作模式的工作模式 .”.”

NobleNet, Inc.NobleNet, Inc.

ClearCase 工作空间管理 动态视图动态视图使用网络连使用网络连

接接 ClearCase ClearCase 的存储库的存储库直接更新 访问数据历史 代码库的整体视图 审核建立 (Build)网络建立 (Build)

ClearCase 工作空间管理 快照试图快照试图在在 Windows Windows

NTNT 上能够可靠地被分上能够可靠地被分离使用离使用只能定期更新 可以远离办公室工作 可以在本地进行建立

( Build) 操作

同步开发是永远可靠的

ClearCase ClearCase 为同步开发提供为同步开发提供最多的自动机制最多的自动机制

ClearCase ClearCase 为同步开发提供为同步开发提供最多的自动机制最多的自动机制

ClearCase 工作空间管理的益处 集成期间不影响开发工作继续进行集成期间不影响开发工作继续进行

在集成工作进行过程中能够保护个人的视图 同步开发是永远可靠的同步开发是永远可靠的

为被检出的开发工作提供标识自动检测多个同时被检出的文件并确保它们被适

当的归并

• 支持 UNIX 和 Windows 平台的建立• 跨越多台主机进行分布 式构造

ClearCase 建立管理

工作站 工作站 工作站 工作站

HP

Sun SGI RS/6000 DEC

Sun HP

VOB Server VOB ServerVOB 可以分布在多个服务

器之间

在多台主机间进行Build操作

ClearCase 建立管理 提供提供 100%100% 的重构能力的重构能力

全面的审核追踪 : • 谁作的• 作了什么• 怎么作的• 什么时间

自动生成配置报告 了解建立 (Build)之间的差异

• 比较两个建立 (Build)

• 确定文件是否有改动

• 事件预触发机制事件预触发机制• 有规则的自动分支有规则的自动分支• 动态配置规格动态配置规格• 历史记录描述历史记录描述• 提供状态报告提供状态报告

系统管理员 开发者 管理 技术

文档

软 件 开 发 过 程警告 警告

文件修改 报告 更新文档

ClearCase 过程控制

ClearCase全面支持 ISO9000

ClearCaseClearCase唯一确定地标识每一个软件项的版本唯一确定地标识每一个软件项的版本 确定地标识每个软件项及其在整个软件产品的版确定地标识每个软件项及其在整个软件产品的版

本本 确定标识软件产品在开发、分配和安装过程中的确定标识软件产品在开发、分配和安装过程中的各个状态各个状态

管理同一个软件部分被多名开发人员同时更改管理同一个软件部分被多名开发人员同时更改 协调多个软件产品根据需要在多个地点的更新协调多个软件产品根据需要在多个地点的更新

使用 ClearCase 的益处 ComputervisionComputervision 缩短开发周期,减少缩短开发周期,减少 70%70% 的集成时间的集成时间 集中的集成团队从集中的集成团队从 1515名工程师减少至名工程师减少至 55名名 减少施工费用减少施工费用 有利于企业知识库的建立有利于企业知识库的建立 帮助团队规范管理帮助团队规范管理

““ClearCaseClearCase 可以恢复我们软件开发过程的秩序和可可以恢复我们软件开发过程的秩序和可预见性,我们有信心满足客户的需求。预见性,我们有信心满足客户的需求。””

ClearCase MultiSite

能够使地理上分布的能够使地理上分布的开发团队共享工作开发团队共享工作

ClearCase MultiSite 能够解决的问题 地区之间的开发数据传递地区之间的开发数据传递 你的项目是否正在忍受技术资源不足的影响你的项目是否正在忍受技术资源不足的影响 你是否希望用不同地点的资源支持来缩短产你是否希望用不同地点的资源支持来缩短产

品投放市场的时间品投放市场的时间

ClearCase MultiSite 的优势 最灵活地支持分布式的团队开发最灵活地支持分布式的团队开发 最自动的解决方案最自动的解决方案 市场的领导市场的领导

超过 30,000 licenses

最灵活的解决方案

能使一个或多个地点能使一个或多个地点共享工作共享工作 复制存储库到一个 或多

个地点 可以增加工作地点

跨地区跨地区 遍布全球 !遍布全球 !

55

44

33

22

11

00

22

11

00

33

LondonLondon

22

11

00New

York

New

York

Release 1.0Release 1.0

最自动的解决方案 消除手工的步骤消除手工的步骤

同步是自动进行的 确保顺利集成确保顺利集成

提供对谁拥有什么分支的控制

提供灵活的同步频率提供灵活的同步频率 立即的、每天一次、每周

一次… ...

ClearDDTSfor Unix

ClearDDTSfor Unix

ClearQuestfor Windows

ClearQuestfor Windows

Rational 变更需求管理工具

可以了解谁改了什么、为什么可以了解谁改了什么、为什么 正确及时的项目状态报告 正确及时的项目状态报告 最大限度的利用你的工程师资源最大限度的利用你的工程师资源 利于团队交流利于团队交流

提供图形化的项目状况

ClearDDTS 是灵活的

E-mail

E-mail

E-mailProject AProject BProject C

Project BProject C

Project A

ClearDDTS Site 1

ClearDDTS Site 2

ClearDDTS Site 3

分布的项目可以轻松的分享数据分布的项目可以轻松的分享数据

弹性灵活的体系结构 典型体系结构典型体系结构

ClearQuestClearQuestCoreCore

ClearQuestClearQuestCoreCore

ODBCODBC

Web ServerWeb Server(ASP)(ASP)

Web ServerWeb Server(ASP)(ASP)

ClearQuestClearQuestWebWeb

ClearQuestClearQuestWebWeb

MS AccessMS SQL Server

MS AccessMS SQL Server

ClearQuestClearQuestClientClient

ClearQuestClearQuestClientClient

ClearQuestClearQuestDesignerDesigner

ClearQuestClearQuestDesignerDesigner 客户

容易使用

客户容易使用

服务器是弹性的

服务器是弹性的

核心是灵活的

核心是灵活的

完全的 Web 支持

可视化的项目状况

ClearQuest 是易用的

配 置 和 变 更 管 理 RationalRational 的的配置和变更管理产品线是一套完配置和变更管理产品线是一套完

整的解决方案,它能够管理开发团队在软件整的解决方案,它能够管理开发团队在软件开发生命周期中的全部资产开发生命周期中的全部资产。。 ClearCaseClearCase 提供安全的存储库和软件开发资源的

版本 ClearCase MultiSiteClearCase MultiSite 能够使地理上分布的开发团

队共享开发工作 ClearQuest and ClearDDTSClearQuest and ClearDDTS 能够使你对变更的生命

周期进行管理

全面的配置和全面的配置和变更管理变更管理

解决方案解决方案