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

PPTX
LP II clase04 - Reportes
PPTX
Lp II clase01 - Desarrollo de software con RUP
PPTX
Lp II clase02 - Modelo Vista Controlador
PPTX
LP II clase05 - SCRUM
PPTX
SlickEdit, Historia, Características más relevantes
PPTX
Ventajas y desventajas de visual studio
PPT
Mejores a nuestros proyectos de Software
LP II clase04 - Reportes
Lp II clase01 - Desarrollo de software con RUP
Lp II clase02 - Modelo Vista Controlador
LP II clase05 - SCRUM
SlickEdit, Historia, Características más relevantes
Ventajas y desventajas de visual studio
Mejores a nuestros proyectos de Software

La actualidad más candente (20)

PPTX
J2 e
DOCX
Actividad 4 tipos de datos
PPTX
Proyecto agenda
PDF
Artículo 1 sobre la plataforma ECLIPSE
PDF
Preprocesadores
PPTX
Herramientas
PDF
Mono Develop
PPTX
DPSS U3 A2 FDCM
PPTX
Lenguajes de programacion. Segun Glenn Brookshear
PPTX
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
PPT
software del sistema
PPTX
Plataforma.net
PDF
Libro 3 presentación tareas y saber del programador
PDF
Caracteristicas mas especificas de algunos lenguajes de programacion
PDF
Control de versiones (CVS)
DOCX
Lenguaje c++
PPTX
Slickedit grupo#3
PPTX
Jaime monsalve-elementos-de-programacion
PPTX
Conociendo Nuestro Fua interno
PPTX
Lenguajes programacion
J2 e
Actividad 4 tipos de datos
Proyecto agenda
Artículo 1 sobre la plataforma ECLIPSE
Preprocesadores
Herramientas
Mono Develop
DPSS U3 A2 FDCM
Lenguajes de programacion. Segun Glenn Brookshear
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
software del sistema
Plataforma.net
Libro 3 presentación tareas y saber del programador
Caracteristicas mas especificas de algunos lenguajes de programacion
Control de versiones (CVS)
Lenguaje c++
Slickedit grupo#3
Jaime monsalve-elementos-de-programacion
Conociendo Nuestro Fua interno
Lenguajes programacion
Publicidad

Similar a Lp II clase03 - Entornos de Desarrollo (20)

PDF
Desarrollo.de.aplicaciones.con.java
PPTX
Maven Overview
DOCX
Aprendiendo Java SCF
PPTX
Mi lenguaje de programación de preferencia
PPTX
Lenguaje Java
PPT
Subversion
PPTX
Subversion
PDF
Conceptos Fundamentales de POO
PPTX
Desarrollo de aplicaciones en la nube
PPT
Introduccion Java.ppt
PPTX
PPT
Clase2
PPT
Introduccion a Java
PPTX
Clase 05 Tipos de accesos y listas de objetos.pptx
PDF
Control de versiones con git
PPT
JAVA
PDF
[ES] Sistemas de control de versiones
PDF
PDF
Net Beans
DOCX
Desarrollo.de.aplicaciones.con.java
Maven Overview
Aprendiendo Java SCF
Mi lenguaje de programación de preferencia
Lenguaje Java
Subversion
Subversion
Conceptos Fundamentales de POO
Desarrollo de aplicaciones en la nube
Introduccion Java.ppt
Clase2
Introduccion a Java
Clase 05 Tipos de accesos y listas de objetos.pptx
Control de versiones con git
JAVA
[ES] Sistemas de control de versiones
Net Beans
Publicidad

Último (20)

PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PPTX
Welcome to the 7th Science Class 2025-2026 Online.pptx
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Doctrina 1 Soteriologuia y sus diferente
Atencion prenatal. Ginecologia y obsetricia
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Welcome to the 7th Science Class 2025-2026 Online.pptx
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PLAN DE CASTELLANO 2021 actualizado a la normativa
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf

Lp II clase03 - Entornos de Desarrollo

  • 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.