软件系统的复杂度评估方法技术方案

技术编号:39649053 阅读:10 留言:0更新日期:2023-12-09 11:17
本申请公开了一种软件系统的复杂度评估方法

【技术实现步骤摘要】
软件系统的复杂度评估方法、装置、设备及存储介质


[0001]本专利技术涉及软件开发
,特别涉及一种软件系统的复杂度评估方法

装置

设备及存储介质


技术介绍

[0002]在软件开发过程中,了解和评估软件系统的复杂度是非常重要的

软件系统的复杂性可能会导致设计和迭代过程中出现问题,导致增加项目的风险和成本

因此,开发人员需要一种准确的方法来度量软件系统的复杂度并为架构设计和系统迭代提供决策依据

虽然已有的实现方案提供了一些方法来评估软件系统的复杂度,但它们可能存在一定的局限性

[0003]因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题


技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种软件系统的复杂度评估方法

装置

设备及存储介质,能够更全面地评估软件系统的复杂程度,并帮助开发人员做出更准确的架构设计和系统迭代决策

其具体方案如下:
[0005]第一方面,本申请公开了一种软件系统的复杂度评估方法,包括:
[0006]确定目标软件系统,并对所述目标软件系统进行拆解以识别所述目标软件系统中的原子

依赖以及结构;其中,所述原子为所述目标软件系统中所有的实体原子的集合;所述依赖为所述目标软件系统中所有的依赖关系的集合;所述结构为所述目标软件系统中所有的分解关系的集合;
[0007]利用预设信息熵计算规则分别计算所述原子

所述依赖以及所述结构各自对应的信息熵;
[0008]基于所述原子

所述依赖以及所述结构各自对应的信息熵确定目标软件系统的信息熵,并基于所述目标软件系统的信息熵进行相应的复杂度评估

[0009]可选地,所述预设信息熵计算规则包括第一预设信息熵计算规则

第二预设信息熵计算规则和第三预设信息熵计算规则;
[0010]相应的,所述利用预设信息熵计算规则分别计算所述原子

所述依赖以及所述结构各自对应的信息熵,包括:
[0011]利用所述第一预设信息熵计算规则计算所述原子的信息熵;
[0012]利用所述第二预设信息熵计算规则计算所述依赖的信息熵;
[0013]利用所述第三预设信息熵计算规则计算所述结构的信息熵

[0014]可选地,所述利用所述第一预设信息熵计算规则计算所述原子的信息熵,包括:
[0015]确定所述目标软件系统中的当前业务流程;
[0016]获取所述当前业务流程中每个流程节点的节点内部函数

节点输入字段以及节点
输入属性;
[0017]利用预先为所述节点内部函数

所述节点输入字段以及所述节点输入属性各自分配的第一度量指标,计算所述节点内部函数的信息熵

所述节点输入字段的信息熵和所述节点输入属性的信息熵;
[0018]基于所述节点内部函数的信息熵

所述节点输入字段的信息熵和所述节点输入属性的信息熵,根据所述原子的数据层级结构计算所述原子的信息熵

[0019]可选地,所述利用所述第二预设信息熵计算规则计算所述依赖的信息熵,包括:
[0020]确定所述目标软件系统中的当前业务流程;
[0021]根据所述当前业务流程获取各流程节点之间的数据依赖关系;
[0022]利用预先为所述数据依赖关系分配的第二度量指标计算与所述数据依赖关系对应的强度数据;
[0023]基于所述强度数据利用香农信息熵公式计算所述依赖的信息熵

[0024]可选地,所述利用所述第三预设信息熵计算规则计算所述结构的信息熵,包括:
[0025]确定所述目标软件系统中的当前业务流程;
[0026]获取用于表征串行执行所述当前业务流程的串行线

用于表征并行执行所述当前业务流程的并行线以及所述当前业务流程中的事务项;
[0027]利用预先为所述串行线

所述并行线以及所述事务项各自分配的第三度量指标,计算与所述串行线

所述并行线以及所述事务项各自对应的信息熵;
[0028]将所述串行线

所述并行线以及所述事务项各自对应的信息熵进行求和以得到所述结构的信息熵

[0029]可选地,所述基于所述原子

所述依赖以及所述结构各自对应的信息熵确定目标软件系统的信息熵,并基于所述目标软件系统的信息熵进行相应的复杂度评估,包括:
[0030]利用预设贡献度调整规则为所述原子

所述依赖以及所述结构各自对应的信息熵分配相应的权重常量,以得到各自分配后的对应的信息熵;
[0031]将所述分配后的对应的信息熵进行求和,以得到所述目标软件系统的信息熵,并基于所述目标软件系统的信息熵进行相应的复杂度评估

[0032]可选地,所述的软件系统的复杂度评估方法,还包括:
[0033]向所述目标软件系统中添加用于选择开发类型的软件开发接口;
[0034]通过所述软件开发接口选择利用领域特定语言或人工智能执行所述软件系统的复杂度评估方法

[0035]第二方面,本申请公开了一种软件系统的复杂度评估装置,包括:
[0036]系统拆解模块,用于确定目标软件系统,并对所述目标软件系统进行拆解以识别所述目标软件系统中的原子

依赖以及结构;其中,所述原子为所述目标软件系统中所有的实体原子的集合;所述依赖为所述目标软件系统中所有的依赖关系的集合;所述结构为所述目标软件系统中所有的分解关系的集合;
[0037]信息熵计算模块,用于利用预设信息熵计算规则分别计算所述原子

所述依赖以及所述结构各自对应的信息熵;
[0038]复杂度评估模块,用于基于所述原子

所述依赖以及所述结构各自对应的信息熵确定目标软件系统的信息熵,并基于所述目标软件系统的信息熵进行相应的复杂度评估

[0039]第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的软件系统的复杂度评估方法

[0040]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的软件系统的复杂度评估方法

[0041]本申请提供了一种软件系统的复杂度评估方法,包括:确定目标软件系统,并对所述目标软件系统进行拆解以识别所述目标软件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种软件系统的复杂度评估方法,其特征在于,包括:确定目标软件系统,并对所述目标软件系统进行拆解以识别所述目标软件系统中的原子

依赖以及结构;其中,所述原子为所述目标软件系统中所有的实体原子的集合;所述依赖为所述目标软件系统中所有的依赖关系的集合;所述结构为所述目标软件系统中所有的分解关系的集合;利用预设信息熵计算规则分别计算所述原子

所述依赖以及所述结构各自对应的信息熵;基于所述原子

所述依赖以及所述结构各自对应的信息熵确定目标软件系统的信息熵,并基于所述目标软件系统的信息熵进行相应的复杂度评估
。2.
根据权利要求1所述的软件系统的复杂度评估方法,其特征在于,所述预设信息熵计算规则包括第一预设信息熵计算规则

第二预设信息熵计算规则和第三预设信息熵计算规则;相应的,所述利用预设信息熵计算规则分别计算所述原子

所述依赖以及所述结构各自对应的信息熵,包括:利用所述第一预设信息熵计算规则计算所述原子的信息熵;利用所述第二预设信息熵计算规则计算所述依赖的信息熵;利用所述第三预设信息熵计算规则计算所述结构的信息熵
。3.
根据权利要求2所述的软件系统的复杂度评估方法,其特征在于,所述利用所述第一预设信息熵计算规则计算所述原子的信息熵,包括:确定所述目标软件系统中的当前业务流程;获取所述当前业务流程中每个流程节点的节点内部函数

节点输入字段以及节点输入属性;利用预先为所述节点内部函数

所述节点输入字段以及所述节点输入属性各自分配的第一度量指标,计算所述节点内部函数的信息熵

所述节点输入字段的信息熵和所述节点输入属性的信息熵;基于所述节点内部函数的信息熵

所述节点输入字段的信息熵和所述节点输入属性的信息熵,根据所述原子的数据层级结构计算所述原子的信息熵
。4.
根据权利要求2所述的软件系统的复杂度评估方法,其特征在于,所述利用所述第二预设信息熵计算规则计算所述依赖的信息熵,包括:确定所述目标软件系统中的当前业务流程;根据所述当前业务流程获取各流程节点之间的数据依赖关系;利用预先为所述数据依赖关系分配的第二度量指标计算与所述数据依赖关系对应的强度数据;基于所述强度数据利用香农信息熵公式计算所述依赖的信息熵
。5.
根据权利要求2所述的软件系统的复杂度评估方法,其特征在于,所述利用所述第三预设信息熵计算规则计算所述结构的信息熵,包括:确定所述目标软件系统中的当前业...

【专利技术属性】
技术研发人员:龚少波张郑李恩浩林乃泉赵泽钰
申请(专利权)人:杭州时趣信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1