Control de Versiones
Escalante Martinez Pedro Antonio
Gestión de Proyectos de Software
Instituto Tecnológico de Nogales
Desarrollo
Un controlador de versiones es un sistema que nos permite guardar un registro de las
modificaciones que realizamos sobre un fichero o conjunto de ficheros a lo largo del tiempo
de tal manera que sea posible recuperar versiones específicas más adelante.
Habitualmente se utiliza en entornos de desarrollo de software, pero puede resultar de gran
utilidad para cualquier persona que necesite un control robusto sobre la tarea que está
realizando.
Un software de control de versiones (VCS) es una valiosa herramienta con numerosos
beneficios para un flujo de trabajo de equipos de software de colaboración. Cualquier
proyecto de software que tenga más de un desarrollador manteniendo archivos de código
fuente debe usar un VCS. Además, los proyectos mantenidos por una sola persona se
beneficiarán enormemente de su uso. Se puede decir que no hay una razón válida para
privarse del uso de un VCS en cualquier proyecto moderno de desarrollo de software.
Características fundamentales
● Resolución de conflictos.
Es muy probable que los miembros del equipo tengan la necesidad de realizar cambios en
el mismo archivo de código fuente al mismo tiempo. Un VCS monitoriza y ayuda a poder
resolver los conflictos entre varios desarrolladores.
● Revertir y deshacer los cambios en el código fuente.
Al empezar a monitorizar un sistema de archivos de códigos fuente, existe la posibilidad de
revertir y deshacer rápidamente a una versión estable conocida.
● Copia de seguridad externa del código fuente.
Se debe crear una instancia remota del VCS que se puede alojar de forma externa con un
tercero de confianza y con ello, se conservará una copia del código fuente.
Herramientas de control de versiones
Git
Es una de las mejores herramientas de control de versiones disponible en el mercado
actual. Es un modelo de repositorio distribuido compatible con sistemas y protocolos
existentes como HTTP, FTP, SSH y es capaz de manejar eficientemente proyectos
pequeños a grandes.
CVS
Es un sistema de control de versiones muy popular. Es un modelo de repositorio
cliente-servidor donde varios desarrolladores pueden trabajar en el mismo proyecto en
paralelo. El cliente CVS mantendrá actualizada la copia de trabajo del archivo y requiere
intervención manual sólo cuando ocurre un conflicto de edición.
Mercurial
Es una herramienta distribuida de control de versiones que está escrita en Python y
destinada a desarrolladores de software. Los sistemas operativos que admite son similares
a Unix, Windows y macOS. Tiene un alto rendimiento y escalabilidad con capacidades
avanzadas de ramificación y fusión y un desarrollo colaborativo totalmente distribuido.
Además, posee una interfaz web integrada.
Calidad del software
Son características propias del software, aquellas que tu quieres controlar y asegurar. El
software es un producto inmaterial que no se fabrica, tampoco se degrada físicamente, pero sí
se desarrolla. El software puede tener errores e incidencias, pero no son similares a las de
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.
El software necesita ser actualizado.
Control de cambios
Está orientado a identificar, documentar y controlar los cambios del proyecto. Se deben
modificar las líneas base que se han visto afectadas por esos cambios ocurridos durante el
proyecto.
Su objetivo es que establezca un método progresivo para identificar y solicitar cambios a las
líneas base del proyecto y para determinar el valor y la eficacia de esos cambios. Otro
objetivo del control integrado de cambios del proyecto es proporcionar oportunidades de
validar y mejorar el proyecto de manera continua.
Conclusión
Todo lo que se puede hacer para crear un repositorio con git, tanto como, añadir archivos,
seguir los cambios de estos y sincronizar los resultados con un repositorio externo. Es
importante ya que permiten gestionar el código de una forma más eficiente y segura que
simplemente guardando estos en el disco duro del ordenador.
El software de las industrias mantienen un control de software, el cual, en mi experiencia,
esto se debe aplicar a todo proyecto. No solo debe ser una herramienta, sino, una cultura
en el software, ya que permite desarrollar más rápido al momento de encontrar errores.
Sin duda Git, es el más reconocido en todo el mercado, gracias a su facilidad de uso y la
implementación en los servidores que manejan los repositorios.
Referencias
García, H. A. M. (2020, 31 octubre). Recuperación de datos cifrados mediante control de
versiones en nube, una alternativa contra el ransomware: Caso de estudio | Advances in
Engineering and Innovation. Advances in Engineering and Innovation.
[Link]
Leal, E. T. (2012, 30 junio). Revisión de los sistemas de control de versiones utilizados en el
desarrollo de software | Ingenierías USBMed. Ingenierías USBMed.
[Link]
Tello, L. E. (2020, 31 octubre). Revisión de los Sistemas de Control de Versiones utilizados
en el desarrollo de software. Dialnet.
[Link]