Design methods and code structure: a comparative case study
This paper addresses the question of the extent to which structured design methods contribute to the quality of a software product. Comparative data were obtained from the development of a commercial real-time embedded system, for which two versions of the product were produced. Version A was developed informally; by contrast version B used a structured design method. Maintenance effort for A was high compared with that for B. The case study was set up to measure the effect of using structured design on the resulting internal code structure whose metrics were captured by a static analysis tool. Results show that version B has less component coupling than version A. The component size results show that the distribution of B is shifted with respect to A, with more smaller components and fewer large ones. In respect of the detailed code structure within components, the results indicate that B is better structured than A. Only the fully structured components of A and B could be measured for testability, with no significant difference being apparent for the specified test case strategies. Overall, the evidence of this comparative study points to modest advantages of the structured method over the informal development method in this case. Caution must be exercised, however, against sweeping generalizations of these results.
KeywordsStructured design methods code structure case study
Unable to display preview. Download preview PDF.
- BacheR. and MullerburgM. (1990) Measures of testability as a basis for quality assurance. Software Engineering Journal, 5(2), 86–92.Google Scholar
- DeMarcoT. (1978) Structured Analysis and System Specification, Yourden Press, New York.Google Scholar
- FentonN.E. and WhittyR.W. (1986) Axiomatic approach to software metrication through program decomposition. Computer Journal, 29(4), 329–339.Google Scholar
- FentonN.E. (1991) Software Metrics: A Rigorous Approach, Chapman & Hall, London.Google Scholar
- InceD.C. and HekmatpourS. (1988) An approach to automated software design based on product metrics. Software Engineering Journal, 3(2), 53–56.Google Scholar
- McCabeT.J. (1976) A complexity measure. IEEE Transactions on Software Engineering, SE-2(4), 308–320. QUALMS User Guide (1991), version produced by Glasgow Polytechnic.Google Scholar
- WardP. and MellorS. (1985) Structured Development for Real-time Systems, Prentice Hall, Englewood Cliffs, NJ.Google Scholar