Page 72 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 72
Principles of Software Engineering
Notes Figure 4.1: The Verification and Validation Process
Validation Process
Validation Process
Lower-
Speci- Development Level Development Product
Customer fication Speci-
fication
Requirements Verification Process Verification Process
Process
Metrics
IEEE Standard defines a metric as “a quantitative measure of the degree to which a system,
component or process possesses a given attribute.”
Further, a software quality metric is “A function whose inputs are software data and whose
output is a single numerical value that can be interpreted as the degree to which the software
possesses a given quality attribute.
Software metrics are therefore quantitative measurements of product (system or component),
process, or even project (in this case software projects) indicating the quality of a desired attribute.
However, software metrics can be concerned with more than just quantitative measurements.
Since we are measuring quality of product, process, or project, qualitative aspects must be
considered. Metrics can also be qualitative in nature.
Metrics are Measurements of Quality: In most well established engineering disciplines candidate
measurement attributes are well understood. Software engineering is one of the disciplines
outside of the “most” category. Software engineering is a young engineering discipline and
as such does not have the hundreds of years of empirical scientific foundation as other core
engineering disciplines. Partly due to this fact, many measures of software are not well understood
or are ill-defined.
Measurement: In the most general sense, is the mapping of numbers to attributes of objects in
accordance with some prescribed rule. The mapping must preserve intuitive and empirical
observations about the attributes and entities.
Empirical Observation Requires Experimentation: Therefore, strictly speaking, for software metric to
be valid it must be based on empirical observation through experimentation, whether qualitative
or quantitative.
Often with software development, the single best metric is sought. Given the above definitions,
such an approach comes across as foolish. An engineered product cannot be properly understood
purely through the application of one measurement. Single software metric can only present
a single view of a software product. Multiple metrics are required to sufficiently understand a
product or process. Knowing a car’s weight gives no indication of overall performance, it is only
one piece of the picture. It is also possible that the gathered metric does not answer a question
of interest or provide any decision support value. The same is true for software.
Many definitions of metrics require them to be quantitative. However, many qualitative measures
of product, process, or project are also valid. Consider a fast car. The “fast” attribute indicates
66 LOVELY PROFESSIONAL UNIVERSITY