Software development method and software development system

Through natural language processing and artificial intelligence assisted analysis of software development requests, combined with machine learning, intelligent code completion and optimization are solved, and the problems of developer burden and project progress are extended due to changes in demand during software development, achieving high efficiency and excellent quality software development.

CN119440475AInactive Publication Date: 2025-02-14NANTONG CONDENSATION YUANJIE INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411416368.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2025-02-14
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

During the software development process, the continuous changes in demand have increased the burden on developers and extended the progress of project development.

Method used

Through natural language processing and artificial intelligence assisted in analyzing software development requests, generating demand models, and using machine learning to complete and optimize intelligent code. At the same time, automated testing and manual testing are combined to ensure the quality of the software.

Benefits of technology

Reduces additional workload and complexity caused by changes in demand, improves code writing efficiency and quality, reduces the burden on developers, and shortens the software development cycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440475A_ABST
    Figure CN119440475A_ABST
Patent Text Reader

Abstract

The invention relates to a software development method and a software development system. A software development request is received, a first demand model is obtained after analysis, a first system design model is obtained through intelligent assistance, and module codes are obtained after code writing and intelligent code complementation are carried out; performing analysis and code optimization on the first system design model and the module code by utilizing artificial intelligence; if a development request is newly added in the coding process, making a demand change plan; obtaining a second system design model; after a code framework is generated through automatic programming, newly-added module codes are compiled, intelligent code completion is carried out, and the newly-added module codes are obtained; performing analysis and code optimization on the second system design model and the newly added module code; submitting the module code and the newly added module code to a version control system, and entering code review and iteration to obtain a second module code; and integrating and testing the second module code by utilizing automatic testing and manual testing, and obtaining the software after the testing is passed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software development, and in particular to a software development method and a software development system. Background Art

[0002] With the continuous deepening of informatization and intelligentization, customers have higher and higher requirements for the user experience of software products. The codes, components and systems of various development companies are becoming more and more complex, and the development tasks of developers have become arduous. In response, software developers use visual programming interfaces, drag-and-drop components and other functions to manually input a large number of data processing flow codes such as data initialization, data verification, data submission, event processing, etc. of the corresponding software to meet the development needs of development customers for software.

[0003] However, current software development solutions are limited by the software development experience and code input efficiency of software developers, resulting in long development and testing cycles for the entire software development process and low overall software development efficiency.

[0004] Based on this technology, there is CN108153520A-software development method and device, which includes: receiving a software development request, parsing the software development request, obtaining page requirement information, function requirement information and component loading requirement information; obtaining a target page template matching the software development request according to the page requirement information; obtaining a target field element corresponding to the function requirement information from a field library according to the function requirement information, and assigning a matching function component to each target field element from the component library; filling each target field element into its own matching function component, and loading each function component onto a target page template according to the component loading requirement information; integrating the data codes corresponding to the target page template, function component and target field element, and generating corresponding software code to complete software development; the method shortens the software development cycle and testing cycle, and improves software development efficiency and software quality; but in the process of software development projects, customer requirements will be constantly changing, resulting in repeated adjustments to the software development project, and even the possibility of reworking the entire project, which increases the burden on developers and prolongs the project development progress. Summary of the invention

[0005] The main purpose of the present invention is to provide a software development method and a software development system to solve the problem that during the software development process, the requirements are constantly changing, which increases the burden on developers and prolongs the project development progress.

[0006] To achieve the above object, the present invention provides a software development method, comprising the following steps: Receiving a software development request, parsing the software development request with the assistance of a natural language processing algorithm, and obtaining a first demand model; Based on the first demand model, using artificial intelligence to perform auxiliary decision support for system design to obtain a first system design model; According to the first system design model, the software modules are coded one by one, and intelligent code completion is performed through machine learning algorithms to obtain module codes and store them in an integrated development environment; Utilizing artificial intelligence to analyze the first system design model and the implementation of the module code and to optimize the code; If a new development request is added during the coding process, the new development request is parsed to obtain the new development requirements, and a requirements change plan is formulated based on the new software development requirements; Based on the demand change plan, artificial intelligence is used to perform auxiliary decision support for system design to obtain a second system design model; According to the second system design model, the code framework is generated by automatic programming to write the code of the new module; and the machine learning algorithm is used to complete the code intelligently to obtain the code of the new module; Analyzing the second system design model and the implementation of the newly added module code by using artificial intelligence, and optimizing the newly added module code; Submit the module code and the newly added module code to the version control system, enter the code review process, and obtain the second module code after iteration; The second module code is integrated and tested by using automated testing and manual testing, and the software is obtained after the test passes.

[0007] Furthermore, the step of receiving a software development request, parsing the software development request with the assistance of natural language processing, and obtaining a first requirement model includes: Accepting a software development request, using natural language processing to assist in describing the software development request in natural language, and analyzing the first software development requirements, including key requirements, functional requirements, and constraints; The first software development requirements are classified and prioritized to generate a first requirement model.

[0008] Furthermore, based on the first demand model, the step of using artificial intelligence to perform auxiliary decision support for system design and obtaining a first system design model includes: Parsing the first demand model using natural language processing; Based on historical project data, industry practices, and expert knowledge base, using machine learning algorithms to provide intelligent recommendations for the first demand model; the intelligent recommendations include one or more of technology stack selection, architecture mode, key components, performance testing, agile development and iteration, and market trends; According to the intelligent recommendation, a system architecture design is constructed and system modules are divided; Write detailed design documents based on the described system architecture design; A first system design model is output.

[0009] Furthermore, according to the first system design model, the software modules are coded one by one, and intelligent code completion is performed through a machine learning algorithm to obtain the module code and store it in an integrated development environment, including: Based on the first system design model, clarify the specific functions and performance requirements of the system modules; Plan the overall structure of the code according to the functions and complexity of the system modules; According to the overall structure of the planning code, the code writing of the corresponding functions of the system modules is implemented one by one; Based on the code writing, after intelligent code completion using a machine learning algorithm or model, the module code is obtained and stored in an integrated development environment.

[0010] Furthermore, the steps of analyzing the implementation of the first system design model and the module code using artificial intelligence and optimizing the code include: Understanding key elements of the first system design model through a natural language processing algorithm, and matching functional requirements of the first system design model with actual business scenarios; Perform code review on the module using an integrated development environment plug-in, the code review includes code structure, logic implementation, error handling and performance bottlenecks; Perform performance analysis of the module through simulation testing or actual operation to verify whether the code implements the functions in the design model as expected; Recommending an algorithm based on the performance analysis; Using machine learning algorithms, the missing parts in the module code are completed and the erroneous code is corrected.

[0011] Furthermore, if a new request is added during the encoding process, the new request is parsed to obtain the new demand, and the step of formulating a demand change plan based on the new demand includes: Obtain new requests and parse them to obtain new requirements, including requirement description, functional points, performance indicators, and interface requirements; Identify the key requirements of the new requirements, which are requirements that have a direct impact on the progress, quality, and cost of the project; if the new requirements are multiple, prioritize them according to the actual situation of the project and the availability of resources; Analyze the impact of the new requirements on project progress, cost, and quality, including the modules, workload, and risk factors involved, and obtain evaluation results; Based on the evaluation results, formulate a demand change plan, including the scope, content, time plan, and resource allocation of the change; Update software development documents according to the requirement change plan; Obtain a plan for requirement changes.

[0012] Furthermore, the second module code is integrated and tested by using automated testing and manual testing, and the step of obtaining the software after the test passes includes: Formulate a test plan based on the second system design model, including test resource allocation, test strategy, and test schedule; Write automated test scripts covering key functions and boundary conditions, and design manual test cases for complex interactions and user experience; After unit testing and integration testing of the second module code, automated testing and manual testing are performed in parallel, and the test results are recorded; Submit the test results, perform tracking and repair, and after obtaining the third module code, perform regression testing; Re-run the automated test script and manual test on the third module code.

[0013] The present invention also provides a software development system, comprising: An acquisition unit receives a software development request, and parses the software development request with the assistance of a natural language processing algorithm to acquire a first demand model; The system design unit uses artificial intelligence to perform auxiliary decision support for system design based on the first demand model to obtain a first system design model; A code writing unit, which writes the codes for the software modules one by one according to the first system design model, performs intelligent code completion through a machine learning algorithm, obtains the module codes, and stores them in an integrated development environment; A code optimization unit, using artificial intelligence to analyze and optimize the implementation of the first system design model and the module code; The acquisition unit analyzes the newly added development request, acquires the newly added development requirements, and formulates a requirements change plan based on the newly added software development requirements if a new development request is added during the coding process; A system design unit, based on the demand change plan, uses artificial intelligence to perform auxiliary decision support for system design to obtain a second system design model; A code writing unit, based on the second system design model, generates a code framework by automatic programming and then writes the code of the new module; and performs intelligent code completion by a machine learning algorithm to obtain the code of the new module; A code optimization unit, which uses artificial intelligence to analyze the second system design model and the implementation of the newly added module code, and optimizes the newly added module code; A code review unit submits the module code and the newly added module code to a version control system, enters a code review process, and obtains a second module code after iteration; The code testing unit integrates and tests the second module code using automated testing and manual testing, and obtains the software after the test passes.

[0014] The present invention also provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above software development method when executing the computer program.

[0015] The present invention also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the above software development method are implemented.

[0016] The software development method and software development system provided by the present invention have the following beneficial effects: (1) During the software development process, demand changes tend to be common. By intelligently processing new development requests, formulating demand change plans, and automatically adjusting system design models, the additional workload and complexity caused by demand changes are reduced, thus reducing the burden on developers.

[0017] (2) Using machine learning algorithms for intelligent code completion and optimization not only improves the efficiency of code writing, but also ensures the quality and consistency of the code to a certain extent, reducing bugs caused by human errors.

[0018] (3) Based on historical project data, industry practices, and expert knowledge base, the construction of AI-assisted decision support system design can ensure that the system design is more reasonable, scientific, and in line with best practices, thereby improving the stability and maintainability of the software system.

[0019] (4) Through the dual protection of automated testing and manual testing, it can more comprehensively cover various functions and scenarios of the software, timely discover and fix potential problems, and improve the overall quality of the software. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 is a flowchart of a software development method in one embodiment of the present invention; Figure 2is a structural block diagram of a software development system in one embodiment of the present invention; Figure 3 It is a schematic block diagram of the structure of a computer device according to an embodiment of the present invention.

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

[0022] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0023] S1, receiving a software development request, parsing the software development request with the assistance of a natural language processing algorithm, and obtaining a first demand model; S2, based on the first demand model, using artificial intelligence to perform auxiliary decision support for system design to obtain a first system design model; S3, writing codes for software modules one by one according to the first system design model, and performing intelligent code completion through a machine learning algorithm to obtain module codes and store them in an integrated development environment; S4, using artificial intelligence to analyze the first system design model and the implementation of the module code and to optimize the code; S5, if a new development request is added during the coding process, the new development request is parsed to obtain the new development requirements, and a requirements change plan is formulated based on the new software development requirements; S6, using artificial intelligence to perform auxiliary decision support for system design based on the demand change plan to obtain a second system design model; S7, according to the second system design model, using automatic programming to generate a code framework and then write the code of the new module; and using a machine learning algorithm to perform intelligent code completion to obtain the code of the new module; S8, using artificial intelligence to analyze the second system design model and the implementation of the newly added module code, and optimizing the newly added module code; S9, submitting the module code and the newly added module code to the version control system, entering the code review process, and obtaining the second module code after iteration; S10, integrating and testing the second module code by using automated testing and manual testing, and obtaining the software after the test passes.

[0024] For S1, specifically: Accepting a software development request, using natural language processing to assist in describing the software development request in natural language, and analyzing the first software development requirements, including key requirements, functional requirements, and constraints; The first software development requirements are classified and prioritized to generate a first requirement model.

[0025] In the specific operation, after understanding the text description of the first software development request, natural language processing technology is used to further analyze these descriptions to extract the first-level requirements for software development. These requirements include, but are not limited to, key requirements: the functional points or performance indicators that users are most concerned about and most urgent; functional requirements: specific descriptions of what functions the software should have and how these functions meet user needs; constraints: limiting factors that need to be considered when implementing functions, such as technical feasibility, time constraints, budget constraints, laws and regulations, etc.

[0026] The first software development requirements are classified according to different dimensions, such as function type, system module, and development stage. The classification process helps developers understand the specific content and correlation of each requirement more clearly. On the basis of classification, the first software development requirements are prioritized according to the urgency, importance, and difficulty of implementation of the requirements to ensure that the most important requirements can be met first under limited resources and that the core functions and performance indicators of the software are guaranteed. After the above-mentioned natural language description, requirements analysis, classification, and prioritization steps, the first requirements model can be generated based on this information. The first requirements model includes all key requirements points, functional requirements, constraints, and classification and prioritization information. The first requirements model is the basis for subsequent system design, development, testing, and other work to ensure that the entire development process can be carried out around user needs.

[0027] For S2, specifically: Analyzing the first demand model using a natural language processing algorithm; Based on historical project data, industry practices, and expert knowledge base, using machine learning algorithms to provide intelligent recommendations for the first demand model; the intelligent recommendations include one or more of technology stack selection, architecture mode, key components, performance testing, agile development and iteration, and market trends; According to the intelligent recommendation, a system architecture design is constructed and system modules are divided; Write detailed design documents based on the described system architecture design; A first system design model is output.

[0028] In specific operations, natural language processing technology is used to identify and understand the text information of the first system design model, and machine learning algorithms are combined with historical project data, industry practices, and information in the expert knowledge base to provide intelligent recommendations for the software development process. The intelligent recommendations include: technology stack selection: recommending technology stacks suitable for implementing specific functions, including programming languages, frameworks, databases, etc.; architecture mode: recommending system architecture modes suitable for project requirements, such as microservice architecture, monolithic architecture, etc.; key components: identifying and recommending key components or services required to implement specific functions; performance testing: based on the performance indicators in the demand model, recommending corresponding performance testing strategies and tools; agile development and iteration: recommending suitable agile development methods and iteration plans based on the complexity and urgency of the project; market trends: combining industry knowledge bases to recommend functions or features that meet current market trends.

[0029] After obtaining intelligent recommendations, the development team builds a system architecture design based on the recommendations, including determining the overall structure of the system, module division, interface definition, etc. The system architecture design ensures the independence and reusability of each module, while meeting the functional requirements and constraints in the demand model. After the system architecture design is completed, a detailed design document is written to record the design process and results. The design document includes the overall architecture diagram of the system, detailed module design, interface definition, data structure, etc. Based on the generated information, the first system design model is output, including system architecture design, module division, interface definition, design documents, etc.

[0030] For S3, specifically: Based on the first system design model, clarify the specific functions and performance requirements of the system modules; Plan the overall structure of the code according to the functions and complexity of the system modules; According to the overall structure of the planning code, the code writing of the corresponding functions of the system modules is implemented one by one; Based on the code writing, after intelligent code completion using a machine learning algorithm or model, the module code is obtained and stored in an integrated development environment.

[0031] In specific operations, according to the system architecture design and module division in the first system design model, clarify the specific functions and performance requirements of each system module, including what business logic each module needs to implement, what data to process, and the performance indicators that need to be achieved (such as response time, throughput, number of concurrent users, etc.); plan the overall structure of the code, including determining the directory structure of the code, the design of classes and interfaces, namespace division, etc. When planning the code structure, consider the independence, reusability and scalability of the module, so as to efficiently manage and modify the code during subsequent development and maintenance; at the same time, according to the complexity of the module, further refine the code structure, such as splitting complex functions into multiple sub-modules or components; after planning the overall structure of the code, start writing the code to implement the corresponding functions of the system modules one by one, involving writing classes, interfaces, methods and related data processing logic; when writing code, follow good programming habits and best practices, such as code comments, naming conventions, exception handling, etc., to improve the readability and maintainability of the code; at the same time, ensure that the implementation of the code meets the previously defined functional and performance requirements.

[0032] In the process of code writing, in order to improve development efficiency and reduce errors, intelligent code completion is performed through machine learning algorithms or models. These algorithms or models predict and recommend possible code snippets or structures by analyzing existing code bases, developers' programming habits, and current programming contexts. When developers are writing code, these recommendations are automatically displayed in the integrated development environment (IDE) for developers to select and use; after completing code writing, the module code is stored in the integrated development environment for subsequent testing, debugging, and integration.

[0033] For S4, specifically: Understanding key elements of the first system design model through a natural language processing algorithm, and matching functional requirements of the first system design model with actual business scenarios; Perform code review on the module using an integrated development environment plug-in, the code review includes code structure, logic implementation, error handling and performance bottlenecks; Perform performance analysis of the module through simulation testing or actual operation to verify whether the code implements the functions in the design model as expected; Recommending an algorithm based on the performance analysis; Using machine learning algorithms, the missing parts in the module code are completed and the erroneous code is corrected.

[0034] In specific operations, natural language processing is used to understand the key elements of the first system design model, and the functional requirements of the first system design model are matched with the actual business scenarios; the module code is reviewed by using the integrated development environment IDE plug-in, which can automatically check problems in code structure, logic implementation, error handling, and performance bottlenecks. The IDE plug-in provides rich functions and customization options, allowing the development team to configure and use it according to actual needs. Through code review, the development team can promptly discover and fix problems in the code to ensure the correctness and stability of the code; after completing code writing and review, perform performance analysis of the module. This is achieved through simulation testing or actual operation to evaluate the performance of the module when processing specific tasks. Simulate the performance in scenarios such as processing large amounts of data and high concurrent requests to discover potential performance bottlenecks and optimization points, while verifying whether the code implements the functions in the design model as expected, and optimize the module to improve its performance.

[0035] Based on the performance analysis, if it is found that improper use of certain algorithms or data structures has led to performance bottlenecks, algorithm recommendations are made based on the results of the performance analysis, and algorithms that are more suitable for the current business scenarios and performance requirements are selected to implement the corresponding functions. Algorithm recommendations are made based on experience, best practices, and current technology development trends to improve the processing power and response speed of the module; for missing parts or erroneous codes in the code, machine learning algorithms are used to intelligently complete and correct errors in the module code. The machine learning algorithm predicts and recommends possible code snippets or structures to complete the missing parts by analyzing information such as the existing code base, the developer's programming habits, and the current programming context; at the same time, the machine learning algorithm identifies and corrects syntax errors, logical errors, and other problems in the code to ensure the correctness and stability of the code.

[0036] For S5, specifically: Obtain new requests and parse them to obtain new requirements, including requirement description, functional points, performance indicators, and interface requirements; Identify the key requirements of the new requirements, which are requirements that have a direct impact on the progress, quality, and cost of the project; if the new requirements are multiple, prioritize them according to the actual situation of the project and the availability of resources; Analyze the impact of the new requirements on project progress, cost, and quality, including the modules, workload, and risk factors involved, and obtain evaluation results; Based on the evaluation results, formulate a demand change plan, including the scope, content, time plan, and resource allocation of the change; Update software development documents according to the requirement change plan; Obtain a plan for requirement changes.

[0037] In specific operations, the project team receives and processes new requests, which include additional requirements or modification suggestions for software functions, analyzes these requests, and clarifies the specific content of the new requirements, including requirement descriptions, functional points, performance indicators, interface requirements, etc.; after obtaining the new requirements, identify the key requirements, which are requirements that have a direct impact on the progress, quality, and cost of the project. They may be key factors for the success of the project, or parts that customers pay special attention to; if the new requirements include multiple projects, the project team needs to prioritize these requirements based on the actual situation of the project and the availability of resources; priority sorting is based on multiple factors, such as the urgency of the requirements, the degree of impact on project goals, and the difficulty of implementation. Through priority sorting, the project team ensures that the most important or urgent requirements are dealt with first; after determining the priority of the new requirements, it is necessary to analyze the impact of the new requirements on the project progress, cost, and quality, including the modules involved: determine which modules will be affected by the new requirements; workload: estimate the workload required to implement the new requirements; Risk factors; identify risk factors that may affect the success of the project, such as technical difficulty, resource limitations, etc.; based on the assessment results, the project team needs to develop a demand change plan to clarify the scope, content, time plan and resource allocation of the change.

[0038] For S6, specifically: Based on the demand change plan, predict the system performance changes, risks, and resource requirements that may be caused by the change; AI assists the team in identifying key design factors, evaluating different design options, and analyzing various parameters and indicators in the design process in real time by processing large amounts of historical data, system specifications, user feedback and other information, providing instant feedback and suggestions; through AI-based auxiliary decision support, the design team obtains an optimized and verified second system design model.

[0039] For S7, specifically: Based on the second system design model, an automatic programming tool (such as a code generator) is used to analyze the various components, interfaces, data flows and other information in the design model, and a corresponding code framework is generated, wherein the code framework includes the basic structure of the system and necessary template codes; based on the code framework, specific codes of the newly added modules are written, wherein the specific codes implement the new functions or modified functions defined in the design model; at the same time, machine learning algorithms are used for intelligent code completion; and a complete system code including the code of the newly added module is obtained.

[0040] For S8, specifically: AI tools are used to analyze the structure, logic, and naming conventions of the newly added module code to identify potential code smells, such as duplicate code, overly long methods, and complex conditional statements. The code's operating environment is simulated to predict or evaluate the impact of the newly added modules on the overall system performance. By analyzing the code's execution path and resource consumption (such as CPU and memory), performance bottlenecks can be identified and optimization suggestions can be given. Based on the above analysis, AI is used to generate refactoring suggestions, including extracting methods, refactoring loops, and replacing algorithms.

[0041] For S9, specifically: Submit the module code and the newly added module code to the version control system, and the code enters the code review process; detect the newly added module code and the module code that may be affected, and evaluate its design, implementation, performance, security, etc.; during the review process, if any modification or improvement is found, provide feedback and suggestions, and make corresponding modifications to the code, then submit the modified code for review again, and repeat multiple iterations until all review criteria are met; after passing the review and necessary iterations, the newly added module code will be successfully integrated into the system and serve as the second module code (or updated module code).

[0042] For S10, specifically: Formulate a test plan based on the second system design model, including test resource allocation, test strategy, and test schedule; Write automated test scripts covering key functions and boundary conditions, and design manual test cases for complex interactions and user experience; After unit testing and integration testing of the second module code, automated testing and manual testing are performed in parallel, and the test results are recorded; Submit the test results, perform tracking and repair, and after obtaining the third module code, perform regression testing; Re-run the automated test script and manual test on the third module code.

[0043] In specific operations, formulate a test plan, reasonably allocate testers, test environment, test tools and other resources according to test requirements, project scale and schedule; determine the type of test (such as unit test, integration test, system test, acceptance test, etc.), method (such as black box test, white box test, gray box test, etc.) and priority; plan the test schedule, including the start and end time of test preparation, execution, evaluation and reporting; write test scripts and design test cases, automated test scripts: write scripts that can automatically execute and verify software functions, covering key functions and boundary conditions. These scripts help to quickly discover errors and defects in the software; manual test cases: design test cases for complex interactions, user interfaces, user experience, etc., which are manually executed by testers to evaluate the usability, ease of use and user satisfaction of the software; unit test to integration test: first unit test the second module code to ensure that each individual functional module can work properly, and then perform integration testing to combine the modules to test their interaction and integration effects; finally, perform automated testing and manual testing in parallel to quickly test defects and problems in the software.

[0044] Record in detail any errors, defects, failures or unexpected behaviors found during the test, including error description, reproduction steps, severity, etc.; submit test results and track repairs; after the problem is fixed, obtain the third module code (i.e. the fixed code version) and perform regression testing; Rerun the previously written automated test scripts and manual test cases on the third module code to verify whether the repair is effective and no new problems are introduced, and perform regression testing to ensure that the software still works as expected after modification; if new problems or unfixed defects are found in the regression test, the above testing, repair and regression testing process needs to be repeated until the software meets the predetermined quality standards.

[0045] Reference Figure 3 In an embodiment of the present invention, a computer device is also provided. The computer device may be a server, and its internal structure may be as follows: Figure 3 As shown. The computer device includes a processor, a memory, a display screen, an input device, a network interface and a database connected through a system bus. Among them, the processor designed by the computer is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the corresponding data in this embodiment. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, the above method is implemented.

[0046] Those skilled in the art will understand that Figure 3 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present invention, and does not constitute a limitation on the computer device to which the solution of the present invention is applied.

[0047] An embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the above method is implemented. It can be understood that the computer-readable storage medium in this embodiment can be a volatile readable storage medium or a non-volatile readable storage medium.

[0048] In summary, a software development request is received, and the software development request is parsed with the assistance of a natural language processing algorithm to obtain a first demand model; based on the first demand model, artificial intelligence is used to assist in decision support for system design to obtain a first system design model; according to the first system design model, the software modules are coded one by one, and intelligent code completion is performed through a machine learning algorithm to obtain the module code, which is stored in an integrated development environment; artificial intelligence is used to analyze and optimize the implementation of the first system design model and the module code; if a new development request is added during the coding process, the new development request is parsed to obtain new development requirements, and a demand change plan is formulated based on the new software development requirements; artificial intelligence is used based on the demand change plan It can provide auxiliary decision support for system design and obtain a second system design model; according to the second system design model, generate a code framework by automatic programming and then write a new module code; and complete the code intelligently through a machine learning algorithm to obtain the new module code; use artificial intelligence to analyze the implementation of the second system design model and the new module code, and optimize the new module code; submit the module code and the new module code to the version control system, enter the code review process, and obtain the second module code after iteration; use automated testing and manual testing to integrate and test the second module code, and obtain the software after the test passes, so as to solve the problem that the requirements keep changing during the software development process, which increases the burden on developers and prolongs the project development progress.

[0049] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media provided by the present invention and used in the embodiments may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-speed data rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM.

[0050] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, device, article or method including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, device, article or method. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other identical elements in the process, device, article or method including the element.

[0051] The above description is only a preferred embodiment of the present invention, and does not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A software development method, characterized in that: The following steps are involved: Receiving a software development request, parsing the software development request with the assistance of a natural language processing algorithm, and obtaining a first demand model; Based on the first demand model, using artificial intelligence to perform auxiliary decision support for system design to obtain a first system design model; According to the first system design model, the software modules are coded one by one, and intelligent code completion is performed through machine learning algorithms to obtain module codes and store them in an integrated development environment; Utilizing artificial intelligence to analyze the first system design model and the implementation of the module code and to optimize the code; If a new development request is added during the coding process, the new development request is parsed to obtain the new development requirements, and a requirements change plan is formulated based on the new software development requirements; Based on the demand change plan, artificial intelligence is used to perform auxiliary decision support for system design to obtain a second system design model; According to the second system design model, the code framework is generated by automatic programming and then the code of the new module is written; And use machine learning algorithms to perform intelligent code completion to obtain the code of new modules; Analyzing the second system design model and the implementation of the newly added module code by using artificial intelligence, and optimizing the newly added module code; Submit the module code and the newly added module code to the version control system, enter the code review process, and obtain the second module code after iteration; The second module code is integrated and tested by using automated testing and manual testing, and the software is obtained after the test passes.

2. The software development method according to claim 1, characterized in that: The step of receiving a software development request, parsing the software development request with the assistance of natural language processing, and obtaining a first requirement model includes: Accepting a software development request, using natural language processing to assist in describing the software development request in natural language, and analyzing the first software development requirements, including key requirements, functional requirements, and constraints; The first software development requirements are classified and prioritized to generate a first requirement model.

3. The software development method according to claim 1, characterized in that: Based on the first demand model, the step of using artificial intelligence to perform auxiliary decision support for system design and obtaining the first system design model includes: Parsing the first demand model using natural language processing; Based on historical project data, industry practices, and expert knowledge base, using machine learning algorithms to provide intelligent recommendations for the first demand model; the intelligent recommendations include one or more of technology stack selection, architecture mode, key components, performance testing, agile development and iteration, and market trends; According to the intelligent recommendation, a system architecture design is constructed and system modules are divided; Write detailed design documents based on the described system architecture design; A first system design model is output.

4. The software development method according to claim 1, characterized in that: According to the first system design model, the steps of writing codes for software modules one by one, performing intelligent code completion through machine learning algorithms, obtaining module codes, and storing them in an integrated development environment include: Based on the first system design model, clarify the specific functions and performance requirements of the system modules; Plan the overall structure of the code according to the functions and complexity of the system modules; According to the overall structure of the planning code, code writing is performed to implement the corresponding functions of the system modules one by one; Based on the code writing, after intelligent code completion using a machine learning algorithm or model, the module code is obtained and stored in an integrated development environment.

5. The software development method according to claim 1, characterized in that: The steps of analyzing the first system design model and the implementation of the module code by using artificial intelligence and optimizing the code include: Understanding key elements of the first system design model through natural language processing, and matching functional requirements of the first system design model with actual business scenarios; Perform code review on the module using an integrated development environment plug-in, the code review includes code structure, logic implementation, error handling and performance bottlenecks; Perform performance analysis of the module through simulation testing or actual operation to verify whether the code implements the functions in the design model as expected; Recommending an algorithm based on the performance analysis; Using machine learning algorithms, the missing parts in the module code are completed and the erroneous code is corrected.

6. The software development method according to claim 1, characterized in that: If a new request is added during the coding process, the steps of parsing the new request to obtain the new requirement and formulating a requirement change plan based on the new requirement include: Obtain new requests and parse them to obtain new requirements, including requirement description, functional points, performance indicators, and interface requirements; Identify the key requirements of the new requirements, which are requirements that have a direct impact on the progress, quality, and cost of the project; if the new requirements are multiple, prioritize them according to the actual situation of the project and the availability of resources; Analyze the impact of the new requirements on project progress, cost, and quality, including the modules, workload, and risk factors involved, and obtain evaluation results; Based on the evaluation results, formulate a demand change plan, including the scope, content, time plan, and resource allocation of the change; Update software development documents according to the requirement change plan; Obtain a plan for requirement changes.

7. The software development method according to claim 1, characterized in that: The steps of integrating and testing the second module code by using automated testing and manual testing, and obtaining the software after the test passes, include: Formulate a test plan based on the second system design model, including test resource allocation, test strategy, and test schedule; Write automated test scripts covering key functions and boundary conditions, and design manual test cases for complex interactions and user experience; After unit testing and integration testing of the second module code, automated testing and manual testing are performed in parallel, and the test results are recorded; Submit the test results, perform tracking and repair, and after obtaining the third module code, perform regression testing; Re-run the automated test script and manual test on the third module code.

8. A software development system, characterized in that: include: An acquisition unit receives a software development request, and parses the software development request with the assistance of a natural language processing algorithm to acquire a first demand model; The system design unit uses artificial intelligence to perform auxiliary decision support for system design based on the first demand model to obtain a first system design model; A code writing unit, which writes the codes for the software modules one by one according to the first system design model, performs intelligent code completion through a machine learning algorithm, obtains the module codes, and stores them in an integrated development environment; A code optimization unit, using artificial intelligence to analyze and optimize the implementation of the first system design model and the module code; The acquisition unit analyzes the newly added development request, acquires the newly added development requirements, and formulates a requirements change plan based on the newly added software development requirements if a new development request is added during the coding process; A system design unit, based on the demand change plan, uses artificial intelligence to perform auxiliary decision support for system design to obtain a second system design model; A code writing unit, which writes the code of the newly added module after generating a code framework by automatic programming according to the second system design model; And use machine learning algorithms to perform intelligent code completion to obtain the code of new modules; A code optimization unit, which uses artificial intelligence to analyze the second system design model and the implementation of the newly added module code, and optimizes the newly added module code; A code review unit submits the module code and the newly added module code to a version control system, enters a code review process, and obtains a second module code after iteration; The code testing unit integrates and tests the second module code using automated testing and manual testing, and obtains the software after the test passes.

9. A computer device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the processor executes the computer program, the steps of the software development method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the software development method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Software development method and device

    CN108153520A