南京南瑞集团公司信息通信技术分公司江苏南京210000
【摘要】随着科技的日益进步,软件产品已经成为很多行业不可或缺的组成部分。目前,软件产品成为软件企业的重要资产。对于软件产品种类繁多的软件企业,如何对软件产品进行管理,最大限度保证软件产品的可控性、完整性和一致性,成为软件企业必须思考的问题。本文目的是探讨从软件企业层面,在各软件产品建设生命周期过程中,如何开展基线版本的企业级配置管理工作。通过规范配置管理活动,确保受控产品的可控性、完整性和一致性。
【关键词】企业级配置管理基线版本
Abstract:Withtheadvancesintechnology,softwareproductshavebecomeintegralpartsofmanyindustries.Atpresent,softwareproductshavebecometheimportantassetsofsoftwareenterprises.Forthevariouskindsofsoftwareproductsofsoftwareenterprises,ithasbecomeaproblemwhichshouldbetakenintoconsiderationthathowtomanagethesoftwareproductstoensuremaximumcontrollability,integrityandconsistency.Purposeofthispaperistoexploretheenterprise-levelsoftwareconfigurationmanagementforthebaselineversionfromtheenterpriselevelintheconstructionofthesoftwareproductlifecycle.Bystandardizedconfigurationmanagementactivities,itcouldensurethatcontrolledproductscontrollability,integrityandconsistency.
0.引言
随着计算机技术的发展和通信网络的普及,各种软件产品应运而生,满足着各行各业对业务信息化日新月异的需求。激烈的市场竞争环境也对企业的软件产品管理提出了更为严苛的要求。由于软件系统的日益复杂化、用户需求多样化和软件更新的频繁化,配置管理逐渐成为软件生命周期中的重要控制过程,在软件开发过程和产品管理中扮演着越来越重要的角色。同时对企业级产品的宏观管理,即产品管理,也有重要的支持作用。良好的配置管理能完整地保存企业软件资产,并确保软件产品可重复制造。
1.配置管理现状与目标
1.1管理前存在问题
未进行统一的企业级产品配置管理时,各软件产品的管理可能存在以下问题:软件产品的源代码和技术资料分散存放,时间过长或项目人员变动后,企业各软件产品资料的完整性和一致性难以保证;对软件代码未做统一的规范化要求,代码质量有待提高,代码安全需进一步检查;由于每个基线版本均在多个现场发布,故现场部署的软件版本和项目组配置管理发布版本之间的一致性难以保证。
1.2管理目标
开展企业级产品配置管理工作,可实现源代码和技术资料的集中存储与管理,保障软件资产的完整性和一致性;开展代码编写规范、代码质量检查,运用企业已购软件质量、安全等检测工具进行检测,可评估软件质量及开发人员编码能力;现场部署软件版本、项目组配置管理发布版本之间的一致性需要有所保障。对企业所有重点产品集中进行版本管理、编译集成,能够支持组织系统的功能和性能测试。
2.企业级产品配置管理内容
2.1管理环境离线
企业级产品配置库存储与管理企业所有软件产品的源代码、技术资料等,是一个离线的管理环境,不直接参与产品研发过程,库中内容来自各产品的研发环境并及时更新,是产品源代码与各类技术资料的权威版本。
2.2配置库目录结构及权限
在企业级产品配置库中,企业级配置管理员为每个产品单独建立一个配置库,库中为每个基线版本建立一个文件夹,文件夹中采用统一的目录结构,用以存放指定的内容。企业级配置管理员为配置库分配权限,防止无关人员进入。一般只有企业级配置管理员对配置库有读写权限,其他人无权进入配置库。
2.3配置项管理
配置项主要包括:源代码、技术文档、编译依赖包、编译脚本、编译后的二进制码,发布的产品安装包及其配置。配置项应有统一的命名规范,企业级配置管理员应编制版本标识规则,对进入受控库的基线版本进行版本标识管理。其中,每个技术文档还应建立文档履历表以记录文档的变更过程。对编译后的二进制码进行标识管理,要求编译后的二进制码标识能与源代码标识对应起来,可以由编译后的二进制码追溯到源代码。对评估通过的基线,签入受控库。
公司级配置管理员应定期检查各配置项标识,确保其正确性;基线版本中的配置项不得随意变更;如需变更,应严格按照基线变更流程加以控制。
2.4问题管理
问题管理的内容主要包括三部分:版本管理过程中相关问题和解决方案录入、代码自动化检测问题管理、系统测试缺陷管理;对于优秀/问题代码、设计模式、公共组件等进行企业内部分享。
3.企业级产品配置管理实施
3.1建立企业级配置管理组
建立企业级配置管理组,指定企业级配置管理员,主要职责包括:制定与完善企业级配置管理相关要求细则;构建与维护企业级配置管理环境、编译环境。
3.2基线计划及变更管理
企业级配置管理员于每季度末向项目组收集产品下一季度的基线计划,项目组制定的基线计划应能真实反映产品实际开发情况,并经过项目经理审批。基线计划应明确产品的基线生成时间、基线发布时间,以及基线名称、基线内容等。
当基线计划有变动时,项目组应提前向企业级配置管理员提交经项目经理审批通过的基线计划变更申请,说明变更时间、变更理由和变更内容等。
企业级配置管理员应按照基线计划,在产品基线发布前发邮件提醒项目经理按时提交基线版本源代码、编译说明及编译所需第三方依赖包、对应的核心技术文档资料(包括需求分析、概要设计、数据库模型设计等)。
企业级配置管理员于每季度末收集汇总本季度基线计划落实情况,按基线计划定时发布、基线计划变更,均应进行记录,实现对基线计划的闭环管理,将汇总结果上报企业领导。
3.3基线版本评估入库
基线版本代码提交前项目组需要做好单元测试、局部集成测试、代码评审三方面工作。单元测试包括模块接口测试,局部数据结构测试,错误处理测试,边界测试等内容。局部集成测试指开发人员保证自己负责的模块能够在整个系统环境下运行。代码评审指开发组根据计划邀请项目组内部技术专家对代码进行评审,确保代码达到能够提交基线版本的要求。
每次发布新的基线版本后,应将源代码及技术资料通过优盘拷贝的方式,在规定时间内提交给企业级配置管理员。
企业级配置管理员在接收到项目组提交的基线版本后,对基线版本进行完整性、代码可编译性进行评估。完整性指基线版本源代码、编译说明及编译所需第三方依赖包、对应的核心技术文档资料提交齐全。可编译性指源代码在由企业级编译测试员在非项目组的第三方验证环境中可编译通过。评估通过后,才可将基线版本迁入配置库。
3.4代码检测和系统测试
通过配置管理评估入库的基线版本可开展代码检测和系统测试,完成出厂检测。代码检测是静态检测方法,是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。系统测试指在项目组的配合下,在第三方环境中搭建系统,进行性能及功能测试。
3.5建立资料共享系统
对配置管理、代码检测和系统测试中发现的典型优秀或问题代码、设计模式以及公共组件等,应进行记录,逐步建立资料管理系统,完善资料共享机制,进行企业内部分享。
对受控库进行定期的增量备份和全量备份。对于企业级配置管理服务器的磁盘,采用主备双硬盘,定期将主盘的数据备份至备盘,确保磁盘故障不影响数据。
4.结论
目前,企业级配置管理仍处于起步阶段,其发挥的最主要的作用是保护公司软件资产的完整性和一致性;企业内部出厂测试环节管理较为薄弱,仍以项目组内部测试为主。下一步的工作重点应提升企业内部项目配置管理员的技术水平,加大项目持续集成的力度,将大部分质量缺陷及安全漏洞消灭在编码阶段;加强系统出厂系统测试力度,对出厂产品进行严格的版本控制。在全面提升产品质量的工作中,企业级配置管理工作任重道远。
参考文献
[1]BobAiello,LeslieSachsConfigurationManagementBestPractices,[M].人民邮电出版社,2013年9月;
作者简介
景娜,女(1983—),中级工程师,主要研究领域:软件配置管理、软件测试等。