Software research and development method based on PBC assembled architecture
Through the software R&D method of PBC assembled architecture, the problems of low efficiency and asset accumulation difficulties in software development are solved, the software full life cycle management and component reuse are realized, and development efficiency and market competitiveness are improved.
Patent Information
- Application Number
- CN202411356981.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2024-12-27
AI Technical Summary
The existing technology is inefficient in software development and cannot accumulate assets, resulting in low development efficiency, many repetitive work, lack of standardization and consistency, and it is difficult to respond to market changes quickly.
Using software R&D methods based on PBC assembly architecture, establish a unified software asset management center and application integration and capability opening through the steps of business modeling, technical framework generation, optional components, customized development, continuous integration deployment and asset precipitation. Center, realizes software full life cycle management and component reuse.
It improves development efficiency, reduces duplicate work, enhances the market competitiveness of software products, supports rapid response to market changes, and reduces development costs.
Smart Images

Figure CN119201095A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of product design, and in particular to a software development method based on a PBC assembly architecture. Background Art
[0002] The modular architecture breaks down complex systems into a series of reusable, independent components or modules that can be developed, tested, and deployed separately. The team can adopt an agile development model to quickly iterate individual components without affecting the overall progress. The continuous integration and continuous deployment processes can also be implemented more smoothly, shortening the cycle from development to deployment.
[0003] In China, assembly architecture is gradually becoming the preferred solution for digital transformation and software development of many enterprises. Some domestic manufacturers have actively adopted and promoted assembly architecture in different fields. ROMA Connect, launched by Huawei Cloud, is an integrated platform service that uses the principles of assembly architecture to provide support for enterprise digital transformation and application modernization. Tencent Cloud also pays attention to the development of assembly applications, and proposes applications composed of a series of packaged business capabilities, emphasizing the reusability of components and the rapid integration of business functions to improve enterprise R&D efficiency and business flexibility. Alibaba Cloud is also promoting low-code / no-code platforms, which are often based on the principles of assembly architecture, allowing users to quickly build applications by dragging and dropping predefined components, lowering the development threshold and accelerating application launch.
[0004] Many foreign manufacturers have also widely adopted assembly architecture to improve software development efficiency, enhance system flexibility and promote technological innovation. IBM adopts modular design in many of its products and services, such as IBM Cloud Pak for Integration, which is based on microservices and containerization technology, allowing users to quickly build and deploy integrated solutions by assembling pre-built integration components; SAP's Cloud Platform and SAP S / 4HANA and other products adopt assembly design concepts and provide a series of configurable services and modules. Customers can choose and assemble suitable functional modules according to business needs to achieve customized ERP systems; Azure platform provides a large number of services and APIs, allowing developers to build complex cloud solutions by assembling these services, such as Azure Functions, Logic Apps, etc., which are all applications of assembly architecture ideas; Oracle Fusion Middleware platform supports assembly architecture and provides a series of middleware products and services to help users build, deploy and manage modular enterprise-level applications. Summary of the invention
[0005] The technology of the present invention solves the problem: The introduction of the concept of assembled architecture can solve prominent problems such as low development efficiency and inability to accumulate assets, allowing enterprises to reuse capability modules more agilely and effectively, thereby improving business resilience and efficiency. Assembled applications use modular design concepts to enable technical and business teams to reuse code more agilely and effectively, accelerating the process from software design to delivery. This architecture allows for rapid assembly and splitting of different parts of an application, thereby improving development efficiency and software reusability. The thinking of an assembled architecture helps enterprises face new business value points, control rapidly changing risks through modular tools, and increase the competitiveness and flexibility of the enterprise. In an ever-changing business environment, the assembled application architecture enhances the adaptability of the enterprise and supports rapid, secure, and efficient application changes. This enables enterprises to respond to market changes and meet demand more quickly.
[0006] The technical solution of the present invention is: A software development method based on PBC assembly architecture includes the following steps: Step 1: Business modeling and technical framework generation. First, business modeling is performed based on the business scenario to provide an overall view of the business domain for managers or architects. At the same time, it can be linked with specific business domains to achieve basic drill-down capabilities. Based on the business model obtained through business modeling, the technical framework is used to generate a code framework by selecting the default engineering scaffolding or a custom engineering scaffolding. Step 2: Select components, where the architect or developer finds suitable components in the asset center according to the business domain, reuses the component code in the code framework generated in step 1, performs custom configuration of business components, and generates business-related code paths and basic functional logic; the application selects to add new code logic in the aspect or without adjusting the existing code logic according to the current situation and business characteristics to improve the scenario-based capabilities; Step 3: Customized development, in which the engineering scaffolding generated in step 1 or the customized engineering scaffolding is combined with the components selected from the asset center in step 2 to quickly initialize the engineering application. Based on the visual design tool, a drag-and-drop user operation interface is provided to realize the assembly and arrangement of technical components and business components, and then the application scenario interface is developed; Step 4: Continuous integration and deployment, which connects the engineering application developed in step 3 with the DevOps tool chain to complete the application release in the test environment, development environment, and pre-production environment.
[0007] Step 5: Asset sedimentation, in which the engineering application developed in step 3 is refined into reusable technical components or business components and deposited into the asset center to provide the ability to publish assets externally.
[0008] Beneficial Effects
[0009] The implementation reason and principle of the present invention are: to cope with the growing complexity and rapidly changing business needs in enterprise software development, by combing the component system and reshaping the management architecture, a unified base is built using serial management tools to achieve full life cycle management of software. Its core principle is to decompose software development into reusable components through standardization and modularization, which can be flexibly assembled in different projects and application scenarios, thereby accelerating the development process, improving code quality, and reducing duplication of work. At the same time, the establishment of a unified software asset management center and an application integration and capability opening center not only promotes the sharing and reuse of cross-project resources, but also strengthens the integration and expansion capabilities of internal and external services. With standardized processes and standardized systems, the consistency and predictability of development activities are ensured, and the goal of improving development efficiency, reducing costs, and enhancing the market competitiveness of software products is ultimately achieved. The present invention integrates cutting-edge technologies such as DevOps, microservice architecture, and low-code development, providing strong support for the continuous innovation and agile transformation of software companies. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 It is a schematic diagram of the overall architecture of the software development method based on the PBC assembly architecture of the present invention; Figure 2 This is a schematic diagram of the service integration management, API gateway, and capability exposure functions of the present invention; Figure 3 It is a schematic diagram of the software asset center of the present invention from design and development to assembly and integration process. DETAILED DESCRIPTION
[0011] In order to describe the present invention more specifically, the technical solution of the present invention is described in detail below in conjunction with the accompanying drawings and specific implementation methods. The described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0012] Informatization plays a vital role. In the construction of key business systems such as internal information platforms and production systems, the design concept of assembly architecture is adopted to design the system into a series of reusable and pluggable services or modules, which are easy to adjust and expand according to business needs. At the same time, it supports the integration of heterogeneous systems to improve the flexibility and response speed of the system. At the data management and analysis level, the assembly architecture supports the construction of data lakes, etc., and integrates data from different sources through componentized services to provide unified data access and processing capabilities for decision support, product life cycle management, customer service, etc. At the supply chain level, the assembly architecture can promote the modularization and standardization of the supply chain management system, facilitate the optimization of processes such as supplier collaboration, inventory management, and logistics tracking, and improve the transparency and response speed of the supply chain.
[0013] The core concept of this solution is to decompose complex systems into multiple independent, reusable components or modules, which can be flexibly combined together like assembling parts to form a complete system or solution. The assembly architecture is based on packaged business capabilities (PBC). Just like building blocks, a series of PBCs are combined according to business to form an assembleable application, and the interface of the business scenario is developed. When the demand or process changes, the PBC can be reassembled by adding, splitting, replacing, etc. When the design concept of the assembly architecture is implemented at the product development level, its core needs to sort out the existing product planning system and component catalog list, and effectively make the software assets explicit and manageable, and make them assemblable through tools. For the development of new components, it is necessary to adjust the development tools and models, transform the existing model, and realize the model of "software is decentralized, assets are managed in a unified manner, and capabilities can be shared".
[0014] Figure 1 FIG. 1 is a schematic diagram of the overall architecture of the software development method based on the PBC assembly architecture of the present invention. Figure 1 As shown in the figure, R&D personnel conduct coding development based on the output of the architecture design. In coding development, they need to comply with the relevant specifications of component development, such as development based on the scaffolding provided by the platform. If the architecture of any software is not guarded, it will become unmaintainable after a period of time. In the development stage, some methods are used to guard some key architectural features to ensure the sustainable evolution of the software architecture to the greatest extent. Compared with traditional development, assembly-based development in this part has higher non-functional requirements, because as a component, it will be reused many times. If the quality of the component is poor, it will directly affect the reusability of the component.
[0015] Application assembly supports the rapid assembly of technical components and business components, and can quickly undertake the business domain in product planning, and perform top-level design through domain models and business models; quickly generate the application basic framework through the reuse of engineering template libraries; quickly generate source code through visual design; quickly build and deploy applications through DevOps, and quickly build new ecological scenario applications. For enterprise developers, it provides a one-stop cloud-native digital R&D solution from full-code and low-code hybrid assembly development. Support full-stack development of assembly-type applications.
[0016] The method includes realizing centralized and standardized management of software assets through serial management tools. Utilizing automated tool chain integration to ensure the efficiency and consistency of the software development process. Establishing an application integration and capability opening center to enable each business line to quickly access and utilize enterprise-level services. Creating a reusable software asset center to ensure high availability and discoverability of assets and promote cross-project resource sharing and reuse. The invention is committed to solving problems such as low efficiency, duplication of work, lack of standardization and consistency, low business agility, asset dispersion and knowledge loss in the software development process, so that enterprises can build a more efficient, flexible and innovative R&D system, improve the quality and speed of software development, while reducing long-term maintenance costs and better adapting to the ever-changing business environment.
[0017] Figure 1 FIG. 1 is a schematic diagram of the overall architecture of the software development method based on the PBC assembly architecture of the present invention. Figure 1 As shown, the method comprises the following steps: Step 1: Business modeling and technical framework generation. First, business modeling is performed based on the business scenario to provide an overall view of the business domain for managers or architects. At the same time, it can be linked with specific business domains to achieve basic drill-down capabilities. Based on the business model obtained through business modeling, the technical framework is used to generate a code framework by selecting the default engineering scaffolding or a custom engineering scaffolding. Step 2: Select components, where the architect or developer finds suitable components in the asset center according to the business domain, reuses the component code in the code framework generated in step 1, performs custom configuration of business components, and generates business-related code paths and basic functional logic; the application selects to add new code logic in the aspect or without adjusting the existing code logic according to the current situation and business characteristics to improve the scenario-based capabilities; Step 3: Customized development, in which the engineering scaffolding generated in step 1 or the customized engineering scaffolding is combined with the components selected from the asset center in step 2 to quickly initialize the engineering application. Based on the visual design tool, a drag-and-drop user operation interface is provided to realize the assembly and arrangement of technical components and business components, and then the application scenario interface is developed; Step 4: Continuous integration and deployment, which connects the engineering application developed in step 3 with the DevOps tool chain to complete the application release in the test environment, development environment, and pre-production environment.
[0018] Step 5: Asset sedimentation, in which the engineering application developed in step 3 is refined into reusable technical components or business components and deposited into the asset center to provide the ability to publish assets externally.
[0019] Support business modeling: Provide an overall view of the business domain for managers or architects. This overall view of the business domain enables linkage with specific business domains and realizes basic drill-down capabilities. Among them, the overall view of the business domain refers to providing a clear perspective on how the business operates to help managers and architects make better decisions. Specific business domains include information technology, supply chain management, marketing, financial accounting, human resources, etc.
[0020] Automatic generation of technical framework: supports selecting the default project scaffolding or custom project scaffolding to generate the code framework, which contains templates of the basic files and directory structure required for the project; by using the code framework generated by the scaffolding, it improves the development rate of developers, maintains the consistency and maintainability of the code, and allows developers to add or modify components to meet specific needs.
[0021] Rapid introduction of asset capabilities: Rapidly reuse accumulated asset capabilities such as technical components and business components; technical components refer to common technical components, such as full-text search, message queues, unified authentication, scheduled tasks, chart components, etc. Business components decompose complex business logic into manageable units, such as customer relationship management components, supply chain management components, plan management components, problem risk components, etc.
[0022] Source code development that combines high and low-level development: Execute custom configuration of business components and generate business-related code paths and basic functional logic; based on the current situation and business characteristics, the application chooses to add new code logic in the aspect or without adjusting the existing code logic to quickly improve scenario-based capabilities; custom configuration is the process of adjusting and optimizing the functions, interfaces, data processing methods, etc. of business components according to business needs. Applications refer to applications in specific business fields, including applications in test environments, development environments, and pre-production environments. The newly added code logic refers to the code logic generated by business-related code paths.
[0023] Provide visual tools: realize the assembly and orchestration of technical components and business components, and develop scenario interfaces through visual designers; visual designers are an intuitive way to build, assemble and orchestrate technical components and business components, usually providing a drag-and-drop user interface so that developers and business personnel can create applications or services without writing a lot of code.
[0024] Continuous deployment integration: Connect with the DevOps tool chain to complete application releases in the test environment, development environment, and pre-production environment.
[0025] Figure 2 This is a schematic diagram of the service integration management, API gateway, and capability exposure functions of the present invention. Figure 2 As shown in the figure, based on IPaaS, it provides service integration, data integration, message integration and ecological integration capabilities, provides integrated management of components, and provides integration of applications, components and internal and external systems of the enterprise. For enterprise development and operation and maintenance personnel, it provides API gateway management and capability exposure solutions to help enterprises uniformly access existing applications or manage API assets of cloud native applications, and provide API full life cycle management.
[0026] Figure 3 This is a schematic diagram of the process from design and development to assembly and integration of the software asset center of the present invention. Figure 3 As shown in the figure, the basic unit of assembly software development is the component, which forms an asset center after the accumulation of capabilities. The asset center uniformly defines asset standards and specifications, provides asset catalogs, asset management capabilities, asset on-shelf and off-shelf and usage processes, and asset types include application templates, PBCs, basic components, page blocks, page templates, functions, etc. Through standard process operation modes, enterprise assets are accumulated and reused to achieve full life cycle management of assets that are manageable, visible, available, and traceable, helping enterprises to complete the continuous accumulation and reuse of assets. In the asset center, developers can search and browse various assets. Developers can also see specific information related to assets, such as the number of times an asset has been reused and the maturity score of the asset. Various indicators help developers understand the basic quality of an asset, and also provide an indicator for asset providers to improve quality. Developers can also reuse an asset in the asset center, including the source code or image of the component, configuration information, etc., and quickly assemble and deploy in team projects.
[0027] The whole process of application development includes five stages: system planning, modeling design, application development, deployment verification and capability operation. In the whole process development stage, different roles have different responsibilities, and the product management capability is strengthened through clear division of responsibilities. In the system planning stage, the chief engineer team is responsible for field planning, examining and planning products from the perspective of the company's overall business. The product manager is responsible for product and component planning, including product management, team management, plan management, business components, general components, component relationship combing, product cost, budget, resource evaluation, and regular product review and inspection. In the modeling design stage, the business architect is responsible for the business modeling of business processes, business objects, and business fields. The system architect is responsible for technical modeling of application services, entity objects, and data model design, DDL (Data Definition Language) generation and comparison, and other data modeling stages. In the application development stage, the development engineer is responsible for application creation, code generation, specification checking, form arrangement, view arrangement, report arrangement, service arrangement, and process arrangement. In the deployment verification stage, the implementation / operation and maintenance engineer is responsible for unified resource management and integrated operation and maintenance (DevOps), and the test engineer is responsible for performance testing, functional testing, and security scanning. During the capability operation stage, the product manager / operator is responsible for capability authorization, capability access, operation statistics, capability map, product capabilities, and interface capabilities.
[0028] The core of optimizing product R&D model lies in the tool-supported assembly development platform, which will undertake the implementation of the R&D system, open up the tool chain, and realize asset reuse. Make the development process more efficient, flexible and scalable. By integrating and optimizing the R&D tool chain, asset reuse and effective implementation of the R&D system are achieved, promoting the optimization and innovation of product R&D model. With the support of management tools, enterprises can build a more agile and efficient development process, accelerate product launch, and enhance market competitiveness.
[0029] Establish standard operating procedures for R&D models. Under the technical architecture of assembly-type applications, the model of later project delivery will change. Through unified development on the cloud, unified management of software assets such as models during project development can be achieved, and assembly and delivery can be performed based on the asset library. The required business capabilities can be assembled according to the needs of business development, and system functions can be assembled conveniently and visually, and flexible deployment can be achieved. At the same time, public technical components and public business components accumulated in the business are deposited in the company's asset center, laying the foundation for the reuse of software assets. According to the standard process requirements for assembly-type project delivery, an assembly-type management system and specifications are formed, including unified product planning, unified interface standards, unified development processes, unified data models, integration specifications, and asset specifications.
[0030] The parts not described in detail in the present invention belong to the well-known technology in the art.
[0031] Obviously, the above embodiments of the present invention are only examples for clearly explaining the present invention, and are not intended to limit the implementation methods of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is impossible to list all the implementation methods here. All obvious changes or modifications derived from the technical solution of the present invention are still within the scope of protection of the present invention.
Claims
1. A software development method based on PBC assembly architecture, characterized in that: The following steps are involved: Step 1: Business modeling and technical framework generation. First, business modeling is performed based on the business scenario to provide an overall view of the business domain for managers or architects. At the same time, it can be linked with specific business domains to achieve basic drill-down capabilities. Based on the business model obtained through business modeling, the technical framework is used to generate a code framework by selecting the default engineering scaffolding or a custom engineering scaffolding. Step 2: Select components, where the architect or developer finds suitable components in the asset center according to the business domain, reuses the component code in the code framework generated in step 1, performs custom configuration of business components, and generates business-related code paths and basic functional logic; the application selects to add new code logic in the aspect or without adjusting the existing code logic according to the current situation and business characteristics to improve the scenario-based capabilities; Step 3: Customized development, in which the engineering scaffolding generated in step 1 or the customized engineering scaffolding is combined with the components selected from the asset center in step 2 to quickly initialize the engineering application. According to the visual design tool, a drag-and-drop user operation interface is provided to realize the assembly and arrangement of technical components and business components, and then the application scenario interface is developed; Step 4: Continuous integration and deployment, which connects the engineering application developed in step 3 with the DevOps tool chain to complete the application release in the test environment, development environment, and pre-production environment; Step 5: Asset sedimentation, in which the engineering application developed in step 3 is refined into reusable technical components or business components and deposited into the asset center to provide the ability to publish assets externally.
2. The software development method based on the PBC assembly architecture according to claim 1, characterized in that: Technical components include full-text retrieval, message queue, unified authentication, scheduled tasks, and chart components. Business components are used to decompose complex business logic into manageable units, including customer relationship management components, supply chain management components, plan management components, and problem risk components.
3. The software development method based on the PBC assembly architecture according to claim 1 is characterized in that: Custom configuration includes: adjusting and optimizing the functions, interfaces, and data processing methods of business components according to business needs.
4. The software development method based on the PBC assembly architecture according to claim 1 is characterized in that: Visual design tools provide a drag-and-drop user interface that enables developers and business personnel to create applications or services without writing a lot of code.
Citation Information
Cited By
Generative software automatic assembly method and system based on contract framework model
CN120122919A