Method and apparatus for analyzing data coupling correctness of software architecture based on high-level requirements
By establishing a mapping relationship between high-level and low-level requirements in the software architecture, and evaluating the data coupling consistency between the software architecture and high-level requirements, the problem of compatibility assessment between the software architecture and high-level requirements is solved, and the accuracy and completeness of airworthiness verification are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AECC COMML AIRCRAFT ENGINE CO LTD
- Filing Date
- 2022-07-19
- Publication Date
- 2026-07-10
AI Technical Summary
The lack of effective methods in the existing technology to assess the compatibility between software architecture and high-level requirements leads to difficulties in airworthiness compliance verification, and relying solely on the consistency criterion of internal coupling relationships of components is insufficient to ensure the consistency between software architecture and high-level requirements.
By establishing a 1:m mapping relationship between top-level components of the software architecture and high-level requirements based on the tracing relationship between high-level and low-level requirements, and combining the decomposition relationship between the interfaces of high-level and low-level requirements, the data coupling consistency between the software architecture and high-level requirements is evaluated, providing engineering-feasible judgment criteria.
It enables compatibility assessment of software architecture and high-level requirements, ensures the correctness of software architecture data coupling analysis results, fills the gap in the undefined software architecture and high-level requirements compatibility assessment in DO-178C, and improves the accuracy of airworthiness verification.
Smart Images

Figure CN117453520B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software testing and verification, and specifically to a method and apparatus for analyzing the correctness of software architecture data coupling based on high-level requirements. Background Technology
[0002] DO-178B / C, "Software Considerations in the Conformity Assessment of Airborne Systems and Equipment," requires "completing test coverage of the software architecture (data coupling and control coupling)." This objective primarily focuses on measuring the degree of data coupling coverage between software function modules through requirements-based software (or hardware / software) integration testing. The correctness of the data coupling relationships between covered software function modules is inferred from the correctness of the software (or hardware / software) integration test results. If the test results are incorrect, or the data coupling relationships between software function modules are not covered, it is necessary to examine the consistency and correctness of the data coupling relationships transmitted during the software lifecycle process transformation, based on the data flow decomposition and transformation relationships between software lifecycle stages. This includes the consistency between the software architecture and the data coupling relationships of high-level requirements.
[0003] To address the aforementioned needs, a software data coupling analysis scheme was developed that approximates data from both ends of the software development lifecycle (high-level requirements, source code) towards the middle (low-level requirements, software architecture) in a bidirectional approach, combining forward and reverse methods. Currently, a pressing issue in the industry is how to further decompose the various data coupling analysis sub-processes within this scheme to ensure its comprehensive implementation in airborne software verification practices. Summary of the Invention
[0004] The following provides a brief overview of one or more aspects to offer a basic understanding of them. This overview is not an exhaustive summary of all conceived aspects, nor is it intended to identify key or decisive elements of all aspects, nor to define the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form to prepare for the more detailed descriptions that follow.
[0005] The purpose of this invention is to solve the problem of whether the data coupling relationship of software architecture is compatible with high-level requirements. It provides a method and apparatus for analyzing the correctness of software architecture data coupling based on high-level requirements. This method can evaluate the correctness of the analysis results based on software architecture data coupling from the perspective of high-level requirements. It also provides an engineering-feasible judgment criterion for the airworthiness verification goal of "software architecture being compatible with high-level requirements".
[0006] The technical solution of this invention is as follows: This invention discloses a method for analyzing the correctness of data coupling in software architecture based on high-level requirements. The method includes:
[0007] Step 1: Based on the tracing relationship between high-level and low-level requirements, and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions, establish a 1:m mapping relationship between each top-level component of the software architecture and the high-level requirements it implements, and group the m high-level requirements mapped to the top-level components of the software architecture into a group, where m>1;
[0008] Step 2: Based on the information table of low-level software component requirements and the table of correspondence between high-level software requirements and components, review the compatibility between software architecture components and high-level requirements.
[0009] Step 3: Based on the high-level requirement grouping, group the high-level requirement data coupling analysis results accordingly, and supplement the software architecture top-level component information that the high-level requirements in this group can trace together, and convert the high-level requirement data coupling analysis results into preliminary software architecture coupling analysis results expressed by high-level requirement interface information;
[0010] Step 4: From the preliminary results of the software architecture coupling analysis expressed in high-level requirement interface information, filter out the data coupling information within the components to obtain the data coupling analysis results between software components expressed in high-level requirement interfaces.
[0011] Step 5: Compare the data coupling items of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis or their union, evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis, and determine the correctness of the data coupling analysis results of the software architecture based on high-level requirements.
[0012] According to an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention, step 1 further includes:
[0013] Add two columns, "Function" and "Component," to the table mapping high-level and low-level software requirements, forming a table mapping high-level and low-level software requirements to components. Treat the set of low-level requirements corresponding to each high-level requirement as a whole, and search the table of low-level software requirements to see if there is a software component that contains the entire set of low-level requirements. If so, append the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the table of low-level software requirements to the corresponding columns in the table mapping high-level and low-level software requirements to components.
[0014] According to an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention, step 2 further includes:
[0015] Check the software high-level requirements and component mapping table. If there are high-level requirement entries without corresponding components, or if the "component name" in the software component low-level requirement composition information table does not exist in the software high-level requirements and component mapping table, then the software architecture components and high-level requirements are incompatible. The software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, continue with the following steps.
[0016] According to an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention, step 3 further includes:
[0017] Add one column for "Component Name" to the high-level requirement input / output information table, the high-level requirement data "definition" table, and the high-level requirement data "usage" table. Add two columns for "Component Name" to the valid high-level requirement data "definition-usage" pair table. Add three columns for "Component Name" to the high-level requirement data coupling relationship table. Each "Component Name" corresponds one-to-one with a high-level requirement item. This is equivalent to converting the table into a draft table of high-level requirement input / output information for components, a draft table of high-level requirement data "definition" for components, a draft table of high-level requirement data "usage" for components, a draft table of high-level requirement data "definition-usage" pair table of components, and a draft table of high-level requirement data coupling relationship for components. Based on the software high-level requirement and component correspondence table, automatically fill in the component names corresponding to the high-level requirement items into the draft tables of high-level requirement input / output information for components, a draft table of high-level requirement data "definition" for components, a draft table of high-level requirement data "usage" for components, a draft table of high-level requirement data "definition-usage" pair table of components, and a draft table of high-level requirement data coupling relationship for components.
[0018] According to an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention, step 4 further includes:
[0019] Extract data from the component high-level requirement data "Definition-Use" pair draft table where the "Component Name" field in the definition and use columns is the same, creating invalid component high-level requirement data "Definition-Use" pairs. Delete the data containing input and output interfaces from the invalid component high-level requirement data "Definition-Use" pair tables from the component high-level requirement input / output information draft table, component high-level requirement data "Definition" draft table, component high-level requirement data "Use" draft table, component high-level requirement data "Definition-Use" pair draft table, and component high-level requirement data coupling relationship draft table. Reorder the table data according to the principle of identical component names to form the component high-level requirement input / output information table, component high-level requirement data "Definition" table, component high-level requirement data "Use" table, component high-level requirement data "Definition-Use" pair table, and component high-level requirement data coupling relationship table.
[0020] According to an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention, step 5 further includes:
[0021] A comparative analysis is performed on the detailed data coupling relationships in the component's low-level requirement data coupling relationship table to assess whether they are consistent with the component's high-level requirement data coupling relationship table and whether they conform to the principle of data flow conservation between upper and lower layers. The two sets of component data coupling relationships obtained based on high-level and low-level requirements are also examined to determine if they match. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted. If all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.
[0022] This invention also discloses a software architecture data coupling correctness analysis device based on high-level requirements, the device comprising:
[0023] The software component and high-level requirement mapping module is configured to establish a 1:m mapping relationship between each software architecture top-level component and its implemented high-level requirements based on the traceability relationship between high-level and low-level requirements and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions. The module groups the m high-level requirements mapped to the software architecture top-level components into a group, where m>1.
[0024] The software component and high-level requirement compatibility assessment module is configured to review the compatibility between software architecture components and high-level requirements based on the software component low-level requirement composition information table and the software high-level requirement and component comparison table.
[0025] The software component data coupling conversion module based on high-level requirements is configured to group the high-level requirements data coupling analysis results according to the high-level requirements grouping, and supplement the software architecture top-level component information that is commonly traced by the high-level requirements of that group, and convert the high-level requirements data coupling analysis results into preliminary software architecture coupling analysis results expressed by high-level requirements interface information.
[0026] The software component data coupling refinement module based on high-level requirements is configured to filter out the internal data coupling information of the components from the preliminary results of the software architecture coupling analysis expressed in the high-level requirement interface information, and obtain the data coupling analysis results between software components expressed in the high-level requirement interface.
[0027] The software component data coupling correctness analysis module based on high-level requirements is configured to compare the data coupling items or their union of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis, evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis, and determine the correctness of the software architecture data coupling analysis results based on high-level requirements.
[0028] According to an embodiment of the software architecture data coupling correctness analysis apparatus based on high-level requirements of the present invention, the software component to high-level requirement mapping module is further configured as follows:
[0029] Add two columns, "Function" and "Component," to the table mapping high-level and low-level software requirements, forming a table mapping high-level and low-level software requirements to components. Treat the set of low-level requirements corresponding to each high-level requirement as a whole, and search the table of low-level software requirements to see if there is a software component that contains the entire set of low-level requirements. If so, append the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the table of low-level software requirements to the corresponding columns in the table mapping high-level and low-level software requirements to components.
[0030] According to an embodiment of the software architecture data coupling correctness analysis apparatus based on high-level requirements of the present invention, the software component and high-level requirement compatibility assessment module is further configured as follows:
[0031] Check the software high-level requirements and component mapping table. If there are high-level requirement entries without corresponding components, or if the "component name" in the software component low-level requirement composition information table does not exist in the software high-level requirements and component mapping table, then the software architecture components and high-level requirements are incompatible. The software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, continue processing of subsequent modules.
[0032] According to an embodiment of the software architecture data coupling correctness analysis apparatus based on high-level requirements of the present invention, the software component data coupling conversion module based on high-level requirements is further configured as follows:
[0033] Add one column for "Component Name" to the high-level requirement input / output information table, the high-level requirement data "definition" table, and the high-level requirement data "usage" table. Add two columns for "Component Name" to the valid high-level requirement data "definition-usage" pair table. Add three columns for "Component Name" to the high-level requirement data coupling relationship table. Each "Component Name" corresponds one-to-one with a high-level requirement item. This is equivalent to converting the table into a draft table of high-level requirement input / output information for components, a draft table of high-level requirement data "definition" for components, a draft table of high-level requirement data "usage" for components, a draft table of high-level requirement data "definition-usage" pair table of components, and a draft table of high-level requirement data coupling relationship for components. Based on the software high-level requirement and component correspondence table, automatically fill in the component names corresponding to the high-level requirement items into the draft tables of high-level requirement input / output information for components, a draft table of high-level requirement data "definition" for components, a draft table of high-level requirement data "usage" for components, a draft table of high-level requirement data "definition-usage" pair table of components, and a draft table of high-level requirement data coupling relationship for components.
[0034] According to an embodiment of the software architecture data coupling correctness analysis apparatus based on high-level requirements of the present invention, the software component data coupling refinement module based on high-level requirements is further configured as follows:
[0035] Extract data from the component high-level requirement data "Definition-Use" pair draft table where the "Component Name" field in the definition and use columns is the same, creating invalid component high-level requirement data "Definition-Use" pairs. Delete the data containing input and output interfaces from the invalid component high-level requirement data "Definition-Use" pair tables from the component high-level requirement input / output information draft table, component high-level requirement data "Definition" draft table, component high-level requirement data "Use" draft table, component high-level requirement data "Definition-Use" pair draft table, and component high-level requirement data coupling relationship draft table. Reorder the table data according to the principle of identical component names to form the component high-level requirement input / output information table, component high-level requirement data "Definition" table, component high-level requirement data "Use" table, component high-level requirement data "Definition-Use" pair table, and component high-level requirement data coupling relationship table.
[0036] According to an embodiment of the software architecture data coupling correctness analysis apparatus based on high-level requirements of the present invention, the software component data coupling correctness analysis module based on high-level requirements is further configured as follows:
[0037] A comparative analysis is performed on the detailed data coupling relationships in the component's low-level requirement data coupling relationship table to assess whether they are consistent with the component's high-level requirement data coupling relationship table and whether they conform to the principle of data flow conservation between upper and lower layers. The two sets of component data coupling relationships obtained based on high-level and low-level requirements are also examined to determine if they match. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted. If all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.
[0038] Compared with existing technologies, this invention has the following advantages: DO-178C only defines the compatibility requirements between software architecture and high-level requirements, but does not define the conformity or traceability requirements between them. There is no unified solution in the industry for assessing the compatibility between software architecture and high-level requirements, which has even become a challenge for airworthiness compliance verification.
[0039] To assess whether the software architecture is compatible with high-level requirements, compatibility criteria, detailed assessment methods, and procedures should be determined.
[0040] Furthermore, while software components defined in a software architecture have data coupling relationships, it is insufficient to determine their correctness solely based on the consistency of these internal coupling relationships. A comprehensive assessment requires considering their consistency with data coupling relationships across the upstream lifecycle (i.e., higher-level requirements). Therefore, a new method is needed to evaluate whether the data coupling relationships in a software architecture are consistent with higher-level requirements.
[0041] To this end, this invention groups high-level and low-level requirements according to their mapping relationships with top-level components of the software architecture, obtaining data coupling relationships between components expressed by interface data of high-level and low-level requirements respectively. Then, by combining the decomposition relationship between the interface data of high-level and low-level requirements, the consistency of component data coupling relationships expressed by the two different interface forms of high-level and low-level requirements is checked.
[0042] Specifically, the innovative aspects of this invention include:
[0043] (1) Based on the "traceability relationship between high-level requirements and low-level requirements" and the "inclusion relationship between top-level components of software architecture and low-level requirements" indirectly established through source code functions, the m high-level requirements mapped to the top-level components of software architecture are grouped together, and a 1:m (m>1) mapping relationship is established between each top-level component of software architecture and the high-level requirements it implements. This provides an engineering-feasible judgment criterion for the airworthiness verification goal of "software architecture being compatible with high-level requirements", filling the gap in DO-178C.
[0044] (2) Based on the mapping information between high-level requirements and top-level components of the software architecture, the data coupling relationship of top-level components of the software architecture expressed by high-level requirement interface data is obtained by using the high-level requirement data coupling analysis results.
[0045] (3) By combining the data comparison relationship from high-level requirement interface to low-level requirement interface, the data coupling relationship of the top-level components of the software architecture expressed by the high-level requirement interface is compared with the data coupling relationship of the top-level components of the software architecture expressed by the low-level requirement interface. The consistency of the data coupling relationship of the top-level components of the software architecture expressed by different level interfaces is evaluated, and the correctness of the data coupling analysis results of the software architecture based on high-level requirements is judged. Attached Figure Description
[0046] The above-described features and advantages of the present invention will be better understood after reading the following detailed description of embodiments of the present disclosure in conjunction with the accompanying drawings. In the drawings, components are not necessarily drawn to scale, and components having similar related characteristics or features may have the same or similar reference numerals.
[0047] Figure 1 A flowchart of an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention is shown.
[0048] Figure 2 A schematic diagram of an embodiment of the software architecture data coupling correctness analysis device based on high-level requirements of the present invention is shown. Detailed Implementation
[0049] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments. It should be noted that the aspects described below with reference to the accompanying drawings and specific embodiments are merely exemplary and should not be construed as limiting the scope of protection of the present invention in any way.
[0050] According to DO-178C, the purpose of software architecture design is to decompose and reorganize the functionalities of software requirements into a logically consistent software architecture. As required by DO-178C, the software architecture should be compatible with high-level requirements; that is, each high-level requirement should be implemented by a specific top-level component in the software architecture, and each top-level component should implement the functionalities defined by certain high-level requirement items. In other words, there should be no high-level requirement items that are not implemented in a top-level component of the software architecture; otherwise, the software design's functionality will not meet the high-level requirements. Similarly, there should be no components in the software architecture that do not implement the functionalities of high-level software requirements; otherwise, the software may exhibit unexpected behavior (except for special components that have been identified as fully implementing derived low-level requirements).
[0051] Figure 1 The flowchart illustrates an embodiment of the software architecture data coupling correctness analysis method based on high-level requirements of the present invention. Please refer to [link to relevant documentation]. Figure 1 The following is a detailed description of the implementation steps of the method in this embodiment.
[0052] Step 1: Based on the tracing relationship between high-level and low-level requirements, and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions, establish a 1:m (m>1) mapping relationship between each top-level component of the software architecture and the high-level requirements it implements, and group the m high-level requirements mapped to the top-level components of the software architecture into a group.
[0053] Step 1 specifically includes: adding "Function" and "Component" columns to the software high-level requirement and low-level requirement mapping table 6-0, forming the software high-level requirement and component mapping table 7-0; treating each set of low-level requirement items corresponding to each high-level requirement item as a whole, and checking whether there is a software component containing the entire set of low-level requirement items in the software component low-level requirement composition information table 5-0-0. If so, appending the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the software component low-level requirement composition information table 5-0-0 to the corresponding columns in the software high-level requirement and component mapping table 7-0.
[0054] Table 1. Relationship between Software High-Level Requirements and Components (Table 7-0)
[0055]
[0056] Table 6-0: Relationship between High-Level and Low-Level Software Requirements
[0057]
[0058] Software Functional Components Low-Level Requirements Information Table 5-0-0
[0059]
[0060] Step 2: Review the compatibility between software architecture components and high-level requirements based on Tables 5-0-0 and 7-0.
[0061] Step 2 specifically includes: checking the software high-level requirements and component correspondence table 7-0. If there are high-level requirement entries without corresponding components; or if the "component name" in the software component low-level requirement composition information table 5-0-0 does not exist in table 7-0, then the software architecture components and high-level requirements are incompatible, and a software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, continue with the following steps.
[0062] Step 3: Based on the high-level requirement grouping, group the high-level requirement data coupling analysis results accordingly, and supplement the software architecture top-level component information that the high-level requirements in this group can trace together, thus converting the high-level requirement data coupling analysis results into preliminary software architecture coupling analysis results expressed in high-level requirement interface information.
[0063] Step 3 further includes: adding one column for "Component Name" to the high-level requirement input / output information table 1-1, the high-level requirement data "Definition" table 1-2, and the high-level requirement data "Usage" table 1-3; adding two columns for "Component Name" to the valid high-level requirement data "Definition-Usage" pair table 1-4; and adding three columns for "Component Name" to the high-level requirement data coupling relationship table 1-5 ("Component Name" corresponds one-to-one with the high-level requirement item (UID)). This is equivalent to converting the high-level requirement input / output information of components into a draft table. 7-1-0, Draft table for "Definition" of high-level component requirements data; 7-2-0, Draft table for "Use" of high-level component requirements data; 7-3-0, Draft table for "Definition-Use" pair of high-level component requirements data; 7-4-0, Draft table for coupling relationship of high-level component requirements data; 7-5-0, Draft table for the correspondence between high-level software requirements and components; 7-0, automatically fill in the component names corresponding to the high-level requirement entries (UIDs) into Tables 7-1-0, 7-2-0, 7-3-0, Draft Table 7-4-0, and Draft Table 7-5-0.
[0064] Table 2 Draft of Component High-Level Requirements Input and Output Information 7-1-0 / Component High-Level Requirements Input and Output Information Table 7-1
[0065]
[0066] Table 3 Draft Table 7-2-0 of Component High-Level Demand Data "Definition" / Table 7-2 of Component High-Level Demand Data "Definition"
[0067]
[0068] Table 4 Component High-Level Demand Data "Using" Draft Table 7-3-0 / Component High-Level Demand Data "Using" Table 7-3
[0069]
[0070] Table 5 shows the high-level component requirement data "Definition-Use" for Table 7-4-0 / Invalid high-level component requirement data "Definition-Use" for Table 7-4-1 / Valid high-level component requirement data "Definition-Use" for Table 7-4
[0071]
[0072] Table 6. Coupling Relationship of High-Level Component Demand Data 7-5-0 / Coupling Relationship of High-Level Component Demand Data 7-5
[0073]
[0074] Software high-level requirements input and output information table 1-1
[0075]
[0076] Data definition table 1-2 for high-level software requirements
[0077]
[0078] Data for high-level software requirements is presented in Table 1-3.
[0079]
[0080]
[0081] Effective definition-use of high-level software requirements data in Table 1-4
[0082]
[0083] Table 1-5 of Software High-Level Requirements Data Coupling Relationships
[0084]
[0085] Step 4: From the preliminary results of the software architecture coupling analysis expressed in high-level requirement interface information, filter out the data coupling information within the components to obtain the data coupling analysis results between software components expressed in high-level requirement interfaces.
[0086] Step 4 further includes: extracting data with the same "Component Name" in the "Definition-Use" pair from the component high-level requirement data "Definition-Use" draft table 7-4-0, forming an invalid component high-level requirement data "Definition-Use" pair table 7-4-1; deleting the relevant data (including data in input and output interfaces) from tables 7-1-0, 7-2-0, 7-3-0, draft table 7-4-0, and draft table 7-5-0; and reordering the table data according to the principle of the same component name, forming component high-level requirement input and output information table 7-1, component high-level requirement data "Definition" table 7-2, component high-level requirement data "Use" table 7-3, component high-level requirement data "Definition-Use" pair table 7-4, and component high-level requirement data coupling relationship table 7-5.
[0087] Step 5: Compare the data coupling items (name, input / output direction, quantity) of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis, or their union, and evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis. Determine the correctness of the data coupling analysis results of the software architecture based on high-level requirements.
[0088] Step 5 further includes: comparing and analyzing the detailed data coupling relationships in Table 5-5 (data coupling relationships of software functional components expressed by low-level requirement interfaces) to evaluate whether they are consistent with Table 7-5 (data coupling relationships of software functional components expressed by high-level requirement interfaces), whether they conform to the principle of data flow conservation between upper and lower layers, and whether the two sets of component data coupling relationships obtained based on high-level and low-level requirements are consistent. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted; if all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.
[0089] Table 7 Draft Table 5-5-0 of Component Lower-Level Demand Data Coupling Relationship / Draft Table 5-5-1 of Component Lower-Level Demand Data Coupling Relationship / Table 5-5 of Component Lower-Level Demand Data Coupling Relationship
[0090]
[0091] Figure 2 This illustrates the principle of an embodiment of the software architecture data coupling correctness analysis device based on high-level requirements of the present invention. The table content involved in the module description of this embodiment has already been... Figure 1 The embodiments described above are illustrated and will not be repeated here. Please refer to [link to relevant documentation]. Figure 2The apparatus of this embodiment includes the following modules connected in sequence: a software component and high-level requirement mapping module, a software component and high-level requirement compatibility evaluation module, a software component data coupling conversion module based on high-level requirements, a software component data coupling refinement module based on high-level requirements, and a software component data coupling correctness analysis module based on high-level requirements.
[0092] The software component and high-level requirement mapping module is configured to establish a 1:m mapping relationship between each software architecture top-level component and the high-level requirements it implements, based on the traceability relationship between high-level and low-level requirements and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions. The module groups the m high-level requirements mapped to the top-level components of the software architecture into a group, where m>1.
[0093] The software component and high-level requirement mapping module is further configured as follows: Two columns, "Function" and "Component," are added to the software high-level requirement and low-level requirement mapping table to form a software high-level requirement and component mapping table; Each set of low-level requirement items corresponding to a high-level requirement item is treated as a whole, and the software component low-level requirement composition information table is searched for a software component that contains the entire set of low-level requirements; if found, the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the software component low-level requirement composition information table are appended to the corresponding columns in the software high-level requirement and component mapping table.
[0094] The software component and high-level requirement compatibility assessment module is configured to review the compatibility between software architecture components and high-level requirements based on the software component low-level requirement composition information table and the software high-level requirement and component comparison table.
[0095] The software component and high-level requirement compatibility assessment module is further configured as follows: It checks the software high-level requirement and component mapping table. If there are high-level requirement entries without corresponding components, or if a "component name" exists in the software component low-level requirement composition information table but is not present in the software high-level requirement and component mapping table, then the software architecture components and high-level requirements are incompatible. A software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, the subsequent modules will continue processing.
[0096] The software component data coupling conversion module based on high-level requirements is configured to group the high-level requirements data coupling analysis results according to the high-level requirements grouping, and supplement the software architecture top-level component information that is commonly traced by the high-level requirements of that group, and convert the high-level requirements data coupling analysis results into preliminary software architecture coupling analysis results expressed in high-level requirements interface information.
[0097] The software component data coupling conversion module based on high-level requirements is further configured as follows: One column for "Component Name" is added to the high-level requirement input / output information table, the high-level requirement data "Definition" table, and the high-level requirement data "Usage" table; two columns for "Component Name" are added to the valid high-level requirement data "Definition-Usage" pair table; and three columns for "Component Name" are added to the high-level requirement data coupling relationship table. Each "Component Name" corresponds one-to-one with a high-level requirement item, equivalently converting to a draft table of component high-level requirement input / output information, a draft table of component high-level requirement data "Definition", a draft table of component high-level requirement data "Usage", a draft table of component high-level requirement data "Definition-Usage", and a draft table of component high-level requirement data coupling relationships. Based on the software high-level requirement and component correspondence table, the component names corresponding to the high-level requirement items are automatically filled into the draft tables of component high-level requirement input / output information, component high-level requirement data "Definition", component high-level requirement data "Usage", component high-level requirement data "Definition-Usage", and component high-level requirement data coupling relationships.
[0098] The software component data coupling refinement module based on high-level requirements is configured to filter out the internal data coupling information of the components from the preliminary results of the software architecture coupling analysis expressed in high-level requirement interface information, and obtain the data coupling analysis results between software components expressed in high-level requirement interface.
[0099] The software component data coupling refinement module based on high-level requirements is further configured as follows: Data with the same "Component Name" in the "Definition-Use" pair of component high-level requirement data is extracted from the component high-level requirement data "Definition-Use" draft table, forming invalid component high-level requirement data "Definition-Use" pairs. Data containing input and output interfaces in the invalid component high-level requirement data "Definition-Use" pair tables are deleted from the component high-level requirement input / output information draft table, component high-level requirement data "Definition" draft table, component high-level requirement data "Use" draft table, component high-level requirement data "Definition-Use" pair draft table, and component high-level requirement data coupling relationship draft table. The table data is then reordered according to the principle of identical component names, forming the component high-level requirement input / output information table, component high-level requirement data "Definition" table, component high-level requirement data "Use" table, component high-level requirement data "Definition-Use" pair table, and component high-level requirement data coupling relationship table.
[0100] The software component data coupling correctness analysis module based on high-level requirements is configured to compare the data coupling items or their union of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis, evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis, and determine the correctness of the software architecture data coupling analysis results based on high-level requirements.
[0101] The software component data coupling correctness analysis module based on high-level requirements is further configured as follows: It compares and analyzes the detailed data coupling relationships in the component's low-level requirement data coupling relationship table, assesses whether they are consistent with the component's high-level requirement data coupling relationship table, whether they conform to the principle of data flow conservation between upper and lower layers, and whether the two sets of component data coupling relationships obtained based on high-level and low-level requirements match. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted; if all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.
[0102] Although the methods described above are illustrated and depicted as a series of actions for the sake of simplicity, it should be understood and appreciated that these methods are not limited by the order of the actions, as some actions may occur in a different order and / or concurrently with other actions from the illustrations and descriptions herein or not illustrated and described herein but which may be understood by those skilled in the art, according to one or more embodiments.
[0103] Those skilled in the art will further appreciate that the various illustrative logic blocks, modules, circuits, and algorithm steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and steps are described above in a generalized manner in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the invention.
[0104] The various illustrative logic blocks, modules, and circuits described in conjunction with the embodiments disclosed herein can be implemented or performed using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but in alternatives, it may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration.
[0105] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of both. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor such that the processor can read and write information to / from the storage medium. In an alternative, the storage medium may be integrated into the processor. The processor and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In an alternative, the processor and storage medium may reside as discrete components in the user terminal.
[0106] In one or more exemplary embodiments, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software as a computer program product, the functionality may be stored or transmitted as one or more instructions or code on or through a computer-readable medium. A computer-readable medium includes both computer storage media and communication media, encompassing any medium that facilitates the transfer of a computer program from one location to another. A storage medium may be any available medium accessible to a computer. By way of example and not limitation, such a computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and is accessible to a computer. Any connection is also legitimately referred to as a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of a medium. As used in this article, disk and disc include compact discs (CDs), laser discs, optical discs, digital multi-purpose discs (DVDs), floppy disks, and Blu-ray discs. Disks typically reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of these should also be included within the scope of computer-readable media.
[0107] The prior description of this disclosure is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not intended to be limited to the examples and designs described herein, but should be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A software architecture data coupling correctness analysis method based on high-level requirements, characterized in that, The methods include: Step 1: Based on the tracing relationship between high-level and low-level requirements, and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions, establish a 1:m mapping relationship between each top-level component of the software architecture and the high-level requirements it implements, and group the m high-level requirements mapped to the top-level components of the software architecture into a group, where m>1; Step 2: Based on the information table of low-level software component requirements and the table of correspondence between high-level software requirements and components, review the compatibility between software architecture components and high-level requirements. Step 3: Based on the high-level requirement grouping, group the high-level requirement data coupling analysis results accordingly, and supplement the software architecture top-level component information that the high-level requirements in this group can trace together, and convert the high-level requirement data coupling analysis results into preliminary software architecture coupling analysis results expressed by high-level requirement interface information; Step 4: From the preliminary results of the software architecture coupling analysis expressed in high-level requirement interface information, filter out the data coupling information within the components to obtain the data coupling analysis results between software components expressed in high-level requirement interfaces. Step 5: Compare the data coupling items of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis or their union, evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis, and determine the correctness of the data coupling analysis results of the software architecture based on high-level requirements.
2. The software architecture data coupling correctness analysis method based on high-level requirements as described in claim 1, characterized in that, Step 1 further includes: Add two columns, "Function" and "Component," to the table mapping high-level and low-level software requirements to create a table mapping high-level and low-level software requirements to components. Treat the set of low-level requirements corresponding to each high-level requirement as a whole. In the table of low-level requirements composition of software components, check if there is a software component that contains the entire set of low-level requirements. If so, append the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the table of low-level requirements composition of software components to the corresponding columns in the table mapping high-level and low-level software requirements to components.
3. The software architecture data coupling correctness analysis method based on high-level requirements as described in claim 1, characterized in that, Step 2 further includes: Check the software high-level requirements and component mapping table. If there are high-level requirement entries without corresponding components, or if the "component name" in the software component low-level requirement composition information table does not exist in the software high-level requirements and component mapping table, then the software architecture components and high-level requirements are incompatible. A software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, continue with the following steps.
4. The software architecture data coupling correctness analysis method based on high-level requirements as described in claim 1, characterized in that, Step 3 further includes: Add one column for "Component Name" to the High-Level Requirement Input / Output Information Table, the High-Level Requirement Data "Definition" Table, and the High-Level Requirement Data "Usage" Table. Add two columns for "Component Name" to the Valid High-Level Requirement Data "Definition-Usage" Pair Table. Add three columns for "Component Name" to the High-Level Requirement Data Coupling Relationship Table. Each "Component Name" corresponds one-to-one with a high-level requirement item. This is equivalent to converting the table into draft tables for component high-level requirement input / output information, component high-level requirement data "Definition", component high-level requirement data "Usage", component high-level requirement data "Definition-Usage" pairs, and component high-level requirement data coupling relationships. Based on the software high-level requirement and component mapping relationship table, automatically fill in the component names corresponding to the high-level requirement items into these draft tables.
5. The software architecture data coupling correctness analysis method based on high-level requirements according to claim 1, characterized in that, Step 4 further includes: Extract data from the component high-level requirement data "Definition-Use" pair draft table where the "Component Name" field in the definition and use columns is the same, creating invalid component high-level requirement data "Definition-Use" pairs. Delete the data containing input and output interfaces from the invalid component high-level requirement data "Definition-Use" pair tables from the component high-level requirement input / output information draft table, component high-level requirement data "Definition" draft table, component high-level requirement data "Use" draft table, component high-level requirement data "Definition-Use" pair draft table, and component high-level requirement data coupling relationship draft table. Reorder the table data according to the principle of identical component names to create the component high-level requirement input / output information table, component high-level requirement data "Definition" table, component high-level requirement data "Use" table, component high-level requirement data "Definition-Use" pair table, and component high-level requirement data coupling relationship table.
6. The software architecture data coupling correctness analysis method based on high-level requirements as described in claim 1, characterized in that, Step 5 further includes: A comparative analysis is performed on the detailed data coupling relationships in the component's low-level requirement data coupling relationship table to assess whether they are consistent with the component's high-level requirement data coupling relationship table and whether they conform to the principle of data flow conservation between upper and lower layers. The two sets of component data coupling relationships obtained based on high-level and low-level requirements are also examined to determine if they match. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted. If all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.
7. A software architecture data coupling correctness analysis device based on high-level requirements, characterized in that, The device includes: The software component and high-level requirement mapping module is configured to establish a 1:m mapping relationship between each software architecture top-level component and its implemented high-level requirements based on the traceability relationship between high-level and low-level requirements and the inclusion relationship between the top-level components of the software architecture and low-level requirements indirectly established through source code functions. The module groups the m high-level requirements mapped to the software architecture top-level components into a group, where m>1. The software component and high-level requirement compatibility assessment module is configured to review the compatibility between software architecture components and high-level requirements based on the software component low-level requirement composition information table and the software high-level requirement and component comparison table. The software component data coupling conversion module based on high-level requirements is configured to group the high-level requirements data coupling analysis results according to the high-level requirements grouping, and supplement the software architecture top-level component information that is commonly traced by the high-level requirements of that group, and convert the high-level requirements data coupling analysis results into preliminary software architecture coupling analysis results expressed by high-level requirements interface information. The software component data coupling refinement module based on high-level requirements is configured to filter out the internal data coupling information of the components from the preliminary results of the software architecture coupling analysis expressed in the high-level requirement interface information, and obtain the data coupling analysis results between software components expressed in the high-level requirement interface. The software component data coupling correctness analysis module based on high-level requirements is configured to compare the data coupling items or their union of the top-level components of the software architecture indirectly obtained based on low-level requirements analysis, evaluate whether they are consistent with the data coupling relationship of the top-level components of the software architecture obtained based on high-level requirements analysis, and determine the correctness of the software architecture data coupling analysis results based on high-level requirements.
8. The software architecture data coupling correctness analysis device based on high-level requirements according to claim 7, characterized in that, The software component and high-level requirement mapping module is further configured as follows: Add two columns, "Function" and "Component," to the table mapping high-level and low-level software requirements to create a table mapping high-level and low-level software requirements to components. Treat the set of low-level requirements corresponding to each high-level requirement as a whole. In the table of low-level requirements composition of software components, check if there is a software component that contains the entire set of low-level requirements. If so, append the contents of the "Function" and "Component" columns corresponding to the low-level requirement items in the table of low-level requirements composition of software components to the corresponding columns in the table mapping high-level and low-level software requirements to components.
9. The software architecture data coupling correctness analysis device based on high-level requirements according to claim 7, characterized in that, The software component and high-level requirement compatibility assessment module is further configured as follows: Check the software high-level requirements and component mapping table. If there are high-level requirement entries without corresponding components, or if the "component name" in the software component low-level requirement composition information table does not exist in the software high-level requirements and component mapping table, then the software architecture components and high-level requirements are incompatible. The software defect handling process should be submitted to modify and improve the software architecture or high-level requirements; otherwise, continue processing of subsequent modules.
10. The software architecture data coupling correctness analysis device based on high-level requirements according to claim 7, characterized in that, The software component data coupling and transformation module, based on high-level requirements, is further configured as follows: Add one column for "Component Name" to the High-Level Requirement Input / Output Information Table, the High-Level Requirement Data "Definition" Table, and the High-Level Requirement Data "Usage" Table. Add two columns for "Component Name" to the Valid High-Level Requirement Data "Definition-Usage" Pair Table. Add three columns for "Component Name" to the High-Level Requirement Data Coupling Relationship Table. Each "Component Name" corresponds one-to-one with a high-level requirement item. This is equivalent to converting the table into draft tables for component high-level requirement input / output information, component high-level requirement data "Definition", component high-level requirement data "Usage", component high-level requirement data "Definition-Usage" pairs, and component high-level requirement data coupling relationships. Based on the software high-level requirement and component mapping relationship table, automatically fill in the component names corresponding to the high-level requirement items into these draft tables.
11. The software architecture data coupling correctness analysis device based on high-level requirements according to claim 7, characterized in that, The software component data coupling refinement module, based on high-level requirements, is further configured as follows: Extract data from the component high-level requirement data "Definition-Use" pair draft table where the "Component Name" field in the definition and use columns is the same, creating invalid component high-level requirement data "Definition-Use" pairs. Delete the data containing input and output interfaces from the invalid component high-level requirement data "Definition-Use" pair tables from the component high-level requirement input / output information draft table, component high-level requirement data "Definition" draft table, component high-level requirement data "Use" draft table, component high-level requirement data "Definition-Use" pair draft table, and component high-level requirement data coupling relationship draft table. Reorder the table data according to the principle of identical component names to create the component high-level requirement input / output information table, component high-level requirement data "Definition" table, component high-level requirement data "Use" table, component high-level requirement data "Definition-Use" pair table, and component high-level requirement data coupling relationship table.
12. The software architecture data coupling correctness analysis device based on high-level requirements according to claim 7, characterized in that, The software component data coupling correctness analysis module based on high-level requirements is further configured as follows: A comparative analysis is performed on the detailed data coupling relationships in the component's low-level requirement data coupling relationship table to assess whether they are consistent with the component's high-level requirement data coupling relationship table and whether they conform to the principle of data flow conservation between upper and lower layers. The two sets of component data coupling relationships obtained based on high-level and low-level requirements are also examined to determine if they match. If any one of the three judgment results is negative, the inconsistency is recorded and a defect report is submitted. If all three judgment results are positive, the software architecture data coupling analysis result based on high-level requirements is correct, and the analysis ends.