Business demand analysis method and device, electronic equipment and computer program product

Through the business demand analysis method of the producer-consumer model, the code submission log is parsed and compared with the full list of demand points, the problems of low efficiency of code branch merging and loss of function points in software development are solved, and efficient demand management and Code merge.

CN119292562APending Publication Date: 2025-01-10中国邮政储蓄银行股份有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411330443.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

During the software development process, managers can manually promote code branch merger with low efficiency and accuracy, resulting in the entrainment or loss of functional points. Especially when cross-iteration development and frequent changes in requirements, it is difficult to effectively manage the requirements of engineering projects.

Method used

Using the business demand analysis method based on the producer-consumer model, by obtaining and parsing the code submission log, generating a list of demand points, and comparing it with the full list of demand points, automatically detecting the missing and entrainment of iterative demand points, providing a global view To improve the efficiency of code commit and branch merge.

Benefits of technology

It realizes a comprehensive and intuitive analysis of business demand development, automatically and efficiently discovers the missing and entrainment of iterative demand points, improves the efficiency of code submission and merging, timely avoids code version problems, and improves the success rate of online launch.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292562A_ABST
    Figure CN119292562A_ABST
Patent Text Reader

Abstract

The invention discloses a business demand analysis method and device, electronic equipment and a computer program product, the method is realized based on a producer-consumer model, and the method comprises the following steps: obtaining and analyzing a code submission log to obtain demand information corresponding to the code submission log; generating a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log; obtaining a total demand point list of a business demand side; and according to the total demand point list and the demand point list corresponding to the code submission log, analyzing the development condition of the business demand. According to the business demand analysis method, statistical analysis can be comprehensively and visually performed on the code submission logs corresponding to the demand points by adopting the producer-consumer model, and the missing and entrainment conditions of the iterative demand points are automatically, efficiently and accurately found, so that related personnel can know the development conditions of business demands in time; therefore, submission and combination of codes are effectively promoted, and the online success rate is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of code development technology, and in particular to a business demand analysis method, device, electronic equipment, and computer program product. Background Art

[0002] In the field of software engineering, the software development life cycle mainly includes demand proposal, business demand analysis, demand establishment, software design and development, software testing and software launch. In the business demand analysis and confirmation stage, an iterative demand specification or a demand matrix is ​​usually formed. The software development stage is closely centered around the demand matrix generated in the iterative demand stage. R&D personnel are responsible for submitting the intermediate products of software development to the software version control system (such as git or svn, etc.) for management.

[0003] Usually, developers often neglect to submit description information about the required function points in the code submission log, or they fill in the relevant information about the required function points in the code submission log, and then managers manually promote code submission and code branch merging to ensure that functional development covers all requirements. This method is not efficient for the management of the completion of project requirements, which is mainly reflected in the following two aspects:

[0004] 1) The efficiency and accuracy of managers manually merging code branches are relatively low because there is no global view that can effectively identify the completion status of all business requirements, especially those whose business requirements have not been submitted or merged;

[0005] 2) In the scenario of cross-iteration development and frequent requirement changes, it is very likely that function points will be carried over or lost. Function point carryover means that some unnecessary functions are launched, branches of two teams developing in parallel are mistakenly merged, or some requirements are temporarily deleted in an iteration. It is relatively lagging and passive to rely on later testers to discover these problems. Summary of the invention

[0006] The embodiments of the present application provide a business demand analysis method, device, electronic device, and computer program product to achieve a comprehensive and intuitive analysis of the business demand development situation, provide a global perspective to observe the code branch merging situation, and improve the efficiency of code submission and branch merging.

[0007] The present application embodiment adopts the following technical solutions:

[0008] In a first aspect, an embodiment of the present application provides a business demand analysis method, which is implemented based on a producer-consumer model and includes:

[0009] Obtain and parse the code submission log to obtain the requirement information corresponding to the code submission log;

[0010] Generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log;

[0011] Obtain a list of all demand points from business demanders;

[0012] Analyze the development status of business requirements based on the full list of requirements and the list of requirements corresponding to the code submission log.

[0013] Optionally, the acquiring and parsing of the code submission log to obtain the requirement information corresponding to the code submission log includes:

[0014] Obtain configuration information of the code submission log, the configuration information including the target project repository address and iteration start and end parameters;

[0015] According to the target project warehouse address, all target project warehouses are traversed in a multi-threaded concurrent manner, and code submission logs are obtained according to the iteration start and end parameters;

[0016] The code submission log is parsed to obtain requirement information corresponding to the code submission log.

[0017] Optionally, the requirement information corresponding to the code submission log includes a requirement change type, and generating a requirement point list corresponding to the code submission log according to the requirement information corresponding to the code submission log includes:

[0018] If the requirement change type is new addition, the requirement information is added to the requirement point list corresponding to the code submission log;

[0019] If the requirement change type is deletion, the requirement information is deleted from the requirement point list corresponding to the code submission log.

[0020] Optionally, the requirement information corresponding to the code submission log further includes a requirement number, and generating a requirement point list corresponding to the code submission log according to the requirement information corresponding to the code submission log includes:

[0021] Sorting the demand information in the demand point list corresponding to the code submission log according to the demand number to obtain a sorted demand point list;

[0022] The sorted demand point list is fragmented to obtain multiple fragmented demand point lists corresponding to the code submission log.

[0023] Optionally, obtaining a list of all demand points of the business demander includes:

[0024] Obtain a requirement matrix table, wherein the requirement matrix table includes iteration cycles and corresponding requirement numbers;

[0025] Obtain all requirement numbers corresponding to this iteration cycle according to the requirement matrix table;

[0026] The full demand point list is generated according to all demand numbers corresponding to this iteration cycle.

[0027] Optionally, analyzing the development status of business requirements according to the full list of requirements and the list of requirements corresponding to the code submission log includes:

[0028] Compare the demand point list corresponding to the code submission log with the full demand point list to obtain an entrained demand point list;

[0029] Compare the demand point list corresponding to the code submission log with the entrained demand point list to obtain a correct coverage demand point list;

[0030] Compare the correctly covered demand point list with the full demand point list to obtain a missing demand point list;

[0031] The demand coverage is calculated based on the correctly covered demand point list and the full demand point list.

[0032] Optionally, the demand point list corresponding to the code submission log includes multiple shard demand point lists, and comparing the demand point list corresponding to the code submission log with the full demand point list to obtain the entrained demand point list includes:

[0033] By means of multi-threaded concurrent processing, each shard demand point list is compared with the full demand point list to obtain multiple shard entrained demand point lists;

[0034] According to the plurality of slicing entrainment demand point lists, a final entrainment demand point list is determined.

[0035] Optionally, the business demand analysis method further includes:

[0036] Obtaining R&D personnel corresponding to the demand points in the full demand point list;

[0037] Constructing a mapping table between demand points and R&D personnel according to the demand numbers and R&D personnel corresponding to the demand points in the full demand point list;

[0038] Based on the mapping table of demand points and R&D personnel, the R&D personnel information corresponding to the entrained demand points in the entrained demand point list and the R&D personnel information corresponding to the missing demand points in the missing demand point list are obtained.

[0039] In a second aspect, an embodiment of the present application further provides a business demand analysis device, which is implemented based on a producer-consumer model, and the business demand analysis device includes:

[0040] The producer unit is used to obtain and parse the code submission log to obtain the demand information corresponding to the code submission log, and generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log;

[0041] The consumer unit is used to obtain a full list of demand points of the business demander, and analyze the development status of the business demand based on the full list of demand points and the list of demand points corresponding to the code submission log.

[0042] In a third aspect, an embodiment of the present application further provides an electronic device, including:

[0043] Processor; and

[0044] A memory arranged to store computer executable instructions which, when executed, cause the processor to perform any of the methods described above.

[0045] In a fourth aspect, an embodiment of the present application further provides a computer program product, comprising a computer program or instructions, wherein the computer program or instructions implement any of the aforementioned methods when executed by a processor.

[0046] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: The business demand analysis method in the embodiments of the present application is implemented based on the producer-consumer model, firstly obtains the code submission log and parses it to obtain the demand information corresponding to the code submission log; then generates a list of demand points corresponding to the code submission log according to the demand information corresponding to the code submission log; then obtains the full list of demand points of the business demand party; finally, analyzes the development status of the business demand according to the full list of demand points and the list of demand points corresponding to the code submission log. The business demand analysis method in the embodiments of the present application adopts the producer-consumer model to comprehensively and intuitively perform statistical analysis on the code submission log corresponding to the demand points, automatically, efficiently and accurately discover the missing and entrained situations of iterative demand points, and facilitates relevant personnel to timely understand the development status of business needs, thereby effectively promoting the submission and merging of code and improving the success rate of going online. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0048] Figure 1 A flowchart of a method for analyzing business needs in an embodiment of the present application;

[0049] Figure 2 This is a schematic diagram of a business demand analysis based on a producer-consumer model in an embodiment of the present application;

[0050] Figure 3 This is a schematic diagram of a process of a producer producing a demand point list in an embodiment of the present application;

[0051] Figure 4 A schematic diagram of a process of analyzing a list of demand points for a consumer in an embodiment of the present application;

[0052] Figure 5 This is a schematic diagram of the structure of a business demand analysis device in an embodiment of the present application;

[0053] Figure 6 This is a schematic diagram of the structure of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION

[0054] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0055] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0056] The present application embodiment provides a method for analyzing business needs, such as Figure 1 As shown, a flow chart of a business demand analysis method in an embodiment of the present application is provided. The business demand analysis method is implemented based on a producer-consumer model, and the business demand analysis method at least includes the following steps S110 to 140:

[0057] Step S110, obtaining and parsing the code submission log to obtain the requirement information corresponding to the code submission log.

[0058] In order to meet the business needs of the business demand side, relevant R&D personnel are required to develop and submit the corresponding code. The code submission log is a very important part of the software development process. It not only records the history of code changes directly related to the business demand points, but also helps team members understand the purpose, content and impact of each submission. Therefore, when performing business demand analysis, the embodiment of the present application needs to first obtain the basic data used to analyze the business demand development situation, that is, the code submission log. Then, the code submission log is parsed to obtain the demand information corresponding to the code submission log, such as the demand number corresponding to the code submission log, the type of change of the demand point, the code submission time and other information.

[0059] Step S120: generating a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log.

[0060] The above code submission logs are the code information that has been developed and submitted and obtained during the analysis cycle, which means that the demand points corresponding to the code information recorded in these log information are the demand points that have been currently developed. Then, the demand information corresponding to these code submission logs can be summarized to generate a list of demand points corresponding to the code submission logs.

[0061] Step S130, obtaining a list of all demand points of the business demander.

[0062] Another important basis for analyzing the development of business needs is the full amount of demand point information from the business demand side. The full amount of demand point information from the business demand side can be understood as all the demand points or functional points that need to be developed by R&D personnel during this iteration cycle. They come from the business demand side and can also be summarized into a full amount of demand point list.

[0063] Step S140: Analyze the development status of business requirements according to the full list of requirements and the list of requirements corresponding to the code submission log.

[0064] By comparing the list of requirements corresponding to the code submission log in this iteration cycle obtained in the previous steps and the full list of requirements of the business demand side from multiple angles, we can analyze the requirements covered by the currently submitted code, as well as the inclusion and missing of functional points, thus providing a global perspective to observe the code branch merging situation, and thus more efficiently promote code submission and branch merging, and discover and avoid code version problems as early as possible.

[0065] The above business demand analysis method is implemented based on the Producer-Consumer Model. The Producer-Consumer Model is a design pattern commonly used in multi-threaded programming to solve the synchronization problem between production data (producers) and consumption data (consumers) in a concurrent environment. Among them, the producer is responsible for generating data and putting it into the buffer for consumers to use. The consumer is responsible for taking data out of the buffer and processing it. The buffer is used to store the data generated by the producer for consumers to use.

[0066] In the embodiment of the present application, considering that the amount of data such as code submission logs to be analyzed and processed is actually large, the multi-threaded concurrency mechanism of the producer-consumer model can greatly improve the processing and analysis efficiency, wherein the above steps S110-S120 can be executed by the producer, and the above steps S130-S140 can be executed by the consumer.

[0067] The business demand analysis method of the embodiment of the present application adopts the producer-consumer model to comprehensively and intuitively perform statistical analysis on the code submission logs corresponding to the demand points, automatically, efficiently and accurately discover the missing and entrained situations of iterative demand points, and facilitate relevant personnel to timely understand the development status of business needs, thereby effectively promoting the submission and merging of code and improving the success rate of online launch.

[0068] In some embodiments of the present application, the method of obtaining the code submission log and parsing it to obtain the requirement information corresponding to the code submission log includes: obtaining configuration information of the code submission log, the configuration information including the target project warehouse address and iteration start and end parameters; according to the target project warehouse address, traversing all target project warehouses in a multi-threaded concurrent manner, and obtaining the code submission log according to the iteration start and end parameters; parsing the code submission log to obtain the requirement information corresponding to the code submission log.

[0069] When obtaining the code submission log, you can first obtain the configuration information of the code submission log. The configuration information here may include, for example, a configured target project repository address list, iteration start and end parameters, and other information.

[0070] The engineering repository is an important tool for storing and managing software source code in the field of software development. It usually includes one or more version control systems to record the change history of each code version and the submission records of developers. Therefore, the engineering repository is the source of code submission log data. The code submission logs in which engineering repositories are obtained are configured according to actual needs.

[0071] The start and end parameters of the iteration are also configuration parameters that control the scope of obtaining code submission logs. They can be configured based on the time dimension or the tag dimension.

[0072] Based on the target project warehouse address list and iteration start and end parameter configuration information configured above, all target project warehouses can be traversed concurrently through multi-threading, and all incremental code submission log records can be obtained from them according to the iteration start and end parameters for parsing.

[0073] In some embodiments of the present application, the requirement information corresponding to the code submission log includes a requirement change type, and generating a requirement point list corresponding to the code submission log based on the requirement information corresponding to the code submission log includes: if the requirement change type is addition, adding the requirement information to the requirement point list corresponding to the code submission log; if the requirement change type is deletion, deleting the requirement information from the requirement point list corresponding to the code submission log.

[0074] When the code is submitted, its log format generally needs to comply with certain format specifications. Depending on the type of required changes, the defined format specifications can be in the following forms:

[0075] 1) The format of the log submission when adding or modifying function points:

[0076] "[sprint iteration number-function point number 1|function point number 2]git commit information"

[0077] If the same code completes multiple function points in the requirement list, the function point numbers are separated by "|", for example: "[sprint4-1|2] Data synchronization service supports switching of multiple data sources; supports abnormal storage"

[0078] 2) The format of the log submission when deleting a function point:

[0079] "[sprint iteration number - function point number 1 | number 2 (-))] git commit information"

[0080] For example: "[sprint4-1(-)] Remove the data synchronization service to support the multi-data source switching function", (-) means removing the function point. Iteration 4 will no longer launch this function point, and the script will remove this function point during the software product inspection.

[0081] Of course, how to define the format specification of the code submission log can be flexibly set by those skilled in the art according to actual needs, and no specific limitation is made here.

[0082] The code submission log is parsed based on the above defined format specifications. If the parsed requirement change type is addition, the requirement number, requirement point change type, code submission time and other information are added to the requirement list; if the parsed requirement change type is deletion, the requirement information is removed from the requirement list.

[0083] In some embodiments of the present application, the requirement information corresponding to the code submission log also includes a requirement number, and generating a requirement point list corresponding to the code submission log based on the requirement information corresponding to the code submission log includes: sorting the requirement information in the requirement point list corresponding to the code submission log according to the requirement number to obtain a sorted requirement point list; and sharding the sorted requirement point list to obtain multiple sharded requirement point lists corresponding to the code submission log.

[0084] Based on the multi-threaded concurrent processing capability of the producer-consumer model, the embodiment of the present application can sort all the demand information in the demand list in ascending or descending order according to the size of the demand number, and then divide the sorted demand list into multiple parts to obtain multiple shard demand lists, so that subsequent consumers can process the information of these multiple shard demand lists in parallel to improve processing efficiency. The specific number of shards can be flexibly set according to actual needs and is not specifically limited here.

[0085] In some embodiments of the present application, obtaining the full demand point list of the business demand party includes: obtaining a demand matrix table, the demand matrix table containing iteration cycles and corresponding demand numbers; obtaining all demand numbers corresponding to this iteration cycle according to the demand matrix table; and generating the full demand point list according to all demand numbers corresponding to this iteration cycle.

[0086] When consumers obtain the full list of demand points from business demanders, they can first obtain the demand matrix table of the business demander, which records the correspondence between iteration cycles and demand numbers. After the business demander clarifies the demand, the demand management personnel will number the demand according to certain rules. The numbering rules can be, for example, xy, where x is the iteration cycle and y is the demand number within the iteration cycle, thus forming a demand matrix table. For example: 4-1 means demand No. 1 of iteration 4. In addition, the demand management personnel will also assign the demand to the corresponding R&D personnel to form a correspondence between demand points and R&D personnel.

[0087] Based on the above demand matrix table, the numbers of all demand points in this iteration cycle can be obtained. For example, if the iteration cycle is 4, then the numbers 1, 2, 3...n of all demand points corresponding to iteration cycle 4 can be obtained, and the full demand point list G can be constructed based on these n demand numbers.

[0088] In some embodiments of the present application, analyzing the development status of business needs based on the full demand point list and the demand point list corresponding to the code submission log includes: comparing the demand point list corresponding to the code submission log with the full demand point list to obtain an entrained demand point list; comparing the demand point list corresponding to the code submission log with the entrained demand point list to obtain a correctly covered demand point list; comparing the correctly covered demand point list with the full demand point list to obtain a missing demand point list; and calculating demand coverage based on the correctly covered demand point list and the full demand point list.

[0089] When analyzing the development status of business requirements based on the full list of requirements and the list of requirements corresponding to the code submission log, the analysis can be mainly carried out from the following aspects:

[0090] 1) Analysis of the situation of function point inclusion: Function point inclusion means that the code submission log within this iteration cycle includes function points that should not or do not belong to this launch, which means that the function point must not belong to the function points in the full requirement list within this iteration cycle. Therefore, the requirement point list S corresponding to the code submission log can be compared with the full requirement point list G. If a requirement point in the requirement point list S does not exist in the full requirement list G, then the requirement point is considered to be an included requirement point and is added to the included requirement point list E, that is, E=S-(S∩G).

[0091] 2) Analysis of correct coverage of demand points: Correct coverage of demand points refers to the situation where all demand points covered in the code submission log belong to the demand points in the full demand list. Based on the above-mentioned entrained demand point list E, the demand point list S corresponding to the code submission log can be further compared with the entrained demand point list E. The difference between the demand point list S and the entrained demand point list E constitutes the correctly covered demand point list R, that is, R=SE.

[0092] 3) Analysis of missing demand points: Missing demand points refer to the situation where there are no covered demand points in the code submission log within this iteration cycle. Based on the above-stated correctly covered demand point list R, the correctly covered demand point list R can be further compared with the full demand list G. The difference between the correctly covered demand point list R and the full demand list G constitutes the missing demand point list M, that is, M=GR;

[0093] 4) Demand point coverage analysis: According to the ratio of the number of demand points in the correct coverage demand point list R and the number of demand points in the full demand list G, the demand coverage can be calculated as R / G.

[0094] Based on the statistical analysis of the indicators in the above aspects, it is possible to intuitively and comprehensively statistically analyze the development of requirement points during this iteration cycle, including issues such as the development progress of the current iteration cycle, the inclusion and omission of function points, etc., which is convenient for timely avoidance and solution.

[0095] In some embodiments of the present application, the requirement point list corresponding to the code submission log includes multiple sharded requirement point lists. The comparison of the requirement point list corresponding to the code submission log with the full requirement point list to obtain the included requirement point list includes: comparing each sharded requirement point list with the full requirement point list in a multi-threaded concurrent manner to obtain multiple sharded included requirement point lists; determining the final included requirement point list based on the multiple sharded included requirement point lists.

[0096] As in the foregoing embodiments, after the producer generates the requirement point list, the requirement point list can be equally divided into multiple sharded requirement point lists through sharding processing. In this way, when the consumer performs specific consumption processing, it can start multiple child threads and number the child threads. The way to obtain the number can be, for example, that each thread "increases and obtains" the atomic variable value seq (the initial value of seq is 0, and the type is Atomic), and the obtained seq is the number of the thread. Then, concurrently process the data of multiple sharded requirement point lists, and finally summarize the processing results of multiple sharded requirement point lists to obtain the final processing result.

[0097] For example, assuming there are m sharded requirement point lists, when analyzing the inclusion of function points, the consumer starts m child threads correspondingly. Each child thread i (0 < i < m + 1) is used to consume the set of requirement numbers Si in the i-th shard, and then compare it with the full requirement table G respectively to obtain the included requirement point list Ei corresponding to each sharded requirement point list. Finally, by summarizing the included requirement point lists Ei corresponding to all sharded requirement point lists, the final included requirement point list E = E1 + E2 +... + Em is obtained.

[0098] In some embodiments of the present application, the business requirement analysis method further includes: obtaining the R & D personnel corresponding to the requirement points in the full requirement point list; constructing a mapping table of requirement points and R & D personnel based on the requirement numbers and R & D personnel corresponding to the requirement points in the full requirement point list; based on the mapping table of requirement points and R & D personnel, obtaining the R & D personnel information corresponding to the included requirement points in the included requirement point list and the R & D personnel information corresponding to the missing requirement points in the missing requirement point list.

[0099] The consumer of the embodiment of the present application can start the main thread to read and parse the iterative demand matrix table, obtain the numbers of all the requirements of this iteration and the corresponding R&D personnel information, and form a mapping table of <requirement number, R&D personnel>. In this way, when the function point is subsequently determined to be entrained or missing, the relevant R&D personnel can be quickly located according to the mapping table of <requirement number, R&D personnel>.

[0100] To facilitate understanding of the above embodiments, Figure 2 As shown, a schematic diagram of a business demand analysis based on a producer-consumer model in an embodiment of the present application is provided. The producer can obtain the incremental code submission log from the engineering warehouse and parse it to generate a demand point list. Then, the demand point list is sharded according to actual needs to obtain multiple sharded demand point lists. The consumer starts the main thread, obtains the demand matrix table and analyzes it to generate a full demand point list. Then, multiple sub-threads are started to compare and analyze the multiple sharded demand point lists with the full demand point list, and calculate the analysis results such as demand point coverage.

[0101] like Figure 3 As shown, a schematic diagram of the process of a producer producing a demand point list in an embodiment of the present application is provided. First, obtain the configuration information such as the target project warehouse address list and iteration start and end parameters, traverse multiple target project warehouses through multi-threading, and obtain the incremental code submission log according to the iteration start and end parameters. Then, parse the code submission log to obtain all demand information such as demand numbers, and determine the type of demand point change based on the demand information. If it is a new addition, add the demand information to the demand point list. If it is a deletion, delete the demand information from the demand point list. Finally, sort the demand points in the demand point list according to the size of the demand number, and slice the sorted demand point list to obtain multiple sliced ​​demand point lists.

[0102] like Figure 4 As shown, a schematic diagram of the process of a consumer analyzing a demand point list in an embodiment of the present application is provided. First, the main thread is started to obtain the demand matrix table, and the demand matrix table is parsed to form a mapping table of the full demand point list and <demand number, R&D personnel>. Then, multiple sub-threads are started and each sub-thread is numbered, and multiple sub-threads are used to consume multiple shard demand point lists respectively, and compared and analyzed with the full demand point list to calculate the entrained demand point list, the correctly covered demand point list, and the missing demand point list. Finally, the main thread summarizes the above results, calculates the demand coverage based on the correctly covered demand point list and the full demand point list, and outputs the entrained demand points and missing demand points and their corresponding related R&D personnel.

[0103] In summary, the key points of the business requirements analysis method of this application are mainly:

[0104] 1) Based on the idea of ​​the producer-consumer model, the producer obtains the code submission logs of each project repository in a multi-threaded parallel and incremental manner to reduce the scanning of invalid submission logs;

[0105] 2) The producer will evenly shard the incremental log to facilitate consumers to process in parallel and determine the end mark of the shard;

[0106] 3) The start and end range of incremental scanning can be configured: the engineering warehouse tag baseline mark, submission point information or submission date can be configured as the start and end points of the scan;

[0107] 4) Consumers use multi-threading to concurrently process shards, compare demands, and merge results, thereby quickly analyzing the development status of demand points.

[0108] The business needs analysis method of this application has achieved at least the following technical effects:

[0109] 1) This application establishes corresponding submission rules and specifications in the demand management and software development stages, realizing effective linkage between demand and development;

[0110] 2) This application uses incremental extraction, data sharding and concurrent processing to conduct statistics on demand development status such as demand coverage, which can automatically, efficiently and accurately discover the missing and entrained iterative function points, effectively promote the submission and merging of code, and improve the success rate of online launch.

[0111] The present application also provides a business demand analysis device 500, such as Figure 5 As shown, a schematic diagram of the structure of a business demand analysis device in an embodiment of the present application is provided. The business demand analysis device is implemented based on a producer-consumer model. The business demand analysis device 500 includes: a producer unit 510 and a consumer unit 520, wherein:

[0112] The producer unit 510 is used to obtain and parse the code submission log to obtain the demand information corresponding to the code submission log, and generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log;

[0113] The consumer unit 520 is used to obtain a full list of demand points of the business demand side, and analyze the development status of the business demand based on the full list of demand points and the list of demand points corresponding to the code submission log.

[0114] In some embodiments of the present application, the producer unit 510 is specifically used to: obtain configuration information of the code submission log, the configuration information including the target project warehouse address and iteration start and end parameters; according to the target project warehouse address, traverse all target project warehouses in a multi-threaded concurrent manner, and obtain the code submission log according to the iteration start and end parameters; parse the code submission log to obtain the requirement information corresponding to the code submission log.

[0115] In some embodiments of the present application, the requirement information corresponding to the code submission log includes a requirement change type, and the producer unit 510 is specifically used to: if the requirement change type is addition, add the requirement information to the requirement point list corresponding to the code submission log; if the requirement change type is deletion, delete the requirement information from the requirement point list corresponding to the code submission log.

[0116] In some embodiments of the present application, the demand information corresponding to the code submission log also includes a demand number, and the producer unit 510 is specifically used to: sort the demand information in the demand point list corresponding to the code submission log according to the demand number to obtain a sorted demand point list; and slice the sorted demand point list to obtain multiple sliced ​​demand point lists corresponding to the code submission log.

[0117] In some embodiments of the present application, the consumer unit 520 is specifically used to: obtain a demand matrix table, the demand matrix table containing iteration cycles and corresponding demand numbers; obtain all demand numbers corresponding to this iteration cycle according to the demand matrix table; and generate the full demand point list according to all demand numbers corresponding to this iteration cycle.

[0118] In some embodiments of the present application, the consumer unit 520 is specifically used to: compare the demand point list corresponding to the code submission log with the full demand point list to obtain an entrained demand point list; compare the demand point list corresponding to the code submission log with the entrained demand point list to obtain a correctly covered demand point list; compare the correctly covered demand point list with the full demand point list to obtain a missing demand point list; calculate the demand coverage based on the correctly covered demand point list and the full demand point list.

[0119] In some embodiments of the present application, the demand point list corresponding to the code submission log includes multiple shard demand point lists, and the consumer unit 520 is specifically used to: compare each shard demand point list with the full demand point list in a multi-threaded concurrent manner to obtain multiple shard entrained demand point lists; and determine the final entrained demand point list based on the multiple shard entrained demand point lists.

[0120] In some embodiments of the present application, the consumer unit 520 is specifically used to: obtain the R&D personnel corresponding to the demand points in the full demand point list; construct a mapping table between demand points and R&D personnel according to the demand numbers and R&D personnel corresponding to the demand points in the full demand point list; based on the mapping table between demand points and R&D personnel, obtain the R&D personnel information corresponding to the entrained demand points in the entrained demand point list and the R&D personnel information corresponding to the missing demand points in the missing demand point list.

[0121] It can be understood that the above-mentioned business demand analysis device can implement each step of the business demand analysis method provided in the above-mentioned embodiment, and the relevant explanations about the business demand analysis method are applicable to the business demand analysis device and will not be repeated here.

[0122] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. Figure 6 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory. The memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. Of course, the electronic device may also include hardware required for other services.

[0123] The processor, network interface and memory can be interconnected through an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0124] The memory is used to store the program. Specifically, the program may include a program code, and the program code includes a computer operation instruction. The memory may include a memory and a non-volatile memory, and provides instructions and data to the processor.

[0125] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a business demand analysis device at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:

[0126] Obtain and parse the code submission log to obtain the requirement information corresponding to the code submission log;

[0127] Generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log;

[0128] Obtain a list of all demand points from business demanders;

[0129] Analyze the development status of business requirements based on the full list of requirements and the list of requirements corresponding to the code submission log.

[0130] The above application Figure 1 The method performed by the business demand analysis device disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or an instruction in software form. The above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in a decoding processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0131] The present application also provides a computer program product, including a computer program or an instruction, which is implemented when the computer program or the instruction is executed by a processor. Figure 1 The business requirements analysis method in the illustrated embodiment is specifically used to perform:

[0132] Obtain and parse the code submission log to obtain the requirement information corresponding to the code submission log;

[0133] Generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log;

[0134] Obtain a list of all demand points from business demanders;

[0135] Analyze the development status of business requirements based on the full list of requirements and the list of requirements corresponding to the code submission log.

[0136] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0137] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0138] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0139] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0140] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0141] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0142] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

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

[0144] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0145] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A business demand analysis method, characterized in that: The business demand analysis method is implemented based on a producer-consumer model, and the business demand analysis method includes: Obtain and parse the code submission log to obtain the requirement information corresponding to the code submission log; Generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log; Obtain a list of all demand points from business demanders; Analyze the development status of business requirements based on the full list of requirements and the list of requirements corresponding to the code submission log.

2. The business demand analysis method according to claim 1, characterized in that: The code submission log is obtained and parsed to obtain the requirement information corresponding to the code submission log, including: Obtain configuration information of the code submission log, the configuration information including the target project repository address and iteration start and end parameters; According to the target project warehouse address, all target project warehouses are traversed in a multi-threaded concurrent manner, and code submission logs are obtained according to the iteration start and end parameters; The code submission log is parsed to obtain requirement information corresponding to the code submission log.

3. The business demand analysis method according to claim 1, characterized in that: The requirement information corresponding to the code submission log includes a requirement change type, and generating a requirement point list corresponding to the code submission log according to the requirement information corresponding to the code submission log includes: If the requirement change type is new addition, the requirement information is added to the requirement point list corresponding to the code submission log; If the requirement change type is deletion, the requirement information is deleted from the requirement point list corresponding to the code submission log.

4. The business demand analysis method according to claim 1, characterized in that: The requirement information corresponding to the code submission log also includes a requirement number, and generating a requirement point list corresponding to the code submission log according to the requirement information corresponding to the code submission log includes: Sort the demand information in the demand point list corresponding to the code submission log according to the demand number to obtain a sorted demand point list; The sorted demand point list is fragmented to obtain multiple fragmented demand point lists corresponding to the code submission log.

5. The method for analyzing business needs according to claim 1, characterized in that: The obtaining of a full list of demand points of the business demander includes: Obtain a requirement matrix table, wherein the requirement matrix table includes iteration cycles and corresponding requirement numbers; Obtain all requirement numbers corresponding to this iteration cycle according to the requirement matrix table; The full demand point list is generated according to all demand numbers corresponding to this iteration cycle.

6. The business demand analysis method according to claim 1, characterized in that: Analyzing the development status of business requirements according to the full list of requirements and the list of requirements corresponding to the code submission log includes: Compare the demand point list corresponding to the code submission log with the full demand point list to obtain an entrained demand point list; Compare the demand point list corresponding to the code submission log with the entrained demand point list to obtain a correct coverage demand point list; Compare the correctly covered demand point list with the full demand point list to obtain a missing demand point list; The demand coverage is calculated based on the correctly covered demand point list and the full demand point list.

7. The method for analyzing business needs according to claim 6, characterized in that: The demand point list corresponding to the code submission log includes multiple shard demand point lists, and the comparison of the demand point list corresponding to the code submission log with the full demand point list to obtain the entrained demand point list includes: By means of multi-threaded concurrent processing, each shard demand point list is compared with the full demand point list to obtain multiple shard entrained demand point lists; According to the plurality of slicing entrainment demand point lists, a final entrainment demand point list is determined.

8. The method for analyzing business needs according to claim 6, characterized in that: The business requirements analysis method further includes: Obtaining R&D personnel corresponding to the demand points in the full demand point list; Constructing a mapping table between demand points and R&D personnel according to the demand numbers and R&D personnel corresponding to the demand points in the full demand point list; Based on the mapping table of demand points and R&D personnel, the R&D personnel information corresponding to the entrained demand points in the entrained demand point list and the R&D personnel information corresponding to the missing demand points in the missing demand point list are obtained.

9. A business demand analysis device, characterized in that: The business demand analysis device is implemented based on a producer-consumer model, and the business demand analysis device includes: The producer unit is used to obtain and parse the code submission log to obtain the demand information corresponding to the code submission log, and generate a demand point list corresponding to the code submission log according to the demand information corresponding to the code submission log; The consumer unit is used to obtain a full list of demand points of the business demander, and analyze the development status of the business demand based on the full list of demand points and the list of demand points corresponding to the code submission log.

10. An electronic device comprising: processor; as well as A memory arranged to store computer executable instructions, wherein when the executable instructions are executed, the processor executes the business requirement analysis method according to any one of claims 1 to 8.

11. A computer program product, comprising a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implements the business demand analysis method according to any one of claims 1 to 8.