Issue No.11 - November (2005 vol.31)
Chris F. Kemerer , IEEE Computer Society
James E. Tomayko , IEEE Computer Society
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2005.130
This research examines the structural complexity of software and, specifically, the potential interaction of the two dominant dimensions of structural complexity, coupling and cohesion. Analysis based on an information processing view of developer cognition results in a theoretically driven model with cohesion as a moderator for a main effect of coupling on effort. An empirical test of the model was devised in a software maintenance context utilizing both procedural and object-oriented tasks, with professional software engineers as participants. The results support the model in that there was a significant interaction effect between coupling and cohesion on effort, even though there was no main effect for either coupling or cohesion. The implication of this result is that, when designing, implementing, and maintaining software to control complexity, both coupling and cohesion should be considered jointly, instead of independently. By providing guidance on structuring software for software professionals and researchers, these results enable software to continue as the solution of choice for a wider range of richer, more complex problems.
Index Terms- Software complexity, software structure, Wood's model of task complexity, coupling, cohesion, experiment, software maintenance, software metrics, cognition, procedural programming, object-oriented programming.
Chris F. Kemerer, Sandra A. Slaughter, James E. Tomayko, "The Structural Complexity of Software: An Experimental Test", IEEE Transactions on Software Engineering, vol.31, no. 11, pp. 982-995, November 2005, doi:10.1109/TSE.2005.130