Professional Documents
Culture Documents
1 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Optimizacin y documentacin.
Caso prctico
Situacin
BK programacin se encuentra desarrollando la aplicacin de gestin
hotelera.
Como parte del proceso de desarrollo surgen una serie de problemas:
hay un cdigo que presenta algunas implementaciones que se pueden
mejorar aplicando refactorizacin, nos encontramos que los miembros
del equipo de desarrollo estn modificando constantemente mtodos o
clases, creando diferentes versiones de las mismas y falta una
documentacin clara y precisa del cdigo.
Ada propone a Juan y a Mara (programadores principales de la
aplicacin) que usen los patrones generales de refactorizacin para
conseguir un cdigo de mejor calidad, ms fcil de entender, ms fcil de probar y con menor
probabilidad de generar errores. Ana va a intentar ayudar a Juan, y Carlos a Mara, pero no
conocen nada de refactorizacin, ni entiende la necesidad de realizar este trabajo "extra".
Como todos los miembros de BK Programacin trabajan sobre los mismo proyectos, Ada debe
coordinar el trabajo de todos ellos, por lo que propone que cada uno de ellos utilice un cliente de
control de versiones, de forma que ella, de manera centralizada, pueda gestionar la
configuracin del software.
Los miembros con menor experiencia, Carlos y Ana, van a ir generando, utilizando herramientas
de documentacin automatizadas, la documentacin de las clases y del cdigo generado por
Juan y Mara.
Ada va a encargarse de la Gestin de Configuraciones del Software, ya que es una labor
fundamental para cualquier jefe de proyecto. Asimismo, debe garantizar que el cdigo generado
por Juan y Mara est refactorizado.
29/06/2013 13:49
ED04_Contenidos
2 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
1.- Refactorizacin.
Caso prctico
Gran parte de las clases, mtodos y mdulos que forman
parte de la aplicacin de Gestin Hotelera han sido
implementados, surge ahora una pregunta. Podemos
mejorar la estructura del cdigo y que sea de mayor calidad,
sin que cambie su comportamiento? Cmo hacerlo? Qu
patrones hay que seguir?
Para saber ms
Puedes visitar la siguiente pgina web (en ingls), donde se presenta el proceso de
refactorizacin de aplicaciones Java con Netbeans.
Refactorizacin en Netbeans.
29/06/2013 13:49
ED04_Contenidos
3 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
1.1.- Concepto.
Caso prctico
Juan va a empezar a refactorizar parte del cdigo que ha
generado. Ana no sabe que es refactorizar, as que Juan le
va a explicar las bases del proceso de refactorizacin.
Reflexiona
Con la refactorizacin de cdigo, estamos modificando un cdigo que funciona correctamente,
merece la pena el esfuerzo de refactorizar un cdigo ya implementado?
Merece la pena, por que el cdigo que se consigue suele ser ms fcil de entender por otros
programadores y programadoras, y por tanto, ms fcil de mantener. Adems, en muchos
casos, se mejora la eficiencia del programa.
29/06/2013 13:49
ED04_Contenidos
4 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
1.2.- Limitaciones.
Caso prctico
Ana se muestra muy interesada por conocer esta tcnicas
avanzadas se programacin, sin embargo Juan le pone los
pies en el suelo, explicndole que son tcnicas con muchas
limitaciones y poca documentacin en la que basarse.
La refactorizacin es un tcnica lo suficientemente novedosa para conocer cules son los beneficios que
aporta, pero falta experiencia para conocer el alcance total de sus limitaciones. Se ha constatado que la
refactorizacin presente problemas en algunos aspectos del desarrollo.
Un rea problemtica de la refactorizacin son las bases de datos. Una base de datos presenta muchas
dificultades para poder ser modificada, dado la gran cantidad de interdependencias que soporta. Cualquier
modificacin que se requiera de las bases de datos, incluyendo modificacin de esquema y migracin de
datos, puede ser una tarea muy costosa. Es por ello que la refactorizacin de una aplicacin asociada a una
base de datos, siempre ser limitada, ya que la aplicacin depender del diseo de la base de datos.
interfaces. Cuando refactorizamos, estamos modificando la
Otra limitacin, es cuando cambiamos
estructura interna de un programa o de un mtodo. El cambio interno no afecta al comportamiento ni a la
interfaz. Sin embargo, si renombramos un mtodo, hay que cambiar todas las referencias que se hacen a
l. Siempre que se hace esto se genera un problema si es una interfaz pblica. Una solucin es mantener
las dos interfaces, la nueva y la vieja, ya que si es utilizada por otro clase o parte del proyecto, no podr
referenciarla.
Hay determinados cambios en el diseo que son difciles de refactorizar. Es muy difcil refactorizar cuando
hay un error de diseo o no es recomendable refactorizar, cuando la estructura a modificar es de vital
importancia en el diseo de la aplicacin.
Hay ocasiones en las que no debera refactorizar en absoluto. Nos podemos encontrar con un cdigo que,
aunque se puede refactorizar, sera ms fcil reescribirlo desde el principio. Si un cdigo no funciona, no se
refactoriza, se reescribe.
Autoevaluacin
La refactorizacin:
Se utiliza como tcnica complementaria de realizacin de pruebas.
Genera un cdigo ms difcil de entender y de mantener.
Utiliza una serie de patrones, de aplicacin sobre el cdigo fuente.
Es una tcnica de programacin no recogida por los entornos de desarrollo.
Muy bien. Esa es la idea.
29/06/2013 13:49
ED04_Contenidos
5 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
A pesar de la poca documentacin y lo novedoso de la
tcnica, Juan le ensea a Ana algunos de los patrones ms
habituales de refactorizacin, que vienen ya integrados en la
mayora de los entornos de desarrollos ms extendidos en el
mercado.
29/06/2013 13:49
ED04_Contenidos
6 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Mara se va a centrar el el uso de analizadores de cdigo con
la ayuda de Carlos. Carlos no sabe lo que son los
analizadores de cdigo ni para qu sirven.
El anlisis esttico de cdigo, es un proceso que tiene como objetivo, evaluar el software, sin llegar a
ejecutarlo. Esta tcnica se va a aplicar directamente sobre el cdigo fuente, para poder obtener informacin
que nos permita mejorar la base de cdigo, pero sin que se modifique la semntica.
Los analizadores de cdigo, son las herramientas encargadas de realizar esta labor. El analizador esttico
de cdigo recibir el cdigo fuente de nuestro programa, lo procesar intentando averiguar la funcionalidad
del mismo, y nos dar sugerencias, o nos mostrar posibles mejoras.
Los analizadores de cdigo incluyen analizadores lxicos y sintcticos que procesan el cdigo fuente y de
un conjunto de reglas que se deben aplicar sobre determinadas estructuras. Si el analizador considera que
nuestro cdigo fuente tiene una estructura mejorable, nos lo indicar y tambin nos comunicar la mejora a
realizar.
Las principales funciones de los analizadores es encontrar partes del cdigo que puedan reducir el
rendimiento, provocar errores en el software, tener una excesiva complejidad, complicar el flujo de datos,
crear problemas de seguridad.
El anlisis puede ser automtico o manual. El automtico, los va a realizar un programa, que puede formar
parte de la funcionalidad de un entorno de desarrollo, por ejemplo el FindBugs en Netbeans, o manual,
cuando es una persona.
El anlisis automtico reduce la complejidad para detectar problemas de base en el cdigo, ya que los
busca siguiendo una serie de reglas predefinidas. El anlisis manual, se centra en apartados de nuestra
propia aplicacin, como comprobar que la arquitectura de nuestro software es correcta.
Tomando como base el lenguaje de programacin Java, nos encontramos en el mercado un conjunto de
analizadores disponibles:
PMD. Esta herramienta basa su funcionamiento en detectar patrones, que son posibles errores en tiempo
de ejecucin, cdigo que no se puede ejecutar nunca porque no se puede llegar a l, cdigo que puede ser
optimizado, expresiones lgicas que pueden ser simplificadas, malos usos del lenguaje, etc.
CPD. Forma parte del PMD. Su funcin es encontrar cdigo duplicado.
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
1.4.1.- Uso.
Los analizadores de cdigo esttico, se suelen integrar en los Entornos de Desarrollo, aunque en algunos
casos, hay que instalarlos como
plug-in, tras instalar el IDE. En el caso de Netbeans 6.9.1, vamos a
instalar el plug-in para PMD. Para ello lo descargamos de sourceforge. Se descomprime el plug-in para
Netbeans y se aade a los complementos de nuestro entorno de desarrollo. Para ello podemos utilizar el
siguiente enlace:
Descarga de PMD.
Como se indic en el apartado anterior, PMD es un analizador de cdigo esttico, capaz de detectar
automticamente un amplio rango de defectos y de inseguridades en el cdigo. PMD se centra en detectar
defectos de forma preventiva.
Una vez que tenemos desarrollado nuestro cdigo, si queremos analizarlo con PMD, y obtener el informe
del anlisis, pulsamos el botn derecho del ratn sobre el directorio que contiene los ficheros de cdigo, en
la vista de proyectos y elegimos: Herramientas - Ejecutar PMD.
Mientras se analiza el cdigo, el plug-in mostrar una barra de progreso en la esquina inferior derecha. El
informe producido contiene la localizacin, el nombre de la regla que no se cumple y la recomendacin de
cmo se resuelve el problema.
El informe PMD, nos permite navegar por el fichero de clases y en la lnea donde se ha detectado el
problema. En el nmero de lnea, veremos una marca PMD. Si se posiciona el ratn encima de ella,
veremos un tooltip con la descripcin del error.
7 de 36
29/06/2013 13:49
ED04_Contenidos
8 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
1.4.2.- Configuracin.
La configuracin de los analizadores de cdigo, nos va a permitir definir nuestras propias reglas,
aadindolas a las que el analizador nos proporciona por defecto.
En el caso del analizador de cdigo PMD, lo primero que vamos a hacer, es conocer las reglas que son
aplicables. Elegimos las reglas que son aplicables accediendo a Herramientas - Opciones - Varios - PMD
Enable Scan habilita el escaneado automtico del proyecto, a intervalos regulares. Si pulsamos en Manage
Rules nos iremos a un cuadro de dilogo que nos permitir activar o desactivar reglas especficas.
Si seleccionamos el nombre de una regla, podemos ver una descripcin del problema y un ejemplo de
aplicacin.
Si lo que queremos es introducir nuestras propias reglas, hacemos clic sobre Manage Rulesets. Se
nos mostrar una nuevo formulario donde podemos importar un fichero
XML o
JAR con reglas.
Para crear ficheros XML con conjuntos de reglas, podemos obtener informacin en la siguiente pgina web.
Creacin de reglas para PMD, en ingls.
29/06/2013 13:49
ED04_Contenidos
9 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Juan ayudado por Ana, se ha dedicado a refactorizar
algunas partes del cdigo que haba diseado. Al modificar
el cdigo diseado, se encuentra en al necesidad de realizar
pruebas de nuevo.
29/06/2013 13:49
ED04_Contenidos
10 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Ana ya conoce los principios y patrones bsico de
refactorizacin, ahora Juan le va a ensear las herramientas
de Netbeans para refactorizar de forma automtica y
sencilla, cdigo Java.
Autoevaluacin
Cul no es un patrn de refactorizacin?
Eliminar parmetros de un mtodo.
Renombrado.
Sustitucin de un bloque de sentencias por un mtodo.
Mover clase.
Correcta. Al eliminar parmetros de un mtodo, podra cambiar el comportamiento del
mtodo.
29/06/2013 13:49
ED04_Contenidos
11 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Juan y Mara estn implementando la mayor parte de la
aplicacin. Continuamente est modificando el cdigo
generado, bien para mejorar algunos aspecto, o por qu han
refactorizado. Hay diferentes versiones de una misma clase,
de un mismo mtodo. Qu ocurre si se borra
accidentalmente algn fichero? Qu pasa si Mara modifica
una clase que necesita Juan?
Para gestionar las distintas versiones que se van generando durante el desarrollo de una
aplicacin, los IDE, proporcionan herramientas de Control de Versiones y facilitan el
desarrollo en equipo de aplicaciones.
29/06/2013 13:49
ED04_Contenidos
12 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Para Ana el concepto de control de versiones le resulta muy
abstracto. Juan va a intentar explicarle como funciona el
mecanismo de control de versiones, tomando como ejemplo
una herramienta que l conoce: CVS.
29/06/2013 13:49
ED04_Contenidos
13 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
29/06/2013 13:49
ED04_Contenidos
14 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
2.2.- Repositorio.
Caso prctico
Juan le ha explicado a Ana la los fundamentos del control de
versiones, pero quiere profundizar ms en el concepto de
repositorio, ya que para l es la parte fundamental del
control de versiones.
Autoevaluacin
Qu afirmacin sobre control de versiones es correcta?
Solo puede existir una nica versin de una clase.
El almacenamiento de versiones es local a cada mquina.
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
15 de 36
29/06/2013 13:49
ED04_Contenidos
16 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Mara quiere que Carlos conozca las herramientas de
control de versiones que integra Netbeans, ya que es el
Entorno que utilizan para su desarrollo. Dado que estamos
utilizando un Entorno de Desarrollo Integrado, Carlos debe
conocer las herramientas que incorpora Netbeans.
29/06/2013 13:49
ED04_Contenidos
17 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Autoevaluacin
Qu herramienta no es una herramienta de Control de Versiones?
Subversion.
CVS.
Mercurial.
PMD.
Correcta. PMD es un analizador de cdigo.
29/06/2013 13:49
ED04_Contenidos
18 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
El equipo de desarrollo de BK Programacin decide reunirse
para planificar la gestin de configuraciones, ya que la
aplicacin de Gestin Hotelera es amplia y compleja, y
continuamente se estn diseando nuevos mdulos, clases o
mtodos.
29/06/2013 13:49
ED04_Contenidos
19 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Para gestionar el control de versiones de forma centralizada, Ada va a
supervisar los cambios de versin que el equipo de Juan y de Mara
estn efectuando de forma independiente. Ada va a realizar una gestin
del cambio centralizada y organizada.
Autoevaluacin
Cul de las siguientes no es una tarea bsica de la Gestin de Configuraciones del
Software?
Control de cambios.
Generacin de informes.
Auditoras de configuraciones.
29/06/2013 13:49
ED04_Contenidos
20 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
29/06/2013 13:49
ED04_Contenidos
21 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Mara ha desarrollado varias versiones del mdulo de
reservas de la aplicacin de Gestin Hotelera. Le explica a
Carlos como ha sido la evolucin de cada versin del
mdulo, desde la primera versin, hasta la versin actual,
que ella cree definitiva.
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
para el funcionamiento del sistema, un programa de instalacin para instalar el sistema en el hardware de
destino, documentacin electrnica y en papel, y, el embalaje y publicidad asociados, diseados para esta
entrega Actualmente los sistemas se entregan en discos pticos (CD o DVD) o como archivos de instalacin
descargables desde la red.
22 de 36
29/06/2013 13:49
ED04_Contenidos
23 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Ada decide utilizar herramientas CASE, de cdigo abierto, para la
gestin de configuraciones. Decide utilizar Bugzilla, ya que puede
integrarse con Netbeans.
29/06/2013 13:49
ED04_Contenidos
24 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Autoevaluacin
La Gestin de Configuraciones:
Verifica la evolucin de la implementacin de una clase.
Es una tarea que se puede gestionar con herramientas de Control de Versiones.
Es un conjunto de actividades desarrolladas para gestionar los cambios a lo largo del ciclo
de vida del software.
Muy bien.
29/06/2013 13:49
ED04_Contenidos
25 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Juan le va a ensear a Ana los clientes de control de
versiones que hay en Netbeans, para que aprenda a utilizarlos
e integrarlos en los proyectos que realice de ahora en
adelante.
Los entornos de desarrollo actuales integran de forma generalizada, clientes de control de versiones. En
algunos caso, como puede ser el IDE Microsoft Visual Studio, se utiliza Visual Studio Team Foundation, de
tal forma, que se realiza una gestin centralizada de un proyecto desarrollado por un equipo, incluyendo la
gestin de configuraciones de software, la gestin de versiones, y dems aspectos de un desarrollo en
equipo.
Los entorno de desarrollo Open-Source, como Eclipse y Netbeans, los integran de manera directa, o bien
instalndolos como plug-in (complementos). Los clientes de control de versiones ms destacados son:
CVS.
Subversion.
Mercurial.
Debes conocer
Debes leer el siguiente documento para conocer las herramientas de control de versiones de
Netbeans.
Clientes de Control de Versiones en Netbeans
Tambin debes visitar el siguiente enlace donde se puede ver la gua de uso de subversin en
Netbeans. Est en ingls pero es conveniente que le eches un vistazo para conocer cmo
funciona Subversion.
Gua de uso de Subversion en Netbeans.
Autoevaluacin
Qu cliente de Gestin de Versiones no incorpora Netbeans?
VS Team Foundation.
CVS.
Mercurial.
Muy bien. Visual Studio Team Foundation, est diseada para el trabajo colaborativo y
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
26 de 36
29/06/2013 13:49
ED04_Contenidos
27 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
3.- Documentacin.
Caso prctico
Juan y Mara saben de la importancia de tener documentado
el cdigo y todo el proceso de desarrollo de software. Al
mismo tiempo que codifican y refactorizan, dejan constancia
documental de lo que van haciendo. Como estn
desarrollando con Netbeans, y con el objetivo de facilitar su
trabajo de documentacin, van a utilizar JavaDoc. Ana y
Antonio consiguen entender el funcionamiento de la
aplicacin, y la funcin de cada mtodo, gracias a los
comentarios que insertan en el cdigo los dos programadores
principales.
Para saber ms
El siguiente enlace nos muestra el estilo de programacin a seguir en Java, as como la forma de
documentar y realizar comentarios de un cdigo. (En ingls)
Documentacin y comentarios en Java
29/06/2013 13:49
ED04_Contenidos
28 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Carlos est aprendiendo muchas cosas con Mara. Sin
embargo hay algunos mtodos y clases que ha implementado
Mara, y que no logra entender. Mara le comenta que va a
incluir comentarios en su cdigo, y le va a ensear la forma
correcta de hacerlo.
29/06/2013 13:49
ED04_Contenidos
29 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
3.2.- Alternativas.
Caso prctico
Juan le explica a Mara, que para documentar el software,
existen diferentes formas de hacerlo y distintas herramientas
en el mercado que automatizan la tarea de documentacin.
Autoevaluacin
Un comentario en formato JavaDoc.
Utiliza los caracteres //
Comienzan con /* y termina por */
Comienza por /** y terminan por */
Muy bien. Es la manera de comenzar y termina un comentario con JavaDoc.
29/06/2013 13:49
ED04_Contenidos
30 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Caso prctico
Juan va a utilizar JavaDoc para documentar las clases que ha
desarrollado. Ana se da cuenta de la ayuda tan importante
que ofrece, tanto para el futuro mantenimiento de la aplicacin
como para entender su funcionamiento, tener documentadas
las clases.
29/06/2013 13:49
ED04_Contenidos
31 de 36
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
3.4.- Herramientas.
Caso prctico
Para documentar el cdigo, el equipo de desarrollo de BK
Programacin, ha decidido utilizar JavaDoc, por lo que todos
los componentes del equipo de desarrollo, debe
familiarizarse con la herramienta.
Tags ms habituales.
Tipo de tag
Formato
Descripcin
Todos.
@see.
Clases.
@version.
Clases.
@author.
Clases.
@since.
Mtodos.
@param.
Mtodos.
@return.
Mtodos.
@throws.
Mtodos.
@deprecated.
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
ext
local
fork
Descripcin
Contrasea
remoto.
de
Ejemplo
servidor
:pserser:username@hotsname:/repository_path
:ext:username@hostname:/repository_path
:local:/repository_path
(requiere un CVS externo ejecutable)
:fork:/repository_path
(requiere un CVS externo ejecutable)
3. En el panel de Mdulos a extraer del asistente, especificamos el mdulo que queremos extraer, en el
campo Mdulo. Si no sabemos el nombre del mdulo, podemos extraerlo haciendo clic en el botn
Examinar. Si lo que queremos es conectar a un repositorio remoto desde el IDE, debemos extraer los
ficheros e inmediatamente trabajar con ellos, se hace de la siguiente forma:
4. En el campo de texto, ponemos el nombre del Mdulo que queremos extraer. Podemos usar el botn
Examinar, para buscar aquellos mdulos disponibles.
5. En el campo Carpeta local, pondremos la ruta de nuestro ordenador donde queremos extraer los
archivos. Pulsaremos el botn Terminar para que el proceso comience.
Importar archivos hacia un repositorio.
Alternativamente, podemos importar un proyecto en el que estemos trabajando en el IDE hacia un
repositorio remoto, seguiremos trabajando en el IDE despus de que haya sido versionado con el
repositorio CVS.
Para importar un proyecto a un repositorio:
1. Desde la ventana de proyectos, seleccionamos un proyecto que no este versionado, y elegimos
Equipo - CVS - Importar al depsito. Se abrir el asistente de importacin CVS.
2. En el panel Raz CVS del asistente, se especifica la localizacin del repositorio definido como
CVSROOT . Dependiendo del mtodo usado, necesitaremos utilizar ms informacin, como la
contrasea o configuracin del proxy, para conectarnos a un repositorio remoto.
3. En Carpeta a importar, se especifica el directorio local donde queremos colocar el repositorio.
32 de 36
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
4. En el rea de texto Importar mensaje, pondremos una descripcin del proyecto que estamos
importando.
5. Se especifica la localizacin del repositorio donde queremos importar el proyecto, escribiendo la ruta
en Carpeta del depsito. De forma alternativa, se puede hacer clic en el botn Examinar para ir a
una localizacin especifica en el repositorio. Al hacer clic en el botn Terminar se inicia la
importacin. El IDE copiara los ficheros del proyecto en el repositorio.
33 de 36
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
CVS
En el caso del IDE NetBeans, es importante su uso para mantener de forma segura, tanto los programas
como las pruebas, en un repositorio de cdigo. La configuracin de CVS puede suponer unos cinco
minutos, que dentro del tiempo de desarrollo de una aplicacin, es un tiempo despreciable. Sin embargo, el
uso de CVS en NetBeans, nos va a gestionar las distintas versiones del cdigo que se desarrollen y nos va
a evitar prdidas de datos y de cdigo.
Para utilizar CVS, es necesario la instalacin de un cliente CVS, sin embargo, NetBeans nos va a evitar
esta instalacin, ya que incorpora un cliente CVS en Java.
CVS se puede utilizar con NetBeans de tres formas:
1. Desde la lnea de comando CVS, donde se escribirn los comandos CVS y de esta forma se
interactuar con el repositorio.
2. Si CVS est incorporado a NetBeans, dispondremos de un conjunto de clases Java que imitan los
comandos clsicos de CVS.
3. Con frmulas de lnea de comandos CVS genricas basadas en plantillas proporcionadas por el
usuario, que son pasadas al shell del sistema operativo.
En los casos anteriores, donde se utilizan plantillas, las plantillas estn parametrizadas, con la lgica
NetBeans, que sustituye los operadores CVS por variables. Esto quiere decir, que NetBeans se va a
encargar de decidir el nombre de los ficheros, que datos se importan o exportan del repositorio, sin que el
usuario deba conocer toda la lgica interna de CVS. Nos evitamos tener que conocer todos los parmetros
y opciones necesarias para realizar las operaciones con CVS.
SUBVERSION
Subversion es un sistema de control de versiones de software libre, que se ha convertido en el sustituto
natural de CVS. A diferencia de CVS, los archivos que se versionan no tienen un nmero de versin
independiente, todo el repositorio tiene un nico nmero de versin que identifica un estado comn de
todos los archivos del repositorio en un instante determinado.
Subversion puede acceder al repositorio a travs de redes. Esto implica que varias personas pueden
acceder, modificar y administrar el mismo conjunto de datos, con lo que se va a fomentar la colaboracin.
Se puede progresar ms rpidamente 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 se compromete la
calidad del software que se desarrolla.
Recuerda visitar la gua de Subversion que te sugerimos en la unidad de trabajo.
MERCURIAL
Mercurial es un sistema de control de versiones que utiliza sobre todo la lnea de comandos. Todas las
operaciones de Mercurial se invocan como opciones dadas a su motor hg. Las principales metas de
Mercurial incluyen un gran rendimiento y escalabilidad, desarrollo completamente distribuido, sin necesidad
34 de 36
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
35 de 36
29/06/2013 13:49
ED04_Contenidos
http://catedu.es/fpmoodle/file.php/105/ED04/ED04_Web/index.html
Recurso (2)
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora: Gnome.org.
Licencia: GNU.
Procedencia: Captura de
pantalla de gnome.org.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
Autora:
Oracle
Corporation.
Licencia: Copyright cita.
Procedencia: Captura de
pantalla de Netbeans.
36 de 36
29/06/2013 13:49