Software modeling methods, apparatus, computer equipment, and storage media
By constructing functional sub-models of software functions and combining them with functional subordination relationships, the problem that existing software reliability models cannot accurately assess the reliability of software products is solved, thus achieving an accurate assessment of the reliability of software products.
Patent Information
- Application Number
- CN202410415067.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-08
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-04-08
AI Technical Summary
Existing software reliability models cannot accurately assess the reliability of software products.
By constructing functional sub-models for each software function and combining the models according to the functional hierarchy, a software model of the target software is obtained, simulating the interaction between software functions.
It enables accurate assessment of software product reliability and can evaluate the impact of each software function on the reliability of the target software by using functional sub-models.
Smart Images

Figure CN118193342B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of model building technology, and in particular to a software model building method, apparatus, computer device, and storage medium. Background Technology
[0002] With the continuous development of software and hardware technologies, the complexity of software and hardware products is also increasing. Among them, the failure of hardware devices is mostly due to the aging of materials and equipment. However, software products are logical products composed of multiple functions, and their failure is affected by many factors.
[0003] To better assess the reliability of software products, a software reliability model can be constructed. This model can be used to simulate the operation of the software product, thereby determining its reliability.
[0004] However, existing software reliability models cannot accurately assess the software reliability of software products. Summary of the Invention
[0005] Therefore, it is necessary to provide a software model construction method, apparatus, computer equipment, and storage medium that can accurately assess the software reliability of software products, addressing the aforementioned technical problems.
[0006] Firstly, this application provides a software model construction method. The method includes:
[0007] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each of the software functions;
[0008] Determine the functional dependencies between the various software functions;
[0009] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0010] In one embodiment, constructing a functional sub-model for each of the software functions based on the functional processing type of at least one software function includes:
[0011] For each software function, determine at least one processing step included in the software function based on the function processing type of the software function.
[0012] Determine the processing method for each of the aforementioned processing steps;
[0013] Based on the processing steps described, construct a functional sub-model of the software function.
[0014] In one embodiment, constructing a functional sub-model of the software function based on the step processing method of each of the processing steps includes:
[0015] Determine the execution conditions for each of the processing steps, and the execution timing relationship between each of the processing steps;
[0016] Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the step processing method of each processing step, a functional sub-model of the software function is constructed.
[0017] In one embodiment, the step processing method includes at least one of data processing, time processing, fault handling, and redundancy processing.
[0018] In one embodiment, the step of combining the functional sub-models according to the functional hierarchy to obtain a software model includes:
[0019] Based on the functional hierarchy, determine the hierarchical relationship between each functional sub-model;
[0020] Based on the hierarchical relationship, the functional sub-models are combined to obtain the software model.
[0021] In one embodiment, the method further includes:
[0022] Obtain the software functions to be updated in the target software;
[0023] Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated;
[0024] Determine the dependency relationship between the software function to be updated and the existing software functions in the software model;
[0025] Based on the subordinate relationships to be updated, the software model is updated according to the functional sub-models to be updated.
[0026] Secondly, this application also provides a software model building apparatus. The apparatus includes:
[0027] A building module is used to build functional sub-models for each software function based on the functional processing type of at least one software function of the target software.
[0028] A determining module is used to determine the functional dependencies between the various software functions;
[0029] The combination module is used to combine the functional sub-models according to the functional hierarchy to obtain the software model of the target software.
[0030] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:
[0031] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each of the software functions;
[0032] Determine the functional dependencies between the various software functions;
[0033] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0034] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0035] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each of the software functions;
[0036] Determine the functional dependencies between the various software functions;
[0037] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0038] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0039] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each of the software functions;
[0040] Determine the functional dependencies between the various software functions;
[0041] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0042] The aforementioned software model construction method, apparatus, computer equipment, and storage medium construct functional sub-models for each software function, and then combine these sub-models according to functional hierarchical relationships to obtain the software model of the target software. As can be seen from the above, when constructing a model for evaluating the software reliability of a software product, this application constructs functional sub-models for each software function based on at least one software function of the target software, and combines these sub-models with the functional hierarchical relationships between the software functions to obtain the software model of the target software. This allows the functional sub-models to cooperate with each other according to the functional hierarchical relationships between the software functions, simulating the interaction of various software functions during the normal operation of the target software. Compared with existing software reliability models, the software model obtained in this application, when assessing the reliability of the target software, can utilize the functional sub-models to evaluate the impact of each software function on the reliability of the target software, enabling the software model to accurately assess the software reliability of the software product. Attached Figure Description
[0043] Figure 1 A flowchart illustrating the first software model construction method provided in this application embodiment;
[0044] Figure 2 A flowchart illustrating the second software model construction method provided in this application embodiment;
[0045] Figure 3 A flowchart illustrating the third software model construction method provided in this application embodiment;
[0046] Figure 4 A flowchart illustrating the fourth software model construction method provided in this application embodiment;
[0047] Figure 5 A flowchart illustrating the fifth software model construction method provided in this application embodiment;
[0048] Figure 6 A structural block diagram of the first software model building apparatus provided in the embodiments of this application;
[0049] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0050] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0051] The software model construction method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or placed on the cloud or other network servers. By constructing functional sub-models for each software function, and then combining these sub-models according to their functional hierarchical relationships, a software model of the target software is obtained. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. Portable wearable devices can include smartwatches, smart bracelets, head-mounted devices, etc. Server 104 can be implemented using a standalone server or a server cluster composed of multiple servers.
[0052] In one embodiment, such as Figure 2 As shown, a software model construction method is provided, which can be applied to... Figure 1 Taking terminal 102 as an example, the explanation includes the following steps:
[0053] S201, construct functional sub-models for each software function based on the functional processing type of at least one software function of the target software.
[0054] It should be noted that, in order to ensure that the software model obtained by combining the various functional sub-models can accurately evaluate the software reliability of the software product, when constructing the functional sub-models of each software function, it is necessary to combine the functional processing type of each software function to construct a functional sub-model with the same functional processing type as each software function.
[0055] Specifically, when constructing the functional sub-models of each software function, the processing flow of each software function from "functional input" to "functional processing" to "functional output" can be determined by combining the functional processing type of each software function. Then, based on the processing flow of each software function, the functional sub-models of each software function can be constructed.
[0056] In one embodiment of this application, the functional processing types of each software function can be clustered into two categories: (1) Data processing type: When the software function of the data processing type receives external interface data (e.g., bus interface data), it will perform data acquisition, signal processing, redundancy voting, mathematical and logical operations, data storage, fault and status reporting, etc., and send the processed data to the external cross-linking device of the software. The software function of the data processing type has data interaction characteristics. For example, the flight control system software performs redundancy voting on the input data and sends the voting results to other airborne systems. (2) Control processing type: The input or output interface of the software function of the control processing type is often directly cross-linked with the hardware mechanism. When the function receives external interface data (e.g., analog quantity, discrete quantity interface data), it will perform fault diagnosis, signal processing, control law calculation, closed-loop / open-loop feedback, hardware control, etc., and may directly output control commands to the hardware mechanism, drive the hardware to move, and complete the corresponding control task. The software function of the control processing type has control behavior characteristics. For example, the power system software performs control calculation on the pressure sensor data and drives the engine equipment to reach the specified speed.
[0057] To further explain, when constructing the functional sub-models of each software function, it is also necessary to meet the software standard requirements of each software function. Specifically: (1) The functional input and the mapping relationship described by the external interface should be described; (2) The functional output and the mapping relationship described by the external interface should be described; (3) The functional processing process should be described, such as: data processing, such as data acquisition, data calculation, logical judgment, fault tolerance processing, etc.; time processing, such as timing processing, periodic processing, time limit judgment, abnormal interruption, fault processing, such as fault diagnosis, fault recovery, fault reporting, fault alarm, redundancy processing, such as redundancy design, redundancy voting, redundancy switching, etc.
[0058] In one embodiment of this application, software function refers to the information equipment software function to be modeled and analyzed. When constructing a functional sub-model for each software function, it is necessary to determine the functional identifier and functional boundary of the software function, and to determine the functional input data and functional output data.
[0059] Among them, the function identifier is used to represent the unique name of the software function; the function boundary is used to represent the boundary of the software function and to distinguish it from other software functions; the function input data and function output data are used to represent the external interface data that has an input-output relationship with the software function, and in some specific cases, they also include internal function data.
[0060] Furthermore, functional input data includes descriptions of all input data for the function, interface data element information from the software's external interface modeling, and internal data. Functional output data includes descriptions of all output data for the function, as well as interface data element information from the software's external interface modeling and internal data.
[0061] S202, determine the functional hierarchy among the various software functions.
[0062] Among them, the functional hierarchy refers to the inclusion relationship between various software functions, which is used to clarify the division between parent and child functions.
[0063] In one embodiment of this application, when it is necessary to determine the functional dependency relationship between various software functions, the functional dependency relationship between various software functions can be obtained from a data storage device; wherein, the data storage device stores the candidate dependency relationship of at least one candidate software, and the data storage device can be a local storage device corresponding to the terminal device executing the software model construction method, or a cloud storage device connected to the terminal device executing the software model construction method, and the device type of the data storage device is not limited here.
[0064] Specifically, based on the target software identifier of the target software, the identifiers of each candidate dependency relationship stored in the data storage device are traversed and searched. If the candidate software identifier corresponding to a certain candidate dependency relationship corresponds to the target software identifier, then the candidate dependency relationship is determined, which is the functional dependency relationship between each software function.
[0065] In another embodiment of this application, when it is necessary to determine the functional dependency relationship between various software functions, a dependency relationship retrieval request can also be fed back to the terminal of the data management personnel, so that the data management personnel can feed back a dependency relationship retrieval response to the terminal executing the software model construction method through the terminal, and the dependency relationship retrieval response contains the functional dependency relationship between various software functions.
[0066] S203. Based on the functional hierarchy, combine the functional sub-models to obtain the software model of the target software.
[0067] It should be noted that when it is necessary to combine the software models of the target software, the functional sub-models can be combined according to the functional subordination relationship between the software functions to obtain the software model of the target software.
[0068] Specifically, the functional dependencies between various software functions are used as the model dependencies of each functional sub-model. Then, the functional sub-models are combined according to the model dependencies to obtain the software model of the target software.
[0069] The aforementioned software model construction method constructs functional sub-models for each software function, and then combines these sub-models according to their functional dependencies to obtain the target software model. As can be seen from the above, when constructing a model to evaluate the software reliability of a software product, this application constructs functional sub-models for each software function based on at least one software function of the target software, and combines these sub-models with their functional dependencies to obtain the target software model. This allows the sub-models to cooperate according to their functional dependencies, simulating the interaction between software functions during normal software operation. Compared to existing software reliability models, the software model obtained in this application, when assessing the reliability of the target software, can utilize the functional sub-models to evaluate the impact of each software function on the target software's reliability, enabling the software model to accurately assess the software reliability of the software product.
[0070] In one embodiment, such as Figure 3 As shown, when it is necessary to construct functional sub-models for each software function based on the functional processing type of at least one software function, the following can be included:
[0071] S301, for each software function, determine at least one processing step included in the software function according to the function processing type of the software function.
[0072] Among them, the processing steps refer to the steps obtained by dividing the processing of software functions into indivisible levels.
[0073] It should be noted that when it is necessary to determine at least one processing step included in a software function, the mapping relationship between candidate processing types and candidate steps can be determined in advance, and then, based on the mapping relationship, at least one processing step included in the software function can be determined.
[0074] The mapping relationship records at least one candidate step corresponding to different functional processing types.
[0075] Specifically, when determining at least one processing step included in a software function based on the mapping relationship, the mapping relationship can be traversed and queried according to the function processing type of the software function to determine the candidate processing type that is the same as the function processing type. The at least one candidate step corresponding to the candidate processing type is the at least one processing step included in the software function.
[0076] S302, determine the processing method for each processing step.
[0077] The processing steps include at least one of the following: data processing, time processing, fault handling, and redundancy handling. Specifically, data processing describes the data processing behavior during the functional processing, such as data acquisition, data computation, logical judgment, and fault tolerance processing; time processing describes the time processing behavior during the functional processing, such as time-series processing, periodic processing, time limit judgment, and abnormal interruption; fault handling describes the data fault handling behavior during the functional processing, such as fault diagnosis, fault recovery, fault reporting, and fault alarm; and redundancy handling describes the redundancy handling behavior for input or output data during the functional processing, such as redundancy design, redundancy voting, and redundancy switching.
[0078] It should be noted that when it is necessary to determine the processing method of each processing step, the processing method of each processing step can be identified to obtain the identification result, which is the processing method of each processing step.
[0079] In one embodiment of this application, a processing method identification model can be pre-built to identify the processing method of each processing step according to the processing method identification model; specifically, the processing steps are input into the processing method identification model, and the output result of the processing method identification model is obtained, which is the processing method of the processing step.
[0080] The training process of the processing method recognition model includes: obtaining sample steps and labeling the sample steps with sample processing methods to obtain sample steps labeled with sample processing methods; then, training the processing method recognition model with sample steps labeled with sample processing methods to obtain the trained processing method recognition model.
[0081] In another embodiment of this application, the correspondence between each candidate step and the candidate processing method can be predetermined. Then, when it is necessary to determine the step processing method corresponding to a certain processing step, the step processing method of the processing step can be determined from the correspondence between the candidate steps and the candidate processing methods.
[0082] S303, construct the functional sub-model of the software function according to the processing method of each processing step.
[0083] It should be noted that when it is necessary to construct a functional sub-model of the software function based on the processing method of each processing step, the following can be included: determining the execution conditions of each processing step and the execution sequence relationship between each processing step; constructing a functional sub-model of the software function based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step.
[0084] In one embodiment of this application, when it is necessary to construct a functional sub-model of a certain software function, the functional processing type corresponding to the software function can be determined; the processing process of the software function can be divided into processing steps that cannot be divided into levels according to the functional processing type; the step processing method of each processing step, the execution conditions of each processing step, and the execution sequence relationship between each processing step can be determined; then, based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the step processing method of each processing step, the functional sub-model of the software function can be constructed.
[0085] The above-mentioned software model construction method determines at least one processing step included in a software function and the processing method of each processing step, and then constructs a functional sub-model of the software function based on the processing method of each processing step. Compared with the software reliability model in the prior art, the software model obtained in this application can evaluate the impact of each software function on the reliability of the target software by means of the functional sub-model when conducting reliability assessment of the target software, so that the software model can accurately assess the software reliability of the software product.
[0086] In one embodiment, such as Figure 4 As shown, when it is necessary to combine the functional sub-models according to their functional hierarchy to obtain a software model, the following can be included:
[0087] S401, determine the hierarchical relationship between functional sub-models based on functional subordination.
[0088] It should be noted that the hierarchical relationship between the functional sub-models is used to characterize the management between the output data and input data of each functional sub-model; for example, the hierarchical relationship can indicate that the output data of functional sub-model A is the input data of functional sub-model B.
[0089] To further explain, when determining the hierarchical relationship between each functional sub-model, the parent-child relationship between each software function recorded in the functional subordination relationship can be used. Then, based on the parent-child relationship between each software function, the data transmission process between different software functions can be determined, and the data transmission process between different software functions can be used as the data transmission process between different functional sub-models. This transmission process is the hierarchical relationship between each functional sub-model.
[0090] S402, combine the functional sub-models according to the hierarchical relationship to obtain the software model.
[0091] It should be noted that when combining the functional sub-models according to the hierarchical relationship, the input-output relationship between the input and output data of each functional sub-model can be sorted out according to the hierarchical relationship. Then, according to the input-output relationship, the functional sub-models can be combined to obtain the final software model.
[0092] To further clarify, the software functions included in the software model cannot have hierarchical closed loops; a hierarchical closed loop refers to the formation of a transmission closed loop when certain data is transmitted between various software functions. For example, software function A belongs to software function B, software function B belongs to software function C, and software function C belongs to software function A.
[0093] In one embodiment of this application, after combining to obtain the software model, the following may be included: obtaining the software functions to be updated of the target software; constructing an existing sub-model of the functions to be updated according to the function processing type of the software functions to be updated; determining the update dependency relationship between the software functions to be updated and the existing software functions in the software model; and updating the software model according to the update dependency relationship and the sub-model of the functions to be updated.
[0094] Among them, software functions to be updated refer to functions that were omitted when building the software model, or functions that were added to the target software.
[0095] The aforementioned software model construction method determines the hierarchical relationship between functional sub-models and then combines them according to this relationship to obtain the software model. In constructing a model to evaluate the reliability of a software product, this application constructs functional sub-models for each software function based on at least one software function of the target software. These sub-models are then combined according to the functional dependencies between the software functions to obtain the target software model. This allows the functional sub-models to cooperate according to the functional dependencies between the software functions, simulating the interaction between the software functions during normal software operation.
[0096] In one embodiment, such as Figure 5 As shown, when it is necessary to construct a software model of the target software, the following can be included:
[0097] S501, for each software function, determine at least one processing step included in the software function according to the function processing type of the software function.
[0098] S502, determine the processing method for each processing step.
[0099] S503, determine the execution conditions for each processing step, and the execution sequence relationship between each processing step.
[0100] S504. Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step, construct the functional sub-model of the software function.
[0101] S505 defines the functional hierarchy among various software functions.
[0102] S506, determine the hierarchical relationship between functional sub-models based on functional subordination.
[0103] S507 combines the functional sub-models according to the hierarchical relationship to obtain the software model.
[0104] S508, retrieves the software update function of the target software.
[0105] S509: Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated.
[0106] S510, determine the dependency relationship between the software function to be updated and the existing software functions in the software model.
[0107] S511 updates the software model based on the subordinate relationships to be updated and the functional sub-models to be updated.
[0108] The aforementioned software model construction method constructs functional sub-models for each software function, and then combines these sub-models according to their functional dependencies to obtain the target software model. As can be seen from the above, when constructing a model to evaluate the software reliability of a software product, this application constructs functional sub-models for each software function based on at least one software function of the target software, and combines these sub-models with their functional dependencies to obtain the target software model. This allows the sub-models to cooperate according to their functional dependencies, simulating the interaction between software functions during normal software operation. Compared to existing software reliability models, the software model obtained in this application, when assessing the reliability of the target software, can utilize the functional sub-models to evaluate the impact of each software function on the target software's reliability, enabling the software model to accurately assess the software reliability of the software product.
[0109] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0110] Based on the same inventive concept, this application also provides a software model building apparatus for implementing the software model building method described above. The solution provided by this apparatus is similar to the solution described in the above method; therefore, the specific limitations in one or more software model building apparatus embodiments provided below can be found in the limitations of the software model building method described above, and will not be repeated here.
[0111] In one embodiment, such as Figure 6 As shown, a software model building apparatus is provided, comprising: a building module 10, a determining module 20, and a combining module 30, wherein:
[0112] Module 10 is used to construct functional sub-models for each software function based on the functional processing type of at least one software function of the target software.
[0113] Module 20 is used to determine the functional dependencies between various software functions.
[0114] The combination module 30 is used to combine the functional sub-models according to the functional hierarchy to obtain the software model of the target software.
[0115] In one embodiment, a functional sub-model of each software function is constructed based on the functional processing type of at least one software function of the target software.
[0116] Determine the functional dependencies between various software functions;
[0117] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0118] In one embodiment, for each software function, at least one processing step included in the software function is determined according to the function processing type of the software function.
[0119] Determine the processing method for each step;
[0120] Based on the processing steps of each step, construct a functional sub-model of the software function.
[0121] In one embodiment, the execution conditions for each processing step and the execution timing relationship between each processing step are determined;
[0122] Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step, construct a functional sub-model of the software function.
[0123] In one embodiment, the step processing method includes at least one of data processing, time processing, fault handling, and redundancy processing.
[0124] In one embodiment, the hierarchical relationship between functional sub-models is determined based on the functional dependency relationship;
[0125] The software model is obtained by combining the functional sub-models according to the hierarchical relationship.
[0126] In one embodiment, the software function to be updated in the target software is obtained;
[0127] Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated;
[0128] Determine the dependency relationship between the software function to be updated and the existing software functions in the software model;
[0129] Based on the subordinate relationships to be updated, update the software model according to the functional sub-models to be updated.
[0130] The aforementioned software model building apparatus constructs functional sub-models for each software function, and then combines these sub-models according to functional hierarchical relationships to obtain a software model of the target software. As can be seen from the above, when constructing a model for evaluating the software reliability of a software product, this application constructs functional sub-models for each software function based on at least one software function of the target software, and combines these sub-models with the functional hierarchical relationships between the software functions to obtain a software model of the target software. This allows the sub-models to cooperate with each other according to the functional hierarchical relationships between the software functions, simulating the interaction between the software functions during normal software operation. Compared to existing software reliability models, the software model obtained in this application, when evaluating the reliability of the target software, can assess the impact of each software function on the reliability of the target software by utilizing the functional sub-models, enabling the software model to accurately evaluate the software reliability of the software product.
[0131] Each module in the aforementioned software model building device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0132] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 7As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a software model building method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0133] Those skilled in the art will understand that Figure 7 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0134] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0135] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each software function;
[0136] Determine the functional dependencies between various software functions;
[0137] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0138] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0139] For each software function, determine at least one processing step included in the software function based on the function processing type of the software function.
[0140] Determine the processing method for each step;
[0141] Based on the processing steps of each step, construct a functional sub-model of the software function.
[0142] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0143] Determine the execution conditions for each processing step, as well as the execution sequence relationship between each processing step;
[0144] Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step, construct a functional sub-model of the software function.
[0145] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0146] The step-by-step processing method includes at least one of the following: data processing method, time processing method, fault handling method, and redundancy processing method.
[0147] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0148] Determine the hierarchical relationship between the functional sub-models based on the functional hierarchy;
[0149] The software model is obtained by combining the functional sub-models according to the hierarchical relationship.
[0150] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0151] Obtain the software features to be updated in the target software;
[0152] Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated;
[0153] Determine the dependency relationship between the software function to be updated and the existing software functions in the software model;
[0154] Based on the subordinate relationships to be updated, update the software model according to the functional sub-models to be updated.
[0155] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0156] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each software function;
[0157] Determine the functional dependencies between various software functions;
[0158] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0159] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0160] For each software function, determine at least one processing step included in the software function based on the function processing type of the software function.
[0161] Determine the processing method for each step;
[0162] Based on the processing steps of each step, construct a functional sub-model of the software function.
[0163] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0164] Determine the execution conditions for each processing step, as well as the execution sequence relationship between each processing step;
[0165] Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step, construct a functional sub-model of the software function.
[0166] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0167] The step-by-step processing method includes at least one of the following: data processing method, time processing method, fault handling method, and redundancy processing method.
[0168] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0169] Determine the hierarchical relationship between the functional sub-models based on the functional hierarchy;
[0170] The software model is obtained by combining the functional sub-models according to the hierarchical relationship.
[0171] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0172] Obtain the software features to be updated in the target software;
[0173] Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated;
[0174] Determine the dependency relationship between the software function to be updated and the existing software functions in the software model;
[0175] Based on the subordinate relationships to be updated, update the software model according to the functional sub-models to be updated.
[0176] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0177] Based on the function processing type of at least one software function of the target software, construct a functional sub-model for each software function;
[0178] Determine the functional dependencies between various software functions;
[0179] Based on the functional hierarchy, the functional sub-models are combined to obtain the software model of the target software.
[0180] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0181] For each software function, determine at least one processing step included in the software function based on the function processing type of the software function.
[0182] Determine the processing method for each step;
[0183] Based on the processing steps of each step, construct a functional sub-model of the software function.
[0184] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0185] Determine the execution conditions for each processing step, as well as the execution sequence relationship between each processing step;
[0186] Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the processing method of each processing step, construct a functional sub-model of the software function.
[0187] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0188] The step-by-step processing method includes at least one of the following: data processing method, time processing method, fault handling method, and redundancy processing method.
[0189] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0190] Determine the hierarchical relationship between the functional sub-models based on the functional hierarchy;
[0191] The software model is obtained by combining the functional sub-models according to the hierarchical relationship.
[0192] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0193] Obtain the software features to be updated in the target software;
[0194] Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated;
[0195] Determine the dependency relationship between the software function to be updated and the existing software functions in the software model;
[0196] Based on the subordinate relationships to be updated, update the software model according to the functional sub-models to be updated.
[0197] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0198] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0199] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0200] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A software model construction method, characterized in that, The method includes: Based on the functional processing type of at least one software function of the target software, construct functional sub-models for each of the software functions; the functional processing type includes data processing type and control processing type; the software function of the data processing type has data interaction characteristics, and the software function of the control processing type has control behavior characteristics; Determine the functional hierarchy among the software functions; wherein, the functional hierarchy refers to the inclusion relationship among the software functions, which is used to clarify the division of parent and child functions among the software functions. Based on the functional hierarchy, determine the hierarchical relationship between each functional sub-model; Based on the hierarchical relationship, the functional sub-models are combined to obtain the software model; Obtain the software functions to be updated in the target software; Based on the function processing type of the software function to be updated, construct the existing sub-model of the function to be updated; Determine the dependency relationship between the software function to be updated and the existing software functions in the software model; Based on the subordinate relationships to be updated, update the software model according to the functional sub-models to be updated; Based on the functional sub-modules in the software model, the interaction between the various software functions during the operation of the target software is simulated, and the impact of each software function on the reliability of the target software is evaluated.
2. The method according to claim 1, characterized in that, The step of constructing functional sub-models for each software function based on the functional processing type of at least one software function of the target software includes: For each software function, determine at least one processing step included in the software function based on the function processing type of the software function. Determine the processing method for each of the aforementioned processing steps; Based on the processing method of each processing step, construct a functional sub-model of the software function.
3. The method according to claim 2, characterized in that, The step of constructing a functional sub-model of the software function according to the step processing method of each of the aforementioned processing steps includes: Determine the execution conditions for each of the processing steps, and the execution timing relationship between each of the processing steps; Based on the execution conditions of each processing step, the execution sequence relationship between each processing step, and the step processing method of each processing step, a functional sub-model of the software function is constructed.
4. The method according to claim 2, characterized in that, The processing method of the steps includes at least one of the following: data processing method, time processing method, fault handling method, and redundancy processing method.
5. The method according to any one of claims 1-4, characterized in that, The step of combining the functional sub-models according to the hierarchical relationship to obtain the software model includes: sorting out the input-output relationship between the input and output data of each functional sub-model according to the hierarchical relationship; and combining the functional sub-models according to the input-output relationship to obtain the software model.
6. The method according to any one of claims 1-4, characterized in that, Determining the functional dependency relationship between the various software functions includes: A dependency relationship retrieval request is sent to the data management terminal, so that the data management terminal provides a dependency relationship response; the dependency relationship response includes the functional dependency relationships between the various software functions.
7. A software model building apparatus, characterized in that, The device includes: A construction module is used to construct functional sub-models for each software function based on the functional processing type of at least one software function of the target software; the functional processing type includes data processing type and control processing type, wherein the software function of the data processing type has data interaction characteristics; and the software function of the control processing type has control behavior characteristics. A determining module is used to determine the functional hierarchy among the software functions; wherein, the functional hierarchy refers to the inclusion relationship among the software functions, and is used to clarify the division of parent and child functions among the software functions; A combination module is used to determine the hierarchical relationship between the functional sub-models according to the functional dependency relationship; combine the functional sub-models according to the hierarchical relationship to obtain a software model; obtain the software functions to be updated in the target software; construct existing functional sub-models to be updated according to the functional processing type of the software functions to be updated; determine the dependency relationship between the software functions to be updated and the existing software functions in the software model; update the software model according to the dependency relationship; and simulate the interaction of the software functions during the operation of the target software based on the functional sub-models in the software model, and evaluate the impact of each software function on the reliability of the target software.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Software testing method and device and electronic equipment
CN114461520A
Software architecture generation method and device based on model development, terminal and storage medium
CN115220699A
Network modeling method for dynamically reconstructing system functions
CN115563705A