Software Metrics-3
Software Metrics-3
Software Metrics-3
Product Metrics
CIS 375
Bruce R. Maxim
UM-Dearborn
Measure
provides a quantitative indication of the size of
some product or process attribute
Metric
is a quantitative measure of the degree to which a
system, component, or process possesses a given
attribute
5
Process metrics
Private process metrics
(e.g. defect rates by individual or module) are known only to
the individual or team concerned.
Project Metrics
Software project metrics are used by the
software team to adapt project workflow and
technical activities.
Project metrics are used to avoid development
schedule delays, to mitigate potential risks,
and to assess product quality on an on-going
basis.
Every project should measure its inputs
(resources), outputs (deliverables), and results
(effectiveness of deliverables).
7
Software Measurement
Direct measures of software engineering
process include cost and effort.
Direct measures of the product include lines
of code (LOC), execution speed, memory
size, defects per reporting time period.
Indirect measures examine the quality of the
software product itself (e.g. functionality,
complexity, efficiency, reliability,
maintainability).
8
Size-Oriented Metrics
Derived by normalizing (dividing) any
direct measure (e.g. defects or human
effort) associated with the product or
project by LOC.
Size oriented metrics are widely used
but their validity and applicability is
widely debated.
9
Function-Oriented Metrics - 1
Function points are computed from direct
measures of the information domain of a
business software application and
assessment of its complexity.
Once computed function points are used like
LOC to normalize measures for software
productivity, quality, and other attributes.
10
Function-Oriented Metrics - 2
Feature points and 3D function points
provide a means of extending the
function point concept to allow its use
with real-time and other engineering
applications.
The relationship of LOC and function
points depends on the language used to
implement the software.
11
integrity
threat = probability of attack (that causes failure)
security = probability attack is repelled
Integrity = [1 - threat * (1 - security)]
13