This thesis is an investigation into the quantification of software design complexity. A measure of software design complexity is an important factor in describing, explaining, evaluating, and predicting key aspects of the development and maintenance of computer programs.;A mathematical model of software complexity using a structured flow graph scheme is discussed. Based on this model, a novel software complexity measure is developed. This measure of a program reflects the intellectual difficulty of reasoning about the programs' design. This difficulty is expressed in terms of the difficulty of correctness proof of the program.;The relative design complexity of abstract data types is expressed in terms of the relative complexity of abstract-to-concrete representation mappings.;Comparisons among the developed complexity measure, the traditional lines of code measure, Halstead's Software Science metrics, and McCabe's cyclomatic measure are given.
展开▼