700 likes | 972 Views
软件配置管理 SCM. 软件配置管理的必要性 软件配置管理的发展及含义 软件配置管理的目标及任务 软件配置管理的功能 ClearCase 产品简介. 软件配置管理. 个人编程质量. 程序设计:. 程序. 程序员. 编程. 越来越复杂. 小组技术水平. 程序 文档. 编码 测试. 程序系统:. 小组. 程序 文档 数据. 团队管理水平. 软件生 命周期. 软件工程:. 团队. 软件开发的发展历程. 软件开发过程中面临的困境. 缺乏对用户需求进行有效的管理和追踪的工具 产品升级和维护所必需的程序和文档非常混乱
E N D
软件配置管理 SCM
软件配置管理的必要性 • 软件配置管理的发展及含义 • 软件配置管理的目标及任务 • 软件配置管理的功能 • ClearCase产品简介 软件配置管理
个人编程质量 程序设计: 程序 程序员 编程 越来越复杂 小组技术水平 程序 文档 编码 测试 程序系统: 小组 程序 文档 数据 团队管理水平 软件生 命周期 软件工程: 团队 软件开发的发展历程
软件开发过程中面临的困境 • 缺乏对用户需求进行有效的管理和追踪的工具 • 产品升级和维护所必需的程序和文档非常混乱 • 代码可重用性差从而不能对产品进行功能扩充 • 开发过程中的人员流动经常发生 • 由于管理不善致使未经测试的软件加入到产品中 • 用户与开发商没有有效的产品交接界面
开发环境的复杂性 Sybase Oracle 多操作系统 多开发工具 网络化 团队方式 异地开发 C++ DB2 UNIX TCP/IP WINDOWS INTRANET SQL OO OS/2 APPC NT PM MVS INTERNET
操作系统 开发工具 技术水平 操作系统 开发工具 技术水平 与国外的软件开发相比 国内 国外
操作系统 开发工具 技术水平 操作系统 开发工具 技术水平 缺乏规范的管理 管理 国内 国外
软件生产达不到规模化 缺少有效的通信机制 ? 软件质量 人员流动 成员间缺少沟通 缺乏管理所造成的问题
软件开发管理的基础 软件配置管理
软件配置管理 • 软件配置管理的必要性 • 软件配置管理的发展及含义 • 软件配置管理的目标及任务 • 软件配置管理的功能 • ClearCase产品简介
配置的起源 硬件配置 • 系统硬盘空间 • 运行速度 • 外设性能
软件配置的定义 文档 数据 代码 报告 SCI 软件配置是由在软件工程过程中产生的所有信息项构成的,它可以看作该软件的具体形态(软件配置项)在某一时刻的瞬间影像
软件配置管理的含义 “协调软件开发使得混乱减到最小的技术叫做软件配置管理,它是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。” ------ Wayne Babich 《SCM Coordination for Team Productivity》
软件生命周期 计划 定 义 需求分析 设计 开 发 始于软件项目之初 终于项目淘汰之时 编码 测试 确认 运行维护 维护演进 软件配置管理 软件配置管理的特点 SCM贯穿整个软件生命周期与软件工程过程
软件开发过程 用户平台 测试 软件配置管理 服务 软件配置管理的地位 需求管理 可视化建模
软件配置管理的必要性 • 软件配置管理的发展及含义 • 软件配置管理的目标及任务 • 软件配置管理的功能 • ClearCase产品简介 软件配置管理
软件配置管理的目标 • 标识变更 • 控制变更 • 确保变更 • 报告变更
软件配置管理的任务 • 标识 • 版本管理 • 变更控制 • 配置审计 • 配置报告
完善的软件配置管理功能 修订版管理 状态报告 软件开发管理 产品版本管理 状态报告 建立管理 变更控制
软件配置管理的必要性 • 软件配置管理的发展及含义 • 软件配置管理的目标及任务 • 软件配置管理的功能 • ClearCase产品简介 软件配置管理
1.3 1.2 1.1 • 保留文件修改轨迹 • 增量存储方式 1.0 软件配置管理的功能 一个应用程序模块经历过的多个状态的存储 修 订 版 管 理
产品版 本 管 理 1.4 1.3 1.3 1.2 1.2 1.2 正式版 1.1 1.1 1.1 1.0 1.0 1.0 Beta 1 File 1 File 2 File 3 Version Labels 软件配置管理的功能 是对应用程序系统在版本级的管理
建立 管 理 软件配置管理的功能 允许为建立程序有可重用的定义 • 自动构造程序 • 自动回溯机制 • 保证程序建立一致性
变更管理 软件配置管理的功能 对变更严格的加以控制和管理,保持修改信息,并使其精确、清晰。 • 提出变更申请及方案 • 对变更进行评价 • 存取控制 • 同步控制
报告 状态报告 软件配置管理的功能 对开发过程作出系统的记录 • 发生了什么(What)? • 为什么要发生(Why)? • 谁做的(Who)? • 什么时候发生的(When)? • 在哪儿改变的(Where)?
软件配置管理的必要性 • 软件配置管理的发展及含义 • 软件配置管理的目标及任务 • 软件配置管理的功能 • Rational配置管理解决方案
配 置 和 变 更 管 理 Rational的配置和变更管理产品线是一套完整的解决方案,它能够管理开发团队在软件开发生命周期中的全部资产。 • ClearCase提供安全的存储库和软件开发资源的版本 • ClearCase MultiSite能够使地理上分布的开发团队共享开发工作 • ClearQuest and ClearDDTS能够使你对变更的生命周期进行管理
ClearCase能够解决的问题 • 你的开发人员是否能在一种无法控制的状态下访问原代码? • 修改过的错误是否还会出现? • 你的集成过程是否拖延了产品投放市场的时间? • 你是否能有效的管理多个任务? • 你当前的解决方案是否能应付变化的需求? • 你是否有同步开发的问题? • 你是否能重构所有的建立(Build)?
谁需要使用ClearCase? • 团队式的软件开发需要: • 长期维护软件 • 管理多个版本 • 在流水线上继续新产品的开发 • 地理上分布的团队 • 支持Windows和Unix开发环境
谁需要使用ClearCase? • 开发人员 • 保护他们的工作,避免破坏同伴的工作 • 工作在多个任务中 • 版本工程师 • 控制版本过程 • 对建立(Build)进行管理以确保其是100%正确的 • 项目管理 • 管理项目的变更 • 了解项目的发展状况
为什么使用ClearCase 是正确的选择 • 最有力的支持并行开发 • 提供自动的分支和归并功能 • 安全的存储库 • 防止被破坏并具有灵活性的存储库 • 灵活可靠的工作空间管理 • 能够使开发人员控制变更的传播 • 全面的建立(Build)管理 • 提供100%的重构能力 • 支持多种操作系统平台 ClearCase 是当今可用到的最自动化的弹性解决方案
为什么使用ClearCase 是正确的选择 • 市场的领导 • 全球销售已超过100,000 licenses • 和Rational的其它产品相集成 Windows: • ClearQuest • Rose • RequisitePro Unix: • ClearDDTS • Rose • Purify
为什么使用ClearCase 是正确的选择 • 与多种开发工具和Windows资源管理器无缝集成 • Power Builder • Developer 2000 • Explorer 开发工具: • Visual C++ • Visual Basic • Visual J++
PowerBuilder, Microsoft Visual Studio, Developer 2000 ClearCase 的集成 (Windows) SoDA RequisitePro SQASuite Quantify Base-line Projects Rose Purify Models and Sub-Units Coverage Change Requests and Software ClearCase preVue ClearQuest
ClearCase 的集成 (UNIX) SoDA Platform Languages and Utilities Quantify Apex Rose Purify Models and Sub-Units Check Out PureCoverage Errors Change Requests and Software ClearCase preVue ClearDDTS
与开发工具的无缝集成 被集成到自然的工作环境中
ClearCase 的市场地位 “在软件配置管理工具市场上,Rational公司连续两年居于领先地位。在1997年软件配置管理工具的收入中,Rational占据了18.4%。” ------IDC 1998.5 IDC的一位高级研究人员指出:“分布式的、异地的环境大大地增加了软件开发的复杂性。整个软件开发生命周期的管理软件的任务已进行到了新的维度,ClearCase一族产品极大的满足了软件开发的这一复杂性。ClearCase的市场占有率就表明了这一切。”
ClearCase 被广泛的使用 拥有250个License以上的用户已超过30家 Alcatel - 524 AT&T - 774 Bay Networks - 407 BNR/Nortel - 1643 Cisco Systems - 937 Boeing - 627 Computervision - 275 Digital - 344 EDS - 404 Ericsson - 667 Texas Instruments - 608 Santa Cruz SCO - 400 Silicon Graphics - 368 Thomson - 313 TRW - 462 Informix - 1900 Lockheed Martin - 934 Lucent - 567 Motorola - 2799 Oracle - 1290 Fidelity - 377 Ford Motor - 263 GTE - 630 Hewlett Packard - 2649 Honeywell - 255 Hughes - 402 Philips - 328 Princeton - 757 Raytheon - 384 SDRC - 250 Siemens - 2459 Sybase - 478
对ClearCase 的评价 “对于开发人员来讲ClearCase比其它配置管理工具使用更为轻松 ...” Hugh Bawtree, Software Development Magazine December ‘97 “如果没有ClearCase我们将不能支持所有不同的产品版本" -SPSS “我们使用Java 做了许多能够满足商业需求的快速应用开发……ClearCase 帮助我们有效的控制变更,并且没有降低我们的开发速度.” -Marion Brown, Sun IS
ClearCase 功能 ClearCase 版本 控制 建立 管理 工作空间 管理 过程 控制
ClearCase的存储库 VOB 存储库 ---Version Object Bases 作用 ---防止随意变更 存储内容 ---可以存储多种文件类型 ClearCase 独有的! 根据您的需求 • 提供自动跨越多个存储库的功能 • VOB
2 3 0 增量存储 4 1 5 2 6 3 ClearCase 版本控制 • 控制任何文件的版本 • 可对目录和子目录进 • 行版本控制 • 采用版本树结构 • 完美归并功能 • 文本比较 • 丰富的注释和版本报 • 告信息 主支 建立分支 Checkout Edit Check-in 修复错误 Rel 1 Checkout Edit Check-in 归并、比较 Rel 1
ClearCase 并行开发 自动 建立分支 自动 进行归并
ClearCase 并行开发 • 确保修改过的错误不会再出现 • 归并效用能够找到所有未归并的文件 • 减少集成时间 • 对于一个项目可以节省几个月,对于一个建立(Build)可以节省几天 • 归并的工作能跨越多个存储库 • 在多个平台上同时发布 • 归并功能可以同时归并32个文件 • 传送一个缺陷的修改到多个版本 • 可以在任何方向上建立分支和进行归并 • 不会拖延产品投放市场的时间 • 使高风险的工作隔离在单独的分支上
工作空间管理的重要性 • 提供一个与开发人员友好的环境 • 为开发人员创建可靠的工作空间 • 保证在集成期间能够继续开发 • 为开发工作提供可靠的同步机制
foo.h foo.c V I E W V O B src 私 人 存 储 bar.c foo.c foo.h bar.c ClearCase 工作空间管理 • 建立灵活的工作空间 • 透明的访问版本元素 • 支持非ClearCase主机 • 访问视图
ClearCase 工作空间管理 • ClearCase 是最好的SCM解决方案,可以提供两种工作模式 • 在Unix 和 Windows NT上提供动态视图 • 在Windows NT上提供快照视图 • “…ClearCase 能够提供我们需要的所有不同的工作模式.” • NobleNet, Inc.
ClearCase 工作空间管理 • 动态视图使用网络连接ClearCase 的存储库 • 直接更新 • 访问数据历史 • 代码库的整体视图 • 审核建立(Build) • 网络建立(Build)
快照试图在Windows NT上能够可靠地被分离使用 只能定期更新 可以远离办公室工作 可以在本地进行建立(Build)操作 ClearCase 工作空间管理