Identifying Software Quality Factors, Sub-Factors and Metrics For CBSD
Identifying Software Quality Factors, Sub-Factors and Metrics For CBSD
~ Bob Moawad
development have not been of the primary interest and have not been
system approach will be achieved when the functional parts are easier
to use and are able to accurately predict the component quality during
follows:
quality [36].
what is not so' written by Galileo Galilei, the 17th century Italian
73
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
4.1.1 Efficiency
with the efficient use of computer code to perform processes and the
resources.
74
Identify^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
Zhu has further divided period of time into three parts. First part, is
75
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
performance levels.
that the two attributes are normally independent of each other. The
not be efficient.
76
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
efficiency,
and having clear boundaries to it, all this requires more code and
converse able with other machine more code is required, hence less
efficiency.
4.1.2 Integrity
77
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
where
repelled. Threat and security are summed over each type of attack.
control and File controls. Ghezzi et al. [64] also supports the above
updated. Few mechanisms to ensue integrity are: input data types can
78
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
security problem.
satisfied.
m a y h a r m a good c o m p o n e n t .
4 . 1 . 3 Reliability
d e p e n d a b l e c o m p o n e n t is reliable.
79
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
reliability to fall.
and developers.
4.1.4 Usability
software quality determining phase for the user's view. Similarly, use
of input devices and output devices set the tone for environment. Even
80
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
direct.
with other machine may or may not affect the frequency of use of
4.1.5 Correctness
81
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
4.1.6 Maintainability
82
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
Time To Change.
as:
reuse.
efficient.
83
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
4.1.7 Testability
McCall et al. [117] believes that 'the cost of program testing for
efficient.
4.1.8 Flexibility
84
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
4.1.9 Interoperability
organizations to interoperate.
4.1.10 Reusability
module will perform the same job needed in other module too. Thus,
85
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
maintainability [129].
4.1.11 Portability
86
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
are portable between different systems. Hong Zhu [181] advises that
have more code, thus less efficient. Portability has direct relation with
evident from the studies of various software quality models viz. McCall
Quality Model, Boehm Quality Model, ISO 9126 Quality Model, Gillies
Relational Model and Perry Quality Model that the models propose
same quality factors and further, it is realised that the quality factors
are related to each other. Some quality models have given more
weightage to one factor and the other quality model has paid more
heed to another. The quality factors which are part of all the quality
models, the ones which are well weighted by all the quality models
the evaluators of software quality. But these quality factors are non-
quantifiable.
87
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
their research [44] [10] [83] [42] [147]. The quality attributes identified
within the models from the survey of literature are tabulated in Table
4.1.
namely, McCall quality model, Boehm quality model, ISO 9126 and
Gillies Relational model are listed and quality factors versus quality
models are tabulated in Table 4.1. The 'X' denotes the quality factor in
Engineering as the quality factor. A '-' signifies that the quality factor
88
Identify^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
[143] [95] [19] [128] [9] and are generally considered as most related to
quality.
4.2.1 Efficiency
4.2.2 Maintainability
90
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
91
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
4.2.3 Portability
92
Identifi/^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
4.2.4 Reliability
93
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
4.2.5 Usability
The sub-factors for the usability factor, are listed along with
94
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
process.
95
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
a n d Li Suite.
96
Identif^g Software Quality Factors, Sub-Factors And Metrics For CBSD
Coupling Factor (CF). The Lorenz and Kidd suite had three categories
metrics which are merely variables for counting. The Class Size
Metrics had metrics each for counting- the Number of Public Methods
The Lorenz and Kidd suite and Li suite had metrics for totalling
purposes.
97
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
their correctness. The MOOD metrics suite and CK metrics suite have
been validated in several studies [3] [52] [4] and [18] [37] [140]
c) Interpretation of metrics
their own, till the values are interpreted to make decisions. The Li
suite and Lorenz and Kidd suite face an uphill task, number values
exist but are not able to infer. Each metrics of CK and MOOD have
for inheritance; CBO for coupling; AHF and MHF for data abstraction;
and Kidd suite and the Li suite are not able to relate the metrics with
98
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
relation.
software quality.
The desirable properties of OOD quality metrics laid the basis for
The maximum length from the node to the root of the tree
99
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
methods
of understanding.
class hierarchy
class.
reuse.
100
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
variables.
• Increases complexity
of classes [73].
outputs [70].
high):
complex.
101
Identify^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
MHF = 1 - MethodsVisible
C = number of classes
errors is high.
encapsulated.
AHF = 1 - AttributesVisible
C = number of classes
102
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
functionality.
High AIF denotes lots of inheritance whereas low AIF (0%) denotes
independent attribute.
more than one form. In MOODS metric, the sub class (child) can use
(override) the class of its parent. The more it overrides the higher is
the PF.
103
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
define the NAC as the total number of ancestor classes from which a
and viewpoints both are same as the DIT metric. The unit for the NAC
metric is 'class', Li justified that because the attribute that the NAC
programming.
class that the NOC metric captures is the number of classes that may
Li claimed that the NDC metric captures the classes attribute better
than NOC.
the local methods defined in a class which are accessible outside the
class. The theoretical basis and viewpoints are different from the WMC
metric. The theoretical basis describes the attribute of a class that the
104
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
other classes can use the class. Li stated three viewpoints for NLM
metric as following:
class' behaviour.
2. The larger the local interface of a class, the more effort is needed to
3. The larger the local interface of a class, the more influence the class
Regardless of whether, they are visible outside the class or not. This
are significantly different from WMC metric. The NLM and CMC
in the viewpoints of the two metrics - they affect the effort required to
105
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
total number of classes that are used as abstract data types in the
2. For a test engineer, more effort is needed to design test cases and
perform testing for high CTA class than a low one because the
high CTA class than a low one because a high CTA class uses more
the local methods of the class. Two classes can be coupled because
106
Identifying Software Quality Factors, Sub-Factors And Metrics For CBSD
CTM class because the outgoing message are directly related to the
2. A test engineer needs to spend more effort and design more test
cases for high CTM class than for a low CTM class because a high
CTM value means more other classes' methods are involved in the
3. For a maintenance engineer, the higher the CTM metric value, the
properties of the metrics [18] [3] [63] [12] [173]. The metrics were
desirable properties are mentioned in top row. The "Yes" denotes that
the metric satisfies the desirable property, on the other hand a "No"
represents that the metric does not satisfy the desirable property. It is
107
Identifying Software Quality F a c t o r s , S u b - F a c t o r s A n d Metrics For C B S D
quality. Both Lorenz and Kidd metrics suite and Li metrics suite have
not been validated in existing studies and are statistical measures for
metrics used in Li and Henry suite are that of CK suite and the
suite is better and is best suited [37]. Similarly, Varvana observed that
108
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
variables' were piled up in the suite. Also, the suite does not cater to
Harrison et al. [73] criticised Lorenz and Kidd metric suite that
the suggested metrics are not useful because 'only a limited insight
[124] pointed out that Lorenz and Kidd metric suite only used
opinion that the Chidamber and Kemerer's metrics suite seems useful
the system at the class level, while the MOOD metrics could be of use
metrics proposed in CK suite namely WMC, RFC, DIT, NOC and CBO
109
Identi^ing Software Quality Factors, Sub-Factors And Metrics For CBSD
evaluating quality. The acceptable MOOD metrics are MHF, AHF, MIF,
AIF and PF. The accepted CK and MOOD metrics combine to form a
characteristics.
Table 4.8:
The first five quality metrics mentioned in the Table 4.8 are
metrics suite.
are measurable.
110