通过不断的记录状态报告可以更好地进行变更统计分析,有效地控制软件配置项,因此可以全面地报告软件开发进展状况。
配置状态报告
记载软件配置管理活动的信息和软件基线(项目储存库中每个工件版本在特定时期的一个“快照”)内容的标准报告,能及时、准确地给出软件配置项的当前状态,方便相关的个体或团队进行查看使用,同时报告软件开发活动的进展状况。
- 英文名称
- configuration status accounting
- 所属学科
- 计算机科学技术
配置状态报告与配置管理、配置管理工具密切相关。早期的软件变更只追求功能完善或bug修复。但是对于变更过程中所做的修改和变更后所导致的其他问题,一般不做详细的记录。从而导致后继软件开发人员,因缺乏对之前各项软件配置项变更缘由的了解,无法快速地融入开发过程。甚至当软件出现变更错误时,由于缺少必要的变更记录信息,无法将软件版本回溯到之前稳定版本。早期软件配置状态报告主要集中在本地模式,其中具有代表性的配置管理工具为CCC、SCCS和RCS。这些工具仅限于控制变更和配置的概念,并没有着重考虑到配置状态报告。但是,它们给配置管理工具的发展奠定了良好的基础,此后的大部分配置管理工具基本上都是源于它们的设计思想和体系架构。
中期由于软件开发规模越来越大,涉及企业级、跨平台的协作。配置管理工具也发展为客户端-服务器模式,随着软件配置项数目的急速增长,配置状态报告越来越受到重视。其中ClearCase是应用面最广的配置管理工具之一,其提供了比较全面的配置管理支持,包括版本控制、工作空间管理、Build管理等。
后期随着软件功能变得异常复杂,开发人员也从单一的小组形式,增加到几十人甚至上百人的开发团队形式。整个过程涉及资源配置、功能设定、子模块甚至区域划分等方面。如果没有详细的历史记录,很可能当出现微小的变更错误时,软件研发人员无法及时发现,将对软件整体性能产生较大的影响。这个阶段具有代表性的软件管理工具是Hansky公司的Firefly,它可以轻松地管理、维护整个企业的软件资产,包括程序代码和相关文档,可以自动、安全地保存代码的每一次变化内容,避免代码被无意覆盖或修改。项目管理人员利用此工具可以有效地组织开发力量进行并行异地开发、管理项目中各阶段点的各种资源,使得产品发布易于管理,而且也可以快速地将软件回溯到任一个软件历史版本。系统管理员使用内置工具可以方便地进行存储库的备份和恢复。由此,后期的软件开发过程中,配置状态报告也得到了越来越多的重视并应用在软件开发的方方面面,特别是为不同角色的使用者(软件开发者、项目管理人员和系统管理员等)提供不一样的报告形式,使得不同的使用者可以有针对性地了解特定信息。例如,当前比较流行的配置管理工具Github和BitBucket。它们具备不同的配置状态报告形式。Github着重于协作图谱(报表)、代码片段分享等。BitBucket着重于Bug修复的跟踪和RSS报告的输出等。
配置状态报告通过支持创建和修改记录,管理并报告配置项的状态或需求变化并审核这些变化。它提供用户需要的功能,跟踪任意模式的软件项,提供完整的各种变更的历史版本和汇总信息。配置状态报告对于大型开发项目的成功起着至关重要的作用。它提高了所有开发人员之间的通信能力,尽量避免出现软件配置不一致或冲突情况的发生。每次新分配一个配置项、更新已有配置项或标识、变更审计、变更顺序、变更申请被变更控制负责人批准等等,都应在配置状态报告中逐一增加变更记录。配置状态报告也可以被记录在联机数据库中,以便开发或者维护人员进行查询或修改,新记录加入或变更也应当及时通知给管理人员和其他相关工程师。一份完整的配置状态报告涉及如下六项内容:①各变更请求概要。变更请求号、日期、申请人、状态、估计工作量、实际工作量、发行版本、变更结束日期。②基线库状态。③软件版本发行信息。④所有软件涉及文件的备份信息。⑤配置管理工具状态。⑥配置管理培训状态。
配置状态报告提供配置项的状态信息,以反映项目的进展情况,同时可以根据配置项的操作记录对开发团队的工作关系进行相应的分析。随着配置工具的发展,配置状态报告的形式和内容也有所不同。但原则上还是定期进行各项变更的详细记录,并且保持客观性。
随着软件自动化技术、人工智能和大数据技术的发展,配置状态报告的形式也发生了变化。配置状态报告更加向智能化、自动化、精确化、人性化和图形化的方向发展。结合人工智能技术,配置状态报告能够自动地分类软件配置变更情况(如软件错误修正、功能增加和功能变更等),并且分门别类地展示每次变更所涉及的内容、影响范围、异常信息等统计数据。结合大数据分析等相关技术,配置状态报告可以精确地预测并分析每次变更可能存在的潜在性问题等。
扩展阅读
- 董越.未雨绸缪:理解软件配置管理. 2版.北京:电子工业出版,2013.
- 苏帕拉马尼亚姆,亨特,钱安川,等.高效程序员的45个习惯:敏捷开发修炼之道(修订版). 2版.北京:人民邮电出版社,2014.
- 韩万江,姜立新.软件项目管理案例教程.2版.北京:机械工业出版社,2009.
- 倪晓峰,赵文耘,张捷.构件软件配置管理以及其版本控制技术研究.计算机工程与应用,2008,41(2):94-96.
- 谷炼.软件配置管理的最佳实践经验基于任务的软件配置管理解决方案.程序员,2004(11),124-126.