Gestión de la configuración de software en ingeniería de software
⚡ Resumen inteligente
La gestión de configuración de software (SCM) es un proceso para gestionar, organizar y controlar sistemáticamente los cambios en documentos, código y otros elementos a lo largo del ciclo de vida del desarrollo de software. Su objetivo principal es aumentar la productividad manteniendoping minimizar los errores.

¿Qué es la gestión de la configuración del 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 los documentos, códigos y otras entidades durante el ciclo de vida del desarrollo de software. El objetivo principal es aumentar la productividad con un mínimo de errores. La gestión de configuración de software (SCM) forma parte del campo interdisciplinario de la gestión de la configuración y permite determinar con precisión quién realizó cada revisión.
¿Por qué necesitamos la gestión de configuración?
Las principales razones para implementar un Sistema de Gestión de Configuración de Software Técnico son:
- Hay varias personas trabajando en un software que se actualiza continuamente.
- Puede darse el caso de que en un proyecto de configuración de software intervengan múltiples versiones, ramas y autores, y que el equipo esté distribuido geográficamente y trabaje simultáneamente.
- Es necesario adaptarse a los cambios en los requisitos del usuario, las políticas, el presupuesto y el cronograma.
- El software debe poder ejecutarse en varias máquinas y OperaSistemas de montaje.
- Ayuda a desarrollar la coordinación entre las partes interesadas.
- El proceso SCM también resulta beneficioso para controlar los costes que conlleva realizar cambios en un sistema.
Cualquier cambio en los elementos de configuración del software afectará el producto final. Por lo tanto, es necesario controlar y gestionar los cambios en los elementos de configuración.
Tareas en el proceso SCM
- Identificación de configuración
- Líneas de base
- Cambio de control
- Contabilidad de estado de configuración
- Auditorías de configuración y Revistas
Identificación de configuración
La identificación de la configuración es un método para determinar el alcance del sistema de software. Mediante este paso, se puede gestionar o controlar algo incluso sin saber qué es. Se trata de una descripción que contiene el tipo CSCI (Computer Software Configuration Item), un identificador de proyecto e información de versión.
Actividades durante este proceso:
- Identificación de elementos de configuración como módulos de código fuente, caso de pruebay especificación de requisitos.
- Identificación de cada CSCI en el repositorio SCM, utilizando un enfoque orientado a objetos.
- El proceso comienza con objetos básicos que se agrupan en objetos agregados. Detalles sobre 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, el cual es explícito para todos los demás objetos.
- Lista de recursos necesarios, como el documento, el archivo, las 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 “Code”, debería llamarse “Code_D”, donde D representa que el código debe respaldarse diariamente.
Base
Una línea base es una versión formalmente aceptada de un elemento de configuración de software. Se designa y fija en un momento específico mientras se lleva a cabo el proceso SCM. Sólo se puede cambiar mediante procedimientos formales de control de cambios.
Actividades durante este proceso:
- Facilitar la creación de diversas versiones de una aplicación.
- Definir y determinar los mecanismos para gestionar las distintas versiones de estos productos de trabajo.
- La línea base funcional se corresponde con los requisitos del sistema revisados.
- Entre las líneas de base más utilizadas se incluyen las funcionales, las de desarrollo y las de producto.
En palabras simples, línea base significa listo para su lanzamiento.
Cambio de control
El control de cambios es un método procedimental que garantiza la calidad y la coherencia al modificar el objeto de configuración. En este paso, la solicitud de cambio se envía al gestor de configuración del software.
Actividades durante este proceso:
- Controla los cambios puntuales para crear un entorno de desarrollo de software estable. Los cambios se registran en el repositorio.
- La solicitud se evaluará en función de su mérito técnico, los posibles efectos secundarios y el impacto general en otros objetos de configuración.
- Gestiona los cambios y pone a disposición los elementos de configuración durante el ciclo de vida del software.
Contabilidad de estado de configuración
Contabilidad del estado de configuración tracks cada lanzamiento durante el proceso SCM. Esta etapa implica tracrey qué tiene cada versión y los cambios que llevaron a esta versión.
Actividades durante este proceso:
- Mantiene un registro de todos los cambios realizados a la línea base anterior para alcanzar una nueva línea base.
- Identifique todos los elementos necesarios para definir la configuración del software.
- Supervisar el estado de las solicitudes de cambio.
- Listado completo de todos los cambios desde la última línea de base.
- Permite a los tracrey del progreso hacia la siguiente línea de base.
- Permite que versiones/lanzamientos anteriores sean extracted para pruebas.
Auditorías de configuración y Revistas
Las auditorías de configuración de software verifican que todo el producto de software satisfaga las necesidades básicas. Garantiza que lo que se construye es lo que se entrega.
Actividades durante este proceso:
- La auditoría de configuración la llevan a cabo los auditores verificando que se sigan los procesos definidos y garantizando que se cumplan los objetivos de SCM.
- Para verificar el cumplimiento de las normas de control de configuración, auditar e informar sobre los cambios realizados.
- Las auditorías de SCM también garantizan que tracLa accesibilidad se mantiene durante el proceso.
- Garantiza que los cambios realizados en una línea base cumplan con los informes de estado de la configuración.
- Validación de la exhaustividad y la coherencia.
Participante del proceso SCM
A continuación se presentan los principales participantes en la gestión de la cadena de suministro (SCM):
1. Administrador de configuración
- El gestor de configuración es el responsable de identificar los elementos de configuración.
- CM garantiza que el equipo siga el proceso SCM.
- Debe aprobar o rechazar las solicitudes de cambio.
2. Desarrollador
- El desarrollador debe modificar el código según las prácticas de desarrollo estándar o las solicitudes de cambio. Es responsable de mantener la configuración del código.
- El desarrollador debe revisar los cambios y resolver los conflictos.
3. Auditor
- El auditor es responsable de las auditorías y revisiones del SCM.
- Es necesario garantizar la coherencia y la exhaustividad de la publicación.
4. Gerente de proyecto:
- Asegúrese de que el producto se desarrolle dentro de un plazo determinado.
- Supervisa el progreso del desarrollo e identifica problemas en el proceso de gestión de la cadena de suministro (SCM).
- Generar informes sobre el estado del sistema de software.
- Asegúrese de que se sigan los procesos y las políticas para la creación, modificación y prueba.
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 configuración de software
El proceso SCMP (Planificación de la Gestión de la Configuración del Software) comienza en las primeras fases de codificación de un proyecto. El resultado de la fase de planificación es el plan SCM, que puede modificarse o revisarse durante el 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 que se gestionarán y una convención para nombrarlos. Ejemplo: Test_v1.
- SCMP define la persona que será responsable de todo el proceso SCM y creación de líneas base.
- Corregir las políticas de gestión de versiones y control de cambios.
- Defina las herramientas que se pueden utilizar durante el proceso de gestión de la cadena de suministro (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 concurrencia:
Cuando dos o más tareas se realizan simultáneamente, se habla de operación concurrente. En el contexto de la gestión de configuración de software (SCM), la concurrencia significa que varias personas editan el mismo archivo al mismo tiempo.
Si la concurrencia no se gestiona correctamente con las herramientas SCM, puede crear muchos problemas urgentes.
Control de versiones:
El sistema de control de versiones (SCM) utiliza un método de archivado que guarda cada cambio realizado en un archivo. Gracias a esta función de archivado, es posible revertir a la versión anterior en caso de problemas.
Synchronización:
Los usuarios pueden extraer varios archivos o una copia completa del repositorio. A continuación, trabajan en el archivo que necesitan y guardan los cambios en el repositorio. Pueden sincronizar su copia local para estar al día de las modificaciones realizadas por otros miembros del equipo.
A continuación se presentan algunas herramientas populares:
1. Git: Git es una herramienta gratuita y de código abierto que ayuda al control de versiones. Está diseñado para manejar todo tipo de proyectos con rapidez y eficiencia.
Enlace de descarga: https://git-scm.com/
2. equipo Foundation Servidor: Equipo Foundation es un grupo de herramientas y tecnologías que permiten al equipo colaborar y coordinarse para crear un producto.
Enlace de descarga: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: Se trata de una herramienta de gestión de configuración de software de código abierto. Además de la gestión de configuración, también ofrece implementación de aplicaciones y automatización de tareas.
Enlace de descarga: https://www.ansible.com/


