La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Control de versiones, configuración y cambios

Presentaciones similares


Presentación del tema: "Control de versiones, configuración y cambios"— Transcripción de la presentación:

1 Control de versiones, configuración y cambios

2 Contenido Evolución del software Control de versiones
Control de configuración Control de cambios Repositorio. Almacenamiento eficiente Ejemplos de herramientas

3 Evolución del software
Durante el desarrollo 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 Durante la fase de mantenimiento se realizan modificaciones sucesivas del producto

4 Control de versiones Motivo: evolución Concepto de versión (revisió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) “Versión” es la 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”

5 Control de configuración
Concepto de configuración 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

6 Control de cambios Línea base Concepto de cambio
Llamaremos “línea base” 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 Un “cambio” es el paso de una versión de la línea base a la siguiente Puede incluir modificaciones del contenido de algún componente, y/o modificaciones de la estructura del sistema, añadiendo o eliminando componentes

7 Variantes Configuraciones alternativas
Un sistema software puede adoptar distintas formas (configuraciones) dependiendo del lugar donde se instale. Por ejemplo, dependiendo de la plataforma que la soporta (máquina + S.O.), 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

8 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'

9 Grafo de evolución Revisiones sucesivas de un componente 1 2 3 4

10 Variantes TRONCO: Variante principal, p.ej. 1.1-1.2...
1.3 1.4 2.1 2.2 2.3 3.1 3.2 4.1 TRONCO: Variante principal, p.ej RAMAS: Variantes secundarias, p.ej: , DELTA: Cambios de una revisión respecto a la anterior Delta 3.2 = (3.1 ® 3.2)

11 Propagación de cambios
1.1 1.2 1.3 1.4 2.1 2.2 2.3 3.1 3.2 1.5 2.4 3.3 2.4 = 3.3 = “Diff-Merge” / ”Patch”:

12 Fusión de variantes Igual que propagación de cambios:
1.1 1.2 1.3 1.4 2.1 2.2 2.3 3.1 3.2 4.1 4.2 Igual que propagación de cambios: (o bien de forma manual) 4.1 =

13 Técnicas de almacenamiento
Deltas directos 1.1 1.2 1.3 1.4 1.5 2.1 2.2

14 Técnicas de almacenamiento
Deltas inversos (RCS) 1.2 1.3 1.4 1.1 2.1 2.2 1.5

15 Técnicas de almacenamiento
Marcado selectivo (SCCS) x x x x x <<1.3,1.2 y y y y >> <<1.2 z z z z z z <<1.3 t t t

16 Control de configuración
Evolución de un sistema Añadir componentes Suprimir componentes Modificar componentes Evolución temporal (revisiones) Evolución espacial (variantes)

17 Ejemplo de evolución de configuración
B C D E Rev. 1 Rev. 2 Rev. 3 Rev. 4

18 Problema de coherencia de versiones
Rev. 4 C2 E1 A2 D2 Rev. 3 B2 Rev. 2 C1 D1 A1 Rev. 1 B1

19 Problema de coherencia de versiones
Rev. 4 A2 C2 D2 D2 Rev. 3 A2 B2 C1 D2 A1 B2 C1 D1 Rev. 2 Rev. 1 A1 B1 C1

20 Modelo ortogonal de versiones
B C D E componentes 1 2 3 4 revisiones X Y Z variantes 2.3 1.2 2.2 1.2 1.1 1.1 1.1 1.3 2.1 1.1 1.1 1.1  Ejemplo de nombrado uniforme: B-X-3  B 1.2

21 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

22 Desarrollo mediante cambios sucesivos
Evolución de la línea base A1 B1 C1 D1 E1 A2 B2 Cambio 1 Cambio 2 Línea base

23 Desarrollo mediante cambios sucesivos
Evolución de la línea base A1 B1 C1 D1 E1 A2 B2 Cambio 1 Cambio 2 Línea base

24 Desarrollo mediante cambios sucesivos
Evolución de la línea base A1 B1 C1 D1 E1 A2 B2 Cambio 1 Cambio 2 Línea base D E3 F3 Cambio 3

25 Desarrollo mediante cambios sucesivos
Evolución de la línea base A1 B1 C1 D1 E1 A2 B2 E3 F3 Cambio 1 Cambio 2 Línea base Cambio 3

26 Desarrollo simultáneo de cambios
Cambios 2 y 3 en desarrollo Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D E3 F3 Cambio 3

27 Desarrollo simultáneo de cambios
Cambio 2 integrado Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D E3 F3 Cambio 3

28 Desarrollo simultáneo de cambios
Cambio 3 actualizado Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D E3 F3 Cambio 3

29 Desarrollo simultáneo de cambios
Cambio 3 integrado Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 E3 F3 Cambio 3

30 Cambios simultáneos de un componente
Cambios 2 y 3 en desarrollo Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D3 E3 F3 Cambio 3 D2

31 Cambios simultáneos de un componente
Cambio 2 integrado Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D3 E3 F3 Cambio 3 D2

32 Cambios simultáneos de un componente
Cambio 3 actualizado D3’ = D3 + D2 - D1 Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 D3’ E3 F3 Cambio 3 D2

33 Cambios simultáneos de un componente
Cambio 3 integrado Cambio 1 Cambio 2 Línea base A1 B1 C1 D1 E1 A2 B2 E3 F3 Cambio 3 D2 D3’

34 Ciclo de vida de cambios (Aegis)
Esperando desarrollo En integración Completado En desarrollo Anular En revisión Esperando integración Nuevo cambio Inicio desarrollo Fin desarrollo Revisión aceptada Rechazo Integración aceptada

35 Control de versiones: herramienta RCS
fichero,v fichero RO RW co -l co ci rlog

36 Control de configuración: herramienta CVS
CVSROOT add remove checkout commit (update) edit abort

37 Control de cambios: herramienta Aegis
Directorio de cambio Directorio de integración línea base Repositorio ( historia)


Descargar ppt "Control de versiones, configuración y cambios"

Presentaciones similares


Anuncios Google