A software development method and apparatus
Patent Information
- Application Number
- CN202610541807.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-22
- Publication Date
- 2026-09-01
AI Technical Summary
但是,这种开发方法的流程较多,会造成开发效率低的问题
[0023]第二方面至第四方面中任一种可能得实现方式所带来的技术效果可参见第一方面或第一方面中不同设计方式所带来的技术效果,此处不再赘述。
Smart Images

Figure CN122672758A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software development, and more particularly to a software development method and apparatus. Background Technology
[0002] Currently, with the rapid development of the digital economy, there is a frequent need to develop business systems for various business scenarios (such as financial management, human resource management, and supply chain management). One approach is to build these systems using low-code development methods, such as visual assembly of technical components (e.g., logic components and data components). However, this approach relies heavily on technical personnel, resulting in a high operational barrier. Another approach involves traditional customized development methods, including requirements analysis, architecture design, code development, and testing and deployment. However, this approach involves numerous processes, leading to low development efficiency. Summary of the Invention
[0003] This application provides a software development method and apparatus that helps to lower the operational threshold and improve development efficiency.
[0004] Firstly, a software development method is provided, executed by a computing device. The method includes: acquiring a business process file of the software to be developed and identifying the semantic features of the business process file; the business process file is used to record data related to the business processes in the software to be developed; based on the semantic features of the business process file, encapsulating multiple business nodes in the business process into multiple business capability units and generating dependencies between the multiple business capability units; wherein, one business node corresponds to at least one business capability unit; selecting multiple first front-end controls corresponding to the multiple business capability units from a control library, and combining the multiple first front-end controls based on the dependencies between the multiple business capability units to obtain the developed software; wherein, the first front-end controls include code logic for executing the corresponding business capability unit.
[0005] Understandably, on the one hand, based on the semantic features obtained from analyzing business process documents, multiple business nodes in the business process are encapsulated into multiple business capability units, and dependencies between these business capability units are generated. A business capability unit can be viewed as a reusable unit capable of fulfilling the tasks of a business node. Subsequently, the first front-end controls corresponding to the business capability units are combined according to the dependencies to obtain the developed software. Compared to traditional methods where developers perform requirements analysis, architecture design, and code writing based on process documents, the method in this embodiment can automatically generate dependencies between business capability units. Software development can be completed by reusing the first front-end controls corresponding to the encapsulated business capability units, reducing redundant development of business logic and front-end interaction code, and thus improving software development efficiency. On the other hand, since the business capability units and their dependencies are generated based on the semantic features of the business process documents, business personnel (i.e., non-technical personnel) are usually familiar with the business processes. Therefore, allowing business personnel to participate in the software development process helps lower the operational threshold for software development.
[0006] In one possible implementation, a business node includes a sub-process of a business process and the constituent elements of the sub-process; a business capability unit includes an atomic business capability unit and a combination of atomic business capability units; wherein, the combination of atomic capability units is encapsulated by the corresponding sub-process, and the atomic business capability unit is encapsulated by the constituent elements of the corresponding sub-process.
[0007] Understandingly, dividing business nodes into two types—sub-processes of a business process and constituent elements of a sub-process—can be seen as dividing business nodes into two different granularities. Encapsulating these two different granularities of business nodes into atomic business capability units and combinations of atomic business capability units can be seen as obtaining two different granularities of business capability units. The granularity of the combination of atomic business capability units is larger than the granularity of the atomic business capability units themselves. In software development, reusing smaller-granularity atomic business capability units helps to flexibly adapt to personalized business needs, thereby improving the flexibility of software development; reusing combinations of larger-granularity atomic business capability units helps to reduce the workload when assembling the first front-end control, thereby improving the efficiency of software development.
[0008] In another possible implementation, the method further includes: adding at least one of attribute information, action information, and correspondence to atomic business capability units based on the semantic features of the business process document; wherein, the attribute information is used to indicate the basic features of the atomic business capability unit; the action information is used to indicate the functions of the atomic business capability unit; and the correspondence is used to indicate the association rules between each atomic business capability unit and other atomic business capability units.
[0009] Understandably, attribute information can be used to describe the basic characteristics of atomic business capability units, facilitating their management; action information clarifies the specific functions of atomic business capability units, helping to improve the correctness of their business operations; and correspondence can describe the association rules between atomic business capability units, providing a basis for subsequently combining the first front-end controls corresponding to the business capability units. Therefore, by adding at least one of attribute information, action information, and correspondence to atomic business capability units, in addition to the originally encapsulated code logic, each atomic business capability unit includes at least one of these three elements. This helps to obtain more complete business capability units, enabling the developed software obtained by combining the first front-end controls corresponding to the business capability units to execute business processes more accurately.
[0010] In another possible implementation, the multiple business nodes include at least one first business node and at least one second business node; wherein, the at least one first business node is determined based on the semantic features of the business process document; the method further includes: receiving at least one second business node in the business process indicated by the user.
[0011] Understandably, a business node consists of two parts: a first business node and a second business node. The first business node is determined based on the semantic features of the business process document, while the second business node is the business process node obtained by receiving user instructions. The second business node can be seen as a supplement to the first business node. Since users have a high level of understanding of the business process, including the user-instructed second business node as part of multiple business nodes helps improve the completeness of the business nodes. Furthermore, encapsulating multiple business nodes into business capability units helps to obtain more complete business capability units, enabling the developed software, obtained by combining the front-end controls corresponding to the business capability units, to execute the business process more accurately.
[0012] In another possible implementation, the dependencies between multiple business capability units are recorded in a structured file.
[0013] Understandably, structured files offer high readability and maintainability. Recording the dependencies between multiple business capability units in structured files allows for modification of these files to adapt to changes in business processes. This helps improve software development efficiency in scenarios involving business process changes.
[0014] In another possible implementation, the method further includes: obtaining target information for multiple business nodes based on the semantic features of the business process document; wherein the target information includes rule information and / or permission information; wherein the rule information is used to indicate the execution conditions of the corresponding business node, and the permission information is used to indicate the operation permissions of the business node; and adding the corresponding target information to the corresponding business capability unit through a second front-end control.
[0015] Understandably, on the one hand, adding rule information and / or permission information to business capability units helps them automatically select appropriate actions based on different inputs, and / or allows them to set different operation permissions for different types of users, thereby helping the developed software to execute business processes more accurately. On the other hand, adding rule information and / or permission information to business capability units through a second front-end control allows this information to be added without modifying the source code, thus improving development efficiency.
[0016] In another possible implementation, the semantic features of the business process documents are identified, including: identifying the business process documents through a large language model to obtain the semantic features of the business process documents.
[0017] Understandably, large language models possess strong semantic understanding capabilities and can handle various types of data (e.g., structured, semi-structured, and unstructured data). Therefore, analyzing process documents using large language models yields highly accurate semantic features. This, in turn, helps improve the accuracy of the generated business capability units and their dependencies, enabling the developed software—obtained by combining the first front-end controls corresponding to these business capability units—to execute business processes more accurately.
[0018] In another possible implementation, the first front-end control is stored in the control library according to categories, where the categories are determined based on the functions implemented by the business capability units.
[0019] Understandably, storing the first front-end controls by category in the control library helps improve the efficiency of selecting the first front-end control corresponding to the business capability unit from the control library, thereby helping to improve the efficiency of software development.
[0020] In a second aspect, a computer device is provided, comprising a memory and a processor, the memory for storing a set of computer instructions; when the processor in the computer device executes the set of computer instructions, the processor performs operational steps of the method as described in the first aspect or any possible implementation thereof.
[0021] Thirdly, a computer-readable storage medium is provided, comprising: computer software instructions; when the computer software instructions are executed in a processor, causing the processor to perform operational steps of the method as described in the first aspect or any possible implementation thereof.
[0022] Fourthly, a computer program product is provided, comprising a computer program or instructions that, when executed on a computer device, cause the computer device to perform operational steps of the method as described in the first aspect or any possible implementation thereof.
[0023] The technical effects of any possible implementation method in aspects two through four can be found in aspect one or the technical effects of different design methods in aspect one, and will not be repeated here.
[0024] Based on the implementation methods provided in the above aspects, the embodiments of this application can be further combined to provide more implementation methods. Attached Figure Description
[0025] Figure 1 This application provides a schematic diagram of the architecture of a software development system. Figure 2 A flowchart illustrating a software development method provided in an embodiment of this application; Figure 3 A schematic diagram illustrating the selection of a first front-end control as provided in an embodiment of this application; Figure 4 A flowchart illustrating another software development method provided in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0026] To better understand the embodiments of this application, some terms or technologies involved in the embodiments of this application will be explained below.
[0027] Packaged business capabilities (PBCs) refer to independent software functional units formed by standardizing and modularizing specific business capabilities. The encapsulated content includes the data structures, service logic, standardized interfaces, and business rules required to implement the business capability. As atomic units of business capabilities, PBCs enable business personnel to quickly combine and assemble business systems for different business scenarios through visual configuration. They are widely used in software development across various fields such as enterprise human resource management, government services, healthcare, finance, retail e-commerce, and manufacturing.
[0028] PBCs (Programmable Components) include two types: Basic PBCs and Domain PBCs. Basic PBCs are atomic, generalized, and independently callable units of business capability, forming the foundational building blocks of enterprise business capabilities. Their core characteristics are: they can complete a single, clearly defined business operation without relying on other PBCs, possessing standardized input / output interfaces and a unified calling protocol. Basic PBCs focus on a single business responsibility, completing indivisible specific operations (e.g., only responsible for "order information entry" or "automatic order amount calculation"), with no redundant functions, ensuring calling efficiency and reusability.
[0029] Domain-specific PBCs are end-to-end collections of business capabilities built upon the configuration and combination of basic PBCs, targeting specific business domains. They are "finished business solutions" that meet the needs of enterprises for specific business scenarios. Their core features include: a complete business logic loop, integration of multiple basic PBCs, adaptation to specific domain business rules, and support for dynamic adjustment of the combination relationship. Business personnel can configure the calling order, parameter passing rules, and business rule triggering conditions of basic PBCs through a drag-and-drop process canvas, combining basic PBCs to form domain-specific PBCs without writing code. As a standardized solution for specific scenarios, domain-specific PBCs can be reused within the same domain (e.g., a "regional procurement approval process" can be reused in different regional branches), and can also be reconfigured based on existing domain-specific PBCs (e.g., adding a "travel allowance calculation" basic PBC to the "ordinary reimbursement process" to form a "travel reimbursement process"), further improving the reusability and configuration efficiency of business capabilities. To reduce the operational threshold and improve development efficiency, this application provides a software development method. In this method, based on the semantic features obtained from analyzing business process documents, multiple business nodes in the business process are encapsulated into multiple business capability units, and dependencies between these business capability units are generated. Each business capability unit can be viewed as a reusable unit capable of fulfilling the tasks of a business node. Subsequently, the first front-end controls corresponding to the business capability units are combined according to the dependencies to obtain the developed software. Compared to traditional methods where developers perform requirements analysis, architecture design, and code writing based on process documents, the method in this embodiment automatically generates dependencies between business capability units. Software development can be completed by reusing the first front-end controls corresponding to the encapsulated business capability units, reducing redundant development of business logic and front-end interaction code, and thus improving software development efficiency. Furthermore, since the business capability units and their dependencies are generated based on the semantic features of the business process documents, business personnel (i.e., non-technical personnel) are typically familiar with the business processes. Therefore, business personnel can participate in the software development process, helping to lower the operational threshold for software development.
[0030] The following describes in detail, with reference to the accompanying drawings, an embodiment of the software development system provided in this application.
[0031] Figure 1 This is a schematic diagram of the architecture of a software development system provided in an embodiment of this application. Figure 1 As shown, the software development system 100 includes a computing device cluster 110 and a storage device cluster 120.
[0032] Storage device cluster 120 includes storage devices 121 and 122. A storage device includes one or more controllers, a network interface card (NIC), and multiple hard drives. Hard drives are used to store data. Hard drives are disks or other types of storage media, such as solid-state drives (SSDs) or shingled magnetic recording (SMR) hard drives. The NIC is used to communicate with computing devices 111 included in computing device cluster 110. The controller is used to write data to or read data from the hard drives according to read / write data requests sent by the computing devices. During the read / write process, the controller needs to translate the address carried in the read / write data request into an address that the hard drive can recognize.
[0033] In this embodiment, the storage device cluster 120 is used to store the business process files of the software to be developed. The explanation of the software to be developed and the business process files can be found in step 210 below, and will not be repeated here.
[0034] Storage device cluster 120 is also used to store service capability units and the dependencies between them. A service capability unit refers to a software unit obtained by encapsulating the code logic that implements the corresponding service node. For a detailed explanation of service capability units, dependencies, and service nodes, please refer to steps 210 and 220 below, which will not be repeated here.
[0035] The computing device cluster 110 contains multiple computing devices 111. Each computing device 111 is a computing device, such as a server.
[0036] In some embodiments, the computing device cluster 110 is a heterogeneous computing architecture to provide high-performance computing. For example, the computing includes processors with computing capabilities such as central processing units (CPUs), graphics processing units (GPUs), and neural network processing units (NPUs) to provide high-performance computing. Multiple computing devices 111 are connected via network devices (such as switches, network interface cards, etc.) based on high-speed interconnect technology, enabling communication between the multiple computing devices.
[0037] The computing device 111 is used to acquire the business process documents of the software to be developed and to identify the semantic features of the business process documents. The specific implementation method can be found in step 210 below, and will not be elaborated upon here.
[0038] The computing device 111 is also used to encapsulate multiple business nodes in the business process into multiple business capability units based on the semantic features of the business process file, and to generate dependencies between the multiple business capability units. The specific implementation method can be found in step 220 below, and will not be elaborated here.
[0039] The computing device 111 is also used to select multiple first front-end controls corresponding to multiple business capability units from the control library, and to combine the multiple first front-end controls based on the dependencies between the multiple business capability units to obtain the developed software. The specific implementation method can be found in step 230 below, and will not be elaborated here.
[0040] Optionally, the software development system 100 also includes a client 130. This embodiment does not limit the deployment location of the client 130. For example, the client 130 may be located on any computing device in the computing device cluster 110. Alternatively, the client 130 may be a standalone device connected to the computing device cluster via a network.
[0041] In some embodiments, client 130 communicates with computing device cluster 110 via a network. For example, client 130 sends a development request to computing device cluster 110 via the network, requesting computing device cluster 110 to develop software for a target business scenario. The network refers to an enterprise internal network (e.g., a local area network, LAN) or the Internet. Client 130 refers to a computer connected to the network, also known as a workstation. Different clients share network resources (e.g., computing resources, storage resources).
[0042] For example, client 130 has client program 131 installed. Client 130 runs client program 131 and displays a user interface (UI). User 140 uses the user interface to submit a development request. The development request contains an identifier of the target business scenario. After receiving the development request, computing device 111 retrieves the business process file of the target business scenario from storage device cluster 121 and develops the software to be developed for the target business scenario.
[0043] Figure 1This is merely an illustrative diagram; the embodiments of this application do not limit the device connection method or the number of devices in the software development system 100. For example, multiple computing devices can collaboratively execute various steps in the software development method, and these multiple computing devices can be connected through network devices (such as switches, network cards, etc.) based on high-speed interconnection technology, enabling communication between the multiple computing devices.
[0044] Next, a software development method provided by an embodiment of this application will be described in detail with reference to the accompanying drawings.
[0045] Figure 2 This is a flowchart illustrating a software development method provided in an embodiment of this application. Here, it is mainly based on... Figure 1 The following diagram illustrates a software development system. For example, steps 210 to 230 are executed by computing device 111. Figure 2 As shown, the method includes the following steps.
[0046] Step 210: Obtain the business process documents of the software to be developed and identify the semantic features of the business process documents.
[0047] The software to be developed is software that needs to be developed for a target business scenario. Once developed, the software can be used to execute business processes within that target scenario. This application does not limit the target business scenario; such scenarios include enterprise procurement management, customer points redemption, and enterprise human resource management.
[0048] Business process documents are used to record data related to business processes in the software to be developed. This application embodiment does not limit the data type of the data in the business process documents. Data types may include structured data, semi-structured data, or unstructured data. Unstructured data includes, but is not limited to, text, images, audio, and video. Semi-structured data includes, but is not limited to, Extensible Markup Language (XML) documents, JavaScript Object Notation (JSON) documents, and Hypertext Markup Language (HTML) documents. Structured data includes, but is not limited to, data stored in relational databases.
[0049] For example, if the target business scenario is enterprise procurement management, the business process document might be something like "XX Company Procurement Process Specification Guidelines," and the data type in the business process document might be unstructured text.
[0050] A business process refers to a complete logical chain of business execution consisting of ordered business nodes within a target business scenario. For example, suppose the target business scenario is an enterprise procurement management scenario, which includes business processes such as "supplier information management," "procurement requirement submission," and "procurement order processing."
[0051] A business node refers to a component of a business process; it is a unit with a smaller granularity than the business process itself. In other words, multiple business nodes combined in sequence can form a business process.
[0052] For example, a business node can be a sub-process of a business process. For instance, in the case of a business process called "Purchase Order Processing," sub-processes could include "Create Purchase Order," "Purchase Order Submission," "Purchase Order Approval," and "Purchase Order Activation," etc.
[0053] For example, business nodes can also be components of sub-processes. For instance, in the case of a sub-process called "Create Purchase Order," the components of the sub-process could include "Order Information Entry," "Supplier Information Entry," "Product / Material Information Entry," and "Automatic Calculation of Order Amount," etc.
[0054] Semantic features of business process documents are the results obtained after analyzing the business process documents. Semantic features are natural language descriptions of the business nodes in the business process.
[0055] In some embodiments, semantic features are, for example, natural language descriptions of the business nodes included in a business process and the logical order between those business nodes.
[0056] For example, in the case of a business process called "purchase order processing", the semantic features are as follows: Purchase order processing includes four sub-processes: creating a purchase order, submitting a purchase order, approving a purchase order, and making the purchase order effective. The logical order of these four sub-processes is to first create a purchase order, then submit a purchase order, then approve a purchase order, and finally make the purchase order effective if the purchase order is approved.
[0057] Optionally, semantic features can also be natural language descriptions of the definitions of business nodes. The definition of a business node includes at least one of the following: attribute information, action information, and correspondence.
[0058] Natural language descriptions of the attribute information for business nodes are used to indicate the basic characteristics of the business node. For example, in the case of a business node "Create Purchase Order," the natural language description of the business node's attribute information would be something like: A purchase order requires mandatory fields such as order number, order amount, purchase amount, supplier information, purchase category, and purchasing personnel.
[0059] The natural language description of the action information for a business node indicates the functions that the business node has. For example, in the case of a business node that "creates a purchase order," the natural language description of the action information for that business node would be: An operator can add a purchase order, delete an existing purchase order, or modify an existing purchase order.
[0060] The mapping relationship is used to indicate the association rules between each business node and other business nodes in a set of multiple business nodes. For example, in the case of the business node "Create Purchase Order," the natural language description of the mapping relationship between business nodes would be as follows: A purchase order can contain multiple suppliers and can have multiple product categories.
[0061] In some embodiments, business process documents are analyzed using a large language model to obtain their semantic features. This application does not limit the architecture of the large language model; the large language model can be based on the Transformer architecture or other architectures.
[0062] Understandably, large language models possess strong semantic understanding capabilities and can handle various types of data (e.g., structured, semi-structured, and unstructured data). Therefore, analyzing process documents using large language models yields highly accurate semantic features. This, in turn, helps improve the accuracy of the generated business capability units and their dependencies, enabling the developed software—obtained by combining the first front-end controls corresponding to these business capability units—to execute business processes more accurately.
[0063] In some embodiments, the business process file is pre-stored in a storage medium, and the computing device can retrieve the business process file from the storage medium when executing step 210. This application embodiment does not limit the location of the storage medium; the storage medium can be memory or a hard disk in the computing device, or it can be a storage device outside the computing device.
[0064] Step 220: Based on the semantic features of the business process documents, encapsulate multiple business nodes in the business process into multiple business capability units, and generate the dependency relationships between multiple business capability units.
[0065] A business capability unit refers to a software unit that encapsulates the code logic that implements a corresponding business node. In other words, when a business capability unit is executed by a computing device, the computing device can perform the operation of the corresponding business node. For example, if the code logic that implements the business node "automatic calculation of order amount" is encapsulated as a business capability unit, when this business capability unit is executed by the computing device, the computing device can automatically calculate the order amount.
[0066] In some embodiments, a business capability unit includes atomic business capability units and combinations of atomic business capability units. A combination of atomic capability units is obtained by encapsulating corresponding sub-processes, and an atomic business capability unit is obtained by encapsulating the constituent elements of corresponding sub-processes. Optionally, an atomic business capability unit may also be referred to as a basic PBC, and a combination of atomic business capability units may also be referred to as a composite business capability unit or a domain PBC.
[0067] For example, the code logic of the components that implement a sub-process is encapsulated to obtain an atomic business capability unit, and the code logic of the components that implement a sub-process is encapsulated to obtain a composite business capability unit.
[0068] For example, the code logic for implementing the sub-process "automatic calculation of order amount" is encapsulated as a business capability unit, and the code logic for implementing the sub-process "create purchase order" is encapsulated as a combined business capability unit.
[0069] Understandingly, dividing business nodes into two types—sub-processes of a business process and constituent elements of a sub-process—can be seen as dividing business nodes into two different granularities. Encapsulating these two different granularities of business nodes into atomic business capability units and combinations of atomic business capability units can be seen as obtaining two different granularities of business capability units. The granularity of the combination of atomic business capability units is larger than the granularity of the atomic business capability units themselves. In software development, reusing smaller-granularity atomic business capability units helps to flexibly adapt to personalized business needs, thereby improving the flexibility of software development; reusing combinations of larger-granularity atomic business capability units helps to reduce the workload when assembling the first front-end control, thereby improving the efficiency of software development.
[0070] In some embodiments, the dependencies between multiple business capability units are used to indicate the temporal order in which the multiple business capability units are executed. Typically, multiple business nodes in a business process have a temporal order to ensure the normal execution of the business process. Since a business capability unit is obtained by encapsulating the code logic of the corresponding business node, generating dependencies between multiple business capability units helps to subsequently combine multiple first front-end controls corresponding to the multiple business capability units based on the dependencies, thereby obtaining software capable of implementing the complete business process.
[0071] Optionally, based on the semantic features of the business process document, at least one of attribute information, action information, and corresponding relationships can be added to the atomic business capability unit.
[0072] For example, attribute information is used to indicate the basic characteristics of atomic business capability units, action information is used to indicate the functions of atomic business capability units, and correspondence is used to indicate the association rules between each atomic business capability unit and other atomic business capability units.
[0073] For example, when the atomic business capability unit is "Order Information Entry", the attribute information can be "Order Amount", "Order Number", "Purchase Amount", and "Supplier", etc. The action information can be "Delete Order", "Add Order", and "Modify Order", etc. The correspondence can be one-to-many between "Order Information Entry" and another atomic business capability unit, "Supplier Information Entry", that is, one order can be associated with multiple suppliers.
[0074] Understandably, attribute information can be used to describe the basic characteristics of atomic business capability units, facilitating their management; action information clarifies the specific functions of atomic business capability units, helping to improve the correctness of their business operations; and correspondence can describe the association rules between atomic business capability units, providing a basis for subsequently combining the first front-end controls corresponding to the business capability units. Therefore, by adding at least one of attribute information, action information, and correspondence to atomic business capability units, in addition to the originally encapsulated code logic, each atomic business capability unit includes at least one of these three elements. This helps to obtain more complete business capability units, enabling the developed software obtained by combining the first front-end controls corresponding to the business capability units to execute business processes more accurately.
[0075] Optionally, the multiple business nodes include at least one first business node and at least one second business node. The at least one first business node is determined based on the semantic features of the business process document. The second business node is at least one second business node that receives the business process obtained from the user's instructions.
[0076] The second business node is obtained, for example, by business personnel analyzing business process documents. The second business node can be a sub-process of the business process described above, or a component element of a sub-process. The method for obtaining the first business node can be found in step 210, and will not be elaborated upon here.
[0077] Understandably, a business node consists of two parts: a first business node and a second business node. The first business node is determined based on the semantic features of the business process document, while the second business node is the business process node obtained by receiving user instructions. The second business node can be seen as a supplement to the first business node. Since users have a high level of understanding of the business process, including the user-instructed second business node as part of multiple business nodes helps improve the completeness of the business nodes. Furthermore, encapsulating multiple business nodes into business capability units helps to obtain more complete business capability units, enabling the developed software, obtained by combining the first front-end controls corresponding to the business capability units, to execute the business process more accurately.
[0078] Optionally, the dependencies between multiple business capability units can be recorded in a structured file. This application embodiment does not limit the type of structured file; structured files include, but are not limited to, JSON files, XML files, etc.
[0079] For example, a structured file records the dependencies between multiple business capability units in the form of key-value pairs. The key is, for example, an identifier for the business capability unit, and the value is, for example, the input and output dependencies of the business capability unit.
[0080] For example, in the structured file, the key of the business capability unit "Purchase Order Submission" is: the name of "Purchase Order Submission", and the value is: "Purchase Order Processing" input dependency is "Create Purchase Order", and output dependency is "Purchase Order Approval".
[0081] Understandably, structured files offer high readability and maintainability. Recording the dependencies between multiple business capability units in structured files allows for modification of these files to adapt to changes in business processes. This helps improve software development efficiency in scenarios involving business process changes.
[0082] Step 230: Select multiple first front-end controls from the control library that correspond to multiple business capability units, and combine multiple first front-end controls based on the dependency relationships between multiple business capability units to obtain the developed software.
[0083] The control library stores multiple first-level front-end controls, each corresponding to a business capability unit. Each first-level front-end control contains the code logic for executing the corresponding business capability unit.
[0084] In some embodiments, the type of the first front-end control depends on the function to be implemented by the business node. This application does not limit the type of the first front-end control; the type of the first front-end control includes, but is not limited to, forms, buttons, and checkboxes.
[0085] For example, if a business node's function requires information to be entered, the first front-end control corresponding to the business capability unit encapsulated from that business node is also used for entering information. For instance, assuming the business node is "Order Information Entry," the first front-end control corresponding to the business capability unit encapsulated from that business node would be a form, which can be used to enter order information.
[0086] For example, if the function of a business node requires submitting information, the first front-end control corresponding to the business capability unit obtained by encapsulating that business node can also be used to submit information. For instance, assuming the business node is "Purchase Order Submission," the first front-end control corresponding to the business capability unit obtained by encapsulating that business node would be a button; clicking the button would submit the purchase order.
[0087] Optionally, the first front-end controls are stored in the control library by category. Categories are, for example, based on the functions implemented by the business capability unit. Categories include, but are not limited to, people, finance, affairs, and things. For example, based on the function "order information entry," the business capability unit is categorized as "things"; based on the function "automatic calculation of order amount," it is categorized as "finance"; based on the function "purchase order submission," it is categorized as "affairs"; and based on the function "purchase order approval," it is categorized as "people."
[0088] Understandably, storing the first front-end controls by category in the control library helps improve the efficiency of selecting the first front-end control corresponding to the business capability unit from the control library, thereby helping to improve the efficiency of software development.
[0089] In some embodiments, in response to a user's selection, multiple first front-end controls corresponding to multiple business capability units are selected from a control library. For example, a control library is displayed on the front-end page, and in response to a user's click operation on the front-end page, multiple first front-end controls corresponding to multiple business capability units are selected from the control library.
[0090] Optionally, the name of the first front-end control is the same as the name of the corresponding business node. For example, if the business node is "Order Information Entry", the name of the first front-end control corresponding to the business capability unit of that business node is also "Order Information Entry". Understandably, since the name of the first front-end control is the same as the name of the corresponding business node, even if the user is a business user (i.e., without software development capabilities), they can still select the first front-end control corresponding to the business capability unit of the business node from the control library to complete software development, thus helping to lower the operational threshold for software development.
[0091] Figure 3This is a schematic diagram illustrating the selection of a first front-end control provided in this application. For example... Figure 3 As shown, the front-end page's control library includes primary front-end controls for submitting purchase orders, approving purchase orders, and activating purchase orders. Users click on the primary front-end control "Submit Purchase Order" to select the corresponding primary front-end control for the business capability unit of submitting purchase orders.
[0092] In some embodiments, multiple first front-end controls are combined based on the chronological order of execution of multiple business capability units indicated by dependencies to obtain the developed software.
[0093] For example, the sub-processes of the business process "Purchase Order Processing" are arranged in chronological order as follows: "Create Purchase Order," "Purchase Order Submission," "Purchase Order Approval," and "Purchase Order Activation." The execution sequence of the business capability units is as follows: "Create Purchase Order," "Purchase Order Submission," "Purchase Order Approval," and "Purchase Order Activation." Following this chronological order, multiple first-front-end controls corresponding to these business capability units are combined to obtain the developed software.
[0094] Optionally, based on the semantic features of the business process document, target information for multiple business nodes is obtained. This target information includes rule information and / or permission information. The corresponding target information is then added to the relevant business capability unit via a second front-end control. The rule information indicates the execution conditions for the corresponding business node, and the permission information indicates the operational permissions of the business node.
[0095] It's worth noting that the difference between the second and first front-end controls is that the first front-end control corresponds to a business capability unit, and the developed software can be obtained by combining the first front-end control. The second front-end control is used to add target information to the business capability unit. However, the first and second front-end controls may be of the same type; for example, both the first and second front-end controls may be input boxes, checkboxes, or buttons.
[0096] For example, when a business capability unit is used to implement the "purchase order approval" function of the business node, the rule information of the business capability unit obtained based on the semantic features of the business process document is, for example, "trigger large-amount approval when the order amount is greater than 100,000 yuan". The order amount is then set to 100,000 yuan on the second front-end control (e.g., an input box), thereby adding this rule to the business capability unit.
[0097] For example, when a business capability unit is used to implement the "purchase order approval" function of the business node, the permission information of the business capability unit can be obtained based on the semantic features of the business process document, such as: "Configure purchase order editing permissions for the department manager and purchase order read-only permissions for the finance personnel on the second front-end control (e.g., checkbox).
[0098] Understandably, on the one hand, adding rule information and / or permission information to business capability units helps them automatically select appropriate actions based on different inputs, and / or allows them to set different operation permissions for different types of users, thereby helping the developed software to execute business processes more accurately. On the other hand, adding rule information and / or permission information to business capability units through a second front-end control allows this information to be added without modifying the source code, thus improving development efficiency.
[0099] The above embodiments are illustrated using an enterprise procurement management scenario as the target business scenario, with the business process "procurement requirement submission" as an example. The following describes the software development method in this application embodiment using a "customer points redemption scenario" as the target business scenario.
[0100] By analyzing the business process documents in the customer points redemption scenario, the business nodes included in the business process are: "product information entry", "customer points information entry", "points verification" and "redemption record".
[0101] Business nodes are encapsulated into multiple business capability units, and dependencies between these units are generated. A combined business capability unit could be, for example, "Product Information Entry," "Customer Points Information Entry," "Points Verification," and "Redemption Record." An atomic business capability unit could be, for example, "Product," "Customer Points," and "Redemption Record." The dependency relationship would be, for instance, to first perform "Product Information Entry," then "Customer Points Information Entry," then "Points Verification," and finally, to view the "Redemption Record."
[0102] Add attribute information to the business capability unit corresponding to "Customer Points Information Entry": points balance and points validity period. Add corresponding relationships: one customer's points can be associated with multiple products. Add the rule information "Points balance ≥ points required for the product and points must be within the validity period" to the business capability unit corresponding to "Points Verification" on the second front-end control.
[0103] Add permission information to the business capability unit corresponding to "Redeem Records" on the second front-end control: online operations specialists have the permission to "statistics on points redemption data", and store staff have the permission to "operate on offline redemption".
[0104] The software development method provided in this application can be used to develop software for different application scenarios in different fields. For example, in the energy and public utilities sector, software can be developed for electricity or water scenarios to provide balance inquiry and payment functions. In the manufacturing sector, software can be developed for production schedule management scenarios to provide functions such as production schedule arrangement, production task allocation, and equipment scheduling. In the retail and e-commerce sector, software can be developed for order and logistics management scenarios to provide functions such as order creation, order status tracking, and order delivery. In the education sector, software can be developed for online learning scenarios to provide functions such as course content design, exam release, and grade statistics. In the healthcare sector, software can be developed for hospital information management scenarios to provide functions such as generating electronic medical records, doctor layout, and outpatient appointment scheduling.
[0105] The following is combined with Figure 4 The introduction provides a further overview of software development methodologies. Figure 4 This is a schematic diagram illustrating another software development method provided in an embodiment of this application.
[0106] like Figure 4 As shown, the common components include a business capability unit library and a control library. The business capability unit library includes composite business capability units and atomic business capability units.
[0107] The data service is used to retrieve business process documents. For example, business process documents may be stored within the data service. Alternatively, the data service may retrieve business process documents from a third-party storage system.
[0108] The atomic business capability management service is used to encapsulate the components of sub-processes into atomic business capability units based on the semantic characteristics of business process documents. For specific implementation details, please refer to step 220 above; further explanation is omitted here.
[0109] The atomic business capability management service is also used to add at least one of the following to atomic business capability units: action information, attribute information, and corresponding relationships. For specific implementation details, please refer to step 220 above; further explanation is omitted here.
[0110] The atomic business capability management service is also used to add rule information and / or operation permissions to atomic business capability units. For specific implementation details, please refer to step 220 above; further explanation is omitted here.
[0111] The composite business capability management service is used to assemble atomic business capability units into composite business capability units. For example, based on semantic features, the constituent elements of a sub-process are obtained, and the atomic business capability units corresponding to these constituent elements are assembled to obtain the composite business capability unit corresponding to the sub-process.
[0112] The front-end service is used to select multiple first front-end controls from the control library that correspond to multiple business capability units. The front-end service is also used to combine the first front-end controls based on the dependencies between the business capability units to obtain the developed software. For specific implementation details, please refer to step 230 above; further explanation is not provided here.
[0113] It is understood that, in order to achieve the functions in the above embodiments, the computing device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0114] Figure 5 This is a schematic diagram of the structure of a computer device 500 provided in an embodiment of this application. Figure 5 As shown, the computer device 500 includes a processor 510, a processor 520, a memory 530, a communication interface 540, a RAM 550, and a bus 560. The processor 510, processor 520, memory 530, communication interface 540, and RAM 550 are connected via the bus 560.
[0115] The communication interface 540 is used to enable communication between the computer device 500 and external devices or components.
[0116] In this embodiment, the communication interface 540 is used to obtain the business process file of the software to be developed. The business process file is used to record data related to the business processes in the software to be developed.
[0117] It should be understood that in the embodiments of this application, processor 510 is a CPU, but processor 510 can also be other general-purpose processors, digital signal processors (DSPs), ASICs, FPGAs, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors are microprocessors or any conventional processors, etc.
[0118] Processor 510 is used to identify the semantic features of business process documents. For example, processor 510 is used to execute... Figure 2 Step 210 in the process.
[0119] Processor 510 is also used to encapsulate multiple business nodes in a business process into multiple business capability units based on the semantic features of the business process document, and to generate dependencies between these business capability units. For example, processor 510 is used to execute... Figure 2 Step 220 in the process.
[0120] Processor 510 is also used to select multiple first front-end controls corresponding to multiple business capability units from a control library, and to combine the multiple first front-end controls based on the dependencies between the multiple business capability units to obtain the developed software. For example, processor 510 is used to execute... Figure 2 Step 230 in the process.
[0121] The computer device 500 also includes a processor 520. The processor 520 may be, for example, a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the program in this application. In this embodiment, the processor 520 is used to accelerate the actions performed by the processor 510.
[0122] Bus 560 includes a pathway for transferring information between the aforementioned components (such as processor 510, memory 550, and storage 530). In addition to the data bus, bus 560 also includes a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 560 in the diagram. Bus 560 is a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, unified bus (Ubus or UB), compute express link (CXL), cachecoherent interconnect for accelerators (CCIX), etc. Bus 560 is divided into address bus, data bus, and control bus.
[0123] As an example, computer device 500 includes multiple processors. A processor is a multi-core (multi-CPU) processor. Here, a processor refers to one or more devices, circuits, and / or computing units used to process data (such as computer program instructions).
[0124] It is worth noting that, Figure 5Taking a computer device 500 comprising one processor 510 and one memory 530 as an example, the processor 510 and memory 530 are used to indicate a type of device or equipment. In a specific embodiment, the number of each type of device or equipment is determined according to business requirements. For example, the computer device 500 may include multiple processors 510 and memory 530.
[0125] Memory 550 can be non-transitory memory, which can be a pool of volatile memory or a pool of non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory is random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). For example, memory 550 is used to store intermediate computation results during the execution of a software development methodology. As an example, memory 550 is used to store semantic features, etc.
[0126] Optionally, memory 530 is used to store business process files, business capability units, and dependencies between multiple business capability units. Memory 530 is, for example, a disk, such as a hard disk drive or a solid-state drive.
[0127] The aforementioned computer device 500 may be a general-purpose device or a special-purpose device. For example, computer device 500 may also be a server or other device with computing capabilities.
[0128] It should be understood that the computer device 500 according to the embodiments of this application may correspond to the execution of the following: Figures 2 to 4For the sake of brevity, the corresponding entities in any of the methods described herein will not be elaborated upon here. The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a computing device. Of course, the processor and storage medium can also exist as discrete components in the computing device. Some embodiments of this application provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) storing computer program instructions that, when executed on a computer, cause the computer to perform one or more steps in a software development method as described in any of the above embodiments.
[0129] For example, the aforementioned computer-readable storage media include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., CDs (Compact Disks), DVDs (Digital Versatile Disks), etc.), smart cards, and flash memory devices (e.g., EPROMs (Erasable Programmable Read-Only Memory), cards, sticks, or key drives, etc.). The various computer-readable storage media described in the embodiments of this application may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0130] Some embodiments of this application also provide a computer program product. This computer program product includes computer program instructions carried on a non-transitory computer-readable storage medium, which, when executed on a computer, cause the computer to perform one or more steps in the software development method described in the above embodiments.
[0131] The beneficial effects of the computer-readable storage medium and computer program product described above are the same as those of the software development methods described in some of the above embodiments, and will not be repeated here.
[0132] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD).
[0133] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of the embodiments of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the embodiments of this application, and these modifications or substitutions should all be covered within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.
Claims
1. A software development method, characterized in that, The method is performed by a computing device, and the method includes: Obtain the business process file of the software to be developed and identify the semantic features of the business process file; the business process file is used to record data related to the business processes in the software to be developed. Based on the semantic features of the business process file, multiple business nodes in the business process are encapsulated into multiple business capability units, and the dependency relationships between the multiple business capability units are generated; wherein, one business node corresponds to at least one business capability unit. Select multiple first front-end controls from the control library that correspond to the multiple business capability units, and combine the multiple first front-end controls based on the dependencies between the multiple business capability units to obtain the developed software; wherein, the first front-end control includes the code logic for executing the corresponding business capability unit.
2. The method according to claim 1, characterized in that, The business node includes a sub-process of the business process and the constituent elements of the sub-process; the business capability unit includes an atomic business capability unit and a combination of atomic business capability units; wherein, the combination of atomic business capability units is obtained by encapsulating the corresponding sub-process, and the atomic business capability unit is obtained by encapsulating the constituent elements of the corresponding sub-process.
3. The method according to claim 2, characterized in that, The method further includes: Based on the semantic features of the business process document, at least one of attribute information, action information, and correspondence is added to the atomic business capability unit; wherein, the attribute information is used to indicate the basic features of the atomic business capability unit; the action information is used to indicate the functions of the atomic business capability unit; and the correspondence is used to indicate the association rules between each atomic business capability unit and other atomic business capability units.
4. The method according to any one of claims 1-3, characterized in that, The plurality of business nodes include at least one first business node and at least one second business node; wherein, the at least one first business node is determined based on the semantic features of the business process document; The method further includes: receiving at least one second business node in the business process as instructed by the user.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: The dependencies between the multiple business capability units are recorded in a structured file.
6. The method according to any one of claims 1-5, characterized in that, The method further includes: Based on the semantic features of the business process document, target information of the multiple business nodes is obtained; wherein, the target information includes rule information and / or permission information; wherein, the rule information is used to indicate the execution conditions of the corresponding business node, and the permission information is used to indicate the operation permissions of the business node; Add the corresponding target information to the corresponding business capability unit through the second front-end control.
7. The method according to any one of claims 1-6, characterized in that, The identification of the semantic features of the business process document includes: The semantic features of the business process document are obtained by identifying the document using a large language model.
8. The method according to any one of claims 1-7, characterized in that, The first front-end control is stored in the control library according to the category; wherein, the category is obtained by dividing the functions implemented by the business capability unit.
9. A computer program product, characterized in that, The computer program product includes a computer program or instructions, which, when executed by a computer device, perform the operational steps of the method according to any one of claims 1 to 8.
10. A computer device, characterized in that, The computer device includes a memory and a processor, the memory being used to store a set of computer instructions; when the processor in the computer device executes the set of computer instructions, the processor performs the operational steps of the method according to any one of claims 1 to 8.