Вы находитесь на странице: 1из 30

UNIDAD 2: GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE

SESIÓN 15: GESTIÓN DE VERSIONES – PARTE 2


REPOSITORIO

• Almacenamiento de versiones

• Es habitual centralizar el almacenamiento de los componentes de un


mismo sistema, incluyendo las distintas versiones de cada componente.
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'.


GRAFO DE EVOLUCIÓN

• Revisiones sucesivas de un componente

1 2 3 4
VARIANTES

4.1

2.1 2.2 2.3

1.1 1.2 1.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)
PROPAGACIÓN DE CAMBIOS

3.1 3.2 3.
3

2.1 2.2 2.3 2.4

1.1 1.2 1.3 1.4 1.5

2.4 = 2.3 + 1.5 - 1.4


“Diff-Merge” / ”Patch”:
3.3 = 3.2 + 1.5 - 1.4
FUSIÓN DE VARIANTES

3.1 3.2

2.1 2.2 2.3 4.1 4.2

1.1 1.2 1.3 1.4

Igual que propagación de cambios: 4.1 = 3.2 + 2.3 - 2.3


(o bien de forma manual)
TÉCNICAS DE ALMACENAMIENTO

• Deltas directos

1.2 1.3 1.4 1.5


1.1 1.2 1.3 1.4 1.5

2.1 2.2
2.1 2.2
TÉCNICAS DE ALMACENAMIENTO

• Deltas inversos (RCS)

1.1 1.2 1.3 1.4


1.1 1.2 1.3 1.4 1.5

2.1 2.2
2.1 2.2
TÉCNICAS DE ALMACENAMIENTO

• Marcado selectivo (SCCS)

x.x x x x
x x x x x
<<1.3,1.2
y.y y y
>>
<<1.2
z.z z z z z
z z z z z z
>>
x x x x x
<<1.3
t t t
>>
x x x x x
x x x x x
CONTROL DE CONFIGURACIÓN

• Evolución de un sistema
• Añadir componentes
• Suprimir componentes
• Modificar componentes
• Evolución temporal (revisiones)
• Evolución espacial (variantes)
EJEMPLO DE EVOLUCIÓN DE CONFIGURACIÓN

Rev. 4 A C D E

Rev. 3 A B C D

Rev. 2 A B C D

Rev. 1 A B C
PROBLEMA DE COHERENCIA DE VERSIONES

Rev. 4 C2 E1
A2 D2
Rev. 3
B2
Rev. 2 C1 D1
A1
Rev. 1 B1
PROBLEMA DE COHERENCIA DE VERSIONES

Rev. 4 A2 C2 D2 D2

Rev. 3 A2 B2 C1 D2

Rev. 2 A1 B2 C1 D1

Rev. 1 A1 B1 C1
MODELO ORTOGONAL DE VERSIONES

2.3
2.2 1.2 4
2.1 1.1  1. 1.1 1.1 1.3 3
revisiones
1.1 2 2
Z 1.1 1
Y
X 1.1
A B C D E
componentes
 Ejemplo de nombrado uniforme: B-X-3  B1.2
TÉCNICAS DE NOMBRES EN CONFIGURACIONES

• Control de configuración 
• control de versiones + nombrado global
• Nombres simbólicos o “tags”
• Usados por RCS. Una versión de un
componente puede tener varios nombres
lógicos (p.ej: “Linux 2.0”, “Linux 2.1”, “Win2K
1.0” ...)
• Versiones de directorios
• Ejemplos: CVS, ClearCase. La configuración se
organiza mediante una jerarquía de directorios,
cuyo contenido evoluciona
DESARROLLO MEDIANTE CAMBIOS SUCESIVOS

• Evolución de la línea base

Cambio 2 A2 B2

Línea base

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO MEDIANTE CAMBIOS SUCESIVOS

• Evolución de la línea base

Línea base

Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO MEDIANTE CAMBIOS SUCESIVOS

• Evolución de la línea base

Cambio 3 D E3 F3
Línea base

Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO MEDIANTE CAMBIOS SUCESIVOS

• Evolución de la línea base

Línea base

Cambio 3 E3 F3

Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO SIMULTÁNEO DE CAMBIOS

• Cambios 2 y 3 en desarrollo

Cambio 2 Cambio 3

A2 B2 D E3 F3

Línea base

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO SIMULTÁNEO DE CAMBIOS

• Cambio 2 integrado

Cambio 3 D E3 F3

Línea base
Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO SIMULTÁNEO DE CAMBIOS

• Cambio 3 actualizado

Cambio 3 D E3 F3

Línea base
Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
DESARROLLO SIMULTÁNEO DE CAMBIOS

• Cambio 3 integrado

Línea base

Cambio 3 E3 F3

Cambio 2 A2 B2

Cambio 1 A1 B1 C1 D1 E1
CAMBIOS SIMULTÁNEOS DE UN COMPONENTE

• Cambios 2 y 3 en desarrollo

Cambio 2 Cambio 3

A2 B2 D2 D3 E3 F3

Línea base

Cambio 1 A1 B1 C1 D1 E1
CAMBIOS SIMULTÁNEOS DE UN COMPONENTE

• Cambio 2 integrado

Cambio 3 D3 E3 F3

Línea base
Cambio 2 A2 B2 D2

Cambio 1 A1 B1 C1 D1 E1
CAMBIOS SIMULTÁNEOS DE UN COMPONENTE

• Cambio 3 actualizado

D3’ = D3 + D2 - D1

Cambio 3 D3’ E3 F3

Línea base
Cambio 2 A2 B2 D2

Cambio 1 A1 B1 C1 D1 E1
CAMBIOS SIMULTÁNEOS DE UN COMPONENTE

• Cambio 3 integrado

Línea base

Cambio 3 D3’ E3 F3

Cambio 2 A2 B2 D2

Cambio 1 A1 B1 C1 D1 E1
CICLO DE VIDA DE CAMBIOS (AEGIS)

Anular Nuevo cambio

Esperando
desarrollo Inicio desarrollo
Anular
En desarrollo
Fin desarrollo
Rechazo
En revisión
Revisión aceptada

Anular Esperando
integración

Rechazo En
integración Integración
aceptada

Completado
CONTROL DE VERSIONES: HERRAMIENTA RCS

rlog

co co -l
fichero,v

RO RW
fichero fichero
ci
CONTROL DE CONFIGURACIÓN: HERRAMIENTACVS

add edit remove

checkout (update)

commit
abort CVSROOT

Вам также может понравиться