A Software Quality Evaluation Method Based on Fuzzy Theory
By combining fuzzy theory and the McCall software quality model, and employing fuzzy hierarchical analysis and kernel density estimation, the problems of fuzziness and uncertainty in traditional software quality evaluation methods are solved, enabling precise measurement and repeatable evaluation of software quality, and improving the objectivity and comprehensiveness of the evaluation results.
Patent Information
- Application Number
- CN202511362658.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-09-23
AI Technical Summary
Traditional software quality evaluation methods struggle to accurately characterize the ambiguity between subjective evaluations and objective indicators. They lack a systematic weighting mechanism, resulting in highly subjective evaluation results. Furthermore, they fail to address the challenges of complex multi-source information fusion in software, leading to poor scientific rigor and repeatability of the evaluations.
By combining fuzzy theory and McCall's software quality model, the weights of the quality factor set are determined by fuzzy hierarchical analysis, and the membership function is constructed using kernel density estimation to generate fuzzy comprehensive evaluation scores, thereby achieving accurate measurement of software quality.
It enables precise measurement of fuzzy and uncertain factors in software quality, improves the objectivity and repeatability of evaluation results, and provides a systematic quality factor framework that can more comprehensively reflect the overall quality of software.
Smart Images

Figure CN120849241B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software quality evaluation technology, and specifically to a software quality evaluation method based on fuzzy theory. Background Technology
[0002] With the continuous development of software technology and the increasing scale and complexity of software products, establishing scientific and effective software quality evaluation methods has become crucial for the healthy development of the software industry. Currently, the McCall software quality model is commonly used for software quality evaluation. Proposed by James McCall in 1977, the McCall model defines quality factors from three perspectives: product operation, product modification, and product transfer. Furthermore, due to the fuzziness and uncertainty inherent in software quality indicators, fuzzy theory is often used to address such issues.
[0003] However, traditional software quality evaluation methods have obvious limitations: First, they rely heavily on qualitative analysis or simple quantitative scoring, making it difficult to accurately characterize the ambiguity between subjective evaluation and objective indicators, resulting in highly subjective evaluation results; Second, they fail to establish corresponding quantitative models for the dynamic distribution characteristics of software quality indicators, and lack a systematic weight allocation mechanism, making it difficult to cope with the challenges of multi-source information fusion in complex software, thus leading to poor scientific rigor and repeatability of the evaluation.
[0004] Therefore, by combining fuzzy theory and McCall's software quality model, this invention achieves accurate measurement of fuzzy and uncertain factors in software quality, effectively solving the shortcomings of existing technologies. Summary of the Invention
[0005] The purpose of this invention is to provide a method for evaluating software quality by using fuzzy theory to calculate software quality scores based on the quality factors defined in the McCall software quality model.
[0006] The technical solution adopted in this invention is: a software quality evaluation method based on fuzzy theory, the evaluation method comprising:
[0007] Step S1: Obtain the quality factor set based on the McCall software quality model, and acquire the data corresponding to each factor of the software to be evaluated under the quality factor set;
[0008] Step S2: Determine the evaluation level set and divide the evaluation level set into five levels;
[0009] Step S3: Based on the quality factor set obtained in Step S1 and the evaluation level set determined in Step S2, collect historical data of each factor and the corresponding five-level evaluation level of similar software under the quality factor set, and construct the membership function using the kernel density estimation method.
[0010] Step S4: Use fuzzy hierarchical analysis to determine the weight set of the quality factor set;
[0011] Step S5: Based on the data corresponding to each factor of the software to be evaluated under the quality factor set obtained in Step S1, the membership function constructed in Step S3, and the weight set of the quality factor set determined in Step S4, the fuzzy comprehensive evaluation score of the software to be evaluated is obtained.
[0012] Step S4 uses fuzzy hierarchical analysis to determine the weight set of the quality factor set; specifically:
[0013] Step S41: The importance of the eleven quality factors in the quality factor set is compared pairwise using fuzzy language to generate a fuzzy judgment matrix.
[0014] Step S42: Calculate the fuzzy composite value of the active comparison quality factors and the passive comparison quality factors for pairwise comparison of the importance of the eleven quality factors in step S41.
[0015] Step S43: Compare the probability of the fuzzy composite value of two quality factors in the quality factor set;
[0016] Step S44: Defuzzify and calculate the weight of each quality factor.
[0017] Furthermore, in step S1, a quality factor set is obtained based on the McCall software quality model, and the data corresponding to each factor of the software to be evaluated under the quality factor set are acquired; specifically:
[0018] Step S11 involves using the McCall software quality model to identify 11 quality factors from three different perspectives: product operation, product modification, and product transfer. ;in, Represents the set of quality factors. Indicates correctness. Indicates reliability. Indicates efficiency. Indicates completeness. Indicates availability, Indicates maintainability, Indicates testability. Indicating flexibility, Indicates portability, Indicates reusability, Indicates interoperability;
[0019] Step S12: Obtain the data corresponding to each factor under the quality factor set in the software development, software testing and user evaluation feedback stages of the software to be evaluated.
[0020] Furthermore, in step S2, the evaluation level set is determined and divided into five evaluation levels; specifically:
[0021] ;
[0022] in, Represents the set of evaluation levels. Indicates "excellent". Indicates "good". Indicates "medium". Indicates "poor" It means "very bad".
[0023] Furthermore, in step S3, based on the quality factor set obtained in step S1 and the evaluation level set determined in step S2, historical data of each factor and corresponding five-level evaluation level of similar software under the quality factor set are collected from the software to be evaluated. The membership function is then constructed using the kernel density estimation method; specifically:
[0024] Step S31: Collect historical data of similar software under the quality factor set and the corresponding five-level evaluation level for the software to be evaluated to obtain historical data of similar software.
[0025] Step S32: Extract specific data subsets of the quality factor set corresponding to the five-level evaluation level from the historical data of similar software obtained in step S31, and sort the data in the specific data subsets from smallest to largest.
[0026] Step S33: For each specific data subset corresponding to each evaluation level, calculate... , ;in, Indicates standard deviation, This represents data within a specific subset of data. This represents the average of a specific subset of data. Indicates the sample size of a specific subset of data. Indicates the interquartile range. This represents the 75th percentile of a specific subset of data. Represents the 25th percentile of a specific subset of data;
[0027] Step S34: For each specific data subset corresponding to each evaluation level, calculate the bandwidth using the Silverman bandwidth selection method; specifically:
[0028] ;
[0029] in, Indicates bandwidth. This indicates taking the minimum value;
[0030] Step S35: For each specific data subset corresponding to each evaluation level, calculate the kernel density estimate using the Gaussian kernel function; specifically:
[0031] ;
[0032] in, This represents the kernel density estimate. Represents pi (π). Represents an exponential function. This indicates the data for which kernel density estimates need to be obtained;
[0033] Step S36: For each specific data subset corresponding to each evaluation level, the normalized kernel density estimate is the membership function; specifically:
[0034] ;
[0035] in, Represents the membership function. This indicates taking the maximum value.
[0036] Further, in step S41, the importance of the eleven quality factors in the quality factor set is compared pairwise using fuzzy language to generate a fuzzy judgment matrix; specifically:
[0037] Fuzzy judgment matrix ;in, The triangular fuzzy number representing the comparison of importance between actively compared quality factors and passively compared quality factors. ,in, These represent the minimum, most likely, and maximum possible values for comparing the importance of quality factors in an active comparison and in a passive comparison, respectively. ,in, The triangular fuzzy number representing the importance comparison between passively compared quality factors and actively compared quality factors. These represent the minimum, most likely, and maximum possible values for the importance comparison between passively compared quality factors and actively compared quality factors, respectively.
[0038] Further, in step S42, the fuzzy composite value of the active and passive comparison quality factors for pairwise comparisons of the importance of the eleven quality factors in step S41 is calculated; the formula is:
[0039] ;
[0040] in, This represents the fuzzy composite value of the quality factors being actively compared. Indicates the column number. This represents fuzzy number multiplication. This represents the minimum possible value of the quality factor being actively compared. This indicates the possible values for actively comparing quality factors. This represents the maximum possible value of the quality factor in the active comparison.
[0041] ;
[0042] in, This represents the fuzzy composite value of the passively compared quality factors. Indicates the line number. This represents the minimum possible value of the quality factor in passive comparison. This indicates the possible values of the passive comparison quality factor. This represents the maximum possible value of the passively compared quality factor.
[0043] Further, in step S43, the probability of the fuzzy composite value of two quality factors in the quality factor set is compared; the formula is:
[0044] ;
[0045] in, This represents the fuzzy composite value of the quality factors for active comparison. The fuzzy composite value of the passive comparison quality factor is greater than or equal to The possibility.
[0046] Further, in step S44, defuzzification is performed, and the weight of each quality factor is calculated; specifically:
[0047] ;
[0048] in, Represents weights, weight set .
[0049] Furthermore, in step S5, based on the data corresponding to each factor of the software to be evaluated under the quality factor set obtained in step S1, the membership function constructed in step S3, and the weight set of the quality factor set determined in step S4, the fuzzy comprehensive evaluation score of the software to be evaluated is obtained; specifically:
[0050] Step S51: Obtain the software to be evaluated. Based on the data corresponding to each factor in the quality factor set from the software development, software testing, and user feedback stages, calculate the membership degree of the quality factors to the evaluation level according to the membership function of the quality factors corresponding to the evaluation level. ;
[0051] Step S52: Construct a fuzzy relation matrix from the quality factor set and the evaluation level set. Specifically: fuzzy relation matrix ;
[0052] Step S53, calculate the comprehensive evaluation result; specifically:
[0053] ;
[0054] in, This indicates the overall evaluation result. This indicates a weighted average type fuzzy synthesis operation. Representing the fuzzy relation matrix The elements in the first column, Representing the fuzzy relation matrix The elements in the second column, Representing the fuzzy relation matrix The element in the 5th column;
[0055] Step S54: Defuzzify the comprehensive evaluation results using the weighted average method, and set the evaluation levels accordingly. Each rating level in the set is assigned a score, and the rating level set is... Calculate the score; specifically:
[0056] ;
[0057] in, Indicates the score. Elements representing the overall evaluation results, Evaluation rating set Each rating level in the system is assigned a score.
[0058] Step S55: Scoring Weight normalization is performed to obtain the fuzzy comprehensive evaluation score of the software to be evaluated in the interval [0,1].
[0059] The beneficial effects of this invention are:
[0060] Compared to related technologies, the software quality evaluation method based on fuzzy theory provided in this invention comprehensively considers software from three aspects: product operation, product modification, and product transfer through the McCall software quality model, thereby achieving accurate measurement of fuzzy and uncertain factors in software quality.
[0061] By employing fuzzy theory to scientifically quantify fuzzy indicators of software quality, the evaluation results are more comprehensive than those of traditional methods, significantly improving the objectivity of the evaluation results.
[0062] The McCall Software Quality Model provides a systematic framework of quality factors and incorporates fuzzy theory to address uncertainties, enabling repeatable and scientific evaluation of software quality. Attached Figure Description
[0063] Figure 1This is a flowchart illustrating the present invention. Detailed Implementation
[0064] To make the objectives, technical solutions, and advantages of this application clearer, the application is described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.
[0065] It is understood that the accompanying drawings are merely illustrative of the present invention. Those skilled in the art can apply the methods described in this invention to other similar technical scenarios based on these drawings without any inventive effort. Furthermore, it is understood that although the effort involved in such a development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this application, any changes to the design, manufacturing, or production methods based on the technical content disclosed in this application are merely conventional technical means and should not be construed as insufficient disclosure of the content of this application.
[0066] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment can be included in at least one embodiment of this application. The "embodiment" mentioned throughout the specification does not necessarily refer to the same embodiment, and the embodiments are not mutually exclusive; they can exist independently or as an alternative. It is explicitly and implicitly understood by those skilled in the art that the embodiments described in this application can be combined with other embodiments without conflict. This embodiment provides a software quality evaluation method based on fuzzy theory, such as... Figure 1 As shown, it includes the following steps:
[0067] Step S1: Obtain the quality factor set based on the McCall software quality model, and acquire the data corresponding to each factor of the software to be evaluated under the quality factor set;
[0068] Step S2: Determine the evaluation level set and divide the evaluation level set into five levels;
[0069] Step S3: Based on the quality factor set obtained in Step S1 and the evaluation level set determined in Step S2, collect historical data of each factor and the corresponding five-level evaluation level of similar software under the quality factor set, and construct the membership function using the kernel density estimation method.
[0070] Step S4: Use fuzzy hierarchical analysis to determine the weight set of the quality factor set;
[0071] Step S5: Based on the data corresponding to each factor of the software to be evaluated under the quality factor set obtained in Step S1, the membership function constructed in Step S3, and the weight set of the quality factor set determined in Step S4, the fuzzy comprehensive evaluation score of the software to be evaluated is obtained.
[0072] Step S4 uses fuzzy hierarchical analysis to determine the weight set of the quality factor set; specifically:
[0073] Step S41: Invite domain experts to perform pairwise comparisons of the importance of the eleven quality factors in the quality factor set using fuzzy language to generate a fuzzy judgment matrix.
[0074] Step S42: Calculate the fuzzy composite value of the active comparison quality factors and the passive comparison quality factors for pairwise comparison of the importance of the eleven quality factors in step S41.
[0075] Step S43: Compare the probability of the fuzzy composite value of two quality factors in the quality factor set;
[0076] Step S44: Defuzzify and calculate the weight of each quality factor.
[0077] Furthermore, in step S1, a quality factor set is obtained based on the McCall software quality model, and the data corresponding to each factor of the software to be evaluated under the quality factor set are acquired; specifically:
[0078] Step S11 involves using the McCall software quality model to identify 11 quality factors from three different perspectives: product operation, product modification, and product transfer. ;in, Represents the set of quality factors. Indicates correctness. Indicates reliability. Indicates efficiency. Indicates completeness. Indicates availability, Indicates maintainability, Indicates testability. Indicating flexibility, Indicates portability, Indicates reusability, Indicates interoperability;
[0079] Step S12: Obtain the data corresponding to each factor under the quality factor set in the software development, software testing and user evaluation feedback stages of the software to be evaluated.
[0080] Furthermore, in step S2, the evaluation level set is determined and divided into five evaluation levels; specifically:
[0081] ;
[0082] in, Represents the set of evaluation levels. Indicates "excellent". Indicates "good". Indicates "medium" Indicates "poor" It means "very bad".
[0083] Furthermore, in step S3, based on the quality factor set obtained in step S1 and the evaluation level set determined in step S2, historical data of each factor and corresponding five-level evaluation level of similar software under the quality factor set are collected from the software to be evaluated. The membership function is then constructed using the kernel density estimation method; specifically:
[0084] Step S31: Collect historical data of similar software under the quality factor set and the corresponding five-level evaluation level for the software to be evaluated to obtain historical data of similar software.
[0085] Step S32: Extract specific data subsets of the quality factor set corresponding to the five-level evaluation level from the historical data of similar software obtained in step S31, and sort the data in the specific data subsets from smallest to largest.
[0086] Step S33: For each specific data subset corresponding to each evaluation level, calculate... , ;in, Indicates standard deviation, This represents data within a specific subset of data. This represents the average value of a specific subset of data. Indicates the sample size of a specific subset of data. Indicates the interquartile range. This represents the 75th percentile of a specific subset of data. Represents the 25th percentile of a specific subset of data;
[0087] Step S34: For each specific data subset corresponding to each evaluation level, calculate the bandwidth using the Silverman bandwidth selection method; specifically:
[0088] ;
[0089] in, Indicates bandwidth. This indicates taking the minimum value;
[0090] Step S35: For each specific data subset corresponding to each evaluation level, calculate the kernel density estimate using the Gaussian kernel function; specifically:
[0091] ;
[0092] in, This represents the kernel density estimate. Represents pi (π). Represents an exponential function. This indicates the data for which kernel density estimates need to be obtained;
[0093] Step S36: For each specific data subset corresponding to each evaluation level, the normalized kernel density estimate is the membership function; specifically:
[0094] ;
[0095] in, Represents the membership function. This indicates taking the maximum value.
[0096] Further, in step S41, domain experts are invited to perform pairwise comparisons of the importance of the eleven quality factors in the quality factor set using fuzzy language, generating a fuzzy judgment matrix; specifically:
[0097] Fuzzy judgment matrix ;in, The triangular fuzzy number representing the comparison of importance between actively compared quality factors and passively compared quality factors. ,in, These represent the minimum, most likely, and maximum possible values for comparing the importance of quality factors in an active comparison and in a passive comparison, respectively. ,in, The triangular fuzzy number representing the importance comparison between passively compared quality factors and actively compared quality factors. These represent the minimum, most likely, and maximum possible values for the importance comparison between passively compared quality factors and actively compared quality factors, respectively.
[0098] Further, in step S42, the fuzzy composite value of the active and passive comparison quality factors for pairwise comparisons of the importance of the eleven quality factors in step S41 is calculated; the formula is:
[0099] ;
[0100] in, This represents the fuzzy composite value of the quality factors being actively compared. Indicates the column number. This represents fuzzy number multiplication. This represents the minimum possible value of the quality factor being actively compared. This indicates the possible values for actively comparing quality factors. This represents the maximum possible value of the quality factor in the active comparison.
[0101] ;
[0102] in, This represents the fuzzy composite value of the passively compared quality factors. Indicates the line number. This represents the minimum possible value of the quality factor in passive comparison. This indicates the possible values of the passive comparison quality factor. This represents the maximum possible value of the passively compared quality factor.
[0103] Further, in step S43, the probability of the fuzzy composite value of two quality factors in the quality factor set is compared; the formula is:
[0104] ;
[0105] in, This represents the fuzzy composite value of the quality factors for active comparison. The fuzzy composite value of the passive comparison quality factor is greater than or equal to The possibility.
[0106] Further, in step S44, defuzzification is performed, and the weight of each quality factor is calculated; specifically:
[0107] ;
[0108] in, Represents weights, weight set .
[0109] Furthermore, in step S5, based on the data corresponding to each factor of the software to be evaluated under the quality factor set obtained in step S1, the membership function constructed in step S3, and the weight set of the quality factor set determined in step S4, the fuzzy comprehensive evaluation score of the software to be evaluated is obtained; specifically:
[0110] Step S51: Obtain the software to be evaluated. Based on the data corresponding to each factor in the quality factor set from the software development, software testing, and user feedback stages, calculate the membership degree of the quality factors to the evaluation level according to the membership function of the quality factors corresponding to the evaluation level. ;
[0111] Step S52: Construct a fuzzy relation matrix from the quality factor set and the evaluation level set. Specifically: fuzzy relation matrix ;
[0112] Step S53, calculate the comprehensive evaluation result; specifically:
[0113] ;
[0114] in, This indicates the overall evaluation result. This indicates a weighted average type fuzzy synthesis operation. Representing the fuzzy relation matrix The elements in the first column, Representing the fuzzy relation matrix The elements in the second column, Representing the fuzzy relation matrix The element in the 5th column;
[0115] Step S54: Defuzzify the comprehensive evaluation results using the weighted average method, and set the evaluation levels accordingly. Each rating level in the set is assigned a score, and the rating level set is... Calculate the score; specifically:
[0116] ;
[0117] in, Indicates the score. Elements representing the overall evaluation results, Evaluation rating set Each rating level in the system is assigned a score.
[0118] Step S55: Scoring Weight normalization is performed to obtain the fuzzy comprehensive evaluation score of the software to be evaluated in the interval [0,1].
[0119] This invention comprehensively collects data related to quality factors in the software to be evaluated; determines the set of quality factors based on the McCall software quality model; determines the evaluation level set, dividing it into five levels; based on the specific data of the quality factors and the corresponding historical data of the evaluation levels, it uses kernel density estimation to construct the membership function of each quality factor for each evaluation level, avoiding the limitations of distribution assumptions and being particularly suitable for complex indicator distributions in software quality evaluation; and employs fuzzy hierarchical analysis, using triangular fuzzy numbers to construct a judgment matrix and calculate defuzzification weights; and obtains the fuzzy comprehensive evaluation score of the software to be evaluated through fuzzy synthesis operations, weighted averaging, and normalization. This invention can generate an objective and accurate score for the comprehensive quality of software, intuitively reflecting its shortcomings and areas for improvement.
Claims
1. A software quality evaluation method based on fuzzy theory, characterized by, The evaluation method comprises: Step S1: obtaining a quality factor set according to a McCall software quality model, and acquiring data corresponding to each factor of the quality factor set for the software to be evaluated; Step S2: determining an evaluation grade set, and dividing the evaluation grade set into five evaluation grades; Step S3: based on the quality factor set obtained in step S1 and the evaluation grade set determined in step S2, collecting historical data of each factor of the quality factor set and historical data corresponding to the five evaluation grades for the same kind of software as the software to be evaluated, and constructing a membership function by using a kernel density estimation method; specifically: Step S31: collecting the historical data of each factor of the quality factor set and the historical data corresponding to the five evaluation grades for the same kind of software as the software to be evaluated to obtain the historical data of the same kind of software; Step S32: extracting a specific data subset of the quality factor set corresponding to the five evaluation grades from the historical data of the same kind of software obtained in step S31, and sorting the data in the specific data subset from small to large; Step S33, for each specific data subset corresponding to an evaluation grade, calculate , ; wherein, denotes the standard deviation, denotes the data in the specific data subset, denotes the average value of the specific data subset, denotes the sample size of the specific data subset, denotes the interquartile range, denotes the 75th percentile of the specific data subset, denotes the 25th percentile of the specific data subset; Step S34: for each evaluation grade corresponding to the specific data subset, calculating a bandwidth by using a Silverman bandwidth selection method; Step S35: for each evaluation grade corresponding to the specific data subset, calculating a kernel density estimation value by using a Gaussian kernel function; Step S36: for each evaluation grade corresponding to the specific data subset, normalizing the kernel density estimation value into a membership function; Step S4: determining a weight set of the quality factor set by using a fuzzy analytic hierarchy process method; specifically: Step S41: comparing the importance of each of the eleven quality factors in the quality factor set with each other by using fuzzy language to generate a fuzzy judgment matrix; Step S42: calculating fuzzy synthesis values of the active comparison quality factors and the passive comparison quality factors in the comparison of the importance of each of the eleven quality factors; Step S43: comparing the likelihood of the fuzzy synthesis values of two quality factors in the quality factor set; Step S44: de-fuzzifying, and calculating the weight of each quality factor; Step S5: based on the data corresponding to each factor of the quality factor set for the software to be evaluated acquired in step S1, the membership function constructed in step S3, and the weight set of the quality factor set determined in step S4, obtaining a fuzzy comprehensive evaluation score of the software to be evaluated.
2. The software quality evaluation method based on fuzzy theory according to claim 1, characterized in that, In step S1, the quality factor set is obtained according to the McCall software quality model, and the data corresponding to each factor of the quality factor set for the software to be evaluated is acquired; specifically: Step S11, based on the McCall software quality model, 11 quality factors under three different perspectives of product operation, product modification and product transfer, ; wherein, denotes a quality factor set, denotes correctness, denotes reliability, denotes efficiency, denotes integrity, denotes availability, denotes maintainability, denotes testability, denotes flexibility, denotes portability, denotes reusability, denotes interoperability; In step S12, the data corresponding to each factor of the quality factor set for the software to be evaluated is acquired in the software development, software testing and user evaluation feedback links.
3. The software quality evaluation method based on fuzzy theory according to claim 2, characterized in that, In step S2, the evaluation grade set is determined, and the evaluation grade set is divided into five evaluation grades; specifically: ; wherein, represents the set of evaluation grades, represents "excellent", represents "good", represents "fair", represents "poor", represents "very poor".
4. The software quality evaluation method based on fuzzy theory according to claim 3, characterized in that, In step S3, based on the quality factor set obtained in step S1 and the evaluation grade set determined in step S2, the historical data of each factor of the quality factor set and the historical data corresponding to the five evaluation grades for the same kind of software as the software to be evaluated are collected, and the membership function is constructed by using the kernel density estimation method; specifically: Step S31: collecting the historical data of each factor of the quality factor set and the historical data corresponding to the five evaluation grades for the same kind of software as the software to be evaluated to obtain the historical data of the same kind of software; Step S32, for the same kind of software history data obtained in step S31, extracting the specific data subset of the quality factor set corresponding to the five-level evaluation grade, and sorting the data in the specific data subset from small to large; Step S33, for each specific data subset corresponding to an evaluation grade, calculate , ; wherein, denotes the standard deviation, denotes the data in the specific data subset, denotes the average value of the specific data subset, denotes the sample size of the specific data subset, denotes the interquartile range, denotes the 75th percentile of the specific data subset, denotes the 25th percentile of the specific data subset; Step S34, for each evaluation grade corresponding to the specific data subset, using Silverman bandwidth selection method to calculate the bandwidth; specifically: ; wherein denotes the bandwidth, denotes taking the minimum value; Step S35: for each evaluation grade corresponding to the specific data subset, using Gaussian kernel function to calculate the kernel density estimation value; Specifically: ; wherein, denotes a kernel density estimate, denotes the number pi, denotes the exponential function, denotes data for which a kernel density estimate is to be determined; Step S36: for each evaluation grade corresponding to the specific data subset, normalize the kernel density estimation value to the membership function; Specifically: ; wherein, denotes a membership function, denotes taking the maximum value.
5. The software quality evaluation method based on fuzzy theory according to claim 4, characterized in that, Step S41, comparing the importance of eleven quality factors in the quality factor set with each other through fuzzy language, and generating a fuzzy judgment matrix; Specifically: Fuzzy judgment matrix ; wherein denotes a triangular fuzzy number representing the importance comparison between the active comparison quality factor and the passive comparison quality factor, ; wherein denote the minimum possible value, the most possible value and the maximum possible value of the importance comparison between the active comparison quality factor and the passive comparison quality factor, respectively; ; wherein denotes a triangular fuzzy number representing the importance comparison between the passive comparison quality factor and the active comparison quality factor, denote the minimum possible value, the most possible value and the maximum possible value of the importance comparison between the passive comparison quality factor and the active comparison quality factor, respectively.
6. The software quality evaluation method based on fuzzy theory according to claim 5, characterized in that, Step S42, calculating the fuzzy synthetic value of the initiative comparison quality factor and the passive comparison quality factor in step S41; The formula is: ; wherein denotes the fuzzy resultant value of the active comparison quality factor, denotes the column number, denotes the fuzzy number multiplication operation, denotes the minimum possible value of the active comparison quality factor, denotes a possible value of the active comparison quality factor, denotes the maximum possible value of the active comparison quality factor; ; wherein represents a fuzzy synthetic value of the passive comparison quality factor, represents a line number, represents a minimum possible value of the passive comparison quality factor, represents a possible value of the passive comparison quality factor, represents a maximum possible value of the passive comparison quality factor.
7. The software quality evaluation method based on fuzzy theory according to claim 6, characterized in that, Step S43, comparing the possibility of the fuzzy synthetic value of the two quality factors in the quality factor set; The formula is: ; wherein, represents a fuzzy synthetic value of the active comparison quality factor greater than or equal to the fuzzy synthetic value of the passive comparison quality factor the likelihood.
8. The software quality evaluation method based on fuzzy theory according to claim 7, characterized in that, Step S44, defuzzification, calculating the weight of each quality factor; Specifically: ; wherein denotes a weight, a set of weights .
9. The software quality evaluation method based on fuzzy theory according to claim 8, characterized in that, In step S5, based on the data corresponding to each factor of the software to be evaluated in the quality factor set obtained in step S1, the membership function constructed in step S3 and the weight set of the quality factor set determined in step S4, the fuzzy comprehensive evaluation score of the software to be evaluated is obtained; Specifically: Step S51, obtaining the software to be evaluated, obtaining the data corresponding to each factor in the quality factor set at the software development, software testing and user evaluation feedback link, and calculating the membership degree of the quality factor to the evaluation grade according to the membership function of the quality factor corresponding to the evaluation grade ; Step S52, constructing a fuzzy relation matrix of the quality factor set and the evaluation grade set ; In particular: fuzzy relation matrix ; Step S53, calculating the comprehensive evaluation result; Specifically: ; wherein, denotes a comprehensive evaluation result, denotes a weighted average type fuzzy composition operation, denotes elements in the first column in the fuzzy relation matrix denotes elements in the second column in the fuzzy relation matrix denotes elements in the fifth column in the fuzzy relation matrix denotes elements in the second column in the fuzzy relation matrix denotes elements in the fifth column in the fuzzy relation matrix denotes elements in the fifth column in the fuzzy relation matrix Step S54: The comprehensive evaluation result is de-fuzzified by using the weighted average method, each evaluation grade in the evaluation grade set is given a score, and the evaluation grade set is calculated; specifically, ; wherein, an element representing a score, an element representing a result of the comprehensive evaluation, a set of evaluation grades an element in which each evaluation grade is assigned a score; Step S55: score the scores The weight normalization is performed to obtain the fuzzy comprehensive evaluation score of the software to be evaluated in the interval [0, 1].
Citation Information
Patent Citations
Operation-maintenance risk evaluation method for distributed new energy accessing power distribution network
CN108681800A
Electric vehicle charging pile informatization safety risk hierarchical data processing method
CN117371790A