

MILHDBK338B: Electronic Reliability Design Handbook 
 

9.6.4 Allocation Based on Complexity Factors
9.6.4 Allocation Based on
Complexity Factors
The following technique is used to allocate a failure rate goal
to each software CSCI in an aggregate, based on the complexity of the CSCIs.
There are several types of complexity as applied to software that are listed
in Table 9.63.
TABLE 9.63: COMPLEXITY PROCEDURES
Complexity
Type 
Description 
When it Can Be
Used 
McCabe’s Complexity 
A measure of the branches in
logic in a unit of code. 
From the start of detailed design on. 
Functional Complexity 
A measure of the number of
cohesive functions performed by the unit. 
From the start of detailed design on. 
Software Product Research
Function Points 
A measure of problem, code, and data
complexity, inputs, outputs, inquiries, data files and
interfaces. 
From detailed design
on. 
Software Product Research
Feature Points 
A measure of algorithms, inputs, outputs,
inquiries, data files and interfaces. 
From detailed design
on. 
During the design phase, an
estimated complexity factor using any one of these techniques is available.
The greater the complexity, the more effort required to achieve a particular
failure rate goal. Thus, CSCIs with higher complexity should be assigned
higher failure rate goals.
The complexity measure chosen must
be transformed into a measure that is linearly proportional to failure rate.
If the complexity factor doubles, for example, the failure rate goal should be
twice as high.
Steps:
(1) Determine the failure rate goal of the software aggregate;
l_{s}(2) Determine the number of software CSCIs in the
aggregate; N (3) For each CSCI_{i}, i =
1, 2, ..., N, determine its complexity factor; w (4) Determine the total
active time of each CSCI_{i},
i = 1, 2, ..., N; t_{i}(5) Determine the mission time of the aggregates;
T (6) Compute the failure rate adjustment factor K:
"1">
(7) Compute the allocated failure
rate of the i^{th}
CSCI:
l_{i
}= l_{s} (w_{i}/K)
Example:
A software aggregate consisting of 4 software CSCI is to be
developed. The failure rate goal of the aggregate is 0.006 failures per hour.
The mission time is three hours. Furthermore, the complexity factors and the
total active time of the software CSCIs are given as:
w_{1} = 4
, t_{1}
= 2 hours w_{2} = 2
, t_{2}
= 1 hour w_{3} = 3
, t_{3}
= 3 hours w_{4} = 1,
t_{4}
= 2 hours
Compute the failure rate adjustment factor K:
"1">
Then, the failure rate goal
of each software CSCIs is:
l_{1} = l_{s} (w_{1}/K) = 0.006 (4/7) = 0.0034
failures per hour
l_{2} = l_{s} (w_{2}/K) = 0.006 (2/7) = 0.0017 failures per
hour
l_{3} = l_{s} (w_{3}/K) = 0.006 (3/7) = 0.00026 failures per
hour
l_{4}=
l_{s}(w_{4}K) = 0.006 (1/7) = 0.0009
failures per hour




 
 