A software cost evaluation method of function point analysis
By combining artificial intelligence technology and open-source software data, the consistency and comparability issues of function point analysis in software cost assessment have been resolved, enabling more accurate assessment of software function point complexity and cost.
Patent Information
- Application Number
- CN202510017056.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-06
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-01-06
AI Technical Summary
Existing function point analysis methods suffer from poor comparability and consistency in software cost assessment, resulting in insufficient assessment accuracy.
By combining artificial intelligence technology with open-source software data, semantic analysis is performed on the text of software functional requirements to construct a domain knowledge graph, screen candidate functional words, and measure their similarity with software functional question-and-answer description data to assess the complexity of software functional points and finally evaluate the software cost.
It enables cross-domain consistency evaluation of software function points, improving the accuracy and reliability of software cost assessment.
Smart Images

Figure CN119938489B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to the technical field of software cost evaluation, and in particular to a software cost evaluation method based on function point analysis. BACKGROUND
[0002] With the rapid development of information technology, software is increasingly widely applied in various industries. The scale and complexity of software development are increasing, and how to accurately estimate the development cost of software has become a key problem. 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 function point analysis method provides a new idea for software cost evaluation. Unlike traditional code lines, development time and other measurement methods, function point analysis focuses on the functional requirements of software rather than specific implementation. It analyzes the functional requirements and user requirements of software to evaluate the complexity of software, thereby providing a basis for cost estimation, project progress and resource allocation. However, although function point analysis has certain advantages, in actual application, the definition and evaluation standard of function points have great differences. Different software development teams, different industries, and different project types may have different ways of dividing and calculating the same function point. This inconsistency leads to poor comparability and consistency of function point analysis results, thereby affecting its accuracy in software cost evaluation. SUMMARY
[0003] Therefore, the application provides a software cost evaluation method based on function point analysis, which quantifies software function points by integrating artificial intelligence technology and open source software data to achieve consistent evaluation of software function points across different fields.
[0004] To achieve the above-mentioned purpose, the application provides a software cost evaluation method based on function point analysis, which comprises the following steps:
[0005] S1: performing semantic analysis on the software functional requirement text to obtain software function points;
[0006] S2: performing similarity measurement on the software function points and software function question and answer description data, and taking the question and answer description data with the highest similarity measurement result as the function point complexity rating basis of the software function points;
[0007] S3: rating the complexity of the software function points based on the function point complexity rating basis to obtain the complexity rating result of the software function points;
[0008] S4: performing software cost evaluation based on the complexity rating result of the software function points in the software functional requirement text.
[0009] As a further improved method of the application:
[0010] Optionally, the software function requirement text in the S1 step comprises:
[0011] The software function requirement text is text data describing required functions and characteristics of the software, and comprises text data of five requirement parts, which are in sequence: a function requirement part, a non-function requirement part, an operation interface description part, a business process part, and an acceptance test part;
[0012] Each function in the function requirement part has description texts of a function name, a function target, a function flow, and an expected result, the non-function requirement part comprises description texts of performance requirements, security requirements, availability requirements, and maintainability requirements, the operation interface description part is description texts of a software page layout, an interaction mode, and a navigation structure, the business process part is description texts of a software business logic and a workflow, and the acceptance test part is description texts of specific standards and methods of acceptance tests.
[0013] Optionally, the semantic analysis on the software function requirement text comprises:
[0014] The description texts of the five requirement parts in the software function requirement text are subjected to word segmentation and stopword processing, the word segmentation manner is that: a description dictionary is constructed for the five requirement parts in the software function requirement text, and a bidirectional maximum matching manner is adopted to perform dictionary matching on the description texts of the requirement parts to obtain word segmentation results of the description texts; and the stopword processing manner is that: a stopword list is constructed, and the word segmentation results existing in the stopword list are filtered out;
[0015] A domain knowledge graph is constructed for each of the five requirement parts in the software function requirement text, and the word segmentation results existing in the domain knowledge graph in the text data of each requirement part are extracted as candidate function words of the requirement part; specifically, a domain knowledge graph is constructed for each of the function requirement part, the non-function requirement part, the operation interface description part, the business process part, and the acceptance test part, and the domain knowledge graph is a structured text graph describing common words of the part,
[0016] Each common word is a node in the structured text graph;
[0017] Context description texts of the candidate function words in the software function requirement text are obtained, and semantic analysis is performed on the candidate function words in combination with the context description texts to obtain semantic vectors of the candidate function words;
[0018] The semantic analysis of the context description text is performed on the segmentation result of the non-candidate functional word in the text data of each requirement part, and a semantic vector of the segmentation result is obtained; the semantic correlation between the semantic vector of the segmentation result and the semantic vector of any candidate functional word in the requirement part is calculated, and the maximum value of the semantic correlation is taken, if the maximum value of the semantic correlation is higher than a preset similarity threshold, the segmentation result is taken as a candidate functional word;
[0019] The candidate functional word and the semantic vector of the candidate functional word are taken as a set of software functional words, and a software functional word set of each requirement part is constructed respectively, and the software functional word sets of all requirement parts are taken as software functional points, wherein the software functional word set of the i-th requirement part is S i :
[0020]
[0021] Wherein:
[0022] The e-th software functional word in the software functional word set S i Num i indicates the number of software functional words in the software functional word set S i indicates the candidate functional word in the software functional word indicates the semantic vector of the candidate functional word
[0023] The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in turn. Specifically, each software functional word corresponds to a software development function, and all software functions of the software to be developed are software functional points.
[0024] Optionally, the segmentation result of the non-candidate functional word and the semantic analysis process of the candidate functional word are consistent, and the semantic analysis process is:
[0025] The context description text of the word group is obtained, wherein the word group is the segmentation result of the non-candidate functional word and the candidate functional word;
[0026] Based on the word frequency of the word group in the context description text and the word frequency of the candidate functional word, the word weight of the word group is calculated;
[0027] The context description text of the word group is input into a semantic analysis model to obtain the semantic analysis features of the context description text, and 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 configured to receive the context description text, add a [CLS] mark at the beginning of each sentence of the context description text, and add a [SEP] mark at the end of each sentence, convert tokenization results in the context description text into word vectors using Token Embeddings, mark a sentence to which each word vector belongs as sentence encoding of the word vector, and mark a position of the word vector in the context description text as position encoding of the word vector, splice the word vector, the sentence encoding of the word vector, and the position encoding as an embedding vector of the input layer;
[0029] The Transformer encoder is configured to calculate attention weights of each word vector in the context using a multi-head attention mechanism, perform weighted processing on the attention weights, sequentially perform nonlinear transformation, normalization processing, and residual connection processing on the weighted word vectors, and obtain context semantic features of the weighted word vectors.
[0030] The output layer is configured to extract the context semantic features of the weighted word vectors corresponding to the word group as semantic analysis features of the context description text of the word group.
[0031] The semantic analysis features are weighted using the word weight of the word group to obtain a semantic vector of the word group.
[0032] Optionally, the calculation formula of the word weight is as follows:
[0033]
[0034] wherein:
[0035] γ represents a frequency regulation coefficient, and max{P1(word)·P3(word),γ} represents a maximum value selected from P1(word)·P3(word) and γ;
[0036] P1(word) represents a frequency at which the word group word appears in the context description text of the word group word;
[0037] weight(word) represents the word weight of the word group word;
[0038] P3(word) represents a frequency at which the candidate functional word appears in the context description text of the word group word;
[0039] P2(word) represents a proportion of the candidate functional word existing in the context description text.
[0040] Optionally, the S2 step of measuring the similarity between the software function point and the software function question and answer description data comprises:
[0041] The software function question-answer description data are question-answer description data describing different software functions, each question-answer description data comprising question-answer text data, and a number of question characters, a number of answer characters, a number of code example lines, a last update time of the answer, a question publishing time, and a number of votes of an answer result corresponding to the question-answer text data, the question-answer text data comprising question text data and answer text data;
[0042] The similarity measurement process comprises:
[0043] The question-answer text data is subjected to word segmentation and stop word removal processing to obtain a word segmentation result sequence of the question-answer text data, and the word segmentation manner of the question-answer text data is jieba word segmentation;
[0044] The input layer in the semantic analysis model receives the word segmentation result sequence of the question-answer text data, performs word vector representation on the word segmentation result, and performs attention weighting on the word vector by using a Transformer encoder to obtain a weighted word vector sequence of the question-answer text data;
[0045] The word vector mean of the weighted word vector sequence is calculated as a simplified semantic feature of the question-answer text data and the question-answer description data corresponding to the question-answer text data;
[0046] The similarity between the semantic vector of the software function word in the software function point and the simplified semantic feature is calculated.
[0047] The question-answer description data corresponding to the simplified semantic feature with the highest similarity is taken as the function point complexity rating basis of the software function word.
[0048] Optionally, based on the function point complexity rating basis of the software function word, the complexity of the software function word is rated, and the complexity rating results of all software function words are taken as the complexity rating results of the software function point in the S3 step, wherein the complexity rating process of the software function word comprises:
[0049] The function point complexity rating basis of the software function word is obtained 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 publishing time, and the number of votes of the answer result are extracted from the function point complexity rating basis
[0050] The function point complexity rating basis is extracted Corresponding problem text data, and from the software function question and answer description data, the total number of votes of all answer results under the problem text data Sum, the last update time time * And the maximum code example line Count;
[0051] Based on the extraction result, the software function word Complexity rating, The complexity rating result of the software function word .
[0052] Optionally, the formula of software cost evaluation in the S4 step is:
[0053]
[0054] Wherein:
[0055] Beta is the development factor adjustment factor, which is adjusted based on the background of the software development team, and beta is the maximum 1 and the minimum 0.6;
[0056] Value represents the software cost evaluation result;
[0057] Alpha i Represents the cost adjustment factor of the ith requirement part;
[0058] Represents the e th software function word in the software function word set S i Num i Represents the number of software function words in the software function word set S i S i Represents the software function word set of the ith requirement part;
[0059] The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in turn.
[0060] In order to solve the above problems, the present application provides an electronic device, which comprises:
[0061] Memory, storing at least one instruction;
[0062] Communication interface, realizing electronic device communication;And
[0063] Processor, executing the instruction stored in the memory to realize the software cost evaluation method of the above-mentioned function point analysis.
[0064] To solve the above problems, the application further provides a computer readable storage medium, wherein at least one instruction is stored in the computer readable storage medium, and the at least one instruction is executed by a processor in an electronic device to implement the software cost evaluation method of the function point analysis.
[0065] Compared with the prior art, the application provides a software cost evaluation method of function point analysis, which has the following advantages:
[0066] Firstly, the application provides 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 a description dictionary and candidate function word selection in combination with a neighborhood knowledge graph, performs semantic analysis on the candidate function words and the word segmentation results, and in the semantic analysis process of the word group, a word weight calculation formula of the word group is constructed based on the word frequency of the word group in the context description text and the word frequency of the candidate function words, wherein the higher the frequency of the co-occurrence of the word group and the candidate function words in the same context description text, the higher the importance of the mutual dependence and mutual complementarity between the word group and the candidate function words, and the higher the importance 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 requirement part, the word segmentation result representing the software function is screened as the software function word describing the software function, the software function word screening based on the software function requirement text is realized, and each software function word corresponds to a software function.
[0067] Meanwhile, the application provides a cost evaluation method based on software function points, obtains the question and answer description data of the software function word in combination with the software function question and answer description data, calculates the complexity rating result of the software function point based on the number of question text, the number of answer text, the number of code examples, the last update time of the answer, the question publishing time and the number of votes of the answer result in the question and answer description data, and in the complexity rating process, the content complexity of the software function is represented by the number of answer text and the number of question text, wherein the higher the content complexity, the greater the difference between the number of answer text and the number of question text of the software function, and more answer text is needed to interpret the software function, and the difficulty point of the software function cannot be more comprehensively summarized by the question, the code complexity of the software function is represented by the number of code examples, and the time efficiency complexity of the software function is represented by a plurality of time characteristics, wherein the higher the time efficiency complexity, the more difficult the problem is in a longer time, the cost adjustment factor of different requirement parts is set by referring to the software cost evaluation standard, and the complexity rating result of the software function point is subjected to software cost evaluation in combination with the cost adjustment factor and the constructive cost model. BRIEF DESCRIPTION OF DRAWINGS
[0068] Figure 1A flowchart of a software cost evaluation method of function point analysis provided by an embodiment of the present application is shown.
[0069] The implementation, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION
[0070] It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
[0071] An embodiment of the present application provides a software cost evaluation method of function point analysis. The execution subject of the software cost evaluation method of function point analysis includes but is not limited to at least one of the electronic devices such as a server and a terminal which can be configured to execute the method provided by the embodiment of the present application. In other words, the software cost evaluation method of function point analysis can be executed by software or hardware installed in 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 application is:
[0074] A software cost evaluation method of function point analysis includes the following steps:
[0075] S1: performing semantic analysis on software function requirement text to obtain software function points.
[0076] The software function requirement text in the S1 step includes:
[0077] The software function requirement text is text data describing the required functions and characteristics of the software, including text data of five requirement parts, wherein the five requirement parts are in turn a function requirement part, a non-function requirement part, an operation interface description part, a business process part and an acceptance test part.
[0078] Each function in the function requirement part has description text of function name, function target, function flow and expected result, the non-function requirement part includes description text of performance requirement, security requirement, usability requirement and maintainability requirement, the operation interface description part is description text of software page layout, interaction mode and navigation structure, the business process part is description text of software business logic and workflow, and the acceptance test part is description text of acceptance test specific standard and method.
[0079] The semantic analysis on the software function requirement text includes:
[0080] The description text of five requirement parts in the software function requirement text is segmented and stop word processed, the segmentation manner is that: a description dictionary is constructed for the five requirement parts in the software function requirement text, the description text of the requirement part is dictionary matched by using a bidirectional maximum matching manner to obtain the segmentation result of the description text; the stop word processing manner is that a stop word table is constructed, and the segmentation result existing in the stop word table is filtered;
[0081] A domain knowledge graph is respectively constructed for the five requirement parts in the software function requirement text, and the segmentation result existing in the domain knowledge graph in the text data of each requirement part is extracted as a candidate function word of the requirement part; specifically, a domain knowledge graph is constructed for a function requirement part, a non-function requirement part, an operation interface description part, a business process part and an acceptance test part, and the domain knowledge graph is a structured text graph describing common words of the part,
[0082] Each common word is a node in the structured text graph;
[0083] The context description text of the candidate function word in the software function requirement text is obtained, and semantic analysis is performed on the context description text to obtain a semantic vector of the candidate function word; the context description text is in the form of a segmentation result sequence, and the context description text contains punctuation symbols, the context description text is divided into a plurality of sentences by using the punctuation symbols, and each sentence has a number of segmentation results;
[0084] The segmentation result of a non-candidate function word in the text data of each requirement part is subjected to semantic analysis combined with the context description text to obtain a semantic vector of the segmentation result; the semantic correlation between the semantic vector of the segmentation result and the semantic vector of any candidate function word in the requirement part is calculated, and the maximum value of the semantic correlation is taken, if the maximum value of the semantic correlation is higher than a preset similarity threshold, the segmentation result is taken as a candidate function word; specifically, the cosine similarity algorithm can be used to calculate the semantic correlation;
[0085] The candidate function word and the semantic vector of the candidate function word are taken as a group of software function words, a software function word set of each requirement part is respectively constructed, and the software function word sets of all requirement parts are taken as software function points, wherein the software function word set of the i-th requirement part is S i :
[0086]
[0087] Wherein:
[0088] The e-th software function word in the software function word set S i is represented by e, and Num i represents the number of software function words in the software function word set Si the number of software function words in the software function, representing the software function words candidate function words in the software function, representing the semantic vector of the candidate function words .
[0089] The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in turn. 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 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:
[0091] Obtaining the context description text of the word group, wherein the word group is segmented from the non-candidate function word and the candidate function word;
[0092] Based on the word frequency of the word group in the context description text and the word frequency of the candidate function word, the word weight of the word group is calculated;
[0093] The context description text of the word group is input into the semantic analysis model to obtain the semantic analysis features of the context description text, and 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, add [CLS] marks at the beginning of each sentence of the context description text, and add [SEP] marks at the end of each sentence, convert the segmentation results in the context description text into word vectors using Token Embeddings, and mark the sentence to which each word vector belongs as the sentence encoding of the word vector, and the position encoding of the word vector in the context description text, and concatenate the word vector, the sentence encoding of the word vector and the position encoding as the embedding vector of the input layer;
[0095] The Transformer encoder adopts a multi-head attention mechanism to calculate the attention weight of each word vector in the context, and performs weighted processing on the attention weight, and sequentially performs nonlinear transformation, normalization processing and residual connection processing on the weighted word vector to obtain the context semantic features of the weighted word vector;
[0096] Specifically, the weighted word vector can be nonlinearly transformed by the following formula:
[0097]
[0098] Wherein:
[0099] E(n) represents a weighted word vector of the nth word segmentation result in the context description text, n∈[1, N], N represents the total number of word segmentation results in the context description text;
[0100] represents a nonlinear transformation result of the weighted word vector E(n), and Sigmoid(·) represents a Sigmoid function;
[0101] The output layer extracts the context semantic features of the weighted word vector corresponding to the phrase, as the semantic analysis features of the context description text of the phrase;
[0102] The semantic analysis features are weighted by using the word weight of the phrase, to obtain a semantic vector of the phrase.
[0103] The calculation formula of the word weight is:
[0104]
[0105] wherein:
[0106] γ represents a frequency regulation coefficient, and max{P1(word)·P3(word),γ} represents the maximum value selected from P1(word)·P3(word),γ;
[0107] P1(word) represents 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] P3(word) represents the frequency of the candidate functional word appearing in the context description text of the phrase word;
[0110] P2(word) represents the proportion of the candidate functional word of the phrase word existing in the context description text. As a preferred embodiment of the present application, the word weight calculation formula of the phrase is constructed based on the word frequency of the phrase and the word frequency of the candidate functional word in the context description text. The higher the frequency of the co-occurrence of the phrase and the candidate functional word in the same context description text, the more the mutual dependence and mutual complementarity between the phrase and the plurality of candidate functional words, and the higher the importance in the software development process.
[0111] S2: Similarity measurement is performed on the software function point and the software function question and answer description data, and the question and answer description data with the highest similarity measurement result is taken as the function point complexity rating basis of the software function point.
[0112] The S2 step of similarity measurement on the software function point and the software function question and answer description data comprises:
[0113] The software function Q&A description data describes different software functions. Each Q&A description data includes Q&A text data, as well as the number of words in the question, the number of words in the answer, the number of lines of code, the last update time of the answer, the question posting time, and the number of votes for the answer. The Q&A text data includes both the question text data and the answer text data. Specifically, the Q&A description data from Stack Overflow can be used to construct the software function Q&A description data. As an embodiment of the present invention, the number of words in the question reflects the level of detail of the software function, the number of words in the answer and the number of lines of code reflect the complexity of the software function, the last update time of the answer reflects the update and correction of the answer text, and together with the question posting time, they serve as a time feature. The number of votes for the answer reflects the community's recognition of the answer text.
[0114] The similarity measurement process is as follows:
[0115] The question-and-answer text data is segmented and stop words are removed to obtain a segmentation result sequence of the question-and-answer text data. The segmentation method of the question-and-answer text data is jieba segmentation.
[0116] The input layer of the semantic analysis model receives the word segmentation result sequence of the question-and-answer text data, represents the word segmentation result as word vectors, and uses the Transformer encoder to apply attention weighting to the word vectors to obtain the weighted word vector sequence of the question-and-answer text data.
[0117] The mean value of the word vectors in the weighted word vector sequence is calculated and used 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] The similarity between the semantic vectors of software function words in software function points and simplified semantic features is calculated. In a preferred embodiment of the invention, cosine similarity and Hamming distance, which represent vector distance, are fused for similarity calculation. An update time feature is introduced during the calculation process; the larger the update time feature, the closer the update time of the question-and-answer description data corresponding to the simplified semantic feature is to the current time. This allows for the selection of the latest and more similar question-and-answer description data for complexity rating, improving the reliability of the complexity rating results. The formula for calculating the similarity between the simplified semantic feature f and the simplified semantic feature f is:
[0119]
[0120] in:
[0121] semantic vector Similarity with simplified semantic feature f;
[0122] time f denotes the update time feature of the simplified semantic feature f, time f (1) denotes the last update time of the answer in the question and answer description data corresponding to the simplified semantic feature f, time denotes the current time, denotes the time control coefficient;
[0123] denotes the semantic vector the Hamming distance between the simplified semantic feature f, denotes the distance control coefficient;
[0124] ||·||2 denotes the L2 norm;
[0125] denotes the semantic vector the cosine similarity between the simplified semantic feature f;
[0126] The question and answer description data corresponding to the simplified semantic feature with the highest similarity is taken as the functional point complexity rating basis of the software function word.
[0127] S3: Based on the functional point complexity rating basis, the complexity of the software function point is rated, and the complexity rating result of the software function point is obtained.
[0128] Based on the functional point complexity rating basis of the software function word, the complexity of the software function word is rated, and the complexity rating results of all software function words are taken as the complexity rating results of the software function point in the S3 step, wherein the complexity rating process of the software function word is as follows:
[0129] The functional point complexity rating basis of the software function word is obtained 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 publishing time and the number of votes of the answer result
[0130] The question text data corresponding to the functional point complexity rating basis is extracted , and the total number of votes Sum, the last update time time * and the maximum number of code example lines Count of all answer results under the question text data are calculated from the software function question and answer description data.
[0131] Based on the extraction results, software function words A complexity rating is performed, and the expression for the complexity rating is:
[0132]
[0133] in:
[0134] Software function words The complexity rating results;
[0135] Software function words are represented in the following order. The software function described includes content complexity, code complexity, time complexity, and quality. w1, w2, w3, and w4 are the weight control coefficients for content complexity, code complexity, time complexity, and quality, respectively. In a preferred embodiment of the present invention, the problem is the difficulty of the software function corresponding to the software function term. The content complexity of the software function is represented by the number of words in the answer and the number of words in the question. The higher the content complexity, the greater the difference between the number of words in the answer and the number of words in the question, indicating that more words are needed to interpret the software function, and the question cannot fully summarize the difficulty of the software function. The code complexity of the software function is represented by the number of lines of code example. The time complexity of the software function is represented by a combination of various time features. The higher the time complexity, the more difficult the problem is over a longer period of time.
[0136] This represents the time control coefficient, where time represents the current time, and exp(·) represents an exponential function with the natural constant as the base.
[0137] F max This indicates the maximum preset number of questions.
[0138] S4: Based on the complexity rating results of software function points in the software functional requirements text, conduct software cost assessment.
[0139] The formula for software cost assessment in step S4 is:
[0140]
[0141] in:
[0142] β is a 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] α ia cost adjustment factor representing the i-th requirement part;
[0145] a software function word set S i representing the e-th software function word in the software function word set S i a software function word set S i representing the number of software function words in the software function word set S i a software function word set S representing the complexity rating result of the software function word
[0146] The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in sequence.
[0147] Specifically, in the software cost evaluation process, the cost adjustment factor of different requirement 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 factor and the constructive cost model (COCOMO, Constructive Cost Model) are combined to construct the formula for software cost evaluation.
[0148] It should be understood that the above-mentioned embodiments are only for illustration, and the scope of the patent application is not limited by the structure.
[0149] It should be noted that the above-mentioned embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments. And the terms "include", "contain" or any other variant in this paper are intended to cover non-exclusive inclusion, so that the process, device, article or method including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or includes elements inherent to such process, device, article or method. Without more limitations, the element defined by the sentence "including a" does not exclude the existence of other identical elements in the process, device, article or method including the element.
[0150] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, also can be through hardware, but in many cases the former is the better embodiment. Based on such understanding, the technical solutions of the present application essentially or say the part of the contribution to the prior art can be embodied in the form of software products, the computer software product is stored in a storage medium (such as ROM / RAM, magnetic disc, optical disc) as described above, including a number of instructions to make a terminal device (may be a mobile phone, computer, server, or network equipment, etc.) executes the method described in various embodiments of the present application.
[0151] The above is only the preferred embodiment of the present application, not therefore limit the patent scope of the present application, all the equivalent structure or equivalent flow transformation made by using the content of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A software cost evaluation method for function point analysis, characterized by, The method comprises: S1: performing semantic analysis on the software function requirement text to obtain software function points; S2: performing similarity measurement on the software function points and software function question and answer description data, and taking the question and answer description data with the highest similarity measurement result as the function point complexity rating basis of the software function points; S3: performing complexity rating on the software function points based on the function point complexity rating basis to obtain the complexity rating result of the software function points; S4: performing software cost estimation based on the complexity rating result of the software function points in the software function requirement text; The S2 comprises: The software function question and answer description data is question and answer description data describing different software functions, each question and answer description data comprises question and answer text data, and the question and answer text data corresponds to 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 publishing time, and the number of votes of the answer result, and the question and answer text data comprises question text data and answer text data; The similarity measurement process comprises: performing word segmentation and stop word removal processing on the question and answer text data to obtain a word segmentation result sequence of the question and answer text data, and the word segmentation manner of the question and answer text data is jieba word segmentation; receiving the word segmentation result sequence of the question and answer text data by using the input layer in the semantic analysis model, performing word vector representation on the word segmentation result, and performing attention weighting on the word vector by using a Transformer encoder 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 the 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; calculating the similarity between the semantic vector of the software function word in the software function points and the simplified semantic feature; taking the question and answer description data corresponding to the highest similarity simplified semantic feature as the function point complexity rating basis of the software function word; The functional point complexity rating based on the software function word is rated according to the complexity of the software function word, and the complexity rating results of all software function words are taken as the complexity rating results of the software function points in the S3 step, wherein the complexity rating process of the software function word is as follows: Get software function words Functional complexity rating criteria And based on the functional complexity rating criteria Extract the number of words in the question Number of words in the answer Number of lines of code example The last time the answer was updated. Issue posting time and the number of votes for the response results. ; Extracting the function point complexity rating basis corresponding question text data, and calculating the total number of votes of all answer results under the question text data from the software function question and answer description data , last update time , and maximum code example line number ; Based on the extraction result, a complexity rating of the software function word is performed, a complexity rating result of the software function word is represented; The expression of the complexity rating is: ; ; ; ; ; Wherein: Content complexity, code complexity, time complexity and quality of the described software function Content complexity, code complexity, time complexity and quality of the described software function Content complexity, code complexity, time complexity and quality of the described software function represents a time control coefficient, represents a current time, represents an exponential function with a natural constant as a base, represents a preset maximum number of problem characters.
2. The method for software cost evaluation of function point analysis as claimed in claim 1 wherein, The software function requirement text in the S1 step comprises: The software function requirement text is text data describing the required functions and characteristics of the software, and comprises text data of five requirement parts, wherein the five requirement parts are in turn a function requirement part, a non-function requirement part, an operation interface description part, a business process part, and an acceptance test part; Each function in the function requirement part has description text of a function name, a function target, a function flow, and an expected result, the non-function requirement part includes description text of performance requirements, security requirements, usability requirements, and maintainability requirements, the operation interface description part is description text of software page layout, interaction mode, and navigation structure, the business process part is description text of software business logic and workflow, and the acceptance test part is description text of acceptance test specific standards and methods.
3. The method for software cost evaluation of a function point analysis as claimed in claim 2, wherein, The semantic analysis on the software function requirement text comprises: The description text of five requirement parts in the software function requirement text is segmented and stop word processed, the segmentation manner is: a description dictionary is constructed for the five requirement parts in the software function requirement text, the description text of the requirement part is matched with the dictionary by using a bidirectional maximum matching manner to obtain the segmentation result of the description text; the stop word processing manner is to construct a stop word table, and the segmentation result existing in the stop word table is filtered; A domain knowledge graph is constructed for each of the five requirement parts in the software function requirement text, and the segmentation result existing in the domain knowledge graph in the text data of each requirement part is extracted as a candidate function word of the requirement part; The context description text of the candidate function word in the software function requirement text is obtained, and semantic analysis is performed in combination with the context description text to obtain a semantic vector of the candidate function word; The semantic analysis is performed in combination with the context description text on the segmentation result of the non-candidate function word in the text data of each requirement part to obtain a semantic vector of the segmentation result; the semantic correlation between the semantic vector of the segmentation result and the semantic vector of any candidate function word in the requirement part is calculated, and the maximum value of the semantic correlation is taken, if the maximum value of the semantic correlation is higher than a preset similarity threshold, the segmentation result is taken as a candidate function word; The candidate functional words and the semantic vectors of the candidate functional words are taken as a set of software functional words, and a software functional word set of each requirement part is constructed respectively, and the software functional word sets of all requirement parts are taken as software functional points, wherein the software functional word set of the i-th requirement part is : ; Wherein: a set of software function words the e-th software function word in the set of software function words, a set of software function words the number of software function words in the set of software function words, a software function word a candidate function word in the set of software function words, a semantic vector of a candidate function word a semantic vector of a candidate function word The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in turn.
4. The method for software cost evaluation of a function point analysis as claimed in claim 3, wherein, The semantic analysis process of the segmentation result of the non-candidate function word and the candidate function word is consistent, and the semantic analysis process is: The context description text of the word group is obtained, wherein the word group is divided into the segmentation result of the non-candidate function word and the candidate function word; Based on the word frequency of the word group in the context description text and the word frequency of the candidate function word, the word weight of the word group is calculated; The context description text of the word group is input into a semantic analysis model to obtain the semantic analysis feature of the context description text, and 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, add [CLS] mark at the beginning of each sentence of the context description text, add [SEP] mark at the end of each sentence, convert the segmentation result in the context description text into a word vector by using Token Embeddings, mark the sentence to which each word vector belongs as the sentence encoding of the word vector, and mark the position of the word vector in the context description text as the position encoding of the word vector, and the word vector, the sentence encoding of the word vector and the position encoding are spliced as the embedding vector of the input layer; The Transformer encoder adopts a multi-head attention mechanism to calculate the attention weight of each word vector in the context, and performs weighted processing on the attention weight, and then performs nonlinear transformation, normalization processing and residual connection processing on the weighted word vector in turn to obtain the context semantic feature of the weighted word vector; The output layer extracts the context semantic feature of the weighted word vector corresponding to the word group as the semantic analysis feature of the context description text of the word group. The semantic analysis features are weighted by using the word weight of the word group to obtain a semantic vector of the word group.
5. The method for software cost evaluation of a function point analysis as claimed in claim 4, wherein, The calculation formula of the word weight is: ; Wherein: denotes a frequency regulation coefficient, denotes the maximum value of denotes the maximum value of represents the frequency of occurrence of the word word in the context description text of the word word; word weight representing the word group word; represents the frequency of occurrence of the candidate function word in the context description text of the word phrase word; represents the proportion of candidate function words in the context description text that exist in the word phrase word.
6. The method for software cost evaluation of a function point analysis as claimed in claim 1, wherein, The formula for evaluating the software cost in the S4 step is: ; Wherein: To develop the factor adjustment factor, adjustments are made based on the background of the software development team, maximum 1, minimum 0.6; represents the software cost evaluation result; a cost adjustment factor representing the i-th demand portion; a set of software function words the e-th software function word in the set of software function words, a set of software function words the number of software function words in the set of software function words, a set of software function words for the i-th requirement part; The first to fifth requirement parts are functional requirement part, non-functional requirement part, operation interface description part, business process part and acceptance test part in sequence.
Citation Information
Patent Citations
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