Abstract
Several important questions still need to be answered regarding the maintainability of object-oriented design documents. This paper focuses on the following issues: are object-oriented design documents easier to understand and modify than structured design documents? Do they need to comply with quality guidelines such as the ones provided by Coad and Yourdon? What is the impact of such quality standards on the understandability and modifiability of design documents? Answers can be based on informed opinion or empirical evidence. Since software technology investments are substantial and contradictory opinions exist regarding design strategies, performing empirical studies on these topics is a relevant research activity.
This paper presents a controlled experiment performed with computer science students as subjects. Results strongly suggest that quality guidelines based on Coad and Yourdon principles have a beneficial effect on the maintainability of object-oriented design documents. However, there is no strong evidence regarding the alleged higher maintainability of object-oriented design documents over structured design documents. Furthermore, results suggest that object-oriented design documents are more sensitive to poor design practices, in part because their cognitive complexity becomes increasingly unmanageable. However, because our ability to generalise these results is limited, they should be considered as preliminary, i.e., it is very likely that they can only be generalised to programmers with little object-oriented training and programming experience. Such programmers can, however, be commonly found on maintenance projects. As well as additional research, external replications of this study are required to confirm the results and achieve confidence in these findings.
Similar content being viewed by others
References
Arnold, R. 1993. Impact analysis—towards a framework for comparison. Proceedings of the IEEE Conference on Software Maintenance, 234–243.
Basili, V., Briand, L., and Melo, W. 1996. How reuse influences productivity in object-oriented systems. Communications of the ACM 39(10): 104–116.
Basili, V., Briand, L., and Melo, W. 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering 22(10): 751–761.
Basili, V., Caldiera, G., McGarry, F., Pajerski, R., Page, G. and Waligora, S. 1992. The software engineering laboratory—an operational software experience factory. Proceeding of the IEEE International Conference on Software Engineering, 370–381.
Briand, L., Bunse, C., and Daly, J. 1997. An experimental evaluation of quality guidelines on the maintainability of object-oriented design guidelines. Technical Report ISERN-97-02, Fraunhofer Institute (IESE), Kaiserslautern, Germany.
Brooks, R. 1980. Studying programmer behavior experimentally: The problems of proper methodology. Communications of the ACM 23(4): 207–213.
Coad, P., and Yourdon, E. 1991. Object-Oriented Analysis. Second edition, Prentice-Hall.
Coad, P., and Yourdon, E. 1991. Object-Oriented Design. First edition, Prentice-Hall.
Cohen, J. 1969. Statistical Power Analysis for the Behavioral Sciences. First edition, Academic Press.
Curtis, B. 1980. Measurement and experimentation in software engineering. Proceedings of the IEEE 68(9): 1144–1157.
Daly, J., Brooks, A., Miller, J., Roper, M., and Wood, M. 1996. Evaluating inheritance depth on the maintainability of object-oriented software. Empirical Software Engineering, An International Journal 1(2): 109–132.
Daly, J., El Emam, K., and Miller, J. 1997. An empirical research methodology for software process improvement. Technical Report ISERN-97-04, Fraunhofer Institute (IESE), Kaiserslautern, Germany.
Daly, J., Miller, J., Brooks, A., Roper, M., and Wood, M. 1995. A survey of experiences amongst object-oriented practitioners. Proceedings of the IEEE Asia-Pacific Software Engineering Conference, 137–146.
DeRemer, F., and Kron, H. 1976. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering SE-2(2): 80–86.
Devore, J. 1991. Probability and Statistics for Engineering and the Sciences. Third edition, Brooks/Cole.
Jones, C. 1994. Gaps in the object-oriented paradigm. IEEE Computer 27(6): 90–91.
Judd, C., Smith, E., and Kidder, L. 1991. Research Methods in Social Relations. Sixth edition, Harcourt Brace Jovanovich, Inc.
Kaplan, B., and Duchon, D. 1988. Combining qualitative and quantitative methods in information systems research: A case study. MIS Quarterly: 571–586.
Kraemer, H., and Thiemann, S. 1987. How many subjects? First edition, Sage Publications.
Kung, D., Gao, J., Hsia, P., Wen, F., Toyoshima, Y., and Chen, C. 1994. Change impact identification in object-oriented software maintenance. Proceedings of the IEEE International Conference on Software Maintenance, 202–211.
Miller, J., Daly, J., Wood, M., Brooks, A., and Roper, M. 1997. Statistical power and its subcomponents—Missing and misunderstood concepts in empirical software engineering research. Information and Software Technology 39(4): 285–295.
Moen, R., Nolan, T., and Provost, L. 1991. Improving Quality Through Planned Experimentation. First edition, McGraw-Hill, Inc.
Rosnow, R., and Rosenthal, R. 1989. Statistical procedures and the justification of knowledge in psychological science. American Psychologist 44(10): 1276–1284.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-Oriented Modeling and Design. Prentice Hall.
Slakter, M., Wu, Y., and Suzuki-Slakter, N. 1991. *, **, and ***; statistical nonsense at the.00000 level. Nursing Research 40(4): 248–249.
van Hillegersberg, J., Kumar, K., and Welke, R. 1995. An empirical analysis of the performance and strategies of programmers new to object-oriented techniques. Psychology of Programming Interest Group: 7th Workshop.
Wilde, N., and Huitt, R. 1992. Maintenance support for object-oriented programs. IEEE Transactions on Software Engineering SE-18(12): 1038–1044.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Briand, L.C., Bunse, C., Daly, J.W. et al. An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents. Empirical Software Engineering 2, 291–312 (1997). https://doi.org/10.1023/A:1009720117601
Issue Date:
DOI: https://doi.org/10.1023/A:1009720117601