Software quality dynamic evaluation method and system based on fuzzy integral and cloud model

Through the fusion method of fuzzy integration and cloud model, the dynamic tracking and indicator correlation problems of software quality evaluation are solved, real-time and accurate software quality evaluation is achieved, and dynamic quality monitoring is suitable for various scenarios.

CN120336156APending Publication Date: 2025-07-18BEIJING KALOCHI CONSULTING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510516776.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-23
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

Existing software quality evaluation methods cannot dynamically track iterative changes, ignore nonlinear interactions between indicators, insufficient data timeliness, and the system is difficult to expand new algorithms.

Method used

The algorithm-level fusion of fuzzy integration and cloud model is adopted, and recent data is preferred through the time decay function, and the modular design supports the integration and expansion of multiple algorithms to achieve dynamic evaluation of software quality.

Benefits of technology

It realizes real-time and accuracy of software quality evaluation, supports real-time quality tracking in iterative development, and the system has modular expansion capabilities, which is suitable for dynamic quality monitoring in multiple scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120336156A_ABST
    Figure CN120336156A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of software engineering, quality management and intelligent evaluation, and particularly discloses a software quality dynamic evaluation method and system based on fuzzy integral and a cloud model.The method comprises the steps that an index score with a timestamp is obtained, and the time attenuation weight of the index score at each time point is calculated; the index scores are sorted, then fuzzy integrals among the indexes are calculated, and the comprehensive score of the software quality at each time point is obtained; weighting the comprehensive score of the software quality at each time point based on the time attenuation weight to obtain a software quality comprehensive score sequence; converting the software quality comprehensive score sequence into cloud model parameters; and generating a quality cloud picture and a software quality change trend analysis report based on the cloud model parameters. According to the method, algorithm-level fusion is carried out on the fuzzy integral and the cloud model, the cooperation or conflict relation between indexes is quantified, recent data is preferentially fused based on the time decay function, and the real-time performance of an evaluation result is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical fields of software engineering, quality management, and intelligent evaluation, and particularly relates to a software quality dynamic evaluation method and system based on fuzzy integral and cloud model. Background Art

[0002] Software quality evaluation is a core link to ensure software security, reliability, and sustainability. Its importance is reflected in multiple aspects: Firstly, it ensures system security. Vulnerabilities may lead to data leakage or service paralysis. For example, defects in financial software may trigger financial risks. Secondly, it maintains user experience and competitiveness. Performance lags or functional defects will directly lead to user loss. Thirdly, it controls long-term costs. Technical debts (such as inefficient code) will cause the later maintenance costs to soar, and the cost of fixing online defects can be hundreds of times that of the development stage. Finally, it is whether the software quality meets compliance requirements. Fields such as healthcare and finance need to comply with regulations such as GDPR, and quality defects may trigger legal disputes. The importance of accurately and appropriately evaluating software quality is self-evident. However, current software quality evaluation faces many problems, mainly in the following aspects:

[0003] ① Limitations of static evaluation: Traditional methods (such as the analytic hierarchy process and fuzzy comprehensive evaluation) rely on fixed weights and cannot dynamically track quality changes during software iteration. For example, after a software version update, new functions may be introduced or defects may be fixed, but traditional methods cannot adjust weights in real time to reflect these changes.

[0004] ② Lack of index correlation: The weighted summation method ignores the non-linear interaction between indexes. For example, the improvement of "functionality" may indirectly enhance "reliability" (such as the stability of function modules is improved), but traditional methods only calculate scores through linear superposition.

[0005] ③ Insufficient data timeliness: Historical data is not weighted according to time decay, resulting in the evaluation result lagging behind the actual quality change. For example, test data half a year ago may be irrelevant to the current version, but it is still treated equally.

[0006] ④ Difficulty in system expansion: The current software evaluation tools are mainly implemented as Web applications with a B / S architecture, relying on fixed architectures and rules, and it is difficult to integrate and expand new algorithms. Summary of the Invention

[0007] In view of the above problems, the first object of the present invention is to provide a software quality dynamic evaluation method based on fuzzy integral and cloud model. This method quantifies the collaborative or conflicting relationships between indexes through algorithm-level fusion of fuzzy integral and cloud model, and preferentially fuses recent data based on a time decay function (such as an exponential function) to ensure the real-time nature of the evaluation result.

[0008] The second object of the present invention is to provide a software quality dynamic evaluation system based on fuzzy integral and cloud model. The system is designed in a modular and extensible manner, supports the integration of multiple algorithms and the extension of new algorithms, and supports data collection, dynamic calculation, and visual output.

[0009] The first technical solution adopted by the present invention is: a software quality dynamic evaluation method based on fuzzy integral and cloud model, comprising the following steps:

[0010] S100: Collect software quality subjective scores and objective quality index data with timestamps, and perform preprocessing to obtain index scores with timestamps;

[0011] S200: Calculate the time decay weight of the index scores with timestamps at each time point;

[0012] S300: Sort the index scores with timestamps, and calculate the fuzzy integral of the index scores with timestamps at each time point to obtain the comprehensive score of software quality at each time point; and weight the comprehensive score of software quality at each time point based on the time decay weight of the index scores with timestamps at each time point to obtain a sequence of comprehensive scores of software quality;

[0013] S400: Convert the sequence of comprehensive scores of software quality into cloud model parameters;

[0014] S500: Generate a quality cloud map and an analysis report on the software quality change trend based on the cloud model parameters.

[0015] Preferably, the software quality subjective scores in step S100 include one or more of the following indicators: functionality, reliability, performance efficiency, ease of use, maintainability, and security.

[0016] Preferably, the objective quality index data in step S100 includes one or more of the following indicators: code coverage, cyclomatic complexity, modularity, defect density, and mean time to repair.

[0017] Preferably, step S100 includes:

[0018] Convert the timestamp in the format of a time string into a Unix timestamp; and normalize the objective quality index data to obtain an objective quality score; obtain the index score with a timestamp based on the software quality subjective score and the objective quality score.

[0019] Preferably, the time decay weight in step S200 is calculated by the following formula:

[0020] w(t) = e -λΔt

[0021] Wherein, w(t) is the time decay weight; Δt is the time difference between the current time and the time stamp of the collected data; λ is the decay coefficient.

[0022] Preferably, the step S300 includes:

[0023] After arranging all the index scores in ascending order of scores, calculate the fuzzy integral between the subjective score of software quality and the objective quality score at each time point based on the fuzzy algorithm, and obtain the comprehensive score of software quality at each time point.

[0024] Preferably, the fuzzy algorithm is the Choquet integral.

[0025] Preferably, the comprehensive score sequence of software quality in the step S300 is represented by the following formula:

[0026] Comprehensive score sequence of software quality = [Comprehensive score of software quality at time t1 × Time decay weight at time t1, Comprehensive score of software quality at time t2 × Time decay weight at time t2,..., Comprehensive score of software quality at time t n × Time decay weight at time t n .

[0027] Preferably, the step S500 includes:

[0028] Based on the cloud model parameters, use the Matplotlib library, Ant Design or ECharts for plotting to generate a quality cloud map.

[0029] The second technical solution adopted by the present invention is: A software quality dynamic evaluation system based on fuzzy integral and cloud model, including a data acquisition layer, a dynamic calculation layer and a result output layer;

[0030] The data acquisition layer is used for: Collecting the subjective score of software quality and objective quality index data with time stamps, and performing preprocessing to obtain index scores with time stamps;

[0031] The dynamic calculation layer is used for: Calculating the time decay weight of the index scores with time stamps at each time point; and sorting the index scores with time stamps, and calculating the fuzzy integral of the index scores with time stamps at each time point to obtain the comprehensive score of software quality at each time point; weighting the comprehensive score of software quality at each time point based on the time decay weight of the index scores with time stamps at each time point to obtain a comprehensive score sequence of software quality; and converting the comprehensive score sequence of software quality into cloud model parameters;

[0032] The result output layer is used to: generate a quality cloud map and a software quality change trend analysis report based on the cloud model parameters.

[0033] Advantages of the above technical solution:

[0034] (1) A software quality dynamic evaluation method based on fuzzy integral and cloud model proposed by the present invention quantifies the collaborative or conflicting relationships between indicators through algorithm-level fusion of fuzzy integral and cloud model. For example, when calculating the interaction between "functionality" and "reliability", the weight is dynamically adjusted through fuzzy measure.

[0035] (2) The present invention preferentially fuses recent data based on a time decay function (such as an exponential function) to ensure the real-time nature of the evaluation result; the timeliness of historical data is processed through a time decay weighting mechanism, supporting real-time quality tracking in iterative development, and is applicable to rapid iterative modes such as agile development and DevOps.

[0036] (3) A software quality dynamic evaluation system based on fuzzy integral and cloud model provided by the present invention is an open-architecture software quality evaluation system. Based on a modular and extensible design, the system supports the integration of multiple algorithms and the extension of new algorithms, and supports data collection, dynamic calculation, and visual output.

[0037] (4) The method of fusing fuzzy integral and cloud model proposed by the present invention fully realizes the dynamic evaluation of software quality from raw data input to final visual output, solving the three core problems of data timeliness, indicator relevance, and uncertainty expression; through the method disclosed by the present invention, the processing of fuzziness can be effectively transformed into probability, avoiding hard thresholds, using fuzzy integral to capture the collaborative relationship between indicators, and automatically simulating the actual expert software quality evaluation process with the help of cloud model parameters and fuzzy measure.

[0038] (5) The present invention is oriented to the entire software development life cycle (requirements analysis, design, testing, maintenance), provides dynamic quality monitoring and quantitative evaluation, and is applicable to traditional software, Web applications, mobile terminals, and embedded systems; it is especially applicable to scenarios that require balancing subjective evaluation and objective indicators and require dynamic adaptability, such as financial software compliance evaluation, large-scale system iterative quality monitoring, third-party software certification services, etc., and has broad industrial application prospects. Brief Description of the Drawings

[0039] Figure 1 It is a schematic flow chart of a software quality dynamic evaluation method based on fuzzy integral and cloud model provided by an embodiment of the present invention;

[0040] Figure 2 It is a schematic structural diagram of a software quality dynamic evaluation system based on fuzzy integral and cloud model provided by an embodiment of the present invention;

[0041] Figure 3 A schematic diagram of the operation process of a software quality dynamic evaluation system based on fuzzy integral and cloud model provided by an embodiment of the present invention. Detailed implementation manners

[0042] The following further describes in detail the implementation manners of the present invention in conjunction with the drawings and embodiments. The detailed description and drawings of the following embodiments are used to exemplarily illustrate the principles of the present invention, but cannot be used to limit the scope of the present invention, that is, the present invention is not limited to the described preferred embodiments, and the scope of the present invention is defined by the claims.

[0043] In the description of the present invention, it should be noted that unless otherwise specified, the meaning of "a plurality of" is two or more; the terms "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance; for those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0044] Embodiment 1

[0045] As Figure 1 shown, an embodiment of the present invention provides a software quality dynamic evaluation method based on fuzzy integral and cloud model, including the following steps:

[0046] S100: Collect software quality subjective scores and objective quality index data with time stamps, and perform preprocessing to obtain index scores with time stamps, where the index scores include software quality subjective scores and objective quality scores;

[0047] Collect the subjective scores of users on software quality (i.e., software functionality) through the Web questionnaire module. The software quality subjective scores are in the range of [0, 100], and each piece of software quality subjective score data is attached with a time stamp; the software quality subjective scores include, but are not limited to, quality characteristic scores such as functionality, reliability, performance efficiency, usability, maintainability, and security; these quality characteristics all include some sub-characteristics and extended sub-characteristics, with a total of more than 30 sub-indicators. The sub-indicators are refinements of each type of quality characteristic. Taking the functionality quality characteristic as an example, functionality includes, for example, function integrity, function correctness, function applicability, function compliance, requirement coverage rate, API interface specification compliance, business process support degree, etc.

[0048] Automatically obtain objective quality indicator data from third-party platforms (such as Gitee and Jira) through the automated AIP interface module; this automated AIP interface sub-module supports OAuth2.0 authentication and extracts data through GraphQL or REST API; the automatically collected objective quality indicator data includes but is not limited to code coverage, cyclomatic complexity, modularity, defect density, mean time to repair, etc.; each piece of objective quality indicator data is attached with a timestamp; the obtained objective quality indicator data is shown in Table 1.

[0049] Table 1 Objective Quality Indicator Data

[0050] Index Number Index Category Index Name Data Example Index 1 Code Quality Code Coverage 85% Index 2 Code Quality Cyclomatic Complexity 15 Index 3 Code Quality Degree of Modularity 5 Index 4 Defect Management Defect Density 1.2 Index 5 Defect Management Mean Time to Repair 8.5 ... ... ... ...

[0051] For the convenience of subsequent step processing, it is necessary to preprocess the software quality subjective scores and objective quality indicator data with timestamps, including: converting the timestamp in the time string format to Unix timestamp for unified time decay calculation; and normalizing the objective quality indicator data to obtain a standardized and unified objective quality score.

[0052] Normalize the objective quality indicator data (such as code coverage, defect density, etc.), eliminate the dimensional differences between different objective indicators (such as percentage, number of defects per thousand lines, cyclomatic complexity), and unify the objective quality indicator data into a unitless score within the range of [0, 100], ensuring that the subjective scores (such as user feedback) and objective indicators can be fused and calculated on the same scale; the intermediate standardized data obtained after normalizing the objective quality indicator data (for example, 75% code coverage is mapped to 75 points), that is, the normalized and unified objective quality score is obtained after normalization, which is convenient for subsequent calculations.

[0053] The indicator scores with timestamps after preprocessing are shown in Table 2. Functionality and reliability in Table 2 are software quality subjective scores, and code coverage is one of the objective quality scores. In addition, there are other quality indicators not listed one by one.

[0054] Table 2 Indicator Scores with Timestamps

[0055]

[0056] S200: Calculate the time decay weight of the indicator scores with timestamps at each time point.

[0057] Perform time decay weighted calculation on the preprocessed software quality subjective scores and objective quality scores with timestamps, and assign time decay weights (i.e., dynamic weights) to the software quality subjective scores and objective quality indicator data collected at different times, so that the data collected recently has a higher weight; specifically, perform time decay weighted calculation through the following formula:

[0058] w(t) = e -λΔt , λ = 0.1(1 + N / 100)

[0059] Wherein, w(t) is the time decay weight, i.e., the dynamic weight; Δt is the time difference between the current time and the time stamp of the collected data (unit: days); λ is the decay coefficient (default 0.1), N is the total amount of historical data (the total number of data points within the time window). When the total amount of historical data N ≥ 1000, λ increases dynamically. At this time, λ = 0.1·(1 + N / 1000), and the larger the data volume, the faster the decay.

[0060] For example, as shown in Table 3, assuming the current time is October 10, 2024, first calculate the time difference by the current time and the time stamp of the collected data, then obtain the time decay weight according to the time difference, and finally normalize the weight to assign the time decay weight to the subjective score and objective quality score of software quality collected at each time point. Here, normalizing the weight is to ensure that the sum of the weights is 1 and avoid affecting the balance of subsequent calculations due to too large an absolute value difference in the weights after decay.

[0061] Table 3 Example of Time Decay Weighted Calculation

[0062]

[0063] S300: Sort the index scores with time stamps, and calculate the fuzzy integral of the index scores with time stamps at each time point to obtain the comprehensive score of software quality at each time point; and weight the comprehensive score of software quality at each time point based on the time decay weight of the index scores with time stamps at each time point to obtain a sequence of comprehensive scores of software quality;

[0064] After sorting all the index scores with time stamps in ascending order of scores, calculate the fuzzy integral between the subjective score and objective quality score of software quality at each time point based on the fuzzy algorithm to quantify the non - linear interaction between the subjective score of software quality and objective quality index data. The fuzzy algorithm is, for example, the Choquet integral. Taking the Choquet integral as an example, the calculation of the fuzzy integral between index data is as follows:

[0065]

[0066] Wherein, E is the fuzzy integral between index data; h(x j ) is the score of the j - th index arranged in ascending order of scores; h(x j-1 ) is the score of the (j - 1) - th index arranged in ascending order of scores, and initially h(x0) = 0, g λ(x0) = 0; m is the total number of indicators (e.g., 3 indicators: function, reliability, coverage); g λ (x j ∪x j-1 ) is the fuzzy measure between the jth indicator and the (j - 1)th indicator, and is calculated by the following formula:

[0067] g λ (x j ∪x j-1 ) = g λ (x j ) + g λ (x j-1 ) + λg λ (x j )g λ (x j-1 )

[0068] In the formula, g λ (x j ∪x j-1 ) is the fuzzy measure between the jth indicator and the (j - 1)th indicator, that is, the comprehensive weight combining the weight of the jth indicator and the weight of the (j - 1)th indicator; g λ (x j ) is the fuzzy measure of the jth indicator, that is, the weight of the jth indicator; g λ (x j-1 ) is the fuzzy measure of the (j - 1)th indicator, that is, the weight of the (j - 1)th indicator; λ is the non - linear relationship coefficient between the jth indicator and the (j - 1)th indicator, used to adjust the non - linear relationship between the jth indicator and the (j - 1)th indicator, and different linear relationships have different values. For example:

[0069] λ > 0: Synergistic effect (positive correlation), joint measure > sum of independent weights (1 + 1 > 2),

[0070] λ < 0: Conflict effect (negative correlation), joint measure < sum of independent weights (1 + 1 < 2),

[0071] λ = 0: No correlation (linear superposition), joint measure = sum of independent weights (degenerates to the traditional weighted method).

[0072] For example, the indicator scores of a certain software version are function = 85, reliability = 75, coverage = 80. After arranging all indicator scores in ascending order of scores, it is [reliability 75, coverage 80, function 85]; perform fuzzy measure calculation between function, reliability, and coverage:

[0073] (1) Assume the weight of each indicator is: g λ (function) = 0.4, g λ (reliability) = 0.3, g λ(Coverage) = 0.3; The weight of any index defines the initial importance of each metric, and the weight of any index is set by combining domain experience, historical data analysis, and the time decay weight at each time point. For example, it is predefined by experts according to software quality evaluation criteria (such as ISO25010) or industry practices in combination with the time decay weight at each time point;

[0074] (2) Initial g λ (x0) = 0,

[0075] g λ (Reliable ∪ x0) = g λ (Reliable) + g λ (x0) + 0 × g λ (Reliable)g λ (x0) = 0.3;

[0076] (3) g λ (Reliable ∪ Coverage) = g λ (Reliable) + g λ (Coverage) + 0.5 × g λ (Reliable)g λ (Coverage)

[0077] = 0.3 + 0.3 + 0.5 × 0.3 × 0.3 = 0.645;

[0078] (4) g({Coverage, Function}) = 1 g({Coverage, Function}) = 1 (sum normalization).

[0079] Calculate the comprehensive score of software quality (i.e., the fuzzy integral among the function, reliable, and coverage metrics) as:

[0080] E = (75 - 0) × 0.3 + (80 - 75) × 0.645 + (85 - 80) × 1 = 22.5 + 3.225 + 5 = 30.725.

[0081] Based on the comprehensive score of software quality at each time point and the time decay weight of the index rating at each time point, a weighted calculation is performed to obtain a sequence of comprehensive scores of software quality; the sequence of comprehensive scores of software quality is represented by the following formula:

[0082] Sequence of comprehensive scores of software quality = [Comprehensive score of software quality at time t1 × Time decay weight at time t1, Comprehensive score of software quality at time t2 × Time decay weight at time t2,..., t n Time comprehensive score of software quality × t n Time decay weight at time].

[0083] For example, a weighted calculation is performed based on the comprehensive score of software quality and the time decay weight in Table 4;

[0084] Table 4 Comprehensive scores of software quality and time decay weights at each time point

[0085] Time Point Time Decay Weight Comprehensive Score of Software Quality 2024-09-01 0.037 28.5 2024-09-15 0.162 29.8 2024-10-01 0.801 30.725

[0086] Software quality comprehensive score sequence = [28.5×0.037, 29.8×0.162, 30.725×0.801]

[0087] = [1.0545, 4.8276, 24.6101].

[0088] S400: Convert the software quality comprehensive score sequence into cloud model parameters;

[0089] Converting the software quality comprehensive score sequence into cloud model parameters means generating cloud model parameters in reverse from the sequence. The cloud model parameters include expectation Ex, entropy En, and hyperentropy HE;

[0090] Among them,

[0091]

[0092] In the formula, Ex is the expectation; En is the entropy; HE is the hyperentropy; n is the data sample size, reflecting the length of the evaluation period or the data update frequency. For example, if the software has iterated 6 versions, n is 6; x i is the comprehensive score of software quality for the i-th iterative evaluation, that is, the result after fuzzy integral calculation.

[0093] S500: Generate a quality cloud map and a software quality change trend analysis report based on the cloud model parameters;

[0094] Based on the cloud model parameters, use the Matplotlib library for interactive chart drawing. Here, Ant Design or ECharts can also be used for drawing to generate a quality cloud map; for example, the quality cloud map is drawn with the Ex value (quality level) as the abscissa and the HE value (stability) as the ordinate; if the HE value intensity is high, it indicates that the software is unstable; if the HE value intensity is low, it indicates that the software is stable.

[0095] Based on the cloud model parameters, draw a curve of the Ex value of the cloud model changing with time or software version, and at the same time superimpose the change of the HE fluctuation range with time or software version to generate a software quality change trend analysis report.

[0096] Furthermore, in one embodiment, it further includes: visualizing the quality cloud map and the software quality change trend analysis report.

[0097] The present invention respectively uses traditional weighted methods, single fuzzy integral methods, single cloud model methods, and the software quality evaluation method based on fuzzy integral and cloud model of the present invention for the historical quality data (including multiple version iterations) of 5 software, and obtains the experimental results shown in Table 4.

[0098] Table 4 Software Quality Evaluation Results

[0099] Evaluation Method Accuracy (%) Stability Error Traditional Weighting Method 72 0.35 Single Fuzzy Integral Method 78 0.28 Single Cloud Model Method 75 0.25 Method Based on Fuzzy Integral and Cloud Model 89 0.12

[0100] From the data in Table 4, it can be seen that the software quality dynamic evaluation method based on fuzzy integral and cloud model disclosed by the present invention has higher accuracy and stability.

[0101] Embodiment 2

[0102] As Figure 2 shown, a software quality dynamic evaluation system based on fuzzy integral and cloud model provided by an embodiment of the present invention adopts a hierarchical architecture design, including a data acquisition layer, a dynamic calculation layer, and a result output layer. The data acquisition layer, the dynamic calculation layer, and the result output layer communicate through a standardized interface and support modular expansion;

[0103] Among them, the data acquisition layer includes a Web-side questionnaire module, an automated AIP interface module, and a database storage module;

[0104] The Web-side questionnaire module is used to collect the subjective scores of users on software quality with timestamps. It constructs a responsive interface using Vue.js and supports multi-terminal adaptation (PC, mobile). The software quality scoring questionnaire is based on the ISO 25000 standard, providing quality characteristics (functionality, reliability, performance efficiency, usability, maintainability, security) and more than 30 sub-indicators. After the user completes the data, the encrypted JSON data is sent to the backend through the RESTFul API;

[0105] The automated AIP interface module is used to automatically obtain objective quality index data with timestamps from third-party platforms (such as Gitee, Jira). The automated AIP interface module supports OAuth2.0 authentication and extracts data through GraphQL or REST API;

[0106] The database storage module is used to store the subjective scores of software quality and objective quality index data with timestamps, and is also used to store the intermediate calculation results. The database storage module can use domestic databases such as GaussDB, TDSQL, etc., and stores the original data collected by each module of the system and the intermediate result data generated during the dynamic calculation in separate tables (partitioned by time).

[0107] The dynamic calculation layer includes a time decay weighting module, a fuzzy integral calculation engine, and a cloud model generator;

[0108] The time decay weighting module is used to perform time decay weighted calculation on the preprocessed software quality subjective scores and objective quality index data with timestamps, so as to assign time decay weights to the software quality subjective scores and objective quality index data, and give priority to fusing recent data; dynamically adjust its weight according to the time distance of the data to ensure that recent data has a greater impact on the evaluation result, thereby improving the real-time performance and accuracy of quality evaluation;

[0109] The fuzzy integral calculation engine is used to sort the index scores with timestamps, and calculate the fuzzy integral between indicators at each time point through a fuzzy algorithm (such as Choquet integral) based on the sorted index scores with timestamps, to obtain the comprehensive score of software quality at each time point (i.e., the interaction score between indicators); and weight the comprehensive score of software quality at each time point based on the time decay weight of the index scores with timestamps at each time point to obtain a sequence of comprehensive software quality scores;

[0110] The cloud model generator is used to convert the sequence of comprehensive scores into a quality cloud model (i.e., cloud model parameters). The cloud model generator extracts cloud model parameters from the actual quality scores through the reverse cloud computing in the encoding implementation algorithm; converts the discrete score sequence into three characteristic parameters of the cloud model to qualitatively describe the overall characteristics of the data.

[0111] The result output layer is used for the display and output of evaluation results, including a quality cloud visualization module, a change trend analysis module, and a report generation and export module;

[0112] The quality cloud visualization module is used to draw interactive charts based on cloud model parameters using the Matplotlib library. Here, Ant Design or ECharts can also be used for drawing;

[0113] The change trend analysis module is used to draw a curve of the cloud model Ex changing with time based on cloud model parameters, and superimpose the HE fluctuation range;

[0114] The report generation and export module is used to support the export of PDF / Excel format reports, including key indicator comparison and improvement suggestions.

[0115] As Figure 3 shown, through the software quality dynamic evaluation system based on fuzzy integral and cloud model disclosed by the present invention, users can complete the operations of data input, dynamic calculation, and result viewing; the software quality dynamic evaluation system can be integrated into a continuous integration / continuous delivery (CI / CD) pipeline or used as an independent quality management platform.

[0116] Those of ordinary skill in the art will realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the embodiments of the present invention can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present invention.

[0117] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of the devices or units can be in an electrical, mechanical or other form.

[0118] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0119] In addition, the functional units in the various embodiments of the present invention can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0120] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical discs that can store program codes.

[0121] As described above, it is only the specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention can easily think of changes or substitutions, which should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A dynamic software quality assessment method based on fuzzy integral and cloud model, characterized in that It includes the following steps: S100: Collect software quality subjective scores and objective quality index data with timestamps, and perform preprocessing to obtain index scores with timestamps; S200: Calculate the time decay weights of the index scores with timestamps at each time point; S300: Sort the index scores with timestamps, and calculate the fuzzy integrals of the index scores with timestamps at each time point to obtain the comprehensive scores of software quality at each time point; And weight the comprehensive scores of software quality at each time point based on the time decay weights of the index scores with timestamps at each time point to obtain a sequence of comprehensive software quality scores; S400: Convert the sequence of comprehensive software quality scores into cloud model parameters; S500: Generate a quality cloud map and a software quality change trend analysis report based on the cloud model parameters.

2. The software quality dynamic evaluation method according to claim 1, wherein The software quality subjective scores in step S100 include one or more of the following indicators: functionality, reliability, performance efficiency, usability, maintainability, and security.

3. The software quality dynamic evaluation method according to claim 1, characterized in that The objective quality index data in step S100 includes one or more of the following indicators: code coverage, cyclomatic complexity, modularity, defect density, and mean time to repair.

4. The software quality dynamic evaluation method according to claim 1, wherein Step S100 includes: Convert the timestamp in the format of a time string to a Unix timestamp; and normalize the objective quality index data to obtain an objective quality score; obtain the index score with a timestamp based on the software quality subjective score and the objective quality score.

5. The software quality dynamic evaluation method according to claim 1, characterized in that The time decay weights in step S200 are calculated by the following formula: w(t) = e -λΔt In the formula, w(t) is the time decay weight; Δt is the time difference between the current time and the timestamp of the collected data; λ is the decay coefficient.

6. The software quality dynamic evaluation method according to claim 1, wherein Step S300 includes: After sorting all the index scores in ascending order of scores, calculate the fuzzy integral between the software quality subjective score and the objective quality score at each time point based on the fuzzy algorithm to obtain the comprehensive score of software quality at each time point.

7. The software quality dynamic evaluation method according to claim 6, wherein The fuzzy algorithm is the Choquet integral.

8. The software quality dynamic evaluation method according to claim 1, wherein The sequence of comprehensive software quality scores in step S300 is represented by the following formula: Software quality comprehensive score sequence = [Comprehensive score of software quality at time t1 × Time decay weight at time t1, Comprehensive score of software quality at time t2 × Time decay weight at time t2, …, Comprehensive score of software quality at time t n × Time decay weight at time t n .

9. The software quality dynamic evaluation method according to claim 1, characterized in that Step S500 includes: Use the Matplotlib library, Ant Design, or ECharts to draw based on the cloud model parameters to generate a quality cloud map.

10. A software quality dynamic evaluation system based on fuzzy integral and cloud model, characterized in that, It includes a data collection layer, a dynamic calculation layer, and a result output layer; The data collection layer is used to: collect software quality subjective scores and objective quality index data with timestamps, and perform preprocessing to obtain index scores with timestamps; The dynamic calculation layer is used to: calculate the time decay weights of the index scores with timestamps at each time point; And sort the index scores with timestamps, and calculate the fuzzy integrals of the index scores with timestamps at each time point to obtain the comprehensive scores of software quality at each time point; Weight the comprehensive score of software quality at each time point based on the time decay weight of the timestamped metric scores at each time point to obtain a sequence of comprehensive software quality scores; and convert the sequence of comprehensive software quality scores into cloud model parameters; The result output layer is used to: generate a quality cloud map and an analysis report on the software quality change trend based on the cloud model parameters.