Planning model generation method, device, electronic device and storage medium
By obtaining historical business flow charts and applying field-driven design and Deming Ring design rules, the planning model is generated, and the problem of repeated construction of training plans in the core domain of increasing staff is solved, achieving the convergence of cross-channel systems and the generation of planning models.
Patent Information
- Application Number
- CN202210739758.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-28
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2042-06-28
AI Technical Summary
In the prior art, there are problems of duplicate construction in the training plan for the increase target and training system in the increase core area.
By obtaining historical business flow charts, extracting the components of the plan, using domain-driven design rules to organize event maps, perform vocabulary analysis and boundary division, modeling in combination with Daiminghuan design rules, and generating a plan model.
The problem of cross-channel system reuse is solved, and the convergence of different fields and the generation of planning models is realized.
Smart Images

Figure CN115099229B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to, but are not limited to, the field of system development, and in particular to a planning model generation method, device, electronic device, and computer-readable storage medium. Background Art
[0002] Planning is an essential step before any task or action is initiated. Responsible individuals must develop plans based on a series of goals to be achieved within the current business. During the execution of the plans, they must monitor relevant metrics and progress to ensure timely risk warnings and plan adjustments. In real-world business scenarios, for example, the core area of headcount development involves setting recruitment goals, and the training system involves planning training plans. These systems share a similar underlying architecture, leading to duplication of effort. Summary of the Invention
[0003] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
[0004] In order to solve the problems mentioned in the above background technology, the embodiments of the present application provide a planning model generation method, device, electronic device and computer-readable storage medium, which can solve the problem of duplicate construction.
[0005] In a first aspect, an embodiment of the present application provides a method for generating a planning model, the method comprising:
[0006] Obtain historical business process diagrams;
[0007] Extracting elements from the historical business process diagram to obtain multiple plan components;
[0008] Arranging the plurality of plan components based on preset domain-driven design rules to obtain a plan event map;
[0009] Performing a first analysis on the planned event map to obtain a plurality of domain words;
[0010] Performing boundary division processing on a plurality of domain words to obtain bounded context information;
[0011] A planning model is obtained by performing modeling processing according to the preset Deming cycle design rules, the domain vocabulary and the bounded context information.
[0012] According to the plan model generation method of the embodiment provided in the present application, there are at least the following beneficial effects: first, a historical business process diagram is obtained; then, elements are extracted from the historical business process diagram to obtain multiple plan components; then, multiple plan components are sorted out based on preset domain-driven design rules to obtain a plan event map; then, a first analysis process is performed on the plan event map to obtain multiple domain vocabularies; then, boundary division processing is performed on multiple domain vocabularies to obtain bounded context information; finally, modeling processing is performed according to the preset Deming cycle design rules, domain vocabulary and bounded context information to obtain a plan model; through the above technical solution, different fields are integrated to solve the problem of cross-channel system reuse.
[0013] According to some embodiments of the present application, extracting elements from the historical business process diagram to obtain multiple plan components includes:
[0014] Splitting the historical business process diagram to obtain business component texts;
[0015] A second analysis process is performed on the business component text to obtain a plurality of plan component elements.
[0016] According to some embodiments of the present application, the step of arranging the plurality of plan components based on preset domain-driven design rules to obtain a plan event map includes:
[0017] Dividing and processing the plurality of plan components to obtain event information and command information;
[0018] The event information and the command information are arranged according to preset business process rules to obtain the planned event map.
[0019] According to some embodiments of the present application, the first analysis processing of the planned event map to obtain multiple domain words includes:
[0020] Performing vocabulary extraction processing on the event information and the command information in the planned event map to obtain a plurality of keywords;
[0021] Matching processing is performed on the multiple keywords to obtain the multiple field words.
[0022] According to some embodiments of the present application, performing boundary division processing on the plurality of domain words to obtain bounded context information includes:
[0023] Create multiple domain boundaries based on preset business function rules;
[0024] Performing semantic analysis on each of the domain words to obtain corresponding semantic information;
[0025] The bounded context information is obtained by dividing each of the domain words into the corresponding domain boundaries according to the semantic information.
[0026] According to some embodiments of the present application, the modeling process based on the preset Deming cycle design rules, the domain vocabulary, and the bounded context information to obtain the planning model includes:
[0027] Identify and process the domain vocabulary and the bounded context information to obtain aggregate information and aggregate roots;
[0028] An initial functional module is created based on the aggregation information and the aggregate root;
[0029] Dividing the initial functional module into a planning module, an implementation module, a checking module and a correction module according to the Deming cycle design rule;
[0030] Based on the planning module, the implementation module, the checking module and the correction module, the domain vocabulary and the code objects in the code model are mapped to obtain the planning model.
[0031] According to some embodiments of the present application, the creating an initial functional module based on the aggregation information and the aggregate root includes:
[0032] Performing a third analysis on the aggregated information to obtain business-related information;
[0033] According to the business association information, the domain vocabulary and the aggregate root are associated to obtain the initial functional module.
[0034] In a second aspect, an embodiment of the present application further provides a plan model generation device, the device comprising:
[0035] The first processing module is used to obtain a historical business process diagram;
[0036] A second processing module is used to extract elements from the historical business process diagram to obtain multiple plan components;
[0037] A third processing module is used to organize the plurality of plan components based on preset domain-driven design rules to obtain a plan event map;
[0038] A fourth processing module is configured to perform a first analysis on the planned event map to obtain a plurality of domain words;
[0039] A fifth processing module, configured to perform boundary demarcation processing on the plurality of domain words to obtain bounded context information;
[0040] The sixth processing module is used to perform modeling processing according to the preset Deming cycle design rules, the domain vocabulary and the bounded context information to obtain a planning model.
[0041] In a third aspect, an embodiment of the present application further provides an electronic device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the planning model generation method as described in the first aspect above is implemented.
[0042] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to execute the planning model generation method described in the first aspect above.
[0043] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. The purposes and other advantages of the present application can be achieved and obtained through the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The accompanying drawings are used to provide a further understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.
[0045] Figure 1 This is a flowchart of a planning model generation method provided by one embodiment of the present application;
[0046] Figure 2 It is a flow chart for generating plan components in a plan model generation method provided by one embodiment of the present application;
[0047] Figure 3 This is a flowchart of generating a plan event map in a plan model generation method provided by an embodiment of the present application;
[0048] Figure 4 This is a flowchart of generating domain vocabulary in a planning model generation method provided by one embodiment of the present application;
[0049] Figure 5 This is a flowchart of generating bounded context information in a plan model generation method provided by an embodiment of the present application;
[0050] Figure 6 This is a flowchart of generating a plan model in a plan model generating method provided by an embodiment of the present application;
[0051] Figure 7This is a flowchart of generating an initial functional module in a planning model generation method provided by an embodiment of the present application;
[0052] Figure 8 is a schematic diagram of a planning model generating device provided by an embodiment of the present application;
[0053] Figure 9 This is a schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0055] It should be noted that although the device schematics illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps shown or described may be performed in a sequence that differs from the module divisions in the device or the sequence in the flowcharts. The terms "first," "second," and so on, used in the specification, claims, and drawings, are used to distinguish similar items and are not necessarily used to describe a specific sequence or precedence.
[0056] It should be noted that, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0057] The embodiments of the present application can acquire and process relevant data based on artificial intelligence technology. Artificial Intelligence (AI) is the theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to achieve optimal results.
[0058] AI is a new technical discipline that studies and develops theories, methods, technologies, and application systems for simulating, extending, and expanding human intelligence. Artificial intelligence is a branch of computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. Research in this field includes robotics, speech recognition, image recognition, natural language processing, and expert systems. Artificial intelligence can simulate the information processes of human consciousness and thinking. It also refers to the theories, methods, technologies, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results.
[0059] Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, robotics, biometrics, speech processing, natural language processing, and machine learning / deep learning.
[0060] Artificial intelligence, or AI, is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to achieve optimal results.
[0061] The servers involved in artificial intelligence technology can be independent servers or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), as well as big data and artificial intelligence platforms.
[0062] The present application provides a plan model generation method, device, electronic device and computer-readable storage medium, which first obtains a historical business process diagram; then extracts elements from the historical business process diagram to obtain multiple plan components; then, based on preset domain-driven design rules, the multiple plan components are sorted to obtain a plan event map; then, a first analysis process is performed on the plan event map to obtain multiple domain vocabularies; then, the multiple domain vocabularies are subjected to boundary division processing to obtain bounded context information; finally, modeling processing is performed according to preset Deming cycle design rules, domain vocabularies and bounded context information to obtain a plan model; through the above technical solution, different domains are integrated to solve the problem of cross-channel system reuse.
[0063] The planning model generation method provided in the embodiment of the present application relates to the field of system development technology. The planning model generation method provided in the embodiment of the present application can be applied to a terminal, can be applied to a server side, and can also be software running in a terminal or a server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, or can be configured as a server cluster or a distributed system composed of multiple physical servers, or can be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the planning model generation method, etc., but is not limited to the above forms.
[0064] The present application can be used in many general or special 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, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.
[0065] It should be noted that in each specific embodiment of the present application, when it comes to the need to perform relevant processing based on data related to the user's identity or characteristics, such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of such data will comply with the relevant laws, regulations, and standards of the relevant countries and regions. In addition, when the embodiment of the present application needs to obtain the user's sensitive personal information, the user's separate permission or consent will be obtained through a pop-up window or by jumping to a confirmation page. After clearly obtaining the user's separate permission or consent, the necessary user-related data for the normal operation of the embodiment of the present application will be obtained.
[0066] The embodiments of the present application are further described below with reference to the accompanying drawings.
[0067] like Figure 1 As shown, Figure 1This is a flowchart of a plan model generation method provided by an embodiment of the present application, which includes but is not limited to steps S100 to S600.
[0068] Step S100, obtaining a historical business process diagram;
[0069] Step S200, extracting elements from the historical business process diagram to obtain multiple plan components;
[0070] Step S300: Arrange multiple plan components based on preset domain-driven design rules to obtain a plan event map;
[0071] Step S400, performing a first analysis process on the planned event map to obtain a plurality of domain words;
[0072] Step S500, performing boundary division processing on multiple domain words to obtain bounded context information;
[0073] Step S600 : performing modeling processing according to preset Deming cycle design rules, domain vocabulary and bounded context information to obtain a planning model.
[0074] It should be noted that first, the historical business process diagram is obtained; then, the elements of the historical business process diagram are extracted to obtain multiple plan components; then, based on the preset domain-driven design rules, the multiple plan components are sorted to obtain a plan event map; then, the plan event map is subjected to a first analysis and processing to obtain multiple domain vocabularies; then, the boundaries of the multiple domain vocabularies are divided to obtain bounded context information; finally, modeling is performed according to the preset Deming cycle design rules, domain vocabularies and bounded context information to obtain a plan model; through the above technical solution, different fields are integrated to solve the problem of cross-channel system reuse.
[0075] It should be noted that the historical business process diagram is the previous business process diagram, which includes the various plan components that make up the historical business process diagram; because the historical business process diagram contains the relevant plan components in the previous activities, it is possible to extract the elements from the historical business process diagram to obtain the plan components, which is a prerequisite for the subsequent creation of the plan model. For example, the plan components include creating a draft of the overall monthly increase in headcount, creating a draft of the overall monthly increase in headcount, editing a draft of the overall monthly increase in headcount, editing a draft of the overall monthly increase in headcount, issuing the overall monthly increase in headcount, issuing the overall monthly increase in headcount, creating a draft of the monthly increase in headcount, creating a draft of the monthly increase in headcount, editing the monthly increase in headcount, editing the monthly increase in headcount, issuing the monthly increase in headcount, issuing the monthly increase in headcount, automatically issuing the monthly increase in headcount, and automatically issuing the monthly increase in headcount.
[0076] It is worth noting that the historical business process diagram is composed of multiple plan components; it is understandable that all elements that appear in the historical business process diagram can be identified as plan components.
[0077] It's worth noting that Domain-Driven Design (DDD) is a software development approach that addresses complex requirements by connecting implementations to a continuously evolving model. The premise of DDD is to prioritize the project's core domain and domain logic; to prioritize complex design within the bounded domain model; to initiate a creative collaboration between technical and domain experts to iteratively refine conceptual models to solve specific domain problems; and to prioritize the concept of domain-driven design, where system design is driven by the domain model, rather than by a stored data dictionary. The domain model is an abstraction of the business model, and DDD is a way to translate the business model into a system architecture design.
[0078] It's worth noting that DDD is a domain-centric approach to complex business systems. Alternatively, it can be described as a domain-logical design methodology for business systems that controls design quality. Event storming is a great practical approach for exploring business domains. The output of event storming corresponds to the unified language of DDD and the domain analysis in strategic design, as well as the delineation of bounded contexts.
[0079] It is worth noting that the "activity center" is built using the domain-driven design methodology, which subdivides the business domain according to certain rules, limits the problems to be solved within specific boundaries, conducts fine-grained analysis of the "activity" subdomain, identifies shared capabilities in the "activity" business process, and precipitates these shared capabilities into general capabilities. Through the precipitated general capabilities, service reuse is achieved, achieving the goal of reducing costs and increasing efficiency.
[0080] It's important to note that the Deming Cycle is also known as the PDCA cycle. P stands for Plan, D for Design, C for Check, and A for Act. Through the continuous cycle of "Plan - Design - Check - Act," the results of the inspections are processed and summarized. Successful experiences are recognized and standardized, or work instructions are developed for future implementation. Lessons from failures are also learned to prevent recurrence. Unresolved issues should be brought to the next PDCA cycle for resolution. PDCA stands for Plan, Do, Check, and Act. The PDCA cycle is a scientific process for quality management that follows this sequential, repetitive cycle. The operation of total quality management activities is inseparable from the rotation of the management cycle. This means that all efforts to improve and resolve quality issues and achieve excellence in achieving advanced standards must utilize the scientific PDCA cycle. Whether improving product quality or reducing defective products, the goal must first be established: to what extent should quality be improved and the defect rate reduced? There must be a plan; this plan not only includes the goals, but also the measures needed to achieve the goals; after the plan is formulated, it is necessary to check according to the plan to see whether the expected results have been achieved and whether the expected goals have been achieved; find out the problems and causes through inspection; finally, deal with them, and formulate the experiences and lessons into standards and form systems.
[0081] In some embodiments, as Figure 2 As shown, the above step S200 may include but is not limited to steps S210 to S220.
[0082] Step S210, splitting the historical business process diagram to obtain business component texts;
[0083] Step S220: performing a second analysis on the business component text to obtain a plurality of plan components.
[0084] It should be noted that in order to generate plan components, the historical business process diagram must first be split to obtain a business component text; then the business component text must be subjected to a second analysis process to obtain multiple plan components.
[0085] It is understandable that by splitting a historical business process diagram, the business component texts that make up the historical business process diagram can be obtained, and then a second analysis of the business component texts can be performed to obtain multiple plan components. For example, by splitting a historical business process diagram, the business component texts can be obtained, and the business component texts include judgment conditions for certain conditions and conventional names required by certain process diagrams. After a second analysis of the business component texts obtained above, the above-mentioned nouns can be eliminated, thereby obtaining multiple plan components. In the process of performing the second analysis of the business component texts, keyword recognition technology can be used; keyword recognition technology can be used to identify certain words, and if these words have been listed as non-element words, they will be eliminated.
[0086] In some embodiments, as Figure 3 As shown, the above step S300 may include but is not limited to steps S310 to S320.
[0087] Step S310, dividing and processing the multiple plan components to obtain event information and command information;
[0088] Step S320 , sorting the event information and command information according to preset business process rules to obtain a planned event map.
[0089] It should be noted that in the process of generating a planned event map, the event information and command information can be obtained by first dividing and processing multiple plan components; then the corresponding event information and command information are sorted and processed according to the preset business process rules to obtain the planned event map.
[0090] It is worth noting that by dividing and processing multiple plan components, event information and command information can be obtained; event information and command information are two important elements that constitute the plan event map; for example, the event information in the monthly staff increase event map may include the overall monthly staff increase draft has been created, the overall monthly staff increase draft has been edited, the overall monthly staff increase has been issued, the monthly staff increase draft has been created, the monthly staff increase has been edited, the monthly staff increase has been issued, and the monthly staff increase has been automatically issued; the command information in the monthly staff increase event map may include creating the overall monthly staff increase draft, editing the overall monthly staff increase draft, issuing the overall monthly staff increase, creating the monthly staff increase draft, editing the monthly staff increase, issuing the monthly staff increase, and automatically issuing the monthly staff increase.
[0091] It can be understood that event information and command information can be sorted and processed according to business process rules to form a corresponding planned event map; for example, for the monthly headcount increase event map, the overall monthly headcount increase draft has been created and connected to the editing of the overall monthly headcount increase draft, the overall monthly headcount increase draft has been edited and connected to the issuance of the overall monthly headcount increase, the overall monthly headcount increase has been issued and connected to the creation of the monthly headcount increase draft, the monthly headcount increase draft has been created and connected to the editing of the monthly headcount, and the monthly headcount increase has been edited and connected to the issuance of the monthly headcount and the automatic issuance of the monthly headcount.
[0092] In some embodiments, as Figure 4 As shown, the above step S400 may include but is not limited to steps S410 to S420.
[0093] Step S410, performing vocabulary extraction processing on the event information and command information in the planned event map to obtain multiple keywords;
[0094] Step S420: Matching the multiple keywords to obtain multiple domain words.
[0095] It should be noted that in order to obtain domain vocabulary, the event information and command information in the planned event map can be subjected to vocabulary extraction processing to obtain multiple keywords; and multiple domain vocabulary can be obtained by matching multiple keywords.
[0096] It is understandable that multiple keywords can be obtained by performing vocabulary extraction processing on the event information and command information in the planned event map; for example, the event information in the monthly increase event map includes the overall monthly increase draft created, the overall monthly increase draft edited, the overall monthly increase issued, the monthly increase draft created, the monthly increase edited, the monthly increase issued, and the monthly increase automatically issued; the command information in the monthly increase event map includes the overall monthly increase draft created, the overall monthly increase draft edited, the monthly increase issued, and the monthly increase automatically issued. Issue the overall monthly staff increase, create a monthly staff increase draft, edit the monthly staff increase, issue the monthly staff increase and automatically issue the monthly staff increase. After extracting the vocabulary of the above plan components, the staff increase operation can be obtained. Matching the staff increase operation can obtain the domain vocabulary of the staff increase target; for the actual staff increase value written and the actual staff increase value written, the keyword "actual staff increase value" can be obtained by extracting the vocabulary. Matching the actual staff increase value can obtain the domain vocabulary of the actual staff increase value.
[0097] In some embodiments, as Figure 5 As shown, the above step S500 may include but is not limited to steps S510 to S530.
[0098] Step S510, creating multiple domain boundaries according to preset business function rules;
[0099] Step S520, performing semantic analysis on the vocabulary in each field to obtain corresponding semantic information;
[0100] In step S530 , each domain vocabulary is divided into corresponding domain boundaries according to the semantic information to obtain bounded context information.
[0101] It should be noted that, first, multiple domain boundaries are created according to the preset business function rules; then, semantic analysis and processing are performed on the vocabulary in each domain to obtain the corresponding semantic information; finally, the vocabulary in each domain is divided into the corresponding domain boundaries according to the semantic information to obtain the bounded context information.
[0102] It is worth noting that multiple domain boundaries can be created based on business function rules. For example, for a planning model, the planning management boundary, the recruitment plan management boundary, the face-to-face interview management boundary, the participant management boundary, etc. can be created according to the business function rules. Then, semantic analysis is performed on the vocabulary in each domain to obtain the corresponding semantic information. Finally, the vocabulary in each domain is divided and processed according to the semantic information corresponding to each domain vocabulary. The bounded context information of each domain is obtained by dividing the vocabulary in each domain into the corresponding domain boundaries. For example, the bounded context information of face-to-face interview management can include domain vocabulary such as personal entry customer list, locked customers, and face-to-face interview QR code.
[0103] In some embodiments, as Figure 6 As shown, the above step S600 may include but is not limited to steps S610 to S640.
[0104] Step S610: Identify and process domain vocabulary and bounded context information to obtain aggregate information and aggregate roots;
[0105] Step S620: creating an initial functional module based on the aggregation information and the aggregate root;
[0106] Step S630, dividing the initial functional module into a planning module, an implementation module, a checking module, and a correction module according to the Deming cycle design rule;
[0107] Step S640 : Based on the planning module, the implementation module, the checking module, and the correction module, the domain vocabulary is mapped to the code objects in the code model to obtain a planning model.
[0108] It should be noted that by identifying and processing the domain vocabulary and bounded context information, aggregate information and aggregate roots can be obtained; then, based on the aggregate information and aggregate roots, the initial functional module can be created; then, according to the Deming circle design rules, the initial functional module can be divided to obtain the planning module, implementation module, inspection module and correction module; finally, based on the planning module, implementation module, inspection module and correction module, the domain vocabulary is mapped to the code objects in the code model to obtain the planning model.
[0109] For example, plans, plan issuance rules, and relationships between plans and entities all belong to plan aggregation, while goals, leaf goals, atomic indicators, derived indicators, etc. belong to goal aggregation.
[0110] It should be noted that aggregates belong to the domain layer in the DDD layered architecture. The domain layer contains multiple aggregates, which jointly implement the core business logic. The entities within the aggregate use the hyperactive model to implement individual business capabilities and high cohesion of business logic; business logic across multiple entities is implemented through domain services, and business logic across multiple aggregates is implemented through application services; aggregates are composed of entities and value objects that are closely related to business and logic. Aggregates are the basic units of data modification and persistence, and one aggregate corresponds to the persistence of one data; aggregates are referenced through aggregate roots. If you need to access entities in other aggregates, first access the aggregate root and then navigate to the entities inside the aggregate; that is, external objects cannot directly access entities within the aggregate. Aggregate root: If we compare an aggregate to an organization, the aggregate root is the person in charge of the organization. The aggregate root is also called the root entity. It is not only an entity, but also the manager of the entity; Responsibilities: As an entity, it has its own business attributes, business behaviors, and business logic; as the manager of the aggregate, it is responsible for coordinating entities and value objects within the aggregate to complete the common business logic in accordance with fixed business rules; Between aggregates: It is the external interface of the aggregate, accepting external requests and tasks in the form of aggregate root ID to achieve business collaboration between aggregates in the context; aggregates are associated and referenced through aggregate roots. If you need to access entities in other aggregates, first access the aggregate root, and then navigate to the entities inside the aggregate; that is, external objects cannot directly access entities within the aggregate.
[0111] It is worth noting that the characteristics of aggregates are: high cohesion and low coupling. It is the lowest boundary in the domain model and can be used as the smallest unit for splitting microservices. However, it is not recommended to correspond to a single microservice unless there are extreme performance requirements. A microservice can contain multiple aggregates. The boundary between aggregates is the most natural logical boundary. With this logical boundary, it can be used as the basis for splitting and combining microservices. Characteristics of aggregate roots: Aggregate roots are entities with unique identifiers and independent life cycles. An aggregate has only one aggregate root. Aggregate roots use reference dependencies to organize and coordinate entities and value objects within the aggregate. Aggregate roots collaborate with each other through unique IDs.
[0112] It's important to note that the Deming Cycle is also known as the PDCA cycle. P stands for Plan, D for Design, C for Check, and A for Act. Through the continuous cycle of "Plan - Design - Check - Act," the results of the inspections are processed and summarized. Successful experiences are recognized and standardized, or work instructions are developed for future implementation. Lessons from failures are also learned to prevent recurrence. Unresolved issues should be brought to the next PDCA cycle for resolution. PDCA stands for Plan, Do, Check, and Act. The PDCA cycle is a scientific process for quality management that follows this sequential, repetitive cycle. The operation of total quality management activities is inseparable from the rotation of the management cycle. This means that all efforts to improve and resolve quality issues and achieve excellence in achieving advanced standards must utilize the scientific PDCA cycle. Whether improving product quality or reducing defective products, the goal must first be established: to what extent should quality be improved and the defect rate reduced? There must be a plan; this plan not only includes the goals, but also the measures needed to achieve the goals; after the plan is formulated, it is necessary to check according to the plan to see whether the expected results have been achieved and whether the expected goals have been achieved; find out the problems and causes through inspection; finally, deal with them, and formulate the experiences and lessons into standards and form systems.
[0113] It is worth noting that domain modeling usually adopts event storming, using methods such as use case analysis, scenario analysis and user journey analysis. Through brainstorming, all possible business behaviors and events are listed, and then the domain objects that produce these behaviors are found. The relationship between domain objects is sorted out, and the aggregate root is found. The entities and value objects closely related to the aggregate root business are found, and then the aggregate root, entity and value object are combined to build the aggregate.
[0114] In some embodiments, as Figure 7As shown, the above step S620 may include but is not limited to steps S621 to S622.
[0115] Step S621, performing a third analysis on the aggregated information to obtain business-related information;
[0116] Step S622: According to the business association information, the domain vocabulary and the aggregate root are associated to obtain the initial functional module.
[0117] It should be noted that, first, the business association information can be obtained by performing a third analysis on the aggregate information; then, based on the business association information, the domain vocabulary and the aggregate root are associated to obtain the initial functional module.
[0118] It is worth noting that the business association information can be obtained by performing a third analysis on the aggregate information, wherein the business association information is used to characterize the connection relationship between the vocabulary in each field. A selected field vocabulary is used as the aggregate root, and then different field vocabulary can be connected to obtain the corresponding initial functional module.
[0119] In addition, if Figure 8 As shown, an embodiment of the present application further provides a plan model generating device 10, comprising:
[0120] The first processing module 100 is used to obtain a historical business process diagram;
[0121] The second processing module 200 is used to extract elements from the historical business process diagram to obtain multiple plan components;
[0122] The third processing module 300 is used to organize the plurality of plan components based on preset domain-driven design rules to obtain a plan event map;
[0123] A fourth processing module 400 is configured to perform a first analysis on the planned event map to obtain a plurality of domain terms;
[0124] A fifth processing module 500 is configured to perform boundary demarcation processing on the plurality of domain words to obtain bounded context information;
[0125] The sixth processing module 600 is configured to perform modeling processing according to the preset Deming cycle design rules, the domain vocabulary, and the bounded context information to obtain a planning model.
[0126] In one embodiment, a historical business process diagram is first obtained; then, elements are extracted from the historical business process diagram to obtain multiple plan components; then, based on preset domain-driven design rules, the multiple plan components are sorted to obtain a plan event map; then, a first analysis process is performed on the plan event map to obtain multiple domain vocabularies; then, the multiple domain vocabularies are subjected to boundary division processing to obtain bounded context information; finally, modeling processing is performed according to the preset Deming cycle design rules, domain vocabularies and bounded context information to obtain a plan model; through the above technical solution, different domains are integrated to solve the problem of cross-channel system reuse.
[0127] The specific implementation of the plan model generating device is basically the same as the specific embodiment of the above-mentioned plan model generating method, and will not be repeated here.
[0128] In addition, if Figure 9 As shown, an embodiment of the present application further provides an electronic device 700 , which includes: a memory 710 , a processor 720 , and a computer program stored in the memory 710 and executable on the processor 720 .
[0129] The processor 720 and the memory 710 may be connected via a bus or other means.
[0130] The non-transient software program and instructions required to implement the plan model generation method of the above embodiment are stored in the memory 710. When executed by the processor 720, the plan model generation method of each embodiment is executed, for example, the above described plan model generation method is executed. Figure 1 Method steps S100 to S600, Figure 2 Method steps S210 to S220, Figure 3 Method steps S310 to S320, Figure 4 Steps S410 to S420 of the method, Figure 5 Steps S510 to S530 of the method, Figure 6 Method steps S610 to S640 and Figure 7 Method steps S621 to S622 in .
[0131] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0132] In addition, an embodiment of the present application further provides a computer-readable storage medium, which stores computer-executable instructions. The computer-executable instructions are executed by a processor 720 or a controller, for example, by a processor 720 in the above-mentioned device embodiment, so that the processor 720 can execute the plan model generation method in the above-mentioned embodiment, for example, execute the above-mentioned Figure 1 Method steps S100 to S600, Figure 2 Steps S210 to S220 of the method, Figure 3 Method steps S310 to S320, Figure 4 Steps S410 to S420 of the method, Figure 5 Steps S510 to S530 of the method, Figure 6 Method steps S610 to S640 and Figure 7 Method steps S621 to S622 in .
[0133] The above embodiments may be used in combination, and modules with the same name in different embodiments may be the same or different.
[0134] The foregoing description describes specific embodiments of the present application, and other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in an order different from that described in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0135] The various embodiments in this application are described in a progressive manner. Similar portions between the various embodiments can be referenced to each other, and each embodiment focuses on the differences from the other embodiments. In particular, the device, equipment, and computer-readable storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For relevant portions, refer to the descriptions of the method embodiments.
[0136] The apparatus, device, computer-readable storage medium and method provided in the embodiments of the present application correspond to each other. Therefore, the apparatus, device and non-volatile computer storage medium also have similar beneficial technical effects as the corresponding method. Since the beneficial technical effects of the method have been described in detail above, the beneficial technical effects of the corresponding apparatus, device and computer storage medium will not be repeated here.
[0137] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures like diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD through their own programming, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly done using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, called a hardware description language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.
[0138] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules that implement the method and structures within the hardware component.
[0139] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0140] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing the embodiments of the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0141] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the embodiments of the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0142] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0143] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0144] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0145] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0146] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0147] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0148] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0149] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can represent: a, b, c, a and b, a and c, b and c or a and b and c, where a, b, c can be single or multiple.
[0150] Embodiments of the present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. Embodiments of the present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0151] The various embodiments in this application are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so the description is relatively simple. For relevant parts, refer to the partial description of the method embodiment.
[0152] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application.
Claims
1. A planning model generation method, characterized in that: The method comprises: Obtain historical business process diagrams; Extracting elements from the historical business process diagram to obtain multiple plan components; Arranging the plurality of plan components based on preset domain-driven design rules to obtain a plan event map; Performing a first analysis on the planned event map to obtain a plurality of domain words; Performing boundary division processing on a plurality of domain words to obtain bounded context information; A planning model is obtained by performing modeling processing according to the preset Deming cycle design rules, the domain vocabulary and the bounded context information.
2. The planning model generation method according to claim 1, characterized in that: The extracting of elements from the historical business process diagram to obtain multiple plan components includes: Splitting the historical business process diagram to obtain business component texts; A second analysis process is performed on the business component text to obtain a plurality of plan component elements.
3. The planning model generation method according to claim 1, characterized in that: The plan event map is obtained by arranging the plurality of plan components based on the preset domain-driven design rules, including: Dividing and processing the plurality of plan components to obtain event information and command information; The event information and the command information are arranged according to preset business process rules to obtain the planned event map.
4. The planning model generation method according to claim 3, characterized in that: The first analysis process of the planned event map is performed to obtain a plurality of domain words, including: Performing vocabulary extraction processing on the event information and the command information in the planned event map to obtain a plurality of keywords; Matching processing is performed on the multiple keywords to obtain the multiple field words.
5. The planning model generation method according to claim 1, characterized in that: The boundary division process of the plurality of domain words to obtain bounded context information includes: Create multiple domain boundaries based on preset business function rules; Performing semantic analysis on each of the domain words to obtain corresponding semantic information; The bounded context information is obtained by dividing each of the domain words into the corresponding domain boundaries according to the semantic information.
6. The planning model generation method according to claim 1, characterized in that: The planning model is obtained by modeling according to the preset Deming cycle design rules, the domain vocabulary and the bounded context information, including: Identify and process the domain vocabulary and the bounded context information to obtain aggregate information and aggregate roots; An initial functional module is created based on the aggregation information and the aggregate root; Dividing the initial functional module into a planning module, an implementation module, a checking module and a correction module according to the Deming cycle design rule; Based on the planning module, the implementation module, the checking module and the correction module, the domain vocabulary and the code objects in the code model are mapped to obtain the planning model.
7. The planning model generation method according to claim 6, characterized in that: The initial functional module is created based on the aggregation information and the aggregate root, including: Performing a third analysis on the aggregated information to obtain business-related information; According to the business association information, the domain vocabulary and the aggregate root are associated to obtain the initial functional module.
8. A planning model generating device, characterized in that: The device comprises: The first processing module is used to obtain a historical business process diagram; A second processing module is used to extract elements from the historical business process diagram to obtain multiple plan components; A third processing module is configured to organize the plurality of plan components based on preset domain-driven design rules to obtain a plan event map; A fourth processing module is configured to perform a first analysis on the planned event map to obtain a plurality of domain words; A fifth processing module, configured to perform boundary demarcation processing on the plurality of domain words to obtain bounded context information; The sixth processing module is used to perform modeling processing according to the preset Deming cycle design rules, the domain vocabulary and the bounded context information to obtain a planning model.
9. An electronic device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the planning model generation method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium storing computer-executable instructions, characterized in that: The computer-executable instructions are used to execute the planning model generation method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Online help and learn system and construction method thereof
CN101719158A
Micro-service decomposition method based on domain-driven design and service panoramic event storm
CN113326028A