viernes, 13 de noviembre de 2009

Mi trabajo de grado

Hola,

Hace un tiempo abrí el blog pero no había editado ninguna entrada y pues me pongo en eso ahora.

Soy estudiante universitario, y como es común en la vida de un feliz universitario... eventualmente le llega su trabajo de grado y su vida se complica. La ventaja es que con el tiempo te acostumbras y se torna interesante y desafiante.

El proyecto en que trabajo lo he titulado Domolution (Domotic Solution), el cual es un prototipo de software domótico que brinda interacción al usuario por medio de su dispositivo móvil. El usuario tiene un control sobre los dispositivos de su casa sin estar en ella, lo cual hace del proyecto un tanto interesante.

Pero mas que los detalles del proyecto, me gustaría comentar las herramientas que estoy utilizando para llevarlo a cabo, dado que conozco por experiencia lo duro que puede ser el tedioso proceso de romper la inercia del inicio de trabajo de grado, y pienso que tener unas herramientas tanto útiles como llamativas puede hacerte la vida más fácil.

NETBEANS IDE

Dado que me gusta desarrollar proyectos en lenguaje Java, es casi que menester utilizar NetBeans como "el único IDE que necesitas" (The only IDE you need XD). Claro está que su rival más cercano, Eclipse, es una muy buena alternativa, y la verdad considero que ambos IDE son excelentes, pero por razones de impacto (el que pega primero pega dos veces) me he apegado mucho a NetBeans.

No profundizaré en las bondades de deste IDE (Integrated development environment) ya que es casi seguro que lo has escuchado anteriormente, pero para aquellos que deseen inicar su trabajo de grado o algún otro trabajillo personal o remunerado, ésta herramienta les puede facilitar la vida.

Antes de un buen desarrollo se debe dar un buen diseño. Yo acostumbro apoyar mis diseños con diagramas UML, aunque no soy muy bueno con ellos y mas bien un tanto torpe, pero voy mejorando. Aquí es donde NetBeans empieza a ser de utilidad para mí.

Aunque hay quienes no se han percatado de su existencia (algunos de mis compañeros de universidad), NetBeans brinda un plugin de desarrollo de diagramas UML, sólo que no viene instalado por defecto ni en la versión completa.
Su instalación es bastante simple: Herramientas --> Plugins --> Available Plugins --> UML y listo.


Mi enfoque de desarrollador es variado y encuentro entretenido desarrollar aplicaciones para cualquier tipo de plataforma, pero actualmente me encuentro trabajando con Java Micro Edition (JME), plataforma que se encuentra integrada a NetBeans. Sus variados emuladores de celulares suelen ser muy útiles aunque algunos no muy estéticos... pero de que cumplen su función la cumplen.

Puedes descargar NetBeans en www.netbeans.org. Actualmente la versión estable es NetBeans 6.7, pero para aquellos que quieren colaborar con reporte de bugs o aquellos que simplemente no les gusta esperar, también está disponible NetBeans 6.8 Beta.


MySQL WorkBench

Esta herramienta es una de mis favoritas. MySQL WorkBech es una herramienta de diseño de bases de datos de forma visual y es la sucesora del proyecto DBDesigner 4. Esta herramienta me ha permitido diseñar la base de datos de mi trabajo de grado en un entorno muy elegante y profesional, tan fácil como arrastrar tablas y relaciones, aunque siempre me las arreglo para hacer ciertas cosas como en los viejos tiempos ;)

Un buen modelo representado en un agradable diagrama entidad relación de colores vistosos, exportable a png o pdf para imprimir y colocar en tu lugar de trabajo; tener el modelo a la mano es muy útil a la hora de administrar la base de datos.

MySQL WorkBench permite importar modelos de DBDesigner4 y exportar cualquier modelo que se trabaje en WorkBench a un archivo .sql. Del diseño a la creación de la base de datos sólo distan algunos clicks, lo cual me lleva a mi siguiente set de herramientas.

MySQL GUI Tools

MySQL GUI Tools es un conveniente paquete que compacta en un solo instalador

* MySQL Administrator 1.2
* MySQL Query Browser 1.2
* MySQL Migration Toolkit 1.1

MySQL Administrator es una herramienta que permite "administrar" tu servidor, crear usuarios, ver logs, mirar el tráfico, uso y número de queries en tiempo real y precisamente importar y exportar backups de bases de datos en archivos .sql, y aunque MySQL WorkBench permite crear la base de datos gracias a Foward Engineering directamente, MySQL Administrator permite además crear backups mas completos de bases de datos, tablas y registros insertados.

MySQL Query Browser

La herramienta ideal para aquellos queries que se te ocurran a la hora de probar tus bases de datos.

MySQL Query Browser es una herramienta gráfica para creación, ejecución y optimización de queries de forma fácil y elegante.
Es muy buena herramienta para hacer pruebas en tu base de datos y puede que le encuentres uno que otro error a tu diseño lógico.

Y por último pero no menos importante:

Project Kenai

¿Cuántas veces te ha pasado que llevas horas trabajando y de un momento a otro tu abuela desconecta la luz de tu casa, dañando tu único disco duro y la única copia de tu trabajo? o para algúnos otros, ¿Alguna vez has modificado algunas clases cándidamente en tu proyecto y luego no sabes ni por qué dejó de funcionar ni cómo regresarlo a como era antes?

Pues son escenarios de una o otra forma probables, y se puede minimizar el daño teniendo múltiples copias de tu trabajo en diferentes dispositivos de almacenamiento o incluso enviandolo a tu correo, pero cuánto tiempo te toma esto?

La vida se hace más fácil cuando usas Project Kenai.

El proyecto Kenai es un sitio dedicado a los desarrolladores donde estos pueden alojar los códigos fuentes de sus proyectos con el objetivo de estar en comunicación, conexión y colaboración con otros desarrolladores.

En Kenai se maneja el concepto de versiones, donde alojas tu proyecto y luego puedes alojar versiones posteriores de tu desarrollo a medida que vas avanzando en el, y si lo echas a perder... pues simplemente cargas una versión anterior y asunto arreglado.

Kenai Project tiene integración con NetBeans 6.7, desde el cual puedes crear, modificar, actualizar y eliminar tus proyectos sin salir del IDE.

Si estás desarrollando un proyecto con otros desarrolladores, cada uno puede trabajar desde cualquier lugar del mundo en tu mísmo proyecto y cargar modificaciones al proyecto en cualquier momento, en este caso el nombre de las clases que otro desarrollador actualizó cambian de color en tu NetBeans indicandote que tu versión no es la última disponible a lo cual simplemente le pides a NetBeans que traiga esos cambios hacia tí y listo. Además, con la integración de Kenai puedes tener comunicación en tiempo real con tus compañeros de trabajo por medio de chat interno son salir de tu IDE. Si usas un pc diferente solo debes cargar el proyecto desde kenai y listo, tendrás la última actualización.

Estas son las herramientas que utilizo en mi trabajo diario... hasta ahora.
Espero que esto sirva de guía a por lo menos 1 persona, y que pueda sentir la emoción y la facilidad de utilizar herramientas como estas.

Espero volver a escribir sobre avances de mi trabajo o algúna nota interesante en un futuro.

Buen día y cualquier aporte constructivo es bienvenido.

6 comentarios:

  1. Gracias por la informacion....en Netbeans me mareo, pero con tu nota me siento mejor....

    ResponderEliminar
  2. Interesante aportación, se agradece que alguien comente las herramientas que usa, así que..gracias! xD

    ResponderEliminar
  3. Hola de nuevo, resulta que ahora estoy con un proyecto de la universidad que debo hacer en Java y he vuelto aquí para buscar las herramientas que has usado tú.

    Sólo acabo de empezar con MySQL Workbench y Kenai, ya contaré cómo me ha ido. Netbeans ya lo usaba un poco, aunque en realidad no he exprimido su potencial.

    Saludos y gracias nuevamente!

    ResponderEliminar
  4. Me alegra que te haya servido Alberto. Si tienes algúna duda acerca de estas herramientas me comentas.
    Recuerda que cuando publiqué la nota, MySQL Workbench, y las GUI tools venían por separado, pero con la versión actual de MySQL Workbench ya se logró la integración que se venía hablando desde hace tiempo. Si descargas el último Workbench ya tendrás todo incluido.

    ResponderEliminar
  5. Muchísimas gracias por tu aportación.

    ResponderEliminar