Formal Definition of Object-Oriented Design Metrics
Description
Software measurement has become essential to good Software Engineering. However, most published works on software engineering concentrate on the coding activity. As quality indicators and predictors of structural problems, metrics should be available as early as possible in the software life cycle, and not dependant on source code availability.
This thesis intends to assist object-oriented software measurement, improving its use among software designers. For achieving this goal, the FLAME - a Formal Library for Aiding Metrics Extraction - is built with The Object Constraint Language (OCL), a part of the Unified Modeling Language (UML) standard. Based upon OCL, object-oriented design metrics definitions are formalized on a compositional way.
The definition of each metric is done upon the UML meta-model, at different levels of abstraction, including the meta-classes Package, Model Element, Generalizable Element, Classifier, Feature, Operation and Attribute.
The combination of the UML meta-model and OCL allows unambiguous metrics definition, which in turn helps increasing tool support for object-oriented metrics extraction.
The outcome is an elegant, precise and straightforward way to define metrics that may help to overcome several current problems. Besides, it is a natural approach since we are using the object technology to define metrics on the object technology itself.
The formalization renders possible the comparisons among different sets of metrics, as well as it may be used to establish a common vocabulary among different stakeholders. As consequence, our efforts contribute to the overall quality of the Software Engineering product and process.
Notes
Files
2002_MSc_AlineBaroni.pdf
Files
(2.0 MB)
Name | Size | Download all |
---|---|---|
md5:2668f0dae8bb593e83895d2db9a79ce0
|
2.0 MB | Preview Download |
Additional details
Subjects
- Software Design
- https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics
- Software Engineering Models and Methods
- https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics
- Software Quality
- https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics