Software development cost evaluation method and device, medium, equipment and product
Through an automated software development cost assessment method, FASTTEXT and the maximum matching method are used to disassemble the requirement documents, identify and calculate the CFP score, and solve the problem of the COSMIC method relying on manual assessment, thus achieving efficient and accurate cost assessment.
Patent Information
- Application Number
- CN202510624556.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-15
- Publication Date
- 2025-09-19
AI Technical Summary
The existing COSMIC function point method relies on manual evaluation in software development cost assessment, resulting in long evaluation cycles, strong subjectivity, and low accuracy, making it difficult to meet rapidly changing market demands.
By obtaining the requirements document of the target software project, using the FASTTEXT algorithm to decompose the paragraphs, identifying the functional process and splitting it into sub-processes, using the positive and negative maximum matching methods to perform word segmentation and identify keywords, the CFP score of each sub-process is calculated according to the preset CFP score relationship, and a cost assessment report is output. The final assessment result is adjusted based on the difficulty coefficient.
It realizes the automation of software development cost assessment, reduces manual intervention, improves the accuracy and standardization of assessment, reduces time expenditure, and meets the needs of rapid assessment.
Smart Images

Figure CN120672409A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software development technology, and in particular to a software development cost evaluation method, device, medium, equipment and product. Background Art
[0002] Software development cost assessment is the process of systematically estimating the resources (manpower, time, money, etc.) required for a software project. Its core purpose is to provide a quantitative basis for project decision-making, ensure reasonable resource allocation and controllable risks, and avoid resource loss of control.
[0003] Currently, mainstream standards and methods for estimating customized software development costs include COSMIC, IFPUG, and NESMA. The most frequently used method is the COSMIC FSM. The COSMIC FSM (Common Software Measurement International Consortium Functional Size Measurement) is an internationally recognized software size measurement method used to objectively assess software functional size. It measures software size by identifying the number of "data movements."
[0004] However, since the software cannot currently replace humans' in-depth understanding of business scenarios, the COSMIC function point method must rely on manual evaluation during implementation. For example, humans are required to understand the requirements document in light of the business context, analyze the business logic, manually calculate the workload, and conduct expert reviews to confirm development costs.
[0005] It can be seen that the existing COSMIC function point method still needs to rely on manual experience, and has problems such as long evaluation cycle, strong subjectivity and low accuracy, which makes it difficult to meet the rapidly changing market needs. Summary of the Invention
[0006] The present invention provides a software development cost assessment method, apparatus, medium, equipment and product, which are used to overcome the defect of the COSMIC function point method in the prior art that still needs to rely on manual evaluation, realize automatic identification of function points in requirement documents, calculate software development costs, and improve the automation level of the COSMIC function point method.
[0007] The present invention provides a software development cost evaluation method, which includes the following steps.
[0008] Obtain the requirements document corresponding to the target software project; Deconstruct the requirement document into sections to obtain at least one functional process; Split each functional process into multiple sub-processes; Identify the first keyword in each sub-process, and calculate the CFP score of each sub-process based on the correspondence between the first keyword and the preset CFP basic score; A cost assessment report on the target software project is output according to all sub-processes and the CFP score of each sub-process.
[0009] According to a software development cost assessment method provided by the present invention, the step of breaking down the requirements document into sections to obtain at least one functional process includes: identifying at least one second keyword in the requirements document; Based on the at least one second keyword, the requirement document is disassembled using a FASTTEXT algorithm to obtain at least one triggering event and a functional process corresponding to each triggering event.
[0010] According to a software development cost evaluation method provided by the present invention, each functional process is divided into multiple sub-processes, including: Using a positive maximum matching method and / or a negative maximum matching method to segment the functional process to obtain at least one third keyword; identifying at least one data movement corresponding to each third keyword; According to the semantic information of the functional process, semantic filling is performed for each data movement in the at least one data movement to obtain a sub-process corresponding to each data movement.
[0011] According to a software development cost evaluation method provided by the present invention, after splitting each functional process into multiple sub-processes, the method includes: Determine whether null values appear in each sub-process and / or whether repeated data movement occurs; If a null value and / or repeated data movement occurs, prompt information is output for the sub-process where the null value and / or repeated data movement occurs, so that the sub-process is modified.
[0012] According to a software development cost assessment method provided by the present invention, before breaking down the requirement document into sections to obtain at least one functional process, the method further includes: Performing format verification and content verification on the requirement document; Wherein, the format check includes detecting whether the length of the paragraph content is greater than a preset length; The content verification includes detecting whether the paragraph content contains completely repeated functional points, and using regular expressions to detect whether the paragraph content contains preset sensitive information.
[0013] According to a software development cost evaluation method provided by the present invention, outputting a cost evaluation report on the target software project based on all sub-processes and the CFP score of each sub-process includes: Determining the difficulty level of each sub-process; Adjust the CFP score of each sub-process according to the difficulty coefficient; A cost assessment report on the target software project is output based on all sub-processes and the adjusted CFP score of each sub-process.
[0014] The present invention provides a software development cost evaluation device, comprising the following modules: A requirement document acquisition module is used to obtain the requirement document corresponding to the target software project; A functional process identification module is used to decompose the requirement document into paragraphs to obtain at least one functional process; Sub-process identification module, used to split each functional process into multiple sub-processes; A CFP score calculation module, configured to identify a first keyword in each sub-process and calculate a CFP score for each sub-process based on a correspondence between the first keyword and a preset CFP basic score; The cost assessment report output module is used to output a cost assessment report on the target software project based on all sub-processes and the CFP score of each sub-process.
[0015] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, any of the above-described software development cost evaluation methods is implemented.
[0016] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the software development cost evaluation methods described above.
[0017] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above-mentioned software development cost evaluation methods.
[0018] The software development cost assessment method, apparatus, medium, equipment, and product provided by the present invention obtain a requirements document corresponding to a target software project; decompose the requirements document into paragraphs to obtain at least one functional process; split each functional process into multiple sub-processes; identify keywords in each sub-process, and calculate the CFP score of each sub-process based on the correspondence between the keywords and a preset CFP basic score; and output a cost assessment report for the target software project based on the CFP scores of all sub-processes and each sub-process. This method does not require manual entry writing and workload calculation, and can automatically split and write functional processes and their sub-processes based on the content in the requirements document. At the same time, details such as content standardization and workload calculation no longer rely on expert experience and judgment, thereby improving the automation level of the COSMIC method, reducing the complexity of the original work, reducing time expenditure, and improving the accuracy and standardization of the calculated project CFP score. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the present invention or the prior art, a brief introduction is given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0020] Figure 1 It is a flowchart of the software development cost evaluation method provided by the present invention.
[0021] Figure 2 This is an example diagram of a requirement document provided by the present invention.
[0022] Figure 3 This is a schematic diagram of a list after the demand document provided by the present invention is split.
[0023] Figure 4 This is a schematic diagram of the CFP score distribution provided by the present invention.
[0024] Figure 5 This is a schematic diagram of the distribution of the number of sub-processes provided by the present invention.
[0025] Figure 6 This is a schematic diagram comparing CFP and workload statistics provided by the present invention.
[0026] Figure 7 It is a schematic diagram of the verification result evaluation information provided by the present invention.
[0027] Figure 8 It is a schematic diagram of the overall flow of the software development cost evaluation method provided by the present invention.
[0028] Figure 9 It is a structural diagram of the software development cost evaluation device provided by the present invention.
[0029] Figure 10 It is a structural diagram of another software development cost evaluation device provided by the present invention.
[0030] Figure 11 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0031] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0032] The following combination Figures 1-11 Specific embodiments of the present invention are described.
[0033] Figure 1 It is a flowchart of the software development cost evaluation method provided by the present invention, such as Figure 1 As shown, the method includes the following steps.
[0034] Step 101: Obtain the requirement document corresponding to the target software project.
[0035] Among them, the requirements document is a formal document that defines the project goals, functions, constraints and delivery standards. It describes the project background, functional requirements (i.e. specific functional descriptions) and non-functional requirements (such as performance parameters, security, compatibility, maintainability), etc. The requirements document can be in the form of a document edited by Word, Excel or other editing tools.
[0036] Specifically, the requirement template import and export unit is used to import the requirement document corresponding to the target software. The requirement document needs to be formatted and written in accordance with the standard format so that the content of the requirement document can be subsequently segmented and paragraphs extracted.
[0037] Step 102: Decompose the requirement document into paragraphs to obtain at least one functional process.
[0038] The functional process is a detailed description of how the system accomplishes a specific task or user goal. It defines the steps involved in user-system interaction, data flow, and the logic of system behavior. It is the core practical guide in the requirements document and directly influences design and development implementation. A complete functional process requires the following:
[0039] 1. Triggering condition (or triggering event): What event or action starts the process? For example, a user clicks the "Submit Order" button and a sensor detects that the temperature exceeds a threshold.
[0040] 2. Participants: What roles are involved (users, external ports, etc.)? 3. Input and output: For example, input is form information provided by the user, sensor signals, etc.; output is the generated order number, etc.
[0041] 4. Processing steps: How does the system respond to user actions step by step? 5. Exception handling: a mechanism for dealing with errors or unexpected situations.
[0042] Specifically, step 102 is primarily about breaking down the content of the requirements document. Considering that the content in a requirements document cannot be standardized, a statement such as "query and add...business scenarios" may appear. While this statement represents a single functional process in the requirements document, it actually contains two sub-process descriptions: "query" and "add." Therefore, content breakdown is necessary first.
[0043] After sorting out the current requirement documents, we can use the COSMIC vocabulary as a basis for keyword recognition to decompose the description content in the functional process into "trigger events" and "functional processes", as shown in Table 1 below.
[0044] Table 1
[0045] This step 102 specifically includes: identifying at least one second keyword in the requirement document; based on the at least one second keyword, using the FASTTEXT algorithm to disassemble the requirement document to obtain at least one trigger event and a functional process corresponding to each trigger event; wherein each trigger event contains a second keyword.
[0046] To elaborate, this embodiment uses the FASTTEXT algorithm to disassemble the requirement document. Generally, the functional description features in common requirement documents are more obvious. For example, the functional description content in a requirement document is shown below.
[0047] "Support XXX information viewing, support GIS plane Figure 1 Click to view the basic information of the building: name, address, area, floor, etc. You can search the building list according to the building name, code, address, resource coverage, and building level.
[0048] Supports adding XXX scene information, performing new operations on the scene, supporting custom scene boundaries based on GIS maps, filling in basic scene information and grid processing.
[0049] Supports modification of XXX scene information. Modification operations can be performed on scene information, including modification of business building name, type, address, boundary and other information. The above description includes keywords from the COSMIC vocabulary (i.e., the second keyword, such as "view," "add," and "modify"). Furthermore, the n-gram feature in the FASTTEXT algorithm shows that when the actual vector value (i.e., the n in the n-gram) is greater than 2, the words with higher weights are still "view," "add," and "modify."
[0050] The FASTTEXT algorithm is an algorithm for text classification and word representation learning. It improves upon the bag-of-words model and can consider local word features (n-grams). The n-gram feature is a sliding window-based text feature extraction method. It considers the local context of a word by combining n consecutive words (or characters) into a single feature unit. For word representation learning, FASTTEXT not only focuses on the word itself but also uses its n-gram segments as features. For example, for the word "apple," when the n-gram count is 3, it generates segment features such as "app," "ppl," and "ple." These features help better capture the semantic information of the word, especially for words with similar spellings but semantically related features. The extracted word or n-gram features are mapped into vectors, and the values of each component in the vector represent the importance (e.g., weight) of the word or feature unit in the text.
[0051] By splitting the existing requirement documents for training, the above statements are gradually disassembled, and the final process is as follows.
[0052] Statements in the original requirement document: Support XX scenario modification, XX scenario modification, support... and other information modifications; Feature vector 1: XX scenario Eigenvector 2: Modification Supplement: Start the trigger event with 'execute' Training results: Based on this information, the above description can be split into the description content shown in Table 1 above.
[0053] Step 103: split each functional process into multiple sub-processes.
[0054] According to the COSMIC specification, a sub-process is the finest-grained unit of decomposition of a functional process. According to COSMIC requirements, each sub-process must be broken down into processes related to data movement types. The COSMIC specification defines four data movement types: Entry, eXit, Read, and Write, represented by the letters E, X, R, and W, respectively. The COSMIC principle measures software scale by identifying the number of "data movements," each of which is counted as a Cosmic Function Point (CFP). Therefore, each sub-process description can only include one data movement (CFP). This means that each sub-process description can only contain one data movement type, and only one data movement of that type.
[0055] Specifically, in this step, each functional process needs to be split into multiple sub-processes according to the above-mentioned COSMIC specification; wherein, each sub-process has only one data movement (i.e., CFP).
[0056] To elaborate, in order to meet the COSMIC specification, that is, to split the functional process into the finest-grained split units (i.e., sub-processes), it is necessary to first perform word segmentation, that is, to extract preset keywords (such as view, check, query, etc.) from the description content of the functional process. For example, keyword extraction is performed on the above-mentioned functional process "XXX scene information view", and the following key split words are obtained, as shown in Table 2.
[0057] Table 2
[0058] After keyword splitting, each keyword split word needs to be split into sub-processes corresponding to the above data movement types (E, X, R, W).
[0059] For the key word "view" mentioned above, after actual refinement, only three data movements are required to achieve it: input (E), read (R), and output (X).
[0060] According to the semantic information in the above functional process, the above three data movements are semantically filled to obtain three sub-processes, as shown in Table 3 below.
[0061] Table 3
[0062] According to the above steps 102 and 103, the requirement document (such as Figure 2 As shown, Figure 2 (a sample diagram of a requirements document) and fill it with basic item information that meets the requirements of COSMIC specifications (such as Figure 3 As shown, Figure 3 (Figure 2) is a schematic diagram of the list after the requirements document is split. Except for the CFP score, it meets the COSMIC specification requirements.
[0063] Step 104 : Identify the first keyword in each sub-process, and calculate the CFP score of each sub-process based on the correspondence between the first keyword and the preset CFP score.
[0064] Among them, the CFP score is a quantitative evaluation result of the software functional scale based on the COSMIC function point method, which is used to objectively measure software complexity and estimate development costs and resource requirements.
[0065] Specifically, generate the above COSMIC entry information (such as Figure 3 After that, the final size assessment is carried out based on the CFP score (also known as the function point score).
[0066] First, a cost standard assessment is required, using CFP as the statistical basis. CFP, as the unit of measurement for COSMIC functional scale, generally has only three enumerated values: 1 point for new function points (indicating function points developed for the first time in a system), no points for reused function points (indicating the direct reuse of mature function points from existing systems or third-party services), and 0.33 points for iterative function points (indicating modifications, expansions, or optimizations to existing functionality requiring partial redevelopment).
[0067] Because function point descriptions may contain repeated keywords or not include the first keyword (for example, in addition to the aforementioned input, output, read, and write, adding can also be used as an action in a sub-process description), first keywords are pre-set, including input, output, read, write, and add. Keyword recognition can be used to assign a matching score or a default score to each sub-process's CFP score, which is then corrected in the verification and correction unit. The scoring basis (i.e., the correspondence between keywords and the preset CFP basic score) is as follows.
[0068] (1) If the sub-process description contains the keyword (reuse), it will be assigned 0 points by default.
[0069] (2) If the sub-process description contains the keyword (iteration), a default score of 0.33 is assigned.
[0070] (3) If the sub-process description contains (newly added) keywords, 1 point will be assigned by default.
[0071] (4) If the sub-process description contains two or more keywords at the same time, the score will be assigned based on the minimum score principle.
[0072] (5) If none of the above are included, the default score is 0.
[0073] According to the correspondence between the above keywords and the preset CFP basic scores, the CFP score of each sub-process is calculated.
[0074] Step 105: Output a cost assessment report on the target software project based on all sub-processes and the CFP score of each sub-process.
[0075] Specifically, the automation evaluation basis (i.e., the total CFP score) of the target software project is calculated using a standardized formula, as shown below.
[0076] ; (1) Where S is the total CFP score of the target software project, is the CFP score of the ith sub-process, and n is the total number of sub-processes.
[0077] Optionally, the above step 105 includes: determining the difficulty coefficient of each sub-process; adjusting the CFP score of each sub-process according to the difficulty coefficient; and outputting a cost assessment report on the target software project based on all sub-processes and the adjusted CFP score of each sub-process.
[0078] Specifically, since the difficulty of customized software development varies greatly, this embodiment can support users to adjust the development difficulty coefficient in the sub-process description according to actual conditions, so as to avoid the situation where the workload of different difficulty levels cannot be quantified. For example: using an existing development framework can be assessed as general difficulty; independently modifying or creating a development framework can be assessed as complex difficulty; and only processing data or interfaces can be assessed as simple difficulty. Based on different difficulties, the CFP score of each sub-process can be adjusted to facilitate subsequent workload cost assessment work. The total CFP score of the target software project after the difficulty coefficient adjustment is , the calculation formula is as follows.
[0079] ; (2) in, is the total CFP score of the target software project after adjusting the difficulty coefficient, is the CFP score of the ith sub-process, n is the total number of sub-processes, is the difficulty coefficient of the i-th sub-process.
[0080] The final output is a cost assessment report that presents the complete conclusions based on the defined conditions. The cost assessment report should include the following content, as shown in Table 4 below.
[0081] Table 4
[0082] For example: There are 1081 sub-processes in this requirement, CFP statistics: 1 point (766), 0 point (24), 0.33 points (291); coefficient statistics: general difficulty coefficient: 1 (582), simple difficulty coefficient: 0.7 (219), complex difficulty coefficient: 1.3 (280).
[0083] Final scale = (555*1+3*0+27*0.33)*1+(184*1+23*0+35*0.33)*0.7+(27*1+218*0.33)*1.3=858.4.
[0084] According to the custom scale standard: scale ≥1000 is large-scale cost software; scale ≥300 and ≤999 = medium-scale software; scale ≤299 is small-scale cost software; the software development cost assessment scale for this requirement is: medium.
[0085] in addition, Figure 4-Figure 6 The diagram shows the statistical results in the cost assessment report. Figure 4 This is a diagram of the CFP score distribution. Figure 5 Schematic diagram of the distribution of the number of sub-processes; Figure 6 This is a schematic diagram comparing CFP and workload statistics.
[0086] The above embodiment obtains the requirements document corresponding to the target software project; decomposes the requirements document into paragraphs to obtain at least one functional process; splits each functional process into multiple sub-processes; identifies keywords in each sub-process, and calculates the CFP score of each sub-process based on the correspondence between the keywords and the preset CFP basic score; and outputs a cost assessment report on the target software project based on the CFP scores of all sub-processes and each sub-process. This method does not require manual entry writing and workload calculation, and can automatically split and write functional processes and their sub-processes based on the content in the requirements document. At the same time, details such as content standardization and workload calculation no longer rely on expert experience and judgment, thereby improving the automation level of the COSMIC method, reducing the complexity of the original work, reducing time expenditure, and improving the accuracy and standardization of the calculated project CFP score.
[0087] Furthermore, the above embodiment uses the FASTTEXT algorithm to perform intelligent content analysis and function point identification on unstructured user requirement documents, and automatically converts non-standard requirement documents into standard COSMIC functional requirement description documents in accordance with COSMIC specification requirements. At the same time, it automatically calculates the development cost of customized software based on the COSMIC function point counting rules, solving the problems of long evaluation cycle, strong subjectivity, and low accuracy in manual CCOSMIC measurement.
[0088] Furthermore, after generating COSMIC item information, the above embodiment performs a final scale assessment based on the CFP score. Due to varying levels of development difficulty, the actual development workload cannot be accurately reflected in the CFP score. Considering that quantifying development difficulty requires detailed classification, this embodiment combines difficulty coefficient adjustment with cost scale assessment to form a complete adjustment and assessment process. Software cost assessment is achieved by combining the CFP score and difficulty coefficient, and ultimately using a universal statistical method for settlement and evaluation, making the assessment more realistic.
[0089] In one embodiment, the above-mentioned step 103 includes: using the positive maximum matching method and / or the negative maximum matching method to segment the functional process to obtain at least one third keyword; identifying at least one data movement corresponding to each third keyword; and performing semantic filling for each data movement in the at least one data movement based on the semantic information of the functional process to obtain a sub-process corresponding one-to-one to each data movement.
[0090] Among them, the positive maximum matching method and the negative maximum matching method are two classic dictionary-based word segmentation algorithms in Chinese word segmentation, which segment words by maximizing the matching word length.
[0091] The forward maximum match method scans the text from left to right (i.e., starting from the first character of the text) and searches a dictionary (containing multiple preset third keywords) for the longest possible word in the remaining text as the segmentation result. After segmentation, the remaining text is processed. Specifically, a maximum word length L is initialized (e.g., 5 characters). Starting from the first character of the text, candidate words of length L are selected (L decreases from the maximum word length to 1). If the candidate word exists in the dictionary, it is segmented and the remaining text is processed recursively. If all candidate words are not in the dictionary, the word is segmented individually (e.g., "spider" is a separate word).
[0092] Correspondingly, the negative maximum match method involves starting from the end of the text and selecting candidate words of length L (L is decremented from the maximum word length to 1). If the candidate word exists in the dictionary (including multiple preset third keywords), the word is segmented, and the remaining left text is processed recursively. If none of the candidate words are in the dictionary, the word is segmented individually.
[0093] Specifically, this implementation uses the positive / negative maximum matching method to segment the functional process. The maximum matching feature for the negative direction is "view," the maximum matching feature for the positive direction is "view," and the keyword analogy for the vocabulary is "query / view / lookup," which meets the requirements. The segmentation results are shown in Table 2 above.
[0094] After word segmentation, sub-processes are added to the keyword "view." Since sub-processes must contain the four actions of input, output, read, and write, each of which can only occur once, and the "write" action can be omitted, training on existing COSMIC entries is also necessary to avoid instances where the action does not match the keyword. For the view / query / lookup actions, only three sub-processes are required after refinement.
[0095] Enter <descriptive statement>; Read <descriptive statement>; Output <descriptive statement> to view the results; The final sub-process filling results are shown in Table 3 above.
[0096] In the above embodiment, the description content of the functional process is segmented and split by the positive maximum matching method and the negative maximum matching method, the third keyword is extracted, and then the sub-process filling is realized through semantic filling, thereby automatically splitting the requirement document into the smallest granularity CFP unit, providing an effective data basis for subsequent cost evaluation.
[0097] In one embodiment, in order to meet the COSMIC specification, which requires that there be only one data movement in each sub-process, after the above step 103, it includes: determining whether a null value appears in each sub-process and / or whether repeated data movement occurs; if a null value and / or repeated data movement occurs, outputting a prompt message for the sub-process that appears the null value and / or repeated data movement, so that the sub-process is modified.
[0098] Specifically, the generated COSMIC item contents are verified to determine whether the item list contains invalid function points, empty function points, or content that does not meet COSMIC description requirements, for example.
[0099] Check whether there are null values in sub-process descriptions or mobile data types due to unrecognized data types; Verify whether there are any cases where word segmentation extraction does not meet the requirements. COSMIC standards require that words such as "verify", "analyze", and "judge" should not appear. Check for duplicate or incorrect data movement types, such as multiple Xs (indicating output) in a sub-process; Verify invalid function point descriptions, such as temporary tables, cache tables, redis, etc.; After the verification, the verification result evaluation information must be issued. If it meets the requirements, the scale assessment process will be carried out. If it does not meet the rules, a detailed description of the non-compliance will be provided and corrections will be required. Figure 7 As shown, Figure 7 A schematic diagram showing the calibration result evaluation information.
[0100] The above embodiment verifies the completed COSMIC item content, especially the sub-process, so that the generated COSMIC item content meets the COSMIC specification requirements, thereby ensuring the reliability of subsequent function point score evaluation.
[0101] In one embodiment, before the above step 102, it also includes: performing format verification and content verification on the requirement document; wherein the format verification includes detecting whether the length of the paragraph content is greater than a preset length; the content verification includes detecting whether the paragraph content contains completely repeated functional points, and using regular expressions to detect whether the paragraph content contains preset sensitive information.
[0102] Specifically, considering the unique requirements of different companies and businesses, the requirements document format only includes certain standard requirements and verifications to facilitate filling in other detailed information. Referring to the COSMIC standard, mandatory fields include: requirement name, module level name, sub-process description, etc. The requirements document verification unit only verifies these contents. The mapping between requirements documents and COSMIC item names is shown in Table 5 below.
[0103] Table 5
[0104] The requirements document verification unit verifies the format and content of the requirements document and includes the following three points.
[0105] (1) Paragraph content standardization: There must be a "Business Function Requirements" directory. This device starts to identify the second-level, third-level, and fourth-level directories as COSMIC item classifications from below the directory; the lowest-level directory must have content when expanded, and this content is the basis for the description of trigger events, functional processes, and sub-processes of the content processing module; the length of the paragraph content must exceed 100 words, otherwise it is impossible to describe the functional points in detail.
[0106] (2) Paragraph content repetition: Paragraphs and content cannot contain completely repeated functional points. Since COSMIC strictly requires that repeated functional points are not included in the development cost, paragraphs should distinguish between business scenario names, and content should distinguish between business scenario names and actual operation behaviors to ensure that content is not ignored in statistics due to repeated descriptions.
[0107] (3) Paragraph content sensitivity: The content must not contain sensitive information, such as user ID number, mobile phone number, bank card number, etc., which can be identified by regular expressions.
[0108] The above embodiment pre-processes the demand document to ensure that the content of the items after subsequent paragraph decomposition and keyword extraction meets the COSMIC requirements, thereby ensuring the reliability of the results of the subsequent cost evaluation.
[0109] The following describes the entire process of the software development cost evaluation method using a specific embodiment. Figure 8 As shown, Figure 8 This is a schematic diagram of the overall process of software development cost evaluation method. Figure 9 This is a structural diagram of the software development cost evaluation device. The device is mainly divided into three modules, including an intelligent preliminary review module, a function point identification module, and an adjustment and evaluation module.
[0110] The overall process of the software development cost evaluation device constructed by combining the above modules is as follows.
[0111] (1) The "Requirement Template Import and Export Unit" imports the formatted requirement document; the "Requirement Template Import and Export Unit" can also export and modify the template based on the modification suggestions proposed by the "Verification and Correction Unit".
[0112] (2) The “Requirement Document Verification Unit” performs content verification, confirms the modifications, missing supplementary content, and then imports it again to meet the requirements.
[0113] (3) The “functional point intelligent identification unit” uses the FASTTEXT algorithm to decompose paragraphs.
[0114] (4) The “functional point intelligent identification unit” extracts keywords through the positive / negative maximum matching algorithm for intelligent identification and filling.
[0115] (5) The “Verification and Correction Unit” is used to perform verification of COSMIC item contents (modification if not meeting the requirements).
[0116] (6) “Cost Standard Assessment Unit” is used to perform cost standard assessment.
[0117] (7) The “coefficient adjustment unit” is used to perform coefficient adjustment.
[0118] (8) The “Cost Scale Assessment Unit” is used to perform cost scale assessment and issue an assessment report.
[0119] The above embodiment, based on the COSMIC standard and combined with existing actual business scenarios, constructs a closed-loop process for requirement document identification and verification, cost assessment, and requirement document update; it not only complies with general industry standards, but also fully considers and combines requirements such as document standardization, rationality of assessment basis, and specificity of assessment content, and outputs a cost scale assessment report, which can meet the requirements for automated development cost assessment in various business scenarios.
[0120] like Figure 10 As shown, Figure 10 A structural diagram of another software development cost evaluation device provided by the present invention is shown. The software development cost evaluation device and the software development cost evaluation method described above can be referred to in correspondence with each other. Figure 10 The software development cost evaluation device includes the following modules.
[0121] The requirement document acquisition module 1001 is used to obtain the requirement document corresponding to the target software project; A functional process identification module 1002 is configured to decompose the requirement document into sections to obtain at least one functional process; A sub-process identification module 1003 is used to split each functional process into multiple sub-processes; A CFP score calculation module 1004 is configured to identify a first keyword in each sub-process and calculate a CFP score for each sub-process based on a correspondence between the first keyword and a preset CFP basic score; The cost assessment report output module 1005 is configured to output a cost assessment report on the target software project based on all sub-processes and the CFP score of each sub-process.
[0122] In one embodiment, the functional process identification module 1002 is further configured to: identifying at least one second keyword in the requirements document; Based on the at least one second keyword, the requirement document is disassembled using a FASTTEXT algorithm to obtain at least one triggering event and a functional process corresponding to each triggering event.
[0123] In one embodiment, the sub-process identification module 1003 is further configured to: Using a positive maximum matching method and / or a negative maximum matching method to segment the functional process to obtain at least one third keyword; identifying at least one data movement corresponding to each third keyword; According to the semantic information of the functional process, semantic filling is performed for each data movement in the at least one data movement to obtain a sub-process corresponding to each data movement.
[0124] In one embodiment, a function point inspection unit is further included, which is used to: Determine whether null values appear in each sub-process and / or whether repeated data movement occurs; If a null value and / or repeated data movement occurs, prompt information is output for the sub-process where the null value and / or repeated data movement occurs, so that the sub-process is modified.
[0125] In one embodiment, the system further includes a requirement document checking unit configured to: Performing format verification and content verification on the requirement document; Wherein, the format check includes detecting whether the length of the paragraph content is greater than a preset length; The content verification includes detecting whether the paragraph content contains completely repeated functional points, and using regular expressions to detect whether the paragraph content contains preset sensitive information.
[0126] In one embodiment, the cost assessment report output module 1005 is used to: Determining the difficulty level of each sub-process; Adjust the CFP score of each sub-process according to the difficulty coefficient; A cost assessment report on the target software project is output based on all sub-processes and the adjusted CFP score of each sub-process.
[0127] Figure 11 An example of a physical structure diagram of an electronic device is shown below. Figure 11 As shown, the electronic device may include: a processor 1110, a communications interface 1120, a memory 1130, and a communications bus 1140, wherein the processor 1110, the communications interface 1120, and the memory 1130 communicate with each other via the communications bus 1140. The processor 1110 may call logic instructions in the memory 1130 to execute a software development cost assessment method, which includes: obtaining a requirements document corresponding to a target software project; breaking down the requirements document into paragraphs to obtain at least one functional process; dividing each functional process into multiple sub-processes; identifying keywords in each sub-process, and calculating the CFP score of each sub-process based on the correspondence between the keywords and a preset CFP basic score; and outputting a cost assessment report for the target software project based on the CFP scores of all sub-processes and each sub-process.
[0128] Furthermore, the logic instructions in the aforementioned memory 1130 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product, stored in a storage medium, includes instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0129] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the software development cost evaluation method provided by the above methods, which includes: obtaining a requirement document corresponding to the target software project; decomposing the requirement document into paragraphs to obtain at least one functional process; splitting each functional process into multiple sub-processes; identifying keywords in each sub-process, and calculating the CFP score of each sub-process based on the correspondence between the keywords and the preset CFP basic score; and outputting a cost evaluation report on the target software project based on the CFP scores of all sub-processes and each sub-process.
[0130] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the software development cost evaluation method provided by the above-mentioned methods, the method comprising: obtaining a requirement document corresponding to a target software project; decomposing the requirement document into paragraphs to obtain at least one functional process; splitting each functional process into multiple sub-processes; identifying keywords in each sub-process, and calculating the CFP score of each sub-process based on the correspondence between the keywords and a preset CFP basic score; and outputting a cost evaluation report on the target software project based on the CFP scores of all sub-processes and each sub-process.
[0131] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0132] Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a necessary general-purpose hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods described in each embodiment or certain portions of the embodiments.
[0133] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A software development cost assessment method, characterized in that: include: Obtain the requirements document corresponding to the target software project; Deconstruct the requirement document into sections to obtain at least one functional process; Split each functional process into multiple sub-processes; Identify the first keyword in each sub-process, and calculate the CFP score of each sub-process based on the correspondence between the first keyword and the preset CFP basic score; A cost assessment report on the target software project is output according to all sub-processes and the CFP score of each sub-process.
2. The software development cost evaluation method according to claim 1, characterized in that: The step of breaking down the requirement document into sections to obtain at least one functional process includes: identifying at least one second keyword in the requirements document; Based on the at least one second keyword, the requirement document is disassembled using a FASTTEXT algorithm to obtain at least one triggering event and a functional process corresponding to each triggering event.
3. The software development cost evaluation method according to claim 1, wherein: Each functional process is divided into multiple sub-processes, including: Using a positive maximum matching method and / or a negative maximum matching method to segment the functional process to obtain at least one third keyword; identifying at least one data movement corresponding to each third keyword; According to the semantic information of the functional process, semantic filling is performed for each data movement in the at least one data movement to obtain a sub-process corresponding to each data movement.
4. The software development cost evaluation method according to claim 1, wherein: After splitting each functional process into multiple sub-processes, it includes: Determine whether null values appear in each sub-process and / or whether repeated data movement occurs; If a null value and / or repeated data movement occurs, prompt information is output for the sub-process where the null value and / or repeated data movement occurs, so that the sub-process is modified.
5. The software development cost evaluation method according to claim 1, wherein: Before breaking down the requirement document into sections to obtain at least one functional process, the process further includes: Performing format verification and content verification on the requirement document; Wherein, the format check includes detecting whether the length of the paragraph content is greater than a preset length; The content verification includes detecting whether the paragraph content contains completely repeated functional points, and using regular expressions to detect whether the paragraph content contains preset sensitive information.
6. The software development cost evaluation method according to claim 1, wherein: Outputting a cost assessment report on the target software project based on all sub-processes and the CFP score of each sub-process includes: Determining the difficulty level of each sub-process; Adjust the CFP score of each sub-process according to the difficulty coefficient; A cost assessment report on the target software project is output based on all sub-processes and the adjusted CFP score of each sub-process.
7. A software development cost evaluation device, characterized in that: include: A requirement document acquisition module is used to obtain the requirement document corresponding to the target software project; A functional process identification module is used to decompose the requirement document into paragraphs to obtain at least one functional process; Sub-process identification module, used to split each functional process into multiple sub-processes; A CFP score calculation module, configured to identify a first keyword in each sub-process and calculate a CFP score for each sub-process based on a correspondence between the first keyword and a preset CFP basic score; The cost assessment report output module is used to output a cost assessment report on the target software project based on all sub-processes and the CFP score of each sub-process.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the computer program, the software development cost evaluation method according to any one of claims 1 to 6 is implemented.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the software development cost evaluation method according to any one of claims 1 to 6 is implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the software development cost evaluation method according to any one of claims 1 to 6 is implemented.
Citation Information
Cited By
Working hour evaluation method and device, storage medium and electronic equipment
CN121937260A