Introducción breve al versionamiento de software, a grandes razgos se explica el versionamiento y sus variantes así como sus fases en el desarrollo de software.
2. ITI. Erick Aguila Martínez
¿Qué es el versionamiento de software?
El versionamiento de software o semantic versioning es la manera de etiquetar el código de
software en el que se esta trabajando de forma que se puedan identificar los cambios
realizados, tanto por complejidad o compatibilidad.
3. ITI. Erick Aguila Martínez
Nomenclatura o Estándar
Existen distintos tipos de versiones y en algunas aplicaciones utilizan diferentes
nomenclaturas para realizar el versionamiento, para cuestiones de desarrollo se definen 3
tipos de cambios en estándar
•Major: Cambio drástico, este cambio no es compatible con versiones inferiores.
•Minor: Cambio que añade características nuevas al desarrollo y/o modifica funcionalidad
existente, este cambio sigue siendo compatible con código existente.
•Patch: Solución de bugs siendo cambios retro compatibles.
4. ITI. Erick Aguila Martínez
Variantes
Existen también variantes en las nomenclaturas o también llamados sistemas de versionado
Con fechas
• Año.mes: 15.4
• Año.mes.menor: 15.4.2
• Año.mayor.menor: 2015.1.2
Usado en arcades
• Código:Idioma:Mueble:Modificador:AñoMesDíaParche: ABC:S:A:0:2017081501
Desarrollo ágil
• mayor.menor.construcción.parche: 1.0.0.0
En lo personal en mis desarrollos prefiero el uso del versionamiento ágil
5. ITI. Erick Aguila Martínez
Identificador de estabilidad
De igual forma existen identificadores los cuales se pueden añadir a la etiqueta de
versionamiento y sirven para definir la estabilidad o fases del desarrollo de software de la
versión actual.
Alfa
• Primer versión del software, version para pruebas.
•Utilizado comúnmente en algunos equipos de desarrollo para un producto inestable
Beta
• Primer versión completa del software, posiblemente inestable.
•Considerada versión preliminar, se define así por que no se agregarán mas características o
funcionalidad a esta versión solo correcciones.
6. ITI. Erick Aguila Martínez
Versión candidata a definitiva (RC)
•La versión candidata a final para lanzamiento, preparado o listo para ser publicada a menos
que existan errores que lo impidan.
•Fase de producto que implementa todas las funcionalidades.
Versión de disponibilidad general (RTM)
•La versión considerada muy estable y relativamente libre de errores.
•Define que estará publicada próximamente.
Producción o release
•Significa que el producto a sido liberado para su distribución.
Alfa
Beta
RC
7. ITI. Erick Aguila Martínez
Conclusión
Desde mi punto de vista recomiendo adoptar una nomenclatura de versionamiento que se
adapte al tipo de desarrollo de software que se esta realizando.
Las variantes pueden ser usadas ya que para eso existen, de igual manera debes documentar
tus cambios realizados para determinar que tipo de cambio será.