Software development management method and electronic equipment
By constructing requirement fingerprints, the problem of poor data correlation in software development management is solved, enabling full lifecycle management of data, improving the convenience and accuracy of project management, and shortening the development cycle.
Patent Information
- Application Number
- CN202510777006.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-11
- Publication Date
- 2025-10-17
AI Technical Summary
In existing technologies, poor data relationships during software development and management lead to information delays, data errors, complex and chaotic management, difficulty in managing user roles, the need to copy data between multiple systems, a large workload, and the inability to maintain data relationships.
By acquiring a set of tasks, forming target requirement information, building mapping relationships, associating target projects, versions, and requirement information, identifying target defects and use cases, setting target configuration items, obtaining requirement fingerprints, and using requirement numbers to uniquely identify requirement fingerprints, we can achieve full lifecycle management of data.
It achieves convenient and accurate project management, with good data correlation, timely information updates, and simple data maintenance, thereby improving software development efficiency and shortening the development cycle.
Smart Images

Figure CN120803402A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of software development management, and particularly relate to a software development management method and an electronic device. BACKGROUND
[0002] Software project development process control involves multiple links, such as software requirements, project progress management, software configuration management, software version control, software testing and software release management, etc. At present, one link generally adopts one tool in the industry. In the project development process, multiple single tools have difficulty in communicating with each other, and data redundancy is not unified and not interconnected. At the same time, user role management is difficult, and it is necessary to copy management data between multiple systems, resulting in a large amount of work, complex management and maintenance, and the inability to maintain the association relationship between data. Project development information is delayed, data errors occur, and project management is chaotic. SUMMARY
[0003] In view of this, one purpose of embodiments of the present application is to provide a software development management method and an electronic device, aiming to solve the technical problem of information delay and data error caused by poor data association relationship in the software development management process in the prior art.
[0004] To solve the above technical problems, embodiments of the present application provide the following technical solutions: In a first aspect, the embodiments of the present application provide a software development management method, comprising: obtaining a task set, the task set comprising one or more target tasks; forming target requirement information based on the target tasks, one or more target tasks corresponding to one target requirement information; constructing a mapping relationship based on the target requirement information, the mapping relationship comprising a target project, a target version and a target requirement information, the target requirement information being associated with the target project and the target version; determining a target defect and a target use case corresponding to the target requirement information based on the target requirement information; setting a target configuration item corresponding to the target requirement information based on the target requirement information; associating the target defect, the target use case and the target configuration item to the target requirement information in the mapping relationship to obtain a requirement fingerprint, the requirement fingerprint comprising a requirement number, the requirement number being used to uniquely identify the requirement fingerprint.
[0005] In some embodiments, the forming target requirement information based on the target tasks comprises: According to a developer type, the target task is divided into a front-end task and a back-end task, to obtain a front-end task set and a back-end task set, wherein the developer type is used to represent a developer role processing the target task, the front-end task set includes a plurality of front-end tasks, and the back-end task set includes a plurality of back-end tasks; Based on the front-end task and the back-end task, a merged task and an independent task are obtained. Based on the merged task and the independent task, the target requirement information is formed.
[0006] In some embodiments, based on the front-end task and the back-end task, a merged task and an independent task are obtained, including: Any one front-end task in the front-end task set is selected as a reference front-end task; The back-end task set is traversed to find a target back-end task matching the reference front-end task from the back-end task set, and the target back-end task is a back-end task with a similarity greater than a preset similarity threshold to the reference front-end task; In response to finding the target back-end task, the reference front-end task and the target back-end task are merged to obtain a merged task; In response to not finding the target back-end task, the reference front-end task is determined to be an independent task; In response to finding all front-end tasks, and the back-end task set has a reference back-end task with a similarity less than or equal to the preset similarity threshold to the reference front-end task, the reference back-end task is determined to be an independent task.
[0007] In some embodiments, the back-end task set is traversed to find a target back-end task matching the reference front-end task from the back-end task set, including: The merging state of a candidate back-end task is obtained, and the candidate back-end task is any one back-end task in the back-end task set; In response to the merging state of the candidate back-end task being merged, the candidate back-end task is skipped; In response to the merging state of the candidate back-end task being not merged, the candidate back-end task and the reference front-end task are compared to determine whether the candidate back-end task is a target back-end task, and the similarity between the candidate back-end task and the reference front-end task is greater than a similarity threshold, and the candidate back-end task is a target back-end task, and the similarity between the candidate back-end task and the reference front-end task is less than or equal to a similarity threshold, and the candidate back-end task is not a target back-end task.
[0008] In some embodiments, comparing the candidate backend task with the reference frontend task to determine whether the candidate backend task is a target backend task includes: Comparing the first description of the candidate backend task with the second description of the reference frontend task; If the similarity between the first description content and the second description content is greater than a preset similarity threshold, determining the candidate backend task as a target backend task; If the similarity between the first description content and the second description content is less than or equal to a preset similarity threshold, it is determined that the candidate backend task is not a target backend task.
[0009] In some embodiments, forming the target requirement information based on the combined task and the independent task includes: Extract the responsible persons corresponding to the target version, including developers, testers, and product personnel; The responsible person, the combined task, and the independent task are formed into target requirement information.
[0010] In some embodiments, the method further comprises: Acquire code data, where the code data includes a requirement code and / or a defect code, where the requirement code is a code written to resolve the requirement information, and the defect code is a code written to resolve the defect; Submit the code data to the target branch associated with the target version.
[0011] In some embodiments, the method further comprises: In response to a transfer test instruction, obtaining candidate demand information in a candidate demand fingerprint corresponding to the transfer test instruction; In response to the candidate requirement information having executed the first level test case, the test transfer instruction is forwarded to a person associated with the candidate requirement information, so that the associated person performs the test based on the test transfer instruction.
[0012] In some embodiments, the candidate requirement information includes a limited test time, where the limited test time is a preset time range for executing the first level test case of the requirement information. The method further includes: Obtaining the limited test time and the actual execution time of the test case of the first level; In response to the execution time exceeding the limited test time, a test postponement prompt message is generated, and the test postponement prompt message is used to prompt a person associated with the candidate requirement information.
[0013] In a second aspect, an embodiment of the present invention provides an electronic device, including: a processor and a memory connected to the processor in communication; The memory stores computer program instructions executable by the processor, which, when executed by the processor, causes the electronic device to perform any one of the software development management methods of the first aspect.
[0014] The embodiments of the present application have the following beneficial effects: Different from the prior art, the software development management method provided by the embodiments of the present application comprises: obtaining a task set, the task set comprising one or more target tasks, forming target requirement information based on the target tasks, one or more target tasks corresponding to one target requirement information, constructing a mapping relationship based on the target requirement information, the mapping relationship comprising a target project, a target version and the target requirement information, the target requirement information being associated with the target project and the target version, determining target defects and target use cases corresponding to the target requirement information based on the target requirement information, setting target configuration items corresponding to the target requirement information based on the target requirement information, associating the target defects, the target use cases and the target configuration items to the target requirement information in the mapping relationship, and obtaining a requirement fingerprint, the requirement fingerprint comprising a requirement number, the requirement number being used for uniquely identifying the requirement fingerprint.
[0015] The embodiments of the present application obtain the requirement fingerprint by associating the project, the version, the requirement information, the defects, the use cases and the configuration items, have good data association relationship, and can conveniently manage and maintain each part of data in the requirement fingerprint according to the requirement number of the requirement fingerprint, the information is updated in time, the data maintenance is simple, and the convenience and accuracy of project management are improved. BRIEF DESCRIPTION OF DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the prior art or the embodiments. Obviously, the drawings described below only show some of the embodiments of the present application, and should not be regarded as a limitation to the protection scope. For those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0017] Figure 1a is a schematic diagram of an application scenario of software development management in some embodiments of the present application; Figure 1b is a schematic diagram of a software development management process in some embodiments of the present application; Figure 2 is a schematic diagram of the structure of an electronic device provided by some embodiments of the present application; Figure 3 is a flowchart of a software development management method provided by some embodiments of the present application; Figure 4ais a structural diagram of initial demand information and target demand information in some embodiments of the present application; Figure 4b is a front page effect diagram of a demand fingerprint in some embodiments of the present application; Figure 4c is a software development management logic diagram of a demand fingerprint in some embodiments of the present application; Figure 5 is a flow diagram of a software development management method provided by some embodiments of the present application; Figure 6 is a flow diagram of code legality verification in some embodiments of the present application. DETAILED DESCRIPTION
[0018] In order to make the purpose and advantages of the embodiments of the present application more easily understood, the technical solutions of the embodiments of the present application will be described clearly and completely below with reference to the drawings of the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, not all the embodiments of the present application. The detailed description of the embodiments of the present application below in the drawings is not to limit the scope of the present application, but only to represent selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of the present application.
[0019] It should be noted that, if there is no conflict, each technical feature involved in the embodiments of the present application described below can be combined with each other, and all within the scope of the present application. In addition, although the functional modules are divided in the device or structure diagram, and the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in different order than the module division in the device or the order in the flowchart. In addition, the "first", "second", "third" and other similar expressions used herein do not limit the data and execution order, but only for the purpose of explanation and to distinguish the same or similar items with basically the same function and effect, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features.
[0020] Unless otherwise defined, the technical terms and scientific terms used in the specification have the same meanings as those commonly understood by those skilled in the art to which the present application belongs. The terms used in the specification are only for the purpose of describing the specific embodiments and are not used to limit the present application. It should be understood that the term "and / or" used in the specification includes any and all combinations of one or more listed items.
[0021] Please refer to Figure 1a and Figure 1b , Figure 1aThe following schematically illustrates an application scenario of software development management in some embodiments of the present invention. Figure 1b The following schematically illustrates a software development management process in some embodiments of the present invention.
[0022] like Figure 1a As shown, the application scenario includes an electronic device 100, a first engine 10, a second engine 20 and a third engine 30. The electronic device 100 is respectively connected to the first engine 10, the second engine 20 and the third engine 30 through a network, and the network includes but is not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0023] Specifically, in actual software development management applications, the first engine 10 is used to aggregate and provide tasks. Users can publish tasks to the first engine 10, which then aggregates multiple tasks for the same version of the same project into a task set and stores the task set locally. In embodiments of the present invention, the first engine 10 can be the project management tool "Redmine" or any other suitable system, tool, or software, and the embodiments of the present invention do not impose any limitations thereto.
[0024] In some embodiments, the electronic device 100 obtains a task set G from the first engine 10, and the task set G includes multiple target tasks (eg Figure 1b The target tasks G1, G2, G3 and G4 shown in FIG are formed into target demand information (for example Figure 1a or Figure 1b Target requirement information C is shown, where one or more target tasks correspond to one target requirement information. Target requirement information is a description of the functionality that the software system needs to implement. For example, if the required functionality is to count the number of patents and patent applications, the target requirement information could be statistics on the number of patents and patent applications within any time period, and could be multi-faceted based on application type, application time, authorization status, and legal status.
[0025] It's understandable that the same version of the same project includes one or more target requirement information, each of which corresponds to one or more tasks. Tasks are corresponding task nodes derived from the target requirement information. For example, if the target requirement information is to implement statistics on the number of patents and patent applications, then the multiple tasks may include patent entry tasks, patent information acquisition tasks, and patent statistics tasks. Tasks are assigned to specific developers, each with a corresponding time commitment. These tasks are used to control and manage developer resources, as well as the scheduling of project submissions and deliveries, thereby advancing project development progress.
[0026] In some embodiments, the target requirement information includes a plurality of requirements, the requirements are specific implementable function modules output by product managers after designing requirements proposed by requirement parties, tasks are divided based on the function modules, for example, a function module of counting patent and patent application numbers according to application types is divided into a task, and a function module of counting patent and patent application numbers according to application times is divided into a task.
[0027] Specifically, after obtaining the target requirement information, a mapping relationship is constructed from the target project, the target version and the target requirement information, the target project, the target version and the requirements in the target requirement information correspond to each other, the mapping relationship includes the target project, the target version and the target requirement information, and the target requirement information is associated with the target project and the target version. For example, please refer to Figure 1a or Figure 1b The target project A, the target version B and the target requirement information C are constructed to obtain a mapping relationship 10, and the target requirement information C is associated with the target project A and the target version B.
[0028] Specifically, the second engine 20 is used to collect and provide defects, users can publish defects in the second engine 20, and the second engine 20 collects defects corresponding to the same target requirement information. In the embodiment of the present application, the second engine 20 can be a project management software “Zen” or any other suitable system, tool or software, and the embodiment of the present application does not make any limitation thereto.
[0029] Specifically, the third engine 30 is used to collect and provide use cases, which refer to test cases for testing the implementation of each function of software in software development and defects. Users can publish use cases in the third engine 30, and the third engine 30 collects use cases corresponding to the same target requirement information. In the embodiment of the present application, the third engine 30 can be a software test platform “MeterSphere” or any other suitable system, platform or software, and the embodiment of the present application does not make any limitation thereto.
[0030] In some embodiments, the electronic device 100 determines target defects and target use cases corresponding to the target requirement information in the second engine 20 and the third engine 30 respectively according to the target requirement information, sets target configuration items corresponding to the target requirement information, and then associates the target defects, the target use cases and the target configuration items to the target requirement information of the mapping relationship to obtain a requirement fingerprint, the requirement fingerprint includes a requirement number, the requirement number is used to uniquely identify the requirement fingerprint, and the target requirement information and its corresponding target project, target version, target defects, target use cases and target configuration items and other information in the requirement fingerprint can be queried through the requirement number.
[0031] For example, please refer to Figure 1a or Figure 1bThe target defect D, the target use case E and the target configuration item F are associated to the target requirement information C in the mapping relationship 10, and requirement fingerprint H is obtained, the requirement fingerprint H includes requirement number HL7785, and the requirement number HL7785 is used for uniquely identifying the requirement fingerprint H. Wherein, the project manager, the developer and the tester and the like can query the target requirement information C of the requirement fingerprint H and information such as the corresponding target project A, the target version B, the target defect D, the target use case E and the target configuration item F through the requirement number HL7785.
[0032] In the foregoing manner, the parts of data in the project development management process have a good data association relationship, the user can conveniently manage and maintain the parts of data according to the requirement number of the requirement fingerprint, information is updated in time, data maintenance is simple, the convenience and accuracy of project management are improved, the software development efficiency is significantly improved, and the software development cycle is shortened.
[0033] It should be understood that, in Figure 1a the application scenarios shown, the electronic device 100 is a notebook computer, which does not cause any limitation on any situation such as the structure, type and quantity of the electronic device 100 in other application scenarios or embodiments. For example, in some other application scenarios or embodiments, the electronic device can also be a desktop computer, a tablet computer, a microcontroller or other suitable types of devices or apparatuses, and the electronic device can further include more or fewer components than or have a different configuration from the notebook computer shown in FIG. 1.
[0034] To facilitate understanding of the software development management method provided by the embodiments of the present application, first, the electronic device provided by the embodiments of the present application is described in detail.
[0035] Please refer to Figure 2 , Figure 2 The structure schematic diagram of the electronic device provided by some embodiments of the present application is schematically shown.
[0036] For example, as Figure 2 shown, the electronic device 100 includes at least one processor 110 and a memory 120 connected in communication, Figure 2 a processor is taken as an example. Wherein, various components in the electronic device 100 are coupled together through the bus system 130, and the bus system 130 is used to realize the connection communication between the components. It should be understood that, in addition to the data bus, the bus system 130 can also include a power bus, a control bus and a state signal bus and the like. However, for the purpose of clear illustration and briefness, all kinds of buses are marked as the bus system 130 in the Figure 2 It can be understood that, Figure 2The structure shown in the embodiments is only illustrative, and does not cause any limitation to the structure of the electronic device. For example, the electronic device can further include more or less components than the structure shown, or have a different configuration from the structure shown. Figure 2 The structure shown in the embodiments is only illustrative, and does not cause any limitation to the structure of the electronic device. For example, the electronic device can further include more or less components than the structure shown, or have a different configuration from the structure shown. Figure 2 The structure shown in the embodiments is only illustrative, and does not cause any limitation to the structure of the electronic device. For example, the electronic device can further include more or less components than the structure shown, or have a different configuration from the structure shown.
[0037] In particular, the processor 110 is configured to provide operation and control capabilities to control the electronic device 100 to perform corresponding tasks, for example, to control the electronic device 100 to perform any one of the software development management methods provided by the embodiments of the present application, or to perform the steps in any one of the possible implementation manners of any one of the software development management methods provided by the embodiments of the present application. Those skilled in the art can understand that the processor 110 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; and can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.
[0038] The memory 120, as a non-transitory computer readable storage medium, can be used to store non-transitory software programs, non-transitory computer executable programs, instructions and modules, for example, programs, instructions and modules corresponding to the software development management method of the embodiments of the present application. In some embodiments, the memory 120 can include a program storage area and a data storage area, the program storage area can store an operating system and application programs required by at least one function, and the data storage area can store data created according to the use of the processor 110, etc. The processor 110 executes various function applications and data processing of the electronic device 100 by running the non-transitory software programs, instructions and modules stored in the memory 120, so as to implement any one of the software development management methods provided by the embodiments of the present application, or execute the steps in any one of the possible implementation manners of any one of the software development management methods provided by the embodiments of the present application. In some embodiments, the memory 120 can include a high-speed random access memory, and can also include a non-transitory memory, for example, at least one magnetic disk storage device, a flash memory device or other non-transitory solid-state memory device. In some embodiments, the memory 120 can also include a memory remotely arranged with respect to the processor 110, and these remotely arranged memories can be connected to the processor 110 through a communication network. It can be understood that examples of the above communication network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0039] According to the above, it can be understood that the implementation execution subject of any one of the software development management methods provided by the embodiments of the present application can be any suitable type of electronic device with certain computing and control capabilities, for example, can be implemented by the above-mentioned electronic device 100. In some possible implementation manners, the computer program instructions stored in the memory can be executed by the processor to implement any one of the software development management methods provided by the embodiments of the present application.
[0040] The software development management method provided by the embodiments of the present application will be described in detail below in combination with an exemplary application and implementation of the electronic device provided by the embodiments of the present application.
[0041] Please refer to Figure 3 , Figure 3 The flowchart schematically shows the software development management method provided by some embodiments of the present application.
[0042] As can be understood by those skilled in the art, the software development management method provided by the embodiments of the present application can be applied to the above-mentioned electronic device (for example, the electronic device 100). Specifically, the execution subject of the software development management method is one or at least two processors of the electronic device.
[0043] As Figure 3 shown, the software development management method includes but is not limited to the following steps S100-S600: S100: Obtain a task set.
[0044] In this step, the task set includes a plurality of target tasks, and the target tasks can be tasks of function development, defect repair, etc. In the embodiment of the present application, the task set can be obtained from a project management tool "Redmine", and the task set includes one or more target tasks published by a user, and the one or more target tasks are tasks for the same version of the same project.
[0045] S200: Form target requirement information based on the target tasks.
[0046] In this step, one or more target tasks correspond to one target requirement information, that is, one target task forms a corresponding target requirement information, or a plurality of target tasks jointly form a corresponding target requirement information, and one or more requirements / functions in the corresponding target requirement information are implemented by solving the corresponding target tasks.
[0047] In the embodiment of the present application, a plurality of target tasks are integrated and classified according to the description content of the target tasks to form a corresponding target requirement information, so as to realize aggregation and abstraction of tasks to requirements, and one requirement / function of the target requirement information corresponds to one or more tasks.
[0048] For example, in some embodiments, the target requirement information is formed based on the target tasks, and specifically includes but is not limited to the following steps S210-S230: S210: Divide the target tasks into front-end tasks and back-end tasks according to the developer type to obtain a front-end task set and a back-end task set.
[0049] In this embodiment, the developer type is used to represent the role of the developer who processes the target task, that is, the role of the person who processes the target task, and the developer type includes a front-end developer and a back-end developer. The front-end task set includes a plurality of front-end tasks, and the back-end task set includes a plurality of back-end tasks.
[0050] Specifically, for each target task, each target task is parsed to obtain the corresponding developer type, that is, the role of the corresponding processor. If the developer type (that is, the role of the processor) of the target task is a front-end developer, it is determined that the target task is a front-end task, and if the developer type (that is, the role of the processor) of the target task is a back-end developer, it is determined that the target task is a back-end task. All front-end tasks are collected to obtain a front-end task set, and all back-end tasks are collected to obtain a back-end task set.
[0051] S220: Obtain a merged task and an independent task based on the front-end task and the back-end task.
[0052] Specifically, the front-end task and the back-end task are compared, if the similarity between the front-end task and the back-end task is greater than a similarity threshold, the front-end task and the back-end task are merged to obtain a merged task. If the similarity between the front-end task and the back-end task is less than or equal to the similarity threshold, the front-end task and the back-end task are respectively taken as independent tasks.
[0053] Specifically, in some embodiments, based on the front-end task and the back-end task, the merged task and the independent task are obtained, specifically including but not limited to the following steps S221-S225: S221: selecting any one front-end task in the front-end task set as a reference front-end task.
[0054] S222: traversing the back-end task set to find a target back-end task matching the reference front-end task from the back-end task set.
[0055] In this step, the target back-end task is a back-end task with a similarity greater than a preset similarity threshold with the reference front-end task.
[0056] In the embodiments of the present application, any one front-end task in the front-end task set is selected as a reference front-end task, and then the back-end task set is traversed to find a target back-end task matching the reference front-end task from the back-end task set. That is, the reference front-end task is compared with all back-end tasks in the back-end task set one by one, if the similarity between a back-end task and the reference front-end task is greater than a preset similarity threshold, the back-end task is determined as the target back-end task. It should be understood that the similarity between the reference front-end task and the back-end task can be compared by using a text similarity algorithm or any other suitable method.
[0057] In some embodiments, the back-end task set is traversed to find a target back-end task matching the reference front-end task from the back-end task set, specifically including but not limited to the following steps S2221-S2223: S2221: obtaining a merging state of a candidate back-end task, the candidate back-end task being any one back-end task in the back-end task set.
[0058] Specifically, any one back-end task in the back-end task set is selected as a candidate back-end task, and the merging state of the candidate back-end task is obtained. The merging state includes merged and unmerged, merged means merged with the front-end task, and unmerged means not merged with the front-end task.
[0059] S2222: in response to the merging state of the candidate back-end task being merged, skipping the candidate back-end task.
[0060] S2223: In response to the merging state of the candidate backend task being unmerged, compare the candidate backend task with the reference frontend task to determine whether the candidate backend task is the target backend task.
[0061] In the embodiments of the present application, for each candidate backend task, if the merging state of the candidate backend task is merged, indicating that the candidate backend task has been merged with the frontend task, the candidate backend task is skipped. If the merging state of the candidate backend task is unmerged, indicating that the candidate backend task has not been merged with the frontend task, the candidate backend task and the reference frontend task are compared to determine whether the candidate backend task is the target backend task, i.e., whether the similarity between the candidate backend task and the reference frontend task is greater than a preset similarity threshold. If the similarity between the candidate backend task and the reference frontend task is greater than the preset similarity threshold, the candidate backend task is the target backend task. If the similarity between the candidate backend task and the reference frontend task is less than or equal to the preset similarity threshold, the candidate backend task is not the target backend task.
[0062] In some embodiments, comparing the candidate backend task with the reference frontend task to determine whether the candidate backend task is the target backend task specifically includes but is not limited to the following steps S22231-S22233: S22231: Compare the first description content of the candidate backend task with the second description content of the reference frontend task.
[0063] S22232: If the similarity between the first description content and the second description content is greater than a preset similarity threshold, determine that the candidate backend task is the target backend task.
[0064] S22233: If the similarity between the first description content and the second description content is less than or equal to the preset similarity threshold, determine that the candidate backend task is not the target backend task.
[0065] Specifically, the first description content of the candidate backend task is extracted, and the second description content of the reference frontend task is extracted. The first description content and the second description content are compared, i.e., the similarity between the first description content and the second description content is calculated by a text similarity algorithm. The text similarity algorithm can be Jaro-Winkler algorithm or any other suitable algorithm.
[0066] If the similarity between the first description content and the second description content is greater than a preset similarity threshold, indicating that the candidate backend task and the reference frontend task are highly similar, it is determined that the candidate backend task is the target backend task. If the similarity between the first description content and the second description content is less than or equal to the preset similarity threshold, indicating that the candidate backend task and the reference frontend task are highly dissimilar, it is determined that the candidate backend task is not the target backend task.
[0067] It is easy to understand that the preset similarity threshold can be set by the person skilled in the art according to actual needs and experience data, for example, the preset similarity threshold can be set as 0.95, and the embodiments of the present application do not make any specific limitation to this.
[0068] S223: In response to finding the target backend task, merging the reference frontend task and the target backend task to obtain a merged task.
[0069] S224: In response to not finding the target backend task, determining that the reference frontend task is an independent task.
[0070] Specifically, for each reference frontend task, the backend task set is traversed, and if a target backend task matching the reference frontend task is found, the reference frontend task and the target backend task are merged to obtain a merged task. That is, the same content in the reference frontend task and the target backend task is extracted, and the same content is merged with the remaining content in the reference frontend task and the target backend task to obtain the merged task.
[0071] Specifically, for each reference frontend task, after traversing the backend task set, if a target backend task matching the reference frontend task is not found, the reference frontend task is determined to be an independent task.
[0072] S225: In response to finding all the frontend tasks and the backend task set having a reference backend task with a similarity to the reference frontend task less than or equal to a preset similarity threshold, determining that the reference backend task is an independent task.
[0073] It can be understood that after finding all the frontend tasks in the frontend task set, if there is a reference backend task in the backend task set, the reference backend task is determined to be an independent task. The reference backend task is a backend task with a similarity to the reference frontend task less than or equal to a preset similarity threshold.
[0074] S230: Forming target requirement information based on the merged task and the independent task.
[0075] Specifically, after obtaining the merged task and the independent task, the merged task and the independent task are parsed, and information of test personnel, product personnel and developers related to the merged task and the independent task is extracted to construct initial requirement information. The requirement number of the initial requirement information is the requirement number of the merged task or the independent task. The information of test personnel, product personnel and developers, the merged task and the independent task are filled into the initial requirement information to obtain the target requirement information.
[0076] For example, please refer to Figure 4a, and the extracted tester, product personnel and developer information, the merged task and the independent task are filled into the initial requirement information C to obtain target requirement information C.
[0077] In some embodiments, the target requirement information is formed based on the merged task and the independent task, and specifically includes but is not limited to the following steps S231-S232: S231: Extracting a responsible person corresponding to the target version.
[0078] S232: Forming the target requirement information by the responsible person and the merged task and the independent task.
[0079] Specifically, after obtaining the merged task and the independent task, the target version corresponding to the merged task or the independent task is acquired, and the responsible person corresponding to the target version is extracted, wherein the responsible person includes a developer, a tester and a product personnel, etc. An initial requirement information is constructed in advance, and the extracted responsible person, the merged task and the independent task are filled into the initial requirement information to obtain the target requirement information. It is easy to understand that the target requirement information can also include other any suitable information, for example, priority of the requirement information, deadline, etc.
[0080] S300: Constructing a mapping relationship based on the target requirement information.
[0081] In this step, the mapping relationship includes the target project, the target version and the target requirement information, and the target requirement information is associated with the target project and the target version.
[0082] In the embodiment of the present application, the corresponding relationship between the target requirement information and the target project and the target version is established based on the target requirement information to obtain the mapping relationship, and context information is provided for the requirement fingerprint, that is, the implementation in the target project and the target version. Alternatively, the mapping relationship structure can be: target project←→target version←→target requirement information.
[0083] S400: Determining a target defect and a target use case corresponding to the target requirement information based on the target requirement information.
[0084] In the embodiment of the present application, when a user publishes a defect (for example, Bug, information error, etc.) and a use case (for example, test, verification scene), the corresponding candidate requirement number needs to be filled in to obtain the defect and the use case with the candidate requirement number.
[0085] For example, according to the requirement number of the target requirement information, one or more target defects are determined from the project management software “Chan Dao”, wherein the candidate requirement number of the target defect is the same as the requirement number of the target requirement information.
[0086] Exemplarily, in the embodiment of the present application, one or more target test cases are determined from the software test platform "MeterSphere" according to the requirement number of the target requirement information, and the candidate requirement number of the target test case is the same as the requirement number of the target requirement information.
[0087] S500: based on the target requirement information, a target configuration item corresponding to the target requirement information is set.
[0088] In this step, the configuration item refers to an adjustable parameter that affects the behavior of the software system, and the adjustable parameter includes but is not limited to environment, component, database item, interface, and document, etc.
[0089] Exemplarily, the target requirement information is parsed, the system constituent unit involved in the implementation of the target requirement information is determined, the corresponding configuration item is selected from the configuration management library, and the corresponding setting is performed, the system parameter depended by the target requirement information is clarified, and the target configuration item corresponding to the target requirement information is obtained.
[0090] For example, the target configuration item corresponding to the target requirement information is shown in Table 1 as follows: Table 1:
[0091] It should be understood that more target configuration items can also be included, or the target configuration items can be deleted or modified, and the embodiment of the present application does not make any limitation thereto.
[0092] S600: the target defect, the target test case and the target configuration item are associated to the target requirement information in the mapping relationship, and a requirement fingerprint is obtained.
[0093] In the embodiment, the requirement fingerprint includes a requirement number, and the requirement number of the requirement fingerprint is the requirement number of the target requirement information, and the requirement number is used to uniquely identify the requirement fingerprint.
[0094] In the embodiment of the present application, after the target defect, the target test case and the target configuration item are determined, the target defect, the target test case, the target configuration item and the target requirement information in the mapping relationship are associated, and a "requirement fingerprint" is obtained. Through the requirement number of the requirement fingerprint, the full life cycle tracking management of the target requirement information is realized, the unique identification, change tracking, review and backtracking are supported, and multi-dimensional information association binding (including task, version, project, defect, test case, configuration item and requirement information, etc.) is realized, which is convenient for transparent, accurate and efficient development management in complex software projects.
[0095] It should be understood that, Figure 1bIt is only schematically shown that the requirement fingerprint H includes one target defect D, one target use case E and one target configuration item F, and in other embodiments, the target defects, the target use cases and the target configuration items can also be multiple, and the number of target defects, target use cases and target configuration items can be the same or different, and the embodiments of the application do not make any limitation on this.
[0096] For example, please refer to Figure 4b and Figure 4c , Figure 4b The front-end page effect diagram of the requirement fingerprint obtained after the association of the part data is schematically shown, Figure 4c The software development management logic schematic diagram of the requirement fingerprint obtained after the association of the part data is schematically shown. Figure 4b The front-end page effect diagram shown includes a version list, a requirement list, a use case list, a configuration list, a defect list and requirement detailed information, after selecting a version, the information below and on the right will be displayed correspondingly, after selecting a corresponding requirement, the associated use case, configuration item, defect and requirement detailed information are displayed. Figure 4c The software development management logic schematic diagram shown includes a target project (taking an intellectual property project as an example), the target project includes multiple versions (i.e. version V1.0, version V1.1, version V1.2 and other versions), and the version V1.0 is a target version. The target version V1.0 corresponds to a target branch develop_v1.0, wherein the target branch develop_v1.0 is used for submitting code and version association, such as submitting and associating multiple requirement code data, and associating versions. The target version V1.0 includes multiple requirement information, which is requirement information 1 and requirement information 2, and the requirement information 1 is a target requirement information. The version V1.2 includes requirement information 3 and other requirement information. The target requirement information is associated with multiple target defects (including target defect 1, target defect 2 and target defect 3), multiple target use cases (including target use case 1, target use case 2 and target use case 3) and multiple target configuration items (including target configuration item 1, target configuration item 2 and target configuration item 3). The target requirement information is formed by multiple target tasks (including target task 1, target task 2 and target task 3), specifically: after the multiple target tasks are merged, the merged task and the independent task are obtained, and the target requirement information is formed based on the merged task and the independent task.
[0097] Please refer to Figure 5 , Figure 5 The flow schematic diagram of the software development management method provided by some embodiments of the application is shown.
[0098] As Figure 5 shown, the software development management method further includes but is not limited to the following steps S10-S20: S10: acquiring code data.
[0099] In this step, the code data includes requirement code and / or defect code, wherein the requirement code is code written to solve requirement information, i.e., function code developed to implement requirement information, and the defect code is code written to solve defects, i.e., repair code written to repair target defects related to target requirement information.
[0100] In this embodiment, after the developer writes the code, the code is packaged into code data, and the code data is transmitted to the electronic device, so that the electronic device obtains the code data. In the embodiment of the present application, the developer transmits the code data to the electronic device through the code management tool "gitlab".
[0101] S20: submitting the code data to a target branch associated with the target version.
[0102] In this embodiment, the target branch is associated with the target version, i.e., a corresponding code branch is created for the target version, and the target branch is used to submit the code data.
[0103] Specifically, after obtaining the code data, the target branch associated with the target version is obtained, and then the code data is submitted to the target branch, so as to ensure that the implementation of the requirement information is bound with the code data and the target version.
[0104] For example, in some embodiments, the software development management method further includes but is not limited to the following steps S30-S40: S30: in response to the test switching instruction, obtaining candidate requirement information in a candidate requirement fingerprint corresponding to the test switching instruction.
[0105] S40: in response to the candidate requirement information having executed the first-level test case, forwarding the test switching instruction to personnel associated with the candidate requirement information, so that the associated personnel performs testing based on the test switching instruction.
[0106] The first-level test case represents a set of test cases with the highest priority, which covers the most core and critical functions and features in the software system. The first-level test case is a test case that the developer performs after completing code writing, which aims to quickly find and solve the most basic and most serious problems in the code, and ensure that the basic functions of the software can operate normally.
[0107] Specifically, after receiving the test transfer instruction, the electronic device responds to the test transfer instruction, obtains candidate demand information in the candidate demand fingerprint corresponding to the test transfer instruction, and determines whether the candidate demand information has executed the first-level test case. If the candidate demand information has executed the first-level test case, the test transfer instruction is forwarded to the personnel associated with the candidate demand information, so that the associated personnel performs testing based on the test transfer instruction. That is, the associated personnel (for example, a test personnel) performs functional testing and performance testing on the candidate demand information according to the defects, use cases, configuration items, and the like in the candidate demand fingerprint.
[0108] For example, in some embodiments, the software development management method further includes, but is not limited to, the following steps S50-S60: S50: Obtain the limited test time and the actual execution time of the first-level test case.
[0109] In this embodiment, the candidate demand information includes a limited test time, which is a preset time range for executing the first-level test case of the demand information. That is, the developer self-executes the first-level test case of the completed code within the limited time. The limited test time can be within a preset time range after the code is written, or the limited test time can be within a preset time range before the code submission deadline.
[0110] Specifically, the limited test time is extracted from the candidate demand information, and the actual time of the developer executing the first-level test case of the completed code is obtained, to obtain the actual execution time of the first-level test case. It can be understood that the actual execution time of the first-level test case can be automatically recorded by the system when the developer executes the first-level test case of the code.
[0111] S60: In response to the execution time exceeding the limited test time, a delayed test transfer prompt message is generated.
[0112] In this embodiment, the delayed test transfer prompt message is used to prompt the personnel associated with the candidate demand information.
[0113] Specifically, after obtaining the limited test time and the execution time of the first-level test case, the limited test time and the execution time are compared. If the execution time exceeds the limited test time, it indicates that the developer has not executed the first-level test case of the code within the limited test time. A delayed test transfer prompt message is generated to prompt the personnel (for example, a test personnel) associated with the candidate demand information that the candidate demand information has a risk of delayed test transfer.
[0114] To sum up, the software development management method provided by the embodiment of the application comprises the following steps: obtaining a task set, the task set comprising one or more target tasks; forming target requirement information based on the target tasks, one or more target tasks corresponding to one target requirement information; constructing a mapping relationship based on the target requirement information, the mapping relationship comprising a target project, a target version and the target requirement information, the target requirement information being associated with the target project and the target version; determining target defects and target use cases corresponding to the target requirement information based on the target requirement information; setting target configuration items corresponding to the target requirement information based on the target requirement information; associating the target defects, the target use cases and the target configuration items to the target requirement information in the mapping relationship; and obtaining a requirement fingerprint, the requirement fingerprint comprising a requirement number, the requirement number being used for uniquely identifying the requirement fingerprint.
[0115] The embodiment of the application obtains the requirement fingerprint by associating the project, the version, the requirement information, the defects, the use cases and the configuration items, has a good data association relationship, and can conveniently manage and maintain each part of data in the requirement fingerprint according to the requirement number of the requirement fingerprint, so that information is updated in time and data maintenance is simple, and the convenience and accuracy of project management are improved.
[0116] The computer readable storage medium stores the computer program instructions executable by the processor, and the computer program instructions, when executed by the processor, cause the computer to execute any one of the software development management methods provided by the embodiment of the application or the steps in any one of the possible implementation manners of the software development management method provided by the embodiment of the application.
[0117] In some embodiments, the storage medium can be a flash memory, a hard disk, an optical disk, a register, a magnetic surface memory, a removable disk, a CD-ROM, a random access memory (RAM), a read-only memory (ROM), an electrically programmable ROM, and an electrically erasable programmable ROM, or any other form of storage medium known in the art, or various devices comprising one or any combination of the above storage mediums.
[0118] In some embodiments, the computer program instructions can be in the form of a program, software, software module, script or code, written in any form of programming language (including a compiled or interpreted language, or a declarative or procedural language), and can be deployed in any form, including being deployed as a standalone program or being deployed as a module, component, subroutine or other unit suitable for use in a computing environment.
[0119] As an example, computer program instructions can be embodied in one or more computer programs that are executed by one or more computers. As used herein, the terms "computer program," "program," "computer program instructions," "instructions," and "program instructions" are used interchangeably. These instructions can be written in any of a number of programming languages, including C, C++, Java, Visual Basic, or any of a number of other programming languages. These instructions can be stored in one or more computer programs that are executed by one or more computers. These instructions can be stored in one or more computer readable storage media, which are described in more detail below.
[0120] As an example, computer program instructions can be deployed to be executed by a computing device, such as one of the smart terminals and servers described above, or a plurality of computing devices located at one site, or a plurality of computing devices distributed across multiple sites and interconnected by a communication network. It would be appreciated by those skilled in the art that all or part of the methods described in the embodiments of the present application can be implemented by the use of electronic hardware or a computer program that is executable by a processor, or a combination of both.
[0121] Those skilled in the art can understand that the embodiments provided by the present application are only illustrative, and the writing order of each step in the method of the embodiments does not mean a strict execution order and constitutes any limitation on the implementation process. The order can be adjusted, combined and deleted according to actual needs. The modules or sub-modules, units or sub-units, etc. in the device or system of the embodiments can be combined, divided and deleted according to actual needs. For example, the division of the unit is only a logical function division, and another division mode can also be used in actual implementation. For another example, a plurality of units or components can be combined or integrated into another device, or some features can be ignored or not executed.
[0122] From the above description of the embodiments, those skilled in the art can clearly understand that the embodiments can be implemented by means of software plus a general hardware platform, and of course can also be implemented by hardware. Those skilled in the art can understand that all or part of the processes in the above-described embodiments can be completed by a computer program instructing related hardware, and the computer program can be stored in a computer readable storage medium. When the computer program is executed, it can include the processes of the above-described embodiments.
[0123] It should be noted that the above examples are intended to illustrate the technical concept and characteristics of the present application, and the purpose is to enable those skilled in the art to understand the content of the present application and to implement it accordingly, and cannot be used to limit the scope of protection of the present application. Those skilled in the art can understand that all or part of the processes of the above examples can be modified according to the technical solutions described in the embodiments of the present application, or some technical features can be replaced. It can be understood that these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application, and should be regarded as equivalent changes and modifications based on the embodiments of the present application, and should belong to the scope covered by the claims of the present application.
Claims
1. A software development management method, characterized in that: include: Acquire a task set, where the task set includes one or more target tasks; forming target requirement information based on the target task, wherein one or more target tasks correspond to one piece of target requirement information; Building a mapping relationship based on the target requirement information, the mapping relationship including a target project, a target version, and target requirement information, wherein the target requirement information is associated with the target project and the target version; Based on the target requirement information, determining target defects and target use cases corresponding to the target requirement information; Based on the target requirement information, setting a target configuration item corresponding to the target requirement information; The target defect, the target use case, and the target configuration item are associated with the target requirement information in the mapping relationship to obtain a requirement fingerprint, where the requirement fingerprint includes a requirement number, and the requirement number is used to uniquely identify the requirement fingerprint.
2. The method according to claim 1, characterized in that The forming of target demand information based on the target task includes: Dividing the target task into front-end tasks and back-end tasks according to the developer type, thereby obtaining a front-end task set and a back-end task set, wherein the developer type is used to characterize the developer role processing the target task, the front-end task set includes multiple front-end tasks, and the back-end task set includes multiple back-end tasks; Based on the front-end task and the back-end task, a merged task and an independent task are obtained; The target requirement information is formed based on the combined task and the independent task.
3. The method according to claim 2, characterized in that The step of obtaining a merged task and an independent task based on the front-end task and the back-end task includes: Select any front-end task in the front-end task set as a reference front-end task; Traversing the backend task set, searching for a target backend task that matches the reference frontend task from the backend task set, wherein the target backend task is a backend task whose similarity with the reference frontend task is greater than a preset similarity threshold; In response to finding the target backend task, merging the reference frontend task and the target backend task to obtain a merged task; In response to not finding the target backend task, determining that the reference frontend task is an independent task; In response to searching all front-end tasks and the back-end task set having a reference back-end task whose similarity to the reference front-end task is less than or equal to the preset similarity threshold, the reference back-end task is determined to be an independent task.
4. The method according to claim 3, characterized in that The traversing the backend task set and searching for a target backend task matching the reference frontend task from the backend task set includes: Obtaining a merge status of a candidate backend task, where the candidate backend task is any backend task in the backend task set; In response to the merge status of the candidate backend task being merged, skipping the candidate backend task; In response to the merge status of the candidate backend task being unmerged, the candidate backend task and the reference frontend task are compared to determine whether the candidate backend task is a target backend task; if the similarity between the candidate backend task and the reference frontend task is greater than a similarity threshold, the candidate backend task is a target backend task; if the similarity between the candidate backend task and the reference frontend task is less than or equal to the similarity threshold, the candidate backend task is a non-target backend task.
5. The method according to claim 4, characterized in that The comparing the candidate backend task with the reference frontend task to determine whether the candidate backend task is a target backend task includes: Comparing the first description of the candidate backend task with the second description of the reference frontend task; If the similarity between the first description content and the second description content is greater than a preset similarity threshold, determining the candidate backend task as a target backend task; If the similarity between the first description content and the second description content is less than or equal to a preset similarity threshold, it is determined that the candidate backend task is not a target backend task.
6. The method according to any one of claims 2 to 5, characterized in that: The forming of the target requirement information based on the combined task and the independent task includes: Extract the responsible persons corresponding to the target version, including developers, testers, and product personnel; The responsible person, the combined tasks, and the independent tasks are formed into target requirement information.
7. The method according to claim 6, characterized in that The method further comprises: Acquire code data, where the code data includes a requirement code and / or a defect code, where the requirement code is a code written to resolve the requirement information, and the defect code is a code written to resolve the defect; Submit the code data to the target branch associated with the target version.
8. The method according to claim 1, characterized in that The method further comprises: In response to a transfer test instruction, obtaining candidate demand information in a candidate demand fingerprint corresponding to the transfer test instruction; In response to the candidate requirement information having executed the first level test case, the test transfer instruction is forwarded to a person associated with the candidate requirement information, so that the associated person performs the test based on the test transfer instruction.
9. The method according to claim 8, characterized in that The candidate requirement information includes a limited test time, where the limited test time is a preset time range for executing a first-level test case in the requirement information. The method further includes: Obtaining the limited test time and the actual execution time of the test case of the first level; In response to the execution time exceeding the limited test time, a test postponement prompt message is generated, and the test postponement prompt message is used to prompt a person associated with the candidate requirement information.
10. An electronic device, characterized in that: include: a processor and a memory communicatively connected to the processor; The memory stores computer program instructions executable by the processor, and the processor executes the computer program instructions to enable the electronic device to execute the software development management method according to any one of claims 1 to 9.