Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » Métricas del Mantenimiento de Software » Métricas de Mantenibilidad Orientadas al Producto

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Métricas de Mantenibilidad Orientadas al Producto

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

Summary: Definición y clasificación de Métrica de Mantenibilidad Orientada al Producto.

Estas métricas describen las características del producto que de alguna forma determinan la mantenibilidad, por ejemplo el tamaño, complejidad o características del diseño.

Las 4 métricas orientadas al producto son:

  • La densidad de comentarios en el código
  • Métricas de Complejidad.
  • El índice de madurez del software (IMS)
  • Métricas en Orientación a Objetos: Chidamber & Kemerer

Densidad de comentarios en el código

Aunque no existen muchas métricas conocidas a este respecto, es significativo para el mantenimiento de un sistema o componente software lo bien documentado que se encuentre. Obviamente, cuantos más comentarios haya en el código fuente, mayor mantenibilidad tendrá el software.

Para observar la densidad de comentarios que hay en el código hay que realizar una inspección del código fuente. Si el código fuente está realizado en Java, una medida fácilmente obtenible es la estudia la proporción de javadocs por número de líneas de código significativas, es decir, líneas de código que contengan sentencias que no sean de comienzo o fin (llaves, en el caso de Java) ni comentarios:

Densidad comentarios = LOCS nº Javadocs Densidad comentarios = LOCS nº Javadocs

Cuanto mayor sea la densidad de comentarios, más mantenible será el software examinado.

Métricas de Complejidad

Son todas las métricas de software que definen de una u otra forma la medición de la complejidad; Tales como volumen, tamaño, anidaciones, costo (estimación), agregación, configuración, y flujo. Estas son los puntos críticos de la concepción, viabilidad, análisis, y diseño de software.

Los 2 tipos de métrica para calcular la complejidad es:

  • Complejidad ciclomática de McCabe1
  • Ciencia del Software de Halstead2

Índice de Madurez del Software (IMS)

El estándar del IEEE 982.1-1988 sugiere un índice de madurez del software (IMS) como métrica específica de mantenimiento. Esta métrica proporciona una indicación de la estabilidad de un producto software. A medida que el IMS se aproxima a 1, el producto comienza a estabilizarse, y por lo tanto, menos esfuerzo de mantenimiento requerirá.

Para calcular el índice hacen falta una serie de medidas anteriores:

  • Mt = número de módulos en la versión actual.
  • Fm = número de módulos en la versión actual que han sido modificados.
  • Fa = número de módulos en la versión actual que han sido añadidos.
  • Fe = número de módulos de la versión anterior que se han eliminado en la versión actual.

A partir de estas, el IMS se calcula de la siguiente forma:

IMS = [Mt - ( Fa + Fm + Fe )] Mt IMS = [Mt - ( Fa + Fm + Fe )] Mt

Métricas Orientadas a Objetos

Las métricas OO se centran en métricas que se pueden aplicar a las características de encapsulamiento, ocultamiento de información, herencia y técnicas de abstracción de objetos que hagan única a esa clase.

Chidamber & Kemerer3 proponen una familia de medidas para desarrollos orientados a objetos:

  • Métodos ponderados por clase
  • Profundidad árbol de herencia
  • Número de descendientes
  • Acoplamiento entre clases
  • Respuesta para una clase
  • Carencia de cohesión en los métodos

Footnotes

  1. McCabe,T.J., y A.H. Watson, “Solftware Complexity”, Crosstalk.
  2. Halstead, M., “Elements of Software Science”, Holland.
  3. Chidamber, S.R., D.P. y C.F.Kemerer, “Management Use of Metrics for Object-Oriented Software: An Exploratory Analysis”, IEEE Trans. Software Engineering.

Collection Navigation

Content actions

Download:

Collection 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 ...

Module as:

PDF | More downloads ...

Add:

Collection 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

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