Definicion del punto como elemento de configuracion

TEMA 2: GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE
0. UBICACIÓN
Con respecto al tiempo..
? Mantenimiento: conjunto de actividades posteriores a la entrega del SW al cliente.
? Gestión de la configuración:
conjunto de actividades de seguimiento desde el inicio hasta el final del proyecto software

Gestión de la configuración del software (GCS)
? Definición: arte de identificar, organizar, revisar y controlas las modificaciones que sufre el software que construye un equipo de desarrollo.
? Aplicado durante el proceso de software.
? Objetivo: maximizar la producción minimizando los errores.

Estándar ISO 12207
? Establece un marco de referencia común para los procesos del ciclo del vida sw, con una terminología bien definida, que puede ser referenciada por la industria sw.
? En este marco se definen los procesos, actividades y tareas presentes en la adquisición suministro, desarrollo, operación y mantenimiento del sw.

1. INTRODUCCIÓN AL CAMBIO

Cambios en el mercado o en el negocio que afectan a los requisitos, cambios hechos por el cliente en los datos o en la funcionalidad del sistema, reorganización de las prioridades del proyecto, restricciones del tiempo o de dinero.
?

Configuración del software:

conjunto de elementos que contienen toda la información producida por el proceso software.
?

Elementos de la configuración:

agregación de hw y/o sw diseñada para la gestión de configuración y que se trata como una única entidad en el proceso de gestión de la configuración. En definitiva un EC es un conjunto de partes en las cuales se divide el sw y sobre las que se quieren controlar los cambios.
?

Línea base (LB):

elemento central de la disciplina de GCS „³ parte fundamental del desarrollo de sw. Marca el final de una fase del ciclo de vida del software. Especificación o producto revisado que sirve como base para el posterior desarrollo y sólo puede cambiarse por procedimientos formales de control de cambios „³ hito en el plan de desarrollo. ç
Ejemplos:
o LB funcional: al final de la fase de análisis.
o LB de asignación: al final de la fase de diseño de alto nivel.
o LB de Diseño: al final de la fase de diseño detallado. Diseño de subsistemas y plan de pruebas de integración.
o LB de explotación: al final de la implementación.

2. ACTIVIDADES DE LA GCS
1. Identificación de la configuración:

actividades para identificar, nombrar y describir las características del código, de las especificaciones, del diseño y de los elementos de datos a controlar en el proyecto.
Registrar la información: nombre y versión de los ECs, Nombre y organización del autor de la solicitud, fecha de la petición, indicación de la urgencia, necesidad del cambio, descripción del cambio.

2. Análisis y evaluación de la petición de cambio:


especifica el análisis a realizar para evaluar el impacto del cambio y los procedimientos para revisar el análisis de los resultados.
Se deberá evaluar el impacto el impacto en entregables, recursos del proyecto.

3. Aprobación o desaprobación de cambio:


aprobación o desaprobación de los cambios.
Descripción de los responsables de aceptar / rechazar el cambio: comités de Control de cambio (CCC), pueden existir varios CCC y de diferentes niveles.

4. Implementación de los cambios:


actividades para verificar e implementar los cambios.
Información necesaria: peticiones de cambio asociada, nombres y versiones de los ECs afectados, fecha de liberación, identificador de la nueva versión.

3. CONTABILIDAD DEL ESTADO DE LA CONFIGURACIÓN


Define e implementa los procedimientos: visibilidad, trazabilidad.
Mecanismos de determinación: Qué, Cuando.
Beneficio de llevar una contabilidad del estado de la configuración: ahorro de tiempo, ahorro de dinero.
Realización: cuando se crea o actualiza un EC, cuando se emite una orden de cambio, cada vez que se realiza una actividad de auditoría.
4. AUDITORIAS Y REVISIONES DE LA CONFIGURACIÓN
Definiciones:

una organización asegura que los desarrolladores han hecho su trabajo de forma que se satisfacen todas las obligaciones externas.

Objetivo:


asegurarse de que un cambio ha sido implementado correctamente.

Actividades costosas en tiempo y recursos:


dificultad técnica, experiencia de los auditores. Estar razonadamente seguro de la calidad del producto.

Características:


garantiza que los elementos auditados están completos y siguen el pan de GCS, garantizan que la LB corresponde con la descripción de sus elementos.
Factores que tiene en cuenta / analizan:
¿Se han seguido las pautas descritas en la Petición de cambio?
¿Se ha informado de los cambios?
¿Se han actualizado los EC relacionados?
¿Se ha seguido los procedimientos del Plan de Gestión de la Configuración?
¿Es correcto (tecnicamente) el cambio? „³ ¿Revisión técnica formal?
¿Se han actualizado correctamente todos los ECS afectados?
¿Se han aplicado correctamente los estándares de Ing. SW?
Documento del Plan de GCS 
IEEE Std. 828-2005
Introducción:

o Objetivo:
visión general simplificada.
o Elementos
„X Propósito: razón de ser y audiencia.
„X Alcance: descripción del proyecto software, identificación de los EC, software a incluir dentro del plan, limitaciones y suposiciones de impacto, intereses del plan.

Gestión de la GCS

o Objetivo:
asignación de responsabilidades y autoridades para las actividades de GCS.
o Elementos:

„X Organización: unidades organizativas, roles y relaciones entre las unidades.
„X Responsabilidades de la GCS: asignación de actividades de GCS a las unidades organizativas.
„X Políticas: impacto y uso.

Actividades de GCS

o Objetivo:
identificar las funciones y tareas requeridas para gestionar la configuración del sistema
o Descripción de las tareas de GCS:
identificación, control de la configuración, contabilidad del estado, auditorias y revisiones.
o Control de la interfaz:
coordinación entre los ECS y los cambios en los elementos externos:
„X Interfaz software.
„X Interfaz hardware.
o Control de subcontratista / vendedor:
gestión del software adquirido.

Calendarios de GCS:


establecer la secuencia y corrdinación para las actividades de GCS.

Recursos de GCS:


identificar las herramientas software, técnicas, equipamiento, personal y entrenamiento necesario para las tareas de GCS.

Mantenimiento del plan de GCS:


identificar las actividades y responsabilidades necesarias para asegurar la planificación continua de la GCS durante el ciclo de vida del proyecto.

5. CONTROL DE CAMBIOS


Generar un mecanismo para llevar el control de los cambios.
Aplicación de políticas de gestión de cambios informales salvo en el proceso de conversión de EC a Línea Base. Procesos a controlar. Elementos a definir.

6. TIPOS DE CONTROL DE CAMBIOS:

?

Control informal:

antes de aprobarse un nuevo elemento.

Implica un procedimiento de revisión y aprobación para cada cambio propuesto en la configuración.
Este tipo de control ocurre durante el proceso de desarrollo pero es usado después de que haya sido aprobado un elemento de la configuración software.
Este nivel de control de cambios se caracteriza por tener menos cambios que el control individual.
Cada cambio es registrado normalmente.
?

Control de gestión:

conduce a la aprobación de un nuevo elemento.
?

Control formal:

se realiza durante el mantenimiento.
Ocurre durante la fase de mantenimiento del ciclo de vida software.
El comité de Control de Cambios está Formado por los miembros de las organizaciones de usuarios / pedidores de cambios y de desarrolladores.
Para pequeños proyectos, el CCC puede estar formado por uno de los representantes de los usuarios, requeridores de cambios y desarrolladores.
Para grandes proyectos, el CCC puede estar organizado en una jerarquía que trate los problemas del sistema, del hardware y del software por separado

Tareas del CCC:

?
Analizar el impacto de cambios revolucionarios en el sistema.
? Categorizar y priorizar los cambios conforme son pedidos y aprobados.
? Intervenir en los conflictos entre disciplinas y organizaciones.
? Garantizar que las propiedades de mantenimiento, de registro y contabilización se cumplan.

7. CONTROL DE VERSIONES

Imprescindibles, en el proceso de desarrollo, el uso de procedimientos y herramientas para la gestión de las versiones de los ECs que permitan conocer todos los componentes asociados a una versión determinada-

Definición:


forma particular que adopta un elemento de configuración en un instante determinado.

Elementos genéricos:


? Repositorio: base de datos del proyecto. Bloqueo- Modificación-Desbloqueo. Copiar- Modificar- Mezclar.
? Gestor de versiones: almacena todas las versiones y permite crear nuevas a partir de las versiones almacenadas.
? Una facilidad para construir objetos de configuración.
? Gestor de errores.

Cuando los cambios de diferentes usuarios se solapan se produce un conflicto, se puede resolver de tres formas: editando manualmente las líneas conflictivas, eligiendo una de las versiones, o deshaciendo todos los cambios locales.

Operaciones en el control de versiones:


? Diff: se utiliza para saber la diferencia entre 2 ficheros.
? Patch: se utiliza a partir de un fichero A y un archivo delta obtener la versión modificada de A.
? Branch: acto de copiar un fichero original con la intención de modificarlo.
? Merge: consiste en incorporar en un repositorio los cambios que se produjeron en otro de forma independiente.

Evoluciones posibles y sus definiciones

? Revisión: conjunto de versiones en un instante determinado con el objetivo de reemplazar versiones anteriores.
? Variante: versión de un componente o sistema que se añade a las versiones existentes sin reemplazarlas.
? Versión: instancia de sistema que difiera de alguna manera de otras instancias del mismo sistema.
? Delta: conjunto de cambios de una versión respecto a la anterior.

8. GESTIÓN DE ENTREGAS

Una entrega es una versión del sistema que se entrega a los clientes: código ejecutable, archivos de configuración, archivos de datos, programa de instalación, la documentación electrónica y en papel que describe el sistema, el embalaje y la publicidad.