Está en la página 1de 38

Agenda

1. Gestión de entregas de la
GESTIÓN DE LA configuración.
CONFIGURACIÓN
DE SOFTWARE
Semana 12
Clase 33
18/08/2021
Capítulo 2: Procesos principales
de la gestión de configuración de
software
2.5 GESTIÓN DE ENTREGAS DE LA
CONFIGURACIÓN
Administración del cambio

Gestión de versiones
Introducción
Construcción del sistema

Gestión de entregas (release)


Configuration management activities[1]
Versión

Una versión es un lanzamiento inicial o


relanzamiento de un elemento de configuración.

Es una instancia del sistema que difiere de


alguna manera de las otras instancias.
IEEE define una construcción como una versión
Construcción operativa de un sistema o componente que
incorpora un subconjunto específico de las
del sistema capacidades que proporcionará el producto
final [2].
Es el proceso de hacer un seguimiento de las
diferentes versiones de los componentes de
software o ítems de configuración, y los
Gestión de sistemas donde se usan dichos componentes.
versiones Asegurar que los cambios hechos a dichas
versiones por los diferentes desarrolladores no
interfieran unos con otros
Gestión de Se puede considerar a la gestión de versiones
como el proceso de administrar líneas de
versiones código y líneas base. [1]
Gestión de versiones[1]
Una línea de código es un conjunto de
Línea de código versiones de un componente de software y
(codeline) otros ítems de configuración de los cuales
depende dicho componente [1].
Línea base Una línea base es una colección de
versiones de componente que construyen
(baseline) un sistema [1].
Línea principal Una secuencia de líneas base que representa
(mainline) diferentes versiones de un sistema. [1].
Sistemas de control de versiones
Los sistemas de control de versiones identifican,
almacenan y controlan el acceso a las diferentes
versiones de los componentes [1].

Sistemas centralizados Sistemas distribuidos


por ejemplo Subversion. por ejemplo Git.
Sistemas de control de versiones
Identificación de versión y entrega (release)
Gestión de almacenamiento
Registro del historial de cambios
Desarrollo independiente
Soporte de proyecto
Deltas
Los sistemas CM deberían poder producir los detalles de
las versiones más recientes y pasadas y reproducir los
componentes de cada versión.

Idealmente, las copias de todas las versiones deben estar


en un repositorio. Sin embargo, esto no es práctico,
debido a la cantidad de espacio en disco requerido.
Gestión de almacenamiento con deltas
Delta es una lista de diferencias entre la nueva versión y la anterior que se usó
para crear esa nueva versión [1].
Ingreso y salida de un repositorio de
versión [1]
Ramificación

Las ramas se usan Las ediciones


como un medio realizadas en la Al hacer esto, los
temporal para línea ramificada cambios
permitir el deben realizados por las
desarrollo incorporarse a la diferentes
paralelo y línea evolutiva personas tienen
concurrente en principal del que combinarse
un solo archivo. archivo.
Ramificación

Si los cambios se realizan


Si los cambios se realizan en sobre las mismas líneas de
diferentes partes del un elemento, entonces se
elemento, la fusión es una debe tomar una decisión
tarea fácil. sobre cómo se realizará la
fusión.
Ramificación y combinación [1]
Construcción del sistema

Versiones Datos de Programa


correctas de configuración ejecutable
los elementos apropiados listo para
de software entregarse
Construcción Se debería poder recrear el producto exacto
que se creó mediante un proceso de
del sistema compilación en una fecha posterior.
Construcción del sistema [1]
Construcción del sistema[1]
Generación de rutinas (scripts) de construcción

Integración del sistema de gestión de versiones

Recompilación mínima
Construcción Creación de sistema ejecutable
del sistema[1]
Automatización de pruebas

Informes

Generación de documentación
Modificación de marca
de tiempo (timestamp)
Construcción
del sistema
Sumas de verificación
(checksums) de código
fuente
¿Se han incluido todos los componentes que hacen
el sistema en las instrucciones de compilación (las
dependencias resueltas, incluyen las rutas
establecidas), y tienen la versión adecuada?

¿Están disponibles todos los archivos auxiliares


Construcción necesarios (datos y documentación, por ejemplo)
en la máquina de destino?
del sistema

¿Están disponibles las herramientas necesarias


(por ejemplo, el compilador o el enlazador) y
tienen la versión correcta?
Una entrega (release) de sistema es una
Gestión de versión de un sistema de software que se
entregas distribuye a los clientes.
(release)
Gestión de entregas (release)

Release mayor: proporciona funcionalidad significativamente


nueva.

Release menor: que repara bugs y corrige problemas reportados


por el cliente.
Cuando hay diferentes versiones de un
elemento de software disponibles para la
Gestión de entrega, como variantes para diferentes
plataformas o versiones con diferentes
entregas capacidades, con frecuencia es necesario
(release) volver a crear versiones específicas y
empaquetar los materiales correctos para la
entrega de la versión.
Funcionalmente equivalentes, pero
diseñadas para diferentes entornos de
hardware o software.

A diferencia de una versión, una variante


Variantes del de un elemento no es, en ningún sentido,
sistema una mejora con respecto a otra variante.

Dos instancias diferentes del mismo


elemento, por ejemplo, una para
Windows y la otra para Linux.
Versiones del sistema

Pueden tener una


Características no
funcionalidad adicional
funcionales pueden
o una funcionalidad
variar.
diferente.
Gestión de entregas
(release)
Una entrega de sistema no sólo es el código
ejecutable del sistema, abarca la
identificación, el empaquetado y la entrega
de los elementos de un producto.
Archivos de configuración que definan cómo
debe configurarse la entrega (release) para
instalaciones particulares;
archivos de datos, como los archivos de
mensajes de error, necesarios para la
Gestión de operación exitosa del sistema;
entregas un programa de instalación para ayudar a
(release) instalar el sistema en el hardware objetivo;
documentación electrónica y en papel que
describa al sistema;
empaquetado y publicidad asociada diseñados
para dicha entrega.
Un VDD es un documento que acompaña e
identifica una versión determinada de un
sistema o componente.
Version
description Puede incluir un inventario de un sistema o sus
componentes, identificación de los cambios
document (VDD incorporados en esta versión e información de
instalación y operación única para la versión
descrita [2].
Requisitos de instalación;
Cómo instalar el sistema y cómo probar el
sistema para asegurarse de que la instalación
fue exitosa;
Cómo actualizar desde una versión anterior del
Gestión de sistema;
entregas La clave o número de serie del producto;
(release) Una lista de las fallas que se solucionaron en la
versión actual;
Nuevas funciones introducidas en la versión;
Instrucciones para ponerse en contacto con el
proveedor del sistema para obtener asistencia
técnica o si surgen problemas.
Competencia

Requerimientos de marketing
Gestión de
entregas
(release) Cambios de plataforma

Calidad técnica del sistema


Bibliografía
[1] I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley,
2011
[2] IEEE Standard Glossary of Software Engineering Terminology (IEEE Std-
610–1990), IEEE Software Engineering Standards Collection 2003 (CD-
ROM Edition), Piscataway, NJ: IEEE, 2003

También podría gustarte