Class and object modularity : description and measurement

Publication Type:
Issue Date:
Full metadata record
Software measurement has been of interest to software engineers for almost as long as software has been developed. While the evolution of systematic processes of software development has seen a trend away from reliance on the expertise of individual software developers alone to ensure software quality, systematic processes of software measure development have not evolved to a similar extent. The problem with defining software measures according to an informal process is that the quality of measures can be highly dependent on the expertise of the individual measure developers. If a systematic process of software measure development were defined, that promoted transparency and objectivity in measure development, then this systematic process could support the development of high quality measures by less expert users. In this thesis, a systematic process of software descriptive measure development is described and demonstrated. The approach taken to defining this systematic process is to investigate the various processes by which currently available software descriptive measures have been developed. These processes are then amalgamated with an established systematic method of measure development used in the field of social science. Applying the stages of measure development thus identified to the task of developing measures to describe C++ class and object modularity tests the feasibility of this measure development process. Insights gained through this testing provide feedback to further refine the process. In this way, a systematic process of descriptive software measure development is defined alongside the definition of a set of measures that provide a detailed description of the complex software characteristic of modularity. The products of each stage of this measure development process assist a user to validate the measures with respect to an intended application, and to analyse and interpret the measurement data obtained by applying the measures to a software system. This is demonstrated in a case study that also provides an indirect indication of the quality of the process by which the measures were developed. The major contribution of this work is the systematic process of descriptive software measure development, as it has a wide application and can be used to develop measures to describe many software characteristics of interest. A second important contribution is made by the set of measures of C++ class and object modularity developed to demonstrate this systematic descriptive measure development process.
Please use this identifier to cite or link to this item: