一种基于马尔可夫聚类的软件模块划分方法技术

技术编号:26303732 阅读:54 留言:0更新日期:2020-11-10 19:58
本发明专利技术提出了一种基于马尔可夫聚类的软件模块划分方法,首先将软件离散为功能集合,通过功能之间的数据流动形成功能关系矩阵,以功能之间直接流动的数据项数表征功能之间的紧密程度;然后以功能关系矩阵为对象,通过马尔可夫聚类形成自适应的模块划分方法。本发明专利技术通过上述操作实现了不用事先设定模块个数,快速稳定的软件功能模块划分。

【技术实现步骤摘要】
一种基于马尔可夫聚类的软件模块划分方法
本专利技术属于软件工程
,具体地说,涉及一种基于马尔可夫聚类的软件模块划分方法。
技术介绍
软件设计是软件全生命周期中一个非常重要的阶段。在软件设计中,一个重要的工作是进行模块的划分,将各个功能归入相应的功能模块中,形成软件架构。合理的模块划分可以优化软件系统架构,对于软件的开发、使用、维护都有十分重要的意义。软件的模块划分是围绕高内聚、低耦合的目标,对软件功能的一种组合。目前该工作大多仍依赖于设计人员的经验,划分结果不统一、划分结果缺乏依据。如何通过自动化的划分方法,在合理评估软件功能关系的前提下给出划分结果,是亟待解决的问题。现有技术中,如专利“一种软件模块划分方法,CN2016111403541”公开了一种基于粒子群算法的软件模块划分方法。该方法利用粒子群算法种群寻优的特性,对软件模块划分问题进行离散编码,通过优化获得软件模块划分的最优方案。该专利在模块划分中主要以代码中的方法、以及方法之间的调用关系为对象,建模过程较为复杂,且粒子群算法耗时较长。因此,有必要从功能及功能之间的本文档来自技高网...

【技术保护点】
1.一种基于马尔可夫聚类的软件模块划分方法,其特征在于,首先将软件离散为多个功能的功能集合F,然后通过功能集合F中的功能之间的数据流动形成功能关系矩阵R,最后以功能矩阵R为对象,通过马尔可夫聚类形成自适应的软件功能划分模块。/n

【技术特征摘要】
1.一种基于马尔可夫聚类的软件模块划分方法,其特征在于,首先将软件离散为多个功能的功能集合F,然后通过功能集合F中的功能之间的数据流动形成功能关系矩阵R,最后以功能矩阵R为对象,通过马尔可夫聚类形成自适应的软件功能划分模块。


2.如权利要求1所述的一种基于马尔可夫聚类的软件模块划分方法,其特征在于,所述将软件离散为多个功能的功能集合F的具体操作为:对于包含n个功能的软件,构建功能集合F={f1,f2,…,fn},其中fi(1≤i≤n)、fj(1≤j≤n)都是功能集合中的一个功能。


3.如权利要求2所述的一种基于马尔可夫聚类的软件模块划分方法,其特征在于,所述形成功能关系矩阵R的具体操作为:
首先设定功能关系矩阵R=(rij)n×n;
然后设定rij的值为w,所述w为功能fi与功能fj之间直接流动的数据项个数。


4.如权利要求3所述的一种基于马尔可夫聚类的软件模块划分方法,其特征在于,所述以功能矩阵R为对象,通过马尔可夫聚类形成自适应的软件功能划分模块具体操作为:
首先根据功能关系矩阵R构建概率矩阵P;
然后对概率矩阵P进行归一化,得到归一化后的概率矩阵P’;
接着对概率矩阵P’重复进行多次迭代、膨胀操作直到概率矩阵P’稳定;
最后完成聚类,得到...

【专利技术属性】
技术研发人员:王攀余志强刘翔谢敏杨晶
申请(专利权)人:成都飞机工业集团有限责任公司
类型:发明
国别省市:四川;51

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

1