Modelo de Proceso de Desarrollo de Software Documento de Actividades Gestión de Configuración (S.C.M.) Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez
ÍNDICE ÍNDICE... 1 GESTIÓN DE CONFIGURACIÓN... 2 Descripción de la Gestión de Configuración... 2 Actividades que se realizan en la Gestión de Configuración... 3 El rol de la Gestión de Configuración en el Ciclo de Vida del Software... 3 Actividades... 4 SCM1 PREPARAR EL PLAN DE SCM... 4 SCM2 DEFINIR/CONSTRUIR EL AMBIENTE CONTROLADO... 6 SCM3 IDENTIFICAR LOS PRODUCTOS A SER PUESTOS BAJO SCM... 8 SCM4 CONTROLAR LAS VERSIONES... 10 SCM5 CONTROLAR LOS CAMBIOS... 12 SCM6 AUDITAR LA LÍNEA BASE DEL SOFTWARE... 14 SCM7 REALIZAR EVALUACIÓN FINAL DE LA GESTIÓN DE CONFIGURACIÓN... 16 Referencias... 17 Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 1 de 17
Descripción de la Gestión de Configuración GESTIÓN DE CONFIGURACIÓN Descripción&Actividades El objetivo de la Gestión de Configuración es establecer y mantener la integridad de los productos del proyecto durante el proceso de desarrollo del mismo. Esto se logra mediante un conjunto de actividades de seguimiento y control que comienzan cuando se inicia el proyecto y que son realizadas durante todo su desarrollo. Los elementos que componen toda la información producida como parte del proceso de ingeniería del Software se denominan la configuración del Software. La Gestión de Configuración involucra la identificación de estos elementos de la configuración del Software seleccionando los productos y sus descripciones, el control de los cambios en la configuración y el mantenimiento de la integridad y trazabilidad de la configuración a lo largo del ciclo de vida del Software. Las actividades de SCM afectan a todas las actividades del desarrollo que obtengan productos o necesiten información de los mismos, interactuando continuamente con las actividades de desarrollo, controlando y gestionando sus productos y estableciendo versiones de los mismos hasta que el producto se encuentra correctamente finalizado o aceptado y es ingresado a la línea base del Software. Se establece la línea base del software y los cambios a la línea base y las liberaciones de productos desde esta línea base, son controlados por el control de cambios y las auditorias de línea base, registrándose las distintas versiones de los productos que componen la línea base en determinados puntos en el tiempo. Al comienzo del Proyecto el Responsable de la Gestión de Configuración realiza la actividad SCM1 Preparar el en el cual se establecen las actividades que serán realizadas durante el desarrollo del Proyecto e identifica los productos que serán controlados, en la actividad SCM3 Identificar los productos a ser puestos bajo SCM, cuya descripción se incluye el. También al inicio del Proyecto se realiza la actividad SCM2 Definir/Construir el ambiente controlado conjuntamente con los Especialistas Técnicos, en la cual se establece el entorno tecnológico para realizar actividades como el almacenamiento, recuperación y transferencia de productos por los grupos afectados a los mismos. A partir de la Fase de Elaboración, una vez que el ha sido terminado, se realizan las actividades SCM4 Controlar las versiones y SCM5 Controlar los cambios en las cuales el Responsable de Gestión de Configuración realiza el seguimiento de las versiones y cambios de los productos del software. Se realiza periódicamente la actividad SCM6 Auditar la Línea Base del Software en la cual se evalúan los elementos de configuración en la línea base para determinar su consistencia. Al finalizar el Proyecto se realiza la actividad SCM7 Realizar Evaluación Final de Gestión de Configuración para determinar el cumplimiento de los objetivos y actividades planificadas en el. Esta actividad no se incluye en el diagrama de actividades ya que se realiza por única vez al finalizar el Proyecto. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 2 de 17
Actividades que se realizan en la Gestión de Configuración Figura 1 Actividades de la Gestión de Configuración y sus participantes Preparar el Plan de SCM Controlar las versiones Responsable de SCM Identificar los Productos a ser puestos bajo SCM Definir/Construir el ambiente controlado Controlar los cambios Auditar la Línea Base del Software Especialistas Técnicos El rol de la Gestión de Configuración en el Ciclo de Vida del Software Figura 2 El Rol de la Gestión de Configuración Línea de trabajo de Gestión: Gestión de Configuración FASES Inicial Elaboración Construcción iteración#1 iteración#1 iteración#2 iteración#1 iteración#2 Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 3 de 17
Actividades SCM1 Preparar el Entradas : IEEE std. 828 Standard for Software Configuration Management Plans IEEE std. 1042 Guide to Software Configuration Management Figura 3 Actividad SCM1 Preparar el IEEE std. 828 Standard for Software Configuration Management Plans Responsable de SCM IEEE std. 1042 Guide to Software Configuration Management Preparar el Descripción : El sirve para guiar las actividades de Gestión de Configuración que se realizarán a lo largo del Proyecto estableciendo la estrategia y procedimientos de trabajo, y las acciones requeridas para mantener la visibilidad de la evolución de la configuración de los productos del Proyecto. Estos productos que serán puestos bajo Gestión de Configuración, son identificados de acuerdo a lo indicado en la actividad SCM3 Identificar los Productos a ser puestos bajo SCM estableciendo los procedimientos para nombrar, numerar y etiquetar los distintos productos que serán controlados. Se definen también los mecanismos para la gestión de cambios, estableciendo claramente los procedimientos a seguir para realizar cambios a los productos incluidos en la Línea Base del Software y los responsables de estudiar y aprobar las peticiones de cambios, definiendo también la estructura y contenido de los documentos requeridos para cumplir con estos procedimientos. De la participación en la actividad GP1 Preparar el Plan del Proyecto que se realiza conjuntamente con los Responsables de Verificación, SQA y Administrador, se podrá definir la agenda de actividades de Gestión de Configuración, coordinando acciones y definiendo estrategias generales de trabajo con los Responsables de las Líneas de Trabajo de Gestión. Como actividades de Gestión de Configuración a realizar durante el desarrollo del proyecto, se deberán incluir, además de las que pudieran definirse en forma específica, las que se indican en el Proceso de Desarrollo del Proyecto cuya descripción se encuentra en este documento de Actividades. La estructura del Plan de Gestión de Configuración estará dada por el IEEE std. 828 Standard for Software Configuration Management Plans y por el IEE std. 1042 Guide to Software Configuration Management que provee una guía sobre el contenido del mismo. Fase Inicial: Se realiza un bosquejo del Plan con la información disponible hasta el momento. Fase de Elaboración: 1er.iteración: En esta iteración se completa el Plan con la información que hubiera quedado pendiente. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 4 de 17
2da.iteración: No se realiza esta actividad en esta iteración. Fase de Construcción: No se realiza esta actividad en esta Fase. Salidas : Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 5 de 17
SCM2 Definir/Construir el ambiente controlado Entradas : Figura 4 Actividad SCM2 Definir/Construir el ambiente controlado Responsable de SCM Especialistas Técnicos Definir/Construir el ambiente controlado Documento de Descripción del Uso del ambiente controlado Descripción : En esta actividad se define el entorno tecnológico de soporte a la Gestión de Configuración que se realizará en el Proyecto, y se determinan los componentes de hardware y software que van a permitir la mecanización de los procesos y controles que fueron establecidos en el Plan. Estos aspectos son dependientes del entorno tecnológico en el que se desarrollará el Sistema. La definición de un ambiente controlado real para el proyecto es vital, ya que sin él no se podrá realizar la Gestión de Configuración de los productos del Software, poniendo en peligro la integridad de dichos productos. Un ejemplo de ambiente controlado para Proyectos con estas características puede ser la creación de una página Web a la cual tengan acceso todos los integrantes del Equipo con distintos permisos, registrando las acciones realizadas en el ambiente controlado y los productos afectados. El ambiente controlado debe proveer las siguientes funciones: Capacidad de controlar el acceso a los productos, previniendo que dos integrantes del Equipo retiren el mismo componente para modificación en el mismo momento, con políticas de check-in, manipulación y check-out. El check-out debería bloquear el componente para que éste quedara inaccesible al resto del Equipo hasta que se realice un check-in para insertar una versión modificada del mismo. Capacidad de definir, almacenar y recuperar distintas versiones y variantes Capacidad de mantener el Sistema en un estado consistente, generando automáticamente las versiones cuando ocurren cambios en los componentes. Esta actividad tiene como resultado un documento de Descripción del Uso del ambiente controlado, el cual será distribuido por el Responsable de SCM a todos los integrantes del Equipo quienes deberán leerlo y plantear las dudas que pudieran aparecer sobre los procedimientos definidos en el mismo. El Responsable de SCM debe preocuparse por que todos los integrantes del Equipo estén al tanto de los temas incluidos en el Documento y se capaciten para manejar el ambiente controlado. Fase Inicial: El Responsable de SCM y los Especialistas Técnicos deciden cómo van a implementar el ambiente controlado teniendo en cuenta las características del Proyecto y las herramientas disponibles. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 6 de 17
Fase de Elaboración: 1er.iteración: Durante esta iteración se construye y/o se aprende a usar la herramienta que manejara el ambiente controlado. 2da.iteración: No se realiza esta actividad en esta iteración. Fase de Construcción: No se realiza esta actividad en esta Fase. Salidas : Documento de descripción del uso del ambiente controlado Personas involucradas: Responsable de SCM Especialistas Técnicos Responsable: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 7 de 17
SCM3 Identificar los productos a ser puestos bajo SCM Entradas : Proceso de Desarrollo del Proyecto Figura 5 Actividad SCM3 Identificar los Productos a ser puestos bajo SCM Proceso de Desarrollo del Proyecto Responsable de SCM Identificar los Productos a ser puestos bajo SCM (refinado) Descripción : Se identifican los productos que se obtienen en cada Línea de Trabajo estableciéndose cuales serán objeto de la Gestión de Configuración de acuerdo a las definiciones realizadas en el, y el procedimiento que será seguido para identificarlos en forma única. Para esto, a cada uno de estos productos se les asignará un nombre, un código de versión y un estado que indicará la situación en que se encuentran dentro de su proceso de elaboración y su localización en el ambiente controlado. La asignación del identificador apropiado a cada producto se realiza cuando aparece por primera vez en el ambiente controlado, registrándose como la primera versión del producto en el estado que establezca el Plan. Cada producto, en función de su naturaleza va pasando por diferentes estados en las que debe superar varias revisiones o aprobaciones. Antes de ser ingresado a la Línea base del Software, un producto puede sufrir numerosos cambios e incluso después puede ocurrir que tenga que ser modificado. Esto implica que el producto sea registrado en el ambiente controlado con una nueva versión y en el estado que corresponda. Cada vez que un integrante del Equipo genere o modifique un producto, deberá identificarlo y registrarlo en el ambiente controlado de acuerdo a los procedimientos establecidos. Fase Inicial: Se comienza a realizar esta actividad al mismo tiempo que se realiza el. Fase de Elaboración: 1er.iteración: Esta actividad se completa en esta iteración. 2da.iteración: No se realiza esta actividad en esta iteración. Fase de Construcción: No se realiza esta actividad en esta Fase. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 8 de 17
Salidas : (refinado) Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 9 de 17
SCM4 Controlar las versiones Entradas : Productos bajo Gestión de Configuración Figura 6 Actividad SCM4 Controlar las versiones Responsable de SCM Productos bajo Gestión de Configuración Controlar las versiones Documento de Registro de versiones Descripción : El control de versiones combina procedimientos y herramientas para gestionar las versiones de los objetos de configuración creadas durante el Proyecto. Cada versión del Software es una colección de elementos de la Configuración del Software como código fuente, documentos, datos, y se obtiene como resultado de correcciones, cambios y/o actualizaciones a los distintos componentes de la versión. La realización de un cambio en la línea base provoca la aparición de una nueva versión, por lo que debe registrarse en la configuración del software con la versión y estado correspondiente según establezca el Plan de Gestión de Configuración. Los componentes que van a ser modificados o creados también deben ser registrados en la versión correspondiente, y la Línea base que será reemplazada debe ser archivada. Cada versión puede estar compuesta a su vez de diferentes variantes si por ejemplo dos componentes realizan la misma función con alguna variante, por ejemplo si el software se usa para monitores color se utilizará un componente y si el software se usa para monitores monocromáticos se utilizará otro componente, y ambos son parte de la misma versión. Fase Inicial: No se realiza esta actividad en esta Fase. Fase de Elaboración: 1er.iteración: No se realiza esta actividad en esta iteración. 2da.iteración: Se realiza esta actividad de acuerdo a las actividades de configuración que se realicen. Fase de Construcción: Se realiza esta actividad de acuerdo a las actividades de configuración que se realicen. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 10 de 17
Salidas : Documento de registro de versiones Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 11 de 17
SCM5 Controlar los Cambios Entradas : Productos bajo Gestión de Configuración Figura 7 Actividad SCM5 Controlar los cambios Responsable de SCM Productos bajo Gestión de Configuración Controlar los cambios Documento de Registro de cambios Descripción : Antes de que un producto se convierta en línea base solamente se realiza un control informal, el integrante del Equipo que haya desarrollado el producto podrá hacerle los cambios que considere necesarios. Una vez que el producto se integra a la línea base, se debe seguir un procedimiento formal para realizarle cambios al mismo. Estos procedimientos se encuentran establecidos en el Plan de Gestión de Configuración así como los documentos que deben generarse para seguirlos. La estructura general para el control de cambios comienza cuando se realiza la solicitud de cambio de algún producto generando el documento de petición de cambio correspondiente, en el que se detalla la información definida sobre el producto y el cambio a realizar. La solicitud de cambio es evaluada por el responsable definido en el, el cual informa de la aceptación o rechazo del cambio al Responsable de SCM, generando el documento correspondiente. Para realizar el análisis de la solicitud de cambio, es necesario contar con la información de gestión de configuración que será provista por el responsable de SCM, para identificar y recuperar las versiones afectadas por la solicitud y evaluar el impacto del cambio solicitado en todos los elementos de la configuración. Una vez que ha sido aceptada la propuesta de solución, con la información obtenida se realiza un registro del cambio en el ambiente controlado, y se registra la nueva versión de acuerdo a los establecido en la actividad SCM4 - Controlar las Versiones según el criterio de versiones definido en el plan de SCM. Fase Inicial: No se realiza esta actividad en esta Fase. Fase de Elaboración: 1er.iteración: No se realiza esta actividad en esta iteración. 2da.iteración: Se realiza esta actividad de acuerdo a las actividades de configuración que se realicen. Fase de Construcción: Se realiza esta actividad de acuerdo a las actividades de configuración que se realicen. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 12 de 17
Salidas : Documento de registro de cambios Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 13 de 17
SCM6 Auditar la Línea Base del Software Entradas : Productos bajo Gestión de Configuración Documentos de registro de versiones Documentos de registro de cambios Figura 8 Actividad SCM6 Auditar la Línea Base del Software Responsable de SCM Productos bajo Gestión de Configuración Documentos de registro de versiones Auditar la Línea Base del Software Informe de la Línea Base del Proyecto Documentos de registro de cambios Descripción : El objetivo de esta actividad es verificar que en un momento dado, el Sistema en desarrollo es una colección de productos consistente y bien definida. Involucra los procedimientos para verificar que los productos de Software se corresponden con las descripciones de los elementos de la configuración del Software en las especificaciones y documentos, y que el conjunto que se está revisando es completo. Generalmente las auditorías de Línea base se realizan antes de una liberación o de una actualización de la versión de un componente de línea base. Esta actividad consiste en determinar que todos los elementos de configuración identificados para ser puestos bajo SCM están presentes en la línea base del Software, estableciendo la correctitud de la versión de cada elemento de configuración y su correspondencia con los documentos de control de versiones y cambios presentes en la Gestión de Configuración. Las auditorías de Línea base a medida que la configuración evoluciona puede prevenir de graves problemas al momento de la liberación para el uso operativo. Los Informes de la Línea base del Proyecto generados en esta actividad son útiles para mantener actualizada la información del estado de la configuración de los productos de Software del Proyecto. Fase Inicial: No se realiza esta actividad en esta Fase. Fase de Elaboración: 1er.iteración: No se realiza esta actividad en esta iteración. 2da.iteración: Se realiza esta actividad durante toda la iteración. Fase de Construcción: Se realiza esta actividad durante toda la Fase. Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 14 de 17
Salidas : Informe de la Línea base del Proyecto Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 15 de 17
SCM7 Realizar Evaluación Final de la Gestión de Configuración Entradas : Todos los documentos de control de versiones Todos los documentos de control de cambios Todos los Informes de la Línea base del Proyecto Figura 9 Actividad SCM7 Realizar Evaluación Final de la Gestión de Configuración Documentos de control de versiones Responsable de SCM Documentos de control de cambios Realizar Evaluación Final de la Gestión de Configuración Documento de Evaluación Final de la Gestión de Configuración Informes de la Línea Base del Proyecto Descripción : La Evaluación Final de Gestión de Configuración tiene como propósito recolectar toda la información referida a las actividades de Gestión de Configuración planificadas, las efectivamente realizadas y los resultados obtenidos a través de las mismas. A partir de la información de los documentos de control de versiones, de cambios y los informes de la Línea base del Proyecto se podrán evaluar las actividades de Gestión de Configuración realizadas y su aporte al desarrollo ordenado y gestionado de los productos de Software que componen el Proyecto y la correctitud de la configuración del Sistema obtenido. También se podrá evaluar la calidad de la Gestión de Configuración realizada en cuanto a cantidad de cambios pedidos y versiones obtenidas y el control de cambios realizado, así como el correcto uso del ambiente controlado por parte de los integrantes del Equipo del Proyecto. Fase Inicial: No se realiza esta actividad en esta Fase. Fase de Elaboración: No se realiza esta actividad en esta Fase. Fase de Construcción: Se realiza al finalizar el proyecto, en la última semana como uno de los informes de cierre del mismo. Salidas : Evaluación Final de la Gestión de Configuración Personas involucradas: Responsable de SCM Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 16 de 17
Referencias Ingeniería del Software Un enfoque práctico 4ª Edición Roger S. Pressman - 1998 Métrica Versión 3 Interfaces: Gestión de Configuración Consejo Superior de Informática Madrid, España - 1999/2000 Key Practices of the Capability Maturity Model, Version 1.1 CMM/SEI-93-TR-025 Software Engineering Institute 1993 Mark C. Paulk, Charles V. Weber, Suzanne M. Garcia, Mary Beth Chrissis, Marilyn Bush Fundamentals of Software Engineering Carlo Ghezzi Mehdi Jazayeri Dino Mandrioli Software Process Improvement and assurance standards Capability Determination Versión 3.3 (SPICE) ISO/IEC TR 15.504 Canadá - 1998 IEEE std. 828 Standard for Software Configuration Management Plans IEEE std. 1042 Guide to Software Configuration Management Ingeniería de Software - Proyecto de Taller5 Andrea Delgado & Beatriz Pérez Página 17 de 17