一种基于大数据的软件模块划分方法及系统技术方案

技术编号:38198032 阅读:13 留言:0更新日期:2023-07-21 16:36
本申请实施例公开了一种基于大数据的软件模块划分方法及系统,应用于计算机软件设计技术领域。该方法包括:根据软件的实现功能,生成对应数量的多个子功能元素;根据多个子功能元素之间的接口调用关系,得到功能关系矩阵;为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;根据分级后的所述功能关系矩阵,将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块;每个所述功能模块中包括所有分级对应的所述子功能元素。本申请实施例通过上述方法,在简单的聚类分析的基础上,尽可能提高了软件功能模块划分的稳定性,从而使得系统的划分更加合理。统的划分更加合理。统的划分更加合理。

【技术实现步骤摘要】
一种基于大数据的软件模块划分方法及系统


[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]图1为本申请实施例提供的一种基于大数据的软件模块划分系统的结构示意图;
[0028]图2为本申请实施例提供的一种基于大数据的软件模块划分方法的流程示意图;
[0029]图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0030]需要说明的是,本申请实施例涉及的术语“第一”、“第二”等仅用于区分同一类型
特征的目的,不能理解为用于指示相对重要性、数量、顺序等。
[0031]本申请实施例涉及的术语“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0032]本申请实施例涉及的术语“耦合”、“连接”应做广义理解,例如,可以指物理上的直接连接,也可以指通过电子器件实现的间接连接,例如通过电阻、电感、电容或其他电子器件实现的连接。
[0033]首先对本申请实施例涉及的一些基础概念进行解释说明:
[0034]在软件数据处理领域,常常需要根据功能设计不同的软件模块,而后基于软件模块设计具体的硬件或者软件系统等。而在软件模块的设计和划分中,一个功能模块需要尽可能集合多个子功能元素,即可以实现尽量多的子功能。且子功能元素之间的耦合需要尽可能地少,避免一个子功能元素的故障导致更多的子功能元素(或者更多的功能模块的故障)。
[0035]例如在硬件设计层面,需要根据软件功能设计对应的硬件系统,以实现对应的系统功能,而若没有合理划分某一功能模块,使得在某一硬件故障时,其他硬件也无法工作,从而使得系统整体瘫痪。
[0036]例如在软件设计层面,某一功能模块对应出现故障,导致基于其需要跳转引用的代码也无法执行,使得软件运行滞涩、运行错误或者无法执行。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于大数据的软件模块划分方法,其特征在于,包括:根据软件的实现功能,生成对应数量的多个子功能元素;根据多个子功能元素之间的接口调用关系,得到功能关系矩阵;为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;根据分级后的所述功能关系矩阵,将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块;每个所述功能模块中包括所有分级对应的所述子功能元素。2.根据权利要求1所述的方法,其特征在于,在一个所述功能模块中,不同级之间的子功能元素之间的接口数量最少。3.根据权利要求1所述的方法,其特征在于,所述将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块,包括:计算每一个所述子功能元素的失效概率;根据分级后的所述功能关系矩阵,以及每个所述子功能元素的失效概率,将一个或多个所述子功能元素划分为一个所述功能模块以得到多个所述功能模块。4.根据权利要求3所述的方法,其特征在于,在一个所述功能模块中,不同级之间的所述子功能元素之间的总失效概率最低。5.根据权利要求1所述的方法,其特征在于,所述不同类型包括事物类型,关联深度、关联次数。6.根据权利要求1所述的方法,其特征在于,所述根据多个子功能元素之间的接口调用关系,得到功能关系矩阵,包括:在每个所述子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据所述起始接口点和所述终止接口点获取每个所述子功能元素之间对应的接口调用关系,得到所述功能关...

【专利技术属性】
技术研发人员:许洋
申请(专利权)人:芜湖市桀蒲网络科技有限公司
类型:发明
国别省市:

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

1