Software development system based on dynamic programming

Through a software development system based on dynamic programming, different functional parameters of the software system are generated and verified, the problem of the inability to gradually verify and verify the main functions of the software system multiple times in the existing technology is solved, improving the efficiency of defect discovery and reducing economic losses.

CN119781734APending Publication Date: 2025-04-08NANJING LUNAIZUN TECHNOLOGY CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411916767.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

It is difficult for the existing technology to gradually verify the different functions of the software system during software development, and it is impossible to simulate the verification parameters corresponding to the main functions of the software system for multiple verifications, resulting in software defects being discovered only after the software is launched, affecting business processes and causing economic losses.

Method used

A software development system based on dynamic planning is adopted to generate verification parameters for different functions through system information acquisition module, main function analysis module, verification parameter generation module, system defect judgment module and expansion module, verify the functions of the software system one by one, and verify the main functions multiple times to discover and repair defects.

Benefits of technology

The gradual verification of different functions of the software system and multiple verifications of the main functions have been achieved, which improves the efficiency of defect discovery in the software development process, reduces the economic losses caused by defects after the software is launched, and rationally utilizes hardware resources, avoiding the problem of slowness in verification system due to excessive load.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119781734A_ABST
    Figure CN119781734A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, in particular to a software development system based on dynamic programming, which comprises a system information acquisition module, a main function analysis module, a verification parameter generation module, a system defect judgment module and an expansion module, the main function analysis module determines main functions in the software requirement document according to the function vocabulary with the highest occurrence frequency in the software requirement document, and when the verification parameter generation module generates verification parameters and keywords corresponding to the verification parameters are the same as keywords of the main functions of the software system, the main function analysis module determines the main functions in the software requirement document. When the verification parameters are verified, a software calculation formula and operation steps corresponding to the verification parameters are main functions, at the moment, the main functions are verified for multiple times, and it is ensured that the main functions can reliably operate in various actual use scenes by repeatedly testing the performance of the main functions in different scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, in particular to a software development system based on dynamic programming. Background Art

[0002] The cost of discovering and fixing defects in the early stages of software development is much lower than after the software is released. If testing is not performed during the development process, problems in the software may not be discovered until the subsequent integration test, user acceptance test, or even after the software is launched. However, if problems are discovered after the software is launched, the entire system may need to be redeployed, affecting related business processes and causing huge economic losses.

[0003] Since different software systems have different functions, in order to simulate software operation more accurately, existing technologies usually call out multiple software functions in the software requirement document, and then simultaneously generate multiple verification parameters that meet the software functions, and verify the functions in the software system through multiple verification parameters. However, in the process of verifying different functions with multiple verification parameters at the same time, the verification system needs to process a large number of verification requests and data, and the verification system may become slow due to excessive load, resulting in increased verification time;

[0004] At the same time, when the main functions of the software system are running, it needs to receive multiple different data for processing, so the main functions involve multiple software operation steps and software calculation formulas. Before the software system is used, if the main functions cannot be verified multiple times, it will be difficult to find defects in the main functions of the software. In view of this, we propose a software development system based on dynamic programming. Summary of the invention

[0005] The purpose of the present invention is to solve the problem that when there are defects in the software system, after the software system is developed, the software system cannot be verified step by step according to different functions in the software system, and the verification parameters corresponding to the main functions of the software system cannot be simulated to verify the software system multiple times;

[0006] To achieve the above-mentioned purpose, the present invention provides a software development system based on dynamic programming, which generates different verification parameters corresponding to different software functions during the software system development process, verifies the functions of the software system one by one, and verifies the main functions of the software system multiple times, including a system information acquisition module, a main function analysis module, a verification parameter generation module, a system defect judgment module and an expansion module;

[0007] The system information acquisition module obtains the software requirement documents, software operation logic and the industry of the software system in the system database through the application programming interface, collects professional vocabulary corresponding to different functions in the software system from the network platform through the web crawler, and constructs a functional vocabulary library through the professional vocabulary;

[0008] The main function analysis module is used to extract professional vocabulary corresponding to the functional vocabulary library in the software requirement document, and determine the main functions of the software system according to the frequency of occurrence of professional vocabulary in the software requirement document;

[0009] The verification parameter generation module is used to extract the software calculation formula and operation steps in the software requirement document, and generate verification parameters that conform to the software calculation formula and operation steps, receive the main functions analyzed by the main function analysis module, call out the software operation logic parameters that conform to the main functions, generate multiple verification parameters for the main functions, and perform multiple verifications on the main functions; the system defect judgment module inputs the verification parameters into the software system, tracks the software calculation formula and software operation steps, and outputs a reminder signal to the staff when there are defects in the software calculation formula and errors in the software operation steps;

[0010] The expansion module collects software operation steps according to the industry in which the software system is located. If the collected operation steps are different from the current software operation steps, they are fed back to the staff through the system information acquisition module to assist the staff in developing the software system.

[0011] The steps for the system information acquisition module to acquire the software requirement document, software operation logic and the industry of the software system in the system database are as follows:

[0012] According to the authentication mechanism of the program programming interface, the verification information Q is sent to the system database to obtain the permission to access the database, which is similar to the process of entering the account and password to log in when visiting a website that requires login;

[0013] If Q = W, a communication link is established with the system database;

[0014] Wherein, W is the verification information stored in the system database;

[0015] A request message for obtaining software requirement documents, software operation logic, and the industry in which the software system is located is sent to the system database, and the system database outputs the software requirement documents, software operation logic, and the industry in which the software system is located through the established communication link.

[0016] The vocabulary building module collects professional vocabulary corresponding to different functions in the software system through a web crawler, and the steps of building a functional vocabulary library are as follows:

[0017] The web crawler uses the HTTP protocol to send requests to the network platforms corresponding to different software industries, informing the network platforms that they need to obtain the functional professional vocabulary corresponding to different software industries;

[0018] After receiving the request, the network platform returns a response indicating whether the request is successful or failed. If the request fails, the web crawler continues to send requests to different network platforms until the request succeeds.

[0019] When the request is successful, professional vocabulary corresponding to functions in different software industries is obtained, and the professional vocabulary corresponding to each software industry is constructed into a functional vocabulary library.

[0020] The steps of determining the main functions of the software system by the main function analysis module are as follows:

[0021] Receiving the software requirement document and the functional vocabulary library in the system information acquisition module;

[0022] Scan from the beginning of the software requirement document, and when you encounter a functional vocabulary corresponding to the functional vocabulary library, extract the vocabulary, and repeat this process until the entire software requirement document is scanned;

[0023] Calculate the frequency of each functional word in the software requirement document in turn to determine the main functions of the software system;

[0024] Since functional vocabulary is the core vocabulary for describing software systems, functional vocabulary appears most frequently in software requirement documents;

[0025] The total number of words in the received software requirement document is N, and the number of times the word ω appears is n ω ;

[0026] At this time, the word frequency of vocabulary ω is:

[0027] Calculate the vocabulary ω1, ω2, ω3, ..., ω in sequence i TF ω1 , TF ω2 , TF ω3 , …, TF ωi ;

[0028] Sort the frequency of different words in descending order: TF ω1 >TF ω2 >TF ω3 >…>TF ωi ;

[0029] Due to TF ω1 The word frequency of is the largest, then TF ω1 It is the main function of the software system.

[0030] The steps of the verification parameter generation module generating verification parameters that conform to the software calculation formula and software operation steps are as follows:

[0031] Collect keywords of software calculation formulas and software operation steps through web crawlers;

[0032] Receive the software requirement document and software operation logic obtained by the system information acquisition module;

[0033] Compare the collected keywords with the calculation formulas and operation step keywords in the software requirement document one by one, and call out the software calculation formulas and software operation steps with the same functions in the software requirement document one by one;

[0034] According to the software operation logic, determine the value range [min, max] of the verification parameters that conform to the software calculation formula and operation steps;

[0035] Randomly select verification parameters within the value range;

[0036]

[0037] Where n is the verification parameter, rand() is a function that generates uniformly distributed random numbers in the interval (0,1). represents the floor function;

[0038] After verifying n software systems, the selected n are removed from the data set [min, max], and when a software system in the software requirement document is verified, the next software function corresponding to the keyword in the software requirement document is called out again through the keyword.

[0039] The steps for the system defect judgment module to judge whether there are defects in the software system code are as follows:

[0040] Receive software code, verification parameters, verification parameters generated by the generation module, software calculation formulas and software running steps in the system information acquisition module;

[0041] Input the verification parameters into the corresponding software code one by one, obtain the software operation parameter A through the software code operation, simulate and calculate the verification parameters according to the software calculation formula, and obtain the software calculation parameter B;

[0042] If A≠B, it indicates that there is a defect in the software code, and a warning signal is output to the staff.

[0043] The steps for the system defect judgment module to judge the operation of the software system are as follows:

[0044] Track the running status of verification parameters in the software running steps and observe whether the verification parameters are running according to the software running steps;

[0045] Software operation steps Expected operation steps P expected is [step1,step2,…,step n ], the actual steps of the software code are P actual for [step a ,step a1 ,…,step ai ];

[0046] At this time, the similarity of the running steps is calculated as follows:

[0047] Among them, |P expected ∩P actual | represents the number of identical steps in two running steps, |P expected | indicates the number of expected running steps;

[0048] If S path =1, it means that the actual operation path is consistent with the expected operation steps;

[0049] When S path When ≠1, it means that the actual running path is different from the expected running steps.

[0050] The steps of assisting staff in developing software systems with the expansion module are as follows:

[0051] Receive the industry of the software system of the system information acquisition module and the software running steps in the verification parameter generation module;

[0052] Using the web crawler in the vocabulary building module to collect the operation steps of software systems similar to the industry in which the software system is located;

[0053] If the operation steps of the collection software system are The current software system runs from step B to step B1, which means that the current software system can only run one step, while the collected software system can run two steps;

[0054] The running steps of the collected software system that are different from the current software system will be connected to the system database through the system information acquisition module to assist the staff in developing the software system.

[0055] Compared with the prior art, the present invention has the following beneficial effects:

[0056] In the software development system based on dynamic programming, the verification parameter generation module collects software calculation formulas and operation step keywords, and calls out the software functions in the software requirement document one by one, generates corresponding verification parameters according to the software operation logic, and judges whether there are problems with the software code corresponding to the software function in turn. This judgment helps to make more reasonable use of hardware resources, and all resources will not be occupied by a large number of verification requests and data in a short period of time, but resources will be gradually allocated according to the verification requirements of each software function.

[0057] The main function analysis module determines the main functions in the software requirement document based on the functional vocabulary that appears most frequently in the software requirement document. When the verification parameter generation module generates verification parameters, it compares the keywords corresponding to the verification parameters with the keywords of the main functions of the software system. If they are the same, it means that the software calculation formula and operation steps corresponding to the verification parameters are the main functions. At this time, the main functions are verified multiple times. By repeatedly testing the performance of the main functions in different scenarios, it is ensured that the main functions can run reliably in various actual usage scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 It is the overall module principle diagram of the present invention.

[0059] The meaning of each number in the figure is:

[0060] 100. System information acquisition module; 200. Main function analysis module; 300. Verification parameter generation module; 400. System defect judgment module; 500. Extension module. DETAILED DESCRIPTION

[0061] The following will be combined with the accompanying drawings in the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0062] The terms used in the exemplary embodiments shown in the drawings are not intended to limit the present invention. In the drawings, the same units / elements are given the same reference numerals.

[0063] Unless otherwise specified, the terms (including technical terms) used herein have the commonly understood meanings to those skilled in the art. In addition, it is understood that the terms defined in commonly used dictionaries should be understood to have the same meanings as those in the context of the relevant fields, and should not be understood as idealized or overly formal meanings.

[0064] The following are some definitions of terms:

[0065] The verification information is: user name, password, token and other information, which is like a "key" used for the system database to verify the identity of the system information acquisition module 100;

[0066] The communication link is to create a data transmission channel between the system information acquisition module 100 and the system database, so that both parties can exchange information;

[0067] The software development system based on dynamic programming includes a system information acquisition module 100, a main function analysis module 200, a verification parameter generation module 300, a system defect judgment module 400 and an expansion module 500;

[0068] The system information acquisition module 100 obtains the software requirement documents, software operation logic and the industry of the software system in the system database through the application programming interface, collects professional vocabulary corresponding to different functions in the software system from the network platform through the network crawler, and constructs a functional vocabulary library through the professional vocabulary;

[0069] The steps for the system information acquisition module 100 to acquire the software requirement document, software operation logic and the industry of the software system in the system database are as follows:

[0070] According to the authentication mechanism of the program programming interface, the verification information Q is sent to the system database to obtain the permission to access the database, which is similar to the process of entering the account and password to log in when visiting a website that requires login;

[0071] If Q = W, a communication link is established with the system database;

[0072] Wherein, W is the verification information stored in the system database;

[0073] A request message for obtaining software requirement documents, software operation logic, and the industry in which the software system is located is sent to the system database, and the system database outputs the software requirement documents, software operation logic, and the industry in which the software system is located through the established communication link.

[0074] The vocabulary building module 100 collects professional vocabulary corresponding to different functions in the software system through a web crawler, and the steps of building a functional vocabulary library are as follows:

[0075] The web crawler uses the HTTP protocol to send requests to the network platforms corresponding to different software industries, informing the network platforms that they need to obtain the functional professional vocabulary corresponding to different software industries;

[0076] After receiving the request, the network platform returns a response indicating whether the request is successful or failed. If the request fails, the web crawler continues to send requests to different network platforms until the request succeeds.

[0077] When the request is successful, professional vocabulary corresponding to functions in different software industries is obtained, and the professional vocabulary corresponding to each software industry is constructed into a functional vocabulary library.

[0078] Manual analysis of functions in software requirement documents is easily affected by the experience, knowledge level and subjective bias of analysts. Different people may have different understandings and judgments of the same software function. The main function analysis module 200 is used to extract professional vocabulary corresponding to the functional vocabulary library in the software requirement document, determine the main functions of the software system according to the frequency of occurrence of professional vocabulary in the software requirement document, reduce the interference of subjective factors in manual analysis, and ensure the consistency of analysis results;

[0079] The steps of the main function analysis module 200 to determine the main functions of the software system are as follows:

[0080] Receiving the software requirement document and the functional vocabulary library in the system information acquisition module 100;

[0081] Scan from the beginning of the software requirement document, and when you encounter a functional vocabulary corresponding to the functional vocabulary library, extract the vocabulary, and repeat this process until the entire software requirement document is scanned;

[0082] Calculate the frequency of each functional word in the software requirement document in turn to determine the main functions of the software system;

[0083] Since functional vocabulary is the core vocabulary for describing software systems, functional vocabulary appears most frequently in software requirement documents;

[0084] The total number of words in the received software requirement document is N, and the number of times the word ω appears is n ω ;

[0085] At this time, the word frequency of vocabulary ω is:

[0086] Calculate the vocabulary ω1, ω2, ω3, ..., ω in sequence i TF ω1 , TF ω2 , TF ω3 , …, TF ωi ;

[0087] Sort the frequency of different words in descending order: TF ω1 >TF ω2 >TF ω3 >…>TF ωi ;

[0088] Due to TF ω1 The word frequency of is the largest, then TF ω1 It is the main function of the software system.

[0089] In the medical field, knowledge and technology are updated rapidly, so the software needs to be constantly updated. The system information acquisition module 100 can continuously obtain the latest software information through web crawlers. The main function analysis module 200 is based on this dynamic information, combined with keyword comparison method and functional vocabulary library, to timely update the different functions in the medical information management system.

[0090] The main functions of the software determined by the main function analysis module 200 provide the focus direction for the system defect judgment module 400. When judging software defects, the system defect judgment module 400 can locate the code defects related to the functions more accurately according to the analysis results of different functions;

[0091] The verification parameter generation module 300 is used to extract the software calculation formula and operation steps in the software requirement document, and generate verification parameters that conform to the software calculation formula and operation steps, receive the main function analyzed by the main function analysis module 200, call out the software operation logic parameters that conform to the main function, generate multiple verification parameters for the main function, and perform multiple verifications on the main function;

[0092] Since the main functions involve multiple software operation steps and calculation formulas, it is difficult to cover all possible problems in one verification. Multiple verifications are to conduct a comprehensive and multi-angle review of the main functions, to more deeply troubleshoot potential logical errors, calculation deviations and other problems, to ensure that the main functions can run reliably in various actual usage scenarios;

[0093] The system defect judgment module 400 judges defects based on software calculation formulas and operation steps, providing developers with accurate debugging directions. Developers do not need to check the code blindly, but can quickly locate the code segment that may have problems based on the calculation and operation logic of the software.

[0094] The steps of the verification parameter generation module 300 to generate verification parameters that conform to the software calculation formula and software operation steps are as follows:

[0095] Collect keywords of software calculation formulas and operation steps through web crawlers;

[0096] Receive the software requirement document and operation logic acquired by the system information acquisition module 100;

[0097] Compare the collected keywords with the calculation formulas and operation step keywords in the software requirement document one by one, and call out the software calculation formulas and software operation steps with the same functions in the software requirement document one by one;

[0098] According to the software operation logic, determine the value range [min, max] of the verification parameters that conform to the software calculation formula and operation steps;

[0099] Randomly select verification parameters within the value range;

[0100]

[0101] Where n is the verification parameter, rand() is a function that generates uniformly distributed random numbers in the interval (0,1). represents the floor function;

[0102] After verifying n software systems, the selected n are removed from the data set [min, max], and when a software system in the software requirement document is verified, the next software function corresponding to the keyword in the software requirement document is called out again through the keyword.

[0103] The steps of the system defect judgment module 400 to judge whether the software system code has defects are as follows:

[0104] Receive the software code, verification parameters, verification parameters, software calculation formulas and software running steps generated by the generation module 300 in the system information acquisition module 100;

[0105] Input the verification parameters into the corresponding software code one by one, obtain the software operation parameter A through the software code operation, simulate and calculate the verification parameters according to the software calculation formula, and obtain the software calculation parameter B;

[0106] If A≠B, it indicates that there is a defect in the software code, and a warning signal is output to the staff;

[0107] Receive the verification parameters 3 and 5 generated by the generation module 300, and obtain the software calculation parameter by simulating the calculation through the software calculation formula: 3+5=8;

[0108] After the software code is run, the software running parameter is 8. Since 8=8, the software code has no defects. If the software running parameter is 7, since 7≠8, the software code has defects.

[0109] The steps of the system defect judgment module 400 to judge whether the software system code is running according to the software system steps are as follows:

[0110] Track the running status of verification parameters in the software running steps and observe whether the verification parameters are running according to the software running steps;

[0111] Software operation steps Expected operation steps P expected is [step1,step2,…,step n ], the actual steps of the software code are P actual for [step a ,step a1 ,…,step ai ];

[0112] At this time, the similarity of the running steps is calculated as follows:

[0113] Among them, |P expected ∩P actual | represents the number of identical steps in two running steps, |P expected | indicates the number of expected running steps;

[0114] If S path =1, it means that the actual operation path is consistent with the expected operation steps;

[0115] When S path ≠1, it means that the actual running path is different from the expected running steps, and the actual running steps are reduced in sequence. When the actual running steps are reduced, S path =1, it means that an error occurs in the reduced operation steps, and a warning signal is output to the staff;

[0116] The verification parameters are input into the software code. If, under a certain condition, the expected step indicates that branch A should be executed, but the actual step executes to branch B, it indicates that there is a problem in the software code corresponding to the actual executed step.

[0117] The expansion module 500 collects software operation steps according to the industry in which the software system is located. If the collected operation steps are different from the current software operation steps, they are fed back to the staff through the system information acquisition module 100 to assist the staff in developing the software system. The analysis of the operation steps of many software systems in the same industry helps to explore potential optimization ideas. Different software may have different implementation methods for similar functions. These differences may contain more efficient, more stable or more user-friendly solutions.

[0118] The steps of the expansion module 500 for determining whether there are defects in the software calculation formula and whether there are defects in the software operation steps are as follows:

[0119] Receive the industry of the software system in the system information acquisition module 100 and the software running steps in the verification parameter generation module 300;

[0120] Using the web crawler in the vocabulary building module 100 to collect the operation steps of software systems similar to the industry in which the software system is located;

[0121] If the operation steps of the collection software system are The current software system runs from step B to step B1, which means that the current software system can only run one step, while the collected software system can run two steps;

[0122] The different operation steps of the collected software system and the current software system are connected to the system database through the system information acquisition module 100 and fed back to the staff.

[0123] In the process of the verification parameter generation module 300 generating verification parameters based on software information and main function analysis results, the difference information on running steps of software in the same industry collected by the expansion module 500 can also prompt the verification parameter generation module 300 to expand the scope of parameter generation to cover more possible situations.

[0124] The above shows and describes the basic principles, main features and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited by the above embodiments. The above embodiments and descriptions are only preferred examples of the present invention and are not intended to limit the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention. The scope of protection of the present invention is defined by the attached claims and their equivalents.

Claims

1. A software development system based on dynamic programming, characterized in that: It comprises a system information acquisition module (100), a main function analysis module (200), a verification parameter generation module (300), a system defect judgment module (400) and an expansion module (500); The system information acquisition module (100) acquires software requirement documents, software operation logic and the industry of the software system in the system database through an application programming interface, collects professional vocabulary corresponding to different functions in the software system from the network platform through a web crawler, and constructs a functional vocabulary library through professional vocabulary; The main function analysis module (200) is used to extract professional vocabulary corresponding to the functional vocabulary library in the software requirement document, and determine the main functions of the software system according to the frequency of occurrence of the professional vocabulary in the software requirement document; The verification parameter generation module (300) is used to extract the software calculation formula and operation steps in the software requirement document, and generate verification parameters that conform to the software calculation formula and operation steps, receive the main function analyzed by the main function analysis module (200), call out the software operation logic parameters that conform to the main function, generate multiple verification parameters for the main function, and perform multiple verifications on the main function; the system defect judgment module (400) inputs the verification parameters into the software system, tracks the software calculation formula and software operation steps, and outputs a reminder signal to the staff when there is a defect in the software calculation formula or an error in the software operation step; The expansion module (500) collects software operation steps according to the industry in which the software system is located. If the collected operation steps are different from the current software operation steps, they are fed back to the staff through the system information acquisition module (100) to assist the staff in developing the software system.

2. The software development system based on dynamic programming according to claim 1, characterized in that: The steps of the system information acquisition module (100) acquiring the software requirement document, software operation logic and the industry of the software system in the system database are as follows: According to the authentication mechanism of the program programming interface, the verification information Q is sent to the system database to obtain the permission to access the database, which is similar to the process of entering the account and password to log in when visiting a website that requires login; If Q = W, a communication link is established with the system database; Wherein, W is the verification information stored in the system database; A request message for obtaining software requirement documents, software operation logic, and the industry in which the software system is located is sent to the system database, and the system database outputs the software requirement documents, software operation logic, and the industry in which the software system is located through the established communication link.

3. The software development system based on dynamic programming according to claim 2, characterized in that: The vocabulary building module (100) collects professional vocabulary corresponding to different functions in the software system through a web crawler, and the steps of building a functional vocabulary library are as follows: The web crawler uses the HTTP protocol to send requests to the network platforms corresponding to different software industries, informing the network platforms that they need to obtain the functional professional vocabulary corresponding to different software industries; After receiving the request, the network platform returns a response indicating whether the request is successful or failed. If the request fails, the web crawler continues to send requests to different network platforms until the request succeeds. When the request is successful, professional vocabulary corresponding to functions in different software industries is obtained, and the professional vocabulary corresponding to each software industry is constructed into a functional vocabulary library.

4. The software development system based on dynamic programming according to claim 1, characterized in that: The main function analysis module (200) determines the main functions of the software system in the following steps: Receiving the software requirement document and the functional vocabulary library in the system information acquisition module (100); Scan from the beginning of the software requirement document, and when you encounter a functional vocabulary corresponding to the functional vocabulary library, extract the vocabulary, and repeat this process until the entire software requirement document is scanned; Calculate the frequency of each functional word in the software requirement document in turn to determine the main functions of the software system; Since functional vocabulary is the core vocabulary for describing software systems, functional vocabulary appears most frequently in software requirement documents; The total number of words in the received software requirement document is N, and the number of times the word ω appears is n ω ; At this time, the word frequency of vocabulary ω is: Calculate the vocabulary ω1, ω2, ω3, ..., ω in sequence i TF ω1 , TF ω2 , TF ω3 , …, TF ωi ; Sort the frequency of different words in descending order: TF ω1 >TF ω2 >TF ω3 >…>TF ωi ; Due to TF ω1 The word frequency of is the largest, then TF ω1 It is the main function of the software system.

5. The software development system based on dynamic programming according to claim 1, characterized in that: The steps of the verification parameter generation module (300) generating verification parameters that conform to the software calculation formula and software operation steps are as follows: Collect keywords of software calculation formulas and software operation steps through web crawlers; Receiving the software requirement document and software operation logic acquired by the system information acquisition module (100); Compare the collected keywords with the calculation formulas and operation step keywords in the software requirement document one by one, and call out the software calculation formulas and software operation steps with the same functions in the software requirement document one by one; According to the software operation logic, determine the value range [min, max] of the verification parameters that conform to the software calculation formula and operation steps; Randomly select verification parameters within the value range; Where n is the verification parameter, rand() is a function that generates uniformly distributed random numbers in the interval (0,1). represents the floor function; After verifying n software systems, the selected n are removed from the data set [min, max], and when a software system in the software requirement document is verified, the next software function corresponding to the keyword in the software requirement document is called out again through the keyword.

6. The software development system based on dynamic programming according to claim 1, characterized in that: The steps of the system defect judgment module (400) for judging whether the software system code has defects are as follows: Receiving software code, verification parameters, verification parameters generated by a generation module (300), software calculation formulas and software operation steps in a system information acquisition module (100); Input the verification parameters into the corresponding software code one by one, obtain the software operation parameter A through the software code operation, simulate and calculate the verification parameters according to the software calculation formula, and obtain the software calculation parameter B; If A≠B, it indicates that there is a defect in the software code, and a warning signal is output to the staff.

7. The software development system based on dynamic programming according to claim 1, characterized in that: The system defect judgment module (400) judges the steps of software system operation as follows: Track the running status of verification parameters in the software running steps and observe whether the verification parameters are running according to the software running steps; Software operation steps Expected operation steps P expected is [step1,step2,…,step n ], the actual steps of the software code are P actual for [step a ,step a1 ,…,step ai ]; At this time, the similarity of the running steps is calculated as follows: Among them, |P expected ∩P actual | represents the number of identical steps in two running steps, |P expected | indicates the number of expected running steps; If S path =1, it means that the actual operation path is consistent with the expected operation steps; When S path When ≠1, it means that the actual running path is different from the expected running steps.

8. The software development system based on dynamic programming according to claim 1, characterized in that: The steps of the expansion module (500) assisting the staff in developing the software system are as follows: Receive the industry of the software system of the system information acquisition module (100) and the software running steps in the verification parameter generation module (300); Using the web crawler in the vocabulary building module (100) to collect the operation steps of software systems similar to the industry in which the software system is located; If the operation steps of the collection software system are The current software system runs from step B to step B1, which means that the current software system can only run one step, while the collected software system can run two steps; The running steps of the collected software system that are different from the current software system are connected to the system database through the system information acquisition module (100) to assist the staff in developing the software system.

Citation Information

Patent Citations

  • Software architecture development system for aerospace embedded system

    CN112416337A

  • Evaluation method and device based on model development software, electronic equipment and medium

    CN116450484A

  • Chip verification method, platform, device, equipment, medium and product

    CN118821711A

  • System and method for validating software development requirements

    US20170185381A1