4 research outputs found
Restructuring Object -Oriented Designs Using a Metric-Driven Approach.
The benefits of object-oriented software are now widely recognized. However, methodologies that are used to develop object-oriented software are still in their infancy. There is a lack of methods to assess the quality of the various components that are derived during the development process. The design of a system is a crucial component derived during the system development process. Little attention has been given to assessing object-oriented designs to determine the goodness of the designs. There are metrics that can provide guidance for assessing the quality of the design. The objective of this research is to develop a system to evaluate object-oriented designs and to provide guidance for the restructuring of the design based on the results of the evaluation process. We identify a basic set of metrics that reflects the benefits of the object-oriented paradigm such as inheritance, encapsulation, and method interactions. Specifically, we include metrics that measure depth of inheritance, methods usage, cardinality of subclasses, coupling, class responses, and cohesion. We define techniques to evaluate the metric values on existing object-oriented designs. We then define techniques to utilize the metric values to help restructure designs so that they conform to predetermined design criteria. These methods and techniques are implemented as a part of a Design Evaluation Assistant that automates much of the evaluation and restructuring process
Modelo de calidad para el software orientado a objetos
El software ha obtenido en la actualidad una gran importancia en todos los ámbitos
de la vida cotidiana. Es indudable que la calidad del software juega un papel
fundamental en todo desarrollo informático, aunque en ocasiones no se le presta la
suficiente atención, quizás debido a los relativamente escasos trabajos relacionados
con este tema desarrollados hasta la fecha.
En el presente trabajo, se plantea la necesidad de un modelo de calidad completo.
Para cubrir esta necesidad se presenta un nuevo modelo de calidad, obtenido tras
un estudio pormenorizado de los modelos de calidad existentes, centrado en el
paradigma orientado a objetos. Este modelo de calidad muestra cómo la calidad del
software se descompone en una serie de factores y éstos, a su vez, se descomponen en
un conjunto de criterios medibles utilizando medidas. El modelo incluye un amplio
conjunto de medidas, diseñadas especialmente para su aplicación dentro del
paradigma orientado a objetos. Para completar el modelo, se ha diseñado un sencillo
método de aplicación de este modelo de calidad para que pueda ser utilizado de
una forma simple por los desarrolladores de sistemas informáticos orientados a
objetos.
El modelo de calidad definido se ha validado realizando un juego de experimentos.
Estos experimentos han consistido en la aplicación del modelo sobre una serie de
desarrollos orientados a objetos. Los resultados obtenidos han demostrado su
utilidad práctica para determinar tanto la calidad global de los sistemas, como para
identificar aquellas partes del sistema susceptibles de ser mejoradas.
Con este trabajo, se llena un importante hueco existente en esta área, pues, en primer
lugar, no existen modelos de calidad completos para la orientación a objetos. En
segundo lugar, aunque hay medidas para la orientación a objetos, no se han asociado
a los atributos que determinan la calidad del software, por lo que su utilidad, tal cual
fueron definidas, resulta bastante cuestionable. Para finalizar, nunca se ha asociado
un modelo de calidad con una método de aplicación, por lo que su utilidad quedaba
considerablemente mermada, quedando a expensas de la habilidad y experiencia del
Ingeniero del Software que lo utilizara
Program complexity using hierarchical abstract computers
Abstract---A model of program complexity is introduced which combines structural control flow measures with data flow measures. This complexity measure is based upon the prime program decomposition of a program written for a Hierarchical Abstract Computer. It is shown that this measure is consistent with the ideas of information hiding and data abstraction. Because this measure is sensitive to the linear form of a program, it can be used to measure different concrete representations of the same algorithm, as in a structured and an unstructured version of the same program. Application of the measure as a model of system complexity is given for "upstream " processes (e.g. specification and design phases) where there is no source program to measure by other techniques. CASE tools Complexity Environments Measurement Prime programs 1