ADMINISTRACION DE LA CONFIGURACION DEL SOFTWARE Fernando Aragón Manjarrés Felipe Camargo Galindo Ingeniería de Sistemas Pontificia Universidad Javeriana Agenda INTRODUCCION • Panorama de la Administración de Configuraciones • Conceptos de la Administración de Configuraciones – – – – – Artículos de configuración y agregados AC Versiones y configuraciones. Peticiones de cambio Promociones y lanzamientos Depósitos y espacios de trabajo • Actividades de la Administración de Configuraciones • Actividades de la administración de configuraciones. Una profundización. INTRODUCCION • Requerimientos -> desarrolladores dominio aplicación. • El diseño sistema -> tecnología y objetivos de diseño. • Implementación -> reparar defectos. • Impacto a cada uno de los productos: modelos de sistema a código fuente y documentación. • La administración de la configuración del software es el proceso de controlar y supervisar el cambio de los productos de trabajo. Panorama de la Administración de Configuraciones • DEF: Disciplina que controla los cambios en la evolución de los sistemas de software. • Automatizan la identificación de versiones, su almacenamiento y recuperación, y soportan la contabilización del estado. Panorama de la Administración de Configuraciones • Actividades – Identificación de los artículos de configuración. • Identificación de componentes, productos y versiones. • Creación de artículos conforme a la evolución. – Control del cambio • Consistencia • Controlado por desarrolladores, gerentes o comité. – Contabilización del estado • Registro de componentes, productos y peticiones de cambio – Auditoria • Se validan las versiones = consistencia, suficiencia y calidad. • Equipo de control de calidad • Otras actividades (Dart,1991) – Administración de la construcción – Administración de procesos. Conceptos de la Administración de Configuraciones • Artículos de configuración y agregados AC – Def ArC • Producto de trabajo o fragmento de software. – Def agregados AC • Conjunto de ArC – Ejemplo • El manejador de dispositivos de puerto serial es un artículo de configuración; el sistema operativo Linux es un agregado AC. Conceptos de la Administración de Configuraciones • Versiones y configuraciones. – Def versión • Identifica el estado de un artículo de configuración o de una configuración en un momento bien definido. – Def configuración • Para un agregado AC dado, a un conjunto de versiones consistente de sus artículos de configuración. (una versión de un agregado AC) Conceptos de la Administración de Configuraciones • Peticiones de cambio – Definición • Reporte formal hecho por un usuario o un desarrollador que solicita una modificación a un artículo de configuración. Conceptos de la Administración de Configuraciones • Promociones y lanzamientos – Def promoción • Versión que se ha puesto a disposición de los demás desarrolladores. – Def lanzamiento • Versión que se ha puesto a disposición de los clientes o usuarios. Conceptos de la Administración de Configuraciones • Depósitos y espacios de trabajo – Definición de depósito • Biblioteca de lanzamientos – Definición de espacio de trabajo • Biblioteca de promociones. Conceptos de la Administración de Configuraciones • Depósitos y espacios de trabajo – Tipos de bibliotecas • Espacios de trabajo del desarrollador • Directorio maestro • Depósito de software Conceptos de la Administración de Configuraciones • Cambios y conjunto de cambios – Modelación de un artículo de configuración • Vista basada en estado – Cada estado se identifica con un número de versión • Vista basada en cambio. – Se identifica por cada cambio o conjunto de cambios que se hacen en un determinado momento. Actividades del manejo de configuración •Ítems de configuración e identificación de agregados de administración de configuración •Administración de promociones •Administración de lanzamientos •Administración de ramas •Administración de variantes •Administración de cambios Ítems de configuración • Agregados de configuración, e ítems de configuración y su identificación. • NO ES UN PROCESO ALGORITMICO. • Identificación de interfaces entre componentes. • Cambios en todos los niveles necesarios. Administración de promociones • Objetivos como que los demás equipos hagan revisiones, debug de otro ítem de configuración, chequeo de “salud”. • Representan el estado de configuración de un ítem en un momento dado del proceso. Manejo de lanzamientos • Se hace bajo parámetros de calidad, y es decisión de la gerencia. • Implica tomar decisiones radicales porque afecta al cliente y puede comprometer la imagen institucional. Administración de Ramas • • • 1. 2. 3. 4. 5. Manejo de cambios no entrelazados. Manejo de cambios de configuración que se traslapen. Heurísticas de manejo de ramas. Identificación de traslapes probables Unir frecuentemente. Comunicar conflictos probables. Minimizar cambios en el tronco principal. Minimizar el número de ramas. Administración de variantes • Versiones que se supone que pueden coexistir. 1. Equipos redundantes 2. Proyecto único • Único proveedor múltiples consumidores • Largos tiempos de respuesta a cambios sugeridos • Inconsistencias entre plataformas Administracion de cambios • • 1. 2. 3. 4. Varía en formalidad y complejidad. 5 pasos: Solicitud Evaluación Aceptación o rechazo Planeación, priorización y asignación del cambio. 5. Auditoria del cambio