Gestión de la Configuración

Gestión de la Configuración
Información sobre la plantilla
Gestion configuracion.gif

“El arte de coordinar el desarrollo de software para minimizar…la confusión, se denomina gestión de la configuración. La gestión es el arte de identificar, organizar y controlar las modificaciones que sufre el software…la meta es maximizar la productividad minimizando errores.” Babich.

La Gestión de la Configuración del software es uno de los procesos clave para toda organización dedicada a la Ingeniería de Software, ya que posibilita una mejor organización del desarrollo y mantenimiento, producto, facilitando el resto de procesos de producción. Durante el proceso de construcción de un software, los cambios son inevitables. Los cambios provocan confusión e incertidumbre, sobre todo cuando no se han analizado o pronosticado correctamente. Es importante considerar ciertas modificaciones que pueden ocurrirle al software dentro de todo el proceso de ingeniería.


Definición

Se denomina Gestión de la Configuración al conjunto de procesos destinados a asegurar la validez de todo producto obtenido durante cualquiera de las etapas del desarrollo de un Sistema de Información (S.I.), a través del estricto control de los cambios realizados sobre los mismos y de la disponibilidad constante de una versión estable de cada elemento para toda persona involucrada en el citado desarrollo. Estos dos elementos (control de cambios y control de versiones de todos los elementos del S.I.) facilitan también el mantenimiento de los sistemas al proporcionar una imagen detallada del sistema en cada etapa del desarrollo. La gestión de la configuración se realiza durante todas las fases del desarrollo de un sistema de información, incluyendo el mantenimiento y control de cambios, una vez realizada la puesta en producción.

Propósito

El propósito de la Gestión de Configuración del Software es establecer y mantener la integridad de los productos de software a través del ciclo de vida del proceso de software. La Gestión de Configuración del Software implica la identificación de la Configuración del software en puntos dados en el tiempo, el control sistemático de los cambios en la Configuración y el mantenimiento de la integridad y trazabilidad de la Configuración a través del ciclo de vida del software. Los productos incluidos son:

  • Software distribuido al cliente.
  • Documentos de requerimientos del software.
  • Código.
  • Elementos requeridos para crearlos (ejemplo: el compilador)

Aspectos Funcionales

  1. Identificación: Se necesita definir un esquema de identificación para reflejar la estructura del producto, esto involucra identificar la estructura y clases de componentes, dando a cada uno un nombre, una identificación de versión y una identificación de Configuración.
  2. Control: Se deben controlar los cambios que se le hacen a través del ciclo de vida, asegurando que el software sea consistente a través de la creación de una línea base del producto.
  3. Estado: Se debe registrar y reportar el estado de los componentes y solicitudes de cambio.
  4. Auditoria y revisión: Se debe validar que el producto este completo y así mantener la consistencia entre los componentes, asegurando que estén en un estado apropiado a través de todo el ciclo de vida del producto y que el mismo sea una colección bien definida de componentes.

Objetivos

  1. Evaluar y mantener la integridad de los productos.
  2. Evaluar y controlar los cambios.
  3. Facilitar la visibilidad sobre el producto.

La integridad en este contexto es:

  • Satisfacer los requisitos implícitos y explícitos.
  • Cumplir requisitos de rendimiento.
  • Se puede trazar su evolución.

Las actividades a realizar para conseguir los objetivos son:

  • Identificación de la configuración.
  • Control de cambios de la configuración.
  • Generación de informes de estado.
  • Auditoría de la configuración.

Terminología

  • Configuración del software: es el conjunto de elementos de configuración software (ECS) controlados. Cada uno puede tener varias versiones que se suceden en el tiempo.
  • Línea base: es un conjunto de puntos de referencia o hitos que quedan marcados por la aprobación de uno o varios elementos de configuración del software mediante una revisión técnica formal.
  • Versión: es un elemento de configuración en un instante dado.
  • Revisiones: son las distintas versiones que van apareciendo. Si una versión y sus revisiones se representan con un grafo, forman una cadena de revisión.
  • Variante: es una versión que coexiste con otra y que se diferencia de ella en algunos aspectos. Tipos de variantes:
    • Temporal: Su destino final es fusionarse con la rama principal. El motivo de su existencia es tener a gente trabajando en paralelo sin que ocurran conflictos. La fusión debe hacerse pronto para evitar divergencias.
    • Experimentales: Son prototipos para explorar vías. Nos quedamos con el mejor y tiramos los demás.
    • Pruebas: Se construyen para realizar pruebas.
    • Permanentes: No se mezclan, sirven para distintos tipos de requisitos. Hay dos tipos.
    • Variantes de requisitos de usuario: Cada variante sirve a un tipo de requisito de usuario.
    • Variantes de plataforma: Por ejemplo para distinto sistema operativo.
  • Configuración alternativa: es la que compone de un conjunto diferente de elementos de configuración.
  • Release: es una configuración del sistema que se va a entregar al cliente.

Elementos de configuración software

Definimos como un elemento de Configuración a una unidad física y/o lógica parte de un conjunto mayor de elementos, producida o adquirida, que por sus características es distinguible de las demás y cuya evolución interesa administrar.

  • Ejecutables.
  • Código Fuente.
  • Modelos de datos.
  • Modelos de procesos.
  • Especificaciones de requisitos.
  • Pruebas.

Y para cada uno de estos elementos se almacenará al menos:

  • Nombre.
  • Versión.
  • Estado.
  • Localización.

Fuente

[[1]] [[http://www.mitecnologico.com/Main/GestionDeLaConfiguracionDelSoftware [[2]] [[3]] [[4]] [[5]] [[6]]

Véase también

Calidad Total en Informática

SQA

Revisiones Técnicas Formales