1.软件文档分类:
软件开发文档:描述开发过程本身;如可行性研究报告、需求规格说明书、功能规格说明书、设计规格说明书
产品文档:描述开发过程的产物;如培训手册、参考手册和用户指南;软件支持手册、产品信息和信息广告
管理文档:记录项目管理的信息;开发过程的每个阶段的进度和进度变更的记录;软件变更情况的记录
2.软件质量分级:
最低限度文档(1级文档):适合开发工作量低于一个人月的开发者的自用程序
内部文档(2级文档):
工作文档(3级文档):适合统一单位多人联合开发,可被其他单位使用的
正式文档(4级文档):适合要正式发行供普遍使用的软件产品
3.配置管理的6个活动:制定配置管理计划、配置标识、配置控制、配置状态报告、配置审计、发布管理和交付
4.配置项:由配置管理员(CMO)严格管理,原则是:基线配置项向开发人员开放读取的权限;非基线配置项向PM、CCB及相关人员开放
典型的配置项:项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,经评审和检查通过后进入配置管理
分类:基线配置项:所有的设计文档和源程序
非基线配置:项目的各类计划和报告
配置项的状态:草稿(0.XY)、正式(X.Y)、修改(X.YZ:只增大Z值,XY不变)
修改:绝大部分配置项需要经过多次修改才能最终确定下来;对配置项的任何修改都将产生新的版本;修改后的旧版本不能抛弃;按照一定的规则保存配置项的所有版本
5.配置基线:由一组配置项组成,构成一个相对稳定的逻辑实体;基线中的配置项被冻结了就不能被任何人随意修改;对基线的变更必须遵循正式的变更控制程序流程
6.基线:通常对应开发过程中的里程碑
构成要素:拥有唯一标识号的需求、设计、源代码文卷及相应的可执行代码、构造文卷和用户文档
基线内容:建立基线的事件、受控的配置项、建立和变更基线的程序、批准变更基线所需的权限
分类:发行基线(交付给外部客户的)、构造基线(内部开发使用的)
一个产品可用有多个基线、也可以有多个基线
7.配置库:存放配置项并记录与配置项相关的所有信息
分类:
开发库:也称为动态库、程序员库或工作库;用于保存开发人员当前正在开发的配置实体;是开发人员个人工作区,由开发人员自行控制;库中的信息可以较为频繁的修改
受控库:也称为主库,包含当前基线加上对基线的变更;开发某个阶段工作结束时,将当前的工作产品存入受控库
产品库:也称为静态库、发行库、软件仓库;开发的信息系统产品完成测试之后,作为最终产品存入产品库内,等待交付用户或现场安装
建库模式:
按配置项类型:适用于通用软件的开发组织;产品的继承性较强,工具比较统一,对并行开发有一定的需求;有利于对配置项的统一管理和控制,同时也能提高编译和发布的效率
按任务建库:适用于专业软件的开发组织;使用的开发工具种类繁多,开发模式以线性发展为主。所以没有必要把配置项严格地分类存储,认为地增加目录的复杂性
工具:VSS、CVS、手工管理
权限说明:
- 类型:
类型 | 说明 |
Read | 可以读取文件内容,但不能对文件进行变更 |
Check | 可以使用(check in)等命令,对文件内容进行变更 |
Add | 可使用文件追加、文件重命名、删除等命令 |
Destroy | 有权进行文件的不可逆毁坏,清除、rollback等命令 |
- 操作权限
| 项目经理 | 项目成员 | QA | 测试人员 | 配置管理员 | |
文档 | Read | Y | Y | Y | Y | Y |
Check | Y | Y | Y | Y | Y | |
Add | Y | Y | Y | Y | Y | |
Destroy | N | N | N | N | Y | |
代码 | Read | Y | Y | Y | Y | Y |
Check | Y | Y | N | N | Y | |
Add | Y | Y | N | N | Y | |
Destroy | N | N | N | N | Y |
| 项目经理 | 项目成员 | QA | 测试人员 | 配置管理员 |
Read | Y | Y | Y | Y | Y |
Check | Y | Y | Y | Y | Y |
Add | N | N | N | N | Y |
Destroy | N | N | N | N | Y |
8.配置对象:
配置控制委员会(CCB):负责对配置变更做出评估、审批以及监督已批准变更的实施;
CCB建立在项目级的,其成员包括项目经理、用户代表、产品经理、开发工程师、测试工程师、质量控制人员、配置管理员等
任务:配置管理计划审批、基线设立审批、产品发布审批配置管理员(CMO):负责整个项目生命周期中进行配置管理活动,其职责包括:
编写配置管理计划、建立和维护配置管理系统、建立和维护配置库、配置项识别、建立和管理基线、版本管理和配置控制、配置状态报告、配置审计、发布管理和交付、对项目成员进行配置管理培训
9.配置管理的目标:贯穿整个软件生命周期中建立和维护项目产品的完整性
10.配置管理计划:由配置管理员制定,配置控制委员会审批,主要内容:
配置管理活动、实施这些活动的规范和流程、实施这些活动的进度安排、负责实施这些活动的人员或组织,以及他们和其他组织之间的关系
11.配置标识的识别步骤和内容:识别需要受控的配置项、为每个配置项指定唯一性的标识号、定义每个配置项的重要特征、确定每个配置项的所有者及其责任、确定配置项进入配置管理的时间和条件、
建立和控制基线、维护文档和组件的修订与产品版本之间的关系
12.配置管理的变更流程:变更申请、变更评估、通告评估结果、变更实施、变更验证和确认、变更的发布、基于配置库的变更控制
13.配置状态报告:配置状态统计,配置状态报告的主要内容:
每个受控配置项的标识和状态、每个变更申请的状态和已批准的修改的实施状态、每个基线的当前和过去版本的状态以及各版本的比较、其他配置管理过程活动的记录
14.配置审计:
作用:防止向用户提交不合适的产品、发现不完善的实现、找出各配置项间不匹配或不相容的现象、确认配置项已在所要求的质量控制审核之后纳入基线并入库保存、确认记录和文档保持着可追溯性
分类:
功能配置审计:是审计配置项的一致性,主要审计以下几个方面: 配置项的开发已圆满完成、配置项已达到、配置项标识中规定的性能和功能特征、配置项的操作和支持文档已完成并且符合要求的
物理配置审计:是审计配置项的完整性;主要审计以下几个方面: 要交付的配置项是否存在、配置项中是否包含了所有必需的项目
15.配置项发布和交付的步骤:存储、复制、打包、交付、重建
16.软件配置管理工具:SVN、git、CVS