Parte IV Bibliografía y Apéndices
5.1.4 Instanciar el PGCE a un Experimento en IS
5.1.4.3 Ciclo 6
En este ciclo con los cambios realizados en los instrumentos se procede a incorporar a la vez en el PGCE sin instanciar y el PGCE instanciado del experimento: la nueva sección para justificar la incorporación de los EEC, los instrumentos modificados en las diferentes secciones. El plan sin instanciar contiene las secciones e instrumentos para ser utilizados en la gestión de
materiales experimentales de un experimento. Mientras que, el plan instanciado contiene la totalidad de la información registrada en las diferentes secciones e instrumentos modificados. El PGCE sin instanciar y el PGCE instanciado se someten a procesos de verificación de la totalidad de su contenido. La verificación de la totalidad de contenido en el PGCE instanciado se realiza con la participación del doctorando y los miembros del grupo de investigación aplicando la técnica de entrevista. Los resultados de este ciclo se detallan en el 0 que es el PGCE sin instanciar. Mientras que, el PGCE instanciado del experimento que compara técnicas de evaluación de código se encuentra en el archivo “PGCE Técnicas de Evaluación de Código.pdf”.
Capítulo 6
El Proceso Experimental visto como una
Transformación de Productos
Este capítulo comienza con una revisión de conceptos y actividades que se emplean en la GCS. A continuación, se detalla el proceso de GCS y para finalizar, se analizan tanto el proceso software como el proceso experimental con fin de identificar las fases, los productos y los resultados intermedios y finales de cada uno de los procesos.
6.1
Gestión de la Configuración del Software en el Proceso de
Desarrollo del Software
En el contexto de la ISO/IEC IEEE 12207 [IEEE/EIA 12207.0-1996, 1996], se considera al ciclo de vida del software como un marco de referencia que contiene: los procesos, las actividades y las tareas involucradas en la gestión, el desarrollo, la explotación y el mantenimiento de un producto software. El ciclo de vida de un sistema software [IEEE Std.610.12-1990, 1990], establece un conjunto de etapas por las que pasa un producto software en el tiempo, el cual inicia cuando el producto es concebido y finaliza cuando el software ya no se utiliza. El ciclo de vida se caracteriza tanto por especificar un orden preestablecido de etapas así como por establecer los criterios de transición de una etapa a otra. La Figura 6-1 muestra el ciclo de vida para el desarrollo software.
Este marco organiza los procesos en principales, de apoyo y organizativos. La GCS es parte de los procesos de apoyo.
Hoy en día la GCS constituye una buena práctica de la ingeniería de software que apoya al desarrollo de proyectos software caracterizada por2:
Proveer una estructura de apoyo a las etapas del ciclo de vida del software para identificar y controlar los productos intermedios y finales del proceso de desarrollo. Productos como requerimientos, diseños, código fuente, código ejecutable, documentación de usuario, listado de programas, base de datos, planes de pruebas,
planes de gestión así como los elementos de soporte del entorno tales como compiladores, sistemas operativos, herramientas de programación y mantenimiento entre otros, requieren de procesos de gestión de configuración [IEEE Std.730, 2002]. Proporcionar el soporte a los desarrolladores de software para realizar los cambios de
una manera coordinada sobre los productos software [Babich, 1986].
Gestionar la información del desarrollo de los productos en lo referente al estado de líneas base, control de cambios, almacenamiento, liberaciones y auditorías.
Procesos Principales Del Ciclo de Vida
Adquisición Suministro Operación Mantenimiento Desarrollo Procesos de Apoyo al Ciclo de Vida Documentación Gestión de la Configuración Aseguramiento de la Calidad Verificación Validación Revisión Conjunta Auditoría Solución de Problemas
Procesos Organizativos del Ciclo de Vida Gestión
Mejora
Infraestructura Recursos Humanos
Figura 6-1: Ciclo de Vida del Desarrollo Software según la Norma IEEE 12207
Según la GCS se crean elementos de configuración (EC) en cada una de las fases del ciclo de vida del desarrollo software. Pueden ocurrir cambios en cualquier momento en los productos debido a la iteración entre las personas que participan en las diferentes etapas del proceso software o por las características mismas del software con respecto a su desarrollo, uso y mantenimiento.En palabras de Bersoftf et al [Bersoff et al, 1980], “Sin importar donde se esté en el ciclo de vida del sistema, el sistema cambiará, y el deseo por cambiar persistirá a lo largo del ciclo de vida”. El cambio en los productos, está presente en todo el proceso de desarrollo software. Se requieren procesos de control de cambios formales e informales, para permitir el registro, almacenamiento, seguimiento, recuperación, entrega y liberación de los EC.
Al conjunto de elementos de configuración de software (EC) construidos, utilizados, modificados y sometidos a procesos formales e informales de control de cambios en un proyecto software se denomina GCS. Babich [Babich, 1986], define la GCS como “El arte de coordinar el desarrollo de software para minimizar la confusión”. La Gestión de Configuración es el arte de identificar, organizar y controlar las modificaciones que sufre el software que construye un equipo de desarrollo. El objetivo es maximizar la productividad minimizando los errores.
La GCS es una disciplina formal de la ingeniería que forma parte de la gestión de configuración del sistema, la cual proporciona un conjunto de métodos, procesos, instrumentos y herramientas utilizados para identificar y controlar el software. De modo general las actividades que incluye la GCS son:
Identificación y establecimiento de EC y líneas base de un sistema software.
Selección, identificación, revisión, aprobación, control de cambios, trazabilidad y liberación de los EC de un sistema software.
Es por lo tanto la GCS el medio a través del cual se controla la integridad, consistencia y trazabilidad de los EC de un sistema software durante su desarrollo, uso y mantenimiento [IEEE, 2005].
A continuación se describen los conceptos que se emplean comúnmente en el proceso de gestión de configuración que ayudan a gestionar el cambio sobre los EC.
6.2
Proceso de Gestión de la Configuración del Software
La Gestión de la configuración se inscribe dentro del contexto del ciclo de desarrollo de software. Según IEEE [IEEE, 2005], la GCS identifica todas las funciones y tareas requeridas para gestionar la configuración del sistema software cuyo alcance se especifica en un plan de GCS. La GCS aplica procedimientos técnicos y administrativos a lo largo del ciclo de vida del software para garantizar: trazabilidad, integridad, completitud, consistencia y corrección de los EC soportados. Las principales actividades de la GCS son [Buckley, 1994, IEEE, 2005]:
Seleccionar, identificar y establecer los EC y líneas base de un sistema software.
Controlar los cambios realizados sobre los EC intermedios y finales del proceso de desarrollo software.
Registrar e informar el estado de los EC en las diferentes etapas del ciclo de vida del desarrollo software.
Registrar e informar las solicitudes de cambios de los EC por parte de usuarios y el personal del equipo de desarrollo software.
Administrar la liberación y entrega de los EC sometidos al proceso de gestión de configuración del software.
Las tareas asociadas para la gestión de los EC sometidos al proceso de GCS de acuerdo a la IEEE [IEEE, 2005] incluyen: introducción al plan de GCS, gestión de la GCS, actividades de la GCS y la de evaluación de la GCS. En las secciones siguientes se describen con mayor detalle cada una de las tareas de la GCS.