论文部分内容阅读
随着信息技术的进步和应用范围的扩大,越来越多的软件系统面临升级改造的迫切需求,增强型项目逐步取代全新开发项目成为软件项目的主流。由于在保证现有系统稳定、快速响应变更响应和成本投入等方面的制约,软件开发生命周期中的不同活动在增强型项目中都面临着新的挑战,其中也包括源代码分析和管理。源代码作为软件开发活动最重要的产物和生产资料,它是否得到了有效的分析和管理,对开发活动的效率高低有着重要的影响。为了克服增强型项目为源代码分析管理带来的挑战,在保证软件的客户价值不受损害和持续提高软件开发活动效率之间取得统一,最终提高增强型项目成功率,我们需要寻找一种有效的方法论来指导增强型项目执行中的源代码分析管理问题的分析和解决。 精益软件开发就是我们找到的方法论。它与精益生产理论一脉相承,强调以客户价值为核心关注,消除过程中的浪费,持续改进过程活动效率。精益软件开发原则和方法为分析和解决增强型项目执行中的源代码分析管理问题提供了统一的思想与方法指导,在提高开发活动效率的同时保证客户价值和可持续性。 本文以增强型项目执行过程为线索,围绕其中的立项评估、设计评审、开发、缺陷检测和交付等不同阶段,重点关注源代码分析管理的挑战,运用精益软件开发的原则和方法寻找解决方案,完成了以下一些主要工作和创新: 提出源代码合规性概念:结合增强型项目的合规性要求,扩展增强型项目需要实施的源代码规范,提出广义的源代码合规性概念和相关检测规则模型,建立了将源代码规范转化为具体检测规则的分析框架; 提出基于度量空间的相似代码检测方法:针对不同相似代码检测方法在增强型项目中的效率和可持续性挑战,提出了基于度量空间的检测方法。新的方法因为分离了查询过程与度量空间构建,检测效率好于传统的基于语法结构解析的方法;同时,易于获取的相似性度量能更主动地预防相似代码的产生; 改进传统搜索引擎技术以支持源代码搜索:针对软件开发中不同的源代码搜索场景,对传统搜索引擎技术进行扩展和改造以提高源代码搜索结果集的可用性。包括增加源代码语法结构和语义相关的搜索支持、引入对高维度向量空间更加健壮的BM25信息模型以提高长查询结果集的准确性; 提出基于有向图的内存泄漏检测方法:针对增强型项目中常见但普通功能测试难以检测的内存泄露问题,提出了一种基于有向图的方法,在避免对现有系统运行造成影响的前提下提高检测效率,同时确立了一系列规则作为评估内存泄露的指标; 改进价值流匹配工具以指导发布工程的实施:改进价值流图工具来帮助发现和评估增强型项目发布流程中的浪费,展现过程改进活动的投入效益比较来评估改进机会优先级,使发布工程实施的范围和内容更加明确可行; 此外,现有精益软件开发理论研究大多关注于整体开发流程改进。本文通过在具体软件开发活动问题中应用精益软件开发方法和工具,为精益软件开发理论提供了更具体的实践检验。 综上所述,本文以精益软件开发思想为指导,围绕如何有效利用源代码改进开发效率,提高增强型项目成功率的核心问题,为源代码分析管理在增强型软件项目执行过程不同阶段存在的问题提出了相应解决方案,并通过实践检验了它们的可行性。随着敏捷开发和互联网的兴起,软件开发生命周期变得越来越灵活,开发活动之间的联系与协调也越来越紧密与复杂,增强型项目在这个过程中还会遇到更多和更大的挑战,本文的工作可以为后续研究提供有益参考。