Abstract
Components play a pivotal role in component-based software, with certain components being crucial in realizing the software’s overall functionality. The importance of component is usually characterized using the weight value of component. How to get the weight value is a problem that needs to be studied. Traditionally, the weight value can be denoted by an expert’s evaluation. However, the importance of components can vary depending on their interactions within different combination structures. Therefore, it becomes necessary to consider the mutual influence resulting from component interactions when determining component weights, in addition to expert evaluations. In this study, we first establish an influence value model that captures the interactions between components within various combinations. Subsequently, we propose a comprehensive weight allocation method for components by integrating expert evaluations with the influence values obtained from the component interactions, using an evidence-based information fusion approach. Finally, we validate the effectiveness of our method by implementing a scenic spot ticket purchase system. This approach is more reasonable than the single method and can provide software developers with a more comprehensive analysis of component importance, enabling them to make informed decisions.
1. Introduction
With the increasing complex of software systems, there is a significant need for software adaptability. Early software systems faced challenges in effectively adapting to dynamic environments and meeting user needs [1–4]. Consequently, there has been a significant increase in research interest in component-based software, which provides wide applicability and high reusability. The concept of component-based software engineering was first introduced by McIlroy [5] in 1968, advocating the division of complete and intricate software systems into smaller components to enhance system comprehensibility. In 2002, Szyperski et al. [6] explored the definition, current state, and research trends of components. However, the discussion at that time was limited by the immaturity of component thinking. Over the years, extensive research has been conducted in the field of component-based software engineering (CBSE), which has yielded a top-down approach to software architecture decomposition [7]. The development of CBSE has provided a systematic framework for organizing software systems into manageable components, enhancing adaptability and facilitating comprehension. By leveraging the benefits of component-based software engineering, software systems can better adapt to changing environments and meet the diverse needs of users. As software systems grow in scale to meet increasing user demands, the adoption of component-based software development methods becomes more prevalent [8]. A component-based software system comprises a collection of individual components, each with its internal structure and the ability to interact with other components in various combinations to fulfill software functionalities [9]. In complex systems, specific components play a vital role in ensuring the smooth operation of the software system [10, 11]. Therefore, it becomes essential to quantify the importance of these components.
Bertrand proposed the “ABCDE” quality classification model, which categorizes components into five classes, providing a basis for their classification and importance [12]. However, this classification only focuses on the class of components and does not distinguish the importance of the single component in great detail. To convey the importance of a component, it is necessary to assign weight to the component. Commonly, the analytic hierarchy process (AHP) [13] and entropy methods [14] are employed for weight allocation. In the classical AHP model, the importance between elements is denoted by a pairwise comparison matrix. The AHP method is subjective and heavily relies on expert’s evaluations, leading to uncertain information. Wang et al. [15] used the AHP method for weight allocation in software components and developed a multivalued model for allocating software component development costs based on different software system structures. Zhou et al. [16] combined component weights with user feedback to establish trustworthiness measurement models based on component construction, using the Dempster–Shafer (D–S) evidence theory to fuse fuzzy and uncertain information obtained through the AHP method. Lozano-Tello and Gomez-Perez [17] utilized AHP to facilitate multicriteria decision-making for reused software components, assisting software engineers in evaluating suitable components for adoption. Comparing AHP with the weighted scoring method (WSM) and the hybrid knowledge-based system (HKBS), Jadhav and Sonar [18] found that HKBS performed more better than AHP and WSM in evaluating and selecting software packages. To simplify the AHP process in component quality evaluation and reduce subjectivity, Ren [19] proposed a software component quality evaluation model based on group decision-making. To characterize the uncertain information in more detail, D-AHP has been proposed, which considers the impact of information credibility [20]. To tackle the challenges arising from imprecise and incomplete information, van Laarhoven and Pedrycz [21] introduced a new method called fuzzy analytic hierarchy process (FAHP), which combines fuzzy set theory with AHP. FAHP builds upon AHP, aiming to align the judgment results with human thinking and capture the complexities of real-world scenarios. It offers significant advantages over traditional AHP in dealing with fuzzy and difficult-to-quantify problems, making it suitable for various nondeterministic situations where clear and systematic outcomes are desired. In FAHP, the use of fuzzy numbers for pairwise comparison accounts for the high degree of fuzziness and uncertainty inherent in human judgments in real-world contexts [22]. Recently, scholars have extended the application of fuzzy sets to T-spherical fuzzy sets and employed T-spherical fuzzy matrices to express expert’s evaluations of risk factors. They obtained the weights of risk factors from risk assessment matrices [23, 24]. However, as the AHP, D-AHP, FAHP methods are prone to subjective bias and may not fully capture the internal information that reflects the importance, relying solely on expert evaluation may not be sufficient for weight allocation. Consequently, several objective weight allocation methods have been developed.
The entropy method is a widely used approach for weight allocation [14]. It is an objective method that calculates the weight based on the amount of information carried by the data, yielding a relatively objective index weight. Recently, the entropy method has been extended to the cross-entropy of discrete Z-numbers method [25], which describes the ambiguity and reliability of the information. However, it primarily applies to multiresponse systems. Certain software systems do not exist multiple response characteristics. For instance, some computational software simply requires the input to generate the output, without requiring user responses during the computation process. Hence, the entropy method is not suitable for weight allocation in general component-based software. Kim et al. [26] addressed the design optimization problem objectively and proposed the feasible improved weight allocation (FIWA) method. In FIWA, the significant input variables that violate constraints will obtained the more weight to achieve a feasible design. This method is more appropriate for multiresponse systems with multiple input variables. But, it may not be applicable to software systems that lack multiple input variables. CRiteria Importance Through Intercriteria Correlation (CRITIC) method is another objective method for weight allocation [27], which is based on the quantification of the contrast intensity and the conflicting character of the evaluation criteria. In the context of component-based software, different components have diverse functions and characteristics, and it is difficult to obtain the data of the conflict between components. Huang et al. [28] classified components into critical and noncritical components based on their varying importance and proposed a credibility measurement model considering different component combination modes. However, this model does not present a specific method for calculating the importance of weight.
To overcome the limitations of subjective and objective methods, combination weight allocation methods have been studied. For example, the entropy-AHP weighted method [29] was developed to compensate the disadvantage of single method and to boost their advantages. The software systems include many attributes, and the conflict often happened between these attributes. To allocate weights to attributes more reasonably, Gao et al. [30] proposed a novel weight allocation method for software attributes by combining the FAHP method with the CRITIC method. This approach considers the conflict between attributes by using the CRITIC method. In the context of component-based software systems, each component comprises multiple attributes, and the combination of components can influence trustworthiness. Recently, Ma et al. [31] employed the FAHP method and the correlation between trustworthy attributes and defects to determine the attribute weights for components.
The methods discussed above can provide a mean to analyze the weight or importance of a specific object. However, when dealing with complex component-based software systems, it is insufficient to determine the importance of components based solely on a single method, such as expert evaluation or component attributes [32–34]. The reason mainly arises there exists internal interaction information that objectively reflects the importance of components. For example, in a train ticket purchasing system, the “ticket” component must transmit data to the “payment” component. If the “ticket” component fails to execute successfully, then the performance of “payment” will be affected. Therefore, the “ticket” component is more important than the “payment,” which also indicates that there exists a mutual influence on the importance of components. Therefore, it is essential to comprehensively consider expert evaluations and the mutual influence between components to evaluate component importance. Moreover, different combinations of components lead to varying interactions and levels of mutual influence. Therefore, in this paper, we establish an influence value model based on a directed diagram model and propose an objective weight allocation method. Additionally, a comprehensive weight allocation approach for components is proposed by combining the FAHP method with the objective weight allocation method.
The structure of this paper is as follows: Section 2 provides an overview of relevant work, including the FAHP method and evidence theory fusion method. In Section 3, we construct the influence value model based on combination structures. Section 4 presents the objective weight allocation method, considering the mutual influence between components. In Section 5, we propose a comprehensive weight allocation method for components. A case study is presented in Section 6. Finally, Section 7 concludes the paper.
2. Related Work
2.1. The Weight Allocation of Components Based on FAHP
Due to the importance of each component in the software system being different, experts need to compare each other according to the different importance of the components and give a relatively fuzzy and nondeterministic evaluation. Then, the weight of each component is determined by integrating the opinions of multiple experts. Additionally, the behavior of components can be influenced by various factors, such as the environment and hardware. Generally, experts cannot thoroughly consider all possible situations, leading to uncertainty and incomplete information. Thus, it is more appropriate to allocate the weight of components based on expert evaluations using the simplified FAHP method. The specific steps are given as follows, and detailed contents can be found in [21].
Step 1. Suppose there are components, and experts compare each component pairwise to provide the corresponding fuzzy importance evaluation. These fuzzy evaluations are then converted into triangular fuzzy numbers, denoted as , , where , , and represent the lowest possible value, the most possible value, and the highest possible value of the relative importance of component and evaluated by the expert, respectively. These values are determined based on the integer scale from 1 to 9 adopted in the AHP method, as shown in Table 1. Therefore, the fuzzy judgment matrix is constructed based on the fuzzy evaluation given by the expert as follows, where is the number of components:
Step 2. The fuzzy judgment matrices provided by experts are fused to obtain a comprehensive fuzzy judgment matrix , where the elements in the matrix are represented as comprehensive triangular fuzzy numbers . The specific calculation process is given as follows:Then, the comprehensive fuzzy judgment matrix is given as follows:
Step 3. Calculating the fuzzy weight of the th component:
Step 4. According to the method proposed by Kaufmann and Gupta [35], the fuzzy weight obtained in Step 3 is defuzzified and the subjective weight of each component is calculated. The specific calculation process is given as follows:where expresses the subjective weight of the th component, and the subjective weight of all components can be written as a -dimensional vector, .
2.2. Evidence Theory Fusion Method
Evidence information fusion methods have distinct advantages in handling uncertain information and are commonly used to combine information from multiple independent sources [36, 37]. A recognition frame is usually a nonempty finite set, where a subset of the recognition frame is called a proposition . is the basic probability assignment function on the recognition frame , which represents the probability that the evidence information supports the occurrence of proposition . Suppose that independent evidences on the same recognition frame have basic probability assignment functions of , , , and the D–S evidence fusion rule for fusing evidences is defined as:where is a normalized coefficient, it is used to avoid assigning nonzero probabilities to the null set , and the meaning of is the conflict between evidence information. The closer the value of is to 1, the greater the conflict between evidence information [38].
3. The Influence Value Model of Components Based on the Combination Structure
As the weight allocation of components based on FAHP mainly relies on expert evaluation, it may be too subjective to fully reflect the importance. In complex software systems, there is also objective information that can reflect the importance of components. During the component-based system, the component often interacts with other components through the various combination structures, such as sequence, branch, and more. If a critical function of a system can be realized by a component interacting with other components, then the corresponding component plays a pivotal role, and the weight of this component allocated is increased accordingly. At the same time, the weight of the interacted component should not be disregarded. Hence, the interaction information between components should be taken into consideration when determining the component’s importance. Different combinations involve various interaction actions. For instance, in the sequence structure, the execution of a later component relies on the execution data of a previous component. This implies that the previous component influences the later component. The degree of influence between components also determines the component’s importance. During this section, we will try to establish the influence value model based on the combination structure by using the directed diagram.
Generally, component-based software consists of numerous components. There exists a mutual influence between components when the components are linked by some combination structure. Similar to the approach in [39], we consider the component as the node and the links between components as the directed edges. If the component influences component , then there exists a directed edge from component to component . In [39], the author uses unweighted directed edge to express the influence between components. Suppose there are components, the influence matrix was established in [39]. If the component influences component , then the element in the -th row and -th column of the matrix is . However, component may not only affect component , but also have an impact on several other components. Therefore, the importance of component should be comprehensively determined by considering all the outedges that originate from it and point to other components. To quantify the degree of influence between components conveniently and understand the influence relationship between components intuitively, we introduce an influence value for every directed edge of the component, as shown in Figure 1.

The value of belongs to the scale range proposed in [40], which is defined as . Here, elements , and represent no impact, small impact, medium impact, and great impact, respectively.
The links between components are typically established through various combinations of components. The influence value should be analyzed according to the different combinations of components. Next, we will introduce seven basic component combinations that are frequently used in software system architecture research: sequence, branch, parallel, interrupt fault-tolerant, noninterrupt fault-tolerant, callback, and loop structure. According to the characterization of the combination structure, the influence value between components will be established.
3.1. Sequential Structure
Suppose the software system is composed of components through a sequential structure. According to the characterization of sequence structure, the later component can continue to be executed only when the previous component has been successfully executed. Therefore, the successful execution of the previous component has a significant impact on the execution of the later component. Moreover, the failure of any component in the sequential structure will lead to the collapse of the whole software system, so that the corresponding task objectives cannot be performed. Therefore, each component of the software system in the sequential structure is critical and cannot be overlooked, and thus the influence values among each component in the sequential structure will be attached with 3 to express the importance. This is illustrated in Figure 2.

3.2. Branch Structure
Let the software system be composed of components through branch structure. Each component will be executed with a certain probability , and the influence value among each component under the branch structure will be determined by the probability . Therefore, the component with the highest probability is assigned an influence value of 3, the component with the lowest probability is assigned an influence value of 1, and the other component influence values are assigned an influence value of 2, as shown in Figure 3.

3.3. Parallel Structure
In a parallel structure, components are executed simultaneously. When all components in the parallel structure run successfully, the entire parallel structure can run successfully. Under this structure, all components are required to run successfully, and the failure of any component will lead to subsequent processes failing. Therefore, the influence values among each component in the parallel structure will be attached with 3, as shown in Figure 4.

3.4. Interrupt Fault-Tolerant Structure
Suppose the software system comprises components through an interrupt fault-tolerant structure. If the main component fails due to external factors (e.g., virus attacks, changes in the experimental environment, etc.) or internal conflicts (e.g., code conflicts, etc.), the system will immediately stop the operation of the main components. Then, the software system switches to redundant backup components, allowing the system to recover from errors and ensure the normal operation of the software system. The system is considered to have failed only if both the main component and its redundant backup components have failed. In an interrupt fault-tolerant structure, only one of the components needs to execute successfully. Therefore, the influence value of the precomponent on each component will be assigned a value of 3, and the influence value of each component on the postcomponent will be assigned a value of 1, as shown in Figure 5.

Where the solid part of the arrows represents the main operational components, while the dashed part represents the redundant backup components.
3.5. Noninterrupt Fault-Tolerant Structure
In a noninterrupt fault-tolerant structure, the same function in the software system is simultaneously performed by multiple identical components. The successfully executed component will be used as the redundant backup of the unsuccessfully executed component and will be executed at any time. Generally speaking, as long as at least components are successfully executed, the software system is considered to have no failures. Therefore, the influence value of the precomponent on each component will be assigned a value of 3, and the influence value on each component on the postcomponent will be assigned a value of 2, as shown in Figure 6.

3.6. Callback Structure
When the currently running component cannot perform a specific task itself, it is possible to call other components to assist in its completion. This situation is regarded as a callback structure. In this structure, the software system can only be regarded as successfully executed when the called component is successfully executed, and the control right is called back to the postcomponent. Therefore, the influence values among each component in the callback structure will be assigned a value of 3, as shown in Figure 7.

3.7. Loop Structure
The loop structure is composed of a loop body that completes the task assigned by the software system through repeated operations. Suppose there is a loop body . When the loop condition is satisfied, the loop is repeated times until the loop condition is no longer satisfied, at which point the loop is exited. The internal structure of the loop body can be sequence, branch, interrupt fault-tolerant, and so on. Therefore, the influence value among each component in this structure will be determined by the structure of the loop body, and will not be described in detail here, as shown in Figure 8.

4. The Objective Weight Allocation Method of Component Based on Mutual Influence
Section 3 discusses the existence of mutual influence between components. This mutual influence information reflects the importance of the component from an objective view. Next, we will try to analyze the component importance from the objective view based on the mutual influence information.
Suppose that there are components. Based on the mutual influence information discussed in Section 3, we can obtain the influence value between each pair of components. Therefore, the influence relationship between components can be represented as a matrix, denoted as the direct influence matrix , where indicates an influence from component to , and the influence value is . If there is no effect between and , then . Additionally, is defined. It is important to note that the influence between components can be transitive. For example, during the sequence structure, the precomponent has an impact on the component , and has an impact on the component , then can indirectly influence to some content, even though cannot directly influence . Therefore, the indirect influence between components should be considered to quantify the influence between components. To do this, the indirect influence between the components can be calculated using the self-multiplication of the direct influence matrix, based on the relevant definition of the reachability matrix. Subsequently, the comprehensive influence matrix between the components can be obtained by combining the direct influence matrix and the indirect influence matrix. Finally, the objective weight allocation of components can be determined following these specific steps:
Step 5. Normalizing the direct influence matrix by dividing the maximum value of the sum of the elements in the row of the matrix and the normalized influence matrix is obtained, written as , i.e.,where
Step 6. Adding the normalized influence matrix’s power to obtain the comprehensive influence matrix, denoted as , where the power exponent is from 1 to n, the formula is given as follows:
Step 7. Analyzing the comprehensive influence matrix , the influence degree of the th component is defined as the sum of all elements in the row of matrix , i.e.,And the influenced degree of the th component is defined as the sum of all elements in the column of matrix , i.e.,
Step 8. The comprehensive influence degree of the th component, denoted as , can be obtained by adding the influence degree and the influenced degree, i.e.,
Step 9. The objective weight allocation of the th component is obtained by normalizing the comprehensive influence degree of the th component, i.e.,where expresses the objective weight of the th component and the objective weight of all components can be written as a -dimensional vector,
5. The Comprehensive Weight Allocation of Components
To comprehensively consider the weight allocation of components from different perspectives, it is necessary to fuse the subjective and objective weights to obtain a comprehensive weight allocation. This approach effectively reduces subjective arbitrariness and objective ideality, making the component weight allocation results more aligned with the actual situation of software system development. The evidence theory method has distinct advantages in dealing with the fusion of uncertain information. Therefore, the evidence fusion method is used to make the final result of fusion information more realistic, which is beneficial to improve the evaluation personnel decision accuracy.
Since the allocated weight values sum up to 1, and the weight allocation of each component is independent of the others, we can define a basic probability assignment function (i.e., BPA function) to allocate the weight to each component. Based on the subjective and objective weight allocation methods proposed in the above two sections, we can represent two BPA functions as follows: , for every , where . These satisfy the definition in D–S (in short) evidence theory, where the sum of the basic probability assignments must be 1. Therefore, we can use the D–S evidence information combination rule to fuse the subjective and objective weights, and the formula is given as follows:where is the normalization factor and the meaning of is the conflict between evidence information. The closer the value of is to 1, the greater the conflict between evidence information; the closer is to 0, the smaller the conflict between evidence information.
However, the allocation method of the objective weight proposed above may lead to the objective weight allocated to a component is (i.e., trust conflict). The traditional DS evidence theory fusion method cannot effectively eliminate the impact of 0 trust conflict between evidence bodies. Therefore, this section adopts a fusion method proposed by Murphy [41] to eliminate the “bad value” between the evidence, which can obtain the comprehensive weight of the component based on the average reliability. The specific steps are shown as follows:
Step 10. The two different BPA functions , are averaged to obtain the comprehensive BPA function .
Step 11. The comprehensive weight of the th component, denoted as , can be obtained by combining the comprehensive BPA function according to the DS combination rule, i.e.,where the comprehensive weight of all components can be written as a -dimensional vector,
To state our method more clearly, the framework to compute the comprehensive weight is designed, as shown in Figure 9. From the framework, it is easy to understand the comprehensive weight of the component is achieved by considering the subjective and objective weight of components, which balanced the imperfection of the single method.

6. Case Study
Suppose there is the scenic spot ticket purchase system , including login, personal authentication, ticket query, ticket booking, ticket cancellation, payment, and exit seven functions. The personal authentication function can be further divided into certificate authentication, health code authentication, and mobile phone authentication. The system consists of 12 components , , , , , , , , , , , and , where component performs the login function; components , , and perform the personal authentication function through a combination of noninterrupt fault-tolerant structure; component performs the ticket query function; component performs the ticket booking function; components and perform the ticket cancellation function through a combination of callback structure; components , , and perform the payment function through a combination of interrupt fault-tolerant structure; and component performs the exit function. Through the proposed method of attaching influence values between components based on software architecture, the influence values attached between 12 components under this system are shown in Figure 10.

6.1. Calculating the Subjective Weights of Components
(1)Suppose two experts have fuzzy evaluations on the 12 components in the ticketing software, and the transformed fuzzy values are chosen from the [1, 9] integer scales mentioned in Subsection 2.1. Then, the fuzzy judgment matrix , given by the two experts is shown as follows:(2)The fuzzy judgment matrix and of the two experts are fused through Equation (2) to obtain the comprehensive fuzzy judgment matrix , as follows:(3)The fuzzy weight of each component is calculated using Equation (4) based on the comprehensive fuzzy matrix , and the calculation result is accurate to three decimal places. The specific calculation procedure is shown as follows:(i)The fuzzy weight of component :(ii)The fuzzy weight of component :(iii)The fuzzy weight of component :(iv)The fuzzy weight of component :(v)The fuzzy weight of component :(vi)The fuzzy weight of component :(vii)The fuzzy weight of component :(viii)The fuzzy weight of component :(ix)The fuzzy weight of component :(x)The fuzzy weight of component :(xi)The fuzzy weight of component :(xii)The fuzzy weight of component :(4)The fuzzy weight of each component is defuzzified by Equation (5), and the subjective weight of each component is calculated, as shown in Table 2.
6.2. Calculating the Objective Weights of Components
(1)According to Figure 10, the direct influence matrix between the components can be obtained, and the matrix divides the maximum value of the sum of the elements of each row in the matrix, , to get the normalized influence matrix .(2)The normalized influence matrix is added to the indirect influence matrix , and the comprehensive influence matrix is calculated by Equation (8). The calculation process is given as follows:Due to a large amount of calculation, the matrix power addition software is used to automatically calculate the result, as shown in matrix .(3)According to the comprehensive influence matrix , the influence degree and the influenced degree of each component can be obtained according to Equations (7) and (8), and the calculation result is accurate to three decimal places. The specific calculation process is given as follows. The influence degree of component is computed by:The influenced degree of component is computed by:By using the similar method, the influence and influenced degree of , can be obtained, as shown in Table 3.(4)The comprehensive influence of the component can be obtained based on Equation (11), and then the normalization operation is performed to obtain the objective weight of all component by Equation (12); the weight value of is shown in Table 4.
6.3. Calculating the Comprehensive Weights of Components
(1)Considering the above calculated subjective and objective weights , as two mutually independent bodies of evidence, and the corresponding BPA functions are defined as , , . Then, the comprehensive BPA (for short CBPA) function is obtained by averaging the functions and according to the Equation (14) for , the value of comprehensive BPA function is obtained, as shown in Table 5.(2)The comprehensive weight of components is calculated by combining the comprehensive BPA function based on the D–S combination rule by Equation (15). The specific calculation process is given as follows:
Therefore, the comprehensive weight of the 12 components in this ticketing system is achieved, as shown in Table 6.
6.4. Comparison
We observed that the component’s weight can be determined using either the FAHP method based on experts’ evaluation or the objective influence value model. However, the experts’ evaluation exists the arbitrariness and the influence value model tends to be overly idealized. In contrast, our proposed method strikes a balance between these approaches, resulting in a component weight allocation that better reflects the actual situation of software system development.
Compared to FAHP, the results presented in Table 7 indicate that the weights of components , , ,, , and are , which represents the highest weight obtained using the FAHP method among all components. Conversely, the weights of components are , and the weight of is . Furthermore, the weights of are , representing the lowest weights achieved by the FAHP method. Notably, is the successor component of , and the precursor component of , as shown in Figure 10. Consequently, the execution of can significantly affect the execution of , the execution of can affect the performance of , meaning that the weight difference between , and should not be excessively large. In the comprehensive weight model, the weights of are , while the weight of is , resulting in a reduced weight difference between , and . Additionally, as shown in Figure 11, the FAHP method exhibits relatively significant fluctuations on the weight of component, which also showed the arbitrariness of the experts’ evaluation.

In comparison with the objective weight allocation method that we proposed based on the influence value, we notice that the weights of are , which is the least weight among all components. These components, referred to as the ”payment” components, as shown in Figure 10, are crucial for the software as their failure can influence the entire system. Therefore, their weights should not be too small. In the comprehensive weight model, the weights of have been improved to , as shown in Table 8. Additionally, Figure 12 demonstrates that the objective weight allocation method based on the influence value exhibits a relatively large fluctuation.

The detailed comparison is presented in Figure 13. As depicted in Figure 13, the comprehensive weight shows a low fluctuation, while the FAHP and influence value methods exhibit relatively large fluctuations. The main reason behind this observation is their deficiency in accurately capturing component weights. Through our computation, we noticed that the comprehensive weight allocation effectively reduces subjective arbitrariness and objective ideality, resulting in a component weight allocation that better aligns with the actual situation of software system development.

Compared to the method introduced in [30], to obtain the weight of component, the volatility of the component attribute should be calculated according to the standard deviation of attributes. Compared to the method in [31], to compute the weight of the component, the attribute value and defect data should be collected. But, in our case, we only have the data of influence value, lacking the data relating to the attribute of component. In fact, we can also use many methods to obtain the weight of components, but the different method depends on the different data set. In our case, our aim is to show the comprehensive weight method of combining the FAHP and influence value is more reasonable than the single method. Therefore, we only have the comparison with FAHP and influence value model.
7. Conclusions and Future Works
This study focused on the problem of allocating weight for the components to evaluate the importance of components during component-based software. The method of allocation weight proposed in this paper not only considers the expert’s evaluation of the importance of components but also the interaction relationship between components. The framework of the weight allocation method is designed by the flow diagram. Our method can help software developers to produce a reasonable evaluation of component importance and develop highly trustworthy software. The contributions of this paper are shown as follows:(i)For the complexity software, there exist many interactions between components. The mutual influence between components can reflect the importance of the component. In this paper, based on the combination structure of components, the influence value model between the components was proposed to characterize the degree of mutual influence between components.(ii)For the weight of the researched object, the popular method is to get the value by the expert’s evaluation. Though there exist some objective weight computation methods, the mutual influence between component didn’t be considered. In this paper, the objective weight allocation method of components is presented to reflect the importance of the component based on mutual influence. During this method, the direct influence and indirect influence between components is established based on the matrix’s power.(iii)To obtain the importance of components more reasonably, it is necessary to consider the importance from the subjective and objective views to achieve the weight. In this paper, a new weight allocation method of components is built by combining the experts’ evaluation with the influence value between components based on the evidence information fusion method. By comparing with the other methods, it is more reasonable to consider the mutual influence.
The method proposed in this paper can effectively allocate the weight of components, but the expert’s evaluation is based on the triangular fuzzy set to express the evaluation information. For the triangular fuzzy set, there are some deficiencies in many situations. Generally, the fuzzy value of evaluation depends on experts’ subjective perceptions and preferences. There exist several types of uncertainty, such as interpersonal perception ambiguousness, personal judgment reliability, interpersonal preference inconsistency [42, 43], and so on. However, previous studies, such as the triangular fuzzy set, didn’t consider these uncertainties comprehensively, usually just considering one of the various uncertainties, which may affect their effectiveness. In [42], the authors developed an integrated design alternative assessment model by fully considering the various uncertainties. In the future, we will try to combine the method in [42] with the mutual influence model and find a more effective weight allocation method of the component.
Data Availability
The data used to support the findings of this study are included within the article.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
This research was supported by the Natural Science Foundation of Anhui Province (no. 2108085MF204), the National Natural Science Foundation of China (no. 62162014, 62077029), and the Abroad Visiting of Excellent Young Talents of Universities in Anhui Province (no. GXGWFX2019022).