GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del...

28
GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE EL 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

Transcript of GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del...

Page 1: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 2: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 3: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 4: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 5: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 6: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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.

Page 7: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 8: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 9: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 10: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 11: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 12: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 13: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 14: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 15: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 16: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 17: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 18: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 19: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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.

Page 20: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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?

Page 21: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 22: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

GESTION DE LA CONFIGURACION SOFTWARE15.220

IDENTIFICACION DE LA CONFIGURACIONIDENTIFICACION DE LA CONFIGURACION

«Configuración de Referencia» + «Cambios» = «Siguiente CR»

Page 23: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 24: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 25: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 26: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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]

Page 27: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

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

Page 28: GESTION DE LA CONFIGURACION SOFTWARE 15.010 EL PROBLEMA DEL SOFTWARE Satisface las expectativas del cliente: el producto satisface las necesidades del.

GESTION DE LA CONFIGURACION SOFTWARE15.270

EJEMPLO DE FORMULARIOSEJEMPLO DE FORMULARIOS