Software cost evaluation method for function point analysis

Through the integration of artificial intelligence technology and open source software data, semantic analysis and similarity measurement methods are adopted to solve the problem of inconsistent definition and evaluation standards of functional point, and the quantification of software functional points and cross-domain consistency evaluation are realized, and the accuracy of software cost evaluation is improved.

CN119938489AActive Publication Date: 2025-05-06INNER MONGOLIA WEIXINTONG ELECTRIC POWER COMMUNICATION ENGINEERING DESIGN CO LTD

Patent Information

Application Number
CN202510017056.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-06
Publication Date
2025-05-06
Estimated Expiration
2045-01-06

AI Technical Summary

Technical Problem

The existing functional point analysis methods have inconsistent functional point definitions and evaluation criteria in software cost evaluation, resulting in poor comparability and consistency of results, affecting the accuracy of evaluation.

Method used

By integrating artificial intelligence technology and open source software data, semantic analysis methods are used to process the software function requirements text, quantify the software function points, and measure the similarity of the software function question and answer description data, realize the functional point complexity rating, and finally conduct software cost evaluation.

Benefits of technology

The cross-domain consistency evaluation of software function points is realized, the accuracy and reliability of software cost evaluation is improved, and the difference in evaluation results is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938489A_ABST
    Figure CN119938489A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of software cost evaluation, and discloses a function point analysis software cost evaluation method, which comprises the following steps: carrying out semantic analysis on a software function demand text to obtain a software function point; and performing similarity measurement on the software function points and the software function question and answer description data, selecting the question and answer description data with the highest similarity as a function point complexity rating basis of the software function points, and performing complexity rating and software cost evaluation on the software function points. Software function words are selected in combination with a neighborhood knowledge graph and semantic similarity analysis, software functions are described, question and answer description data of the software function words are obtained in combination with question and answer description data of the software functions, multiple complexities are extracted from the question and answer description data to conduct complexity rating on software function points, and the complexity rating accuracy is improved. And setting a cost adjustment factor by referring to a software cost evaluation standard, and performing software cost evaluation based on software function point analysis on the complexity rating result by combining the cost adjustment factor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software cost assessment, and in particular to a software cost assessment method based on function point analysis. Background Art

[0002] With the rapid development of information technology, software is increasingly used in various industries. The scale and complexity of software development are increasing, and how to accurately estimate the cost of software development has become a key issue. Traditional estimation methods mainly rely on development experience and historical data, but these methods often have large errors and are difficult to meet the increasingly complex software development needs. The introduction of the function point analysis method provides a new idea for software cost evaluation. Unlike traditional measurement methods such as the number of lines of code and development time, function point analysis focuses on the functional requirements of the software rather than the specific implementation. It evaluates the complexity of the software by analyzing the functional requirements and user needs of the software, thereby providing a basis for cost estimation, project schedule and resource allocation. However, although function point analysis has certain advantages, in actual applications, there are great differences in the definition and evaluation criteria of function points. Different software development teams, different industry fields, and different project types may have different divisions and calculation methods for the same function point. This inconsistency leads to poor comparability and consistency of the results of function point analysis, which affects its accuracy in software cost evaluation. Summary of the invention

[0003] In view of this, the present invention proposes a software cost assessment method based on function point analysis, which realizes the quantification of software function points by integrating artificial intelligence technology and open source software data, so as to achieve the purpose of consistency evaluation of cross-domain software function points.

[0004] To achieve the above object, the present invention provides a software cost assessment method for function point analysis, comprising the following steps:

[0005] S1: Perform semantic analysis on the software function requirement text to obtain software function points;

[0006] S2: Measure the similarity between the software function points and the software function question and answer description data, and use the question and answer description data with the highest similarity measurement result as the basis for the function point complexity rating of the software function point;

[0007] S3: Rating the complexity of software function points based on the function point complexity rating criteria to obtain the complexity rating results of the software function points;

[0008] S4: Conduct software cost assessment based on the complexity rating results of software function points in the software function requirement text.

[0009] As a further improvement method of the present invention:

[0010] Optionally, the software function requirement text in step S1 includes:

[0011] The software functional requirement text is text data describing the functions and characteristics required by the software, including text data of five requirement parts, wherein the five requirement parts are, in order, a functional requirement part, a non-functional requirement part, an operation interface description part, a business process part, and an acceptance test part;

[0012] Each function in the functional requirement part has a description text of the function name, function goal, function flow and expected results. The non-functional requirement part includes description texts of performance requirements, security requirements, usability requirements and maintainability requirements. The operation interface description part is a description text of the software page layout, interaction method and navigation structure. The business process part is a description text of the software business logic and workflow. The acceptance test part is a description text of the specific standards and methods of the acceptance test.

[0013] Optionally, semantic analysis is performed on the software function requirement text, including:

[0014] The description texts of the five requirement parts in the software function requirement text are segmented and stop words are removed. The segmentation method is as follows: a description dictionary is constructed for the five requirement parts in the software function requirement text, and the description texts of the requirement parts are matched with the dictionary by a two-way maximum matching method to obtain the segmentation results of the description texts; the stop word processing method is as follows: a stop word word list is constructed, and the segmentation results existing in the stop word word list are filtered;

[0015] Construct domain knowledge graphs for the five requirement parts in the software functional requirement text respectively, extract the word segmentation results existing in the domain knowledge graph in the text data of each requirement part as candidate functional words of the requirement part; specifically, construct domain knowledge graphs for the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part respectively, and the domain knowledge graph is a structured text graph describing the commonly used words in this part,

[0016] Each common word is a node in the structured text graph;

[0017] Obtaining context description text of the candidate function word in the software function requirement text, and performing semantic analysis combined with the context description text to obtain a semantic vector of the candidate function word;

[0018] Perform semantic analysis on the word segmentation results of non-candidate function words in the text data of each demand part in combination with the context description text to obtain the semantic vector of the word segmentation results; calculate the semantic relevance between the semantic vector of the word segmentation result and the semantic vector of any candidate function word in the same demand part, and take the maximum value of the semantic relevance. If the maximum value of the semantic relevance is higher than a preset similarity threshold, the word segmentation result is used as a candidate function word;

[0019] The candidate function words and their semantic vectors are taken as a set of software function words, and the software function word sets of each requirement part are constructed respectively. The software function word sets of all requirement parts are taken as software function points, where the software function word set of the i-th requirement part is S i :

[0020]

[0021] in:

[0022] Represents the software function word set S i The e-th software function word in i Represents the software function word set S i The number of software function words in Software function words The candidate function words in Indicates candidate function words The semantic vector of

[0023] The first five requirements are the functional requirements, non-functional requirements, interface description, business process, and acceptance test. Specifically, each software function word corresponds to a software development function, and all software functions of the software to be developed are software function points.

[0024] Optionally, the word segmentation result of the non-candidate function word is consistent with the semantic analysis process of the candidate function word, and the semantic analysis process is:

[0025] Obtaining context description text of a phrase, wherein the phrase is divided into segmentation results of non-candidate function words and candidate function words;

[0026] Based on the word frequency of the word group in the context description text and the word frequency of the candidate function words, the word weight of the word group is calculated;

[0027] Inputting the context description text of the phrase into a semantic analysis model to obtain semantic analysis features of the context description text, wherein the semantic analysis model is a BERT model structure, wherein the BERT model structure is divided into an input layer, a Transformer encoder, and an output layer;

[0028] The input layer is used to receive the context description text, and add the [CLS] tag at the beginning of each sentence in the context description text, and add the [SEP] tag at the end of each sentence. The token embeddings method is used to convert the word segmentation results in the context description text into word vectors, and the sentence to which each word vector belongs is marked as the sentence encoding of the word vector, as well as the position encoding of the word vector in the context description text. The word vector, the sentence encoding of the word vector, and the position encoding are concatenated as the embedding vector of the input layer.

[0029] The Transformer encoder uses a multi-head attention mechanism to calculate the attention weight of each word vector in the context, and performs weighted processing on the attention weights. The weighted word vectors are sequentially subjected to nonlinear transformation, normalization, and residual connection processing to obtain the contextual semantic features of the weighted word vectors.

[0030] The output layer extracts the contextual semantic features of the weighted word vector corresponding to the phrase as the semantic analysis features of the contextual description text of the phrase;

[0031] The semantic analysis features are weighted using the word weights of the phrase to obtain the semantic vector of the phrase.

[0032] Optionally, the calculation formula of the word weight is:

[0033]

[0034] in:

[0035] γ represents the frequency control coefficient, max{P 1 (word)·P 3 (word),γ} means to select P 1 (word)·P 3 (word), the maximum value in γ;

[0036] P 1 (word) indicates the frequency of the phrase word appearing in the context description text of the phrase word;

[0037] weight(word) represents the word weight of the phrase word;

[0038] P 3 (word) indicates the frequency of the candidate function word appearing in the context description text of the phrase word;

[0039] P 2 (word) indicates the proportion of candidate function words that contain the phrase word in the context description text.

[0040] Optionally, the step S2 measures similarity between the software function points and the software function question and answer description data, including:

[0041] The software function question and answer description data is question and answer description data describing different software functions, each question and answer description data includes question and answer text data, and the number of question characters, the number of answer characters, the number of code example lines, the last update time of the answer, the question release time and the number of votes for the answer result corresponding to the question and answer text data, and the question and answer text data includes question text data and answer text data;

[0042] The similarity measurement process is as follows:

[0043] Perform word segmentation and stop word removal on the question and answer text data to obtain a word segmentation result sequence of the question and answer text data, wherein the word segmentation method of the question and answer text data is jieba word segmentation;

[0044] Using the input layer in the semantic analysis model to receive the word segmentation result sequence of the question and answer text data, performing word vector representation on the word segmentation results, and using the Transformer encoder to perform attention weighting on the word vectors to obtain a weighted word vector sequence of the question and answer text data;

[0045] Calculating the word vector mean of the weighted word vector sequence as a simplified semantic feature of the question and answer text data and the question and answer description data corresponding to the question and answer text data;

[0046] Calculate the similarity between the semantic vector of the software function word in the software function point and the simplified semantic feature;

[0047] The question and answer description data corresponding to the simplified semantic features with the highest similarity are used as the basis for rating the function point complexity of software function words.

[0048] Optionally, based on the function point complexity rating basis of the software function words, the software function words are rated for complexity, and the complexity rating results of all software function words are used as the complexity rating results of the software function points in step S3, wherein the software function words The complexity rating process is:

[0049] Get software function words Function point complexity rating based on And based on the function point complexity rating Extract question text number Number of words in answer Code sample lines The time when the answer was last updated Issue date And the number of votes for the answer

[0050] Extracting the basis for function point complexity rating The corresponding question text data, and the total number of votes Sum and the last update time of all answers under the question text data are calculated from the software function question and answer description data * And the maximum number of code sample lines Count;

[0051] Based on the extraction results, software function words Rating the complexity, Software function words The complexity rating results.

[0052] Optionally, the formula for software cost evaluation in step S4 is:

[0053]

[0054] in:

[0055] β is the development factor adjustment factor, which is adjusted based on the background of the software development team. The maximum value of β is 1 and the minimum value is 0.6.

[0056] value represents the software cost assessment result;

[0057] α i represents the cost adjustment factor of the i-th demand part;

[0058] Represents the software function word set S i The e-th software function word in i Represents the software function word set S i The number of software function words in S i The set of software function words representing the i-th requirement part;

[0059] The first five requirement parts are the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part.

[0060] In order to solve the above problem, the present invention provides an electronic device, the electronic device comprising:

[0061] A memory storing at least one instruction;

[0062] Communication interface, enabling electronic equipment to communicate; and

[0063] The processor executes the instructions stored in the memory to implement the software cost assessment method of function point analysis described above.

[0064] In order to solve the above problems, the present invention also provides a computer-readable storage medium, in which at least one instruction is stored. The at least one instruction is executed by a processor in an electronic device to implement the software cost assessment method of function point analysis described above.

[0065] Compared with the prior art, the present invention proposes a software cost assessment method based on function point analysis, which has the following advantages:

[0066] First, this scheme proposes a software function point analysis method, which divides the software function requirement text into five requirement parts, and performs word segmentation processing on the text data of each requirement part in combination with the description dictionary and the candidate function word selection in combination with the neighborhood knowledge graph, and performs semantic analysis on the candidate function words and the word segmentation results. In the semantic analysis process of the phrase, a word weight calculation formula for the phrase is constructed based on the word frequency of the phrase in the context description text and the word frequency of the candidate function words. The higher the frequency of co-occurrence of the phrase and the candidate function words in the same context description text, the more interdependent and complementary the relationship between the phrase and the multiple candidate function words is, and the more important it is in the software development process. Based on the semantic correlation between the semantic vector of the word segmentation result and the semantic vector of any candidate function word in the same requirement part, the word segmentation results that also represent the software function are selected as software function words describing the software function, so as to realize the software function word screening based on the software function requirement text, and each software function word corresponds to a software function.

[0067] At the same time, this scheme proposes a cost evaluation method based on software function points. Combined with the software function question and answer description data, the question and answer description data of the software function words are obtained. The complexity rating result of the software function point is calculated based on the number of question words, the number of answer words, the number of code example lines, the last update time of the answer, the question release time and the number of votes of the answer result in the question and answer description data. In the complexity rating process, the number of answer words and the number of question words are used to represent the content complexity of the software function. The higher the content complexity, the greater the difference between the number of answer words and the number of question words of the software function, and more answer words are needed to interpret the software function, and the question cannot more comprehensively summarize the difficulty of the software function. The number of code example lines is used to represent the code complexity of the software function, and the time complexity of the software function is represented by combining multiple time characteristics. The higher the time complexity, the more difficult the problem is for a long time. The cost adjustment factors of different demand parts are set with reference to the software cost evaluation standard, and the complexity rating results of the software function points are evaluated by combining the cost adjustment factors and the constructive cost model. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] Figure 1A flowchart of a software cost assessment method for function point analysis provided by an embodiment of the present invention.

[0069] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0070] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.

[0071] The embodiment of the present application provides a method for evaluating software cost by function point analysis. The execution subject of the method for evaluating software cost by function point analysis includes but is not limited to at least one of the electronic devices such as a server and a terminal that can be configured to execute the method provided by the embodiment of the present application. In other words, the method for evaluating software cost by function point analysis can be executed by software or hardware installed on a terminal device or a server device, and the software can be a blockchain platform.

[0072] The server includes but is not limited to: a single server, a server cluster, a cloud server or a cloud server cluster, etc.

[0073] Reference Figure 1 , Embodiment 1 of the present invention is:

[0074] A software cost evaluation method based on function point analysis includes the following steps:

[0075] S1: Perform semantic analysis on the software functional requirement text to obtain software functional points.

[0076] The software functional requirements text in step S1 includes:

[0077] The software functional requirement text is text data describing the functions and characteristics required by the software, including text data of five requirement parts, wherein the five requirement parts are, in order, a functional requirement part, a non-functional requirement part, an operation interface description part, a business process part, and an acceptance test part;

[0078] Each function in the functional requirement part has a description text of the function name, function goal, function flow and expected results. The non-functional requirement part includes description texts of performance requirements, security requirements, usability requirements and maintainability requirements. The operation interface description part is a description text of the software page layout, interaction method and navigation structure. The business process part is a description text of the software business logic and workflow. The acceptance test part is a description text of the specific standards and methods of the acceptance test.

[0079] Perform semantic analysis on the software functional requirement text, including:

[0080] The description texts of the five requirement parts in the software function requirement text are segmented and stop words are removed. The segmentation method is as follows: a description dictionary is constructed for the five requirement parts in the software function requirement text, and the description texts of the requirement parts are matched with the dictionary by a two-way maximum matching method to obtain the segmentation results of the description texts; the stop word processing method is as follows: a stop word word list is constructed, and the segmentation results existing in the stop word word list are filtered;

[0081] Construct domain knowledge graphs for the five requirement parts in the software functional requirement text respectively, extract the word segmentation results existing in the domain knowledge graph in the text data of each requirement part as candidate functional words of the requirement part; specifically, construct domain knowledge graphs for the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part respectively, and the domain knowledge graph is a structured text graph describing the commonly used words in this part,

[0082] Each common word is a node in the structured text graph;

[0083] Obtaining a context description text of the candidate function word in the software function requirement text, and performing semantic analysis in combination with the context description text to obtain a semantic vector of the candidate function word; the context description text is in the form of a sequence of word segmentation results, and the context description text contains punctuation marks, and the context description text is divided into a plurality of sentences using the punctuation marks, and each sentence has a different number of word segmentation results;

[0084] The word segmentation results of non-candidate function words in the text data of each demand part are subjected to semantic analysis in combination with the context description text to obtain the semantic vector of the word segmentation results; the semantic relevance between the semantic vector of the word segmentation result and the semantic vector of any candidate function word in the same demand part is calculated, and the maximum value of the semantic relevance is taken. If the maximum value of the semantic relevance is higher than a preset similarity threshold, the word segmentation result is used as a candidate function word; specifically, the cosine similarity algorithm can be used to calculate the semantic relevance;

[0085] The candidate function words and their semantic vectors are taken as a set of software function words, and the software function word sets of each requirement part are constructed respectively. The software function word sets of all requirement parts are taken as software function points, where the software function word set of the i-th requirement part is S i :

[0086]

[0087] in:

[0088] Represents the software function word set S i The e-th software function word in i Represents the software function word set Si The number of software function words in Software function words The candidate function words in Indicates candidate function words The semantic vector of

[0089] The first five requirements are the functional requirements, non-functional requirements, interface description, business process, and acceptance test. Specifically, each software function word corresponds to a software development function, and all software functions of the software to be developed are software function points.

[0090] The word segmentation results of the non-candidate function words are consistent with the semantic analysis process of the candidate function words, and the semantic analysis process is:

[0091] Obtaining context description text of a phrase, wherein the phrase is divided into segmentation results of non-candidate function words and candidate function words;

[0092] Based on the word frequency of the word group in the context description text and the word frequency of the candidate function words, the word weight of the word group is calculated;

[0093] Inputting the context description text of the phrase into a semantic analysis model to obtain semantic analysis features of the context description text, wherein the semantic analysis model is a BERT model structure, wherein the BERT model structure is divided into an input layer, a Transformer encoder, and an output layer;

[0094] The input layer is used to receive the context description text, and add the [CLS] tag at the beginning of each sentence in the context description text, and add the [SEP] tag at the end of each sentence. The token embeddings method is used to convert the word segmentation results in the context description text into word vectors, and the sentence to which each word vector belongs is marked as the sentence encoding of the word vector, as well as the position encoding of the word vector in the context description text. The word vector, the sentence encoding of the word vector, and the position encoding are concatenated as the embedding vector of the input layer.

[0095] The Transformer encoder uses a multi-head attention mechanism to calculate the attention weight of each word vector in the context, and performs weighted processing on the attention weights. The weighted word vectors are sequentially subjected to nonlinear transformation, normalization, and residual connection processing to obtain the contextual semantic features of the weighted word vectors.

[0096] Specifically, the following formula can be used to perform nonlinear transformation on the weighted word vector:

[0097]

[0098] in:

[0099] E(n) represents the weighted word vector of the nth word segmentation result in the context description text, n∈[1,N], and N represents the total number of word segmentation results in the context description text;

[0100] represents the nonlinear transformation result of the weighted word vector E(n), and Sigmoid(·) represents the Sigmoid function;

[0101] The output layer extracts the contextual semantic features of the weighted word vector corresponding to the phrase as the semantic analysis features of the contextual description text of the phrase;

[0102] The semantic analysis features are weighted using the word weights of the phrase to obtain the semantic vector of the phrase.

[0103] The calculation formula of the word weight is:

[0104]

[0105] in:

[0106] γ represents the frequency control coefficient, max{P 1 (word)·P 3 (word),γ} means to select P 1 (word)·P 3 (word), the maximum value in γ;

[0107] P 1 (word) indicates the frequency of the phrase word appearing in the context description text of the phrase word;

[0108] weight(word) represents the word weight of the phrase word;

[0109] P 3 (word) indicates the frequency of the candidate function word appearing in the context description text of the phrase word;

[0110] P 2 (word) represents the ratio of candidate function words in the context description text that have the phrase word. As a preferred embodiment of the present invention, a formula for calculating the word weight of a phrase is constructed based on the word frequency of the phrase in the context description text and the word frequency of the candidate function words, wherein the higher the frequency of co-occurrence of a phrase and a candidate function word in the same context description text, the more interdependent and complementary the relationship is between the phrase and the multiple candidate function words, and the more important it is in the software development process.

[0111] S2: Measure the similarity between the software function points and the software function question and answer description data, and use the question and answer description data with the highest similarity measurement result as the basis for the function point complexity rating of the software function point.

[0112] The step S2 measures the similarity between the software function points and the software function question and answer description data, including:

[0113] The software function question and answer description data is question and answer description data describing different software functions, each question and answer description data includes question and answer text data, and the number of question characters, the number of answer characters, the number of code example lines, the last update time of the answer, the question release time and the number of votes for the answer result corresponding to the question and answer text data, and the question and answer text data includes question text data and answer text data; specifically, the question and answer description data in the Stack Overflow question and answer software can be used to form the software function question and answer description data; as an embodiment of the present invention, the number of question characters reflects the degree of detail of the software function, the number of answer characters and the number of code example lines reflect the complexity of the software function, the last update time of the answer reflects the update and correction of the answer text, and is used together with the question release time as a time feature, and the number of votes for the answer result reflects the community's recognition of the answer text;

[0114] The similarity measurement process is as follows:

[0115] Perform word segmentation and stop word removal on the question and answer text data to obtain a word segmentation result sequence of the question and answer text data, wherein the word segmentation method of the question and answer text data is jieba word segmentation;

[0116] Using the input layer in the semantic analysis model to receive the word segmentation result sequence of the question and answer text data, performing word vector representation on the word segmentation results, and using the Transformer encoder to perform attention weighting on the word vectors to obtain a weighted word vector sequence of the question and answer text data;

[0117] Calculating the word vector mean of the weighted word vector sequence as a simplified semantic feature of the question and answer text data and the question and answer description data corresponding to the question and answer text data;

[0118] Calculate the similarity between the semantic vector of the software function word in the software function point and the simplified semantic feature; as a preferred embodiment of the present invention, the cosine similarity and the Hamming distance representing the vector distance are integrated to perform similarity calculation, and the update time feature is introduced in the calculation process, wherein the larger the update time feature is, the closer the update time of the question and answer description data corresponding to the simplified semantic feature is to the current time, and then the latest and more similar question and answer description data are selected for complexity rating, thereby improving the reliability of the complexity rating result, and the semantic vector The calculation formula for the similarity with the simplified semantic feature f is:

[0119]

[0120] in:

[0121] is the semantic vector The similarity with the simplified semantic feature f;

[0122] time f represents the update time feature of the simplified semantic feature f, time f (1) represents the last update time of the answer in the question and answer description data corresponding to the simplified semantic feature f, time represents the current time, represents the time control coefficient;

[0123] Representing semantic vector The Hamming distance between the simplified semantic feature f, represents the distance control coefficient;

[0124] ||·|| 2 represents the L2 norm;

[0125] Representing semantic vector The cosine similarity with the simplified semantic feature f;

[0126] The question and answer description data corresponding to the simplified semantic features with the highest similarity are used as the basis for rating the function point complexity of software function words.

[0127] S3: Rating the complexity of software function points based on the function point complexity rating criteria to obtain the complexity rating results of the software function points.

[0128] Based on the function point complexity rating basis of the software function words, the software function words are rated for complexity, and the complexity rating results of all software function words are used as the complexity rating results of the software function points in step S3, wherein the software function words The complexity rating process is:

[0129] Get software function words Function point complexity rating based on And based on the function point complexity rating Extract question text number Number of words in answer Code sample lines The last updated time of the answer Issue date And the number of votes for the answer

[0130] Extracting the basis for function point complexity rating The corresponding question text data, and the total number of votes Sum and the last update time of all answers under the question text data are calculated from the software function question and answer description data * And the maximum number of code sample lines Count;

[0131] Based on the extraction results, software function words A complexity rating is performed, and the expression of the complexity rating is:

[0132]

[0133] in:

[0134] Software function words The complexity rating results of

[0135] Software function words The content complexity, code complexity, time complexity and quality of the described software functions, w 1 ,w 2 ,w 3 ,w 4 They are content complexity, code complexity, time complexity and quality weight control coefficients, respectively; as a preferred embodiment of the present invention, the problem is the difficulty of the software function corresponding to the software function word, and the number of answer words and the number of question words are used to represent the content complexity of the software function, wherein the higher the content complexity, the greater the difference between the number of answer words and the number of question words of the software function, and more answer words are needed to interpret the software function, and the problem cannot more comprehensively summarize the difficulty of the software function, and the number of code example lines is used to represent the code complexity of the software function, and a variety of time characteristics are combined to represent the time complexity of the software function, wherein the higher the time complexity, the more difficult the problem is for a long time;

[0136] represents the time control coefficient, time represents the current time, exp(·) represents the exponential function with the natural constant as the base,

[0137] F max Indicates the preset maximum number of question characters.

[0138] S4: Conduct software cost assessment based on the complexity rating results of software function points in the software function requirement text.

[0139] The formula for software cost evaluation in step S4 is:

[0140]

[0141] in:

[0142] β is the development factor adjustment factor, which is adjusted based on the background of the software development team. The maximum value of β is 1 and the minimum value is 0.6.

[0143] value represents the software cost assessment result;

[0144] α i represents the cost adjustment factor of the i-th demand part;

[0145] Represents the software function word set S i The e-th software function word in i Represents the software function word set S i The number of software function words in S i represents the set of software function words for the i-th requirement part, Software function words The complexity rating results of

[0146] The first five requirement parts are the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part.

[0147] Specifically, as an embodiment of the present invention, in the process of software cost evaluation, the cost adjustment factors of different demand parts can be set in combination with the "Software Engineering Software Development Cost Measurement Specification" (GB / T 36964-2018) and the "Information Technology Service Operation and Maintenance Part 7: Cost Measurement Specification" (GB / T 28827.7-2022), and the cost adjustment factors and the constructive cost model (COCOMO) are combined to construct a formula for software cost evaluation.

[0148] It should be understood that the embodiment is for illustration only and the scope of the patent application is not limited to this structure.

[0149] It should be noted that the serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages and disadvantages of the embodiments. And the terms "including", "comprising" or any other variants thereof in this article are intended to cover non-exclusive inclusion, so that a process, device, article or method including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, device, article or method. In the absence of further restrictions, an element defined by the sentence "including a ..." does not exclude the presence of other identical elements in the process, device, article or method including the element.

[0150] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0151] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A software cost assessment method based on function point analysis, characterized in that: The method comprises: S1: Perform semantic analysis on the software function requirement text to obtain software function points; S2: Measure the similarity between the software function points and the software function question and answer description data, and use the question and answer description data with the highest similarity measurement result as the basis for the function point complexity rating of the software function point; S3: Rating the complexity of software function points based on the function point complexity rating criteria to obtain the complexity rating results of the software function points; S4: Conduct software cost assessment based on the complexity rating results of software function points in the software function requirement text.

2. A software cost evaluation method for function point analysis as claimed in claim 1, characterized in that: The software functional requirements text in step S1 includes: The software functional requirement text is text data describing the functions and characteristics required by the software, including text data of five requirement parts, wherein the five requirement parts are, in order, a functional requirement part, a non-functional requirement part, an operation interface description part, a business process part, and an acceptance test part; Each function in the functional requirement part has a description text of the function name, function goal, function flow and expected results. The non-functional requirement part includes description texts of performance requirements, security requirements, usability requirements and maintainability requirements. The operation interface description part is a description text of the software page layout, interaction method and navigation structure. The business process part is a description text of the software business logic and workflow. The acceptance test part is a description text of the specific standards and methods of the acceptance test.

3. A software cost evaluation method for function point analysis as claimed in claim 2, characterized in that: Perform semantic analysis on the software functional requirement text, including: The description texts of the five requirement parts in the software function requirement text are segmented and stop words are removed. The segmentation method is as follows: a description dictionary is constructed for the five requirement parts in the software function requirement text, and the description texts of the requirement parts are matched with the dictionary by a two-way maximum matching method to obtain the segmentation results of the description texts; the stop word processing method is as follows: a stop word word list is constructed, and the segmentation results existing in the stop word word list are filtered; Construct domain knowledge graphs for the five requirement parts in the software functional requirement text respectively, and extract the word segmentation results existing in the domain knowledge graph in the text data of each requirement part as candidate functional words for the requirement part; Obtaining context description text of the candidate function word in the software function requirement text, and performing semantic analysis combined with the context description text to obtain a semantic vector of the candidate function word; Perform semantic analysis on the word segmentation results of non-candidate function words in the text data of each demand part in combination with the context description text to obtain the semantic vector of the word segmentation results; calculate the semantic relevance between the semantic vector of the word segmentation result and the semantic vector of any candidate function word in the same demand part, and take the maximum value of the semantic relevance. If the maximum value of the semantic relevance is higher than a preset similarity threshold, the word segmentation result is used as a candidate function word; The candidate function words and their semantic vectors are taken as a set of software function words, and the software function word sets of each requirement part are constructed respectively. The software function word sets of all requirement parts are taken as software function points, where the software function word set of the i-th requirement part is S i : in: Represents the software function word set S i The e-th software function word in i Represents the software function word set S i The number of software function words in Software function words The candidate function words in Indicates candidate function words The semantic vector of The first five requirement parts are the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part.

4. A software cost assessment method for function point analysis as claimed in claim 3, characterized in that: The word segmentation results of the non-candidate function words are consistent with the semantic analysis process of the candidate function words, and the semantic analysis process is: Obtaining context description text of a phrase, wherein the phrase is divided into segmentation results of non-candidate function words and candidate function words; Based on the word frequency of the word group in the context description text and the word frequency of the candidate function words, the word weight of the word group is calculated; Inputting the context description text of the phrase into a semantic analysis model to obtain semantic analysis features of the context description text, wherein the semantic analysis model is a BERT model structure, wherein the BERT model structure is divided into an input layer, a Transformer encoder, and an output layer; The input layer is used to receive the context description text, and add the [CLS] tag at the beginning of each sentence in the context description text, and add the [SEP] tag at the end of each sentence. The token embeddings method is used to convert the word segmentation results in the context description text into word vectors, and the sentence to which each word vector belongs is marked as the sentence encoding of the word vector, as well as the position encoding of the word vector in the context description text. The word vector, the sentence encoding of the word vector, and the position encoding are concatenated as the embedding vector of the input layer. The Transformer encoder uses a multi-head attention mechanism to calculate the attention weight of each word vector in the context, and performs weighted processing on the attention weights. The weighted word vectors are sequentially subjected to nonlinear transformation, normalization, and residual connection processing to obtain the contextual semantic features of the weighted word vectors. The output layer extracts the contextual semantic features of the weighted word vector corresponding to the phrase as the semantic analysis features of the contextual description text of the phrase; The semantic analysis features are weighted using the word weights of the phrase to obtain the semantic vector of the phrase.

5. A software cost assessment method for function point analysis as claimed in claim 4, characterized in that: The calculation formula of the word weight is: in: γ represents the frequency control coefficient, and max{P1(word)·P3(word),γ} represents the maximum value among P1(word)·P3(word),γ; P1(word) represents the frequency of the phrase word appearing in the context description text of the phrase word; weight(word) represents the word weight of the phrase word; P3(word) represents the frequency of the candidate function word appearing in the context description text of the phrase word; P2(word) represents the proportion of candidate function words that contain the phrase word in the context description text.

6. The software cost evaluation method of function point analysis according to claim 1, characterized in that: The step S2 measures the similarity between the software function points and the software function question and answer description data, including: The software function question and answer description data is question and answer description data describing different software functions, each question and answer description data includes question and answer text data, and the number of question characters, the number of answer characters, the number of code example lines, the last update time of the answer, the question release time and the number of votes for the answer result corresponding to the question and answer text data, and the question and answer text data includes question text data and answer text data; The similarity measurement process is as follows: Perform word segmentation and stop word removal on the question and answer text data to obtain a word segmentation result sequence of the question and answer text data, wherein the word segmentation method of the question and answer text data is jieba word segmentation; Using the input layer in the semantic analysis model to receive the word segmentation result sequence of the question and answer text data, performing word vector representation on the word segmentation results, and using the Transformer encoder to perform attention weighting on the word vectors to obtain a weighted word vector sequence of the question and answer text data; Calculating the word vector mean of the weighted word vector sequence as a simplified semantic feature of the question and answer text data and the question and answer description data corresponding to the question and answer text data; Calculate the similarity between the semantic vector of the software function word in the software function point and the simplified semantic feature; The question and answer description data corresponding to the simplified semantic features with the highest similarity are used as the basis for rating the function point complexity of software function words.

7. A software cost assessment method for function point analysis as claimed in claim 6, characterized in that: Based on the function point complexity rating basis of the software function words, the software function words are rated for complexity, and the complexity rating results of all software function words are used as the complexity rating results of the software function points in step S3, wherein the software function words The complexity rating process is: Get software function words Function point complexity rating based on And based on the function point complexity rating Extract question text number Number of words in answer Code sample lines The time when the answer was last updated Issue date And the number of votes for the answer Extracting the basis for function point complexity rating The corresponding question text data, and the total number of votes Sum and the last update time of all answers under the question text data are calculated from the software function question and answer description data * And the maximum number of code sample lines Count; Based on the extraction results, software function words Rating the complexity, Software function words The complexity rating results.

8. The software cost evaluation method of function point analysis according to claim 1, characterized in that: The formula for software cost evaluation in step S4 is: in: β is the development factor adjustment factor, which is adjusted based on the background of the software development team. The maximum value of β is 1 and the minimum value is 0.6; value represents the software cost assessment result; α i represents the cost adjustment factor of the i-th demand part; Represents the software function word set S i The e-th software function word in i Represents the software function word set S i The number of software function words in S i The set of software function words representing the i-th requirement part; The first five requirement parts are the functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part.

Citation Information

Patent Citations

  • Software system cost evaluation model based on function points and human cost

    CN112258234A

  • Complexity assessment method, device and equipment of software system and storage medium

    CN117149637A

  • Method and system for automatically analyzing software function points based on demand document

    CN117435489A

  • Software workload assessment method and device, electronic equipment and storage medium

    CN118093376A

  • Evaluation device of software development manhour cost

    JP2006323851A

Cited By

  • Intelligent software cost evaluation interaction method and system based on man-machine conversation

    CN121190139A