|Home \ Publications \ Dissertation Page||Login|
Object Oriented Software Engineering: a Quantitative Approach
( Phd Thesis )Abstract:
This dissertation fits in the realm of the emerging scientific area named Experimental Software Engineering. We propose and advocate the use of quantitative methods in Software Engineering where, traditionally, qualitative-based approaches have been the rule. The quantitative emphasis has the objective aim of expressing and assessing Software Quality. The quantitative approaches p roposed herein are instantiated in the scope of the object-oriented paradigm and targeted to the product quality. We formalize a set of software complexity metrics named MOOD (Metrics for Object-oriented Design). These metrics, expressed with a formal specification language, OCL (Object Constraint Language), are evaluated against several validation criteria, as those of Measurement Theory, and are compared with other proposals in the literature. We demonstrate experimentally that is it possible to use those metrics as explicative variables of software quality characteristics, such as reliability or maintainability. To facilitate the construction of a versatile computational support to collect the design metrics, as required to validate experimentally the hypothesis formulated herein, we have conceived a textual language to express object-oriented designs, named GOODLY (a Generic Object-oriented Design Language? Yes!). This language is used as an intermediate formalism in the MOODKit tool, whose architecture we present. We approach the problem of software system modularization according to structural criteria, that is, guided by cohesion and coupling among classes. We demonstrate that besides being possible to assess quantitatively the modularity of a given system, we are able to suggest solutions that optimize it, given the adopted criteria. We have verified experimentally that systems produced in several application domains are far from coping with the desiderata of structural modularization as proclaimed in the Software Engineering literature. To support the comparison, assessment and generation of optimized modularization architectures, we have developed another tool named MOTTO (MOdularity Trial Tool for Object-oriented systems) that receives data from MOODKit and interoperates with a statistical analysis tool to achieve the required purposes. The most important outcome of this thesis is the proof of practicability of quantitative analysis applied to software systems built according to the object-oriented paradigm. Several quantitative techniques originating from Applied Statistics such as Multivariate Estimation and Cluster Analysis, as well as several types of adherence and independence tests are applied. These techniques are commonly used in many fields of Science, but their potential has not yet been fully realized by software engineers.
School: Instituto Superior Técnico ( Portugal )
Date: June, 2001
Notes: Dissertation is written in Portuguese