+ All Categories
Home > Documents > 10_Gestion_Configuracion

10_Gestion_Configuracion

Date post: 08-Apr-2016
Category:
Upload: nick5uni
View: 2 times
Download: 0 times
Share this document with a friend
43
Clase 8: Gestión de la Configuración Ingeniería de Software Clase 1
Transcript
Page 1: 10_Gestion_Configuracion

Clase 8:

Gestión de la Configuración

Ingeniería de Software

Clase 1

Page 2: 10_Gestion_Configuracion

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

Page 3: 10_Gestion_Configuracion

3

Introducción

Gestión de la Configuración

Roles y responsabilidades

Proceso de la gestión de la configuración

Beneficios

Temas

Page 4: 10_Gestion_Configuracion

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….

Page 5: 10_Gestion_Configuracion

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

Page 6: 10_Gestion_Configuracion

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

Page 7: 10_Gestion_Configuracion

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

Page 8: 10_Gestion_Configuracion

Gestión de la Configuración 8

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

Page 9: 10_Gestion_Configuracion

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)

Page 10: 10_Gestion_Configuracion

Gestión de la Configuración 10

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

Page 11: 10_Gestion_Configuracion

Gestión de la Configuración 11

Línea base

De la configuración del software dentro de un proceso de

desarrollo:

Page 12: 10_Gestion_Configuracion

Gestión de la Configuración 12

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

Page 13: 10_Gestion_Configuracion

Gestión de la Configuración 13

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.

Page 14: 10_Gestion_Configuracion

Gestión de la Configuración 14

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.

Page 15: 10_Gestion_Configuracion

Gestión de la Configuración 15

Control de Versiones

Page 16: 10_Gestion_Configuracion

Gestión de la Configuración 16

Rama o Subversiones

Page 17: 10_Gestion_Configuracion

Gestión de la Configuración 17

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.

Page 18: 10_Gestion_Configuracion

Gestión de la Configuración 18

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

Page 19: 10_Gestion_Configuracion

Roles y responsabilidades de la

Gestión de la Configuración 19

Page 20: 10_Gestion_Configuracion

Roles y responsabilidades de la

Gestión de la Configuración 20

Page 21: 10_Gestion_Configuracion

Gestión de la Configuración 21

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?

Page 22: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 22

Page 23: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 23

Relación de las diferentes actividades

Page 24: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 24

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.

Page 25: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 25

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

Page 26: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 26

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.

Page 27: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 27

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.

Page 28: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 28

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

Page 29: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 29

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

Page 30: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 30

Proceso del control de cambios

Page 31: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 31

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.

Page 32: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 32

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

Page 33: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 33

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

Page 34: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 34

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?

Page 35: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 35

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

Page 36: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 36

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?

Page 37: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 37

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?

Page 38: 10_Gestion_Configuracion

Proceso de la Gestión de la

Configuración 38

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

Page 39: 10_Gestion_Configuracion

Beneficios 39

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.

Page 40: 10_Gestion_Configuracion

Beneficios 40

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

Page 41: 10_Gestion_Configuracion

Gestión de la Configuración 41

Herramientas

Microsoft Visual SourceSafe

SourceOffSite

CVS

SVN (Subversion)

Mercurial

GIT

Tortoise (Cliente para Subversion)

Rational ClearCase

Page 42: 10_Gestion_Configuracion

Resumen 42

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

Page 43: 10_Gestion_Configuracion

¿Preguntas? 43

¿Cuáles son las actividades del proceso de

gestión de la configuración?