Lecture Notes for CS 325
Design Validation and Metrics, 26 February
2001
-
metrics
- objectives - design (quality) and management
(quantity)
- catch design errors - omission or commission;
relative to the requirements
- improve design structure - weak or
dangerous structure; promote re-use
- management information -
measuring resource use
- metrics correlate with other
important measures, such as error rates or project resource use
-
coupling metrics
- measure the independence of the modules
and simplicity of the design
- network metrics
-
module interconnectedness
- the more tree-like, the better
- number of boxes - number of arrows = 1
- low correlation
with anything
- information-flow metrics
-
augment network metrics with information flowing over the arrows
- information in + information out
- weighting information
flow by connectivity - fan in and fan out
- low correlation with
anything
- stability or simplicity metrics
-
measure the complexity of the information flowing
- simple
information exerts minimal influence over other modules
- cohesion metrics
- difficult to quantify
- all
procedures (or methods) use all variables
- information-flow
metrics within a module
- difficult for functional design due to
lack of module innards
- ood metrics
- many,
most new
- class complexity
- evaluate method
complexities, sum the evaluations to get class complexity
- good
correlation with error occurrences
- inheritance tree depth
- the number of ancestor classes
- good correlation
with error occurrences
- child class count
-
poor correlation with error occurrences
- a re-use measure
- include aggregation in the metric
- count classes
used by a class - variables and parameters
- high
correlation with error occurrences
- adjust by methods
actually called
- automating measurements with case
tools and other formal techniques
- validation
-
objectives
- catch design errors - omission or commission
- improve design structure - weak modularity or re-use
- metrics also serve as design validation
- design reviews
- large reviewing groups - designers, implementors,
requirements, testers
- varying degrees of formality and tools
- find, not fix problems; be nice
- effective at finding
problems
- logical design reviews can be more informal and need
fewer people than architectural design reviews
- how
to use statistics
- comparison against historical data
- outliers
- standard deviations from the mean
This page last modified on 26 February 2001.