Gesti贸n de versiones, configuraci贸n y cambios
GVERSIO-1 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Contenido n n n n n n
Evoluci贸n del software Control de versiones Control de configuraci贸n Control de cambios Repositorio. Almacenamiento eficiente Ejemplos de herramientas
GVERSIO-2 PDF created with pdfFactory trial version www.pdffactory.com
Gestiรณn de versiones, configuraciรณn y cambios
Evoluciรณn del software n
Durante el desarrollo l
l
n
El desarrollo del software siempre es progresivo, incluso en el ciclo de vida en cascada El desarrollo evolutivo consiste, precisamente, en una evoluciรณn controlada (ciclo de vida espiral, prototipos evolutivos)
Durante la explotaciรณn l
Durante la fase de mantenimiento se realizan modificaciones sucesivas del producto GVERSIO-3
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Control de versiones n
Motivo: evolución l
l l
n
El software cambia con el tiempo, por diversas razones Es necesario controlar esta evolución Suele ser necesario recuperar versiones antiguas
Concepto de versión (revisión) l
l
Forma particular que adopta un objeto en un contexto dado Desde el punto de vista de evolución, es la forma particular de un objeto en un instante dado. Se suele denominar "revisión" GVERSIO-4
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Control de configuración n
Concepto de configuración l
l
l
l
Un sistema software comprende distintos componentes, que evolucionan individualmente Hay que garantizar la consistencia del conjunto del sistema Una 'configuración' es una combinación de versiones particulares de los componentes que forman un sistema consistente Desde el punto de vista de evolución, es el conjunto de las versiones de los objetos componentes en un instante dado GVERSIO-5
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Control de cambios n
Línea base l l
n
Denominaremos así a una configuración operativa del sistema software La evolución del sistema puede verse como evolución de la línea base
Concepto de cambio l l l
Es el paso de una versión de la línea base a la siguiente Puede incluir modificaciones del contenido de algún componente Puede incluir modificaciones de la estructura del sistema, añadiendo o eliminando componentes GVERSIO-6
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Variantes n
Configuraciones alternativas l
l
l
Un sistema software puede adoptar distintas formas (configuraciones) dependiendo del lugar donde se instale. Por ejemplo, dependiendo de la plataforma (máquina + S.O.) que la soporta, o de las funciones opcionales que haya de realizar o no Una variante es una versión de un componente (o de la configuración global) que evoluciona por separado Las variantes representan una variación espacial, mientras que las revisiones representan una variación temporal GVERSIO-7
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Repositorio n
Almacenamiento de versiones l
l l
l
l
Se almacenan juntas todas las versiones de todos los componentes. Este almacén común se denomina REPOSITORIO El repositorio permite ahorrar espacio de almacenamiento, evitando guardar por duplicado elementos comunes a varias versiones o configuraciones El repositorio facilita el almacenar información de la evolución del sistema (historia), y no sólo de los componentes en sí A veces se confunde el término 'repositorio' con el de 'línea base' GVERSIO-8
PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Grafo de evoluci贸n n
Revisiones sucesivas de un componente 1
2
3
4
GVERSIO-9 PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Variantes 4.1
2.1
1.1
1.2
2.2
1.3
2.3
1.4
3.1
3.2
TRONCO: Variante principal, p.ej. 1.1-1.2... RAMAS: Variantes secundarias, p.ej: 2.1..., 3.1... DELTA: Cambios de una revisión respecto a la anterior Delta 3.2 = (3.1 → 3.2) GVERSIO-10 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Propagaci贸n de cambios 3.1
2.1
1.1
2.2
1.2
3.2
2.3
1.3
3. 3 2.4
1.4
1.5
2.4 = 2.3 + 1.5 - 1.4 3.3 = 3.2 + 1.5 - 1.4 GVERSIO-11 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Fusi贸n de variantes 3.1
2.1
1.1
2.2
1.2
3.2
2.3
1.3
4.1
4.2
1.4
No hay que hacer nada especial GVERSIO-12 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
T茅cnicas de almacenamiento n
Deltas directos 1.2 1.1
1.2
1.3 1.3
1.4 1.4
2.1 2.1
1.5 1.5
2.2 2.2
GVERSIO-13 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
T茅cnicas de almacenamiento n
Deltas inversos (RCS) 1.1
1.2 1.1
1.3 1.2
1.4 1.3
2.1 2.1
1.4
1.5
2.2 2.2
GVERSIO-14 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
T茅cnicas de almacenamiento n
Marcado selectivo (SCCS) x x x x <<1.3,1.2 y y >> <<1.2 z z z z >> x x <<1.3 t t >> x x x x
x x x x x x y y z z z z z z z z x x x t x x x x x x GVERSIO-15
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Control de configuración n
Evolución de un sistema l l l
n n
Añadir componentes Suprimir componentes Modificar componentes
Evolución temporal (revisiones) Evolución espacial (variantes)
GVERSIO-16 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Ejemplo de evoluci贸n de configuraci贸n Rev. 4
A
C
D
Rev. 3
A
B
C
D
Rev. 2
A
B
C
D
Rev. 1
A
B
C
E
GVERSIO-17 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Problema de coherencia de versiones C2
Rev. 4 A2
E1 D2
Rev. 3 B2 C1
Rev. 2
D1
A1 Rev. 1
B1 GVERSIO-18
PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Modelo ortogonal de versiones 4 3
B3X
2 Z
var ian tes
Y
revisiones
1 X
A
B
C
D
E
componentes
GVERSIO-19 PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Técnicas de nombres en configuraciones n
El control de configuración puede apoyarse en un control de versiones, añadiendo el mecanismo adecuado para nombrar globalmente las versiones de componentes de una configuración dada
n
Nombres simbólicos. Usados por RCS. Una misma versión de un componente puede tener varios nombres o tags (p.ej: “Linux 2.0”, “Linux 2.1”, “Win2K 1.0” ...)
n
Versiones de directorios. Ejemplos: CVS, ClearCase. La configuración se organiza mediante una jerarquía de directorios, cuyo contenido evoluciona GVERSIO-20
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos n
Evolución de la línea base
Cambio 2
A2
B2
A1
B1
Línea base Cambio 1
C1
D1
E1 GVERSIO-21
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos n
Evolución de la línea base
Línea base Cambio 2
A2
B2
Cambio 1
A1
B1
C1
D1
E1 GVERSIO-22
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos n
Evolución de la línea base
Cambio 3
D
E3
D1
E1
F3
Línea base Cambio 2
A2
B2
Cambio 1
A1
B1
C1
GVERSIO-23 PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos n
Evolución de la línea base
Línea base E3
Cambio 3 Cambio 2
A2
B2
Cambio 1
A1
B1
C1
D1
F3
E1 GVERSIO-24
PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Desarrollo simult谩neo de cambios n
Cambios 2 y 3 en desarrollo
Cambio 2
Cambio 3 A2
B2
A1
B1
D
E3
D1
E1
F3
L铆nea base Cambio 1
C1
GVERSIO-25 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Desarrollo simult谩neo de cambios n
Cambio 2 integrado
Cambio 3
D
E3
D1
E1
F3
L铆nea base Cambio 2
A2
B2
Cambio 1
A1
B1
C1
GVERSIO-26 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Desarrollo simult谩neo de cambios n
Cambio 3 actualizado
Cambio 3
D
E3
D1
E1
F3
L铆nea base Cambio 2
A2
B2
Cambio 1
A1
B1
C1
GVERSIO-27 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Desarrollo simult谩neo de cambios n
Cambio 3 integrado
L铆nea base E3
Cambio 3 Cambio 2
A2
B2
Cambio 1
A1
B1
C1
D1
F3
E1 GVERSIO-28
PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Cambios simult谩neos de un mismo componente n
Cambios 2 y 3 en desarrollo
Cambio 2
Cambio 3 A2
B2
A1
B1
D2
D3
E3
D1
E1
F3
L铆nea base Cambio 1
C1
GVERSIO-29 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Cambios simult谩neos de un mismo componente n
Cambio 2 integrado
D3
Cambio 3
E3
F3
L铆nea base Cambio 2
A2
B2
Cambio 1
A1
B1
D2 C1
D1
E1 GVERSIO-30
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Cambios simultáneos de un mismo componente n
Cambio 3 actualizado D3’ = D3 + D2 - D1
D3’
Cambio 3
E3
F3
Línea base Cambio 2
A2
B2
Cambio 1
A1
B1
D2 C1
D1
E1 GVERSIO-31
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Cambios simultáneos de un mismo componente n
Cambio 3 integrado
Línea base D3’
Cambio 3 Cambio 2
A2
B2
Cambio 1
A1
B1
E3
F3
D2 C1
D1
E1 GVERSIO-32
PDF created with pdfFactory trial version www.pdffactory.com
Gestión de versiones, configuración y cambios
Ciclo de vida de cambios (Aegis) Anular
Nuevo cambio
Esperando desarrollo Anular
Inicio desarrollo
En desarrollo Fin desarrollo Rechazo En revisión Revisión aceptada Anular
Rechazo
Esperando integración En integración
Integración aceptada
Completado GVERSIO-33 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Control de versiones: herramienta RCS rlog co
fichero,v
RO
fichero
co -l
RW
ci
fichero
GVERSIO-34 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Control de configuraci贸n: herramienta CVS add
remove checkout
(update)
commit CVSROOT
GVERSIO-35 PDF created with pdfFactory trial version www.pdffactory.com
Gesti贸n de versiones, configuraci贸n y cambios
Control de cambios: herramienta Aegis Directorio de cambio
Directorio de integraci贸n
Directorio de cambio
Directorio de l铆nea base
Repositorio (historia) GVERSIO-36 PDF created with pdfFactory trial version www.pdffactory.com