CN117055849A - 一种基于大数据的软件模块划分方法及系统 - Google Patents
一种基于大数据的软件模块划分方法及系统 Download PDFInfo
- Publication number
- CN117055849A CN117055849A CN202311081143.5A CN202311081143A CN117055849A CN 117055849 A CN117055849 A CN 117055849A CN 202311081143 A CN202311081143 A CN 202311081143A CN 117055849 A CN117055849 A CN 117055849A
- Authority
- CN
- China
- Prior art keywords
- functional
- sub
- module
- elements
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 40
- 238000007621 cluster analysis Methods 0.000 claims abstract description 10
- 238000000638 solvent extraction Methods 0.000 claims description 14
- 230000009194 climbing Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 230000002068 genetic effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 15
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23211—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Physiology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种基于大数据的软件模块划分方法及系统,应用于计算机软件设计技术领域。该方法包括:根据软件的实现功能,生成对应数量的多个子功能元素;根据多个子功能元素之间的接口调用关系,得到功能关系矩阵;为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;根据分级后的所述功能关系矩阵,将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块;每个所述功能模块中包括所有分级对应的所述子功能元素。本申请实施例通过上述方法,在简单的聚类分析的基础上,尽可能提高了软件功能模块划分的稳定性,从而使得系统的划分更加合理。
Description
技术领域
本申请涉及计算机软件设计技术领域,尤其涉及一种基于大数据的软件模块划分方法及系统。
背景技术
在软件数据处理领域,常常需要根据功能设计不同的软件模块,而后基于软件模块设计具体的硬件或者软件系统等。而在软件模块的设计和划分中,一个功能模块需要尽可能集合多个子功能元素,即可以实现尽量多的子功能。且子功能元素之间的耦合需要尽可能地少,避免一个子功能元素的故障导致更多的子功能元素(或者更多的功能模块的故障)。而一些软件的划分算法又过于紧密复杂,在应用于高精度的系统层面时,其效益较高,但却难以应用于一些简单化的应用场景下的系统划分。而采用简单的算法,又难以将简单化的系统的功能模块划分到尽可能优。
发明内容
本申请实施例提供一种基于大数据的软件模块划分方法及系统,可以快速对简易的系统进行功能模块划分,且划分效益较高,实现了较高的划分性价比。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种基于大数据的软件模块划分方法,该方法包括:
根据软件的实现功能,生成对应数量的多个子功能元素;
根据多个子功能元素之间的接口调用关系,得到功能关系矩阵;
为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;
根据分级后的所述功能关系矩阵,将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块;每个所述功能模块中包括所有分级对应的所述子功能元素。
在本申请实施例中,根据接口调用关系,可以得到不同的子功能元素之间对应的调用关联,根据调用关联确定功能关系矩阵。而后,可以对每个子功能元素设定对应的权重,该权重即对应着不同的分级,分级越高的子功能元素,对应的权重越高。越高的权重,代表着该子功能元素相关的接口关系越多、功能事物重要性越大等等。根据分级的权重、接口关系等等,可以对多个子功能模块进行聚类,最终得到聚类后的多个功能模块。通过划分出的功能模块对软件和/或硬件进行设计。
在一种可能的实施方式中,在一个所述功能模块中,不同级之间的子功能元素之间的接口数量最少。
在一种可能的实施方式中,所述将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块,包括:
计算每一个所述子功能元素的失效概率;根据分级后的所述功能关系矩阵,以及每个所述子功能元素的失效概率,将一个或多个所述子功能元素划分为一个所述功能模块以得到多个所述功能模块。
在一种可能的实施方式中,在一个所述功能模块中,不同级之间的所述子功能元素之间的总失效概率最低。
在一种可能的实施方式中,所述不同类型包括事物类型,关联深度、关联次数。
在一种可能的实施方式中,所述根据多个子功能元素之间的接口调用关系,得到功能关系矩阵,包括:
在每个所述子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据所述起始接口点和所述终止接口点获取每个所述子功能元素之间对应的接口调用关系,得到所述功能关系矩阵。
在一种可能的实施方式中,采用马尔可夫聚类方法对所述子功能元素进行聚类分析,以得到多个所述功能模块。
在一种可能的实施方式中,对所述聚类分析进行结果优化;所述结果优化采用遗传算法或爬山算法。
第二方面,本申请实施例还提供了一种基于大数据的软件模块划分系统,该基于大数据的软件模块划分系统包括子功能生成模块、接口调用查询模块、矩阵分级模块和划分模块;其中,
所述子功能生成模块用于,根据设定需求生成子功能集合;所述子功能集合中包括多个子功能元素;每个所述子功能元素对应需要实现的一种软件功能;
所述接口调用查询模块用于,在每个所述子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据所述起始接口点和所述终止接口点获取每个所述子功能元素之间对应的接口调用关系,得到所述功能关系矩阵;
所述矩阵分级模块用于,为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;
所述划分模块用于,根据所述接口调用关系、每个所述子功能元素的失效概率和每个所述子功能元素的事务类型中的至少一个参数,将分级后的所述功能关系矩阵划分为多个功能模块。
第三方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,当所述指令在如第二方面所记载的基于大数据的软件模块划分系统上运行时,使得所述系统执行如第一方面所记载的基于大数据的软件模块划分方法。
关于第二方面和第三方面的有益效果,可以参考第一方面的有益效果,故不再赘述。
附图说明
图1为本申请实施例提供的一种基于大数据的软件模块划分系统的结构示意图;
图2为本申请实施例提供的一种基于大数据的软件模块划分方法的流程示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
需要说明的是,本申请实施例涉及的术语“第一”、“第二”等仅用于区分同一类型特征的目的,不能理解为用于指示相对重要性、数量、顺序等。
本申请实施例涉及的术语“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例涉及的术语“耦合”、“连接”应做广义理解,例如,可以指物理上的直接连接,也可以指通过电子器件实现的间接连接,例如通过电阻、电感、电容或其他电子器件实现的连接。
首先对本申请实施例涉及的一些基础概念进行解释说明:
在软件数据处理领域,常常需要根据功能设计不同的软件模块,而后基于软件模块设计具体的硬件或者软件系统等。而在软件模块的设计和划分中,一个功能模块需要尽可能集合多个子功能元素,即可以实现尽量多的子功能。且子功能元素之间的耦合需要尽可能地少,避免一个子功能元素的故障导致更多的子功能元素(或者更多的功能模块的故障)。
例如在硬件设计层面,需要根据软件功能设计对应的硬件系统,以实现对应的系统功能,而若没有合理划分某一功能模块,使得在某一硬件故障时,其他硬件也无法工作,从而使得系统整体瘫痪。
例如在软件设计层面,某一功能模块对应出现故障,导致基于其需要跳转引用的代码也无法执行,使得软件运行滞涩、运行错误或者无法执行。
因此,针对功能进行软件功能模块的划分很有必要。而一些软件的划分算法又过于紧密复杂,在应用于高精度的系统层面时,其效益较高,但却难以应用于一些简单化的应用场景下的系统划分。而采用简单的算法,又难以将简单化的系统的功能模块划分到尽可能优。
本申请实施例提供了一种基于大数据的软件模块划分系统,如图1所示,该基于大数据的软件模块划分系统100包括子功能生成模块10、接口调用查询模块20、矩阵分级模块30和划分模块40;其中,
子功能生成模块10用于,根据设定需求生成子功能集合;子功能集合中包括多个子功能元素;每个子功能元素对应需要实现的一种软件功能;
接口调用查询模块20用于,在每个子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据起始接口点和终止接口点获取每个子功能元素之间对应的接口调用关系,得到功能关系矩阵;
矩阵分级模块30用于,为不同类型的子功能元素设定不同的权重值,根据权重值对功能关系矩阵进行分级;
划分模块40用于,根据接口调用关系、每个子功能元素的失效概率和每个子功能元素的事务类型中的至少一个参数,将分级后的功能关系矩阵划分为多个功能模块。
在本申请实施例中,根据接口调用关系,可以得到不同的子功能元素之间对应的调用关联,根据调用关联确定功能关系矩阵。而后,可以对每个子功能元素设定对应的权重,该权重即对应着不同的分级,分级越高的子功能元素,对应的权重越高。越高的权重,代表着该子功能元素相关的接口关系越多、功能事物重要性越大等等。根据分级的权重、接口关系等等,可以对多个子功能模块进行聚类,最终得到聚类后的多个功能模块。通过划分出的功能模块对软件和/或硬件进行设计。
本申请实施例还提供了一种基于大数据的软件模块划分方法,如图2所示,该方法包括:
S110、根据软件的实现功能,生成对应数量的多个子功能元素。
在一些可能的实施方式中,如图1所示,子功能生成模块10根据设定需求生成子功能集合;子功能集合中包括多个子功能元素;每个子功能元素对应需要实现的一种软件功能。
S120、根据多个子功能元素之间的接口调用关系,得到功能关系矩阵。
在一些可能的实施方式中,如图1所示,接口调用查询模块20在每个子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据起始接口点和终止接口点获取每个子功能元素之间对应的接口调用关系,得到功能关系矩阵。
示例性地,根据个子功能元素之间的接口调用关系,得到功能关系矩阵的具体操作包括:
在每个子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据起始接口点和终止接口点获取每个子功能元素之间对应的接口调用关系,得到功能关系矩阵。
S130、为不同类型的子功能元素设定不同的权重值,根据权重值对功能关系矩阵进行分级。
在一些可能的实施方式中,如图1所示,矩阵分级模块30为不同类型的子功能元素设定不同的权重值,根据权重值对功能关系矩阵进行分级。
在一些可能的实施方式中,不同类型包括事物类型,关联深度、关联次数。
S140、根据分级后的功能关系矩阵,将一个或多个子功能元素划分为一个功能模块以得到多个功能模块;每个功能模块中包括所有分级对应的子功能元素。
示例性地,在一个功能模块中,不同级之间的子功能元素之间的接口数量最少。
在本申请实施例中,通过将一个功能模块中的不同级的子功能元素的接口数量通过聚类分析设置为最少。接口数量对应着该模块与其他模块之间的关联深度和关联数量。则在单个功能模块中,某一个子功能元素出现故障时,单个子功能元素之间出现故障的概念会最小,则单个功能模块的稳定性更高。
示例性地,在多个功能模块之间,两两功能模块之间的接口数量最少。
在本申请实施例中,通过将两两功能模块之间的接口数量通过聚类分析设置为最少。接口数量对应着该模块与其他模块之间的关联深度和关联数量。则在多个功能模块之间,某一个功能模块出现故障时,其他功能模块因此出现故障的概念会最小,则系统的整体稳定性会更高。
在一些可能的实施方式中,上述将一个或多个子功能元素划分为一个功能模块以得到多个功能模块,包括:计算每一个子功能元素的失效概率;根据分级后的功能关系矩阵,以及每个子功能元素的失效概率,将一个或多个子功能元素划分为一个功能模块以得到多个功能模块。
在本申请实施例中,通过计算失效概率,在基于关联关系的基础上,有的关联关系并不会导致两个接口对应的子功能模块存在一方故障而另一方也故障的问题。有的关联关系则会存在一方故障导致另一方故障的风险。根据确定失效概率,而后基于接口关系,可以使得系统的功能模块划分更合理,划分的模块更稳定。
示例性地,可以采用马尔可夫聚类方法对子功能元素进行聚类分析,以得到多个功能模块。
示例性地,在采用马尔可夫聚类方法进行聚类分析的过程中,还可以对聚类分析结果进行迭代,以得到更优的效果。
可选地,进行迭代的结果优化算法可以采用遗传算法或爬山算法。
在本申请实施例中,爬山法是一种能够快速发现一个次优聚类结果的搜索策略。其将从聚类分析后的一个随机的划分中开始反复搜索该划分的邻近更优划分结果,直到找不到更优的划分结果为止。通过爬山法可以实现自动优化收敛。而遗传算法被广泛用于解决传统的搜索问题,与爬山法相比,它能够避免陷入局部最优解。两种方法各有优点,可以根据实际的应用情况进行选取。
在一些可能的实施方式中,如图3所示,本申请实施例提供了一种电子设备1000。该电子设备1000中包括处理器A和存储器B。处理器A包括如上图1所示的软件模块划分系统100。存储器B中包括计算机可读存储介质,该计算机可读存储介质上包括指令;当指令在上述电子设备1000上运行时,使得电子设备1000的执行如上图2的方法。
本申请实施例涉及的处理器可以是一个芯片。例如,可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specificintegrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(networkprocessor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(microcontroller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例涉及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个设备,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个设备中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (3)
1.一种基于大数据的软件模块划分方法,其特征在于,包括:
根据软件的实现功能,生成对应数量的多个子功能元素;
根据多个子功能元素之间的接口调用关系,得到功能关系矩阵,包括:
在每个所述子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据所述起始接口点和所述终止接口点获取每个所述子功能元素之间对应的接口调用关系,得到所述功能关系矩阵;
为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;
根据分级后的所述功能关系矩阵,将一个或多个所述子功能元素划分为一个功能模块以得到多个功能模块;每个所述功能模块中包括所有分级对应的所述子功能元素,包括:
计算每一个所述子功能元素的失效概率;根据分级后的所述功能关系矩阵,以及每个所述子功能元素的失效概率,将一个或多个所述子功能元素划分为一个所述功能模块以得到多个所述功能模块;
在一个所述功能模块中,不同级之间的子功能元素之间的接口数量最少;
在一个所述功能模块中,不同级之间的所述子功能元素之间的总失效概率最低;
所述不同类型包括事物类型,关联深度、关联次数;
采用马尔可夫聚类方法对所述子功能元素进行聚类分析,以得到多个所述功能模块;
对所述聚类分析进行结果优化;所述结果优化采用遗传算法或爬山算法。
2.一种基于大数据的软件模块划分系统,其特征在于,包括子功能生成模块、接口调用查询模块、矩阵分级模块和划分模块;其中,
所述子功能生成模块用于,根据设定需求生成子功能集合;所述子功能集合中包括多个子功能元素;每个所述子功能元素对应需要实现的一种软件功能;
所述接口调用查询模块用于,在每个所述子功能元素对应的代码的起始位置处和终结位置处分别设置起始接口点和终止接口点;根据所述起始接口点和所述终止接口点获取每个所述子功能元素之间对应的接口调用关系,得到所述功能关系矩阵;
所述矩阵分级模块用于,为不同类型的所述子功能元素设定不同的权重值,根据所述权重值对所述功能关系矩阵进行分级;
所述划分模块用于,根据所述接口调用关系、每个所述子功能元素的失效概率和每个所述子功能元素的事务类型中的至少一个参数,将分级后的所述功能关系矩阵划分为多个功能模块。
3.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在如权利要求2所述的基于大数据的软件模块划分系统上运行时,使得所述系统执行如权利要求1所述的基于大数据的软件模块划分方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311081143.5A CN117055849A (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310242545.2A CN116431107B (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
CN202311081143.5A CN117055849A (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310242545.2A Division CN116431107B (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055849A true CN117055849A (zh) | 2023-11-14 |
Family
ID=87084581
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311081143.5A Withdrawn CN117055849A (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
CN202310242545.2A Active CN116431107B (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310242545.2A Active CN116431107B (zh) | 2023-03-14 | 2023-03-14 | 一种基于大数据的软件模块划分方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117055849A (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59903732D1 (de) * | 1999-04-20 | 2003-01-23 | Siemens Ag | Verfahren zum Testen der Unabhängigkeit und Verträglichkeit eines Software-Moduls |
CN103235877B (zh) * | 2013-04-12 | 2016-04-06 | 北京工业大学 | 机器人控制软件模块划分方法 |
CN104461503B (zh) * | 2014-11-06 | 2018-09-11 | 华自科技股份有限公司 | 动态组成软件界面的方法与系统 |
KR20170045981A (ko) * | 2015-10-20 | 2017-04-28 | 한국전자통신연구원 | 소프트웨어를 포함한 시스템 및 이의 무중단 업그레이드 방법 |
CN109710340B (zh) * | 2019-01-18 | 2022-03-25 | 北京顺丰同城科技有限公司 | 软件工具调用方法及装置、软件工具封装方法及装置 |
CN110825350A (zh) * | 2019-09-16 | 2020-02-21 | 北京银企融合技术开发有限公司 | 软件产品的功能需求变更方法、系统 |
CN111475295B (zh) * | 2020-04-03 | 2024-02-20 | 上海依图网络科技有限公司 | 软硬件分层管理方法、装置及计算机可读存储介质 |
CN111913690A (zh) * | 2020-06-15 | 2020-11-10 | 成都飞机工业(集团)有限责任公司 | 一种基于马尔可夫聚类的软件模块划分方法 |
CN111857663B (zh) * | 2020-07-17 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
CN113253978A (zh) * | 2020-12-31 | 2021-08-13 | 深圳怡化电脑股份有限公司 | 嵌入式软件开发方法、模型、电子设备和介质 |
CN113254232A (zh) * | 2021-06-01 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 软件模块化方法、系统、装置、设备及计算机存储介质 |
-
2023
- 2023-03-14 CN CN202311081143.5A patent/CN117055849A/zh not_active Withdrawn
- 2023-03-14 CN CN202310242545.2A patent/CN116431107B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116431107A (zh) | 2023-07-14 |
CN116431107B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930780B (zh) | 数据查询方法及系统 | |
EP3236365A1 (en) | Data query method and device | |
CN112800287B (zh) | 基于图数据库的全文索引方法和系统 | |
EP2713555B1 (en) | Data configuration method and device, and rollback method and device for data configuration | |
CN103488526A (zh) | 在分布式系统中锁定业务资源的系统和方法 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN107636655B (zh) | 实时提供数据即服务(DaaS)的系统和方法 | |
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN112069169A (zh) | 区块数据存储方法、装置、电子设备及可读存储介质 | |
CN109388614A (zh) | 一种目录文件个数配额的方法、系统及设备 | |
JP5731015B2 (ja) | データベースシステム及びデータベース管理方法 | |
CN110929218A (zh) | 一种差异最小化随机分组方法及系统 | |
US20150278543A1 (en) | System and Method for Optimizing Storage of File System Access Control Lists | |
CN116431107B (zh) | 一种基于大数据的软件模块划分方法及系统 | |
CN112632116B (zh) | 一种k-db数据库多节点集群调度的方法、系统、设备及介质 | |
CN105868210A (zh) | 一种分布式数据库中唯一索引的创建方法和装置 | |
CN108846009B (zh) | 一种ceph中副本数据存储方法及装置 | |
CN107305581B (zh) | 分布式数据库系统中的表连接方法及分布式数据库系统 | |
CN114020525A (zh) | 故障隔离方法、装置、设备及存储介质 | |
CN109327520B (zh) | 建立终端与服务器节点连接的方法及装置 | |
CN107066247B (zh) | 补丁查询方法以及装置 | |
CN114692191A (zh) | 一种数据脱敏方法、装置及存储系统 | |
CN111885159A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN105718485A (zh) | 一种将数据录入数据库的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20231114 |