Unidad 4. Administración y Gestión de La Configuración

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

Ingeniería de Software

Unidad 4. Administración y gestión de la configuración


Presentación de la unidad......................................................................................................................... 3
Objetivos...................................................................................................................................................... 4
4 Administración y gestión de la configuración ............................................................................ 55
4.1 Items de configuración ............................................................................................................. 76
4.2 Control de cambios ................................................................................................................. 8 7
4.3 Actividades relacionadas con la gestión de la configuración ............................................. 25 8
4.4 Gestión de versiones ................................................................................................................. 259
Temario 4.5 Herramientas de gestión de la configuración y de integración ..........................................10
4.6 Gestión de la liberación del software ................................................................................... 11
4.7 Generación de informas de estado ....................................................................................... 12
4.8 Plan de gestión de configuración ………................................................................................... 13

Para saber más............................................................................................................................................ 14


29
Cierre de la unidad.................................................................................................................................... 15 30
Fuentes de consulta................................................................................................................................... 16 31
Presentación de la unidad

¡Bienvenido a la unidad 4!

En la unidad 4 “Administración y gestión de la configuración”, señalarás los conceptos relativos a la gestión de


la configuración del software, así como explicarás las actividades y herramientas relacionadas con la gestión de la
configuración del software.
No olvides que hoy en día, la aplicación de métodos y herramientas de diseño, calidad y avaluación del
software, así como del ciclo de vida de desarrollo, son fundamentales para la producción de sistemas de software
de cualquier magnitud y aplicación.

3
Objetivos

Al término de esta unidad lograrás:

• Señalar los conceptos relativos a la gestión de la configuración del software


• Explicar las actividades relacionadas con la gestión de la configuración del software
• Describir las herramientas relacionadas con la gestión de la configuración del software

4
4 Administración y gestión de
la configuración

Cuando se construye software de computadora, ocurren cambios. Y


puesto que ocurren, es necesario administrarlos de manera efectiva. La
administración de la configuración del software (ACS), también
llamada gestión del cambio, es un conjunto de actividades diseñadas
para administrar el cambio mediante la identificación de los productos
de trabajo que es probable que cambien, el establecimiento de
relaciones entre ellos, la definición de mecanismos para administrar
diferentes versiones de dichos productos de trabajo y el control de los
cambios impuestos, así como la auditoría y reporte de los cambios
realizados.
Todos los involucrados en el proceso de software se relacionan
en cierta medida con la gestión del cambio, pero en ocasiones se crean
posiciones de apoyo especializadas para administrar el proceso ACS.
Si no se controla el cambio, éste lo controla a uno. Y eso nunca
es bueno. Es muy fácil que un torrente de cambios descontrolados
convierta en caos un proyecto de software bien estructurado. Como
consecuencia, la calidad del software se reduce y la entrega se demora.
Por dicha razón, la gestión del cambio es parte esencial de la
administración de la calidad. (Pressman, R. S., 2010, p. 501)

5
4.1 Items de configuración

Se definió un ítem de configuración del software como la información que se


crea como parte del proceso de ingeniería de software. En última instancia, un
ICS podría considerarse como una sola sección de una gran especificación o
como un caso de prueba en una gran suite de pruebas.
De manera más realista, un ICS es todo o parte de un producto de
trabajo (por ejemplo, un documento, toda una suite de casos de prueba o un
componente de programa nominado).
Además de los ICS que se derivan de los productos de trabajo de
software, muchas organizaciones de ingeniería de software también colocan las
herramientas de software bajo control de configuración, es decir, versiones
específicas de editores, compiladores, navegadores y otras herramientas
automatizadas se “congelan” como parte de la configuración del software.
Puesto que dichas herramientas se usaron para producir documentación, código
fuente y datos, deben estar disponibles cuando tengan que realizarse cambios a
la configuración del software.
Aunque los problemas son raros, es posible que una nueva versión de
una herramienta (por ejemplo, un compilador) pueda producir resultados
diferentes que la versión original. Por esta razón, las herramientas, como el
software que ayudan a producir, pueden convertirse en líneas de referencia como
parte de un proceso amplio de administración de la configuración. (Pressman,
R. S., 2010, p. 505)

6
4.2 Control de cambios

[El control del cambio es un proceso que inicia cuando] una petición de
cambio se envía y evalúa para valorar el mérito técnico, los potenciales
efectos colaterales, el impacto global sobre otros objetos de configuración y
funciones del sistema, y el costo proyectado del cambio.
Los resultados de la evaluación se presentan como un reporte de
cambio, que utiliza una autoridad de control del cambio (ACC), es decir,
una persona o un grupo que toma una decisión final acerca del estatus y la
prioridad del cambio. Por cada cambio aprobado se genera una orden de
cambio de ingeniería (OCI). La OCI describe el cambio que se va a realizar,
las restricciones que deben respetarse y los criterios para revisar y auditar.
El objeto que se va a cambiar puede colocarse en un directorio que
controlan exclusivamente los ingenieros de software que realizan el cambio.
Un sistema de control de versión actualiza el archivo original una vez que se
realiza el cambio.
Como alternativa, el objeto que se va a cambiar puede “sacarse” de
la base de datos del proyecto (repositorio), realizarse el cambio y aplicarse
las actividades adecuadas de SQA. Luego, el objeto “entra” a la base de
datos y se usan mecanismos de control de versión adecuados para crear la
siguiente versión del software. (Pressman, R. S., 2010, p. 512)

7
4.3 Actividades relacionadas con la
gestión de la configuración

El proceso de administración de la configuración del software define una serie de tareas que
tienen cuatro objetivos principales: 1) identificar todos los ítems que de manera colectiva
definen la configuración del software, 2) administrar los cambios a uno o más de estos
ítems, 3) facilitar la construcción de diferentes versiones de una aplicación y 4) garantizar
que la calidad del software se conserva conforme la configuración evoluciona con el tiempo.
• Un proceso que logra dichos objetivos no necesita ser burocrático o pesado, pero
debe caracterizarse de forma que permita a un equipo de software desarrollar
respuestas a un conjunto de preguntas complejas:
• ¿Cómo identifica un equipo de software los elementos discretos de una
configuración de software?
• ¿Cómo gestiona una organización las muchas versiones existentes de un
programa (y su documentación) de manera que permita que el cambio se
acomode eficientemente?
• ¿Cómo controla una organización los cambios antes y después de que el software
se libera a un cliente?
• ¿Quién tiene la responsabilidad de aprobar y clasificar los cambios solicitados?
• ¿Cómo puede garantizarse que los cambios se realizaron adecuadamente?
• ¿Qué mecanismo se usa para enterar a otros acerca de los cambios que se
realizaron?
Estas preguntas conducen a la definición de las cinco tareas ACS (identificación,
control de versión, control de cambio, auditoría de la configuración y reporte). (Pressman,
R. S., 2010, pp. 508-509)

8
4.4 Gestión de versiones

El control de versión combina procedimientos y herramientas para administrar diferentes versiones de objetos de
configuración que se crean durante el proceso de software. Un sistema de control de versión implementa o se integra
directamente con cuatro grandes capacidades: 1) una base de datos de proyecto (repositorio) que almacena todos los
objetos de configuración relevantes, 2) una capacidad de administración de versión que almacena todas las versiones de
un objeto de configuración (o que permite la construcción de cualquier versión usando diferencias de las versiones
pasadas) y 3) una facilidad para elaboración que le permite recopilar todos los objetos de configuración relevantes y
construir una versión específica del software.
Además, los sistemas de control de versión y de control de cambio con frecuencia implementan una capacidad de
rastreador de conflictos (también llamado rastreador de errores) que permite al equipo registrar y rastrear el estado de
todos los conflictos sobresalientes asociados con cada objeto de configuración. (Pressman, R. S., 2010, p. 510)

9
4.5 Herramientas de gestión de la
configuración y de integración

El uso de herramientas para lograr el control de versión es esencial para la


administración efectiva del cambio. El sistema de versiones concurrentes (SVC)
es una herramienta ampliamente utilizada para el control de versiones.
Originalmente diseñada para código fuente, pero útil para cualquier archivo
basado en texto, el SVC 1) establece un repositorio simple, 2) mantiene todas
las versiones de un archivo en un solo archivo nominado al almacenar sólo las
diferencias entre versiones progresivas del archivo original y 3) protege a un
archivo contra los cambios simultáneos al establecer diferentes directorios para
cada desarrollador, lo que, por tanto, aísla uno de otros. El SVC mezcla los
cambios cuando cada desarrollador completa su trabajo
Es importante observar que el SVC no es un sistema “de construcción”,
es decir, no construye una versión específica del software. Deben integrarse otras
herramientas (por ejemplo, Makefile) con el SVC para lograr esto. El SVC no
implanta un proceso de control de cambio (por ejemplo, solicitudes de cambio,
reportes de cambio, rastreo de errores). Incluso con estas limitaciones, el SVC
“es un dominante sistema de control de versión, de red transparente y código
abierto, [que] es útil para todos, desde desarrolladores individuales hasta grandes
equipos distribuidos”. Su arquitectura cliente-servidor permite a los usuarios
acceder a los archivos mediante conexiones de internet, y su filosofía de código
abierto lo vuelve disponible para la mayoría de las plataformas más usadas.
(Pressman, R. S., 2010, p. 511)

10
4.6 Gestión de la liberación
del software

Una vez desarrollado y revisado el objeto de configuración, se convierte en línea de referencia. Los cambios a un objeto
convertido en línea de referencia dan como resultado la creación de una nueva versión de dicho objeto. La evolución de
un programa puede rastrearse al examinar la historia de revisión de todos los objetos de configuración. El control de
versiones es el conjunto de procedimientos y herramientas que sirven para administrar el uso de dichos objetos.
La administración de la configuración para webapps es similar en muchos aspectos a la ACS para software convencional.
Sin embargo, cada una de las tareas núcleo ACS debe dinamizarse para hacerla tan magra como sea posible y deben
implementarse provisiones especiales para la administración del contenido. (Pressman, R. S., 2010, p. 521)

11
4.7 Generación de informas
de estado

La auditoría de la configuración es una actividad SQA que ayuda a garantizar que


la calidad se conserva conforme se realizan cambios. El reporte de estado
proporciona información acerca de cada cambio a quienes necesitan conocerla.
El reporte del estado de la configuración (en ocasiones llamado
contabilidad de estado) es una tarea ACS que responde las siguientes preguntas:
1) ¿Qué ocurrió? 2) ¿Quién lo hizo? 3) ¿Cuándo ocurrió? 4) ¿Qué más se
afectará?
El flujo de información para el reporte del estado de la configuración
(REC) se ilustra en la figura 22.5. Cada vez que se le asigna a un ICS una nueva
identificación o que se le actualiza, se hace una entrada REC. Cada ocasión que el
ACC aprueba un cambio (es decir, emite una OCI), se hace una entrada REC.
Cada vez que se lleva a cabo una auditoría de la configuración, los resultados se
reportan como parte de la tarea REC.
La salida del REC puede colocarse en una base de datos en línea o en un
sitio web, de modo que los desarrolladores de software o el personal de apoyo
puedan acceder a la información del cambio mediante categorías de palabras
clave. Además, regularmente se genera un reporte REC y se tiene la intención de
mantener al tanto de los cambios importantes a los gerentes y profesionales.
(Pressman, R. S., 2010, p. 515)

12
4.8 Plan de gestión de
configuración

Puesto que muchos productos de trabajo se realizan cuando el software se construye, cada uno debe identificarse de
manera única. Una vez logrado, pueden establecerse mecanismos para control de versión y de cambio. Para garantizar
que la calidad se mantiene conforme se realizan cambios, audite el proceso; y para asegurarse que quienes deben
conocerlos estén informados acerca de los cambios, realice reportes.
Un Plan de Administración de la Configuración del Software define la estrategia del proyecto para la gestión del cambio.
Además, cuando se invoca ACS formal, el proceso de control de cambio produce solicitudes de cambio de software,
reportes y órdenes de cambio de ingeniería.
Cuando todo producto de trabajo pueda explicarse, rastrearse y controlarse; cuando todo cambio pueda rastrearse y
analizarse; cuando todos los que deben saber acerca de un cambio están informados, entonces la gestión del cambio se
hizo correctamente. (Pressman, R. S., 2010, p. 501)

13
Para saber más

Para saber más sobre los temas vistos en esta unidad revisa los siguientes materiales:

•Control de versiones en los programas


En este video podrás revisar las características generales de las versiones que pueden manejar los programas o aplicaciones para computadoras y
dispositivos.
https://youtu.be/BLaY04mvQZw

•Como aprender de instalación del controlador de versiones de software


En este vídeo conocerás la organización y las herramientas para la implementación de un controlador de versiones.
https://youtu.be/2eiSlgtallM

14
Cierre de la unidad

Como conclusión a los temas vistos en esta unidad, lograste señalar los conceptos relativos a la gestión de la configuración del
software, así como explicar las actividades y herramientas relacionadas con la gestión de la configuración del software.
En la siguiente unidad “Arquitectura de sistemas de software”, podrás explicar qué es una arquitectura de software distribuido, el
concepto de componente, así como el uso de los diagramas UML de despliegue y componentes.

¡Felicidades!
Has concluido la unidad 4 continúa esforzándote

15
Fuentes de consulta

• Kendall, K. y Kendall, J. (2011). Análisis y diseño de sistemas. 8a. ed. México: Pearson Educación

• Piattini, M. G., et. al. (2007). Calidad de Sistemas Informáticos. México: Alfaomega Grupo Editor

• Pressman, R. S. (2010). Ingeniería del software. Un enfoque práctico. 7a. ed. México: McGraw Hill

• Sommerville, I. (2011). Ingeniería de software. 9a. ed. España: Pearson Educación

• UNAM Sepacómputo. (2016). Control de versiones en los programas. [video]. https://youtu.be/BLaY04mvQZw

• VdeoEduckativo. (2021). Como aprender de Instalación del controlador de versiones de software. [video]. https://youtu.be/2eiSlgtallM

• Imágenes recuperadas de: https://www.freepik.com/

16

También podría gustarte