GESTION DE LA CONFIGURACION SOFTWARE15.010
EL PROBLEMA DEL SOFTWAREEL PROBLEMA DEL SOFTWARE
Satisface las expectativas del cliente: el producto satisface las necesidades del usuario tal y como él las percibe
Puede ser fácil y completamente trazado: todas las representaciones de un producto software a lo largo de su ciclo de vida son consistente.
Cumple con el coste/presupuesto y con las fechas de entrega previstos
GESTION DE LA CONFIGURACION SOFTWARE15.020
CARACTERISTICASCARACTERISTICAS
Es información abstracta: no tiene características físicas medibles
Es información muy susceptible y fácil de ser cambiada
Es información creada y mantenida en diversas formas y representaciones durante su ciclo de vida
GESTION DE LA CONFIGURACION SOFTWARE15.030
VISIBILIDADVISIBILIDAD
Falta de visibilidad
Hacer que todas las piezas del producto encajen entre ellas uniformemente
Hacer un producto que sea consistente con el producto anterior
Hacer que el código sea congruente con los requisitos del cliente
GESTION DE LA CONFIGURACION SOFTWARE15.040
CONTROL DE CAMBIOSCONTROL DE CAMBIOS
«Finalmente, existe un gran encanto en trabajar con un
medio tan maleable. El programador;como el poeta, trabaja
sólo con el pensamiento. Construye castillos en el aire,
de aire, creando mediante el ejercicio de la imaginación.
Pocos materiales son tan flexibles, tan fáciles de pulir
y de rehacer; tan aptos para realizar grandes
estructuras conceptuales»
[BROOKS, 1975]
GESTION DE LA CONFIGURACION SOFTWARE15.050
CONTROL DE CAMBIOSCONTROL DE CAMBIOS
«No importa dónde te encuentres en el ciclo
de vida del sistema, el sistema cambiará y
el deseo de cambio permanecerá a través
de todo el ciclo de vida»
[BERSOFF et al., 1980]
GESTION DE LA CONFIGURACION SOFTWARE15.060
TRAZABILIDADTRAZABILIDAD
Forma no ejecutable, que a su vez se puede dividir en: documentación como especificaciones, diseños o listados de programas, manuales de usuario, planes de pruebas, etc., e información en dispositivos físicos como discos duros, cintas magnéticas, discos ópticos, etc.
Forma ejecutable, que consiste en secuencias ejecutables de información directamente y únicamente accesible, por una serie de procesadores.
GESTION DE LA CONFIGURACION SOFTWARE15.070
TRAZABILIDADTRAZABILIDAD
La aparición de un producto software (por ejemplo, publicación de un documento de diseño)
Determinar el contenido de un producto software (pruebas y revisiones)
Mantener una reunión para analizar y resolver discrepancias entre productos software (especificación y código ejecutable)
Modificar un producto en respuesta a un cambio previamente autorizado
GESTION DE LA CONFIGURACION SOFTWARE15.080
EL PROBLEMA DEL DESARROLLO SOFTWAREEL PROBLEMA DEL DESARROLLO SOFTWARE
Un desarrollo con éxito requiere:
Visibilidad en el proceso de desarrollo
Visibilidad en los responsables para la toma de decisiones
Coordinacíón para aumentar la productividad disminuyendo los errores
GESTION DE LA CONFIGURACION SOFTWARE15.090
DEFINICION DE GCSDEFINICION DE GCS
La disciplina que identifica la configuración de un sistema
en puntos discretos del tiempo, con el objetivo de controlar
sistemáticamente los cambios de esa configuración
y mantener su calidad y trazabilidad a través del ciclo
de vida del sistema
[BERSOFF et al., 1980]
GESTION DE LA CONFIGURACION SOFTWARE15.100
DEFINICION DE GCSDEFINICION DE GCS
Una colección de técnicas diseñadas para evaluar
la calidad de los productos software proporcionando
mayor visibilidad, evidencia del progreso durante
el desarrollo y la producción, y elevando el control
técnico y de gestión
[BUCKLE, 1982]
GESTION DE LA CONFIGURACION SOFTWARE15.110
DEFINICION DE GCSDEFINICION DE GCS
El conjunto de técnicas para iniciar, evaluar
e implementar cambios en un producto software
manteniendo su integridad
[TOMAYKO, 1987]
GESTION DE LA CONFIGURACION SOFTWARE15.120
DEFINICION DE GCSDEFINICION DE GCS
Como una disciplina que aplica la dirección y el control
administrativo y técnico para: identificar y documentar
las características funcionales y físicas de los elementos
de la configuración, controlar los cambios de estas
características, y almacenar e informar del estado de los
cambios y de la implementación
[MIL, 1988]
GESTION DE LA CONFIGURACION SOFTWARE15.130
DEFINICION DE GCSDEFINICION DE GCS
El proceso de identificar y definir los elementos
de configuración en un sistema, controlando la entrega
y el cambio de estos elementos a través del ciclo
de vida del sistema, almacenando el estado de los
elementos de la configuración y de las peticiones
de cambio, y verificando la compleción con respecto
a los requisitos especificados
[IEEE, 1990]
GESTION DE LA CONFIGURACION SOFTWARE15.140
DEFINICION DE GCSDEFINICION DE GCS
La GCS es una disciplina de gestión que permite
controlar formalmente la evolución del software, garantizando
la visibilidad en el desarrollo y en el producto, y la
trazabilidad en el producto
[BRYAN y SIEGEL, 1984]
GESTION DE LA CONFIGURACION SOFTWARE15.150
CONFIGURACIONCONFIGURACION
La disposición de un sistema de ordenador o red según se define por la naturaleza, número y características principales de sus unidades funcionales
Los requisitos, diseño e implementación que definen una versión particular de un sistema o de un componente del sistema
[IEEE, 1990]
GESTION DE LA CONFIGURACION SOFTWARE15.160
CONFIGURACION DE REFERENCIACONFIGURACION DE REFERENCIA
Una CR es algo estable, que ha sido auditado y que sólo se puede cambiar por un proceso formal de control de cambios
Las CR permiten gestionar el desarrollo software facilitando la consecución real de hitos intermedios para pasar desde las ideas al código
Una CR es una fotografía aprobada del sistema en un punto dado de su evolución
GESTION DE LA CONFIGURACION SOFTWARE15.170
OBJETIVOSOBJETIVOS
Primero, permite establecer un punto de referencia para auditar el estado del software respecto de las necesidades del cliente y de la planificación del desarrollo. Como especificación constituye una base formal para la realización de cambios
Segundo, es una base estable (una especificación «congelada») que permite la cooperación, coordinación y progreso hacia la siguiente fase de desarrollo
GESTION DE LA CONFIGURACION SOFTWARE15.180
CONFIGURACION DE REFERENCIA Y EL CICLOCONFIGURACION DE REFERENCIA Y EL CICLODE VIDA SOFTWAREDE VIDA SOFTWARE
Etapa del ciclo de vida Configuración de Referencia que se produceAnálisis CR FuncionalDiseño CR de AsignaciónDiseño detallado CR de DiseñoImplementación/Integración CR de ProductoPruebas del sistema CR de ExplotaciónMantenimiento /Explotación Nueva CR de Explotación
GESTION DE LA CONFIGURACION SOFTWARE15.190
FUNCIONES Y NECESIDAD EN LA GCSFUNCIONES Y NECESIDAD EN LA GCS
Necesidad Función Información
¿Cuál es la configuración de misistema?
Identificación La configuración del sistemaconsiste en los siguienteselementos: e1, e2, e3, etc.
¿Cómo controlo los cambios demi configuración?
Control Los pasos para resolver losproblemas que directa oindirectamente afectan a laconfiguración son: p1, p2, p3, etc.
¿Qué cambios he realizado a misistema?
Contabilidad de estado La configuración del sistema ysus cambios asociados en estemomento son: elementos (e1, e2,e3, etc.), cambios realizados (c1,c2, c3, etc.) y cambios pendientes(c11, c12, c13, etc.)
¿Satisface el sistema lasnecesidades especificadas?
Auditoría Entre el sistema actual y lasnecesidades especificadas existenlas siguientes diferencias: d1, d2,d3, etc.
GESTION DE LA CONFIGURACION SOFTWARE15.200
FUNCIONES DE GESTION DE CONFIGURACION SOFTWAREFUNCIONES DE GESTION DE CONFIGURACION SOFTWARE
IDENTIFICACIÓN¿De qué partes se compone el producto?¿Cuáles son las relaciones entre las partes?
1 2 3 4
CONTROL¿Cuál es el impacto de este cambio?
¿Se debe realizar este cambio?
N NAUDITORÍA
Requisitos Diseño Diseño Detallado Código Ejecutable?
?
??¿Se siguen lógicamente los productos de desarrollo?
¿Es el producto conforme con sus requisitos?
CONTABILIDAD DE ESTADOCódigo
+ +
Documentación Informes y Formularios ¿Qué ha ocurrido?
¿Cuándo ha ocurrido?
GESTION DE LA CONFIGURACION SOFTWARE15.210
IDENTIFICACION DE LA CONFIGURACIONIDENTIFICACION DE LA CONFIGURACION
El sistema se debe descomponer en un número conocido de partes manejables
A estas partes se les deben asignar nombres únicos
Como estas partes cambian con el tiempo, a las versiones que aparezcan se las debe identificar de forma única
GESTION DE LA CONFIGURACION SOFTWARE15.220
IDENTIFICACION DE LA CONFIGURACIONIDENTIFICACION DE LA CONFIGURACION
«Configuración de Referencia» + «Cambios» = «Siguiente CR»
GESTION DE LA CONFIGURACION SOFTWARE15.230
CONTROL DE LA CONFIGURACIONCONTROL DE LA CONFIGURACION
El objetivo del control de la configuración es proporcionar
a todos los implicados en el desarrollo del sistema un punto
de referencia común e independiente. La comunicación entre
ellos se realiza en base a la configuración software mantenida
por el control de configuración y permite discutir los cambios
respecto a una visión común del sistema
[BERSOFF et al., 1980]
GESTION DE LA CONFIGURACION SOFTWARE15.240
CONTROL DE LA CONFIGURACIONCONTROL DE LA CONFIGURACION
El Comité de Control de Cambios es la organización
que asegura que los cambios software se procesan
de una forma visible y trazable, y que todos
los participantes implicados en un cambio reciben
la información adecuada
GESTION DE LA CONFIGURACION SOFTWARE15.250
CONTROL DE LA CONFIGURACIONCONTROL DE LA CONFIGURACION
El Control de Cambios es el proceso mediante
el cual un cambio se propone, evalúa, aprueba
o rechaza, planifica y sigue su evolución.
Las peticiones de cambio, así como
las incidencias, siguen el siguiente proceso:
identificación, iniciación, análisis, decisión,
implementación y validación
GESTION DE LA CONFIGURACION SOFTWARE15.260
AUDITORIA DE LA CONFIGURACIONAUDITORIA DE LA CONFIGURACION
• La auditoría de la Configuración es una función soporte que facilita los elementos necesarios para todas las auditorías del desarrollo y garantiza que los elementos auditados están completos y siguen las normas de GCS.
• Las auditorías de la Configuración se realizan para garantizar que la CR de producto se corresponde con la descripción de sus elementos en la especificación y en la documentación
[IEEE, 1987]
GESTION DE LA CONFIGURACION SOFTWARE15.270
CONTABILIDAD DE ESTADO CONTABILIDAD DE ESTADO DE LA CONFIGURACIONDE LA CONFIGURACION
La contabilidad de estado de la Configuración tiene como objetivo definir e implementar los procedimientos para gestionar la información que se genera en el proceso de desarrollo con objeto de producir una imagen útil sobre el estado del producto y del proyecto (visibilidad), y registrar la evolución del producto (trazabilidad).
La contabilidad de Estado de la Configuración provee los medios para determinar dónde nos hallamos y cómo se están realizando las actividades del desarrollo software
GESTION DE LA CONFIGURACION SOFTWARE15.270
EJEMPLO DE FORMULARIOSEJEMPLO DE FORMULARIOS