当软件开发团队发展到一定规模时,会越来越强调开发过程规范化和成熟度。软件项目的成败在很大程度上取决于对其开发过程的控制,这包括对质量、源代码、进度、资金、人员等的控制。在软件项目实施过程中正确、有效地进行配置管理,需要进行科学合理的规划工作,并确定相应的执行策略。软件配置管理可以帮助开发团队对软件开发过程进行有效地变更控制,高效地开发高质量的软件。在质量体系的诸多支持活动中,配置管理处在支持活动的中心位置,它有机地把其他支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。 本文针对软件项目工作的特点,介绍了配置管理工作的一般步骤和注意事项。
1、配置项的分类
在开展配置管理工作之前,首先应根据项目特点,对项目实施过程中涉及到的配置项进行分类工作。一般来说,一个完整的软件项目会包括项目管理文档、软件开发文档、程序代码、集成文档、维护文档等五类配置,对于每一类配置项,又可以划分为若干细类,具体的分类方法如下:在项目实施过程中制订的工程总体计划、阶段计划、周计划,定期召开的项目例会或技术专题会议的纪要,质量评审记录、配置管理报告等与质量相关的工作记录等文档,都属于项目管理方面的范畴,因此均可以划分到项目管理类文档进行管理。
作为一个软件项目,必然会产生贯穿软件工程标准定义的需求调研、需求分析、概要设计、详细设计、单元测试、系统测试、用户测试等各个阶段的软件文档,均可以归入到软件开发类文档之中。
在软件开发过程中产生的各模块程序代码,软件系统运行所需的各类参数以及配置文件等内容,由于其技术和管理特征与文档有很大的不同,而且相互之间的关联性比较强,为了对其版本进行有效地控制,建议单独划为一个类别进行管理。
软件系统的设计、开发和运行离不开硬件环境的支持,因此在软件项目的实施过程中,通常都会涉及到机房设计、主机安装、网络规划等方面的工作内容,因此系统集成类的文档应作为单独的一个类别,纳入到软件项目的配置管理之中。
在软件系统投入运行之后,需要进行相应的日常维护工作,在维护过程中产生阶段性运行总结报告、定期产生的维护日志、系统运行中出现的故障现象及问题解决情况等维护记录,都需要纳入维护类文档进行管理。
在软件项目实施过程中产生的各类文档、程序代码纷繁复杂、数量众多,通过对各类配置项的归类工作,形成逻辑清晰的配置管理结构,便于对文档和程序代码进行日常管理,使项目实施中产生的各类配置记录始终处于可控状态。
2、建立配置库
在软件项目的启动阶段,应指定一名专职或兼职的配置管理员,建立一台专用的配置服务器,安装相应的配置工具软件,并根据配置项分类方法,对程序代码和文档的目录结构进行规划工作,在配置工具软件中,建立起相应的配置目录结构,同时根据使用者角色的不同,设定相应的目录访问和存取权限。
对于每一个具体的配置项,都需要标识出其作者、时间、版本号、当前状态等基本信息,以便对配置项的版本进行实时监控,方便项目成员对配置项的检索和更新工作。
配置管理员负责整个配置库的安全管理工作,应妥善保管好系统管理员的口令,并进行定期的变更工作,以保证配置库的安全性。
3、建立执行机制
在配置库建立起来以后,配置管理员应将配置目录结构和权限分配表在项目组内部进行公布,并根据应用行业特点,对CMM/ISO9001的配置管理过程进行合理裁减,制订适用于本项目的配置工作流程,明确项目组中的每位成员在配置管理方面的分工职责,并对项目组成员进行相应的职责和流程培训工作。
配置管理员除了负责对各类配置项进行管理之外,还应对项目配置状况进行分析,定期提供配置报告,发布新的配置项状态,提出改进建议并跟踪执行情况,避免出现因为文档或程序代码版本更新的不一致,而导致系统故障的情况发生。
在配置管理工作中,为了保证配置项的可靠性,应制订相应的备份策略,对配置库中的不同类型的配置项进行定期备份。在软件系统的设计开发阶段,程序代码类的配置项由于变更频繁,建议每天备份一次,在正式发布之后,可以改为每周备份一次。文档类的配置项变更机率相对较小,建议每周备份一次。具体的备份方法,可以采用手工方式执行备份操作,也可以在工具软件或操作系统中设定备份策略,定期自动执行备份操作,同时配置管理员应做好相应的备份记录工作。
由于配置工具软件本身一般都提供对每一个配置项历史版本的追溯机制,因此对配置库的备份操作,一般只需对当前配置库的内容进行备份即可。这里需要注意的一点是,在执行配置库的备份操作之前,应对配置库目录中的数据是否正常进行检查,以避免因库文件损坏而使错误数据覆盖正常备份库,从而导致配置项丢失的情况出现。
4、经验总结
在软件系统投入运行之时,应对配置库进行整理和提炼,形成从项目启动到系统运行阶段,涵盖项目管理、软件开发、系统集成等领域的一套完整的项目档案,随同软件系统正式交付给用户,并给予适当的培训和辅导,使用户能够快速有效地开展系统维护工作,为生产系统的稳定与可靠运行提供了保证。
如果配置工作流程制订得过于复杂,不具备可操作性,反而起不到应有的管理作用,因此在开展配置管理工作时,应以简单、有效、适合应用行业特点为基本准则,推进软件项目实施过程中的配置管理工作。
配置管理对象不仅于CMM/ISO9001体系规定的内容,凡是与项目实施有关的文档、代码或数据均应纳入配置管理,这样可以实现对项目实施中的每一项工作进行追溯,及时处理项目实施过程中出现的各类问题。