Demand processing method and apparatus, electronic device, storage medium

By automating the processing of requirements documents, extracting and dividing sub-task information, and calculating work hours, the need for manual calculation and data entry in agile development has been solved, achieving efficient work hour management.

CN115454382BActive Publication Date: 2026-02-03CHINA PING AN LIFE INSURANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211150193.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-21
Publication Date
2026-02-03
Estimated Expiration
2042-09-21

AI Technical Summary

Technical Problem

In the agile development model, existing R&D process management tools require a lot of manpower to calculate and enter the working hours of each R&D sub-task, especially when the data volume is large.

Method used

By acquiring the requirements document, the requirements information and sub-task information are automatically extracted, divided into task sets, and the working hours are calculated based on the quantity of requirements information and sub-task information. The interface automation technology is used to realize automated data entry and calculation.

Benefits of technology

It saves a lot of human resources, improves efficiency, and reduces tedious manual calculation and data entry steps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115454382B_ABST
    Figure CN115454382B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a demand processing method and device, electronic equipment and computer readable storage medium, and belongs to the technical field of R&D management. The method comprises the following steps: acquiring a demand document; extracting a plurality of demand information and a plurality of subtask information from the demand document, wherein the demand information is used for representing a business demand, and the subtask information is used for representing an R&D subtask for completing the business demand; dividing the plurality of subtask information into a plurality of task sets, wherein the task set corresponds to the demand information one by one; and determining the man-hours required for completing the subtask information according to the demand information and the number of the subtask information in the corresponding task set. The demand document is acquired, the demand information and the subtask information are extracted from the demand document, the subtask information is constructed into a task set, the man-hours required for completing each subtask information is determined according to the demand information and the number of the subtask information in the corresponding task set, and therefore the purpose of saving labor cost is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of research and development management technology, and in particular to requirements processing methods and apparatus, electronic devices, and storage media. Background Technology

[0002] In agile development, application developers often break down applications into multiple independent subtasks. After completing the subtasks for the main functions of the application, the application is quickly deployed. Then, through frequent iterations and updates, the functionality of the application is gradually expanded, thereby improving the efficiency of program development. However, in this development model, due to the high frequency of updates and iterations, in order to better manage the application iteration and update process, it is often necessary to use development process management tools to manage the application iteration and update process. In existing development process management tools, after clarifying business requirements and the development subtasks for solving each business requirement, and forming a requirements document, it is still necessary to manually calculate the working hours required for each development subtask, and then enter the data such as business requirements, development subtasks, and the working hours required for each development subtask into the development process management tool. When the data volume is large, a lot of manpower is required to calculate the working hours of development subtasks and enter the data. Summary of the Invention

[0003] The main objective of this application is to propose a requirement processing method and apparatus, electronic device, and computer-readable storage medium that can automatically input data based on requirement documents and calculate the working hours required for each R&D sub-task, thereby saving a significant amount of manpower.

[0004] To achieve the above objectives, a first aspect of this application proposes a requirement processing method, comprising: a requirement processing method including: obtaining a requirement document; extracting multiple requirement information and multiple sub-task information from the requirement document, wherein the requirement information is used to characterize business requirements, and the sub-task information is used to characterize R&D sub-tasks for completing the business requirements; dividing the multiple sub-task information into multiple task sets, wherein the task sets correspond one-to-one with the requirement information; and determining the working hours required to complete the sub-task information based on the requirement information and the number of sub-task information in the corresponding task sets.

[0005] In some embodiments, extracting multiple requirement information and multiple subtask information from the requirement document includes:

[0006] Multiple requirement information items are extracted from the requirement document according to a preset first feature identifier, wherein the first feature identifier is used to indicate the requirement information;

[0007] Multiple subtask information is extracted from the requirement document according to a preset second feature identifier, wherein the second feature identifier is used to indicate the subtask information.

[0008] In some embodiments, dividing the multiple subtask information into multiple task sets includes:

[0009] Extract feature identifiers from the subtask information, wherein the feature identifiers are used to indicate the correspondence between the subtask information and the requirement information;

[0010] Based on the characteristic identifier, at least one of the sub-task information corresponding to the same requirement information is grouped into the same task set to obtain multiple task sets.

[0011] In some embodiments, after dividing the multiple subtask information into multiple task sets, the method further includes:

[0012] If the requirement information is detected to include a preset task split identifier, each of the subtask information in the task set corresponding to the requirement information is copied to obtain multiple second subtask information.

[0013] Multiple second subtask information and the aforementioned subtask information are grouped into the same task set.

[0014] In some embodiments, the requirement information includes a preset workload, and the subtask information includes time tags.

[0015] In some embodiments, determining the time required to complete the sub-task information based on each requirement information and the number of sub-task information in the corresponding task set includes:

[0016] Extract the preset workload of the requirements from the aforementioned requirements information;

[0017] The time required to complete the sub-task information is determined based on the ratio of the preset workload to the number of sub-task information in the corresponding task set.

[0018] In some embodiments, after determining the time required to complete the sub-task information based on each demand information and the number of sub-task information in the corresponding task set, the method further includes:

[0019] Iterate through all the subtask information in the task set;

[0020] Update the time tag of each subtask information according to the time of the subtask information.

[0021] A second aspect of this application provides a demand processing apparatus, the apparatus comprising:

[0022] The acquisition unit is used to acquire the requirements document;

[0023] An information extraction unit is used to extract multiple requirement information and multiple sub-task information from the requirement document, wherein the requirement information is used to characterize business requirements, and the sub-task information is used to characterize R&D sub-tasks to complete the business requirements;

[0024] A task set partitioning unit is used to divide the multiple subtask information into multiple task sets, wherein each task set corresponds one-to-one with the requirement information;

[0025] The time calculation unit is used to determine the time required to complete the sub-task information based on the requirement information and the number of sub-task information in the corresponding task set.

[0026] The third aspect of this application provides an electronic device, which includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for implementing communication between the processor and the memory. The program is executed by the processor to implement the demand processing method as described in any one of the embodiments of the first aspect of the invention.

[0027] The fourth aspect of this application provides a computer-readable storage medium for computer-readable storage, wherein the computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the required processing method as described in any one of the embodiments of the first aspect of the invention above.

[0028] The requirement processing method, apparatus, electronic device, and computer-readable storage medium proposed in this application involve: acquiring a requirement document; extracting multiple requirement information and multiple sub-task information from the requirement document, wherein the requirement information represents business requirements, and the sub-task information is a research and development sub-task used to complete the business requirements; dividing the multiple sub-task information into multiple task sets, wherein each task set corresponds one-to-one with the requirement information; and determining the working hours required to complete each sub-task information based on the requirement information and the number of sub-task information in the corresponding task sets. This application embodiment directly extracts requirement information and sub-task information from the requirement document, replacing the step of manually entering requirement information and sub-task information into the research and development management system item by item, thereby saving significant labor costs. Furthermore, by constructing sub-task information into task sets, the working hours required to complete each sub-task information are determined based on the requirement information and the number of sub-task information in the corresponding task sets, replacing the step of manually calculating the working hours required to complete each sub-task information, thus achieving the goal of saving labor costs. Attached Figure Description

[0029] Figure 1 This is a flowchart of the demand processing method provided in the embodiments of this application;

[0030] Figure 2 This is a sub-flowchart of the demand processing method provided in the embodiments of this application;

[0031] Figure 3 This is a sub-flowchart of the demand processing method provided in the embodiments of this application;

[0032] Figure 4 This is a sub-flowchart of the demand processing method provided in the embodiments of this application;

[0033] Figure 5 This is a sub-flowchart of the demand processing method provided in the embodiments of this application;

[0034] Figure 6 This is a sub-flowchart of the demand processing method provided in the embodiments of this application;

[0035] Figure 7 This is a block diagram of the module structure of the demand processing device provided in the embodiments of this application;

[0036] Figure 8 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0037] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0038] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0039] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0040] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.

[0041] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0042] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual order of execution may change depending on the specific circumstances.

[0043] First, let's analyze some of the terms used in this application:

[0044] Agile development is a people-centric, iterative, and incremental development methodology. In agile development, software projects are broken down into multiple sub-projects, each of which is tested and has the characteristics of integration and operation. In short, agile development does not pursue perfect design and coding in the early stages, but rather strives to develop the core functionality of the product within a short cycle, and then continuously iterates and upgrades the product according to new requirements in subsequent production cycles to improve it.

[0045] Iterative Incremental Software Development Process (Scrum): is one of the important R&D frameworks for Agile development, which includes a series of time and predefined role process frameworks.

[0046] OCR (Optical Character Recognition) refers to the process by which electronic devices (such as scanners or digital cameras) examine characters printed on paper and then use character recognition methods to translate the shapes into computer text; that is, scanning text materials and then analyzing and processing image files to obtain text and layout information.

[0047] Interface automation: a method that uses scripts to simulate manual user operations on the UI interface, often used for repetitive functional testing and verification.

[0048] Natural Language Processing (NLP) is a science that integrates linguistics, computer science, and mathematics. It is mainly applied to machine translation, public opinion monitoring, automatic summarization, opinion extraction, text classification, question answering, text semantic comparison, speech recognition, and Chinese OCR.

[0049] Selenium is a browser automation testing framework: a tool for testing web applications. The framework uses JavaScript at its core to simulate real user interactions with the browser. When the test script executes, the browser automatically performs actions such as clicking, typing, opening, and validating according to the script code, just like a real user, testing the application from the end-user's perspective.

[0050] UIAutomator: A UI testing framework based on the Accessibility service, which can operate across processes. Through the API provided by the framework, a series of automated testing operations can be performed, such as clicking, swiping, keyboard input, long pressing, and other common operations.

[0051] Espresso Testing Framework: An automated testing framework that provides a series of APIs for building UI tests to test user flow operations within an app. These APIs allow you to write concise and reliable automated UI tests. Espresso is suitable for writing white-box tests, where the test code leverages the implementation details of the app being tested.

[0052] JAR (Java Archive File): A Java documentation format, a file obtained by packaging class files, that is, a file obtained by packaging pre-written classes.

[0053] JavaScript (JS) is a lightweight, interpreted or just-in-time (JIT) programming language with a function-first approach. While it is best known as a scripting language for developing web pages, it is also used in many non-browser environments. JavaScript is a prototype-based, multi-paradigm dynamic scripting language that supports object-oriented, imperative, declarative, and functional programming paradigms.

[0054] Cascading Style Sheets (CSS) are a computer language used to style HTML or XML documents. They can be used to statically format web pages and, in conjunction with various scripting languages, dynamically format elements on a webpage. CSS allows for pixel-level precise control over the placement and arrangement of elements within a webpage.

[0055] Hyper Text Markup Language (HTML) is a markup language that includes a series of tags that unify the format of documents on a grid, connecting scattered resources into a logical whole. It is descriptive text composed of HTML commands.

[0056] Front-end: The front-end of a website, running on PCs and mobile browsers and displayed to users. It is generally divided into front-end design and front-end development. Front-end development mainly involves the implementation of the website's front-end code, usually using programming technologies such as HTML, CSS, and JavaScript. HTML is used to define elements, CSS is used to position elements, and JavaScript is used to implement the interaction between the webpage and the user, as well as the interaction between the front-end and the back-end.

[0057] Back-end: Works in the background, controlling the content displayed on the front end. Main responsibilities include designing the architecture and managing the database. The back-end focuses more on protecting the database to handle the corresponding business logic. It needs to consider how to implement functions, data storage, platform stability, and performance.

[0058] An array is an ordered sequence of elements. If a collection of a finite number of variables of the same type is named, then that name is the array name. The individual variables that make up an array are called array components, also known as array elements, and sometimes as index variables. The numerical identifier used to distinguish each element of the array is called the index. In programming, an array is a way to organize several elements of the same type in an ordered manner for ease of processing. This ordered collection of similar data elements is called an array. An array is used to store multiple collections of data of the same type.

[0059] Structure (struct): A composite data type, consisting of a collection of data of the same or different types.

[0060] Tree structure: A non-linear data structure. Intuitively, it is a structure in which data elements (called nodes in a tree) are organized according to branching relationships, much like a tree in nature.

[0061] Traversal refers to visiting each node in a tree (or graph) sequentially along a search path. The operations performed on each node depend on the specific application problem; these operations might include checking or updating a node's value. Different traversal methods result in different node visits in different orders. Traversal is one of the most important operations on binary trees and forms the basis for other operations on binary trees. The concept of traversal is also suitable for multi-element collections, such as arrays.

[0062] In recent years, the Agile development model has been increasingly widely applied in various application development processes. In Agile development, application developers adopt iterative incremental software development, which involves breaking down the application into multiple independent subtasks. After the subtasks for the main functions of the application are completed, the application is quickly deployed. Then, through frequent iterations and updates, the functionality of the application is gradually expanded, thereby improving the efficiency of program development. However, in this development model, due to the high frequency of updates and iterations, in order to better manage the application iteration and update process, it is often necessary to use development management tools to manage the application iteration and update process. In existing development management tools, after clarifying business requirements and development subtasks for solving each business requirement through meetings and other means, and organizing them into a requirements document, it is still necessary to manually calculate the working hours required for each development subtask, and then enter the data such as business requirements, development subtasks, and the working hours required for each development subtask into the development management tool. When the data volume is large, a lot of manpower is required to calculate the working hours of development subtasks and enter the data.

[0063] Based on this, embodiments of this application propose a requirement processing method and apparatus, an electronic device, and a computer-readable storage medium, which can effectively extract data from requirement documents and calculate the working hours required to complete each R&D sub-task, thereby saving a significant amount of manpower.

[0064] This application provides a requirement processing method and apparatus, electronic device, and storage medium, which are specifically described through the following embodiments. First, the requirement processing method in the embodiments of this application is described.

[0065] The demand processing method provided in this application can be applied to a terminal, a server, or software running on a terminal or server, such as a JAR file running on a terminal. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, or smartwatch, etc.; the server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the demand method, etc., but is not limited to the above forms. This application can be used in numerous general-purpose or special-purpose computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. This application can be described in the general context of computer-executable instructions run by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that run specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are run by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0066] In the following embodiments of the invention, the requirement processing method proposed in this application is applied to the server side. Users only need to upload the requirement document through the terminal and send the requirement document to the server side, and then the requirement processing method of this application embodiment can be executed on the remote server, thereby avoiding the incompatibility problem caused by different working environments.

[0067] Reference Figure 1 The demand processing method proposed in the embodiments of this application includes, but is not limited to, steps S100 to S400.

[0068] Step S100: Obtain the requirements document;

[0069] Step S200: Extract multiple requirement information and multiple subtask information from the requirement document. The requirement information is used to represent business requirements, and the subtask information is used to represent the R&D subtasks to complete the business requirements.

[0070] Step S300: Divide the information of multiple subtasks into multiple task sets, wherein each task set corresponds one-to-one with the requirement information.

[0071] Step S400: Determine the time required to complete the sub-task information based on the requirement information and the number of sub-task information in the corresponding task set.

[0072] In step S100 of some embodiments, the requirement document is a document or table that records requirement information and sub-task information for completing the requirement information. For example, it could be a document compiled by a product manager or meeting minutes generated after a requirement discussion meeting. In some feasible embodiments, it could also be a requirement document obtained by recognizing paper meeting minutes using OCR text recognition technology. Specifically, obtaining the requirement document could mean obtaining a requirement document actively uploaded by a user to the server via a web browser.

[0073] In step S200 of some embodiments, multiple requirement information and multiple subtask information are extracted from the requirement document. The requirement information characterizes business requirements and includes at least a requirement name and a preset workload. The subtask information refers to multiple R&D subtasks used to complete the business requirements and includes at least a subtask name and a time tag. Specifically, the requirement information and subtask information recorded in the requirement document can be extracted line by line into the R&D management system using interface automation technology. Interface automation technology uses preset scripts to enable machines to simulate user clicks, swipes, and key presses. Interface automation technology can be implemented through browser web extensions, such as Chrome extensions for Google Chrome. Browser extensions are extensions provided by the browser itself, allowing interaction with the browser, such as simulating user clicks, swipes, and key presses. In some embodiments, interface automation can also be implemented using interface automation scripts based on the Selenium framework, Espresso framework, UIAutomator framework, or other UI automation frameworks.

[0074] In step S300 of some embodiments, multiple subtask information is divided into multiple task sets, wherein each task set corresponds one-to-one with the requirement information. Since each requirement information is implemented by multiple subtasks, it is necessary to group multiple subtasks corresponding to the same requirement information into the same task set, thereby obtaining multiple task sets corresponding to each requirement information, and clarifying how many R&D subtasks are included in each requirement information.

[0075] In step S400 of some embodiments, the working time required for each subtask is determined based on the requirement information and the number of subtask information in the corresponding task set. Specifically, after clarifying how many R&D subtasks are needed to complete each requirement information, the preset workload of the requirement information can be allocated to each subtask information in the task set corresponding to the requirement information, thereby determining the working time required to complete each subtask information.

[0076] In this embodiment, after obtaining the requirements document, the requirements information and sub-task information are extracted line by line from the requirements document using interface automation technology. The sub-task information is then divided into multiple task sets, each corresponding to a specific set of requirements. Based on this, the specific work hours for each sub-task can be calculated according to the number of sub-tasks in the corresponding task set. This embodiment uses interface automation technology to extract the requirements information and sub-task information from the requirements document into the R&D management system, then divides the sub-task information into task sets corresponding to each requirement. The preset workload of the requirements information is allocated to each sub-task based on the number of sub-tasks in each task set. This automates the process of manually entering requirements information and sub-task information into the R&D management system and calculating sub-task work hours, saving significant human resources.

[0077] Reference Figure 2 In some embodiments, step S200 includes, but is not limited to, steps S210 to S220.

[0078] Step S210: Extract multiple requirement information from the requirement document according to the preset first feature identifier, wherein the first feature identifier is used to indicate the requirement information;

[0079] Step S220: Extract multiple subtask information from the requirements document according to the preset second feature identifier, wherein the second feature identifier is used to indicate the subtask information.

[0080] In step S210 of some embodiments, multiple requirement information items are extracted from the requirement document according to a preset first feature identifier, wherein the first feature identifier is used to indicate the requirement information. For example, the requirement document is an Excel spreadsheet including multiple sheets, where a certain sheet is named "Business Requirement," "Feature Name," or other fields preset as the first feature identifier. After the system recognizes that the sheet name is the preset first feature identifier, it determines that the content of the sheet is requirement information, and then uses interface automation technology to extract the data in the sheet item by item into the R&D management system as requirement information. In some embodiments, the requirement document may also be a table with multiple columns, where the header of each column indicates the type of the content in that column. After the system recognizes that the header name of a certain column is "Business Requirement," "Feature Information," or other fields preset as the first feature identifier, it determines that the content of that column is feature information, and then uses interface automation technology to extract the content of that column item by item into the R&D management system as requirement information. Specifically, the requirement information in the document can be determined by element positioning, such as by using the find_element function to locate the requirement information based on the first feature identifier, and then the requirement information can be entered into the R&D management system item by item using interface automation technology. Interface automation technology refers to simulating user operations by writing or recording interface automation scripts, thereby extracting requirement information one by one into the R&D management system. It can be understood that interface automation technology can be implemented based on Chrome extensions of Google Chrome. Browser extensions are extensions provided by the browser itself, which can interact with the browser, such as simulating user clicks, swipes, key presses, and other behaviors. In some feasible embodiments, interface automation technology can also be implemented through interface automation scripts based on the Selenium framework, Espresso framework, UIAutomator framework, or other UI automation frameworks.

[0081] In step S220 of some embodiments, multiple subtask information is extracted from the requirements document according to a preset second feature identifier, wherein the second feature identifier is used to indicate the subtask information. For example, the requirements document is an Excel spreadsheet including multiple sheets, where a certain sheet is named "R&D Subtask," "Story Information," "User Story," or other fields preset as the second feature identifier. After the system recognizes that the sheet name is a preset first feature identifier, it determines that the content of the sheet is subtask information, and then uses interface automation technology to extract the data in the sheet one by one into the R&D management system as subtask information. In some embodiments, the requirements document may also be a table with multiple columns, where the header of each column records the type of the content in that column. After the system recognizes that the header name of a certain column is "R&D Subtask," "Story Information," "User Story," or other fields preset as the second feature identifier, it determines that the content of that column is subtask information, and then uses interface automation technology to extract the content of that column one by one into the R&D management system as subtask information. Specifically, requirement information can be identified through element location, such as using the `find_element` function to locate requirement information in a document based on its primary identifier. Then, interface automation technology can be used to input this requirement information into the R&D management system line by line. Interface automation technology refers to simulating user operations by writing or recording interface automation scripts, thereby extracting sub-task information into the R&D management system line by line. It can be understood that interface automation technology can be implemented using a Chrome extension for Google Chrome. In some feasible implementations, interface automation technology can also be implemented using interface automation scripts based on frameworks such as Selenium, Espresso, UIAutomator, or other UI automation frameworks.

[0082] In this embodiment, after obtaining the requirement document, requirement information is identified from the requirement document using a preset first feature identifier, and sub-task information is identified from the requirement document using a preset second feature identifier. The first feature identifier is used to indicate requirement information, and the second feature identifier is used to indicate sub-task information. The requirement information and sub-task information are extracted into the R&D management system one by one according to the first feature identifier and the second feature identifier using interface automation technology. This realizes the automation of replacing the manual step of manually entering requirement information and sub-task information into the R&D management system one by one, thereby saving a lot of human resources.

[0083] In some embodiments, such as Figure 3 As shown, step S300 includes, but is not limited to, steps S310 to S320 below.

[0084] Step S310: Extract feature identifiers from subtask information, wherein the feature identifiers are used to indicate the correspondence between subtask information and requirement information;

[0085] Step S320: Based on the characteristic identifier, at least one subtask information corresponding to the same requirement information is divided into the same task set to obtain multiple task sets.

[0086] In step S310 of some embodiments, a feature identifier is extracted from the subtask information, wherein the feature identifier is used to indicate the correspondence between the subtask information and the requirement information. For example, each requirement information is assigned a serial number in the requirement document, and the subtask information contains the serial number corresponding to each requirement information as a feature identifier. In some embodiments, a string representing the requirement information can also be directly used as a feature identifier to indicate the correspondence between the subtask information and the requirement information.

[0087] In step S320 of some embodiments, at least one subtask information corresponding to the same requirement information is grouped into the same task set according to the characteristic identifier, so as to obtain multiple task sets. It should be noted that the task set can be in the form of any of the following: array, tree, structure, etc.

[0088] Specifically, taking arrays as task sets as an example, firstly, multiple dynamic arrays are requested based on the number of requirement information items, with each dynamic array corresponding to one requirement information item. Each dynamic array is named according to the content or sequence number of the requirement information item. Then, the characteristic identifier of each sub-task information item in the requirement document is detected. Based on the correspondence between the characteristic identifier and the dynamic array name, the sub-task information is written as a string into the corresponding dynamic array. This groups all sub-task information items corresponding to the same requirement information into the same task set, resulting in multiple task sets. In some embodiments, structures can also be used as task sets. Compared to arrays, structures can store both strings and other data formats simultaneously. In some embodiments, tree structures can also be used as task sets, for example, with the requirement information as the root node and the corresponding sub-task information as child nodes, resulting in multiple tree structures, each corresponding to one requirement information item.

[0089] In this embodiment of the application, at least one subtask information corresponding to the same requirement information is divided into the same task set by characteristic identifier, thereby obtaining multiple task sets corresponding to each requirement information.

[0090] In some embodiments, such as Figure 4 The steps following step S300 include, but are not limited to, the following steps S410 to S420.

[0091] Step S410: If the requirement information includes a preset task split identifier, copy the information of each subtask in the task set corresponding to the requirement information to obtain multiple second subtask information.

[0092] Step S420: Assign multiple second subtask information and subtask information to the same task set.

[0093] In step S410 of some embodiments, when the requirement information includes a preset task split identifier, each subtask information in the task set corresponding to the requirement information is copied to obtain multiple second subtask information. Specifically, since some business requirements in the application development process require both front-end and back-end development, and the front-end and back-end development use different programming languages, the front-end development tasks and back-end development tasks should be distributed to developers in their respective fields. Moreover, the front-end and back-end development of the same subtask are difficult to perform simultaneously. Therefore, for requirement information that requires both front-end and back-end development to complete, each subtask information in the task set corresponding to the requirement information should be further split into front-end subtasks and back-end subtasks. In some embodiments, after splitting the subtask information into front-end subtasks and back-end subtasks, the front-end subtasks and back-end subtasks also need to be renamed, for example, by adding a prefix to the back-end subtasks and front-end subtasks, renaming them to "[Back-end] Name" and "[Front-end] Name" respectively, so as to distinguish them and facilitate the subsequent distribution of subtasks.

[0094] In step S420 of some embodiments, since the second subtask information and the corresponding subtask information are the front-end subtask and the back-end subtask used to implement the same requirement information, the second subtask information is assigned to the task set to which the corresponding subtask information belongs, so that the time required to complete each subtask information and the subtasks can be calculated more accurately and the subtasks can be distributed.

[0095] In this embodiment, after obtaining the requirements document, interface automation technology is used to extract the requirements information and sub-task information line by line from the requirements document. The sub-task information is then divided into multiple task sets. For sub-tasks that require both front-end and back-end development, they are further split into front-end sub-tasks corresponding to front-end development and back-end sub-tasks corresponding to back-end development. These front-end and back-end sub-tasks are then assigned to the original task set for each sub-task information. Each task set corresponds one-to-one with the requirements information; that is, each task set corresponds to different requirements information. Based on this, the specific work hours for each R&D sub-task can be calculated according to the requirements information and the number of sub-tasks in the corresponding task set. This embodiment uses interface automation technology to extract the requirements information and sub-task information from the requirements document line by line into the R&D management system, and then divides the sub-task information into task sets corresponding to each requirements information. The preset workload of the requirements information is allocated to each sub-task information according to the number of sub-tasks in the task set. This automates the process of manually entering the requirements information and sub-task information line by line and calculating the sub-task work hours, saving significant human resources.

[0096] In some embodiments, such as Figure 5 As shown, step S400 includes, but is not limited to, steps S510 to S520 below.

[0097] Step S510: Extract the preset workload of the requirements from the requirements information;

[0098] Step S520: Determine the time required to complete the sub-task information based on the ratio of the preset workload to the number of sub-task information in the corresponding task set.

[0099] In step S510 of some embodiments, the preset workload of the requirements is extracted from the requirement information. It can be understood that the requirement document has preset workloads for each requirement information. By identifying keywords, such as the header of a column in the requirement document being "required working hours", "delivery deadline", "estimated workload", etc., after identifying the keyword, it is determined that the content of the column is the preset workload corresponding to each requirement information. Each data in the column is the preset workload corresponding to the requirement information in its row. Based on this, the content of the column is extracted and the preset workload of each requirement information is determined.

[0100] In step S520 of some embodiments, the time required to complete the sub-task information is determined based on the ratio of the preset workload to the number of sub-task information in the corresponding task set. It can be understood that since the sub-task information is obtained by subdividing the requirement information into multiple R&D sub-tasks, after extracting the preset workload required for each requirement information, the preset workload of the requirement information is evenly distributed to each sub-task information according to the number of sub-task information corresponding to each requirement information, thereby determining the time for each sub-task information.

[0101] In this embodiment, after obtaining the requirements document, interface automation technology is used to extract the requirements information and sub-task information line by line from the requirements document. The sub-task information is then divided into multiple task sets, where each task set corresponds one-to-one with a set of requirements information; that is, each task set corresponds to different requirements information. Based on this, the specific work hours for each sub-task can be calculated according to the requirements information and the number of sub-tasks in the corresponding task set. This embodiment uses interface automation technology to extract the requirements information and sub-task information from the requirements document line by line into the R&D management system, then divides the sub-task information into task sets corresponding to each requirement information, and allocates the preset workload of the requirements information to each sub-task based on the number of sub-tasks in the task set. This automates the process of manually entering the requirements information and sub-task information line by line and calculating the sub-task work hours, saving significant human resources.

[0102] In some embodiments, such as Figure 6 As shown, after step S400, there are also steps S610 to S620.

[0103] Step S610: Traverse all subtask information in the task set;

[0104] Step S620: Update the time tag of each subtask information according to the time of the subtask information.

[0105] In step S610 of some embodiments, all subtask information in the task set is traversed. Specifically, after determining the working hours of each subtask, each subtask in the task set is accessed once. Specifically, taking an array as the form of the task set as an example, the array can be traversed using the map function.

[0106] In step S620 of some embodiments, the time tag of each subtask information is updated according to the time of the subtask information. Specifically, during the process of accessing each subtask information in the task set, the time tag of each subtask information is updated according to the time of the subtask information determined by the preset workload of the requirement information and the number of subtask information in the corresponding task set. Specifically, taking an array as the form of a task set as an example, the map function can be used to traverse the array and modify the parameter information in the array during the traversal, thereby updating the time tag of each subtask information.

[0107] In this embodiment, after calculating the specific working hours of each R&D subtask based on the demand information and the number of subtasks in the task set corresponding to the demand information, the task set is traversed, for example, by using a map function to traverse the array of the task set, and the working hour tag of each subtask is updated during the traversal. This replaces the tedious step of manually updating the working hour tag of each R&D subtask, thereby saving a significant amount of human resources.

[0108] Based on the above-mentioned requirement processing method proposed in the embodiments of this application, a requirement document is obtained, and multiple requirement information and multiple sub-task information are extracted from the requirement document. The requirement information represents business requirements, and the sub-task information is the R&D sub-task used to complete the business requirements. The multiple sub-task information is divided into multiple task sets, where each task set corresponds one-to-one with the requirement information. The required man-hours to complete the sub-task information are determined based on the number of sub-task information in the corresponding task sets. After obtaining the requirement document, requirement information is extracted from the requirement document using interface automation technology based on a preset first feature identifier, and sub-task information is extracted from the requirement document based on a second feature identifier. Then, based on the correspondence between requirement information and sub-task information, the sub-task information is automatically divided into multiple task sets, with each task set corresponding one-to-one with the requirement information. Finally, based on a preset task splitting identifier, all sub-task information in the task sets corresponding to requirement information that requires both front-end and back-end development is copied and renamed, thereby splitting the sub-task into front-end development sub-tasks and back-end development sub-tasks. Then, based on the preset workload of the requirement information and the number of subtasks in the corresponding task set, the working hours for each subtask are determined. After determining the working hours for each subtask, the working hour tags for each subtask are updated through a traversal operation. Based on this, users only need to upload a single requirement document to automatically input the requirement and subtask information into the R&D process management system, automatically break down the task into front-end development subtasks and back-end development subtasks, and automatically calculate the working hours for each subtask. This replaces the tedious steps of manually calculating working hours and manually inputting information into the R&D process management system, saving significant human resources.

[0109] This application embodiment also provides a demand processing device 700, such as... Figure 7 As shown, the above-mentioned requirement processing method can be implemented. The requirement processing device includes: an acquisition unit 710, an information extraction unit 720, a task set division unit 730, and a time calculation unit 740. The acquisition unit 710 is used to acquire a requirement document; the information extraction unit 720 is used to extract multiple requirement information and multiple sub-task information from the requirement document, wherein the requirement information represents business requirements, and the sub-task information represents R&D sub-tasks for completing business requirements; the task set division unit 730 is used to divide the multiple sub-task information into multiple task sets, wherein each task set corresponds one-to-one with the requirement information; and the time calculation unit 740 is used to determine the time required to complete the sub-task information based on the requirement information and the number of sub-task information in the corresponding task sets.

[0110] The demand processing device 700 of this application embodiment is used to execute the demand processing method in the above embodiment. Its specific processing procedure is the same as the demand processing method in the above embodiment, and will not be described in detail here.

[0111] This application also provides an electronic device 800, including:

[0112] At least one processor, and,

[0113] A memory that is communicatively connected to at least one processor; wherein,

[0114] The memory stores instructions that are executed by at least one processor to cause the at least one processor to perform the method as described in any of the embodiments of this application when executing the instructions.

[0115] The following is combined with Figure 8 The hardware structure of the electronic device is described in detail. The electronic device includes: a processor 810, a memory 820, an input / output interface 830, a communication interface 840, and a bus 850.

[0116] The processor 810 can be implemented using a general-purpose central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0117] The memory 820 can be implemented as a read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory 820 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 820 and is called and executed by the processor 810 to execute the required processing methods of the embodiments of this application.

[0118] The input / output interface 830 is used to implement information input and output;

[0119] The communication interface 840 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0120] Bus 850 transmits information between various components of the device (e.g., processor 810, memory 820, input / output interface 830, and communication interface 840);

[0121] The processor 810, memory 820, input / output interface 830 and communication interface 840 are connected to each other within the device via bus 850.

[0122] This application also provides a storage medium, which is a computer-readable storage medium storing computer-executable instructions for causing a computer to execute the processing method required by this application embodiment.

[0123] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0124] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0125] It will be understood by those skilled in the art that Figures 1 to 8 The technical solutions shown do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0126] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0127] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0128] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0129] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0130] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not operational. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0131] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0132] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0133] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to run all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0134] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A requirement processing method, comprising: Obtain the requirements document; Multiple requirement information and multiple subtask information are extracted from the requirement document, wherein the requirement information is used to characterize business requirements, and the subtask information is used to characterize R&D subtasks to complete the business requirements; The multiple subtask information is divided into multiple task sets, wherein each task set corresponds one-to-one with the requirement information; The time required to complete the sub-task information is determined based on the demand information and the number of sub-task information in the corresponding task set. The process of dividing the multiple subtask information into multiple task sets further includes: If the requirement information is detected to include a preset task split identifier, each of the subtask information in the task set corresponding to the requirement information is copied to obtain multiple second subtask information. The process of classifying multiple second subtask information and the subtask information into the same task set includes: automatically dividing the subtask information into multiple task sets according to the correspondence between the requirement information and the subtask information, wherein each task set corresponds one-to-one with the requirement information; copying and renaming all subtask information in the task set corresponding to the requirement information according to a preset task splitting identifier; and splitting the subtask into front-end development subtasks and back-end development subtasks. The requirement information includes a preset workload, and determining the time required to complete the sub-task information based on each requirement information and the number of sub-task information in the corresponding task set includes: Extract the preset workload of the requirements from the aforementioned requirements information; The time required to complete the sub-task information is determined based on the ratio of the preset workload to the number of sub-task information in the corresponding task set; specifically, the sub-task information is obtained by subdividing the requirement information into multiple R&D sub-tasks. After extracting the preset workload required for each requirement information, the preset workload of the requirement information is evenly distributed to each sub-task information according to the number of sub-task information corresponding to each requirement information, and the time required for each sub-task information is determined.

2. The method according to claim 1, characterized in that, The extraction of multiple requirement information and multiple sub-task information from the requirement document includes: Multiple requirement information items are extracted from the requirement document according to a preset first feature identifier, wherein the first feature identifier is used to indicate the requirement information; Multiple subtask information is extracted from the requirement document according to a preset second feature identifier, wherein the second feature identifier is used to indicate the subtask information.

3. The method according to claim 1, characterized in that, The step of dividing the multiple subtask information into multiple task sets includes: Extract feature identifiers from the subtask information, wherein the feature identifiers are used to indicate the correspondence between the subtask information and the requirement information; Based on the characteristic identifier, at least one of the sub-task information corresponding to the same requirement information is grouped into the same task set to obtain multiple task sets.

4. The method according to claim 1, characterized in that, The subtask information includes time tags.

5. The method according to claim 4, characterized in that, After determining the time required to complete the sub-task based on each requirement information and the number of sub-task information in the corresponding task set, the method further includes: Iterate through all the subtask information in the task set; Update the time tag of each subtask information according to the time of the subtask information.

6. A demand processing device, characterized in that, The apparatus is used to implement the demand processing method according to any one of claims 1 to 5, and the apparatus comprises: The acquisition unit is used to acquire the requirements document; An information extraction unit is used to extract multiple requirement information and multiple sub-task information from the requirement document, wherein the requirement information is used to characterize business requirements, and the sub-task information is used to characterize R&D sub-tasks to complete the business requirements; A task set partitioning unit is used to divide the multiple subtask information into multiple task sets, wherein each task set corresponds one-to-one with the requirement information; The time calculation unit is used to determine the time required to complete the sub-task information based on the requirement information and the number of sub-task information in the corresponding task set.

7. An electronic device, characterized in that, The electronic device includes a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for establishing communication between the processor and the memory. The program is executed by the processor to implement the demand processing method as described in any one of claims 1 to 5.

8. A computer-readable storage medium for computer-readable storage, characterized in that, The computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the demand processing method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Research and development working hour calculation method and device

    CN107480861A

  • Agile project management method, device and system, electronic equipment and storage medium

    CN107516192A