Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

Gestion de configuracion del software




Enviado por ostin dicson



  1. Introducción
  2. Calidad del SW
  3. Líneas base
  4. Elementos de la configuración de
    SW
  5. Gestión de configuración de
    SW
  6. Proceso de GCS
  7. Identificación de la
    configuración GCS
  8. Control de
    configuración
  9. Control de versiones
  10. Auditoría de la
    configuración
  11. Modelos estándares de
    GCS
  12. La
    vinculación de estándares
  13. Plan
    de gestión de configuración de
    SW
  14. Conclusiones

Introducción

A lo largo del ciclo de vida del proceso de
software, los productos de software evolucionan. Desde la
concepción del producto y la captura de requisitos inicial
hasta la puesta en producción del mismo, y posteriormente
desde el inicio del mantenimiento hasta su retiro, se van
realizando una serie de cambios, tanto en el código como
en la documentación asociada. La Gestión de
Configuración del Software es una disciplina encargada del
control de la evolución de los productos de software.Como
todo proceso, la Gestión de Configuración
también puede ser sistematizada y automatizada, lo que se
denomina un Sistema de Gestión de Configuración
(SGC). Actualmente existen en el mercado diversas herramientas
que permiten apoyar una o más actividades de la
Gestión de Configuración. 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.

DEFINICIONES

Gestión de Configuración es
el proceso de identificar y definir los elementos en el sistema,
controlando el cambio de estos elementos a lo largo de su ciclo
de vida, registrando y reportando el estado de los elementos y
las solicitudes de cambio, y verificando que los elementos
estén completos y que sean los correctos. El
propósito de la Gestión de Configuración del
Software es establecer y mantener la integridad de los productos
de software a través del ciclo de vida del proceso de
software. La Gestión de Configuración del Software
implica la identificación de la Configuración del
software en puntos dados en el tiempo, el control
sistemático de los cambios en la Configuración y el
mantenimiento de la integridad y trazabilidad de la
Configuración a través del ciclo de vida del
software.

Calidad del
SW

La calidad del software es
una preocupación a la que se dedican muchos esfuerzos. Sin
embargo, el software casi nunca es perfecto. Todo
proyecto tiene como objetivo producir software de la mejor
calidad posible, que cumpla, y si puede supere las expectativas
de los usuarios.

CALIDAD

  • Es la aptitud de un producto o servicio
    para satisfacer las necesidades del usuario.

  • Es la cualidad de todos los productos,
    no solamente de equipos sino también
    de programas.

En el desarrollo de software, la calidad de
diseño acompaña a la calidad de los requisitos,
especificaciones y diseño del sistema. La calidad de
concordancia es un aspecto centrado principalmente en la
implementación; Si la implementación sigue al
diseño, y el sistema resultante cumple con los objetivos
de requisitos y de rendimiento, la calidad de concordancia es
alta.

Calidad de software

Características propias del software
aquellas que tu quieres controlar y asegurar, el software es un
producto inmaterial que no se fabrica, tampoco se degradan
físicamente, sino que se desarrolla. El software puede
tener errores, incidencias pero no son similares a lo que
cualquier equipo de carácter físico.

La calidad del software se encuentra casi a
la par de la calidad tradicional, ligeramente detrás
debido a que la calidad tradicional tiene varias décadas
de historia, mientras que la calidad de software tiene entre 50 y
30 años de haber surgido.

Certificación del
software.

Consecuencia de un proceso que es asegurar
la calidad pero nunca es el objetivo final. La calidad de
software no se certifica, lo que se certifica son los
procedimientos para construir un software de calidad, los
procedimientos deben ser correctos y estar en función de
la normalización (ISO
9000, CMMIMicrosoft…).

Normativa ISO
9000

Pone a disposición de un auditor o
certificador los procesos internos, de forma que este indique si
cumple o no la normativa al 100%, audita el sistema; Si los
resultados son positivos se emite la certificación y cada
cierto tiempo se tiene que renovar; La certificación es
costosa, a consecuencia de costes que ocasionan la lejanía
y el tiempo de duración de proceso (aprox. 6 meses). Se
certifica la empresa y la metodología para el desarrollo
de la aplicación

Medición del
software

En el software lo que se mide son atributos
propios del mismo, se descompone un atributo general en otros
más simples de medir, a veces se mide bien o mal ya que la
descomposición del atributo genérico de calidad en
otros sub-atributos se torna irreal, se mide con
datos estadísticos no avalados, es imposible
decir que la medición se hace en forma
correcta.

El concepto de medida va de más a
menos, va de lo general a lo concreto y lo concreto es asociado a
la métrica, cuya combinación te daría el
nivel de calidad o seguridad de tu producto.
Las ciencias bien estructuradas se basan en medidas
bien hechas, se basan en la matemática.

Líneas
base

Una línea base es
un concepto de gestión de la
configuración que lleva a controlar los cambios sin
impedir seriamente los cambios justificados. El Instituto de
Ingenieros Eléctricos y Electrónicos (IEEE)
610.12/1990 define una línea base como:

Una especificación o producto que se
ha revisado formalmente y sobre los que se ha llegado a un
acuerdo, y que de ahí en adelante sirve como base para un
desarrollo posterior y que puede cambiarse solamente a
través de procedimientos formales de control de
cambios.

Monografias.com

La IEEE define una línea base
como:

Una especificación o producto que se
ha revisado formalmente y sobre los que se ha llegado a un
acuerdo, y que de ahí en adelante sirve como base para un
desarrollo posterior y que puede cambiarse solamente a
través de procedimientos formales de control de
cambios.

Elementos de la
configuración de SW

Un elemento de la configuración del
software es la información creada como parte del proceso
de ingeniería un ECS (elemento de configuración de
software) es un documento, un conjunto completo de casos de
prueba o un componente de un programa 40

dado. Los siguientes ECS son el objetivo de
las técnicas de gestión de configuración y
forman un conjunto de líneas base:

1) Especificación del
sistema

2) Plan de proyecto

3) a. Especificación de
requisitos

b. Prototipo ejecutable o "en
papel"

4) Manual de usuario preliminar

5) Especificación de
diseños

a. Descripción del diseño de
datos

b. Descripción del diseño
arquitectónico

c. Descripciones del diseño de los
módulos

d. Descripciones del diseño de
interfaces

e. Descripciones de los objetos (si se
utilizan técnicas de P.O.O)

6) Listados del código
fuente

7) a. Plan y procedimiento de
pruebas

b. Casos de prueba y resultados
registrados

8) Manuales de operación de y de
instalación

9) Programas ejecutables

a. Módulos, código
ejecutable

b. Módulos enlazados

10) Descripción de la base de
datos

a. Esquema y estructura de
archivos

b. contenido inicial

11) Manual del usuario final

12) Documentos de mantenimiento

a. Informes de problemas del
software

b. Peticiones de mantenimiento

c. Ordenes de cambios e
ingeniería.

13) Estándares y procedimientos de
ingeniería del software

Es importante considerar poner las
herramientas de desarrollo de software bajo control de
configuración. Es decir congelar la versiones de editores,
compiladores y otras herramientas CASE utilizadas durantes el
desarrollo, un cambio en las versiones utilizadas puede que
produzca resultados diferentes que la versión
original.

Los ECS se organizan como objetos de
configuración que deben ser catalogados por la base de
datos del proyecto con un nombre único. Un ECS tiene un
nombre y atributos, y está conectado a otros objetos
mediante relaciones.

Gestión de
configuración de SW

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:

  • Identificación

  • Control de versiones

  • Control de cambios

  • Auditorias de
    configuración

  • Generación de
    informes

Proceso de
GCS

Se denomina Gestión de la
Configuración 
al conjunto de procesos destinados
a asegurar la calidad de todo producto obtenido durante
cualquiera de las etapas del desarrollo de un Sistema de
Información (S.I.), a través del estricto
control de los cambios realizados sobre los mismos y de la
disponibilidad constante de una versión estable de cada
elemento para toda persona involucrada en el citado desarrollo.
Estos dos elementos (control de cambios y control de
versiones de todos los elementos del S.I.) facilitan
también el mantenimiento de los sistemas al proporcionar
una imagen detallada del sistema en cada etapa del desarrollo. La
gestión de la configuración se realiza durante
todas las fases del desarrollo de un sistema de
información, incluyendo el mantenimiento y control de
cambios, una vez realizada la puesta en
producción.

Identificación de la
configuración GCS

Se pueden identificar dos tipos de 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:

El tipo de ECS (documento, programa, datos)
que está representado por el objeto.

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 (figura
1.3)

Monografias.com

Control de
configuració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.

El control de cambios es un mecanismo para
la evaluación y aprobación de los cambios hechos a
elementos de la configuración software durante el ciclo de
vida.

Pueden establecerse tres distintos tipos
de control
:

1) Control individual, antes de aprobarse
un nuevo elemento.

2) Control de Gestión (u
organizado), conduce a la aprobación de un nuevo
elemento.

3) Control formal, se realiza durante el
mantenimiento. 1. Control individual (o
informal)

Cuando un elemento de la
configuración está bajo control individual, el
técnico responsable cambia la documentación como se
requiere. Aunque se mantiene un registro informal de revisiones,
tales registros no se ponen generalmente en el documento. El
control individual se aplica durante las etapas más
importantes del desarrollo del documento y se caracteriza por los
cambios frecuentes.

2. Control de
gestión

Implica un procedimiento de revisión
y aprobación para cada cambio propuesto en la

configuración. Como en el control
individual, el control a nivel de proyecto ocurre durante el
proceso de desarrollo pero es usado después de que haya
sido aprobado un elemento de la configuración software.
Este nivel de control de cambios se caracteriza por tener menos
cambios que el control individual. Cada cambio es registrado
formalmente y es visible para la gestión.

3. Control de cambios
formal

Ocurre durante la fase de mantenimiento del
ciclo de vida software (el producto ya está

implantado). El impacto de cada tarea de
mantenimiento se evalúa por un Comité de Control de
Cambios (CCC), el cual aprueba las modificaciones de la
configuración software.

El proceso de control

El control de cambios se aplica,
según hemos visto, allá donde un elemento de la
configuración software va a cambiar.

El flujo del proceso de control de la GCS
se ilustra en la siguiente figura:

Monografias.com

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.

Monografias.com

Auditoría
de la configuración

¿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:

¿Se ha hecho el cambio especificado
en la OCI? ¿Se han incorporado modificaciones
adicionales?

¿Se ha llevado a cabo una
revisión técnica formal para evaluar la
corrección técnica?

¿Se han seguido adecuadamente los
estándares de ingeniería de software?

¿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?

¿Se han seguido procedimientos del
GCS para señalar el cambio, registrarlo y
divulgarlo?

¿Se han actualizado adecuadamente
todos los ECS relacionados?

11. Gestión de
configuración en el mantenimiento de software.
En el
mantenimiento de software, cobra importancia la función
del Comité de Control de Cambios (CCC), que se encarga de
recibir, estudiar y aprobar las solicitudes de cambio en el
software que son presentadas, sea por los usuarios o por los
propios encargados del mantenimiento. En este caso, las funciones
de control y de auditoria se vuelven casi indispensables, pues es
necesario mantener registro de todas las solicitudes de cambio
presentadas y del estado actual de cada una de ellas. Un sistema
de Gestión de Configuración que apoye la
Gestión de solicitudes de cambio, debería permitir
el registro por parte de los usuarios de las solicitudes de
cambio, su revisión por parte del CCC, y si son aprobadas
la creación de ordenes de cambio. Un cambio implica
generalmente la actualización tanto del Código
fuente, como de los documentos de especificación de
requisitos, análisis y diseño, casos de prueba y
manuales. Por lo tanto, en el escenario anterior, resulta de
utilidad mantener un registro de las dependencias entre los
elementos de Configuración. El cambio se vera reflejado en
la creación de nuevas versiones de los elementos
respectivos. 

12. Gestión en la
distribución del software a las PC- Usuarios
Cuando se
pone en producción un software, se distribuyen copias del
mismo entre los diversos usuarios del sistema. En este escenario,
un sistema de Gestión de Configuración
debería permitir registrar las Configuraciones (conjunto
de versiones de elementos de Configuración) que cuenta
cada PC – usuario. Puede ocurrir, que si un mismo sistema se
vende a distintos clientes, en algún momento surjan
requerimientos contradictorios o necesidades que lleven a la
creación de variantes de los elementos de
Configuración. El sistema de Gestión de
Configuración apoyaría entonces al momento de
estudiar una solicitud de un usuario a conocer cual es la
Configuración con la que esta trabajando. 

13. 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) ¿Que 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.

Modelos
estándares de GCS

Durante las dos últimas
décadas se han propuesto varios estándares de
gestión de configuración del software.

MODELO DE MADUREZ DE CAPACIDADES
(CMM)

Describe un marco de referencia para el
desarrollo y mantenimiento de software Constituye un modelo en el
que el mejoramiento de los procesos es implementado de forma
incremental. Organiza las etapas para evolucionar los procesos de
software en cinco niveles: inicial, definido, repetible,
gestionado y optimizado [Dunaway, 1996] [Farley, 2000] [Cruz,
2002]

LA ORGANIZACIÓN INTERNACIONAL
PARA LA ESTANDARIZACIÓN (ISO)

Promueve la estandarización internacional. En
relación al software, existe la guía o reglas
generales ISO 9000-3. es una guía y no una norma.
La ISO 9000 del 2000 identifica ocho principios de gestión
de la calidad:

* Enfoque al cliente

* Liderazgo

* Participación del personal

* Enfoque basado en procesos

* Enfoque de sistema para la gestión

* Mejora continua

* Enfoque basado en hechos para la toma de
decisión

* Relaciones mutuamente beneficiosas con el
proveedor.

INSTITUTO DE INGENIEROS ELÉCTRICOS Y
ELECTRÓNICOS (IEEE)

IEEE 730, este estándar permitió
identificar los aspectos más importantes para la
realización del plan de aseguramiento de la
calidad

Entre lo documentos normativos:

* IEEE Guide to Software Configuration Management,
American National Standards Institute, (1042-1987)

* IEEE Standard for Software Configuration Management
Plans, American National Standards Institute
(828-1990).

La
vinculación de estándares

Existe una estrecha relación en todos estos
modelos. CMM pueden cumplir con las exigencias de las
certificaciones de ISO.

Los aspectos con los que cumplen en ambos niveles
podría resultar suficiente para certificarse como ISO
.Entonces pudiera haber organizaciones no maduras (CMM) o por
debajo del nivel 3 que obtuvieran la certificación
ISO.

De manera general, si una organización se
considera posible candidata a ISO, es probable que esté
cerca de alcanzar el nivel 2. Las que están en el nivel 3
con completa seguridad serán certificadas ISO9001. [Zhang,
2001].

Vinculación de ISO y CMM

Monografias.com

 

BENEFICIOS DE LA GCS

  • Reduce el esfuerzo necesario para gestionar y
    realizar el cambio – mejora la productividad

  • Conduce a una mejora de la integridad y seguridad
    del software – incremento de la calidad

  • Genera información sobre el proceso – mejora
    de la gestión del control

  • Mantiene una base de datos de desarrollo de software
    – mejor registro y seguimiento de informes.

Plan de
gestión de configuración de SW

Contenidos:

  • Introducción (Propósito, Alcance,
    Definiciones, Acrónimos y Abreviaturas, Referencias,
    Apreciación Global

  • Gestión de la Configuración del SW
    (Organización, Responsabilidades e Interfaces,
    Herramientas, Ambientes e Infraestructura)

  • El Programa de CM (Identificación de la
    Conf(Métodos de Identificación, LB del
    Proyecto; Control de la Conf y de los Cambios ( Procesamiento
    y Aprobación de la solicitud de Cambio, Tablero de
    Control de Cambio (Change Control Board, CCB); Contabilidad
    de Estado de la Conf ( Almacenamiento de los Medios del
    Proyecto y Proceso de Release, Auditorias y
    Reportes)

  • Fechas Principales

  • Entrenamiento y Recursos

  • Control del Subcontratado y del Vendedor de
    SW

Conclusiones

La finalidad de la Gestión y
configuración del Software es 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.

 

 

Autor:

Ostin dicson

ING. DE SOFTWARE

Monografias.com

ING. FERNANDO MEJIA

Monografias.com

1201

Desarrollo Pratica FINAL

Santo Domingo:D.N

Fundada el 12 de Enero del
1966

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter