1.一种软件开发平台的开发系统,其特征在于:包括采集模块、依赖关系模块、影响分析模块和反馈响应模块;
所述采集模块对采集代码库中的代码变更记录,包括新增、修改和删除的代码,同步进行提取变更代码中的函数、类、方法、常量和对象名称相关参数,通过统计和分析获取代码差异信息,组成代码变更集ΔC;
所述依赖关系模块根据代码变更集ΔC进行分析代码中的依赖关系,构建依赖关系图G,同时根据代码变更记录实时更新依赖关系图G;
所述影响分析模块根据依赖关系图G,计算代码变更的影响范围,包括对引用对象和子类的影响,获取代码变更单元的变更影响指数Idirect,同时与预设的代码影响评估阈值D进行匹配,获取代码变更影响评估策略方案;
所述反馈响应模块根据代码变更影响评估策略方案内容进行具体执行,包括更新数据、更新依赖关系图G和提示通知开发者。
2.根据权利要求1所述的一种软件开发平台的开发系统,其特征在于:所述采集模块包括触发单元和提取单元;
所述触发单元当代码库中的代码进行代码变更时触发采集操作,对采集代码库中的代码变更记录进行采集,包括新增、修改和删除的代码,包括使用Git和SVN进行代码变更的管理、记录和触发;
所述提取单元同步进行提取变更代码中的函数、类、方法、常量和对象名称相关参数,组成参数变更集Pdiff,同步统计和分析获取代码差异信息获取的更改版本的代码集Cnew和旧版本的代码集Cold,组成代码变更集ΔC。
3.根据权利要求2所述的一种软件开发平台的开发系统,其特征在于:其中,代码差异信息包括新增的代码、修改的代码、删除的代码和参数变更;
新增的代码包括新增的类、新增的方法、新增的常量和新增的对象名称;
修改的代码包括修改的类、修改的方法、修改的常量和修改的对象名称;
删除的代码包括删除的类、删除的方法、删除的常量和删除的对象名称;
参数变更包括变更的函数参数、变更的类成员、变更的常量值和变更的对象引用。
4.根据权利要求1所述的一种软件开发平台的开发系统,其特征在于:所述依赖关系模块包括依赖分析单元和依赖更新单元;
所述依赖分析单元根据代码变更集ΔC进行分析代码中的依赖关系,包括类之间、方法之间以及对象引用之间的依赖关系,将提取的依赖关系表示为依赖关系图和依赖关系树状图的形式,构建依赖关系图G,包括代码单元节点和依赖边集合代码单元之间的依赖关,其中,代码单元节点包括类、方法、常量和对象名称;
其中,分析代码包括使用JavaParser代码解析器和Clang代码解析器进行解析代码,提取依赖关系,包括类依赖、方法调用、继承关系、接口实现、成员变量、常量引用、实例化和参数传递。
5.根据权利要求4所述的一种软件开发平台的开发系统,其特征在于:所述依赖更新单元检测依赖关系图中的变化,获取依赖关系变更记录集ΔE,并标记代码变更的代码单元集合,同时根据代码变更记录实时更新依赖关系图G。
6.根据权利要求4所述的一种软件开发平台的开发系统,其特征在于:所述影响分析模块包括影响计算单元和评估策略单元;
所述影响计算单元根据依赖关系图G,计算代码变更的影响范围,包括对引用对象和子类的影响,获取代码变更单元的变更影响指数Idirect。
7.根据权利要求6所述的一种软件开发平台的开发系统,其特征在于:其中,所述评估策略单元通过预设的相关信息与需要的对比值进行匹配,包括与预设的代码影响评估阈值D进行匹配,获取代码变更影响评估策略方案。
8.根据权利要求6所述的一种软件开发平台的开发系统,其特征在于:其中,代码变更影响评估策略方案通过以下匹配方式获取:当变更影响指数Idirect<代码影响评估阈值D,获取代码变更影响无风险评估结果,不对代码变更开发者进行提示和通知;
当变更影响指数Idirect≥代码影响评估阈值D,获取代码变更影响风险评估结果,对代码变更开发者进行提示和通知;
当变更影响指数Idirect≥代码影响评估阈值D两倍时,获取代码变更影响预警评估结果,对代码变更开发者进行预警提示和预警通知,同时标记开发者。
9.根据权利要求1所述的一种软件开发平台的开发系统,其特征在于:所述反馈响应模块用于根据代码变更影响评估策略方案内容进行具体执行,包括更新数据、更新依赖关系图G和提示通知开发者;
其中,更新依赖关系图G包括进行修改、添加和删除依赖关系,依赖关系具体包括类A增加对类C的依赖,更新依赖关系图G进行添加(A,C)的依赖边;
提示通知开发者包括将代码变更影响评估策略方案内容,实时通知相关开发者,提示需要处理的变更影响内容,并记录开发者处理结果和变更处理状态。
10.一种软件开发平台的开发方法,应用于权利要求1~9任一项所述的一种软件开发平台的开发系统,其特征在于:包括以下步骤:步骤一:采集模块对采集代码库中的代码变更记录,包括新增、修改和删除的代码,同步进行提取变更代码中的函数、类、方法、常量和对象名称相关参数,通过统计和分析获取代码差异信息,组成代码变更集ΔC;
步骤二:依赖关系模块根据代码变更集ΔC进行分析代码中的依赖关系,构建依赖关系图G,同时根据代码变更记录实时更新依赖关系图G;
步骤三:影响分析模块根据依赖关系图G,计算代码变更的影响范围,包括对引用对象和子类的影响,获取代码变更单元的变更影响指数Idirect,同时与预设的代码影响评估阈值D进行匹配,获取代码变更影响评估策略方案;
步骤四:反馈响应模块根据代码变更影响评估策略方案内容进行具体执行,包括更新数据、更新依赖关系图G和提示通知开发者。