Software System

By adopting a unified information architecture and 6-view method in industrial software development, combining business processes and expert view architecture, software development needs are generated, and poor compatibility and scalability in industrial software development are solved, and development efficiency and system compatibility are improved sex.

CN112379864BActive Publication Date: 2025-01-07COTESOFT BEIJING CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011155738.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-26
Publication Date
2025-01-07
Estimated Expiration
2040-10-26

AI Technical Summary

Technical Problem

During the industrial software development process, there are problems such as poor compatibility and scalability of software systems and low development efficiency, resulting in high communication costs and long cycles.

Method used

A software system architecture is adopted, including application-side architecture and server-side architecture. The application-side architecture is divided into expert view architecture and application-side architecture. The server-side architecture is divided into development view architecture. The business process and data processing process are combined with the unified information architecture. The requirements of the expert view architecture are combined to generate identifiable software development requirements for architecture design and development.

Benefits of technology

It improves the compatibility and scalability of the software system, improves development efficiency, shortens the development cycle, realizes the fluency of information and communication, and reduces the complexity and difficulty of industrial software architecture design.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112379864B_ABST
    Figure CN112379864B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention provides a software system, which includes: an application-side architecture and a server-side architecture; the application-side architecture includes: an expert view architecture and an application view architecture; the server-side architecture includes: a development view architecture; wherein the expert view architecture is used to generate an architecture design requirement for a software system based on algorithms and technical data in a preset field; the application view architecture is used to combine the business process and data processing process of the software system with the architecture design requirement to generate a combined architecture design requirement, and convert the combined architecture design requirement into a software development requirement; the development view architecture is used to perform architecture design and software development on the software system and perform architecture design on a test solution for the software system in accordance with the software development requirement using a computer language.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of industrial software, and in particular to a software system. Background Art

[0002] In the field of industrial software, industrial products do not only refer to manufactured products. Equipment, production lines, systems, etc. are collectively referred to as industrial products. Software developed for these industrial products is called industrial software. Industrial software involves the entire life cycle of industrial product design, manufacturing, operation, maintenance, and management.

[0003] Software systems are complex, and usually we only need to focus on a few structures at a specific time. The structure is a collection of elements, while the view captures and expresses the structure (document description). Although they are different, they are not strictly distinguished in actual use. From the perspective of the system, they are structures, and from the perspective of documents, they are views.

[0004] In software architecture design, especially in the detailed architecture design stage, it is a complex entity that cannot be described in a simple one-dimensional way, so it is generally described by the view method. The most primitive one is Figure 1 The view method shown.

[0005] The product life cycle of industrial products is complex. Looking at the entire process from R&D and design to production and manufacturing, and then to operation and maintenance, the processes, data, methods, structures, problems, etc. involved are all discrete, complex, and diverse. Especially at the field method level, it is often the key point that determines the technological advancement of industrial products. Therefore, the research is in-depth and focused. Against this background, we can see that in the field of industrial software, it is difficult to cover the entire business process like general software. Most of them are tool software formed for specific problems or specific directions. In addition to commercial software, there are also many customized software developed in the form of projects to help users solve specific problems. Therefore, in the field of industrial software under current technology, the following typical problems are faced: the software development process lacks a unified information architecture standard, and the developed system has poor compatibility and scalability; the software development process works independently of each other, and users and developers have different background knowledge and areas of focus, resulting in inconsistent understanding of requirements, high communication costs, low development efficiency, and long cycles. Summary of the invention

[0006] The present invention provides a software system to solve the problems of poor compatibility and expansibility and low development efficiency of the software system in the related art.

[0007] In order to solve the above problems, according to one aspect of the present invention, the present invention discloses a software system, including: an application-side architecture and a server-side architecture;

[0008] The application-side architecture includes: an expert view architecture and an application view architecture;

[0009] The server-side architecture includes: developing a view architecture;

[0010] The expert view architecture is used to generate architectural design requirements for software systems based on algorithms and technical data in a preset field;

[0011] The application view architecture is used to combine the business process and data processing process of the software system with the architecture design requirements to generate the combined architecture design requirements, and convert the combined architecture design requirements into software development requirements;

[0012] The development view architecture is used to perform architecture design and software development of the software system and to perform architecture design of the test plan of the software system in accordance with the software development requirements using computer language.

[0013] Compared with the prior art, the present invention has the following advantages:

[0014] In an embodiment of the present invention, the developed software system is based on a unified information architecture, which includes an application-side architecture and a server-side architecture, wherein the application-side architecture includes: an expert view architecture and an application view architecture; the server-side architecture includes: a development view architecture, so that the software system can be developed based on the unified information architecture, and the system compatibility and scalability of the developed software system are relatively strong; in addition, in the above-mentioned unified information architecture, the application view architecture can combine the business process and data processing process of the software system to be developed with the architecture design requirements based on the algorithms and technical data of the preset field on the expert view architecture side to generate the combined architecture design requirements, and convert the combined architecture design requirements into software development requirements that can be recognized by the development view architecture, so that the development view architecture can use computer language to perform architecture design and software development on the software system and perform architecture design on the test plan of the software system according to the software development requirements. Therefore, information communication in the software development process is smoother, the software development efficiency is improved, and the software development cycle is shortened. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a schematic diagram of a view method of software design in the prior art;

[0016] Figure 2 It is an architecture diagram of a software system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0017] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0018] The present invention is mainly applied to the development stage of industrial software, including the design, development, deployment and operation of industrial software. There are many methods for designing industrial software. The embodiment of the present invention mainly adopts a model-driven industrial software method, in which the prototype model is the carrier of the industrial software.

[0019] With the development of software, in the existing software architecture system, ADMENS is currently the more mainstream general software framework design standard, which adopts the 5-view method of general software architecture. However, the inventor found in the process of realizing the present invention that compared with the general software architecture, the industrial software architecture should not only fully and deeply understand the characteristics, business processes, methods, data and other general elements of industrial products when designing, but also solidify and softwareize the domain knowledge. Therefore, the theory of the 5-view method of general software cannot really completely solve the problem of industrial software architecture design. Moreover, in the field of industrial software, the communication information gap between knowledge owners, users and developers who solidify knowledge has always been a pain point due to different knowledge system backgrounds and different concerns. In order to solve the gap problem, the inventor naturally divides the work roles into three roles: users, experts and application engineers who link the two. Specifically, the present invention provides a 6-view method for detailed design of industrial software architecture combined with the characteristics of the industrial field, so as to help architecture designers quickly understand the corresponding relationship between software architecture and the life process of industrial products in industrial software architecture design, and effectively reduce the complexity and difficulty of industrial software architecture design work.

[0020] Specifically, Figure 2 The diagram shows an architecture diagram of a software system according to an embodiment of the present invention.

[0021] This architecture diagram is an embodiment of the above-mentioned 6-view method, wherein the 6-view method is an innovative view method more suitable for industrial software architecture design proposed by the inventor based on the 5-view method of general software combined with the scenarios and needs in the field of industrial software.

[0022] like Figure 2 As shown, in the 6-view architecture system of industrial software, the inventor divides the entire view architecture into an application-side architecture and a server-side architecture according to the application scenarios and role positioning.

[0023] Among them, the application-side architecture mainly faces the application scenarios of the software system. The application-side architecture includes the expert view architecture and the application view architecture, and optionally, also includes the user view architecture;

[0024] The server-side architecture is aimed at the construction and implementation of the architectural design at the software system level. The server-side architecture includes the development view architecture, and optionally, the operation view architecture and the deployment view architecture.

[0025] The expert view architecture is used to generate architectural design requirements for software systems based on algorithms and technical data in a preset field;

[0026] Specifically, the expert view architecture is method-oriented, and the user role of the expert view architecture is the algorithm expert (domain expert);

[0027] The expert view architecture is mainly used to study and consolidate a large number of domain-specific algorithms and knowledge, and to generate architecture design requirements in terms of domain knowledge and algorithms.

[0028] In addition, the expert view architecture is also used to convert a large amount of domain-specific algorithms / knowledge into knowledge that can be understood by user roles on the application view architecture or development view architecture side, so that application engineers or software development engineers can solidify the knowledge into the software system.

[0029] The application view architecture is used to combine the business process and data processing process of the software system with the structural design requirements to generate the combined structural design requirements, and convert the combined structural design requirements into software development requirements;

[0030] Among them, the application view architecture is process-oriented, and the user role of the application view architecture is the application engineer;

[0031] The application view architecture is mainly used to translate the domain knowledge solidified in the expert view architecture with the computer knowledge used in the development view architecture, and to form software development requirements in combination with business processes, data processing processes, etc.

[0032] The application view architecture is an important bridge between the development view architecture and the expert view architecture;

[0033] In other words, application engineers are an important bridge between domain experts and software development engineers.

[0034] The development view architecture is used to perform architecture design and software development of the software system and to perform architecture design of the test plan of the software system in accordance with the software development requirements using computer language.

[0035] Among them, the development view architecture is code-oriented, and the user roles of the development view architecture include software development engineers and test engineers;

[0036] The development view architecture is mainly used for architectural design of software system code implementation, code development, and test solution architecture design.

[0037] In addition, the development view architecture is also used to convert software development requirements into codes, and finally form the above-mentioned software system (ie, industrial software system).

[0038] In an embodiment of the present invention, the developed software system is based on a unified information architecture, which includes an application-side architecture and a server-side architecture, wherein the application-side architecture includes: an expert view architecture and an application view architecture; the server-side architecture includes: a development view architecture, so that the software system can be developed based on the unified information architecture, and the system compatibility and scalability of the developed software system are relatively strong; in addition, in the above-mentioned unified information architecture, the application view architecture can combine the business process and data processing process of the software system to be developed with the architecture design requirements based on the algorithms and technical data of the preset field on the expert view architecture side to generate the combined architecture design requirements, and convert the combined architecture design requirements into software development requirements that can be recognized by the development view architecture, so that the development view architecture can use computer language to perform architecture design and software development on the software system and perform architecture design on the test plan of the software system according to the software development requirements. Therefore, information communication in the software development process is smoother, the software development efficiency is improved, and the software development cycle is shortened.

[0039] In addition, the development method of industrial software in the prior art lacks an overall plan at the system architecture level, and is limited to software that solves a lot of specific problems. Information in each link is disconnected, and data and information are difficult to share, forming multiple information islands. The above-mentioned software system developed by the embodiment of the present invention is developed based on the above-mentioned unified information architecture. Therefore, the software system is not limited to solving specific problems, and can realize information exchange and data conversion in different links, avoiding the formation of multiple information islands.

[0040] In addition, the unified information architecture of the above-mentioned software system can correspond to the life cycle of industrial products, thereby effectively reducing the complexity and difficulty of industrial software architecture design.

[0041] Alternatively, if Figure 2 As shown, the server-side architecture also includes a running view architecture;

[0042] The operation view architecture is used to perform architecture design on the operation process of the software system, and to perform architecture design on the status management, monitoring and maintenance of the software system.

[0043] Among them, the operation view architecture is process-oriented, and the user role of the operation view architecture is the operation and maintenance engineer;

[0044] The operation view architecture is mainly used for architectural design of the operation process, status management, monitoring and maintenance of the software system, as well as operation and maintenance of the system after software delivery, to ensure smooth operation of the system.

[0045] Optionally, the operation view architecture is also used to monitor and maintain the operation status of the software system, and to communicate with the user view architecture, the deployment view architecture and the development view architecture, and to control the operation status of the software system using data obtained through communication.

[0046] Alternatively, if Figure 2 As shown, the server-side architecture also includes the deployment view architecture;

[0047] The deployment view architecture is used to perform architecture design on the software environment, hardware environment and communication environment required to be deployed by the software system.

[0048] Among them, the deployment view architecture is resource-oriented, and the user role of the deployment view architecture is the system deployer;

[0049] Among them, the deployment view architecture is also used to design the architecture of the software and hardware environment, communication and other aspects of the software system deployment, as well as to build and deploy the software and hardware environment to form the final delivered software system.

[0050] In addition, the deployment view architecture corresponds to the hardware level of the above-mentioned software system, providing hardware operating environment, basic database, network environment and other guarantees for the operation of the software system.

[0051] Alternatively, if Figure 2 As shown, the application-side architecture includes a user view architecture;

[0052] The user view architecture is used to perform architecture design on the application process of the software system.

[0053] The user view architecture is product-oriented. The user role of the user view architecture is the end user of the software, that is, the end user of the software system;

[0054] The user view architecture is also used to generate architectural design requirements for the daily application processes and usability of the software system.

[0055] Optionally, based on any of the above embodiments, Figure 2 As shown, the software system also includes a software application framework;

[0056] The software application framework is a development framework for the application-side architecture and the server-side architecture.

[0057] Specifically, the software application framework provides a unified structural template and a unified structural standard for the development of the above-mentioned software system, and the unified structural standard includes but is not limited to structural standards such as data structure standards, model structure standards, data input and output structure standards, and third-party software access structure standards, and the unified structural template includes but is not limited to structural templates such as data structure templates, model structure templates, data input and output structure templates, and third-party software access structure templates;

[0058] In addition, the software application framework also pre-installs functional modules commonly used in commercial software, including but not limited to at least one of the following: functional modules for editing and setting files, interfaces, software, training, etc.;

[0059] It should be noted that the above-mentioned software system developed by the present invention may be an industrial software system, which is different from the above-mentioned commercial software.

[0060] In addition, the software application framework also pre-installs common functions of industrial software systems, including but not limited to at least one of the following: data import and export functions of the main formats (preset formats) of industrial software systems, display area operation functions of three-dimensional data, table processing functions, etc.;

[0061] In addition, the software application framework also has pre-installed common algorithms for industrial software systems, such as process templates;

[0062] To sum up, the software application framework provides a unified architecture and unified standards for the development of the above-mentioned software systems, and has a general functional foundation suitable for customized development of industrial software systems. Based on this software application framework combined with the six-view method (the six view architectures mentioned above: expert view architecture, application view architecture, development view architecture, user view architecture, operation view architecture and deployment view architecture), a highly stable and scalable industrial software system can be quickly built.

[0063] During the development of industrial software systems, the application view architecture and the expert view architecture can also define data, processes, and algorithms based on the framework standards and requirements provided by the software application framework. The development view architecture can then softwareize the above-defined data, processes, and algorithms based on the software application framework, and ultimately implement them in the software application framework to form software function modules or data attribute modules, thereby forming an industrial software system that meets the scenario requirements. The industrial software system is deployed through the deployment view architecture and finally delivered to the user view architecture, and the operation view architecture implements the operation and maintenance management of the industrial software system.

[0064] The software application framework is at the core of the software system. The software application framework can communicate with each architecture in the software system. Figure 2The various architectures in the unified architecture system are organically implemented into a unified carrier, including all stakeholders (view roles / work or tasks mentioned above), and are the core of the final complete industrial software solution. As a unified development framework for software systems, the software application framework has the advantages of standard unification, ease of use, openness, and system security.

[0065] The following briefly describes the relationship between the various architectures in the above software system according to the embodiment of the present invention in conjunction with specific examples:

[0066] The user view architecture can be the final client application, which outputs a software interface, which may be in the form of a stand-alone version, client, APP, web page, etc.

[0067] Users finally realize the application of industrial software system through the operation of each functional module in the software interface. The user view architecture mainly stands from the user's perspective, focusing on the comprehensiveness and ease of use of functions, the functions of industrial software systems, and general software functions such as file management. The proportion of data addition, deletion, modification and query in the user view architecture is relatively low. Users are more concerned about whether it conforms to the business process of the enterprise, the convenience of applying data methods and other key functional indicators.

[0068] As mentioned above, the expert view architecture is method-oriented and is responsible for in-depth research on domain knowledge and experience. Ultimately, this knowledge and experience must be solidified into the software system, and may be reflected in the software interface as a specific functional module, database, analysis algorithm library, etc. Domain experts usually only care about knowledge, algorithms, etc. How these algorithms are applied to the process requires application engineers to use the application view architecture to convert them. Therefore, the application view architecture is process-oriented and combines the company's business, data, methods, and management processes with domain knowledge, and interacts with the development view architecture to form a mapping relationship between industrial field needs and software development, and finally softwareizes it and reflects it in the user view architecture.

[0069] When the software system is delivered after development and testing, the view architecture needs to be deployed first to provide support for the software and hardware environment, and to cooperate with the deployment and installation of the software system, such as software, database deployment, network environment deployment, etc. This stage usually involves technical support deployment engineers from both the user side and the developer.

[0070] After the software system is put into use, the operation view architecture performs a health check on the overall operation of the software system, and acts as a coordination role to link the user view architecture, deployment view architecture, and development view architecture to comprehensively ensure the normal operation of the software. The user roles of this operation view architecture usually involve operation and maintenance engineers and software after-sales support engineers.

[0071] It should be noted that the architectural design requirements and software development requirements described in this article may be expressed in the form of document data.

[0072] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0073] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0074] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks 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 terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes 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.

[0075] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0076] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0077] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0078] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0079] The software system provided by the present invention is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A software system, characterized in that: include: Application-side architecture and server-side architecture; The application-side architecture includes: an expert view architecture, a user view architecture and an application view architecture; The server-side architecture includes: development view architecture, deployment view architecture and operation view architecture; The expert view architecture is used to generate architectural design requirements for software systems based on algorithms and technical data in a preset field; The user view architecture is used to design the architecture of the application process of the software system; The application view architecture is used to combine the business process and data processing process of the software system with the architecture design requirements to generate the combined architecture design requirements, and convert the combined architecture design requirements into software development requirements; The development view architecture is used to perform architecture design and software development on the software system and to perform architecture design on the test scheme of the software system in accordance with the software development requirements using a computer language; The deployment view architecture is used to design the architecture of the software environment, hardware environment and communication environment required for deployment of the software system; The operation view architecture is used to perform architecture design on the operation process of the software system, and to perform architecture design on the status management, monitoring and maintenance of the software system; The operation view architecture is used to monitor and maintain the operation status of the software system, and to communicate with the user view architecture, the deployment view architecture and the development view architecture, and to control the operation status of the software system using the data obtained through communication.

2. The software system according to any one of claim 1, characterized in that: The software system also includes a software application framework; The software application framework is a development framework for the application-side architecture and the server-side architecture.

Citation Information

Patent Citations

  • Business application software development system and method

    CN110058846A