Instability (I)
Overview
The
Instability metric measures the rate of instability of a package. A package is unstable if it depends more on other
packages than they depend on it.
Computation

|
The ... variable |
represents the ... |
|
AfferentCoupling |
number of links (associations,
generalizations, use links) towards classes defined in other packages |
|
EfferentCoupling |
number of links (associations,
generalizations, use links) coming from classes defined in other packages |
Nominal range
Nominal
values cannot be given, since instability depends on what the package
does. Certain packages must be unstable
whilst others must not be unstable.
Analysis
A
package is that much more unstable if it depends more on other packages than
they depend on it. It is likely to
change if these other packages change.
Each value calculated for a given package must be compared to the values
of the other packages.
Not
all packages have to be stable, since it must be possible for the application
to evolve.
If
the user wishes the package to be stable, it must depend less on the other
packages than they depend on it.