大纲: 一、配置管理基本概念
二、.配置管理
三、SCM Tools
四、SVN:SVN的安装+SVN的操作
一、配置管理基本概念
1、配置 [configuration]
定义:在技术文档中明确说明并最终组成软件产品的功能或物理属性
关键词: 技术文档 明确说明 最终产品 功能 物理属性
2、配置管理
configuration management
定义:在软件生命周期中,通过标示不同时间产生的文件,并对这些标示的文件进行系统控制,从而保证产品完整性和可塑性
关键词:文件标示 系统控制 产品完整性 产品可溯性
动作:标示文件,系统控制
目的:保证产品完整性和可溯性
3、版本
version
定义:表示一个配置项具有一组定义的功能的一种标识,版本以版本号进行标识
版本号命名:由2~4部分组成
主版本号/major | 次版本号/minor | 内部版本号/build | 修订号/revision |
必选 | 必选 | 可选 | 可选 |
产品大量重写, 无法实现向后兼容性 | 功能增强, 可实现向后兼容性 | 对相同源代码 进行重新编译 | 修复以前bug, 可完全替换 |
4、检入与检出
检入
check in
这个功能用于检入已检出的文件。检入文件后该文件的主版本会自动提升, 当其它用户尝试提取该文件时,就会自动提取最新的版本。
" 我已改好了,存进来"。
检出
check out
捡出文件的目的是为了暂时占据修改的权限, 当其它人尝试检出文件的时候, 就会被拒绝, 直至检出了文件的人检入文件或取消检出̀。
"我要改了,不要动!"
二、.配置管理
1、配置管理人员
CMO
configuration management officer
职责
代码管理和编译
版本管理
特殊版本制作
协助项目经理
2、SCM过程中的角色
PM-项目经理
CMO-配置管理员
programmer-开发员
tester- 测试员
QA- 质保人员
CCB-change control board 变更控制委员会
三、SCM 工具
| VSS | CVS | SVN | StarTeam | CleanCase |
全称 | Microsoft visual sourcesafe | concurrent version system | subversion | \ | \ |
功能 | 1.提供文件的版本跟踪功能 2.对于团队的开发进行支持(共享、分支、合并) 3.不提供流程管理功能 4.不提供异地团队开发的支持 5.只能在Windows平台上运行 | 除了具备VSS功能外,还具有: 1、开发者可以从任何因特网的接入点存取最新代码 2、避免因为排他检出模式而引起的人工冲突 3、客户端可以在绝大多数平台上使用 4、不提供流程管理功能 | 支持CVS所有特征,并且更好的支持中文 | 具备VSS、CVS所具有功能外,还提供:1、基于数据库的变更管理功能 2、流程定制工具 | 提供VSS、CVS、StarTeam所支持的功能,但不提供变更管理功能 |
易用性 | 易学易用,标准Windows操作界面 安装、配置非常简单 | 目前,CVS客户端有winCVS的图形化界面,易用性正在提供 | 继承了CVS的使用简便性,在客户端方面TortoiseSVN对wincvs更加方便简洁,同样提供了主流开发工具的插件 | 用户界面类似VSS,同时也提供命令集进行支持;starTeam的随机文档特别详细 | 复杂 |
安全性 | 安全性不高,由于VSS的文件夹是要完全共享给用户,用户才能进入,所以用户对VSS的文件夹都可以删除 | 无法完成复杂的权限控制 | 类似CVS | 独立的安全管理机制 | 没有独立的安全管理机制,依赖于操作系统 |
使用成本 | 较低 | 开源软件,无需付费 | 开源软件,无需付费 | 按license收费 | license收费+技术服务费 |
技术支持 | VSS是微软产品,可以得到稳定的技术支持 | 没有生产厂家为其提供技术支持 | 有第三方公司再次开发,可以提供一定的技术支持 | Borland公司对用户进行培训,并协作用户建立SCM系统,并提供技术升级等完善的支持 | 购买了IBM的技术支持服务,有可靠的售后服务保障 |
适用范围 | 个人型项目、小型项目团队、中型项目团队、大型项目团队 | 中型项目团队、大型项目团队 | 中型项目团队、大型项目团队 | 中型项目团队、大型项目团队、特大型项目团队 | 大型项目团队、特大型项目团队 |
PS: | | | | | |
项目 | 个人型项目 | 小型项目团队 | 中型项目团队 | 大型项目团队 | 特大型项目团队 |
成员数 | 1成员 | 2-3成员 | 6-15成员 | 1-10个组,每组2-30个成员 总人数不超过150 | 总人数超过150 |
产出物 | 单一产品 | 单一产品 | 单一产品或一个产品系列中的多个产品 | 一个产品系列中的多个产品的一个公共发布版本 | 一或多个产品的发布版本 |
四、SVN
SVN的安装
SVN的操作
关于SVN的使用,稍后我会写一份SVN常用功能操作手册,大家详情见这一部分吧。