Assembly-based large-scale software construction method and device, and medium
Through the large-scale software construction method based on assembly, the problems of high operation and maintenance costs and difficult software optimization and adjustment in traditional software deployment methods are solved, and the standardization and flexible adjustment of software functions are realized, reducing operation and maintenance and labor costs.
Patent Information
- Application Number
- PCT/CN2024/101183
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-23
- Filing Date
- 2024-06-25
- Publication Date
- 2025-05-30
AI Technical Summary
Traditional software deployment methods lead to high operation and maintenance costs, difficult to standardize software quality problems, and difficult software optimization and adjustment. Secondary development depends on a few people to complete, resulting in waste of human resources.
A large-scale software construction method based on assembly is proposed. By determining common functions and variable functions in application scenarios, the application service library and the pre-assembled business template library are encapsulated based on the basic element dimension, standard applications and standard cores are constructed, and standard cores are assembled through extended components and end-to-end processes.
It has achieved the separation of large-scale software standard functions and extended functions, reduced the demand for non-standard secondary development, improved the software quality stability, standardization degree and deployment efficiency, reduced operation and maintenance and labor costs, and supported flexible adjustment and optimization of business functions.
Smart Images

Figure CN2024101183_30052025_PF_FP_ABST
Abstract
Description
A large-scale software construction method, device and medium based on assembly
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 23, 2023, with application number 202311566876.8 and invention name “A large-scale software construction method, device and medium based on assembly”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of electronic digital data processing, and in particular to a large-scale software construction method, device and medium based on assembly. Background Art
[0003] Traditional software deployment typically involves deploying complete packages of software. This requires extensive, non-standard secondary development tailored to industry characteristics and individual customer needs. This results in high post-deployment O&M costs for both software service providers and enterprises using the software. Quality issues like software downtime are difficult to troubleshoot in a standardized manner, and the number and capabilities of O&M personnel are high. Tight coupling also makes software optimization and adjustment difficult, making it difficult to ensure efficient, standardized delivery and flexible optimization.
[0004] At the same time, secondary development work is often completed independently by a few people, and the relevant software logic is highly dependent on specific developers. Maintenance personnel need to invest a lot of time when conducting quality inspections or software upgrades, resulting in unnecessary waste of human resources.
[0005] Summary of the Invention
[0006] To solve the above problems, this application proposes a large-scale software construction method based on assembly, including:
[0007] Identify all application scenarios corresponding to large-scale software, and for each application scenario, determine the corresponding execution function in the application scenario, and based on the execution functions in each application scenario, extract the common functions and variable functions corresponding to the application scenario;
[0008] For the common functions, the corresponding basic element dimensions are determined, and an application service library and a pre-assembled business template library are obtained by encapsulating the preset multiple basic element dimensions, and a standard application is obtained by assembling the application service library and the pre-assembled business template library;
[0009] Obtaining a standard kernel corresponding to the large-scale software according to the basic element dimension, the application service library, the pre-assembled business template library, and the standard application;
[0010] Based on multiple component types pre-set according to the industry characteristics corresponding to each application scenario and the personalized needs of customers, the variable functions are classified and extracted to obtain corresponding extended components;
[0011] Building an end-to-end process corresponding to the large-scale software based on the external input nodes or external output nodes of the large-scale software;
[0012] The large-scale software is constructed by assembling the standard kernel, the extended components and the end-to-end process.
[0013] On the other hand, the present application also proposes a large-scale software construction device based on assembly, comprising:
[0014] at least one processor; and,
[0015] a memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores instructions that can be executed by the at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to perform the assembly-based large-scale software construction method as described in the above example.
[0017] On the other hand, the present application also proposes a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as: the assembly-based large-scale software construction method described in the above example.
[0018] The large-scale software construction method based on assembly proposed in this application can bring the following beneficial effects:
[0019] Through the large-scale software construction method of a standard core + extension components, the separation of standard functions and extension functions of large-scale software is achieved. Stable standard functions can be continuously refined and optimized within the standard core, while flexible extension functions can be selectively assembled. This reduces the excessive non-standard secondary development required by software service providers during the software deployment process, improves software quality stability, standardization, and deployment efficiency, reduces operation and maintenance costs and labor costs for software service providers and software users, and supports flexible adjustment and optimization of business functions after software delivery. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0021] FIG1 is a flow chart of a large-scale software construction method based on assembly in an embodiment of the present application;
[0022] FIG2 is a schematic diagram of a method for constructing large-scale software based on assembly in a scenario according to an embodiment of the present application;
[0023] FIG3 is a schematic diagram of a large-scale software construction device based on assembly in an embodiment of the present application. DETAILED DESCRIPTION
[0024] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0025] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.
[0026] As shown in FIG1 , the embodiment of the present application provides a large-scale software construction method based on assembly, including:
[0027] S101: Determine all application scenarios corresponding to the large-scale software, and for each application scenario, determine the execution function corresponding to the application scenario, and based on the execution function in each application scenario, extract the common functions and variable functions corresponding to the application scenario.
[0028] Application scenarios primarily encompass the corresponding application industry and customer needs. Different application industries typically encompass diverse businesses and therefore may require the execution of different functions, such as the use of different equipment, processes, and computing models.
[0029] Common functions refer to functions that need to be included in all application scenarios. For example, they can be form controls, process controls, and other functions. Regardless of the industry or customer needs, these execution functions are required to control forms and processes.
[0030] Variable functions refer to functions that are required in different application scenarios due to industry characteristics or customer needs, and are not required in all industries.
[0031] Based on this, all execution functions in each application scenario are determined. Among all execution functions, the execution functions included in application scenarios exceeding a preset proportion (for example, 95%) are used as common functions corresponding to the application scenario, and the remaining execution functions are used as variable functions corresponding to the application scenario.
[0032] S102: For the common functions, corresponding basic element dimensions are determined, and an application service library and a pre-assembled business template library are obtained by encapsulating the preset multiple basic element dimensions, and a standard application is obtained by assembling the application service library and the pre-assembled business template library.
[0033] As shown in Figure 2, the foundational element dimension is used to describe foundational elements across multiple dimensions, including technical components, business objects, domain models, and business processes. This dimension is used to describe common functionality across different dimensions. This foundational element dimension allows for the encapsulation of application service libraries and pre-assembled business template libraries. The application service library includes services to support the implementation of various functions within the software, while the pre-assembled business template library contains business templates that enable the rapid assembly of business modules within the software. Further assembly of the application service library and pre-assembled business template library yields standard applications (for example, standard ERP applications) that serve as sub-applications within larger software.
[0034] Technical components describe general technology components, including permission checks, logging, form controls, process controls, rule controls, and help controls. Business objects describe specific business components, including sales orders, project contracts, purchase orders, collaborative transactions, inventory vouchers, and production orders. Domain models describe components specific to industry domains, including rolling budget models, inventory planning models, centralized procurement models, and unified negotiation and signing models. Business processes describe specific business processes, including project establishment, planning, procurement, inspection, and warehousing.
[0035] S103: Obtain a standard kernel corresponding to the large-scale software according to the basic element dimension, the application service library, the pre-assembled business template library, and the standard application.
[0036] As shown in Figure 2, the basic element dimension, application service library, pre-assembled business template library, and standard application are three different granularities and are all included in the standard kernel. In the subsequent large-scale software construction process, you can freely choose based on actual needs. If there is a suitable standard application, you can use it directly, eliminating the packaging and assembly process. If not, you can select a finer-grained basic element dimension or application service library, pre-assembled business template library, and quickly package and assemble it to build the kernel.
[0037] The standard kernel can be divided into multiple levels, thereby further dividing the components contained therein (including basic element dimensions, application service library, pre-assembled business template library and standard applications).
[0038] Specifically, for each component, determine whether it has business attributes or industry attributes.
[0039] If none of them are present, the component is considered to be the lowest and most basic part, and is used as the underlying standard kernel. Almost all large-scale software will use components in the underlying standard kernel.
[0040] If it has business attributes or industry attributes, it is considered that although the component belongs to the kernel, it still has a certain degree of commonality. The component is regarded as the upper-level standard kernel. Most large-scale software will use the components in the upper-level standard kernel.
[0041] Furthermore, when determining whether a component contains business attributes or industry attributes, for each component, when it is a basic element dimension, if it only contains technical components, since it is a component that describes general technology, it can be considered to have no business attributes and industry attributes. If it is an application service library or a pre-assembled business template library, and it is only encapsulated by technical components and has not been encapsulated and assembled through other basic element dimensions, it can also be considered to have no business attributes and industry attributes. If it is a standard application, and it is only encapsulated by technical components and then assembled, and has not been encapsulated and assembled through other basic element dimensions, it can also be considered to have no business attributes and industry attributes.
[0042] When a component is composed of multiple basic element dimensions, that is, in addition to technical components, it also includes other basic element dimensions, it is considered to have business attributes and / or industry attributes.
[0043] Otherwise, the component possesses business or industry attributes. If it is a business object, business process, or is encapsulated or assembled from a business object or business process, it is considered to possess business attributes. If it is a domain model, or is assembled or encapsulated from a domain model, it is considered to possess industry attributes.
[0044] S104: Based on a plurality of component types pre-set according to industry characteristics corresponding to each application scenario and personalized needs of the customer, the variable functions are classified and extracted to obtain corresponding extended components.
[0045] Different application scenarios have different industry characteristics or personalized needs. For example, as shown in Figure 2, in the full-process solution for typical industries, the aerospace industry, large shipbuilding industry, engineering equipment industry, power equipment industry, and other industries all require control of industry-specific equipment, which can be considered as corresponding industry characteristics. Customers' personalized needs can include requirements for the process and operation interface during the equipment control process, as well as the need to connect with different external platform data interfaces.
[0046] Based on this, corresponding extension components need to be configured to improve different industry characteristics and personalized needs.
[0047] Specifically, multiple component types are pre-determined based on the industry characteristics of each application scenario and the personalized needs of the customer, including industry components, intelligent components, data components, and ecological components. At this point, the component types corresponding to variable functions can be determined, and based on the component types, the corresponding extended components can be generated.
[0048] Among them, industry components are used to reflect the extended components of industry characteristics, including: quality zero components in the aerospace field, subcontract management components in the engineering equipment field, outfitting process components in the large ship field, high-voltage detection components in the power equipment field, etc. Intelligent components are used to reflect intelligent extended components, including: digital employee components, intelligent invoice auditing, behavior recognition, intelligent production scheduling, etc. Data components are used to reflect the extended components of data analysis capabilities in various scenarios, including: inventory forecasting, investment forecasting, cost analysis, asset analysis, generation analysis, sales forecasting, supplier evaluation, etc. Ecological components are used to reflect open source and integrated extended components, and are used to support the access of external components, including: regulatory integration, bank-enterprise direct connection, e-commerce system integration, tax system integration, etc.
[0049] S105: Building an end-to-end process corresponding to the large-scale software based on the external input nodes or external output nodes of the large-scale software.
[0050] One end in the end-to-end process refers to an external input node or an external output node, which may include customer nodes, market nodes, third-party agency nodes (for example, third-party regulatory agencies, third-party testing agencies, etc.), stakeholder nodes (for example, data provision nodes, cooperation nodes, etc.), etc.
[0051] The end-to-end process refers to the process template required for large-scale software to communicate with other nodes, as shown in Figure 2. It can include: marketing to collection, sourcing to payment, expenses to expenditures, investment to operations, etc. According to this end-to-end process, the establishment of data interaction channels between end-to-end can be completed quickly.
[0052] S106: Assemble according to the standard kernel, the extension components and the end-to-end process to construct the large-scale software.
[0053] In the above process, the standard kernel, extension components, and end-to-end process have been established and stored. When there is a need to build large-scale software, some of the content can be extracted and used to build large-scale software.
[0054] As shown in Figure 2, when building large-scale software, it is necessary to select at least part of the standard kernel as the core components of the large-scale software, and then determine the required extension components and the required end-to-end processes based on the industry characteristics corresponding to the current application scenario and the personalized needs of the customer, and assemble them to obtain the large-scale software.
[0055] For large-scale software, the standard core content is almost essential, while the extension components are optional and should be selected based on individual needs. Of course, after the large-scale software is established, if there are subsequent business adjustments or changes in the external environment, the extension components or the end-to-end process can be reorganized at any time.
[0056] In addition, as shown in Figure 2, during the assembly process of large-scale software, support is also needed from the assembly support platform. For example, it provides corresponding support for assembly rules, assembly tools, assembly technology, and integration interfaces to complete the assembly of large-scale software.
[0057] Through the large-scale software construction method of a standard core + extension components, the separation of standard functions and extension functions of large-scale software is achieved. Stable standard functions can be continuously refined and optimized within the standard core, while flexible extension functions can be selectively assembled. This reduces the excessive non-standard secondary development required by software service providers during the software deployment process, improves software quality stability, standardization, and deployment efficiency, reduces operation and maintenance costs and labor costs for software service providers and software users, and supports flexible adjustment and optimization of business functions after software delivery.
[0058] As shown in FIG3 , the embodiment of the present application further proposes a large-scale software construction device based on assembly, including:
[0059] at least one processor; and,
[0060] a memory communicatively connected to the at least one processor; wherein,
[0061] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the assembly-based large-scale software construction method as described in any of the above embodiments.
[0062] The embodiment of the present application further proposes a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as: the large-scale software construction method based on assembly described in any of the above embodiments.
[0063] The various embodiments in this application are described in a progressive manner. Similar portions 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 device and 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.
[0064] The devices and media provided in the embodiments of the present application correspond one-to-one to the methods. Therefore, the devices and media also have similar beneficial technical effects to their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.
[0065] 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 present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application 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.) that contain computer-usable program code.
[0066] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized 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 processing machine 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 produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.
[0067] 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 operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0068] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0069] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0070] 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.
[0071] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0072] 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.
[0073] 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 changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A large-scale software construction method based on assembly, wherein: include: Determine all application scenarios corresponding to the large-scale software, and for each application scenario, determine the execution function corresponding to the application scenario, and based on the execution functions in each application scenario, extract the common functions and variable functions corresponding to the application scenario; For the common functions, the corresponding basic element dimensions are determined, and an application service library and a pre-assembled business template library are obtained by encapsulating the preset multiple basic element dimensions, and a standard application is obtained by assembling the application service library and the pre-assembled business template library; wherein the basic element dimensions include: technical components, business objects, domain models, and business processes; For each component, determining whether it has business attributes or industry attributes; the component includes at least one of the basic element dimension, the application service library, the pre-assembled business template library and the standard application; If none of them are available, the components described above are used as the underlying standard kernel; If it possesses the business attributes or the industry attributes, the component is used as the upper standard kernel; Based on multiple component types pre-set according to industry characteristics corresponding to each application scenario and personalized needs of customers, the variable functions are classified and extracted to obtain corresponding extended components; Based on the external input nodes or external output nodes of the large-scale software, construct an end-to-end process corresponding to the large-scale software; Selecting at least a part of the standard kernel as a kernel component of the large-scale software; Based on the industry characteristics corresponding to the current application scenario and the personalized needs of the customer, the required expansion components and the required end-to-end processes are determined, and assembled to obtain the large-scale software.
2. The method according to claim 1, wherein: Based on the execution functions in each application scenario, the common functions and variable functions corresponding to the application scenario are extracted, including: Determine the execution functions in each application scenario; Among all the execution functions, the execution functions included in the application scenarios exceeding a preset ratio are used as common functions corresponding to the application scenarios, and the remaining execution functions are used as variable functions corresponding to the application scenarios.
3. The method according to claim 1, wherein: For the common functions, the corresponding basic element dimensions are determined, including: Determine a plurality of pre-set basic element dimensions, and determine the basic element dimensions corresponding to the common functions; The technical components are used to describe the components of general technology, including: at least one of permission checking, logging, form controls, process controls, rule controls, and help controls; The business object is used to describe a component of a specific business, including at least one of a sales order, a project contract, a purchase order, a collaborative transaction, an inventory voucher, and a production order; The domain model is used to describe components of industry domain characteristics, including: at least one of a rolling budget model, an inventory planning model, a centralized procurement model, and a unified negotiation and signing model; The business process is used to describe the process of a specific business, including at least one of a project establishment process, a planning process, a procurement process, an inspection process, and a warehousing process.
4. The method according to claim 1, wherein: For each component, determine whether it has business attributes or industry attributes, including: For each component, if it only includes the technical component, or is only encapsulated by the technical component, or is only assembled by the technical component, it is determined that the component does not have business attributes and industry attributes; Otherwise, it is determined that the component has business attributes or industry attributes.
5. The method according to claim 1, wherein: Based on multiple component types pre-set according to the industry characteristics corresponding to each application scenario and the personalized needs of customers, the variable functions are classified and extracted to obtain corresponding extended components, including: Determine the multiple component types that are pre-set based on the industry characteristics of each application scenario and the personalized needs of the customer, including: industry components, smart components, data components, and ecological components; Determine the component type corresponding to the variable function, and obtain the extended component corresponding to the variable function according to the component type; The industry components are extended components that reflect the characteristics of the industry, including at least one of: quality zeroing components in the aerospace field, subcontract management components in the engineering equipment field, outfitting process components in the large ship field, and high-voltage detection components in the power equipment field; The smart components are used to reflect the intelligent expansion components, including: digital employee components, invoice smart Capable of at least one of auditing, behavior recognition, and intelligent production scheduling; The data component is used to reflect the extended component of the data analysis capability of each scenario, including: at least one of inventory forecasting, investment forecasting, cost analysis, asset analysis, generation analysis, sales forecasting, and supplier evaluation; The ecological components are used to embody open source and integrated extension components, and to support the access of external components, including at least one of: regulatory integration, bank-enterprise direct connection, e-commerce system integration, and tax system integration.
6. The method according to claim 1, wherein: The end-to-end process includes at least one of marketing to collection, sourcing to payment, cost to expenditure, and investment to operation; The external input node and the external output node include at least one of a customer node, a market node, a third-party institution node, and a stakeholder node.
7. The method according to claim 1, wherein: Also includes: Based on subsequent business adjustments or changes in the external environment, the extension components or the end-to-end processes are reorganized respectively.
8. A large-scale software construction device based on assembly, wherein: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the assembly-based large-scale software construction method as described in any one of claims 1 to 7.
9. A non-volatile computer storage medium storing computer executable instructions, wherein: The computer executable instructions are configured as: the assembly-based large-scale software construction method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Automatic service generating system and automatic service generating method both of which are based on imaging service scene and field template
CN103294475A
Micro-service-based enterprise-level software construction method and system
CN109766075A
Architecture method of multi-scene demand financial service platform, storage medium and electronic equipment
CN116339724A
Large-scale software construction method and device based on assembly and medium
CN117270898A
Software tool for generating technical business data requirements
US20120197681A1