SlideShare una empresa de Scribd logo
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á.

Más contenido relacionado

La actualidad más candente

Desarrollo de prototipos en Introduccion al analisis y diseño de sistemas
Desarrollo de prototipos en Introduccion al analisis y diseño de sistemasDesarrollo de prototipos en Introduccion al analisis y diseño de sistemas
Desarrollo de prototipos en Introduccion al analisis y diseño de sistemas
Carlos Antonio Hernandez
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de Datos
Manuel Guerra
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
dalilaramontello
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
Barklyn Lsla
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasgrupo niche ortega
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETLa Red DBAccess
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
Rosa Virginia Ortega Loaiza
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
katherine revelo gomez
 
Control de versiones (CVS)
Control de versiones (CVS)Control de versiones (CVS)
Control de versiones (CVS)
Cursando Desarrollo Web
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
Cristian Salazar C.
 
Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datos
myriam sarango
 
Iso 25000
Iso 25000Iso 25000
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)
Ronald Rivas
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
StudentPc
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciònomarzon
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistema
Israel Rey
 
Metodología Clásica
Metodología ClásicaMetodología Clásica
Metodología Clásica
Valentina Contreras
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del software
Maricela Ramirez
 
Métricas
MétricasMétricas
Métricas
nelcat07
 

La actualidad más candente (20)

Desarrollo de prototipos en Introduccion al analisis y diseño de sistemas
Desarrollo de prototipos en Introduccion al analisis y diseño de sistemasDesarrollo de prototipos en Introduccion al analisis y diseño de sistemas
Desarrollo de prototipos en Introduccion al analisis y diseño de sistemas
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de Datos
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NET
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Control de versiones (CVS)
Control de versiones (CVS)Control de versiones (CVS)
Control de versiones (CVS)
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datos
 
Iso 25000
Iso 25000Iso 25000
Iso 25000
 
Estudio de factibilidad técnica (enfoque informático)
Estudio de factibilidad técnica  (enfoque informático)Estudio de factibilidad técnica  (enfoque informático)
Estudio de factibilidad técnica (enfoque informático)
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistema
 
Metodología Clásica
Metodología ClásicaMetodología Clásica
Metodología Clásica
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del software
 
Métricas
MétricasMétricas
Métricas
 

Similar a Versionamiento de software

Fases para desarrollo de un software
Fases para desarrollo de un softwareFases para desarrollo de un software
Fases para desarrollo de un software
Jhonja1992
 
Auditoria de código de aplicaciones
Auditoria de código de aplicacionesAuditoria de código de aplicaciones
Auditoria de código de aplicacionesDmostajo
 
El software
El softwareEl software
El software
Cesar Santiago
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
Diogenes Gomez Santana
 
Software 1
Software 1Software 1
Software 1
Jose Beltre
 
Software
SoftwareSoftware
Software
brayan quispe
 
Software
SoftwareSoftware
Software
victor_h18
 
Software
SoftwareSoftware
Software
NASH Salas
 
Dpss u3 a2_ocov
Dpss u3 a2_ocovDpss u3 a2_ocov
Dpss u3 a2_ocov
Nicolay Stojakovic
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programa
Beydasanchezhernandez
 
Tarea 3 software
Tarea 3   softwareTarea 3   software
Tarea 3 software
Jose Frías
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftwareElidaDasta
 
Sofware
SofwareSofware
Sofware
Julio Ortiz
 
Software
SoftwareSoftware
Software
Angel Moises C
 
Software
SoftwareSoftware
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego
 
Software
SoftwareSoftware
Software
alexdino0416
 
Software
SoftwareSoftware

Similar a Versionamiento de software (20)

Fases para desarrollo de un software
Fases para desarrollo de un softwareFases para desarrollo de un software
Fases para desarrollo de un software
 
Auditoria de código de aplicaciones
Auditoria de código de aplicacionesAuditoria de código de aplicaciones
Auditoria de código de aplicaciones
 
El software
El softwareEl software
El software
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
 
Software 1
Software 1Software 1
Software 1
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
Dpss u3 a2_ocov
Dpss u3 a2_ocovDpss u3 a2_ocov
Dpss u3 a2_ocov
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programa
 
Tarea 3 software
Tarea 3   softwareTarea 3   software
Tarea 3 software
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftware
 
Sofware
SofwareSofware
Sofware
 
Juancho
JuanchoJuancho
Juancho
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 

Más de Erick Aguila Martínez

Compilado de signos vitales.pdf
Compilado de signos vitales.pdfCompilado de signos vitales.pdf
Compilado de signos vitales.pdf
Erick Aguila Martínez
 
OPQRST.pdf
OPQRST.pdfOPQRST.pdf
SAMPLE.pdf
SAMPLE.pdfSAMPLE.pdf
Componentes android
Componentes androidComponentes android
Componentes android
Erick Aguila Martínez
 
Test driven development
Test driven developmentTest driven development
Test driven development
Erick Aguila Martínez
 
Notificaciones android
Notificaciones androidNotificaciones android
Notificaciones android
Erick Aguila Martínez
 
Machine learning
Machine learningMachine learning
Machine learning
Erick Aguila Martínez
 
Marco de trabajo scrum
Marco de trabajo scrumMarco de trabajo scrum
Marco de trabajo scrum
Erick Aguila Martínez
 
Android mvp
Android mvpAndroid mvp
¿Qué es una interface en java?
¿Qué es una interface en java?¿Qué es una interface en java?
¿Qué es una interface en java?
Erick Aguila Martínez
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
Erick Aguila Martínez
 
Cadena de valor
Cadena de valorCadena de valor
Cadena de valor
Erick Aguila Martínez
 
Manual replicación transaccional
Manual replicación transaccionalManual replicación transaccional
Manual replicación transaccional
Erick Aguila Martínez
 
Manual replicación instantanea
Manual replicación instantaneaManual replicación instantanea
Manual replicación instantanea
Erick Aguila Martínez
 
Manual de fragmentación vertical
Manual de fragmentación vertical Manual de fragmentación vertical
Manual de fragmentación vertical
Erick Aguila Martínez
 
Manual de fragmentación mixta
Manual de fragmentación mixtaManual de fragmentación mixta
Manual de fragmentación mixta
Erick Aguila Martínez
 
Manual de fragmentación horizontal
Manual de fragmentación horizontalManual de fragmentación horizontal
Manual de fragmentación horizontal
Erick Aguila Martínez
 
Ecuaciones diferenciales
Ecuaciones diferencialesEcuaciones diferenciales
Ecuaciones diferenciales
Erick Aguila Martínez
 
Mitigando ataques espias
Mitigando ataques espiasMitigando ataques espias
Mitigando ataques espias
Erick Aguila Martínez
 
Curso de Motivación
Curso de MotivaciónCurso de Motivación
Curso de Motivación
Erick Aguila Martínez
 

Más de Erick Aguila Martínez (20)

Compilado de signos vitales.pdf
Compilado de signos vitales.pdfCompilado de signos vitales.pdf
Compilado de signos vitales.pdf
 
OPQRST.pdf
OPQRST.pdfOPQRST.pdf
OPQRST.pdf
 
SAMPLE.pdf
SAMPLE.pdfSAMPLE.pdf
SAMPLE.pdf
 
Componentes android
Componentes androidComponentes android
Componentes android
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Notificaciones android
Notificaciones androidNotificaciones android
Notificaciones android
 
Machine learning
Machine learningMachine learning
Machine learning
 
Marco de trabajo scrum
Marco de trabajo scrumMarco de trabajo scrum
Marco de trabajo scrum
 
Android mvp
Android mvpAndroid mvp
Android mvp
 
¿Qué es una interface en java?
¿Qué es una interface en java?¿Qué es una interface en java?
¿Qué es una interface en java?
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Cadena de valor
Cadena de valorCadena de valor
Cadena de valor
 
Manual replicación transaccional
Manual replicación transaccionalManual replicación transaccional
Manual replicación transaccional
 
Manual replicación instantanea
Manual replicación instantaneaManual replicación instantanea
Manual replicación instantanea
 
Manual de fragmentación vertical
Manual de fragmentación vertical Manual de fragmentación vertical
Manual de fragmentación vertical
 
Manual de fragmentación mixta
Manual de fragmentación mixtaManual de fragmentación mixta
Manual de fragmentación mixta
 
Manual de fragmentación horizontal
Manual de fragmentación horizontalManual de fragmentación horizontal
Manual de fragmentación horizontal
 
Ecuaciones diferenciales
Ecuaciones diferencialesEcuaciones diferenciales
Ecuaciones diferenciales
 
Mitigando ataques espias
Mitigando ataques espiasMitigando ataques espias
Mitigando ataques espias
 
Curso de Motivación
Curso de MotivaciónCurso de Motivación
Curso de Motivación
 

Último

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 

Último (6)

Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 

Versionamiento de software

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