Control de versiones, configuracin y cambios
Control de versiones, configuracin y cambios
Contenido
Evolucin del softwareControl de versionesControl de configuracinControl de cambiosRepositorio. Almacenamiento eficienteEjemplos de herramientas
Control de versiones, configuracin y cambios
Evolucin del softwareDurante el desarrolloEl desarrollo del software siempre es progresivo, incluso en el ciclo de vida en cascadaEl desarrollo evolutivo consiste, precisamente, en una evolucin controlada (ciclo de vida espiral, prototipos evolutivos)Durante la explotacinDurante la fase de mantenimiento se realizan modificaciones sucesivas del producto
Control de versiones, configuracin y cambios
Control de versionesMotivo: evolucinEl software cambia con el tiempo, por diversas razonesEs necesario controlar esta evolucinSuele ser necesario recuperar versiones antiguasConcepto de versin (revisin)Versin es la Forma particular que adopta un objeto en un contexto dadoDesde el punto de vista de evolucin, es la forma particular de un objeto en un instante dado. Se suele denominar revisin
Control de versiones, configuracin y cambios
Control de configuracinConcepto de configuracinUn sistema software comprende distintos componentes, que evolucionan individualmenteHay que garantizar la consistencia del conjunto del sistemaUna configuracin es una combinacin de versiones particulares de los componentes que forman un sistema consistenteDesde el punto de vista de evolucin, es el conjunto de las versiones de los objetos componentes en un instante dado
Control de versiones, configuracin y cambios
Control de cambiosLnea baseLlamaremos lnea base a una configuracin operativa del sistema softwareLa evolucin del sistema puede verse como evolucin de la lnea baseConcepto de cambioUn cambio es el paso de una versin de la lnea base a la siguientePuede incluir modificaciones del contenido de algn componente, y/o modificaciones de la estructura del sistema, aadiendo o eliminando componentes
Control de versiones, configuracin y cambios
VariantesConfiguraciones alternativasUn sistema software puede adoptar distintas formas (configuraciones) dependiendo del lugar donde se instale. Por ejemplo, dependiendo de la plataforma que la soporta (mquina + S.O.), o de las funciones opcionales que haya de realizar o noUna variante es una versin de un componente (o de la configuracin global) que evoluciona por separadoLas variantes representan una variacin espacial, mientras que las revisiones representan una variacin temporal
Control de versiones, configuracin y cambios
RepositorioAlmacenamiento de versionesEs habitual centralizar el almacenamiento de los componentes de un mismo sistema, incluyendo las distintas versiones de cada componente. Este almacn comn se denomina repositorioEl repositorio permite ahorrar espacio de almacenamiento, evitando guardar por duplicado elementos comunes a varias versiones o configuracionesEl repositorio facilita el almacenar informacin de la evolucin del sistema (historia), y no slo de los componentes en sA veces se confunde el trmino 'repositorio' con el de 'lnea base'
Control de versiones, configuracin y cambios
Grafo de evolucinRevisiones sucesivas de un componente
Control de versiones, configuracin y cambios
VariantesTRONCO: Variante principal, p.ej. 1.1-1.2...RAMAS: Variantes secundarias, p.ej: 2.1..., 3.1...DELTA: Cambios de una revisin respecto a la anteriorDelta 3.2 = (3.1 3.2)
Control de versiones, configuracin y cambios
Propagacin de cambios2.4 = 2.3 + 1.5 - 1.43.3 = 3.2 + 1.5 - 1.4Diff-Merge / Patch:
Control de versiones, configuracin y cambios
Fusin de variantesIgual que propagacin de cambios:(o bien de forma manual)4.1 = 3.2 + 2.3 - 2.3
Control de versiones, configuracin y cambios
Tcnicas de almacenamientoDeltas directos
Control de versiones, configuracin y cambios
Tcnicas de almacenamientoDeltas inversos (RCS)
Control de versiones, configuracin y cambios
Tcnicas de almacenamientoMarcado selectivo (SCCS)x x x x xx x x x x
x x x x x
x x x x xx x x x x
Control de versiones, configuracin y cambios
Control de configuracinEvolucin de un sistemaAadir componentesSuprimir componentesModificar componentesEvolucin temporal (revisiones)Evolucin espacial (variantes)
Control de versiones, configuracin y cambios
Ejemplo de evolucin de configuracin
Control de versiones, configuracin y cambios
Problema de coherencia de versionesA1A2B2B1C1C2D2D1E1Rev. 1Rev. 2Rev. 3Rev. 4
Control de versiones, configuracin y cambios
Problema de coherencia de versionesRev. 1Rev. 2Rev. 3Rev. 4
Control de versiones, configuracin y cambios
Modelo ortogonal de versiones Ejemplo de nombrado uniforme: B-X-3 B 1.21.21.11.11.21.12.12.22.31.11.11.11.3
Control de versiones, configuracin y cambios
Tcnicas de nombres en configuracionesControl de configuracin control de versiones + nombrado globalNombres simblicos o tagsUsados por RCS. Una versin de un componente puede tener varios nombres lgicos (p.ej: Linux2.0, Linux 2.1, Win2K 1.0 ...)Versiones de directoriosEjemplos: CVS, ClearCase. La configuracin se organiza mediante una jerarqua de directorios, cuyo contenido evoluciona
Control de versiones, configuracin y cambios
Desarrollo mediante cambios sucesivosEvolucin de la lnea base
Control de versiones, configuracin y cambios
Desarrollo mediante cambios sucesivosEvolucin de la lnea base
Control de versiones, configuracin y cambios
Desarrollo mediante cambios sucesivosEvolucin de la lnea base
Control de versiones, configuracin y cambios
Desarrollo mediante cambios sucesivosEvolucin de la lnea base
Control de versiones, configuracin y cambios
Desarrollo simultneo de cambiosCambios 2 y 3 en desarrollo
Control de versiones, configuracin y cambios
Desarrollo simultneo de cambiosCambio 2 integrado
Control de versiones, configuracin y cambios
Desarrollo simultneo de cambiosCambio 3 actualizado
Control de versiones, configuracin y cambios
Desarrollo simultneo de cambiosCambio 3 integrado
Control de versiones, configuracin y cambios
Cambios simultneos de un componenteCambios 2 y 3 en desarrollo
Control de versiones, configuracin y cambios
Cambios simultneos de un componenteCambio 2 integrado
Control de versiones, configuracin y cambios
Cambios simultneos de un componenteCambio 3 actualizado
Control de versiones, configuracin y cambios
Cambios simultneos de un componenteCambio 3 integrado
Control de versiones, configuracin y cambios
Ciclo de vida de cambios (Aegis)
Control de versiones, configuracin y cambios
Control de versiones: herramienta RCS
Control de versiones, configuracin y cambios
Control de configuracin: herramienta CVS
Control de versiones, configuracin y cambios
Control de cambios: herramienta Aegis
Top Related