Some coupling measures for C++ programs
Chandrashekar Rajaraman, Michael Rung-Tsong Lyu · 1992
There is a great deal of "hype" about the objectoriented paradigm offering all the solutions to the problems of software engineering. Goals of software engineering like reliability, maintainability, and reusability are said to be more easily achieved using this paradigm, than with traditional ones based on functional decomposition. In order to monitor whether these goals are indeed being achieved, appropriate measures are necessary. Widely used complexity metrics like lines of code, cyclomatic complexity, and Software Science's metrics may not be appropriate, since they do not address object-oriented concepts like inheritance and encapsulation, apart from having other weaknesses. We consider one attribute of object-oriented software - coupling - and define some measures based in measurement theory. Though these measures have been defined primarily for C++, they could be extended to other object-oriented languages. We then computed the measures for five large (by university standards) C...