Está en la página 1de 28

GESTIÓN DE LA

CONFIGURACION DEL
SOFTWARE (CGS)
PROFESOR:
• ING. WILER ARTURO PONCE BENITES
11. GESTION DE LA CONFIGURACION DEL SOFWARE (CGS)
“La gestión de la configuración del software es como cepillarse los dientes o pasar la revisión del automóvil,
no es algo que disfrutes, pero sabes que las consecuencias de no hacerlo pueden ser terribles algún día”.
— Tom Welsh

La gestión de configuración del software realiza un conjunto de actividades


desarrolladas para gestionar y registrar los cambios a lo largo del ciclo de vida del
software de computadora.
Las actividades de CGS sirven para:

• Identificar el cambio de nuestro software.


• Controlar ese cambio.
• Garantizar que el cambio quede bien implantado.
• Informar el cambio
11.1 La importancia de poner las cosas en su sitio
A veces uno repara la avería, después de cerrar el capó del coche, nos percatamos de que ha quedado
una pieza fuera. Estas cosas suceden porque no hemos tenido cuidado en gestionar la configuración
del motor de nuestro vehículo.
La escena descrita tiene un paralelo en la Ingeniería del Software. Por ejemplo, ciertos programas
funcionan con la versión 1.1 de una biblioteca determinada, pero no funcionan con versiones 1.2 ,
porque cambió algún pequeño detalle en una interfaz. También en un software en desarrollo, el
cambio que hizo ayer un programador hace que a la mañana siguiente otros de sus compañeros
comiencen la mañana con errores de compilación que ¡el día anterior no sucedían!

Si no sabemos qué piezas forman el software y cómo encajan para que la cosa funcione, sólo podemos
augurar problemas en el cumplimiento de los plazos.
11.2 Objetivos
El objetivo general de este capítulo es conocer la función, los conceptos y las principales
técnicas y herramientas de la gestión de la configuración del software.

• Comprender el concepto de configuración del software como la disposición de los elementos


que conforman un software, y su evolución en el tiempo en forma de versiones de los
elementos de configuración.

• Comprender la importancia de las líneas base para dar estabilidad a la gestión de la


configuración del software, gracias al control formal de los cambios.

Línea Base: "una especificación o producto que se ha revisado formalmente y sobre los que se ha
llegado a un acuerdo, y 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” (IEEE)
• Saber establecer y gestionar el proceso fundamental de la gestión de cambios.

Si los pasos sucesivos generan cambios en el documento después de una línea base,
se requerirá una revisión formal y una justificación de todas las modificaciones del
documento.
• Conocer los fundamentos del control de versiones de elementos software y su papel
dentro de la gestión de la configuración.

• Conocer los aspectos más relevantes de la planificación, organización y auditoría de


la gestión de la configuración del software.
11.3 La configuración del software
Todo sistema como tal tiene una configuración, que no es otra cosa que la disposición y las
interrelaciones de sus partes. Por ejemplo, la configuración de un modelo de automóvil es la
combinación de ciertas piezas de determinada forma,

Configuración es la disposición de un sistema informático o un componente,


definida por el número, naturaleza e interconexiones de sus partes
constituyentes(IEEE).

La configuración puede verse como una colección de versiones concretas de


elementos hardware,firmware o software, combinados según ciertos procedimientos
de construcción para servir a un propósito determinado(SWEBOK).
Un elemento de configuración es un agregado de hardware, software o
ambos, al que se da una designación y se trata como una entidad
independiente en el proceso de gestión de la configuración,

• Especificación del sistema


• Plan del proyecto software a) Especificación de
requerimientos del software b) Prototipo ejecutable o en
papel
• Manual de usuario preliminar
• Especificación de diseño: detallado
• Listados del código fuente
Una versión (de un elemento de configuración) es cada uno de los siguientes estados diferentes en
los que un elemento de configuración se encuentra durante el desarrollo o durante la evolución del
software.
En general, cada elemento dentro de un software puede versionarse, si bien estas versiones son
internas al desarrollo y no se exponen al conocimiento de
los usuarios finales.
Por lo tanto hay dos maneras de ver la configuración: en un instante concreto del
tiempo, o a través del tiempo que resumiendo puede definirse como:

La gestión de la configuración es la disciplina que aplica dirección y control técnico y administrativo


para: identificar y documentar las características físicas y funcionales de los elementos de
configuración, controlar los cambios de esas características, registrar e informar del procesamiento de
los cambios y el estado de la implementación, y verificar la conformidad con los requisitos
especificados(IEE).

La gestión de la configuración también puede definirse como el control de las


diferencias en el sistema para minimizar el riesgo y el error(SWEBOK).

Nota: no es necesario en todas las ocasiones registrar cada uno de los cambios que se producen
en los elementos que conforman el software, sino sólo en aquellos que se consideren relevantes
o definitivos.
11.4 Actividades de gestión de la configuración del software

La figura siguiente resume las principales actividades que se engloban en la gestión de la


configuración.

1) determinando qué 4) cumple la


debe incluirse en la función de
configuración y de qué garantía de
forma. 5 calidad

5) informar a
2) establecen los la dirección el
procedimientos 2 3 4
estado de los
formales elementos,
permitiendo
3) configuraciones la medición y
estables del producto 1 el control del
que se entregarán a progreso
los clientes
IDENTIFICACIÓN DE LA
CONFIGURACIÓN DEL SOFTWARE
El primer problema que debe considerarse en la gestión de la configuración del software es
cómo identificar unívocamente a cada uno de los elementos software. Para ello, es
primordial comenzar por decidir lo siguiente:
• Qué elementos software se controlarán.
• Qué relaciones o dependencias entre elementos software se controlarán.
VERSIÓN DE SOFTWARE

El concepto de versión surge porque los elementos software evolucionan en el tiempo:


Una versión de un elemento software es un ítem particular e identificado, que puede
verse como un estado en la evolución de un elemento software. Cuando la versión
está pensada para reemplazar al estado anterior, se suele denominar revisión,
mientras que si es una versión nueva que no reemplaza a la anterior, se suele
denominar variante.
LÍNEA BASE

Las configuraciones fijas de un software que requieren de procesos formales para


cambiarse se denominan líneas base. Una definición más formal es la siguiente:
Una línea base es una especificación o producto que ha sido revisado y consensuado
formalmente, que servirá de base para futuros desarrollos, y que sólo puede
cambiarse mediante procedimientos de control de cambios formales.
El aspecto fundamental de las líneas base es que antes de entrar en alguna, el cambio de un
elemento software puede ser rápido e informal, pero cuando entra en la línea base, los cambios
requieren un control formal con procedimientos definidos. Estas líneas base sirven para controlar
determinados puntos en el desarrollo, tales como los siguientes:
• La línea base funcional.
• La línea base asignada
• Las líneas base de desarrollo
• La línea base de producto
CONTROL DE CAMBIOS EN EL SOFTWARE

El control de los cambios es esencial para la gestión de la configuración. Ese control


consiste en la definición de los procesos de inclusión de cambios en una línea base. Esa
inclusión tiene que estar necesariamente controlada, es decir, debe contar con un proceso
en el que el cambio sea valorado, y se apruebe o rechace de acuerdo a los criterios de una
cierta autoridad de control de cambios. Esta autoridad de control de cambios puede ser
una sola persona -en proyectos pequeños, el gerente del proyecto o el arquitecto de
software podrían desempeñar dicho papel-, si bien es más habitual que sea un grupo de
personas representativas, lo que habitualmente se llama panel de gestión de la
configuración.
PANEL DE GESTIÓN DE LA CONFIGURACIÓN

El panel de gestión de la configuración es un comité que controla el proceso de


cambio y ejerce de autoridad de control. Suele estar formado por representantes de
todas las partes interesadas, incluyendo clientes, desarrolladores y usuarios.
EJEMPLO DE SOLICITUD DE CAMBIO

Una solicitud de cambio es un documento que contiene una solicitud de modificación de un


sistema. Estas solicitudes son de carácter declarativo, es decir, indican lo que hay que cambiar, pero
no cómo debe hacerse el cambio. Los siguientes son elementos típicos de una solicitud de cambio:
un identificador de la solicitud de cambio; la referencia o identificador de la persona o unidad que
ha originado la solicitud; una indicación de la opcionalidad o importancia del cambio propuesto; tos
plazos, en su caso; el tipo de cambio y una descripción textual del cambio a realizar.
La figura muestra una
secuencia de actividades
típicas de un programador
o varios programadores
durante el desarrollo, y
cómo la autoridad de
control de cambios tiene
un rol de aprobación final
del producto.
GESTIÓN DE ENTREGAS

El término entrega (release) hace referencia a un estado de la configuración que se utiliza


para distribuirla, fuera del contexto del desarrollo. Esa distribución puede ser a un cliente
del software, o también una entrega interna en algún punto determinado. Las entregas a las
que todos estamos acostumbrados son las versiones de los productos, por ejemplo, la
versión 4 de Mozilla Firefox. Pero dentro de un proyecto, hay entregas parciales, por
ejemplo, la creación de una línea base a partir de un prototipo arquitectónico del sistema.
Pueden identificarse al menos los siguientes tipos de entregas (releases):
• Entregas operativas.
• Entregas de mantenimiento.
• Entregas en planificación.
La aprobación de qué es una entrega y qué no lo es, en ocasiones, se encuentra definida
contractualmente, pero lo habitual es que la autoridad de control de cambios disponga de un
procedimiento para la aprobación y control de nuevas entregas, que pasarán a planificarse.
UN EJEMPLO MÁS COMPLEJO DE GESTIÓN DE CAMBIOS:

El establecimiento de un proceso
de gestión de cambios es un
elemento crítico en la gestión de la
configuración del software, ya que
de algún modo sintetiza las
prioridades de la organización y
por ello, debe dar cabida a la
participación de todos los
responsables.
Agradecimientos:

El contenido de esta presentación se apoyó en el libro:


Ingeniería del Software Un enfoque desde la guía SWEBOK
Colaboraron en la elaboración de estas diapositivas:
Mejía Benites, Kevin
Neyra Delgado, Pierre
Sánchez Pérez, Sonny
estudiantes del curso de Ingeniería de Software en el semestre 2020-0

También podría gustarte