14
INGENIERÍA DEL SOFTWARE CAPÍTULO 1: GESTIÓN DE PROYECTOS DE SOFTWARE ISTP-KHIPU WILBERT DALGUERRE ORDÓÑEZ 2013 - I SESIÓN NÚMERO 09 GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE Aprender a llevar el control de avance de las diversas versiones del software.

ISW-S09-Gestión de la Configuración del Software

Embed Size (px)

DESCRIPTION

Curso: Ingeniería del Software

Citation preview

Page 1: ISW-S09-Gestión de la Configuración del Software

INGENIERÍA DEL SOFTWARE

C A P Í T U L O 1 : G E S T I Ó N D E

P R O Y E C T O S D E S O F T W A R E

I S T P - K H I P U

W I L B E R T D A L G U E R R E

O R D Ó Ñ E Z

2 0 1 3 - I

SESIÓN NÚMERO 09

GESTIÓN DE LA CONFIGURACIÓN

DEL SOFTWARE

Aprender a llevar el control de avance de las diversas

versiones del software.

Page 2: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

1

Contenido

GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE................................ 2

INTRODUCCION .................................................................................................................... 2

1. GESTION DE LA CONFIGURACION DEL SOFTWARE (GCS) ................................................ 2

2. EL PROCESO DE GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE ................................ 4

IDENTIFICACIÓN DE OBJETOS EN GCS .................................................................................. 5

CONTROL DE VERSIONES ...................................................................................................... 6

CONTROL DE CAMBIOS ........................................................................................................ 7

AUDITORIA DE LA CONFIGURACION .................................................................................. 10

INFORMES DE ESTADO ....................................................................................................... 11

ESTANDARES DE GCS .......................................................................................................... 11

RESUMEN ........................................................................................................................... 11

CONCLUSION ...................................................................................................................... 12

BIBLIOGRAFÍA ................................................................................................................ 13

Page 3: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

2

GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE

INTRODUCCION

La gestión de la configuración del

software es uno de los

procesos clave para

toda organización

dedicada a la

Ingeniería del Software,

ya que posibilita una

mejor organización del

desarrollo y mantenimiento,

producto, facilitando el resto

de procesos de producción.

Durante el proceso de construcción de un software, los

cambios son inevitables. Los cambios provocan confusión e

incertidumbre, sobre todo cuando no se han analizado o pronosticado

correctamente. Es importante considerar ciertas modificaciones que

pueden ocurrirle al software dentro de todo el proceso de ingeniería.

“El arte de coordinar el desarrollo de software para minimizar…la

confusión, se denomina gestión de la configuración. La gestión es el

arte de identificar, organizar y controlar las modificaciones que sufre

el software…la meta es maximizar la productividad minimizando

errores.”

1. GESTION DE LA CONFIGURACION DEL SOFTWARE (GCS)

Los cambios dentro del desarrollo del software pueden ocurrir en

cualquier momento por lo tanto debemos estar preparados, las

actividades de CGS sirven para:

Page 4: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

3

1. Identificar el cambio de nuestro software.

2. Controlar ese cambio.

3. Garantizar que el cambio quede bien implantado.

4. Informar el cambio.

La gestión de configuración del software no es un mantenimiento del

software, el mantenimiento es la etapa final de la ingeniería hasta que

se retire el producto del equipo, la CGS es un conjunto de actividades

de seguimiento y control que comienzan cuando se inicia el proyecto

de desarrollo del software y termina sólo una vez que el software

queda fuera de circulación.

Desgraciadamente, en el proceso de ingeniería del software existe

una variable importantísima que entra en juego, el cambio.

La primera Ley de la ingeniería de sistemas establece: “Sin importar

en qué momento del ciclo de vida del sistema nos encontremos, el

sistema cambiará y el deseo de cambiarlo persistirá a lo largo de todo

el ciclo de vida”.

Entonces nos hacemos diferentes preguntas: ¿Por qué cambiar el

sistema? ¿Que produce los en el sistema cambios? La respuesta a

estas interrogantes se puede encontrar en cuatro aspectos

fundamentales y a menudo muy tradicionales dentro del desarrollo del

software:

1. Nuevos requisitos del negocio o condiciones que dictan los

cambios en las condiciones del producto o en las normas

comerciales.

2. Nuevas necesidades de los clientes que demandan la

modificación de los datos producidos por un sistema basado

en computadora.

3. Reorganización y/o reducción del volumen comercial que

provoca cambios en las prioridades del proyecto o en la

estructura del equipo de ingeniería del software.

4. Restricciones presupuestarias o de planificaciones que

provocan una redefinición del sistema o del producto.

La gestión de configuración del software realiza un conjunto de

actividades desarrolladas para gestionar y registrar los cambios a lo

largo del ciclo de vida del software de computadora.

Page 5: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

4

La GCS es una actividad de garantía de calidad del software que se

aplica en todas las fases del proceso de ingeniería del software.

2. EL PROCESO DE GESTIÓN DE LA CONFIGURACIÓN DEL

SOFTWARE

La GCS es un elemento importante de garantía de calidad es

responsable de controlar los cambios. Sin embargo también se debe

identificar los ECS individuales. El proceso se puede definir en cinco

tareas de CGS:

1. Identificación

2. Control de versiones

3. Control de cambios

Page 6: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

5

4. Auditorias de configuración

5. Generación de informes

IDENTIFICACIÓN DE OBJETOS EN GCS

Se pueden identificar dos tipos de objetos los objetos básicos y los

objetos compuestos.

Un objeto básico es una unidad de texto creada durante el análisis,

diseño, codificación o prueba. Un objeto compuesto es una colección

de objetos básicos u objetos compuestos. Cada objeto tiene un

conjunto de características que los identifican como únicos. El nombre

del objeto es una cadena de caracteres que identifica al objeto sin

ambigüedad. La descripción del objeto es una lista de elementos de

datos que identifican:

1. El tipo de ECS (documento, programa, datos) que está

representado por el objeto.

2. Un identificador del proyecto; y la información de la versión

y/o el cambio.

El esquema de identificación de los objetos de software debe tener en

cuenta que los objetos evolucionan a lo largo del proceso de

ingeniería, por lo que se puede crear un grafo de evolución.

Page 7: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

6

En el grafo de evolución se describe la historia del objeto y sus

cambios, las grandes modificaciones hacen que un objeto cambie, por

lo que cambia el número de versión principal.

CONTROL DE VERSIONES

El control de versiones combina procedimientos y herramientas para

gestionar las versiones de los objetos de configuración creadas

durante el proceso de ingeniería del software.

"La gestión de configuración permite a un usuario especificar

configuraciones alternativas del sistema de software mediante la

selección de las versiones adecuadas. Esto se puede gestionar

asociando atributos a cada versión del software y permitiendo luego

especificar y construir una configuración describiendo el conjunto de

atributos deseado."

Los atributos pueden ser tan sencillos como un número específico de

versión asociado a cada objeto o tan complejos como una cadena de

variables lógicas que especifiquen tipos de cambios funcionales

aplicados al sistema

Page 8: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

7

Para construir la variante adecuada de una determinada versión de un

programa, a cada componente se le asigna una tupla de atributos.

A cada variante se le asigna uno o más atributos.

Otra forma de establecer los conceptos de la relación entre

componentes, variantes y versiones es representarlas como un fondo

de objetos.

La principal diferencia entre los distintos modos de construcción está

en la sofisticación de los atributos que se usan para construir

versiones y variantes específicas de un sistema y en la mecánica del

proceso de construcción.

CONTROL DE CAMBIOS

En un gran proyecto de desarrollo de software, el cambio incontrolado

lleva rápidamente al caos. El control de cambios combina los

procedimientos humanos y las herramientas automáticas para

proporcionar un mecanismo para el control de cambio.

Page 9: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

8

Los resultados de la evaluación se presentan como un informe de

cambios a la autoridad de control de cambios (ACC). Para cada

cambio aprobado se genera una orden de cambio de ingeniería (OCI)

La OCI describe el cambio a realizar, las restricciones que se deben

respetar y los criterios de revisión y de auditoría. El objeto a cambiar

es "dado de baja" de la base de datos del proyecto; se realiza el

cambio y se aplican las adecuadas actividades de SQA. Luego, el

objeto es "dado de alta" en la base de datos y se usan los

mecanismos de de control de versiones apropiadas para crear la

siguiente versión del software.

Los procedimientos de "alta" y "baja" implementan dos elementos

importantes del control de cambios: control de acceso y control de

sincronización. El control de acceso gobierna los derechos de los

ingenieros de software a acceder y modificar objetos de configuración

concretos. El control de sincronización asegura que los cambios en

paralelo, realizados por personas diferentes, no se sobrescriben

mutuamente.

Page 10: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

9

Antes de que un ECS se convierta en una línea base, sólo es

necesario aplicar un control de cambios informal. El que haya

desarrollado el ECS en cuestión podrá hacer cualquier cambio

justificado por el proyecto y por los requisitos

Técnicos. Una vez que el objeto ha pasado la revisión técnica formal y

ha sido aprobada, se crea la línea base.

Una vez que el ECS se convierte en una línea base, aparece el

control de cambios a nivel de proyecto. Para hacer un cambio, el

encargado del desarrollo debe recibir la aprobación del gestor del

proyecto (si el cambio es local), o de la ACC si el cambio impacta en

otros ECS. En algunos casos, se dispensa de generar formalmente

las peticiones de cambio, los informes de cambio y las OCI. Sin

embargo, hay que hacer una evaluación de cada cambio así como un

seguimiento y revisión de los mismos.

Cuando se distribuye el producto de software a los clientes, se

instituye el control de cambios formal.

La autoridad de control de cambios (ACC) desempeña un papel activo

en el segundo y tercer nivel de control. El papel de la ACC es el de

tener una visión general, o sea, evaluar el impacto del cambio fuera

del ECS en cuestión. ¿Cómo impactará el cambio en el hardware?

Page 11: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

10

¿Cómo impactará en el rendimiento? ¿Cómo alterará el cambio la

percepción del cliente sobre el producto?

AUDITORIA DE LA CONFIGURACION

¿Cómo podemos

asegurar que

el cambio se

ha

implementado

correctamente?

La respuesta es

doble:

1) revisiones técnicas formales y

2) auditorias de configuración del software.

Las revisiones técnicas formales se centran en la corrección técnica

del elemento de configuración que ha sido modificado. Los revisores

evalúan el ECS para determinar la consistencia con otros ECS, las

omisiones o los posibles efectos secundarios.

Una auditoria de configuración del software complementa la revisión

técnica formal al comprobar características que generalmente no tiene

en cuenta la revisión. La auditoria se plantea y responde con las

siguientes preguntas:

1. ¿Se ha hecho el cambio especificado en la OCI? ¿Se han

incorporado modificaciones adicionales?

2. ¿Se ha llevado a cabo una revisión técnica formal para

evaluar la corrección técnica?

3. ¿Se han seguido adecuadamente los estándares de

ingeniería de software?

4. ¿Se han "recalcado" los cambios en el ECS?¿Se han

especificado la fecha del cambio y el autor?¿Reflejan los

cambios los atributos del objeto de configuración?

5. ¿Se han seguido procedimientos del GCS para señalar el

cambio, registrarlo y divulgarlo?

Page 12: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

11

6. ¿Se han actualizado adecuadamente todos los ECS

relacionados?

INFORMES DE ESTADO

La generación de informes de estado de la configuración es una tarea

de GCS que responde a las siguientes preguntas:

1. ¿Qué pasó?

2. ¿Quién lo hizo?

3. ¿Cuándo pasó?

4. ¿Qué más se vio afectado?

La generación de informes de estado de la configuración desempeña

un papel vital en el éxito del proyecto de desarrollo de software.

Cuando aparece involucrada mucha gente es muy fácil que no exista

una buena comunicación. Pueden darse errores entre las personas

desarrolladoras del software. El IEC ayuda a eliminar esos problemas,

mejorando la comunicación entre todas las personas involucradas.

ESTANDARES DE GCS

Durante las dos últimas décadas se han propuesto varios estándares

de gestión de configuración del software.

RESUMEN

La gestión y configuración del software identifica,

controla audita e informa de las modificaciones que

invariablemente se dan al desarrollar el software una

vez que ha sido distribuido a los clientes.

La con figuración se organiza de tal forma que sea

posible un control organizado de los cambios.

La configuración del software está compuesta por un

conjunto objetos interrelacionados, denominados

elementos de configuración del software, que son

provocados par la actividades del desarrollo, de la ingeniería del

software.

La auditoría de

configuración es una

actividad de SQA

(Aseguramiento de la

calidad del software)

para asegurar la calidad

durante los cambios.

Page 13: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

12

Las líneas base nos permiten guiarnos para desarrollar los cambios,

los objetos forman un asociación que refleja las variantes y relaciones

creadas, el control de versiones son procedimientos y herramientas

que ayudan a gestionar el uso de los objetos. El control de cambios

es una actividad procedimental que asegura la calidad en los

cambios de los ECS.

CONCLUSION

Durante el proceso de construcción de un software, los cambios son

inevitables. Los cambios provocan confusión e incertidumbre, sobre

todo cuando no se han analizado o pronosticado correctamente. La

finalidad de la Gestión y configuración del Software el conocer la

estructura de procesos y herramientas para aplicar dentro de la

construcción del software que nos ayudan a controlar los cambios.

Es importante considerar ciertas modificaciones que pueden ocurrirle

al software dentro de todo el proceso de ingeniería para asegurar su

control y calidad.

Page 14: ISW-S09-Gestión de la Configuración del Software

Gestión de la Configuración del Software

13

BIBLIOGRAFÍA

Ingeniería del software – un enfoque práctico. Roger S. Pressman

http://www.google.com.pe/search?num=10&hl=es&site=imghp&tb

m=isch&source=hp&biw=1366&bih=677&q=EL+PRODUCTO&oq=

EL+PRODUCTO&gs_l=img.3..0l10.1430.3454.0.4143.11.9.0.2.2.0

.186.986.4j5.9.0...0.0...1ac.1.Fl7oAV4lIQw#hl=es&tbo=d&site=img

hp&tbm=isch&sa=1&q=software+de+inteligencia+artificial&oq=soft

ware+de+inteligencia+artificial&gs_l=img.3..0j0i24l5.134002.1409

50.6.141169.26.11.0.15.15.1.196.1908.0j11.11.0...0.0...1c.1.9iim2

AMAFfQ&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=ba1326681ff2cb

8&bpcl=38897761&biw=1366&bih=634

http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software

http://www.ctic.uni.edu.pe/files/insoft01.pdf

Todos son links o enlaces a diferentes páginas web que se

consultaron para el desarrollo de esta sesión de clases.