【技术实现步骤摘要】
一种特定项目软件代码知识管理平台及其构建方法
[0001]本专利技术属于软件工程与智能化软件开发与维护
,具体为一种特定项目软件代码知识管理平台及其构建方法。
技术介绍
[0002]随着软件产业和互联网行业的快速发展,很多企业在业务快速发展的同时也出现了存量代码所带来的一系列问题。由于开发和维护周期非常长并且伴随着新老开发人员的交替,很多软件在持续开发和维护的过程中相关的特定项目和领域知识并没有很好的积累下来。这会造成在软件代码持续累积的同时,代码的理解、新特性的添加、问题的定位以及代码质量的管理等开发维护活动都变得非常困难,这些问题已经成为很多企业非常大的痛点。另一方面,虽然软件文档是一种很好的知识累积的形式,但是由于开发者普遍忽视文档的撰写且软件文档不会带来实质性的短期收益,在实践中很少有软件项目能够真正形成一套完善的并且持续更新的文档。
[0003]事实上,软件代码知识的获取和更新问题已经引起了学术界和工业界的重视。学术界提出了按需文档生成(On
‑
Demand Documentatio ...
【技术保护点】
【技术特征摘要】
1.一种特定项目软件代码知识管理平台,其特征在于,其包括代码和知识映射模型、种子知识及追溯关系模块、代码自动知识抽取模块和代码质量检查反馈模块;其中:代码和知识映射模型,用于建立代码和知识之间的映射模式和规约,明确需要纳入平台管理的代码元素种类以及知识类型;其根据不同的知识类型分为三部分:领域术语表包括若干特定项目与领域术语知识,是平台的基础知识库,其映射于代码中的各种标识符的命名;业务知识库包括若干业务知识,其映射于代码中的包括方法调用、条件判断和属性状态修改在内的代码执行逻辑,用于支持代码理解和问题定位应用;规范知识库包括若干基于代码规范知识的规范模板,其映射于代码中相似的标识符命名、重复的分支语句以及类似功能的模板类模式化的实现,用于代码自动抽取模块的代码知识抽取和代码质量检查反馈模块的代码质量检查;种子知识及追溯关系模块,用于获取一些种子知识,建立这些种子知识与代码之间的初始追溯关系;种子知识包括一个初始的特定项目与领域术语表、一些业务知识以及一些基于代码规范知识的规范模板;代码自动抽取模块,其结合代码分析、模板匹配以及机器学习技术,采用自举的思想通过种子知识从代码中自动抽取所需要的知识,更新对应知识库,并建立新的追溯关系;代码质量检查反馈模块,其利用代码自动抽取模块更新后的规范模板检查代码中的质量问题并反馈给开发者进行修改。2.根据权利要求1所述的代码知识管理平台,其特征在于,种子知识及追溯关系模块中,首先通过专家知识提炼以及对现有文档的分析,获取一些种子知识,随后利用代码静态分析结合人工确认的方式建立这些种子知识与代码之间的初始追溯关系。3.根据权利要求1所述的代码知识管理平台,其特...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。