/es/sistemas-de-control-de-versiones-scv/media/Git-Logo-619x346.png

Sistemas de Control de Versiones (SCV)

Los Sistemas de Control de Versiones (SCV) son una herramienta fundamental para desarrollar con éxito productos de software.

Afortunadamente, durante mi carrera profesional he podido trabajar con ex ingenieros de la empresa Tibco Software (http://en.wikipedia.org/wiki/Tibco_Software http://www.tibco.com/). Me siento muy agradecido, ya que me han transmitido todos los secretos de los SCV, procesos de control de calidad, procedimientos de release, etc.

Los SCV, como por ejemplo Subversion o Git, tienen un abanico de funcionalidades extremadamente potente. Sin embargo, muchos profesionales del mundo de la informática se limitan a utilizar estos sistemas como “almacenes de código fuente”. El SCV te permite gestionar la evolución de tu programa de una forma perfectamente controlada, de manera que el ciclo de desarrollo ha de incluir esta herramienta como una parte integral del mismo.

Simplificando la metodología para que tenga cabida en este pequeño artículo, voy a describir los pasos que representan el ciclo de desarrollo, integrando el SCV en el núcleo principal:

Nos podemos imaginar que un cliente nos ha solicitado el desarrollo de una funcionalidad, y se ha estimado que necesitaremos aproximadamente un mes de programación para llevar a cabo esta tarea.

Después de haber realizado la especificación y el diseño del software, procederemos a planificar la programación de la funcionalidad que nos han solicitado. En esta etapa, es básico establecer pequeños hitos de programación que sean fáciles de entender y gestionar. La idea es ir desgranando la funcionalidad, hasta poder identificar pequeñas tareas de programación (de, aproximadamente, unas cuatro horas).

En estos momentos, ya podemos atacar una tarea de programación muy bien definida y acotada. Desplegado nuestro escenario, los pasos serían los siguientes:

-En primer lugar, es básico comprobar que nuestra copia de trabajo está perfectamente sincronizada con el repositorio de código fuente.

-Procederemos a realizar la tarea de programación de una forma extremadamente focalizada, ya que sabemos muy bien el área funcional del programa que necesitamos modificar. Como resultado de este paso, se habrán modificado una serie de ficheros en nuestra copia de trabajo. Un aspecto crítico es comprobar que hemos respetado todos los API ( http://en.wikipedia.org/wiki/Api) que hayamos establecido con los demás programadores del equipo (o cualquier otro acuerdo/convenio que sea importante para la integración del sistema).

-A continuación, es necesario verificar con ejecuciones reales que las piezas de software que se han desarrollado son correctas (ejecutando las pruebas unitarias que hayamos habilitado).

-El siguiente paso imprescindible, es comprobar que, efectivamente, los cambios que se han realizado en los ficheros en nuestra copia de trabajo son los esperados. Un error muy común que se produce en este paso es introducir en nuestra copia de trabajo cambios innecesarios que no están vinculados con la funcionalidad que hemos implementado.

La casuística es enorme, pero un caso típico, es mezclar nueva funcionalidad con cambios estéticos de formato en los ficheros. Esto representa un error muy grave, ya que no podremos utilizar el SCV como herramienta para diagnosticar errores contrastando con el histórico del código fuente de nuestro programa. Otro error muy típico, es mezclar en un mismo cambio, desarrollos de software que funcionalmente son independientes. Es decir, cada cambio que introducimos en el repositorio de código fuente ha de ser funcionalmente atómico. Esto permite gestionar correctamente la evolución del software, construyendo un histórico limpio, entendible y bien controlado: como, por ejemplo, http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git .

-Finalmente, procederemos a subir el cambio al repositorio de código fuente, introduciendo un comentario que realmente sintetice los cambios funcionales/técnicos que hemos introducido en el programa.

 

En Stucom, estamos muy ilusionados en proporcionar a los estudiantes la formación más completa posible. Dada la importancia que tienen los SCV en el marco del desarrollo de software, preparamos una práctica multidisciplinar, que cubre los aspectos esenciales de la administración y la programación con Subversion.

Los estudiantes del Ciclo Formativo de Grado Superior de Informática “Desarrollo de Aplicaciones Web” de Stucom han realizado unos video tutoriales excelentes sobre la práctica de Subversion. A continuación, incluyo unos enlaces de YouTube con algunos ejemplos:

Installing and Using Subversion in Amazon Web Services (Realizado por Didac Pascual)

Click encima

Guía para la instalación y configuración de Subversión (Realizado por Jose Vera)

Click encima

Configurar un proyecto con Subversion y Subversive (Realizado por Juan Carlos Pacia)

Click encima

 

Muchas gracias a todos por vuestros magníficos videos!

Procesando la petición. ¡Espera, por favor!