SlideShare una empresa de Scribd logo
1 de 10
Ing. Angel R. Condori Coaquira
angeldx7@hotmail.com
http://www.juliacasoft.com
Clase Nro. 3
Subversion
• Subversion es un sistema de control de versiones diseñado específicamente
para reemplazar al popular CVS. Es software libre bajo una licencia de
tipo Apache/BSD y se le conoce también como svnpor ser el nombre de la
herramienta utilizada en la línea de comando.
• Una característica importante de Subversion es que, a diferencia de CVS, los
demas archivos con versionamiento no tienen cada uno un número de revisión
independiente, en cambio, todo el repositorio tiene un único número de
versión que identifica un estado común de todos los archivos del repositorio
en un instante determinado del repositoro que se esta trabajando.
• Subversion puede acceder al repositorio a través de redes, lo que le permite
ser usado por personas que se encuentran en distintas computadoras. A cierto
nivel, la posibilidad de que varias personas puedan modificar y administrar el
mismo conjunto de datos desde sus respectivas ubicaciones fomenta la
colaboración. Se puede progresar más rápidamente sin un único conducto por
el cual deban pasar todas las modificaciones. Y puesto que el trabajo se
encuentra bajo el control de versiones, no hay razón para temer por que la
calidad del mismo vaya a verse afectada —si se ha hecho un cambio
incorrecto a los datos, simplemente deshaga ese cambio
Subversion
• Servicios que proporcionan almacenamiento
usando Subversion gratuito para proyectos de
software libre:
– SourceForge
– Google Code
– Project Kenai
– CodePlex
– Forja de Conocimiento Libre de la Comunidad
RedIRIS de RedIRIS
Buenas prácticas de gestión de la
configuración
• Subversion no es un sistema de gestión de la
configuración pero es posible implementar sobre
Subversion buenas prácticas de gestión de la
configuración utilizando la estructura habitual de
Subversion,sin embargo no existe un sistema automático
para obligar a que se cumplan.
• La estructura habitual de un repositorio de Subversion es:
• Trunk: desarrollo principal.
• Tags: ubicación de las versiones congeladas.
• Branches: ubicación con versiones de desarrollo
paralelas al trunk.
Maven
• Maven es una herramienta de software para la
gestión y construcción de proyectos Java creada
por Jason van Zyl, de Sonatype, en 2002. Es
similar en funcionalidad a Apache Ant (y en menor
medida a PEAR de PHP y CPAN de Perl), pero
tiene un modelo de configuración de construcción
más simple, basado en un formato XML. Estuvo
integrado inicialmente dentro del proyecto Jakarta
pero ahora ya es un proyecto de nivel superior de
la Apache Software Foundation.
Maven
• Maven utiliza un Project Object Model (POM) para
describir el proyecto de software a construir, sus
dependencias de otros módulos y componentes
externos, y el orden de construcción de los
elementos. Viene con objetivos predefinidos para
realizar ciertas tareas claramente definidas, como
la compilación del código y su empaquetado.
Maven
• Una característica clave de Maven es que está listo para usar en
red. El motor incluido en su núcleo puede dinámicamente
descargar plugins de un repositorio, el mismo repositorio que
provee acceso a muchas versiones de diferentes proyectos Open
Source en Java, de Apache y otras organizaciones y
desarrolladores. Este repositorio y su sucesor reorganizado, el
repositorio Maven 2, pugnan por ser el mecanismo de facto de
distribución de aplicaciones en Java, pero su adopción ha sido
muy lenta. Maven provee soporte no sólo para obtener archivos
de su repositorio, sino también para subir artefactos al repositorio
al final de la construcción de la aplicación, dejándola al acceso de
todos los usuarios. Una caché local de artefactos actúa como la
primera fuente para sincronizar la salida de los proyectos a un
sistema local.
ANT
• Apache Ant es una herramienta usada en programación
para la realización de tareas mecánicas y repetitivas,
normalmente durante la fase de compilación y construcción
(build). Es, por tanto, un software para procesos
de automatización de compilación.
• Esta herramienta, hecha en el lenguaje de
programación Java, tiene la ventaja de no depender de las
órdenes del shell de cada sistema operativo, sino que se
basa en archivos de configuración XML y clases Java para la
realización de las distintas tareas, siendo idónea como
solución multi-plataforma.
JUnit
• JUnit es un conjunto de bibliotecas creadas por Erich
Gamma y Kent Beck que son utilizadas en programación para
hacer pruebas unitariasde aplicaciones Java.
• JUnit es un conjunto de clases (framework) que permite realizar la
ejecución de clases Java de manera controlada, para poder
evaluar si el funcionamiento de cada uno de los métodos de la
clase se comporta como se espera. Es decir, en función de algún
valor de entrada se evalúa el valor de retorno esperado; si la clase
cumple con la especificación, entonces JUnit devolverá que el
método de la clase pasó exitosamente la prueba; en caso de que
el valor esperado sea diferente al que regresó el método durante
la ejecución, JUnit devolverá un fallo en el método
correspondiente.
JUnit
• El propio framework incluye formas de ver los
resultados (runners) que pueden ser en modo texto,
gráfico (AWT o Swing) o como tarea en Ant.
• En la actualidad las herramientas de desarrollo
como Netbeans y Eclipse cuentan con plug-ins que
permiten que la generación de las plantillas necesarias
para la creación de las pruebas de una clase Java se
realice de manera automática, facilitando al
programador enfocarse en la prueba y el resultado
esperado, y dejando a la herramienta la creación de las
clases que permiten coordinar las pruebas.

Más contenido relacionado

La actualidad más candente

Actividad 4 tipos de datos
Actividad 4 tipos de datosActividad 4 tipos de datos
Actividad 4 tipos de datosMarvinJared26
 
Proyecto agenda
Proyecto agendaProyecto agenda
Proyecto agendajona5650
 
Artículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSEArtículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSEtorrubia
 
Lenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn BrookshearLenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn BrookshearCarlos Escobar
 
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...Diana Patricia Coello Velasquez
 
Libro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadorLibro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadordavidcab
 
Caracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacionCaracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacionDiego Erazo
 
Jaime monsalve-elementos-de-programacion
Jaime monsalve-elementos-de-programacionJaime monsalve-elementos-de-programacion
Jaime monsalve-elementos-de-programaciongiovanni ascencio
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacionXavii Torres
 

La actualidad más candente (20)

J2 e
J2 eJ2 e
J2 e
 
Actividad 4 tipos de datos
Actividad 4 tipos de datosActividad 4 tipos de datos
Actividad 4 tipos de datos
 
Proyecto agenda
Proyecto agendaProyecto agenda
Proyecto agenda
 
Artículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSEArtículo 1 sobre la plataforma ECLIPSE
Artículo 1 sobre la plataforma ECLIPSE
 
Preprocesadores
PreprocesadoresPreprocesadores
Preprocesadores
 
Herramientas
HerramientasHerramientas
Herramientas
 
Mono Develop
Mono DevelopMono Develop
Mono Develop
 
DPSS U3 A2 FDCM
DPSS U3 A2 FDCMDPSS U3 A2 FDCM
DPSS U3 A2 FDCM
 
Lenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn BrookshearLenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn Brookshear
 
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
 
software del sistema
software del sistemasoftware del sistema
software del sistema
 
Plataforma.net
Plataforma.netPlataforma.net
Plataforma.net
 
Libro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programadorLibro 3 presentación tareas y saber del programador
Libro 3 presentación tareas y saber del programador
 
Caracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacionCaracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacion
 
Control de versiones (CVS)
Control de versiones (CVS)Control de versiones (CVS)
Control de versiones (CVS)
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Slickedit grupo#3
Slickedit grupo#3Slickedit grupo#3
Slickedit grupo#3
 
Jaime monsalve-elementos-de-programacion
Jaime monsalve-elementos-de-programacionJaime monsalve-elementos-de-programacion
Jaime monsalve-elementos-de-programacion
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacion
 

Similar a Subversion, control de versiones libre

Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POOsena
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Clase2
Clase2Clase2
Clase2rilara
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con gitEudris Cabrera
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versionesEudris Cabrera
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsBEEVA_es
 

Similar a Subversion, control de versiones libre (20)

Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Subversion
SubversionSubversion
Subversion
 
Subversion
SubversionSubversion
Subversion
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Maven
MavenMaven
Maven
 
Clase2
Clase2Clase2
Clase2
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Control de versiones con git
Control de versiones con gitControl de versiones con git
Control de versiones con git
 
JAVA
JAVAJAVA
JAVA
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Maven
MavenMaven
Maven
 
Net Beans
Net BeansNet Beans
Net Beans
 
Ut
UtUt
Ut
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 

Último

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 

Último (20)

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 

Subversion, control de versiones libre

  • 1. Ing. Angel R. Condori Coaquira angeldx7@hotmail.com http://www.juliacasoft.com Clase Nro. 3
  • 2. Subversion • Subversion es un sistema de control de versiones diseñado específicamente para reemplazar al popular CVS. Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svnpor ser el nombre de la herramienta utilizada en la línea de comando. • Una característica importante de Subversion es que, a diferencia de CVS, los demas archivos con versionamiento no tienen cada uno un número de revisión independiente, en cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en un instante determinado del repositoro que se esta trabajando. • Subversion puede acceder al repositorio a través de redes, lo que le permite ser usado por personas que se encuentran en distintas computadoras. A cierto nivel, la posibilidad de que varias personas puedan modificar y administrar el mismo conjunto de datos desde sus respectivas ubicaciones fomenta la colaboración. Se puede progresar más rápidamente sin un único conducto por el cual deban pasar todas las modificaciones. Y puesto que el trabajo se encuentra bajo el control de versiones, no hay razón para temer por que la calidad del mismo vaya a verse afectada —si se ha hecho un cambio incorrecto a los datos, simplemente deshaga ese cambio
  • 3. Subversion • Servicios que proporcionan almacenamiento usando Subversion gratuito para proyectos de software libre: – SourceForge – Google Code – Project Kenai – CodePlex – Forja de Conocimiento Libre de la Comunidad RedIRIS de RedIRIS
  • 4. Buenas prácticas de gestión de la configuración • Subversion no es un sistema de gestión de la configuración pero es posible implementar sobre Subversion buenas prácticas de gestión de la configuración utilizando la estructura habitual de Subversion,sin embargo no existe un sistema automático para obligar a que se cumplan. • La estructura habitual de un repositorio de Subversion es: • Trunk: desarrollo principal. • Tags: ubicación de las versiones congeladas. • Branches: ubicación con versiones de desarrollo paralelas al trunk.
  • 5. Maven • Maven es una herramienta de software para la gestión y construcción de proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl), pero tiene un modelo de configuración de construcción más simple, basado en un formato XML. Estuvo integrado inicialmente dentro del proyecto Jakarta pero ahora ya es un proyecto de nivel superior de la Apache Software Foundation.
  • 6. Maven • Maven utiliza un Project Object Model (POM) para describir el proyecto de software a construir, sus dependencias de otros módulos y componentes externos, y el orden de construcción de los elementos. Viene con objetivos predefinidos para realizar ciertas tareas claramente definidas, como la compilación del código y su empaquetado.
  • 7. Maven • Una característica clave de Maven es que está listo para usar en red. El motor incluido en su núcleo puede dinámicamente descargar plugins de un repositorio, el mismo repositorio que provee acceso a muchas versiones de diferentes proyectos Open Source en Java, de Apache y otras organizaciones y desarrolladores. Este repositorio y su sucesor reorganizado, el repositorio Maven 2, pugnan por ser el mecanismo de facto de distribución de aplicaciones en Java, pero su adopción ha sido muy lenta. Maven provee soporte no sólo para obtener archivos de su repositorio, sino también para subir artefactos al repositorio al final de la construcción de la aplicación, dejándola al acceso de todos los usuarios. Una caché local de artefactos actúa como la primera fuente para sincronizar la salida de los proyectos a un sistema local.
  • 8. ANT • Apache Ant es una herramienta usada en programación para la realización de tareas mecánicas y repetitivas, normalmente durante la fase de compilación y construcción (build). Es, por tanto, un software para procesos de automatización de compilación. • Esta herramienta, hecha en el lenguaje de programación Java, tiene la ventaja de no depender de las órdenes del shell de cada sistema operativo, sino que se basa en archivos de configuración XML y clases Java para la realización de las distintas tareas, siendo idónea como solución multi-plataforma.
  • 9. JUnit • JUnit es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que son utilizadas en programación para hacer pruebas unitariasde aplicaciones Java. • JUnit es un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. Es decir, en función de algún valor de entrada se evalúa el valor de retorno esperado; si la clase cumple con la especificación, entonces JUnit devolverá que el método de la clase pasó exitosamente la prueba; en caso de que el valor esperado sea diferente al que regresó el método durante la ejecución, JUnit devolverá un fallo en el método correspondiente.
  • 10. JUnit • El propio framework incluye formas de ver los resultados (runners) que pueden ser en modo texto, gráfico (AWT o Swing) o como tarea en Ant. • En la actualidad las herramientas de desarrollo como Netbeans y Eclipse cuentan con plug-ins que permiten que la generación de las plantillas necesarias para la creación de las pruebas de una clase Java se realice de manera automática, facilitando al programador enfocarse en la prueba y el resultado esperado, y dejando a la herramienta la creación de las clases que permiten coordinar las pruebas.