软件配置管理浅谈
![软件配置管理浅谈](https://img.360docs.net/img58/1ack6r37wlixw4op138leo53bb26mxdj-81.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件配置管理浅谈
配置管理是通过技术与管理手段,对产品生命周期不同时间点上的产品配置项进行标识,并通过配置管理系统记录配置项的开发、归档和变更过程,控制配置项的版本变更,保证产品的完整性、一致性和可追溯性。
配置管理是软件工程的基础活动,是团队高效运作和质量管理的基础,是网络安全的基石。
一、配置管理是软件工程的基础活动
配置管理是实现产品持续构建、快速发布与部署的核心,是软件活动开展的基础。依据CMMI标准,在IPD流程定义了独立的“开展配置管理”流程,需求分析、架构设计、编码、编译构建、测试、发布与部署所有工程活动和交付件(代码、文档、版本等)都必须实施配置管理。
面向SDN/NFV(网络功能虚拟化)、云化服务化场景软件交付周期缩短的趋势,配置管理服务化是实现迅速且低风险的软件交付的关键。
配置管理对象上云管理,包括软件生产活动所需的代码库、环境、工具和第三方软件等,也包括生产活动所产生的代码、二进制包、资料包等,实现了数据同源一致,数据共享,生产状态可视。
配置管理活动服务化,通过代码管理、构建管理、包管理、环境管理、发布与部署管理、病毒扫描与数字签名等服务,实现代码
库环境的极速创建,基础设施代码化管理、开源及第三方软件快速认证,数据在多环境的自动部署,使软件生产过程自动化流水线作业,缩短软件交付周期,降低成本。并且自动记录软件生产过程,包括版本所依赖的源码、环境、工具、平台组件、三方件等信息,实现软件生产过程可重复。
二、配置管理是团队高效运作和质量管理的基础
配置管理贯穿于产品整个开发过程,通过配置管理策划、配置管理对象识别、基线和变更控制、配置审核、发布管理等活动来识别自研代码和供应商部件,控制变更记录并记录修改过程。围绕这些活动建立一系列的规范和操作指导来规范产品的配置管理活动,实现需求E2E状态可视,产品研发各环节有序开展。
通过配置管理系统,记录原始需求分解到story的过程,以及需求与代码、需求与缺陷、缺陷与代码的关联关系,实现需求E2E 可视,可以避免需求漏分解、无需求或缺陷产生代码、缺陷与修改代码不一致等产生质量风险的活动;当产品发生网上问题时,通过配置管理系统可以快速找到网上版本对应的源码、环境、迅速修复网上问题。如果是由第三方部件引入的缺陷,通过配置管理系统可以快速查询出还有哪些版本使用了这个部件,通知这些产品修复缺陷。
变更管理是产品研发过程中的重要活动,当交付件通过物理审核、功能审核后,配置项会进入基线状态,后续所有的变更都通过变更请求(CR)来跟踪,包括路标、计划、市场需求、研发需求与
设计变更,由变更控制委员会来评估变更的影响、成本,对变更请求进行裁决,确定实施变更活动。裁决结果通过配置状态发布活动知会到相关人员,并跟踪闭环。这样可以避免由于变更带来的开发混乱,并且能确保需求与设计、开发、测试、资料等活动的一致性,避免产生质量问题。
版本发布是产品研发向客户交付的最后一道质量把控关口,禁止研发工程师不经过审核直接向客户交付软件,也不允许没有达到质量目标的产品向客户交付。为此,配置管理定义了版本发布管理要求,任何产品发布,必须经过严格的系统级测试和各功能领域专家评审,目的是能够交付给客户质量达标的产品。
三、配置管理是网络安全的基石
配置管理是安全认证机构和运营商对产品进行安全性评估的基础。配置管理对构建资源进行标准化管理,在构建过程中自动从配置库下载所需代码、第三方软件、构建脚本,并自动实施锁库,确保产品包组件来源的合法性和安全性;通过对构建过程的标准化管理和记录,确保产品构建过程的可复制/可还原、可追溯,随时随地可以通过源码构建出与现行网一致的软件。
配置管理是防止软件被篡改的基础能力。软件编译构建到部署至客户网络过程中,软件包经过测试、发布、上载、用服工程师下载等多个环节。配置管理建设了公司级病毒扫描和数字签名中心,通过数字签名、病毒扫描服务自动地对交付给客户的软件包进行病毒扫描和数字签名,保证交付给客户的软件包不含病毒且所有环节
软件包不会被篡改,避免恶意软件在客户网络运行导致被攻击。
漏洞预警是客户对华为公司的基本要求,当第三方软件/编译构建工具/自研组件等发现漏洞时,需要第一时间排查公司哪些产品版本受到了影响,哪些客户受到了影响,通过配置管理系统,可以追溯到产品与平台、开源及第三方软件、编译工具和使用关系。当漏洞被发现或者披露后,可以快速排查出受影响的产品版本和客户,第一时间作出响应,最大限度降低漏洞对客户的影响。