Issue No. 02 - Feb. (1986 vol. 12)
David N. Card , System Sciences Division, Computer Sciences Corporation, Silver Spring, MD 20910
Victor E. Church , System Sciences Division, Computer Sciences Corporation, Silver Spring, MD 20910
William W. Agresti , System Sciences Division, Computer Sciences Corporation, Silver Spring, MD 20910
Software engineers have developed a large body of software design theory and folklore, much of which has never been validated. This paper reports the results of an empirical study of software design practices in one specific environment. The practices examined affect module size, module strength, data coupling, descendant span, unreferenced variables, and software reuse. Measures characteristic of these practices were extracted from 887 Fortran modules developed for five flight dynamics software projects monitored by the Software Engineering Laboratory. The relationship of these measures to cost and fault rate was analyzed using a contingency table procedure. The results show that some recommended design practices, despite their intuitive appeal, are ineffective in this environment, whereas others are very effective.
Couplings, Correlation, Software reusability, Computers, Software design, Monitoring, unreferenced variables, Coupling, fault rate, module cost, reuse, size, Software Engineering Laboratory, strength
David N. Card, Victor E. Church, William W. Agresti, "An empirical study of software design practices", IEEE Transactions on Software Engineering, vol. 12, no. , pp. 264-271, Feb. 1986, doi:10.1109/TSE.1986.6312942