软件配置管理解决方案(U8并行开发和集成)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BL2
3
构件与基线
构件 A B 基线 BL1 BL3
构件 B BL1 BL2 BL3
filef
1
fileg
1
fileh
1
2
3
2
3
2
3
配置数据库管理
分布式数据服务器 可随产品规模变化,扩展多个数据服务器 数据多层次备份(磁盘镜像、每日完全备 份、长期磁带备份) 数据可安全恢复和迁移 数据访问权限基于域用户帐号和组
构件(Component)
一组在一起进行开发、集成和发布的相关元素
减少复杂性 促进共享和重用
一个项目包含一个或多个构件
基线(Baseline)
一个命名的、稳定的配置,代表了团队成员已集成 的工作
确定基线被创建时的一个构件中每个元素的一个版 本
在项目开始时用作开发 的起始点 在项目进行过程中,创 建新的基线以合并不同 开发人员的变更
Build 3 Build 2 Build 1
开发人员
集成人员
测试人员
基于活动进行配置管理的优点
一致的变更减少集成和构造中的问题 活动将开发人员的工作逻辑地组合在一起 建立活动和变更请求之间的关系 建立活动和项目管理之间的关系 自动产生报告以简化报告制作工作 可以更有效率地进行代码审查工作 可以更有效率地进行测试工作
在项目级进行合并集成
861集成流
U860_Final
861开发流
U861 dev
U861 Integration
U861_Init
提交
U861_BL1
提交
U861_BL2 U861_Final
在产品级进行组装集成
IA861 集成项目 SCM861 集成项目 ST861 集成项目
IA861 Integration
客户 市场 产品支持 测试
变更请求生命周期
接收到变更请求 项目经理分析并 分配变更请求
开发人员产生或 更改工作产品
关闭变更请求
变更后的工作产品 进行集成、测试和发布
软件配置管理(SCM)
统一变更管理(UCM)
统一变更管理(UCM) 是IBM Rational管理整 个软件开发周期中的 变更的解决方案 UCM 通过一个已定义 好的、可重复的过程 将项目的活动与其变 更的工作产品集成在 一起
面临的挑战
如何保持复杂软件团队的工作之间的协调, 并有效地控制 如何能够进行更快速的集成和发布 如何在软件规模不断扩大、变更不断产生的 同时保证软件的稳定性
软件开发和变更
软件开发包括如下变更
一个需要修复的缺陷 一个需要改进的已有功能 一个需要增加的新需求
变更请求有许多来源
处理人
*** ** ***
Project系统
变更集 Test_325 数据显示错误 支持系统
a.java b.xml c.sql V5 V3 V8
其他系统
统一活动与工作产品
以活动为单元集成
以活动提交 避免修改丢失 易于再现
基于活动的集成和测试
新界面要求 Bug 1527 Question 328
产品线并行开发和持续集成
建立基于软件体系构架的配置管理构件 基于构件进行并行开发 通过活动组织和集成一致的版本集 在项目级进行合并集成 在产品级进行组装集成 自动化构建和集成 统一管理变更请求
ClearCase UCM基本概念
软件体系构架
U8
平台
构件1
构件2
……
构件的多项目并行开发
ClearCase UCM基本概念
UCM基本概念包括
活动(Activity) 元素(Element)和版本(版本) 工作空间(Workspace),视图(View)和流(Stream) 项目(Project),构件(Component)和基线(Baseline) VOB 和 PVOB
870集成项 目
U870 Integration
U860_SP_BL1
U860_SP_Final
U861_BL2
U860_SP_BL2 U861_Final U870_BL1
U870_BL2 U862_Final
主版本和补丁版本并行开发
Mainline Integration
主线项目 861集成项 目
内部或外部的缺陷报告; 客户、市场部门或工程部 门的功能扩展请求; 项目任务; 需求、设计的变更请求; ……
增加查询
Question 1527 新按钮 Bug 98
Bug 849
WEB 设计 新的顾客要求
新平台
Bug 179 需求变更
Question 348
变更请求必须进行管理
主线项目 861集成项 目
U861 Integration
U860_Final
862集成项 目
U862 Integration
U861_BL3
U861_BL1
U861_BL2
U862_BL1
U861_Final
U861_BL4
U862_BL2
U862_Final
用户专版项目开发
U860_Final
Project系统 测试系统
和追踪 在活动级管理变更请求 统一管理变更请求和实 际变更的工作产品
支持系统
文档变更
开发人员工作流程
1
加入项目 集成流 共享工作区
开发流 (开发工作区)
2
选择活动, 执行任务
工作任务列表
1. Bug 671 修正 2. 增加查询 3. Question 829 修复
软件配置管理解决方案
(产品线并行开发和持续集成)
用友软件产品开发特点
特大型产品线开发团队
团队人数一、二百人以上 相互协作的开发组几十个 同时工作在多个发布版本上 存在大量共享以及相互依赖的代码 支持的用户专版和平台不断增多 产品发版数量和频率不断增高 开发过程中出现大量变更
SCM861 Integration
ST861 Integration
IA861_BL1
ST861_BL1
IA861_BL2
SCM861_BL1
ST861_BL2
IA861_BL3 SCM861_BL2
ST861_BL3
ST861_BL4
自动化构建和集成
将开发活动提交到项目集成流 为软件构件建立基线 Build软件构件 执行安装测试 发布软件构件基线 自动执行整个构建过程
什么是一个ClearCase UCM Project
一个包含与一个开发工作相关的配置和策略 的对象,该开发工作用来创建:
一个产品 一组产品 一个产品功能的子集
ClearCase 存储库
ClearCase 在一个称为版 本对象库(VOB)的存储 库中存储元素版本和构件
ClearCase 将与项目相关 的对象存储在一个称为 Project VOB (PVOB)的存 储库中
配置管理相关角色
产品构架师 配置管理员 项目经理 软件开发人员 项目集成员 产品集成员
配置管理工作流程
创建项目 项目经理 建立 项目策略 分配任务 监控 项目状态
加入项目 开发人员
基于活动开发 提交活动
更新工作区
项目集成员
确定项目基线
项目集成
项目构造
建立项目基线
更新项目 基线
产品集成员
确定产品基线
产品集成
产品构造
建立产品基线
发布产品
产品主线 主版本和补丁版本并行开发 跟进项目并行开发 用户专项版本开发
一月 上旬 需求分析截止期 需求代码截止期 Bug截止期 Vxx 中旬 下旬 上旬
二月 中旬 下旬 上旬 中旬
需求问题解决最大提前期 集成测试期 最长代码开发期
SP1
Hot Fix1
Sp2
Bug1-1 Hot Fix2 Bug1-2 Bug2-1 Bug1-n Bug2-2 Hot Fix包含当期所有Bug补丁 在SP周期内Hot Fix之间是依赖关系 SP包含当前所有Hot Fix补丁 Bug2-n Special
Hot Fix n
Bugn-1
补丁热度的产品版本Hot Fix周期不同 所有不定采用自释放安装方式
产品主线
主线项目
860补丁项 目
U860_SP Integration Mainline Integration
U861 Integration
861集成项 目
U860_Final U861_BL1
活动(Activity)
用来跟踪实现一个变 更请求对工作产品所 做的变化 ClearCase 管理变更的 工作产品, ClearQuest 管理和跟踪活动
元素(Element)和 版本(Version)
一个元素是一个置于版本 控制之下的工作产品,可 以是一个文件元素或一个 目录元素 通过在一个活动上进行工 作,你可以创建一个元素 的新版本
自动化构建和集成过程
VOB
861集成 流
R861 Integrat ion R861_Init 提交 R861 dev
测试服务器
861开发 流
构造服务器
R861_BL1 提交
R861_BL2
发布基线
R861_BL2 编译通过
R861_BL2 测试完毕
统一管理变更请求
变更请求有很多种形 式、很多种来源:
基于活动的配置管理
一个活动表示一个需要执行的工作任务单元。 活动具有不同的类型,包括缺陷、新需求或项目 任务等。 变更集可以将配置管理、变更请求管理和项目管 理紧密结合在一起。
以活动为中心组织
文档变更 测试系统:组织测试修复活动
问题编号
325 890 1238
问题内容
数据显示错误 缺少按钮 查询结果不正确
用户专版项目 861集成项 目
U861 Integration U860_US Integration
U860_US_BL1 U861_BL1 U860_US_BL2 U861_BL2
U861_BL3 U860_US_BL3
U861_BL4
通过活动组织和集成一致的版本集
变更集
一组文件和目录的版本 在变更结果版本和变更活动原因之间建立关联
3 以活动提交变更 (提交变更集)
集成流
在项目里程碑处创建基线
构件 A BL1
BL1
活动 画面尺寸过大 功能追加 增加GUI按钮 优先度 1 – 最重要 1 – 最重要 2 – 重要 状态 修正完毕 修正完毕 修正完毕
filea fileb filec filed filee
1 2 3 1 2 1 2 3 1 2 3 1 2 3
U861 Integration
860补丁项 目
U860_SP Integration
U860_Final
U860_SP_BL1
U861_来自百度文库L1
U860_SP_BL2
U860_SP_Final
U861_BL2
U861_BL3
U861_Final
跟进项目并行开发
Mainline Integration