Está en la página 1de 49

Ingeniería de Software

Clase 8:
Gestión de la Configuración

Hugo R. Cordero S.
Clase 1
Objetivos
2

 Entender que significa la gestión de la


configuración del software y los diferentes términos
relacionados
 Comprender las actividades que forman parte del
proceso de gestión de configuración
Temas
3

 Introducción
 Gestión de la Configuración
 Roles y responsabilidades
 Proceso de la gestión de la configuración
 Beneficios
Introducción
4

Problemas
 Archivos perdidos: “Se que lo escribí, pero no se dónde lo

puse…”
 Referencias perdidas: “Solía funcionar, pero usa librerías
que ya no están…”
 Sobrescribir el código de otro: desarrolladores que hacen
distintos cambios en el mismo código sobrescribiendo su
trabajo mutuamente
 No hay botón deshacer: los nuevos cambios
son peores, pero no se puede volver atrás….
Introducción
5

Problemas
 ¿Qué versión tiene el cliente? ¿A cuál corresponde el error?

 La versión actual del código se sobre escribe por una


anterior
 Una actualización crítica se descarta de la versión final

 Se hacen cambios a una versión incorrecta del código

 Reaparecen errores ya corregidos

 No e logra determinar qué versiones de

archivos van en una entrega


Introducción
6

La Solución:
 Gestión de la Configuración del Software (GCS / SCM)

 Actividad constante aplicada durante todo el proceso de


Ingeniería de Software para identificar, organizar y
controlar las modificaciones que sufre el software
Gestión de la Configuración
7

 Es el conjunto total de actividades utilizadas para


administrar el contenido y asegurar la integridad del
producto de software desde el principio, incluyendo su
proceso de desarrollo y hasta el final de su vida útil
 Es la disciplina de administrar y controlar los cambios en la
evolución de los sistemas de software
 Es necesario porque los requerimientos del sistema siempre
cambian durante su desarrollo y su uso, y se tienen que
incorporar estos requerimientos en nuevas versiones del
sistema
Gestión de la Configuración
8

Es un proceso de soporte en la Ingeniería de Software


Gestión de la Configuración
9

Entre sus principales funciones está:


 Interactuar con las gestiones de Incidentes, Problemas ,

Cambios y Versiones de manera que estas puedan resolver


más eficientemente las incidencias, encontrar rápidamente
la causa de los problemas, realizar los cambios
apropiadamente y mantener actualizada en todo momento
la base de datos de gestión de la configuración (CMDB)
Gestión de la Configuración
10

Servicios de TI
Proceso de Proceso de Proceso de
negocio 1 Negocio 2 negocio 3

Servicio A Servicio B Servicio C Servicio D Servicio E

Servicio 1 Servicio 2 Servicio 3 Servicio 4 Servicio 5

Servicio de cara al
cliente
Servicios de Activos de Servicio/Registros de configuración
soporte
Gestión de la Configuración
11

Línea base
 Es un concepto de gestión de configuraciones del software

que nos ayuda a controlar los cambios sin impedir


seriamente los cambios justificados
 Una línea base se define como un punto del ciclo de vida

del software en el cual se aplica el control de


configuraciones a un elemento específico de la configuración
 Generalmente es una revisión aprobada de un documento o
archivo fuente, a partir del cual se pueden realizar cambios
subsiguientes
Gestión de la Configuración
12

Línea base
 De la configuración del software dentro de un proceso de

desarrollo:
Gestión de la Configuración
13

Activos de TI
 Activos. Recursos y Capacidades

Administración Capital Financiero

Organización Infraestructura

Procesos Aplicación

Conocimiento Información

Personas (experiencia, Personas (número de


habilidades y relaciones) empleados)

Capacidades Recursos
Gestión de la Configuración
14

Activos de TI
 Los activos del servicio de TI (Tecnologías de la
Información) son todo recurso o capacidad que puede
contribuir a la entrega de un servicio de TI.

Los activos fijos de una Gestion de activos Bibliotecas y


organización tienen un de software almacenes seguros
valor financiero que
puede ser usado para
ayudar a crear productos Biblioteca
Repuestos
o servicios. definitiva de
definitivos
Texto ITIL medios

Activos retirados
Gestión de la Configuración
15

Elementos de configuración
 Un elemento de configuración del software (ECS / CI) es la

información creada como parte del proceso de ingeniería


del software
Gestión de la Configuración
16

Elementos de configuración
 Ejecutables

 Código Fuente

 Modelos de datos

 Pruebas

 Documentos del sistema:

 Especificaciones de requisitos, Arquitectura, Diseño, Procesos,


manuales, etc.
Para cada uno de estos elementos se almacenará al menos:
nombre, versión, estado y localización.
Gestión de la Configuración
17

Elemento de la Configuración

Es un activo del servicio ECs del ciclo de vida


que necesita ser ECs de servicio
del servicio
administrado para la
entrega del servicio de TI.
Texto ITIL

ECs de organización ECs Internos

ECs Externos ECs de interfaz


Gestión de la Configuración
18

Activo vs Elemento de la configuración

Activo del servicio Elemento de configuración

 Todo recurso o capacidad que  Es un activo del servicio que necesita


puede contribuir a la entrega de ser administrado para la entrega del
un servicio de TI. servicio de TI.
 Los elementos de configuración pueden
variar por complejidad

Todos los Elementos de configuración son considerados activos del servicio pero
muchos activos del servicio no son considerados elementos de configuración. Todo
elemento de configuración debe ser controlado por el proceso de administración
del cambio.
Texto ITIL
Gestión de la Configuración
19

Versiones
 Desde el punto de vista de la evolución, es la forma

particular de un objeto en un instante o contexto dado. Se


suele denominar "revisión" cuando se refiere a la evolución
en el tiempo.
 También hay que contemplar la posibilidad de que

coexistan versiones alternativas en un instante dado.


 Hay que disponer de un método para
designar las diferentes versiones de
manera sistemática u organizada.
Gestión de la Configuración
20

Control de Versiones
Gestión de la Configuración
21

Rama o Subversiones
Gestión de la Configuración
22

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 o a la estructura del sistema, añadiendo,
eliminando o reorganizando componentes.
 El control e cambios es un concepto relacionado con la
metodología de desarrollo de software. Se trata de hacer
el desarrollo de forma evolutiva, mediante cambios
sucesivos realizados de una manera disciplinada.
Gestión de la Configuración
23

Mantenimiento del Software


 La gestión de configuración está también fuertemente

relacionada con el problema del mantenimiento de software


 Proceso general de cambiar un sistema, después de que
éste se entregó
 Tipos de mantenimiento de software:

 Reparaciones de fallas
 Adaptación ambiental
 Adición de funcionalidad
Roles y responsabilidades de la
24
Gestión de la Configuración
Roles y responsabilidades de la
25
Gestión de la Configuración
Gestión de la Configuración
26

Tareas del proceso


 ¿Cómo identificar las muchas versiones de un programa y su

documentación eficientemente?
 ¿Cómo controlar la organización de cambios antes y
después de la distribución?
 ¿Quién es el responsable de aprobar y asignar prioridades
a los cambios¿
 ¿Cómo garantizar que los cambios se han hecho
eficientemente?
Proceso de la Gestión de la
27
Configuración
Proceso de la Gestión de la
28
Configuración
Relación de las diferentes actividades
Proceso de la Gestión de la
29
Configuración
Planeamiento de la Gestión de la Configuración
 Es utilizado para definir el contexto organizacional, las

restricciones y la naturaleza del proyecto. También envuelve


otras actividades, las cuales son: Identificación, Control,
Estado de contabilidad, Auditoría de la configuración y la
gestión de Entregables.
Proceso de la Gestión de la
30
Configuración
Planeamiento de la Gestión de la Configuración
 Utiliza los siguientes tipos de documentos:

 Introducción: Explica el propósito del proyecto


 Gestión: Identifica a los responsables para completar las
actividades
 Actividades: Identifica que actividades se realizarán
 Horarios: Identifica la coordinación que deben tener las
actividades entre cada una
 Recursos: Identifica a las herramientas a utilizar
 Plan de mantenimiento: Da a conocer cómo el plan trazado se
mantendrá durante el proyecto
Proceso de la Gestión de la
31
Configuración
Identificación
 La tarea de identificación empieza con la definición de los

elementos de la configuración software representativos de


los productos en cada línea base establecida. El formato,
los contenidos y los mecanismos de control para toda la
documentación son definidos para enlazar la información
cuando la jerarquía de la configuración se despliega.
Proceso de la Gestión de la
32
Configuración
Identificación
 Se asignan identificadores apropiados a todos los
programas, documentos y periféricos, usando un esquema
numerado que proporciona información sobre el elemento
de la configuración software.
 Finalmente, la identificación debe facilitar el control de

cambios, para acomodar actualizaciones y modificaciones.


Proceso de la Gestión de la
33
Configuración
Identificación
 Según la ICE (Integrated Computer Engineering) se debería

implementar una biblioteca centralizada apoyada con una


herramienta automatizada. Esta biblioteca será el
repositorio donde se encontrarán las versiones del software.
Las versiones para el cliente y las del desarrollador
deberán encontrarse en diferentes bibliotecas
Proceso de la Gestión de la
34
Configuración
Control de cambios
 En esta actividad se gestiona los cambios que se realizarán

al software durante su ciclo de vida. Determina que cambio


se debe hacer, si es que es correcto y la manera de su
implementación
 Según la ICE, el control de cambios consiste en:

 Identificación
 Reporte
 Análisis
 Implementación
Proceso de la Gestión de la
35
Configuración
Proceso del control de cambios
Proceso de la Gestión de la
36
Configuración
Comité de control de cambios
 Es el órgano de gobierno para todos los problemas

relacionados con la GCS. En general, la CCC está


compuesta por los miembros de la organización de
usuarios/solicitantes de cambios y de desarrolladores.
 Para grandes proyectos, el CCC puede estar organizado en

una jerarquía que trate los problemas del sistema, del


hardware y del software por separado.
Proceso de la Gestión de la
37
Configuración
Estado de Contabilidad (registro)
 Es el manejo de la información que es necesaria durante la

configuración del software.


 Proveerá trazabilidad de cambios a los requerimientos de
la línea base, diseño, código y data y documentación
asociada
 Esto quiere decir que si el software sufre algún cambio, este

deberá ser correctamente documentado para que se lleve


un registro de esto, lo cual evitará que los desarrolladores
no conozcan o sepan sobre el progreso del proyecto
Proceso de la Gestión de la
38
Configuración
Estado de Contabilidad
 Cualquier información liberada de la biblioteca debería ser

descrita en un documento de descripción de versión


(Software Version Description)
 En este documento se debe inventariar los componentes de

la versión, los problemas que persisten y que los han sido


resueltos, diferencias entre versiones, notas e instrucciones
para la compilación
Proceso de la Gestión de la
39
Configuración
Estado de Contabilidad: Generación de informes
 La generación de informes de estado de la configuración

(GIEC) responde a las preguntas:


 1. ¿Qué pasó?
 2. ¿Quién lo hizo?
 3. ¿Cuándo pasó?
 4. ¿Qué más se vio afectado?
Proceso de la Gestión de la
40
Configuración
Auditoría
 Es utilizada para identificar los elementos del sistema que

satisfacen los requerimientos del cliente. Según SWEBOK


existen dos tipos de auditoría: la física y la funcional
 La auditoría funcional verifica si parte del sistema cumple con las
especificaciones que rigen el producto
 La auditoría física se asegura que la documentación y diseño del
software sea igual al sistema construido
Proceso de la Gestión de la
41
Configuración
Auditoría
 ¿Se ha hecho el cambio especificado en el documento de

orden de cambio? ¿Se han incorporado modificaciones


adicionales?
 ¿Se ha realizado una revisión técnica formal para

comprobar la corrección técnica?


 ¿Se han seguido adecuadamente los estándares de

ingeniería del software?


Proceso de la Gestión de la
42
Configuración
Auditoría
 ¿Se han marcado los cambios en el ECS? ¿Se han

especificado la fecha y el autor del cambio? ¿Refleja la


identificación del ECS los cambios?
 ¿Se han seguido los procedimientos del GCS para señalar

el cambio, registrarlo y divulgarlo?


 ¿Se han actualizado adecuadamente todos los ECS
relacionados?
Proceso de la Gestión de la
43
Configuración
Gestión de los entregables del software
 Durante la construcción del software se combinan los

elementos y datos de la configuración para crear un


ejecutable del software y de esta manera entregarlo al
cliente
 La gestión de los entregables del software, es la

identificación, empaquetado y entrega del software. Sin


embargo, este puede cambiar luego de ser analizado y
encontrar las partes del software que deberán ser
cambiadas para lanzar un nueva versión
Beneficios
44

 Genera una documentación que comprende: la descripción


completa del producto final, la identificación de todos y
cada uno de sus componentes, los atributos, prestaciones y
cambios de dichos componentes
 Construye una base para gestionar cambios al diseño en
vigor y auditar el producto y/o sus componentes.
 Posibilidad de recuperar las configuraciones en vigor, las
fabricadas y las entregadas a lo largo de toda la vida útil
del producto y relacionarlas con los requisitos y otras
informaciones asociadas.
Beneficios
45

 Resolución más rápida de problemas


 Gestión de cambios más eficiente
 Reducción de costes
 Control de licencias
 Mayores niveles de seguridad
 Mayor rapidez en la reestructuración del servicio
Gestión de la Configuración
46

Herramientas
 Microsoft Visual SourceSafe

 SourceOffSite

 CVS

 SVN (Subversion)

 Mercurial

 GIT

 Tortoise (Cliente para Subversion)

 Rational ClearCase
Resumen
47

 La gestión de la configuración es el conjunto total de


actividades utilizadas para administrar el contenido y
asegurar la integridad del producto de software desde
el principio, incluyendo su proceso de desarrollo y hasta
el final de su vida útil
 En el control de versiones hay que disponer de un método
para designar las diferentes versiones de manera
sistemática u organizada.
 El control de cambios es la actividad que gestiona los
cambios que se realizarán al software durante su ciclo de
vida. Determina que cambio se debe hacer, si es que es
correcto y la manera de su implementación
 Se presentaron diferentes herramientas para la GCS
¿Preguntas?
48

 ¿Cuáles son las actividades del proceso de


gestión de la configuración?
Referencias
49

 Ingeniería de Software. Un enfoque desde la guía


SWEBOK (1ra. edic.)
 Capítulo 11: Gestión de la Configuración del Software
 Ingeniería del Software (9na edición) Ian Sommerville
 Capítulo 25: Administración de la Configuración
 Ingeniería de Software: Un enfoque práctico (7ma
edición) Roger S. Pressman
 Capítulo 22: Administración de la Configuración del Software
 Links:
 http://lml.ls.fi.upm.es/ep/versiones.html
 http://www.slideshare.net/JohanPrevotR/gestion-de-la-configuracion-del-
software-10471407

También podría gustarte