An online interactive real-time software development communication feedback system

Through an online interactive real-time software development communication and feedback system, it analyzes the iterative results and code similarity in the software development process, and identifies risk projects, solving the problems of waste of iterative results and impact of code templates in software development, and improving development efficiency and efficiency .

CN118733475BActive Publication Date: 2025-01-07HEBEI SEPTEMBER TANG INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411223993.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-03
Publication Date
2025-01-07
Estimated Expiration
2044-09-03

AI Technical Summary

Technical Problem

Frequent demand changes during software development lead to wasting of iterative results, making it difficult to determine which projects should continue to be developed, and sharing code templates may cause other projects to be affected and affect development efficiency.

Method used

Design an online interactive real-time software development communication and feedback system, including project iteration module, information acquisition module, comprehensive evaluation module, project comparison module and analysis module. By analyzing project quality and progress information, iterative results are evaluated, and the mark is pending or continued Develop projects, and calculate code similarity and relevance, identify risk projects.

Benefits of technology

Help adjust projects based on software development feedback, prevent potential problems from expanding, improve development efficiency, avoid waste of development results, and promptly respond to changes in customer needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118733475B_ABST
    Figure CN118733475B_ABST
Patent Text Reader

Abstract

The present invention discloses an online interactive real-time software development communication feedback system, which specifically relates to the technical field of software development, including a project iteration module, a project information acquisition module, a comprehensive evaluation module, a project comparison module and an analysis module. The project information acquisition module acquires quality information and progress information of a project in the iteration process of developing software, and determines whether to continue development in the next iteration based on the results of the iteration through comprehensive analysis of the quality information and progress information of the project, and determines risk development projects with the same characteristics as the pending development projects through code similarity and correlation between the pending development projects and other projects. This helps to issue an early warning based on feedback during the software development process when the development results do not meet expectations, so as to prevent the expansion of potential problems, and can timely adjust the development of the software according to customer needs for the software.
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 more specifically, to an online interactive real-time software development communication feedback system. Background Art

[0002] In the current software development process, frequent changes in requirements lead to waste of each iteration results in the software development process. It is not easy to determine which projects in the software development can continue to be developed. If each project in the software development cannot communicate in a timely manner, it may lead to the expansion of potential problems in a certain project. In the process of software development, shared source code templates are usually used to encourage the team to reuse the same code snippets in different projects to improve development efficiency. However, customers may propose functional modification suggestions for a project in the software, which may affect other projects. It is not easy to determine which projects are affected.

[0003] In order to solve the above defects, a technical solution is now provided. Summary of the invention

[0004] In order to overcome the above-mentioned defects of the prior art, an embodiment of the present invention provides an online interactive real-time software development communication feedback system to solve the problems raised in the above-mentioned background technology.

[0005] To achieve the above object, the present invention provides the following technical solutions:

[0006] An online interactive real-time software development communication feedback system, including a project iteration module, a project information acquisition module, a comprehensive evaluation module, a project comparison module and an analysis module;

[0007] The project iteration module is used to divide the development process of each project in the target software into multiple iteration processes, each of which includes various stages of a project development process. After each iteration, the current project information is transmitted to the project information acquisition module;

[0008] The project information acquisition module is used to receive the project information transmitted by the project iteration module, including the project quality information and the project progress information. By analyzing the number of defects collected in the project test results and the number of codes executed in the iteration, the project quality information is analyzed, and the project progress information is determined through the function point calculation model.

[0009] The comprehensive evaluation module comprehensively analyzes the quality information and progress information of the project, and determines whether to continue development in the next iteration based on the results of the iteration according to the results of the comprehensive analysis, and marks the project as a pending development project or a continued development project;

[0010] A project comparison module is used to determine other projects that use the same code template as the pending development project, calculate the code similarity in the same code template, mark the projects with high code similarity as the first problem projects, obtain the knowledge graph of the target software, determine the correlation between the pending development project and the other projects based on the correlation index between the pending development project and the other projects, and mark the projects with high correlation as the second problem projects;

[0011] The analysis module obtains the first problem project and the second problem project in the project comparison module, determines the projects commonly included in the first problem project and the second problem project, and marks them as risky development projects.

[0012] In a preferred embodiment, the quality information of the project is analyzed by the number of defects collected in the project test results and the number of codes written and executed in the iteration, including:

[0013] Set a floating ratio of similar iteration time lengths, and obtain a similar iteration time length range based on the time length of project iterations in the target software;

[0014] According to the historical records in the software development system, the iterations within the similar iteration time range and the iterations of the current project are marked as similar iterations, and the average and standard deviation of the number of defects in similar iterations are calculated;

[0015] Obtain the number of defects in this project iteration in the target software, calculate the number of defects in this project iteration and the average and standard deviation of the number of defects in similar iterations through a formula, and obtain the project defect anomaly coefficient in the project quality information;

[0016] Perform coverage testing on the code after the iteration to obtain the number of statements executed in the iteration. Based on the historical records of software development, obtain the number of statements executed in each similar iteration and calculate the average and standard deviation of the statements executed in similar iterations.

[0017] The number of statements executed in this project iteration is compared with the average and standard deviation of statements executed in similar iterations through a formula to obtain the relative writing quality coefficient of the project quality information.

[0018] In a preferred embodiment, the project progress information is determined by the function point calculation model, including:

[0019] Through the function point calculation model, the function points completed in the iteration process are calculated at the end of the iteration. Based on the customer feedback after the iteration, the expected information of the next iteration and the function points of the next iteration are obtained;

[0020] Based on the customer feedback after the iteration, the function points that need to be deleted are obtained, and the function point variation coefficient in the project progress information is calculated through the formula.

[0021] In a preferred embodiment, the project quality information and the project progress information are comprehensively analyzed, including:

[0022] Determine the project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient based on the project quality information and project progress information;

[0023] The project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient are combined to generate an iterative evaluation coefficient;

[0024] The project defect abnormality coefficient and function point variation coefficient are positively correlated with the iteration evaluation coefficient, and the relative writing quality coefficient is negatively correlated with the iteration evaluation coefficient.

[0025] In a preferred embodiment, according to the result of the comprehensive analysis, determining whether to continue development in the next iteration based on the results of the iteration includes:

[0026] comparing the iteration evaluation coefficient with the iteration evaluation coefficient threshold;

[0027] If the iteration evaluation coefficient is less than the iteration evaluation coefficient threshold, the development will continue in the next iteration based on the results of the iteration, and the project will be marked as a project to continue development;

[0028] If the iteration evaluation coefficient is greater than the iteration evaluation coefficient threshold, an early warning is issued and the project is marked as a pending development project.

[0029] In a preferred embodiment, determining other projects that use the same code template as the pending development project and calculating the code similarity in the same code template includes:

[0030] Determine a code template used by a pending development project in an iteration process, obtain a set of source code files in the code template used by the pending development project, and obtain a set of source code snippets in the source code file based on the source code file in the code template;

[0031] The similarity between the source code files in the pending development project and other projects is calculated by a formula. Based on the commonly used source code files in the two source code file sets, the deviation of the source code fragments in each commonly used source code file is calculated by a formula.

[0032] Calculate the code similarity between the pending development project and other projects through a formula, set a code similarity threshold between the pending development project and other projects, compare the code similarity between the pending development project and other projects with the code similarity threshold, obtain the project in other projects whose code similarity is greater than the code similarity threshold, and mark the project as the first problem project.

[0033] In a preferred embodiment, a knowledge graph of the target software is obtained, and the correlation between the pending development project and other projects is determined according to the correlation index between the pending development project and other projects, including:

[0034] According to the knowledge graph of the target software, the correlation between the pending development project and other projects is calculated through the correlation index between the pending development project and other projects, and a correlation threshold is set. The correlation between the pending development project and other projects and the correlation threshold are compared to obtain the project in other projects whose correlation is greater than the correlation threshold, and the project is marked as the second problem project.

[0035] In a preferred embodiment, determining the items commonly included in the first question item and the second question item includes:

[0036] According to the code similarity between the pending development project and other projects, the first problematic project among other projects is obtained;

[0037] According to the correlation between the pending development project and other projects, the second problem project among other projects is obtained;

[0038] Obtain overlapping projects between the first problem project and the second problem project, and mark the overlapping projects between the first problem project and the second problem project as risky development projects.

[0039] Technical effects and advantages of the present invention:

[0040] 1. The present invention divides the target software into multiple projects in software development, and comprehensively analyzes the quality information and progress information of the project based on the feedback on the development results after the iteration of the project, and determines whether the development can be continued in the next iteration based on the results of this iteration. It is helpful to adjust the development project in time according to the feedback in the software development process, and to issue an early warning when the development results do not meet expectations, so as to prevent the expansion of potential problems;

[0041] 2. The present invention obtains risk development projects with the same characteristics as the pending development project through code similarity information and correlation information between the pending development project and other projects, which helps to improve the efficiency of software development, avoid waste of part of the development results, and can timely adjust the software development according to customer demand for software. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to facilitate understanding by those skilled in the art, the present invention is further described below in conjunction with the accompanying drawings;

[0043] Figure 1 The present invention is a structural schematic diagram of an online interactive real-time software development communication feedback system. DETAILED DESCRIPTION

[0044] The following will be combined with the drawings in the embodiments of 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.

[0045] Example 1

[0046] according to Figure 1 The structure diagram of an online interactive real-time software development communication feedback system is shown, including a project iteration module, a project information acquisition module, a comprehensive evaluation module, a project comparison module and an analysis module;

[0047] The project iteration module is used to divide the development process of each project in the target software into multiple iteration processes, each of which includes various stages of a project development process. After each iteration, the current project information is transmitted to the project information acquisition module;

[0048] The development process of the target software is completed by multiple staff members through the online software development platform. The development process of the target software is divided into multiple projects. Each project is a component of the target software and each project is jointly developed by multiple staff members.

[0049] It should be noted that the division of projects in the target software is usually based on the different functions of the software, the components of the software, etc. The staff works together on the target software through an online development platform.

[0050] According to the specific requirements of a project in the target software and the efficiency of the target software development, the duration of each iteration is set. Each iteration should complete the expected information in the project information set at the beginning of the iteration, and collect the project information in the iteration at the end of each iteration;

[0051] It should be noted that the iterative process includes the design, coding, and testing of the project. The customer may change the design method and function of the project based on the test results of the project, thereby changing the expected information of the project.

[0052] Each iteration is short in length, and customers will change their requirements for target software development at any time based on the progress and results of target software development. Therefore, a shorter iteration time can respond to changes in customer needs in a timely manner and meet customer feedback. The expected information set at the beginning of the iteration is the customer's demand for the target software, and the project information at the end of the iteration includes quality information of project test results and project progress information.

[0053] The project information acquisition module is used to receive the project information transmitted by the project iteration module, including the project quality information and the project progress information. By analyzing the number of defects collected in the project test results and the number of codes executed in the iteration, the project quality information is analyzed, and the project progress information is determined through the function point calculation model.

[0054] The logic for obtaining the project defect anomaly coefficient is: set the floating ratio of similar iteration time lengths, and mark the floating ratio of similar iteration time lengths as: , get the duration of this iteration of the project in the target software, and mark the duration of this iteration as: ;

[0055] Get similar iteration time length ranges and mark the similar iteration time length ranges as: ,in, Represents the minimum value of similar iteration time length, Represents the maximum value of similar iteration time length, , ;

[0056] According to the historical records in the software development system, the iterations within the similar iteration time range and the iterations of this project are marked as similar iterations, and the number of defects in each similar iteration is marked as: , where n=1, 2, 3...N, N is a positive integer, n is the number of similar iterations, and the average number of defects in similar iterations is calculated, and the average number of defects in similar iterations is marked as: , calculate the standard deviation of the number of defects in similar iterations, and mark the standard deviation of the number of defects in similar iterations as: ;

[0057] The calculation formula for the average number of defects in similar iterations is: ; The formula for calculating the standard deviation of the number of defects in similar iterations is: ;

[0058] It should be noted that during the iteration, defects found in the iteration process are recorded in the system through defect tracking systems such as Jira, Bugzilla, Trello, etc.

[0059] Get the number of defects in this iteration of the project in the target software, and mark the number of defects in this iteration as: , calculate the project defect abnormality coefficient, the calculation formula is: ;in, is the project defect anomaly coefficient of the project in this iteration in the target software;

[0060] It can be seen from the formula that the larger the project defect anomaly coefficient is, the more defects there are in this iteration. If the calculation result of the project defect anomaly coefficient is a large positive number, it means that the test quality information of the project in this iteration is low and does not meet the average standard of software development. The possibility of continuing development based on the results of this iteration is low.

[0061] The logic for obtaining the relative writing quality coefficient is as follows: perform coverage testing on the code after the iteration, obtain the number of statements executed in the iteration, and mark the number of statements executed in the iteration as: ;

[0062] It should be noted that coverage testing is performed on the development results at the end of each iteration. The code that is detected to be executed is usually high-quality code, that is, code that can execute a related function. The more statements executed, the more high-quality code is written in this iteration.

[0063] According to the history of software development, the number of executed statements in each similar iteration is obtained, and the number of executed statements in each similar iteration is marked as: , and calculate the average value of the executed statements in similar iterations, and mark the average value of the executed statements in similar iterations as: , calculate the standard deviation of similar iterative executed statements, and mark the standard deviation of similar iterative executed statements as: ;

[0064] The calculation formula for the average value of executed statements in similar iterations is: ; The calculation formula for the standard deviation of similar iterative executed statements is: ;

[0065] It should be noted that the executed and unexecuted codes can be obtained through code coverage tools, such as JaCoCo, Coverage.py, Istanbul, etc.

[0066] Calculate the relative writing quality coefficient using the formula: ;in, Write a relative quality factor for this iteration of the project in the target software;

[0067] It can be seen from the formula that the larger the relative writing quality coefficient is, the more statements are executed in the iteration, which means that there are relatively more high-quality statements written in the iteration. If the calculation result of the relative writing progress coefficient is a small negative number, it means that the test quality information of the project in this iteration is low and does not meet the average standard of software development. The possibility of continuing development based on the results of this iteration is low.

[0068] The logic for obtaining the function point variation coefficient is as follows: at the end of an iteration, the function points completed during the iteration are calculated and marked as follows: , based on the customer feedback after the iteration, obtain the expected information for the next iteration, and obtain the function points of the next iteration, and mark the function points of the next iteration as: ;

[0069] It should be noted that function points are a unit of measurement used to measure the size of software, and are used to evaluate and estimate the workload of software development and maintenance. Customer feedback includes changes, additions, deletions, etc. of project functions of the target software. Function points are usually calculated based on UFP in the IFPUG function point calculation model;

[0070] Among them, the function points are calculated by UFP, and the calculation formula is: ;in, It is the number of five types of function points: EI (External Inputs), EO (External Outputs), EQ (External Inquiries), ILF (Internal Logical Files), and EIF (External Interface Files). It is the weighting factor of five types of function points: EI (External Inputs), EO (External Outputs), EQ (External Inquiries), ILF (Internal Logical Files), and EIF (External Interface Files);

[0071] According to the feedback from customers after the iteration, the function points that need to be deleted are obtained, and the function points completed in the iteration after deletion are re-marked as follows: ;

[0072] Calculate the coefficient of variation of function points using the following formula: ;in, is the coefficient of variation of function points of this project in this iteration in the target software;

[0073] From the formula, we can see that the larger the function point variation coefficient is, the more work may be required from this iteration to the next iteration, which means that the function points completed in this iteration are closer to the function points expected by customers in the next iteration, and the possibility of continuing development based on the results of this iteration is lower.

[0074] The comprehensive evaluation module comprehensively analyzes the quality information and progress information of the project, and determines whether to continue development in the next iteration based on the results of the iteration according to the results of the comprehensive analysis, and marks the project as a pending development project or a continued development project;

[0075] According to the quality information and progress information of the project, the project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient are used to establish a data evaluation model to generate an iterative evaluation coefficient. The calculation formula is: ;in, The iterative evaluation coefficients for this iteration, It is the proportional coefficient of the project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient. Greater than 0.

[0076] The larger the project defect abnormality coefficient and function point variation coefficient and the smaller the relative writing quality coefficient, the larger the iteration evaluation coefficient, which means that the development results of the project in this iteration may be poor, and the gap with customer expectations is large. The smaller the project defect abnormality coefficient and function point variation coefficient and the larger the relative writing quality coefficient, the smaller the iteration evaluation coefficient, which means that the development results of the project in this iteration may be better, and the gap with customer expectations is small.

[0077] Set an iteration evaluation coefficient threshold and compare the iteration evaluation coefficient with the iteration evaluation coefficient threshold. If the iteration evaluation coefficient is less than the iteration evaluation coefficient threshold, development will continue in the next iteration based on the results of this iteration, and the project will be marked as a continued development project. If the iteration evaluation coefficient is greater than the iteration evaluation coefficient threshold, an early warning will be issued, indicating that it is not easy to complete the next iteration based on the results of this iteration, and the developer should consider whether to redesign and develop the project, and mark the project as a pending development project.

[0078] This embodiment divides the target software into multiple projects during software development, and comprehensively analyzes the project quality information and project progress information based on the feedback on the development results after the iteration in the project, to determine whether the development can be continued in the next iteration based on the results of this iteration. This helps to make timely adjustments to the development project based on the feedback during the software development process, and to issue early warnings when the development results do not meet expectations, to prevent potential problems from expanding.

[0079] Example 2

[0080] According to the above embodiment, the type of the project divided by the target software after the iteration is completed is determined. For the project to be developed, the project to be developed continues to enter the next iteration, and the process of the project iteration module, the project information acquisition module, and the comprehensive evaluation module are repeated until the development is completed or there is no feedback about the project. For the pending development project, the developer is required to consider whether to redevelop the project based on the feedback;

[0081] During the development of the target software, developers may use the same code template in different projects. This method helps to speed up the development process and improve code consistency. Developers will arrange the same developers to engage in software development in highly correlated projects based on the correlation between different projects in the target software. Therefore, if a project is marked as a pending development project, other projects that are highly correlated with the pending development project and other projects that use the same code template as the pending development project also have potential risks.

[0082] It should be noted that developers will use the same code template in different projects to indicate that different projects in the target software may have the same or similar functions. The project development can be completed by simply modifying, deleting or adding the code content in the code template, which helps improve the work efficiency of developers.

[0083] A project comparison module is used to determine other projects that use the same code template as the pending development project, calculate the code similarity in the same code template, mark the projects with high code similarity as the first problem projects, obtain the knowledge graph of the target software, determine the correlation between the pending development project and the other projects based on the correlation index between the pending development project and the other projects, and mark the projects with high correlation as the second problem projects;

[0084] Determine the code template used by the pending development project during the iteration process, and mark the source code file set in the code template used by the pending development project as: , where i represents the number of the source code file, and I is a positive integer. The source code snippet set in the source code file is marked as: , where j represents the number of the source code fragment and J is a positive integer;

[0085] It should be noted that code templates usually include pre-defined source codes. The source codes are written in advance to implement specific functions or solve common problems. The purpose of code templates is to provide some common and reusable code structures in the software development process, thereby accelerating the development process and ensuring the consistency and quality of the code. Among them, a code template may contain multiple source code files, and multiple source code files jointly implement a function. A source code file may contain multiple source code fragments, and multiple source code fragments implement a small part of a function.

[0086] Calculate the similarity between the source code files in the pending development project and other projects. The calculation formula is: ; where x represents the number of the source code file in the same code template used by the project in the participating computing project. Indicates the source code files used in common by two source code file sets. Represents the source code files contained in two source code file sets;

[0087] According to the commonly used source code files in the two source code file sets, the deviation of the source code fragments in each commonly used source code file is obtained, wherein the deviation of the source code fragments represents the deletion or addition of the source code fragments in the source code file, and the number of deletions in the source code file used by other projects is marked as: , mark the increased number of source files used by other projects as: , calculate the deviation of source code fragments in the commonly used source code files, and the calculation formula is: ;

[0088] For example, the number of source code fragments in the pending development project source code file 1 is 8, that is, middle, , the number of source code snippets in source code file 1 used by other projects is 9, of which The number of identical source code fragments is 7, 1 source code fragment is deleted, and 2 source code fragments are added. Then the similarity of the source code fragments in the pending development project source code file 1 is: .

[0089] Calculate the code similarity between the pending development project and other projects. The calculation formula is: ;

[0090] It should be noted that, in a project that uses the same code template as a pending development project, the higher the code similarity with the pending development project, the more similar it is to the pending development project and the same design idea may be used. Because the pending development project does not meet the requirements of the next iteration, it also has certain potential risks based on the similarity with the pending development project.

[0091] A code similarity threshold between the pending development project and other projects is set, and the code similarity between the pending development project and other projects is compared with the code similarity threshold, so as to obtain a project in other projects whose code similarity is greater than the code similarity threshold, and mark the project as the first problem project.

[0092] Build a knowledge graph for target software development, including extracting information from data sources such as project documents, code repositories, version control systems, task tracking tools, etc., and represent this information as a graph structure, where nodes represent entities (such as projects, modules, and people) and edges represent the relationships between them.

[0093] Define indicators to measure the correlation between projects, including common dependencies between projects, similar functions and tasks, cross-involvement of personnel, etc. Each indicator can be represented as a pattern or algorithm in the graph.

[0094] It should be noted that the relationship between the pending development project and other projects can be determined by querying the co-developers between the projects, the same functions and tasks in the projects, the modules or libraries that the projects depend on, the documents shared between the projects, etc.

[0095] Use a graph database or other graph query tools to perform queries, retrieve the relationship information between items from the knowledge graph according to the defined association index, and perform association calculation based on the results of retrieving the relationship information between items from the knowledge graph, which involves the weight allocation of shared relationships, consideration of path length, etc., and different association indicators may require different calculation methods.

[0096] It should be noted that the correlation index is usually a standard or measurement method used to measure the relationship between nodes. The nodes represent the people who jointly participate in the development of the projects, the same functions and tasks in the projects, the modules or libraries that the projects depend on, and the documents shared between projects.

[0097] According to the knowledge graph of the target software, the correlation between the pending development project and other projects is calculated through the correlation index between the pending development project and other projects, and a correlation threshold is set. The correlation between the pending development project and other projects and the correlation threshold are compared to obtain the project in other projects whose correlation is greater than the correlation threshold, and the project is marked as the second problem project.

[0098] It should be noted that projects with a high correlation with pending development projects usually indicate that there are certain similarities and dependencies between them. Projects marked as pending development projects may have technical problems in the development process or the original development functions of the pending development projects may not meet customer feedback requirements. In this case, projects with a high correlation with them may also face similar risks. This is because these projects may share similar modules, code structures, personnel, etc., which leads to similar characteristics in some aspects.

[0099] The analysis module obtains the first problem project and the second problem project in the project comparison module, determines the projects commonly included in the first problem project and the second problem project, and marks them as risky development projects.

[0100] Based on the projects commonly included in the first problem project and the second problem project, the risky development projects of the target software are determined, that is, based on the test of each project to be developed in the target software after iteration, the pending development projects are determined. The pending development projects indicate that the results after the iteration may not meet the requirements. Therefore, based on the code similarity information between the pending development projects and other projects and the correlation information between the pending development projects and other projects, the projects in other projects that are more likely to be marked as pending development projects are obtained.

[0101] Label the items contained in the first question item as: , m=1, 2, 3...M, M is a positive integer, m is the number of the item included in the first question item, mark the items included in the second question item as: , k=1, 2, 3...K, K is a positive integer, and k is the number of the item included in the second question item;

[0102] To obtain risk development projects, the calculation formula is: ;in, For risk development projects, Indicates the overlap between the first question item and the second question item.

[0103] This embodiment obtains risk development projects with the same characteristics as the pending development project through code similarity information between the pending development project and other projects and correlation information between the pending development project and other projects, which helps to improve the efficiency of software development, avoid waste of part of the development results, and can adjust the software development in time according to customer demand for software.

[0104] The above formulas are all dimensionless and numerical calculations. The formula is a formula for the most recent real situation obtained by collecting a large amount of data and performing software simulation. The preset parameters in the formula are set by technicians in this field according to actual conditions.

[0105] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0106] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0107] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0108] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0109] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0110] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0111] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. An online interactive real-time software development communication feedback system, characterized in that: It includes project iteration module, project information acquisition module, comprehensive evaluation module, project comparison module and analysis module; The project iteration module is used to divide the development process of each project in the target software into multiple iteration processes, each of which includes various stages of a project development process. After each iteration, the current project information is transmitted to the project information acquisition module; The project information acquisition module is used to receive the project information transmitted by the project iteration module, including the project quality information and the project progress information. By analyzing the number of defects collected in the project test results and the number of codes executed in the iteration, the project quality information is analyzed, and the project progress information is determined through the function point calculation model. The comprehensive evaluation module comprehensively analyzes the quality information and progress information of the project, and determines whether to continue development in the next iteration based on the results of the iteration according to the results of the comprehensive analysis, and marks the project as a pending development project or a continued development project; A project comparison module is used to determine other projects that use the same code template as the pending development project, calculate the code similarity in the same code template, mark the projects with high code similarity as the first problem projects, obtain the knowledge graph of the target software, determine the correlation between the pending development project and the other projects based on the correlation index between the pending development project and the other projects, and mark the projects with high correlation as the second problem projects; The analysis module obtains the first problem project and the second problem project in the project comparison module, determines the projects commonly included in the first problem project and the second problem project, and marks them as risky development projects.

2. The online interactive real-time software development communication feedback system according to claim 1, characterized in that: Analyze the project's quality information by looking at the number of defects collected in the project test results and the number of codes written and executed in the iteration, including: Set a floating ratio of similar iteration time lengths, and obtain a similar iteration time length range based on the time length of project iterations in the target software; According to the historical records in the software development system, the iterations within the similar iteration time range and the iterations of the current project are marked as similar iterations, and the average and standard deviation of the number of defects in similar iterations are calculated; Obtain the number of defects in this project iteration in the target software, calculate the number of defects in this project iteration and the average and standard deviation of the number of defects in similar iterations through a formula, and obtain the project defect anomaly coefficient in the project quality information; Perform coverage testing on the code after the iteration to obtain the number of statements executed in the iteration. Based on the historical records of software development, obtain the number of statements executed in each similar iteration and calculate the average and standard deviation of the statements executed in similar iterations. The number of statements executed in this project iteration is compared with the average and standard deviation of statements executed in similar iterations through a formula to obtain the relative writing quality coefficient of the project quality information.

3. The online interactive real-time software development communication feedback system according to claim 2, characterized in that: Through the function point calculation model, determine the project progress information, including: Through the function point calculation model, the function points completed in the iteration process are calculated at the end of the iteration. Based on the customer feedback after the iteration, the expected information of the next iteration and the function points of the next iteration are obtained; Based on the customer feedback after the iteration, the function points that need to be deleted are obtained, and the function point variation coefficient in the project progress information is calculated through the formula.

4. The online interactive real-time software development communication feedback system according to claim 3, characterized in that: Comprehensively analyze the project quality information and project progress information, including: Determine the project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient based on the project quality information and project progress information; The project defect abnormality coefficient, relative writing quality coefficient and function point variation coefficient are combined to generate an iterative evaluation coefficient; The project defect abnormality coefficient and function point variation coefficient are positively correlated with the iteration evaluation coefficient, and the relative writing quality coefficient is negatively correlated with the iteration evaluation coefficient.

5. The online interactive real-time software development communication feedback system according to claim 4, characterized in that: Based on the results of the comprehensive analysis, determine whether to continue development in the next iteration based on the results of the iteration, including: comparing the iteration evaluation coefficient with the iteration evaluation coefficient threshold; If the iteration evaluation coefficient is less than the iteration evaluation coefficient threshold, the development will continue in the next iteration based on the results of the iteration, and the project will be marked as a project to continue development; If the iteration evaluation coefficient is greater than the iteration evaluation coefficient threshold, an early warning is issued and the project is marked as a pending development project.

6. The online interactive real-time software development communication feedback system according to claim 5, characterized in that: Identify other projects that use the same code template as the pending development project and calculate the code similarity in the same code template, including: Determine a code template used by a pending development project in an iteration process, obtain a set of source code files in the code template used by the pending development project, and obtain a set of source code snippets in the source code file based on the source code file in the code template; The similarity between the source code files in the pending development project and other projects is calculated by a formula. Based on the commonly used source code files in the two source code file sets, the deviation of the source code fragments in each commonly used source code file is calculated by a formula. Calculate the code similarity between the pending development project and other projects through a formula, set a code similarity threshold between the pending development project and other projects, compare the code similarity between the pending development project and other projects with the code similarity threshold, obtain the project in other projects whose code similarity is greater than the code similarity threshold, and mark the project as the first problem project.

7. The online interactive real-time software development communication feedback system according to claim 6, characterized in that: Obtain a knowledge graph of the target software, and determine the relevance between the pending development project and other projects based on the relevance index between the pending development project and other projects, including: According to the knowledge graph of the target software, the correlation between the pending development project and other projects is calculated through the correlation index between the pending development project and other projects, and a correlation threshold is set. The correlation between the pending development project and other projects and the correlation threshold are compared to obtain the project in other projects whose correlation is greater than the correlation threshold, and the project is marked as the second problem project.

8. The online interactive real-time software development communication feedback system according to claim 7, characterized in that: Identify the items that are common to both the first and second problem items, including: According to the code similarity between the pending development project and other projects, the first problematic project among other projects is obtained; According to the correlation between the pending development project and other projects, the second problem project among other projects is obtained; Obtain overlapping projects between the first problem project and the second problem project, and mark the overlapping projects between the first problem project and the second problem project as risky development projects.

Citation Information

Patent Citations

  • Project research and development process management method and device, apparatus and computer storage medium

    CN110309975A

  • Management method of software system maintenance information

    CN118170418A