Gestión de la configuración del software

La Gestión de la configuración del software es uno de los aspectos importantes que se deben tener en cuenta al momento de planear el desarrollo de sistemas informáticos. Aquí un pantallazo de los puntos más relevantes de esta actividad de ingeniería de software.

La gestión de configuración del software es un conjunto de actividades desarrolladas para gestionar los cambios a lo largo del ciclo de vida del software. 

El arte de coordinar el desarrollo de software para minimizar la confusión, se denomina gestión de configuración. La meta es maximizar la productividad minimizando los errores.  

Es una actividad de autoprotección que se aplica durante el proceso del software. Sirve para identificar el cambio, controlar el cambio, garantizar que el cambio se implemente adecuadamente e informar del cambio a todos aquellos que puedan estar interesados.

Diferencias entre mantenimiento del software y configuración del software:

Mantenimiento son actividades de ingeniería del software que se producen después de que se haya entregado, mientras que configuración son actividades de seguimiento y control, mientras se sigue desarrollando.

 

Gestión de la Configuración del software (GCS):

  • Qué es? Actividades diseñadas para controlar el cambio.
  • Quién lo hace? Todos los que estén en el desarrollo.
  • Qué se obtiene? El plan de gestión de la configuración del software que define la estrategia del proyecto para la GCS.

Orígenes de los cambios:

  • Nuevos negocios o condiciones comerciales.
  • Nuevas necesidades del cliente.
  • Reorganización o crecimiento del negocio.
  • Restricciones presupuestarias o de planificación.

Línea Base:

Se define como línea base a una especificación o producto que se ha revisado y sobre los que se ha llegado a un acuerdo  que de ahí en adelante sirve como base para un desarrollo posterior y que puede cambiarse solamente a través de procedimientos formales de control de cambios. (O sea es la base desde la que vamos a desarrollar nuestro sistema, esa base está bien y listo).

Elementos de Configuración del software:

Un ECS es un documento, un conjunto completo de casos de prueba o un componente de un programa dado. Se organizan como objetos de configuración que han de ser catalogados en la base de datos del proyecto. Tienen nombre y atributos y están relacionados a otros objetos por relaciones.

Proceso de GCS:

También se encarga de la identificación de los ECS individuales y las distintas versiones del software, las auditorias de configuración y de la generación de informes.

Preguntas que se hace:

¿Cómo identifica y gestiona las diferentes versiones existentes de un programa para introducir cambios?

¿Cómo controla los cambios?

¿Quién tiene que aprobar y asignar prioridades a los cambios?

¿Cómo podemos garantizar que los cambios se han llevado a cabo adecuadamente?

¿Cómo se avisa de los cambios realizados?

De ahí sacamos 5 tareas de CGS:

Identificación, control de versiones, control de cambios, auditorias de configuración y generación de informes.

Identificación:

Hay dos tipos de objetos:

Objetos Básicos:

Es una unidad de texto creado durante el análisis, diseño, codificación o pruebas.

Objeto Compuesto:

Es una colección de objetos básicos y de otros objetos compuestos.

Cada objeto tiene un conjunto de características distintas, un nombre, una descripción ( tienen el tipo de ECS  Ej.: Programa, datos. Un identificador y la info. de la versión), una lista de recursos (cosas requeridas por el objeto)y una realización(es una referencia a un texto para un objeto básico y nulo para un objeto compuesto). Los objetos se relacionan entre ellos.

Control de Versiones:

El control de versiones combina procedimientos y herramientas para gestionar las versiones de los objetos de configuración.

 También se puede hacer que cada versión sea un conjunto de ECS, o sea que tenga los elementos 1,2,3,4,5 en la variante 4 para la versión 2, en cambio en la versión 1, tenes los componentes 1,2,3 en la variante 1, y 4, 5 en la variante 3. O sea que sumas distintas versiones de distintos ECS para hacer una versión más grande de todo el programa. 

Auditoria de la configuración:

¿Cómo podemos asegurara que el cambio se implementó correctamente? Con revisiones técnicas formales y auditorias de configuración del software. Las revisiones técnicas se centran en la corrección técnica del elemento de configuración que ha sido modificado.  Se deben llevar a cabo para cualquier cambio que no sea trivial. Una auditoria de configuración complementa la revisión técnica al comprobar características que generalmente no tiene en cuenta la revisión, se plantea y responde las siguientes preguntas:

1-Se ha hecho el cambio especificado?

2- Se llevo una revisión técnica?

3-Se ha seguido el proceso del software y se han aplicado los estándares de ing. del software?

4-Se han resaltado los cambios en el ECS?

5-Se han seguido procedimientos de GCS para señalar el cambio, registrarlo y divulgarlo?

6- Se han actualizado todos los ECS relacionados?

Informe de estado:

Responde a las siguientes preguntas:

1-Que paso?

2-Quien lo hizo?

3-Cuando paso?

4-Que más se afecto?

 

Básicamente se encarga de producir los informes para todos los cambios y cosas que se le hagan al software por cada uno de los desarrolladores, así todos están al tanto de lo que se va haciendo, de esta forma se evita el síndrome de la mando izq. ignora lo que hizo la derecha, y un desarrollador va a cambiar lo que otro ya hizo.

 

En resumen:

La gestión de configuración del software es una actividad de protección que se aplica a lo largo de todo el proceso del software. La GCS identifica, controla, audita e informa de las modificaciones que invariablemente se dan al desarrollar el software una vez que ha sido distribuido a los clientes.  Cualquier información producida como parte de la ingeniería del software se convierte en parte de una configuración del software. La configuración se organiza de tal forma que sea posible un control organizado de los cambios.

 

La configuración del software está compuesta por un conjunto de objetos interrelacionados, también denominados elementos de configuración del software, que se producen como resultado de alguna actividad de ingeniería del software. Además de los documentos, los programas y los datos, también se puede poner bajo control de configuración el entorno de desarrollo utilizado para crear el software.

 

Una vez que se ha desarrollado y revisado un objeto de configuración, se convierte en una línea base. Los cambios sobre un objeto de línea base conducen a la creación de una nueva versión del objeto. La evolución de un programa se puede seguir examinando el historial de las revisiones de todos los objetos de su configuración. Los objetos básicos y los compuestos forman una asociación de objetos que refleja las variantes y las versiones creadas.

 

El control de versiones es un conjunto de procedimientos y herramientas que se usan para gestionar el uso de los objetos. El control de cambios es una actividad procedimental que asegura la calidad y la consistencia a medida que se realizan cambios en los objetos de la configuración. El proceso de control de cambios comienza con una petición de cambio, lleva a una decisión de proseguir o no con el cambio y culmina con una actualización controlada del ECS que se ha de cambiar. La auditoria de configuración es una actividad de SQA que ayuda a asegurar que se mantiene la calidad durante la realización de los cambios. Los informes de estado proporcionan información sobre cada cambio a aquellos que tienen que estar informados.

10 comentarios en «Gestión de la configuración del software»

  1. Tengo una duda y quisiera saber si todas las metodologías de desarrollo de software, realizan esta disciplina de Gestion de la Configuracion del Software…

  2. Ergly, buenos días!
    Respecto a tu pregunta, la gestión de la configuracíon de software es una práctica muy recomendada a la hora de llevar adelante un desarrollo informático. Una buena metodología de desarrollo no deberia omitir este tipo de pasos, puesto que mantiene la calidad y orden del mismo. A lo mejor si es un desarrollo muy pequeño se puede omitir, pero las buenas prácticas indican lo contrario.
    Espero que te sea de ayuda.

    Saludos.

  3. Gracias por su respuesta…y le hago otra pregunta, es que estoy haciendo una investigacion y tengo poco conocimiento para la misma…..tengo entendido que metodologias como RUP, AUP y METRICA, realizan este proceso, dentro de sus flujos de trabajo, pero quisiera saber si existe o tiene conocimiento de alguna otra metodologia que realize este flujo, porque necesito ver como lo realizan para elaborar un plan de gestion de configuracion.

  4. Actualmenta me encuentro a cargo del proceso de administración de la configración en la empresa donde laboro y quisiera saber tu opinión sobre un detalle, para tí ¿quien o que área es la más indicada para realizar las auditorías de configuración? Esto debido a que básicamente las auditorías son para comprobar que los cambios que se debían hacer en verdad se hicieron y esta comprobación puede llegar a ser muy técnica si se trata de cambios muy específicos y complejos, digamos en el código por ejemplo, y tal vez el área de administración (o gestión) de la configuración no posee habilidades para realizar esa comprobación.

  5. hola queria q me ayudes con mas informacion de Gestión de la configuración del software
    de como puedo hacer un sofware o en que plataforma seria lo indicado para desarrollarlo de mejor manera

    espero q me ayudes muy pronto
    saludos
    santiago

  6. saludos… gracias por el articulo… yo igual quisiera un ejemplo del plan de gestion de configuracion del software si tubieran algo..o mas informacion sobre el tema.. me seria de gran ayuda.. .. gracias…

  7. hola.. quisiera pedirles informacion de sobre donde puedo descargar un prototipo sobre gestion de configuracion de software… espero que me respondan.. gracias …

  8. Muy buena infomración me fue muy útil. Actualmente estoy estudiando Análisis de Sistamas, en Pilar – Paraguay

  9. Buenas Tardes
    Tengo una duda, para hacer administracion de la configuracion, se deden guardar en un repositorio diferente al origen todos los items elegidos?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.