¿Qué es la gestión de la configuración de software?
En Ingeniería de Software, Gestión de configuración de software (SCM) Es un proceso para gestionar, organizar y controlar sistemáticamente los cambios en documentos, códigos y otras entidades durante el ciclo de vida del desarrollo de software. El objetivo principal es aumentar la productividad sin muchos errores. SCM es parte de un área interdisciplinaria de gestión de la configuración y puede determinar con precisión quién realizó la revisión.
En este tutorial de ingeniería de software, aprenderá:
¿Por qué necesitamos la gestión de la configuración?
Las principales razones para implementar el Sistema de Gestión de Configuración de Software Técnico son:
- Mucha gente está trabajando en software que se actualiza constantemente.
- Puede ser un caso en el que múltiples versiones, sucursales, autores están involucrados en un proyecto de configuración de software y el equipo está distribuido geográficamente y trabaja simultáneamente.
- Es necesario cumplir con los cambios en las necesidades del usuario, la política, el presupuesto y el cronograma.
- El software debe poder ejecutarse en diferentes máquinas y sistemas operativos
- Ayuda a desarrollar la coordinación entre las partes interesadas
- El proceso SCM también es beneficioso para controlar los costos de los cambios en el sistema.
Cualquier cambio en los elementos de configuración del software afectará al producto final. Por tanto, es necesario controlar y gestionar los cambios en los artículos de configuración.
Tareas en el proceso SCM
- Reconocimiento de configuración
- Líneas de base
- Cambio de control
- Contabilidad del estado de configuración
- Revisiones y auditorías de configuración
ID de configuración:
La identificación de la configuración es un método para determinar el alcance de un sistema de software. Con la ayuda de este paso, puede administrar o controlar algo incluso si no sabe qué es. Es una descripción que contiene el tipo CSCI (elemento de configuración del software informático), el identificador del proyecto y la información de la versión.
Actividades durante este proceso:
- Identificación de elementos de configuración como módulos de código fuente, caso de prueba y especificación de requisitos.
- Identifique cada CSCI en un repositorio de SCM, utilizando un enfoque orientado a objetos
- El proceso comienza con objetos básicos agrupados en artículos agregados. Detalles de qué, por qué, cuándo y quién realiza los cambios en la prueba
- Cada objeto tiene sus propias características que identifican su nombre que es obvio para todos los demás objetos.
- Lista de recursos necesarios como documentos, archivos, herramientas, etc.
Ejemplo:
En lugar de nombrar un archivo login.php, debería llamarse login_v1.2.php donde v1.2 representa el número de versión del archivo.
En lugar de nombrar una carpeta de «Código», debería llamarse «Código_D», donde D es el código del que se debe hacer una copia de seguridad a diario.
Base:
Una línea de base es una versión aceptada formalmente de un elemento de configuración de software. Se le asigna un nombre y se establece en un momento específico durante el inicio del proceso de SCM. Solo se puede cambiar mediante procedimientos formales de control de cambios.
Actividades durante este proceso:
- Facilite diferentes versiones de su aplicación
- Definir y determinar mecanismos para gestionar diferentes versiones de estos productos de trabajo.
- La línea de base funcional responde a los requisitos del sistema de revisión.
- Las líneas de base ampliamente utilizadas incluyen líneas de base funcionales, de desarrollo y de productos.
En palabras simples, línea de base significa listo para lanzar.
Cambio de control:
El control de cambios es un método de procedimiento que garantiza la calidad y la coherencia cuando se realizan cambios en el objeto de configuración. En este paso, la solicitud de cambio se envía al administrador de configuración de software.
Actividades durante este proceso:
- Controle los cambios ad-hoc para crear un entorno de desarrollo de software estable. Los cambios están comprometidos con la tienda.
- La solicitud se comprobará en función del mérito técnico, los posibles efectos secundarios y el impacto general en otros objetos de configuración.
- Gestiona cambios y proporciona elementos de configuración durante la vida útil del software.
Contabilidad del estado de configuración:
La contabilidad de configuración rastrea cada versión durante el proceso de SCM. Este paso implica rastrear el contenido de cada versión y los cambios resultantes de esta versión.
Actividades durante este proceso:
- Mantiene un registro de todos los cambios realizados en la línea de base anterior para alcanzar una nueva línea de base.
- Identificar cada elemento para definir la configuración del software.
- Supervisar el estado de las solicitudes de cambio
- Lista completa de todos los cambios desde la última línea de base
- Permite rastrear el progreso hasta la siguiente línea de base.
- Permite comprobar lanzamientos / versiones anteriores para realizar pruebas
Revisiones y auditorías de configuración:
Las auditorías de configuración de software verifican que el producto de software cumpla con todos los requisitos básicos. Asegura que es lo que se construye.
Actividades durante este proceso:
- Los auditores realizan una auditoría de configuración comprobando que se sigan los procesos definidos y asegurando que se cumplan los objetivos de SCM.
- Verifique el cumplimiento de los estándares de control de configuración. explorar e informar sobre los cambios realizados
- Las auditorías de SCM también garantizan que se mantenga la trazabilidad durante todo el proceso.
- Garantiza que los cambios realizados en la línea de base cumplan con los informes de estado de configuración.
- Validar validez e integridad
Participante en el proceso de SCM:
Los siguientes son los principales participantes en SCM
1. Administrador de configuración
- El Administrador de configuración es el responsable de identificar los elementos de configuración.
- CM asegura que el personal siga el proceso de SCM
- Debe aprobar o rechazar las solicitudes de cambio.
2. Desarrollador
- El desarrollador debe cambiar el código de acuerdo con las actividades de desarrollo estándar o cambiar las aplicaciones. Es el responsable de mantener la configuración del código.
- El desarrollador debe verificar los cambios y resolver los conflictos.
3. Auditor
- El auditor es responsable de las auditorías y revisiones de SCM.
- Es necesario garantizar la coherencia y la integridad del comunicado.
4. Gerente de proyecto:
- Asegúrese de que el producto se desarrolle dentro de un período de tiempo determinado
- Supervisa el progreso del desarrollo e identifica problemas en el proceso de SCM.
- Cree informes de estado del sistema de software
- Asegúrese de que se sigan los procesos y las políticas para crearlos, cambiarlos y probarlos
5. Usuario
El usuario final debe comprender los términos clave de SCM para asegurarse de tener la última versión del software.
Plan de gestión de la configuración del software
La planificación del proceso SCMP (gestión de la configuración de software) comienza en las primeras etapas de codificación del proyecto. El resultado de la fase de planificación es el plan SCM que podría ampliarse o revisarse durante el transcurso del proyecto.
- El SCMP puede seguir un estándar público como el IEEE 828 o un estándar específico de la organización
- Define los tipos de documentos a gestionar y nombrar. Prueba de muestra_v1
- SCMP define a la persona que será responsable de todo el proceso de SCM y de crear líneas de base.
- Establecer políticas de gestión de versiones y control de cambios
- Definir herramientas que se pueden utilizar durante el proceso de SCM
- Base de datos de gestión de configuración para registrar información de configuración.
Herramientas de gestión de configuración de software
Cualquier software de gestión de cambios debe tener las siguientes 3 características clave:
Gestión de conciliación:
Cuando ocurren dos o más tareas al mismo tiempo, se denomina operación concurrente. La concurrencia en el contexto de SCM significa que varias personas están editando el mismo archivo al mismo tiempo.
Si el consenso no se gestiona correctamente con las herramientas de SCM, pueden surgir muchos problemas urgentes.
Control de versiones:
SCM usa el modo de archivo o guarda todos los cambios realizados en un archivo. Con la ayuda de una función de archivo o guardado, es posible volver a la versión anterior en caso de problemas.
Sincronización:
Los usuarios pueden verificar más de un archivo o una copia completa del repositorio. Luego, el usuario trabaja en el archivo requerido y verifica los cambios en el repositorio. Pueden sincronizar su copia local para mantenerse al día con los cambios realizados por otros miembros del personal.
A continuación, se muestran algunas herramientas comunes
1. Git: Git es una herramienta gratuita y de código abierto que ayuda a controlar las versiones. Está diseñado para manejar todo tipo de proyectos de manera rápida y eficiente.
Enlace de descarga: https://git-scm.com/
2. Staff Foundation Server: Team Foundation es un grupo de herramientas y tecnologías que permiten a los equipos colaborar y coordinarse para construir un producto.
Enlace de descarga: https://azure.microsoft.com/en-us/services/devops/server/
3. Responsable: Es una herramienta de gestión de configuración de software de código abierto. Además de la gestión de la configuración, también proporciona la implementación de aplicaciones y la automatización de tareas.
Enlace de descarga: https://www.ansible.com/
Consulte más herramientas de configuración de software: https://www.guru99.com/software-configuration-management-tools.html
Conclusión:
- Las buenas prácticas de gestión de la configuración ayudan a las organizaciones a gestionar, organizar y controlar sistemáticamente los cambios en la documentación, los códigos y otras entidades durante el ciclo de vida del desarrollo de software.
- El objetivo principal del proceso SCM es aumentar la productividad sin muchos errores.
- La razón principal del proceso de gestión de la configuración es que muchas personas están trabajando en software que se actualiza constantemente. SCM ayuda a establecer consenso, sincronización y control de versiones.
- Una línea de base es una versión aceptada formalmente de un elemento de configuración de software
- El control de cambios es un método de procedimiento que garantiza la calidad y la coherencia cuando se realizan cambios en el objeto de configuración.
- La contabilidad de configuración rastrea cada versión durante el proceso de SCM
- Las auditorías de configuración de software verifican que el producto de software cumple con todos los requisitos básicos
- Un director de proyecto, un director de configuración, un desarrollador, un auditor y un usuario participan en el proceso de SCM.
- La planificación del proceso de SCM comienza en las primeras etapas del proyecto.
- Git, Team Sever Foundation y Ansible son algunas de las herramientas de SCM más populares.