Skip to content Skip to navigation

Connexions

You are here: Home » Content » Métricas de la Calidad del Diseño Orientado a Objetos del Software

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Métricas de la Calidad del Diseño Orientado a Objetos del Software

Module by: Miguel-Angel Sicilia. E-mail the authorEdited By: Verónica De la Morena

Summary: Breve descripción de la Métrica para calcular la Calidad del Diseño Orientado a Objetos del Software.

La calidad del software puede ser entendida como el grado con el cual el usuario percibe que el software satisface sus expectativas. El tipo y número de actividades de garantía de calidad que es necesario adoptar en un proyecto o en una organización depende del tamaño y complejidad de los productos software que se estén desarrollando. También influyen otros factores, como pueden ser el tipo de proceso de desarrollo de software o los métodos y herramientas utilizados, la estructura organizativa de la organización, la motivación del personal, entre otros. Según el modelo de calidad ISO 9126, la calidad de un proceso contribuye a mejorar la calidad del producto, y, a su vez, la calidad del producto contribuye a mejorar la calidad en uso. La finalidad de la calidad en uso es medir la efectividad, productividad, seguridad y la satisfacción de los usuarios (pertenecientes a perfiles determinados) que interactúan con el producto en escenarios específicos de uso.

Robert Martin1, en 1995, estableció un conjunto de métricas para medir la calidad de los diseños orientados a objetos. En términos de la interdependencia entre los subsistemas del diseño (paquetes en Java) partiendo de la base de que, aunque las interrelaciones son necesarias, los diseños con subsistemas fuertemente interrelacionados son muy rígidos, poco reutilizables y difíciles de mantener. Martin propone una medida para cada paquete, que llama inestabilidad (I):

I = Ce Ca + Ce I = Ce Ca + Ce
(1)

Donde Ce es el número de clases dentro del paquete que dependen de otras clases de otros paquetes; Ca es el número de clases de otros paquetes que tienen una dependencia con clases del paquete.

La medida de inestabilidad está entre 0 y 1. Cuando es 1, significa que ningún paquete depende del paquete que se está midiendo, y por el contrario este paquete si depende de otros paquetes, siendo un paquete inestable: es no responsable y dependiente. La falta de paquetes que dependan de él no le ofrece razones para no cambiar, y los paquetes de los que depende pueden darle amplias razones para cambiar.

Por el contrario, cuando la inestabilidad es nula, I=0, significa que uno o varios paquetes dependen de él, pero él no depende de nadie. Es responsable e independiente, convirtiéndose en un paquete completamente estable. Los módulos que dependen de él hacen fuerza para que sea difícil de cambiar, y como él no depende de otros paquetes no se ve forzado a cambiar.

El principio de las dependencias estables dice que la métrica I de un paquete debe ser mayor que las métricas I de los paquetes de los que él depende, esto es la métrica I debe decrecer en la dirección de la dependencia.

Se debe tener presente que no es deseable que todos los paquetes sean completamente estables, porque el sistema no podría modificarse.

Ejemplo de cálculo de la estabilidad

En el ejemplo de la figura siguiente, se va a proceder a calcular la estabilidad del paquete que se encuentra en el centro de la figura. Se tienen 4 clases externas al paquete que tienen dependencia de las clases internas (la clase A se deriva de la clase e1, la clase B contiene objetos de la clase 2, la clase C contiene objetos de la clase 2, y la clase E se deriva de la clase 1), por lo tanto, se tiene que Ca=4.

Por otra parte se tiene que existen 3 relaciones de las clases interiores del paquete que tienen como destino clases exteriores al paquete, es decir, existen 3 dependencias de las clases interiores del paquete con clases exteriores (la clase 1 contiene objetos de la clase G, la clase 1 se deriva de la clase H, y la clase 2 tiene una relación de asociación con la clase I), por lo tanto Ce=3. Así, I=3/7. Por tanto, está casi en el límite de la inestabilidad.

Figure 1
Figure 1 (graphics1.png)

Footnotes

  1. Martin, R. (1995) OO Design Quality Metrics: An Analysis of Dependencies. Report on Object Analysis&Design, vol. 2 (3).

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks