15.2配置管理 U" o) i5 m- {% I% `/ N
15.2.1配置管理有关概念
/ F" L |3 U, U7 R+ T 配置管理:是为了系统的控制配置变更,在系统的整个生命周期中维持配置的完整性和可跟踪性,而标识系统在不同时间点上配置的学科。
0 W! n5 y) i% J, L- O9 S0 C R `8 Q8 H 软件配置管理包括4个活动:配置识别、变更控制、状态报告、配置审计。
1 r/ j/ t6 P1 c' p" s ●配置管理活动和流程/ w; F8 W2 Z& s o- V
制定配置管理计划、配置识别与建立基线、建立配置管理系统、版本管理、配置状态报告、配置审计;8 O# _, o: Y q, r. c
●配置项
$ G# B5 j* J- t) g. p 硬件、软件或二者皆有的集合,为配置管理指定的,在配置管理过程中作为一个单独的实体对待。" f! }0 [; \2 R7 t
●配置库
% E& b- |+ y$ Y5 ]' Q 一组受控制的、辅助软件开发、使用和维护的软件及相关的文档;
. x! N, W+ p$ m0 x9 s# ?+ X8 c; U ●配置管理系统
S# w% _! v( [- {7 i& ]2 ` 软件支持系统5 G% y" Y6 T# p" W8 {
●基线1 X9 j* c; w: K0 j; t1 K4 ^2 N
一组拥有唯一标识号的需求、设计、源代码文卷以及相应的可执行代码、构造文卷和用户文档构成一条基线。
4 J d5 o7 i% T 在建立基线以前,工作产品所有者能快速、非正式的对产品做出变更。在基线建立后,变更要通过评价和验证变更的正式程序来控制。7 \' V5 u" B$ E, e% t! `, ?( l
15.2.2制定配置管理计划; C: n- d% K l- e9 Y
●配置管理计划编制工作的基本步骤
% h' f, e8 ?* A# r# ^; ]/ Y( c 软件配置标识、软件配置控制、软件配置状态报告、软件配置审计、软件发布管理与交付。) n0 r; y: a5 ]3 L! X' ?0 A7 p( f
●配置管理计划的主要内容
+ x2 {- }$ r/ ? 配置管理软硬件资源、配置项计划、基线计划、交付计划、备份计划、配置审计和评审、变更管理。变更管理委员会审批该计划。7 T# a i6 _0 q
15.2.3配置识别与监理基线
$ p3 M; u$ v+ p# ~ 配置识别:配置管理的一个要素,包括选择一个系统的配置项和在技术文档中记录配置项的功能和物理特性。% w: D9 B/ E! i9 X0 b: y4 \
●配置识别的基本步骤
. c5 n3 Q% I5 }, f% u6 D0 l7 `& d 识别需要受控的软件配置项;
/ V$ B8 b% {4 P# J! Y# N" n 给每个产品和他的组件及相关的文档分配唯一的标识;6 [: B( @' x2 J: L
定义每个配置项的重要特征以及识别其所有者;
/ F! x7 X1 R4 E6 o( r 识别组件、数据及产品获取点和准则;
9 n' v2 q& `% l: B" B/ O; u 建立和控制基线;
' M( S/ A. e* Y2 p4 q 维护文档和组件的修订与产品版本之间的关系;+ B2 [0 ^4 M) r5 U+ {4 K9 b
●配置识别的常用方法和原则" c0 J7 I5 Q5 h, m
所有配置项的操作权限由配置管理人员(CMO)严格管理,基本原则是:基线配置项向软件开发人员开放读权限;非基线配置项向PM,变更控制委员会(CCB)及相关人员开放。% a" v/ X/ {0 m5 d, F" v
●建立基线的目的及其在项目实施中的应用
0 X/ A- @) k9 U; k& c# {! F 目的:为了在不严重阻碍合理变化的情况下来控制变更;基线的变更只反映已批准的组件部分的变更;. N9 k4 }$ @3 W
对于每个基线,要定义下列内容:建立基线的事件、受控的项、建立和变更基线的程序、批准变更基线所需的权限;& T3 r% q9 f% R
15.2.4建立配置管理系统
. n1 o. P3 r: T) Y. h: Z7 g5 S1 ? ●建立配置管理系统的基本步骤
0 H+ Y: V6 O4 E& D" u; T2 @ 组建配置管理方案构造小组(小组负责人、技术支持专家、配置管理技术专家、配置管理系统用户代表);
6 }+ E7 ]- W6 Z 对目标机构进行了解、评估;9 k# d5 `1 G; @3 P. |
配置管理工具及其提供商评估;
% T, N) Z. }) u. i. k 制定实施计划;
2 G$ e; O0 E/ }& \0 z! k8 H 定义配置管理流程;
. G: @7 k' K3 A$ t' W1 D9 q9 b 试验项目的实施;
( Y/ p* L7 W+ _" H" E5 X' L" k0 j 全面实施;
0 @% G, m# d7 Z* k2 F& T (制定配置管理流程的方法)
# P8 A9 b. a) K3 d" u$ ] ●配置库管理系统的基本结构
* Y9 f) E& Q0 J* g; a) H6 A 配置库类型:动态库;受控库;静态库;备份库;" X4 t3 a" I; V: P. l
工作库 基线库 软件仓库 备份
, z1 E( t6 H! _! z% q. o' S( m6 m4 z 配置库建库模式:按配置项类型分类建库;按任务建库;4 D/ s9 Y* I7 h. c# X1 h
建立配置库工具:VSS、CVS;9 Y5 @2 U" J, I: t0 o& O
15.2.5版本管理" Q5 ~$ N: x" O0 N) t( P
●配置项状态变迁规则
% q$ @6 B+ m$ l1 k 草稿、正式、修改;
. D P9 `. f3 t$ D ●配置项版本号控制) _6 k6 u1 t( L/ a. O
版本号与配置项状态相关;2 X7 X: m" @' M: s) }
按一定规则保存配置项的所有版本。9 s, E+ l1 b' {" R& _3 T& D2 n
●配置项版本控制流程+ ]* v* }, S% U3 |0 e, `* \
变更申请;变更评估;变更实施;变更验证与确认;变更的发布;3 O W" P8 P2 y) f8 F8 Q4 [$ L
15.2.6配置状态报告
! h- y" I6 Y' _' u" `0 h3 R; J2 X' C ●配置状态报告的内容& z. ?/ ^8 f; ^! N) ?1 D8 l* u
内容包括:产品描述记录、每个受控软件组件的状态、每个构建版发布的内容和状态、每个基线的内容、配置验证记录、变更状态记录(缺陷和改进)、所有位置的所有配置项的安装状态;
- q% Y, z- k$ g 配置状态报告应尽量通过CASE工具生成;
' h* p0 }2 N" f* m6 a ●状态说明2 w! b$ k$ [$ V. Q5 E% n
配置状态报告应着重反应当前基线配置项的状态,以作为对开发进度报告的参照。
4 h9 {5 F9 R" F 15.2.7配置审核
/ D% r6 t& |: d L% s/ P ●实施配置审核的作用
) S2 Q8 M5 d& ^) C' l' m$ P$ ~# d 确保某一变更需求已经被切实实现;* J% o/ t. V e& Y1 h* u8 q& F9 H
●实施配置审核的方法* |; S4 I. A$ O0 j4 E: F7 ~8 ~2 t
功能配置审计:配置项的开发是否完成;配置项是否已达到规定的性能和功能特性;配置项的运行和支持文档是否已完成且符合要求;
8 w' X' q2 F0 r% X( k 物理配置审计:每个构建的配置项是否符合相应的技术文档;配置项与配置状态报告中的信息是否对应。 |