Versionamiento semántico
de software
ITI. Erick Aguila Martínez
V2.1.1.1-beta
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.
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.
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
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.
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
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á.

Versionamiento de software

  • 1.
    Versionamiento semántico de software ITI.Erick Aguila Martínez V2.1.1.1-beta
  • 2.
    ITI. Erick AguilaMartí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 AguilaMartí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 AguilaMartí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 AguilaMartí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 AguilaMartí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 AguilaMartí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á.