Skip to content Skip to navigation Skip to collection information

OpenStax_CNX

You are here: Home » Content » Métricas del Mantenimiento de Software » Definición de Mantenibilidad

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Definición de Mantenibilidad

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

Summary: Definición de Mantenibilidad y su relación con la Calidad y con el Mantenimiento del Software.

El IEEE1 (19990) define mantenibilidad como: “La facilidad con la que un sistema o componente software puede ser modificado para corregir fallos, mejorar su funcionamiento u otros atributos o adaptarse a cambios en el entorno”.

Esta definición está directamente conectada con la definición del IEEE para mantenimiento del software: “es el proceso de modificar un componente o sistema software después de su entrega para corregir fallos, mejorar su funcionamiento u otros atributos o adaptarlo a cambios en el entorno”.

En consecuencia, la mantenibilidad es una característica de calidad del software relacionada con la facilidad de mantenimiento, que nosotros consideraremos como una actividad de mantenimiento.

A mayor mantenibilidad, menores costes de mantenimiento (y viceversa).

La mantenibilidad debe establecerse como objetivo tanto en las fases iniciales del ciclo de vida, para reducir las posteriores necesidades de mantenimiento, como durante las fases de mantenimiento, para reducir los efectos laterales y otros inconvenientes ocultos (y seguir así reduciendo las futuras necesidades de mantenimiento).

La calidad del software es una compleja mezcla de factores que variarán a través de diferentes aplicaciones y según los clientes que las pidan. Dichos factores se pueden dividir en 2 grupos:

  • factores que se pueden medir directamente
  • factores que se pueden medir sólo indirectamente.

McCall2 propuso una útil clasificación de factores que afectan a la calidad del software. Estos factores son:

  • Corrección → Hasta dónde satisface un programa su especificación y logra los objetivos propuestos por el cliente.
  • Fiabilidad → Hasta dónde se puede esperar que un programa lleve a cabo su función con la exactitud requerida.
  • Eficiencia → La cantidad de recursos informáticos y de códigos necesarios para que un programa realice su función.
  • Integridad → Hasta dónde se puede controlar el acceso al software o a los datos por personas no autorizadas.
  • Usabilidad → El esfuerzo necesario para aprender a operar con el sistema, preparar los datos de entrada e interpretar las salidas (resultados) de un programa.
  • Facilidad de mantenimiento (mantenibilidad) → El esfuerzo necesario para localizar y arreglar un error en un programa.
  • Flexibilidad → El esfuerzo necesario para modificar un programa que ya está en funcionamiento.
  • Facilidad de prueba → El esfuerzo necesario para probar un programa y asegurarse de que realiza correctamente su función.
  • Portabilidad → El esfuerzo necesario para transferir el programa de un entorno hardware/software a otro entorno diferente.
  • Reusabilidad → Hasta dónde se puede volver a emplear un programa en otras aplicaciones, en relación al empaquetamiento y alcance de las funciones que realiza el programa.
  • Interoperatividad → El esfuerzo necesario para acoplar un sistema con otro.

Hewlett-Packard ha desarrollado un conjunto de factores de calidad del software al que se le ha dado el acrónimo de FURPS (Funcionality, Usability, Reliability, Reformance, Supportability). Los atributos contemplados en cada uno de estos cinco factores son:

  • Funcionalidad → Se valora evaluando el conjunto de características y capacidades del programa, la generalidad de las funciones entradas y la seguridad del sistema global.
  • Usabilidad → Se valora evaluando el conjunto de características y capacidades del programa, la generalidad de las funciones entregadas y la seguridad del sistema global.
  • Fiabilidad → Se evalúa midiendo la frecuencia y gravedad de los fallos, la exactitud de las salidas, el tiempo medio de fallos, la capacidad de recuperación de un fallo y la capacidad de predicción del programa.
  • Rendimiento → Se mide por la velocidad del procesamiento, el tiempo de respuesta, consumo de recursos, rendimiento efectivo total y eficacia.
  • Capacidad de Soporte → Combina la capacidad de ampliar el programa, adaptabilidad y servicios, así como la capacidad para hacer pruebas, compatibilidad, capacidad de configuración del software, la facilidad de instalación de un sistema y la facilidad con que se pueden localizar los programas.

Los factores de calidad FURPS y atributos descritos pueden usarse para establecer métricas de la calidad para todas las actividades del proceso del software

Footnotes

  1. Institute of Electrical and Electronics Engineers. (1990) IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. New York, NY.IEEE Std. 610.12 (1990) Standard Glossary of Software Engineering Terminology. IEEE Computer Society Press, Los Alamitos, CA.
  2. Roger S. Presuman (2002) Ingeniería del Software. Un enfoque práctico

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 | 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:

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