中常见的三库模型(受控库、开发库、产品库),其核心作用是实现配置项的版本控制与生命周期管理)
软件配置管理SCM中常见的三库模型受控库、开发库、产品库其核心作用是实现配置项的版本控制与生命周期管理受控库Controlled Library存放已通过正式评审、批准并纳入基线Baseline的配置项如需求规格说明书、设计文档、测试用例、已验证的代码版本等。该库受严格访问控制变更需走变更控制流程CCB审批确保基线稳定可追溯。开发库Development Library供开发人员日常使用存放正在开发、频繁修改的配置项如源代码、临时脚本、未评审的设计草稿。通常权限较宽松支持快速迭代但不保证稳定性或可发布性。产品库Product Library存放经完整测试、验收合格、正式发布的最终产品版本如交付给客户的安装包、发布文档、签名镜像等。该库内容只读或仅允许发布操作确保交付一致性与可重现性。三库分离体现了“开发—受控—发布”的阶段性管控思想是CMMI、ISO/IEC 12207等标准推荐的实践有助于提升产品质量、审计合规性与发布可靠性。典型工作流示例 开发库 →提交评审→ 受控库形成基线 受控库 →集成测试发布审批→ 产品库生成发布版本受控库中的基线配置项原则上不可随意修改因其代表已评审通过、达成共识、具备可追溯性和稳定性的项目里程碑如需求基线、设计基线、产品基线。只有在发生经评估确认的必要变更时才允许修改且必须遵循严格的配置控制流程Configuration Control Process通常依据IEEE 828或ISO/IEC 12207标准并由配置控制委员会CCB, Configuration Control Board主导。✅允许修改的典型条件包括发现严重缺陷如安全漏洞、功能失效、合规性不满足且无法通过补丁或临时方案规避外部强制要求变更如法规更新、第三方接口协议升级、客户签署的正式变更请求基线本身存在评审遗漏或重大技术错误经复核确认影响整体交付质量项目范围发生经批准的重大变更Scope Change且已触发基线重定Baseline Re-baselining。标准修改流程关键角色与步骤变更请求CR, Change Request提交→ 提出者开发/测试/PM等填写结构化CR表含问题描述、影响分析、预期收益、风险评估初步审查与登记→ 配置管理员CMO审核完整性分配唯一CR编号录入配置管理系统如JiraGitLab CI/CMDB影响分析Impact Analysis→ 相关领域负责人如架构师、测试经理、SQA联合评估对范围、进度、成本、其他配置项、测试用例、文档等的影响CCB评审与决策→ CCB通常含项目经理、技术负责人、质量代表、客户代表可选召开会议投票决定批准/拒绝/延期/要求补充材料批准后执行变更→ 开发人员从受控库检出checkout副本 → 在开发库完成修改 → 全面回归验证含单元/集成/系统测试→ 提交变更包基线更新与发布→ CMO将验证通过的配置项重新纳入受控库生成新版本号如V1.2.0更新基线标识Baseline ID、基线快照及变更日志通知与同步→ 向所有干系人发布基线更新通告同步更新相关文档如配置状态报告CSR、测试环境与构建流水线。⚠️ 补充说明所有操作需留痕审计追踪支持回滚至前一基线“修改”不等于“覆盖原版本”而是新增版本版本关联如继承关系、差异说明小型项目中CCB可简化为PM技术骨干双签但流程不可省略。