-
Information from data and architectural design
to derive a design structure quality index (DSQI) that ranges from 0 to
1
s1 = the total number of modules defined in the
program architecture.
s2 = the number of modules whose correct function
depends on the source of data input or that produce data to be used elsewhere
(in general, control modules, among others, would not be counted as part
of ).
s3 = the number of modules whose correct
function depends on prior processing.
s4 = the number of database items (includes data
objects and all attributes that define objects).
s5 = the total number of unique database items.
s6 = the number of database segments (different
records or individual objects).
s7 = the number of modules with a single entry
and exit (exception processing is not considered to be a multiple exit).
-
Once values s1
through s7 are determined
for a computer program, the following intermediate values can be computed:
Program structure: D1,
where D1 is defined as follows:
-
If the architectural design was developed
using a distinct method (e.g., data flow-oriented design or object-oriented
design), then D1 = 1, otherwise D1 = 0.
Module independence: D2
= 1 - (s2/s1)
Modules not dependent on prior processing:
D3 = 1 - (s3/s1)
Database size: D4 =
1 - (s5/s4)
Database compartmentalization:
D5 = 1 - (s6/s4)
Module entrance/exit characteristic:
D6 = 1 - (s7/s1)
-
With these intermediate values determined,
the DSQI is computed in the following manner:
where i = 1 to 6, wi
is the relative weighting of the importance of each of the intermediate
values, and S wi
= 1 (if all Di are weighted equally, then wi
= 0.167).
-
Value of DSQI for past designs can be determined
and compared to a design that is currently under development.
-
If the DSQI is significantly lower than average,
further design work and review are indicated.
-
If major changes are to be made to an existing
design, the effect of those changes on DSQI can be calculated.