Software module division method based on Markov clustering

A software module and clustering technology, applied in software design, computer parts, character and pattern recognition, etc., can solve the problems of lack of division, time-consuming, inconsistent division results, etc., and achieve the effect of fast division process

Inactive Publication Date: 2020-11-10
CHENGDU AIRCRAFT INDUSTRY GROUP
View PDF3 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0004] Aiming at the problems in the prior art that the results of software function division are not uniform, the division lacks basis, and the division is complex and time-consuming, etc., the present invention proposes a software module division method based on Markov clustering. relationship, realizes the rapid division of software modules, and the division can be used as the basis for division analysis when the division results agree

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Software module division method based on Markov clustering
  • Software module division method based on Markov clustering
  • Software module division method based on Markov clustering

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0031] A software module division method based on Markov clustering. First, the software is discretized into a function set F of multiple functions, and then the functional relationship matrix R is formed through the data flow between the functions in the function set F. Finally, the function matrix R is the object, and an adaptive software function division module is formed through Markov clustering; the specific operation is:

[0032] Step S1. Discretize the software into a function set F of multiple functions: For software containing n functions, construct a function set F={f 1 , f 2 ,..., f n}, where f i (1≤i≤n), f j (1≤j≤n) is a function in the function set.

[0033] Step S2. Forming a functional relationship matrix R:

[0034] First set the functional relationship matrix R=(r ij ) n×n ;

[0035] then set r ij The value of w is the function f i with function f j The number of data items that flow directly between them.

[0036] Step S3. Taking the function mat...

Embodiment 2

[0042] In the present invention, on the basis of the above-mentioned embodiment 1, in order to better realize the present invention, further, the specific operation of constructing the probability matrix P is as follows:

[0043] First set the construction probability matrix P as P=(p ij ) n×n ;

[0044] Then to P ij Carry out value calculation, the specific value calculation method is, when i=j, P ij The value is 1, when i≠j, P ij value is r ij ;

[0045] Finally the P ij The calculated value probability matrix P=(p ij ) n×n , the probability matrix P is obtained.

[0046] The operation of performing normalization is specifically as follows:

[0047] Normalize the probability matrix P to obtain the normalized probability matrix P'=(p' ij ) n×n , where the P' ij The calculation process of is as follows: firstly, take the value of P in the range of 1 to n for i ij sum, then use P ij Divide by the summed value to get P'ij .

[0048] The specific operation of the ...

Embodiment 3

[0053] On the basis of any one of the above-mentioned embodiments 1-2, the present invention provides a specific example of actual division:

[0054] Such as figure 1 , figure 2 As shown, for the functions in the software, the specific module division steps are as follows:

[0055] Step 1. For software containing 30 functions, construct its function set F={f 1 , f 2 ,..., f 30}, where f i (1≤i≤30) is a function of the software.

[0056] Step 2. Construct functional relationship matrix R=(r ij ) n×n , r ij Indicates the number of data items that flow directly between functions, and its value follows the following rules:

[0057] r ij =w.

[0058] In the formula: w is f i and f j The number of data items that flow directly between

[0059] Get the functional relationship matrix of the software:

[0060]

[0061] Step 3. Construct probability matrix P=(p ij ) n×n ,in:

[0062]

[0063] Step 4. Normalize P to get P'=(p' ij ) n×n ,in:

[0064]

[0065...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention provides a software module division method based on Markov clustering, which comprises the following steps of: firstly, dispersing software into a function set, forming a function relationship matrix through data flow among functions, and representing the tightness among the functions by using the number of data items directly flowing among the functions; and then forming a self-adaptive module division method through Markov clustering by taking the functional relationship matrix as an object. By means of the operation, rapid and stable software function module division is achieved without setting the number of modules in advance.

Description

technical field [0001] The invention belongs to the technical field of software engineering, and in particular relates to a software module division method based on Markov clustering. Background technique [0002] Software design is a very important stage in the whole software life cycle. In software design, an important task is to divide the modules and classify each function into corresponding functional modules to form a software architecture. Reasonable module division can optimize the software system architecture, which is of great significance to the development, use and maintenance of software. The module division of software is a combination of software functions around the goals of high cohesion and low coupling. At present, most of the work still depends on the experience of designers, and the division results are not uniform and lack basis. How to give the division results under the premise of reasonably evaluating the relationship between software functions th...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F8/20G06K9/62
CPCG06F8/20G06F18/23
Inventor 王攀余志强刘翔谢敏杨晶
Owner CHENGDU AIRCRAFT INDUSTRY GROUP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products