tag:blogger.com,1999:blog-87492153860413830252024-03-13T00:03:43.909+01:00eOPSOAEclipse + OPen SOurce Assessmentdeivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-8749215386041383025.post-69131520775780996702010-05-01T21:47:00.000+02:002010-05-01T21:47:15.259+02:00Offtopic: Fox SplitterDurante este año he tenido que estar escribiendo mucho en inglés, y no es que se me dé mal tampoco, pero hace mucho que no estudio gramática y en ocasiones no estoy muy seguro de si escribo bien. Desde hace un tiempo me he dado cuenta que cuando tengo que escribir en inglés casi siempre tengo las <a href="http://www.google.es/language_tools">Google Language Tools</a> abiertas en dos pestañas de Firefox: la primera con <i>español-inglés</i> y la segunda con <i>inglés-español</i>. Mi forma de trabajar es sencilla y voy escribiendo en una y en otra, pero cuando llega un momento en el que termino cansando de estar cambiando de pestañas continuamente.<br />
<br />
El caso es que esta tarde estaba buscando una extensión para el Firefox
cuando me he encontrado otra que sin duda me va a ser útil: <a href="https://addons.mozilla.org/en-US/firefox/addon/4287">Fox Splitter</a>. Esta extensión hace algo que llevo queriendo hacer desde hace mucho tiempo, y es poder poner dos pestañas de Firefox una al lado de la otra. Mirad que bien queda para el caso que comentaba de las Language Tools:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUF-Io0J140StjSiOXUFeHjeJUCh7mYCtFSxS6ej-vtk1maT0V4LH0OMsMJDoxra4XxaMkxR_cMkhiDfN3DWcJqXKsNoGKZyHC7TzQOkJYYkZQ2anAsHMJtyKJiuxriMVkgW_6QcrEbTk/s1600/split_window.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUF-Io0J140StjSiOXUFeHjeJUCh7mYCtFSxS6ej-vtk1maT0V4LH0OMsMJDoxra4XxaMkxR_cMkhiDfN3DWcJqXKsNoGKZyHC7TzQOkJYYkZQ2anAsHMJtyKJiuxriMVkgW_6QcrEbTk/s400/split_window.png" width="400" /></a></div>
<br />
Parece útil ¿verdad?<br />
<br />
<i>HTH!</i>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-65006066673102532252010-04-06T22:30:00.005+02:002010-05-01T21:48:18.239+02:00Offtopic: devolver el triángulo en el expansor en MurrineDesde hace un tiempo estoy probando la <a href="http://www.ubuntu.com/testing/lucid/beta1">beta de Ubuntu Lucid</a>, y aunque por lo general parece que está bien, hay un detalle estético que me molesta bastante. Después de tantos años usando GNOME me había acostumbrado a que los expansores fuesen un pequeño triángulo tal que así <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwqQKJrsqeZW3I1IPgd1DzslQsDVI1XcJgSTEIL-QTIBM-lRevqtgGmGNEkOSJOhPyQq3BnCFymHAZxBoh2GVTniUaC6re1QfOCotOdGM4MnwaVqMECTHDtb51puyH7qz7ENHQJjbHqiM/s320/expansor_old_1.png" /> y así <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXliK1aJLHBrRk3B7LtfleYH724u6v7BrcT0a1aWeoytGHLTg0YAYhPdPsbvVoZ4OU9Dg5hK9-r2N7Qr6_EfRp0UUbMiiyNH_IPSju93Z2fOVXM-Zdi2GgMOSDMWpWtLkOE1PYOWKN8j0/s320/expansor_old_2.png" />, sin embargo en esta última versión los han cambiado por éste <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDrYgis4QlhlnI5JSl2DR_9r6c5r7siCWlTkX4q3wZ5kENxjZ1axvjZIH9s-V5qdby7a5VJkOdRRDPhk_P4daeYYPE8ut69j0P7XwB_g_rn2c6Y2sh9p4lORaJF9ENlMho_uK9E7bPp4Y/s320/expansor_new_1.png" /> y éste otro <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBcCkjpqGLtWfdu2BZbEzGBDaDSuThSEbmtbJVK6BaIeuUOwFYiItpYiHEHr8wLAQwhji0UKNxjz80UWl7tvZlzYo-jHPDqKYnWf8b6BhcBTYf3L84r69xR_KE1b7SZn5YfnyBLNegq0s/s320/expansor_new_2.png" />, que además de feos son más grandes.<br />
<br />
En principio esto que comento no parece grave, pero la diferencia entre ambos es en algunos casos brutal. Por poner un ejemplo, en la vista <i>Package Explorer</i> de Eclipse:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAo1w8C0tkdNpqUyIN3rzGPFnzCqGuGVJl-k9u-bdbJOcL-UufGjLSbUxbI6-zmPKGL74psGxZ_yRje6njf9gf0pQ8r2QOjXkYAw3a1IqBcoAY6L6PiQ8hSespc29uUIAcIuj4AqWOHwI/s1600/screenshot_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAo1w8C0tkdNpqUyIN3rzGPFnzCqGuGVJl-k9u-bdbJOcL-UufGjLSbUxbI6-zmPKGL74psGxZ_yRje6njf9gf0pQ8r2QOjXkYAw3a1IqBcoAY6L6PiQ8hSespc29uUIAcIuj4AqWOHwI/s320/screenshot_001.png" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK8DVXtMwXi_S_LqFgmIlgGasSLMJOXVx1gXOwi6iTkAIWD8eJ2NdzHUSuSWvHynUfG-5JfYMz3uZm8dfARQWqfRweOuJcWzhqjqXdIBDuUU5ksIsZze_nR68iTMsezptP1Ug23ig9Ju8/s1600/screenshot_002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK8DVXtMwXi_S_LqFgmIlgGasSLMJOXVx1gXOwi6iTkAIWD8eJ2NdzHUSuSWvHynUfG-5JfYMz3uZm8dfARQWqfRweOuJcWzhqjqXdIBDuUU5ksIsZze_nR68iTMsezptP1Ug23ig9Ju8/s320/screenshot_002.png" /></a></div>
<br />
El responsable de este comportamiento es la versión del paquete <a href="http://packages.ubuntu.com/search?keywords=gtk2-engines-murrine&searchon=names&suite=all&section=all"><span class="Apple-style-span" style="font-family: inherit;">gtk2-engines-murrine</span></a> que se distribuye en Ubuntu Lucid (al día de hoy la <span class="Apple-style-span" style="font-family: Verdana,arial,helvetica,sans-serif;">0.90.3+git20100323-0ubuntu2</span>). El problema no es del paquete de Ubuntu, sino que es un cambio <i>upstream</i>. De hecho se rumorea que quizá la próxima versión de <a href="http://en.wikipedia.org/wiki/Clearlooks">Clearlooks</a> copie esta <i>feature</i>... ¬¬. Como comentaba hacía un tiempo que estaba bastante molesto con ésto, pero por casualidad he encontrado una <a href="http://blogs.gnome.org/lferrett/2010/03/15/the-tille-exciting-triangle/">entrada en un blog</a> que comentaba cómo resolver este problema.<br />
<br />
La solución es <i>sencilla</i>, y consiste en obligar a GTK que utilice un motor distinto de <a href="http://www.cimitan.com/murrine/">Murrine</a> para mostrar los expansores. Para ello se debe crear el fichero <span class="Apple-style-span" style="font-family: Verdana,sans-serif;">~/.gtkrc-2.0</span> con el siguiente contenido:<br />
<br />
<code>
style "expander-fix" = "default" {<br />
engine "" {}<br />
}<br />
<br />
class "GtkExpander" style "expander-fix"<br />
class "GtkTreeView" style "expander-fix"<br />
class "GtkCTree" style "expander-fix"<br />
</code>
<br />
<br />
Afortunadamente no soy el único molesto con esto, y está reportado en Launchpad en el <a href="https://bugs.launchpad.net/ubuntu/+source/human-theme/+bug/527789">bug #527789</a> y en el bugzilla de GNOME en el <a href="https://bugzilla.gnome.org/show_bug.cgi?id=611159">bug #611159</a>. A ver si hubiera suerte y <a href="http://www.cimitan.com/murrine/author">Cimi</a> se enrollara y diera opción para usar uno u otro en Murrine.<br />
<br />
HTH!deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-66180966388815619922010-03-25T02:04:00.002+01:002010-03-25T02:08:16.991+01:00Estado del proyecto: problemas con Marathon, y desarrollo futuroPrincipalmente, uno de los indicadores del estado de un proyecto es la actividad de su blog. Éste bien puede ser el caso de eOPSOA, que por unas razones u otras no está teniendo la progresión que Luismi y yo esperábamos cuando nos apuntamos al CUSL. Desgraciadamente ambos estamos trabajando, y por muchas ganas que tengamos los días siguen teniendo 24 horas :-(<br />
<br />
Quien estaba haciendo el grueso del trabajo era Luismi, que como comenté al principio del proyecto estaba intentando integrar la herramienta <a href="http://www.marathontesting.com/">Marathon</a> en eOPSOA. Por desgracia la cosa no ha ido tan bien como nos esperábamos, y no han surgido más que problemas: escasa documentación técnica, código muy acoplado con la UI, problemas para depurar (principalmente <a href="http://es.wikipedia.org/wiki/Java_Remote_Method_Invocation">RMI</a>)... etc. Es muy muy frustrante porque le ha echado muchísimas horas y un montón de esfuerzo, pero hay veces que las cosas no salen aún <a href="http://www.youtube.com/watch?v=5icoSmJ6Yxo">a golpes de corazón</a>, y lo ha tenido que abandonar. Además la decisión es dura porque se trataba de su Proyecto Fin de Carrera, y parte de ese trabajo lo ha perdido. Afortunadamente aún existe la posibilidad de integrar <a href="http://www.eclipse.org/swtbot">SWTBot</a>, que aunque es bastante menos potente que Marathon parece que nos puede dar mejor resultado.<br />
<br />
Respecto a mí, tampoco he podido avanzar demasiado con el tema de <a href="http://www.eclipse.org/birt">BIRT</a>. No es excusa, pero entre Máster, trabajo y lo poquito que podía ayudar a Luismi, apenas he tenido tiempo de nada.<br />
<br />
Pero no todo van a ser malas noticias para el proyecto. Desde el verano pasado se han certificado varias herramientas con OPSOA, y gracias a la paciencia de Estela y Laura estamos obteniendo un feedback muy bueno. Estamos madurando algunas ideas para mejorar tanto OPSOA como eOPSOA, y sólo es cuestión de sacar tiempo de algún sitio para poder realizarlas. Además, mi contrato se me acaba a fin de mes, y es posible que al menos durante un tiempo pueda dedicar algo de atención al proyecto. Más adelante intentaré escribir sobre estas ideas, pero está relacionado principalmente a mejorar el cuestionario, e intentar extraer conclusiones de él automáticamente.<br />
<br />
Por último, sólo pedir un poco de paciencia; las cosas de palacio van despacio, y aunque sea lentamente vamos avanzando poco a poco ;-)deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-68089941958879873492009-11-30T19:25:00.005+01:002010-03-25T02:10:20.133+01:00Incorporación de Marathon a eOPSOA<div align="justify">
Tras unas semanas de aunar y aclarar ideas con mis tutores (y cotutores!!) de proyecto, y determinar así los objetivos en relación a la idea que tenemos de como mejorar<b> eOPSOA</b>, llegó el momento de realizar la primera aportación a este blog.</div>
<div align="justify">
</div>
<div align="justify">
</div>
<div align="justify">
Como bien ha comentado David, con objetivo de poder terminar mi PFC y poder aportar así mi granito de arena a<b> eOPSOA, </b>me voy a ocupar de investigar cómo integrar la herramienta de testeo funcional <a href="http://www.marathontesting.com/">Marathon</a> al proyecto comentado. </div>
<div align="justify">
</div>
<div align="justify">
</div>
<div align="justify">
Para quién a Marathon le suene a la famosa trilogía de videojuegos, o simplemente a la conocida prueba atlética de resistencia, comentar que Marathon es una herramienta de libre distribución, la cual podemos extender fácilmente y que nos ayuda en el desarrollo de conjuntos de pruebas automatizadas para aplicaciones Java / Swing . Marathon nos ofrece un entorno integrado en el que puede crear conjuntos de pruebas. Además, incluye un grabador, un reproductor y un editor de scripts para facilitar la automatización de pruebas. Marathon se utiliza principalmente para la automatización de pruebas funcionales, aunque también puede ser utilizado para crear conjuntos de pruebas para desarrolladores.</div>
<div align="justify">
</div>
<div align="justify">
</div>
<div align="justify">
Cuando se lleva tiempo realizando pruebas en los diferentes proyectos entregados, nos damos cuenta que hay cosas que son particularmente difíciles de probar de forma automática y otras donde ocurre todo lo contrario, al existir medios suficientes para abordar la prueba automática. Un ejemplo claro son las interfaces gráficas de usuario. </div>
<div align="justify">
</div>
<div align="justify">
</div>
<div align="justify">
Para la ejecución de pruebas de forma automática existen numerosas herramientas. No ocurre lo mismo para la generación de los casos de prueba, por ello intentaremos con esta herramienta abordar los objetivos que no se pudieron completar el año pasado (debido a que la herramienta elegida no cumplió las expectativas creadas), con la incorporación de automatización de pruebas, en la parte de Generación y Ejecución de pruebas de <b>eOPSOA. </b>Más adelante, iremos ampliando con más detalle la idea que perseguimos en el proyecto.</div>
<div align="justify">
</div>
<div align="justify">
</div>
<div align="justify">
Finalmente, no quería terminar este primer cometario, sin dar las gracias a todas las personas que me están ayudando en el desarrollo de mi propósito. Especialmente quería agradecer a mi compañero David Castellanos, la ayuda, disposición y paciencia mostrada, desde el primer día (23 de octubre) que se enteró de mi incorporación al equipo. </div>
<div align="justify">
</div>
<br />
Gracias <i>deivis!!</i>Luismihttp://www.blogger.com/profile/07427041096972309240noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-63978551465915639512009-11-14T13:30:00.002+01:002009-11-20T09:51:10.132+01:00Preparando el III CUSL de CLM y el IV CUSL<p>Después de unos cuantos meses sin actualizar el blog y sin dar apenas señales de vida, volvemos a la acción en <b>eOPSOA</b> con muchas ganas de trabajar y de hacer cosas interesantes.</p>
<p>Algunas cosas han cambiado respecto al año pasado. Para empezar, este septiembre pude presentar mi PFC y ya soy oficialmente <a href="http://twitter.com/davidcaste/status/4051759406">Ingenierete en Informática</a>. Como parece que no tuve bastante, este año me he matriculado en el <a href="http://www.mutia.masteruniversitario.uclm.es/presentacion.aspx">Máster Universitario de Tecnologías Informáticas Avanzadas</a> de la UCLM (los antiguos cursos de [pre]doctorado) así que sigo siendo universitario, y por tanto puedo volver a participar en el CUSL. Pero la principal novedad de este año es que se incorpora al proyecto <b>Luis Miguel Bastante</b>, estudiante también de Ingeniería Informática en la UCLM, y que está realizando su PFC.</p>
<p>Aún faltan algunas cosas por decidir, pero parece que la participación de este año va a ir en línea a la del año pasado, e intentaremos realizar algunos de los objetivos que se quedaron pendientes del año pasado. Por ejemplo Luismi va a investigar cómo integrar la herramienta de testeo funcional <a href="http://www.marathontesting.com/">Marathon</a> en eOPSOA, y en mi caso, voy intentar generar reportes usando para ello el framework <a href="http://www.eclipse.org/birt">BIRT</a>.</p>
<p>Aunque todavía no ha comenzado oficialmente el período de participación ya estamos adelantando algo de trabajo, por ejemplo hemos cambiado el tema del blog a uno un poco menos <i>funky</i>, y en el <span style="font-family: "Courier New",Courier,monospace;">trunk</span> del SVN se está trabajando en la refactorización del modelo Ecore del proyecto.</p>
<p><i>Happy hacking!!</i> :-)</p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-35173870636502833992009-05-24T00:28:00.006+02:002009-05-24T01:06:27.843+02:00Publicado eOPSOA v0.2.2<p style="text-align: center;"><span style="font-style: italic;">Nunca digas nunca...</span></p><p>Hace un tiempo dije que no me iba a dedicar a desarrollar eOPSOA hasta que terminara los exámenes y el PFC, pero parece que por más que lo diga es mentira y vuelvo a sentarme a programar aunque sea un poquito. Es que jo, me motiva más trabajar en eOPSOA que estudiar PL... O:-)</p><p>Esta vez ha sido culpa de Estela; está utilizando eOPSOA para evaluar una aplicación, y se estaba volviendo loca porque no podía editar la información una vez introducida. Y la verdad es que lleva razón, y además cuando me pone carita de lástima no puedo evitar hacerle caso, soy así. La cuestión es que es una funcionalidad que debía estar implementada desde hacía mucho, pero por cuestiones de tiempo siempre lo fui dejando para más adelante.</p><p>Cambios en esta versión:<br /></p><ul><li>Añadido soporte para la edición de la mayoría de la información de los Casos de Uso y de Tests de Prueba.</li><li>Mantenimiento de las traducciones.</li></ul><p>He intentado seguir las guías de estilo de Eclipse, y he dado soporte a la edición de la mayoría de las celdas en las tablas. Me fue de especial ayuda el manual <a href="http://www.vogella.de/articles/EclipseJFaceTable/article.html">Eclipse JFace TableViewer - Tutorial</a> de <a href="http://twitter.com/vogella">Lars Vogel</a>, que por cierto tiene un <a href="http://www.vogella.de/eclipse.html">conjunto de tutoriales y manuales sobre Eclipse</a> maravillosos. Así que destacar, él en su tutorial utiliza un <a href="http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ComboBoxCellEditor.html">ComboBoxCellEditor</a> para implementar la edición de las celdas con un ComboBox, y yo he tenido que utilizar un <a href="http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ComboBoxViewerCellEditor.html">ComboBoxViewerCellEditor</a> por la forma en la que uso los JFace Viewers, pero a efectos prácticos es lo mismo. Si a alguien le interesa, el código está en la clase <a href="https://forja.molinux.info/scm/viewvc.php/code/trunk/org.uclm.eopsoa.ui/src/org/uclm/eopsoa/internal/ui/editors/testCaseSetEditor/OTestCaseDetails.java?view=markup&root=eopsoa&pathrev=198">OTestCaseDetails.java</a>.</p><p>Y después de este paréntesis en el estudio, a no ser que Estela vaya detectado más fallos no creo que desarrolle más hasta por lo menos el fin de exámenes, o como mucho hasta que presente el proyecto. La verdad es que tengo un montón de ideas en mente, y tengo un montón de ganas de aprender cosas como <a href="http://www.eclipse.org/gmf/">GMF</a> y <a href="http://eclipse.org/birt">BIRT</a> que me van a hacer falta, pero lo primero es lo primero y tengo que terminar la carrera si o si.</p><p><span style="font-style: italic;">¡Hasta luego!</span><br /></p><p></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-91576920458275170612009-05-10T15:05:00.004+02:002009-05-11T00:59:12.673+02:00Mejor proyecto de Innovación en el III CUSLDurante los días 7 y 8 de mayo tuvo lugar en Sevilla la <a href="http://www.concursosoftwarelibre.org/0809/info-fase-final">Fase Final</a> del <a href="http://www.concursosoftwarelibre.org/">III CUSL</a>, a la que tuve la suerte de poder asistir como finalista con mi proyecto eOPSOA. Han sido unos días realmente duros para nosotros, porque entre el viaje hasta Sevilla, y luego las actividades, ponencias y demás, hemos terminado realmente cansados.<p>Qué cosas se pueden contar de estos días... por una parte me sorprendió muchísimo lo jóvenes que eran los organizadores, y lo controlado que parecían tenerlo todo. Desde el primer momento me sentí muy cómodo, y siempre tuvieron la voluntad de que nos conociéramos entre nosotros los finalistas. De hecho, Estela y yo llegamos el miércoles por la noche; al poco de llegar nos recogieron y nos llevaron a cenar con ellos al Bar Manolo, donde conocimos a algunos colaboradores, a Javier Aguirre, a Pablo Neira, Emilio José Rodríguez... pido perdón por la gente que había allí y de las que no me acuerdo de sus nombres O:-). Esa noche conocí a un chaval del proyecto Meshias (no recuerdo si era Eduardo o Alejandro, de todas formas un saludo!) que era una auténtica máquina, colaborador de Konqueror, estaba escribiendo un parche para VirtualBox... este muchacho estoy seguro que ha hecho mucho más que yo, y que quizá se merecía más estar en la fase final que yo... Ha sido una sensación que he tenido durante estos días porque he conocido gente realmente brillante, y hay otros muchos proyectos que se han quedado fuera que eran realmente increíbles; no puedo evitar sentirme un poco culpable, no sé.</p><p>Al día siguiente ya conocimos al resto de finalistas, todos con proyectos realmente increíbles, y además gente muy maja. Me hizo muchísima ilusión poner cara a los miembros de Cool Imaging porque al usar ambos Eclipse, nos habíamos puesto en contacto antes; durante estos días hemos hablado mucho Luis, Ricardo y yo compartiendo información y cosas que habíamos aprendido. Siento haber mosqueado a Marchesi por estar hablando con Luis durante su ponencia, perdón por haberte fastidiado la resaca :-P. Las ponencias por lo general fueron muy interesantes, sobre todo IMHO las de Alberto Barrionuevo y la de Álvaro López de Octality. Es increíble como una persona que tiene el puesto de trabajo de su vida, lo deja todo por un proyecto que comenzó como un hobby y funda su propia empresa. Tuve la suerte de poder hablar con él antes de ver su ponencia, y me dijo un par de cosas que creo que creo que me han dejado huella.<br /></p><p>Sobre las ponencias de los finalistas, me quedé alucinando con todas y cada una de ellas. Por ejemplo Andoni (The Digital Coach) es increíble porque sin duda va a revolucionar cómo los pequeños clubes deportivos preparan su material audiovisual, éste suele ser muy caro, y gracias a su programa podrán tener acceso a esta tecnología los más humildes. Daniel (Geco), fue el que mejor supo explicarnos el concepto y la utilidad de su programa, gracias a su creatividad y a su capacidad de análisis. Tucan nos dejó alucinando por la comunidad que están creando alrededor de su programa, lo que sin duda tiene muchísimo mérito, y el compromiso que tienen respecto a ésta implementando nuevos plugins, manteniéndolos... etc. Emilio (AVBOT) nos enseñó como tras relizar el análisis de la realidad de un problema grave como es el vandalismo en Wikipedia, se puede diseñar una solución elegante que sin duda va a ayudar muchísimo. Y los compañeros Luis y Ricardo (Cool Imaging) nos mostraron cómo a base de esfuerzo y dedicación han construido una pedazo herramienta que de seguro va a ayudar y mucho en multitud de áreas como medicina, astronomía, docencia... etc. En mi caso, yo salí con un regusto agridulce porque creo que no supe transmitir a la gente de lo que iba mi proyecto, si hubiera visto antes la presentación de Dani posiblemente habría cambiado la mía, pero no tuve apenas tiempo de reacción :-S. Además no supe utilizar el micro y me falló constantemente, y terminé casi desquiciado.<br /></p><p>El viernes al mediodía fue la <a href="http://www.concursosoftwarelibre.org/0809/premios-iii-concurso-universitario-software-libre">entrega de premios</a>, en la que a diferencia de la fase regional apenas estaba nervioso porque tenía más que asumido que iba a quedar finalista porque los otros proyectos eran muy muy buenos. Se comprenderá entonces mi sorpresa cuando eOPSOA fue premiado como el Mejor Proyecto de Innovación... me emocioné un montón porque he trabajado mucho y ha habido momentos muy duros que si no hubiera sido por gente como Estela, la familia, los amigos, los profesores y los compañeros del I3A no habría podido superar, les debo muchísimo a cada uno de ellos. Aparte de muy feliz, también me sentía un poco mal porque había proyectos que eran mucho más geniales que el mío que por desgracia no estaban allí, como por ejemplo el de Cleto Martín con su proyecto <a href="http://michi.selfip.biz/icepick/">Icepick</a>, y otros muchos que seguía de la lista de correo y que siempre había creído que iban a estar en la final. También en parte por los otros finalistas que no fueron premiados como Luis y Ricardo con Cool Imaging, Andoni y su The Digital Coach, Dani con Geco que no solo de conocerlos de antes, pero sobre todo después de hablar con ellos y de saber de primera mano lo que significan para ellos, se merecían un primer premio. Casi nunca he ganado nada, y siempre me he sentido un poco como el personaje de <a href="http://es.wikipedia.org/wiki/Naruto_Uzumaki">Naruto</a> que solo deseaba que se le reconociera como ninja de Konoha, y me humildemente me siento bastante abrumado por la situación. Si antes tenía claro que quería seguir con eOPSOA, ahora ya no tengo ninguna duda. He dado mucho por este proyecto, quizá demasiado, pero se me ha devuelto muchísimo más y la deuda es muy grande.<br /></p><p>Bueno, creo que he escrito más de lo que debería, y ya solo me queda decir que muchas muchas gracias a todos. Un abrazo muy grande para toda la gente maravillosa que he conocido durante estos meses tanto en la lista como en la fase final, y muchos ánimos con vuestros proyectos y a seguir colaborando, aprendiendo y soñando dentro de este mundillo. Muchas gracias de nuevo a toda la gente que me ha apoyado, y que ha estado tirando de mí, sobre todo a Estela que ha aguantado lo que no está escrito. Esto va por todos vosotros y aunque sea mi nombre el que aparezca, hay muchas muchas más personas que deberían tener también un hueco ahí.<br /></p><p>Y por último, esto también va por ti abuelo Antonio, sé que estás sufriendo y ojalá pudiera cambiar todo esto porque estuvieras bien, pero hay que seguir luchando y siempre hacia adelante. Te quiero un montón abuelo, mejórate por favor.<br /></p><p><span style="font-weight: bold;">¡¡Gracias!!</span><br /></p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgokBZuFulnJV-D40U2mH453WkD0vWCQEi0hWYWojlVgYNNurMVDdhtJVnwcKVQW6zOBSZNDN8j_feip1bbBqVvB8Qa273ICp8E6ypnE-wRDUw0ZQx0Mwc5xxR9gGAUcEEM6aC2wkxKzaw/s1600-h/premiados_thumb.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgokBZuFulnJV-D40U2mH453WkD0vWCQEi0hWYWojlVgYNNurMVDdhtJVnwcKVQW6zOBSZNDN8j_feip1bbBqVvB8Qa273ICp8E6ypnE-wRDUw0ZQx0Mwc5xxR9gGAUcEEM6aC2wkxKzaw/s320/premiados_thumb.jpg" alt="" id="BLOGGER_PHOTO_ID_5334323417402125538" border="0" /></a></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com3tag:blogger.com,1999:blog-8749215386041383025.post-10471121631742813622009-05-05T15:48:00.004+02:002009-05-05T16:09:03.396+02:00Publicado eOPSOA v0.2.1, y nos vamos para Sevilla!!<p>Casi un mes después de haber publicado la versión 0.2.0 de eOPSOA, hoy publicamos la versión de mantenimiento 0.2.1. Es bastante posible que sea la última versión antes de presentar el proyecto, pero lo mismo dije antes...<br /></p><p>Cambios en esta versión:<br /></p><ul><li>Corregidos algunos (pequeños) bugs.</li><li>Pequeña actualización de las traducciones.</li><li>Añadidos iconos e imágenes.</li></ul><p>Para descargar eOPSOA tienes dos opciones, o bien descargar eOPSOA desde la <a href="https://forja.molinux.info/projects/eopsoa/">forja de Molinux</a>, o seguir las <a href="http://eopsoa.albacete.org/doku.php?id=instalar">instrucciones de instalación</a> para utilizar el Update Manager de Eclipse. Tú elíges ;-)</p><p>Por lo demás, durante estos días he estado preparando la presentación del <a href="http://www.concursosoftwarelibre.org/">III CUSL de Sevilla</a>: refinando la presentación que hice en Cuenca, grabando algunos vídeos de la aplicación... etc. Tengo casi decidido que no pondré ningún vídeo en la presentación (no es precisamente <span style="font-style: italic;">espectacular</span> ver cómo se especifica un Caso de Uso :-P), pero tampoco está de más tener alguno por si surge la ocasión.</p><p>Y la verdad es que poco más, a ver cómo se da la aventura :-). Como he comentado antes no creo que pueda actualizar el blog mientras esté en Sevilla, pero imagino que si podré sacar ratillos sueltos para escribir en <a href="http://www.twitter.com/davidcaste">Twitter</a>.</p><p><span style="font-style: italic;">Nos vamos para Sevilla!!</span><br /></p><p></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-76838389609401981012009-05-01T18:53:00.002+02:002009-05-02T02:01:06.776+02:00Premio especial II CUSL de CLM<p>El martes 28 de abril fue la fase final del II CUSL de CLM, que tuvo lugar en la Escuela Politécnica de Cuenca. Y entre las presentaciones de los proyectos finalistas, talleres, ¡levantarse a las 6 de la mañana!, y emociones varias, pues fue un día un poco duro.</p><p>La primera sorpresa nos la llevamos al mediodía, cuando en un ratín que encendí el ordenador me encuentro que <a href="http://www.concursosoftwarelibre.org/0809/node/893">eOPSOA estaba clasificado para la Fase Final del III CUSL</a>, que no nos esperábamos en absoluto. Quien me iba a decir que con la cantidad de proyectos buenísimos que había este año en el CUSL iban a elegir al que es con diferencia el <span style="font-style: italic;">más aburrido</span>... :-P</p><p>Y luego el acábose fue en la entrega de premios, cuando nos eOPSOA fue premiado con el <a href="http://www.ceslcam.com/noticias-del-centro/fallados-los-premios-del-ii-concurso-universitario-de-software-libre-de-castilla-la-mancha.html">Premio Especial en el II CUSL de CLM</a>... en fin, muchas emociones :-). No me lo esperaba tampoco porque había seguido el trabajo de Cleto con <span style="font-weight: bold;">IcePick</span>, y es un trabajo bárbaro (suerte con el PFC Cleto!!), y siempre había creído que iba a ser el Premio Especial para su proyecto. Apenas pude hablar con él, y me hubiera gustado haber podido preguntarle un poco más sobre su trabajo con las motas (creo que se llamaban así) porque la presentación me supo a poco, pero seguro que surge la ocasión de poder volver a preguntarle ;-)<br /></p><p>El resto de proyectos me llamaron también mucho la atención. El proyecto <span style="font-weight: bold;">Sapiens</span> es de unos alumnos muy jóvenes de la ESII que conocía de vista y que han hecho muy buen trabajo. A su edad yo no sabía hacer casi nada con Swing, y han creado un juego muy divertido y si se mueven bien pueden crear una buena comunidad alrededor de su programa.<span style="font-weight: bold;"><br /></span></p><p>Los proyectos <span style="font-weight: bold;">Blue Harvest</span> y <span style="font-weight: bold;">Fajax</span> también eran interesantes. Ambos son de estudiantes de Telecomunicaciones de Cuenca, y son proyectos muy ambiciosos, sobre todo Fajax. Este proyecto me dió la impresión de tener detrás una cantidad de trabajo impresionante, quizá si hubiera elegido un framework adecuado le hubiera ahorrado esfuerzo, pero aún así es encomiable. Y por último los proyectos <span style="font-weight: bold;">GesControl Security</span>, <span style="font-weight: bold;">DVS Car</span> y <span style="font-weight: bold;">Spela</span>, de compañeros de clase que presentaron sus proyectos de IS2, y que para apenas poder haber desarrollado durante 1 o 2 meses tenían muy buena pinta.<br /></p><p>Los premios quedaron de esta forma:<br /></p><ul><li><strong>Premio Especial JCCM-CESLCAM al Mejor Proyecto</strong> para el proyecto <a href="http://eopsoa.blogspot.com/">eOPSOA</a> del alumno de la Escuela Superior de Ingeniería Informática de Albacete, <em>David Castellanos Serrano</em>.</li><li><strong>Primer Premio a la Mejor Utilidad</strong> para el proyecto <a href="http://blueharvestpsl.wordpress.com/">Blue Harvest</a>, de los alumnos de la Escuela Universitaria Politécnica de Cuenca, <em>Alejandro Olmedo Mateo y Eduardo Villar Rabadán</em>. </li><li><strong>Segundo Premio a la Mejor Utilidad</strong> para el proyecto <a href="http://sapiensproject.wordpress.com/">Sapiens</a>, de los alumnos de la Escuela Superior de Ingeniería Informática de Albacete, <em>Pedro García Rubio y Juan Manuel Soler Denia</em>.</li><li><strong>Primer Premio al Proyecto Más Innovador</strong> para el proyecto <a href="http://michi.selfip.biz/icepick">Icepick</a> del alumno de la Escuela Superior Informática de Ciudad Real, <em>Cleto Martín Angelina</em>.</li><li><strong>Segundo Premio al Proyecto Más Innovador</strong> para el proyecto <a href="http://fajax.wordpress.com/">Fajax</a> del alumno de la Escuela Universitaria Politécnica de Cuenca, <em>Andrés Martínez Muguerza</em>.</li></ul><p>Y ya para terminar y no enrollarme más, muchas gracias a todos los que me habéis apoyado durante estos meses, en especial a mis profesores del proyecto Elena Navarro y Francisco Montero, que se están portando genial conmigo (sobre todo Elena, que aún estando en EEUU tiene tiempo para mi proyecto!!!). También gracias a mi familia y a mi novia, que bastante tienen los pobres con aguantarme, y que sin su apoyo habría mandado todo a <code>/dev/null</code> hace tiempo. Y también a mis amigos, que los tengo un poco abandonaicos, pero de verdad que no os olvido (y ya os invitaré a algo cuando termine todo esto). Bueno, en general muchas gracias a todos de verdad, y aunque sea un poco capullo y no os lo diga, sois importantes para mí.</p><p>Del 6 al 9 estaré en Sevilla en la final del III CUSL, y no sé si tendré tiempo de escribir en el blog. Pero si alguien quiere seguir qué tal va la aventura, seguro que puedo sacar ratillos para poner algo en el <a href="http://twitter.com/davidcaste">Twitter</a>.</p><p>Otra vez, <span style="font-weight: bold;">gracias</span> :-)</p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-10585530816863256812009-04-12T13:58:00.006+02:002009-04-12T14:36:13.148+02:00Iconos, y futuro del proyectoHace unos días descubrí un cliente para <a href="http://twitter.com/">Twitter</a> llamado <a href="http://www.twhirl.org/">twhirl</a>, para la plataforma <a href="http://es.wikipedia.org/wiki/Adobe_Integrated_Runtime">Adobe AIR</a>. Anoche estaba aburrido y mientras buscaba otras aplicaciones para AIR encontré una llamada <a href="http://clockmaker.jp/labs/air_icon/">Clockmaker Icon Generator</a>.<p>Esta pequeño programa es interesante porque te permite hacer de forma muy fácil iconos para tu aplicación al estilo <a href="http://es.wikipedia.org/wiki/Web_2.0">web 2.0</a>, y en un par de clics conseguí un icono que me llamó la atención y que voy a aprovechar para eOPSOA.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj99G-HtZR0rpaZD9vk2omzcjzZCdXBjaHNOcR8aHw539Ekv5JnZwWAN3hvMunZINoP4LQKzMk0moEEKTJlKZ2P8GneMk6O62NJI1ZE5Nv_xcYdNOTux8lusjcyxzstsMwK8kgtxjdGZ38/s1600-h/eopsoa.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 283px; height: 188px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj99G-HtZR0rpaZD9vk2omzcjzZCdXBjaHNOcR8aHw539Ekv5JnZwWAN3hvMunZINoP4LQKzMk0moEEKTJlKZ2P8GneMk6O62NJI1ZE5Nv_xcYdNOTux8lusjcyxzstsMwK8kgtxjdGZ38/s320/eopsoa.png" alt="" id="BLOGGER_PHOTO_ID_5323782582616290050" border="0" /></a>Puede parecer una tontería, pero para mí es importante porque eOPSOA aún no tenía un elemento gráfico característico, y creo que esto puede ayudar en ese aspecto. Conforme vaya teniendo ratillos muertos iré creando algunos otros iconos, y los iré subiendo al SVN.</p><p>Una vez terminada la fase de evaluación del <a href="http://www.ceslcam.com/concurso">II CUSL de CLM</a>, da la impresión que la cosa se enfría bastante, y el ritmo de actualizaciones en el <a href="http://www.ceslcam.com/concurso/index.php?option=com_wrapper&view=wrapper&Itemid=71">planet del concurso regional</a> y del <a href="http://www.concursosoftwarelibre.org/0809/planet">planet del concurso nacional</a> ha bajado. </p><p>El ritmo de desarrollo de eOPSOA también va a bajar bastante durante los próximos meses, aunque la intención no es abandonar el proyecto porque hay muchos objetivos que aún no se han cumplido, y que parecen cuanto menos interesantes. Desde el primer momento, eOPSOA ha sido para mí un <a href="http://es.wikipedia.org/wiki/Proyecto_Fin_de_Carrera">PFC</a>, y después de casi 6 meses programando es hora de ponerse a escribir la memoria, por mucho que me pese :-P. Mi intención es hacer pública en un futuro la memoria, pero hasta que no esté terminada no podré tomar la decisión.<br /></p><span style="font-style: italic;">¡Hasta luego! :-)</span>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-53799386462811638122009-04-09T18:21:00.005+02:002009-04-09T19:25:42.803+02:00Publicado eOPSOA v0.2.0, wiki... etc.<p>Después de otro mes de duro trabajo publicamos la versión 0.2.0 de eOPSOA.</p><p>Cambios en esta versión:</p><ul><li>Cantidad de bugs resueltos.</li><li>Soporte para la creación de Tests de Prueba.</li><li>Actualizado la traducción de la interfaz del usuario al español, inglés y francés.</li></ul><p>Para descargar eOPSOA tienes dos opciones, o bien desde la <a href="https://forja.molinux.info/projects/eopsoa/">forja de Molinux</a>, o usar el Update Site que se encuentra en <a href="http://eopsoa.albacete.org/update_site">http://eopsoa.albacete.org/update_site</a>. Tú elíges ;-)</p><p>Si habéis sido observadores habréis observado un nuevo enlace en la cabecera del blog, y es que hemos habilitado un <a href="http://es.wikipedia.org/wiki/Wiki">wiki</a> en la dirección <a href="http://eopsoa.albacete.org/">http://eopsoa.albacete.org</a>. Este espacio va a ser muy importante para el proyecto eOPSOA porque va a ser donde colguemos la mayoría de la documentación que vayamos generando. A día de hoy, puedes encontrar un <a href="http://eopsoa.albacete.org/doku.php?id=instalar">Manual de Instalación</a>, <a href="http://eopsoa.albacete.org/doku.php?id=manual_usuario">Manual del Usuario</a> y un <a href="http://eopsoa.albacete.org/doku.php?id=manual_desarrollador">Manual del Desarrollador</a>. Un lujo vaya.</p><p>Como es habitual, os invito a probar el programa y comentadme qué os parece :-)<br /></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-21018871755384586792009-04-06T20:56:00.006+02:002009-04-06T21:10:38.163+02:00Truco: flat style en formularios para JFace Viewers<p>Si te estás volviendo loco porque cuando en un <a href="http://www.eclipse.org/articles/Article-Forms/article.html">formulario Eclipse</a> añades un JFace Viewer y en Windows te sale sin bordes y en GNU/Linux si, y al añadir el estilo <tt>SWT.BORDER</tt> en Windows por fin aparecen, pero en GNU/Linux se ve como el culo porque no utiliza el <span style="font-style: italic;">flat style</span> del resto del formulario...</p><p><span style="font-weight: bold;">NO</span> lo hagas así:</p><p><code>TableViewer fooViewer = new TableViewer(composite, SWT.SINGLE);<br />Table fooTable = viewer.getTable();<br />...</code></p><p><span style="font-weight: bold;">Tienes</span> que hacer esto otro en su lugar:</p><p><code>Table fooTable = toolkit.createTable(composite, SWT.SINGLE);<br />TableViewer fooViewer = new TableViewer(fooTable);<br />...</code></p>De esta forma tu viewer tendrá bordes del tipo <span style="font-style: italic;">flat style</span>, esté en la plataforma que esté ;-)<p></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-46451383925506167462009-04-04T21:41:00.005+02:002009-04-05T18:25:53.116+02:00Problemas con la forja, próxima versión 0.2.0 y wiki<p>Para mí, la <a href="http://es.wikipedia.org/wiki/Ley_de_Murphy">Ley de Murphy</a> es una máxima en mi vida. Si te planteas hacer la migración de un servicio, no lo hagas un viernes porque si tienes problemas, no los arreglarás hasta que el lunes vuelvas al trabajo. Y si encima ese viernes es vísperas de vacaciones, más todavía. Y si ya para rematar el día <a href="http://www.ceslcam.com/concurso/index.php?option=com_content&view=article&id=70:ampliada-al-6-de-abril-la-entrega-de-la-memoria-final&catid=1:latest-news&Itemid=70">6 de abril es el límite para entregar la memoria final</a>, solo hace falta ya que se alineen los planetas para saber que si algo puede salir mal, saldrá mal.<br /></p><p>Por desgracia este ha sido el caso con la forja de Molinux. Los administradores actualizaron este viernes la versión de GForge que utilizaban (algo muy necesario, y que les agradezco de todo corazón), pero por desgracia se fastidió el repositorio SVN. Al menos en mi caso, que el repo de la forja no se pueda utilizar me afecta bastante. Estaba a punto de publicar la versión 0.2.0 de eOPSOA, y mi intención era aprovechar el fin de semana terminar de arreglar cosas, y Estela se había vuelto a ofrecer para poner al día las traducciones.<br /></p><p>En otro orden de cosas, la versión 0.2.0 de eOPSOA es importante porque introducimos el soporte para la <span style="font-weight: bold;">creación de pruebas no funcionales</span>. Por ahora la creación ni es automática, ni ejecutable, pero todo se andará.</p><p>Por último, he instalado en <a href="http://eopsoa.albacete.org/">http://eopsoa.albacete.org</a> un wiki, donde estos días publicaré documentación del proyecto. Mi intención es escribir al menos un manual del desarrollador, un manual del usuario y actualizar la guía de instalación tanto para Eclipse 3.4 como Eclipse 3.5M6.</p><p>¡Que paséis unas buenas vacaciones! :-)<br /></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-70478906527819734812009-03-26T22:45:00.012+01:002009-03-27T09:10:47.820+01:00Prototipado UIAl principio este blog iba a ser para comentar el desarrollo de eOPSOA y discutir decisiones de diseño, explicar como trabajo... etc. Sin embargo, y debido a que casi todo el tiempo que tengo lo dedico a diseñar y programar, apenas he escrito nada sobre el desarrollo. Eso de dejar que el código hable por uno mismo está bien, pero hay veces que uno usa herramientas o tiene truquillos que quizá sean interesantes, y que quizá sean interesantes para los demás.<p>Como comenté antes, la metodología de trabajo que sigo es una adaptación de RUP. Tengo marcadas unas iteraciones, y en cada iteración hay una serie de tareas que tengo que realizar. Normalmente lo que suelo hacer al principio de cada iteración es modelar los requisitos funcionales y realizar el diseño para esa etapa usando Rational Rose y Rational Requisitepro. En los directorios <a href="http://forja.molinux.info/plugins/scmsvn/viewcvs.php/management/trunk/analysis_design/?root=eopsoa">/management/trunk/analysis_design</a> y <a href="http://forja.molinux.info/plugins/scmsvn/viewcvs.php/management/trunk/requirements/?root=eopsoa">/management/trunk/requirements</a> podrás encontrar los artefactos. Además, otra tarea que realizo es esbozar la UI, que es de lo que os quiero hablar. Luego le presento todo eso a los tutores del proyecto, y con las correcciones que me hacen refino todo y ya me pongo a programar. Hasta ahora no había subido al repositorio los esbozos de la UI, pero a partir de ahora los iré metiendo en <a href="http://forja.molinux.info/plugins/scmsvn/viewcvs.php/management/trunk/ui_sketches/?root=eopsoa">/management/trunk/ui_sketches</a>. </p><p>Al principio usaba papel y boli, pero el problema que tiene es que al final siempre terminaba perdiendo los esbozos, y como que no tengo scanner difícilmente iba a poder enviarlos por correo. Estuve buscando herramientas de prototipado de interfaces, y la herramienta que más me gustó, y que vengo utilizando, se llama <a href="http://wireframesketcher.com/">WireframeSketcher</a>, y es otro plugin sobre Eclipse. Como nota friki decir que utiliza EMF y GMF, es curioso lo que se puede hacer con estas herramientas :-). La lástima es que es software propietario, pero el autor no tiene problemas en dar licencias a aquellos que se pongan en contacto con él y participen en un proyecto de Software Libre. Además ha comentado varias veces que en un futuro cercano tiene pensado sacar una versión gratuita más o menos funcional, y quién sabe, quizá hasta termine liberando algo. El ritmo de desarrollo es brutal, y poco a poco se van añadiendo funcionalidades que lo hacen un software muy útil.<br /><span style="text-decoration: underline;"></span></p><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpouVVm1hT2qHXoM7w6eHYp3OUF2ZPrjJ_KXRTM6eQcu67Q7jEjqajkIsWUkW-jleyAhG67YznDwivCkTO83UfuKWACVPG6Pmz8zSD8dBCtwe6lHACikz4mI8Df3FoAWS3YcLuXVqlVL8/s1600-h/1_overview.png"><img style="cursor: pointer; width: 320px; height: 269px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpouVVm1hT2qHXoM7w6eHYp3OUF2ZPrjJ_KXRTM6eQcu67Q7jEjqajkIsWUkW-jleyAhG67YznDwivCkTO83UfuKWACVPG6Pmz8zSD8dBCtwe6lHACikz4mI8Df3FoAWS3YcLuXVqlVL8/s320/1_overview.png" alt="" id="BLOGGER_PHOTO_ID_5317635624467522850" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAepAbDAWuKjATbkFHcn2GGhx1CVjmIVx-nJgZjtFHk576ho8FrVm4ryeF14TOFDuzOX5W2EIVW4hZnTmAa6zrwcwYwrfKRyRFD4Eodk-IDfVGFrOc-F0XDnt3qp9J9TPRIEBYY06DQDs/s1600-h/opsoa_09.png"><img style="cursor: pointer; width: 320px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAepAbDAWuKjATbkFHcn2GGhx1CVjmIVx-nJgZjtFHk576ho8FrVm4ryeF14TOFDuzOX5W2EIVW4hZnTmAa6zrwcwYwrfKRyRFD4Eodk-IDfVGFrOc-F0XDnt3qp9J9TPRIEBYY06DQDs/s320/opsoa_09.png" alt="" id="BLOGGER_PHOTO_ID_5317635625030756562" border="0" /></a><br /></div><p></p><p>Las dos imágenes anteriores se corresponden al prototipo que hice, y a la pantalla final que resultó. Aunque quizá la paleta de controles de WireframeSketcher es un poco pequeña, al menos en mi caso es suficiente y se ajusta bastante bien a los controles que ofrece JFace/SWT. Y ya para dejar de hacer spam comentar que la ventaja principal que le veo respecto a otras herramientas de prototipado como <a href="http://www.evolus.vn/Pencil/">Pencil</a> es que es muy sencillo y rápido de usar, se integra con Eclipse, y que funciona realmente bien. Además que aunque sean en blanco y negro, salen los esbozos mu bonicos si O:-)</p><p>Por último, he subido en el <a href="http://forja.molinux.info/docman/index.php?group_id=34&selected_doc_group_id=26&language_id=4">área de documentación</a> de la forja una serie de PDFs que usé para estudiar los prototipos de interfaz de eOPSOA que he estado haciendo.<br /></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com1tag:blogger.com,1999:blog-8749215386041383025.post-41599935755998103842009-03-20T12:07:00.002+01:002009-03-20T12:12:57.669+01:00Soporte i18n para eOPSOASi habéis echado un vistazo al SVN durante esta semana, habréis visto que ha tenido bastante movimiento y que ha sido debido al fruto de una nueva colaboración en el proyecto.<br /><br />El caso es que Estela me ha echado una mano para <a href="http://en.wikipedia.org/wiki/Internationalization">internacionalizar</a> eOPSOA. Por ahora la interfaz está traducida al español y al inglés, y dentro de muy poco lo estará también en francés. Que lujazo ¿no? :-P<br /><br />¡Muchas gracias Estela! :-)deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com3tag:blogger.com,1999:blog-8749215386041383025.post-78355363774926871412009-03-08T17:34:00.003+01:002009-03-08T22:17:59.738+01:00Publicado eOPSOA v0.1.1<p>Después de alrededor de 4 meses de desarrollo, estoy orgulloso de publicar la versión 0.1.1 de eOPSOA. Esta release no se puede considerar para producción, porque carece de la mayoría de características que pueden hacer eOPSOA útil para el analista. Sin embargo la intención es que se testee, para corregir los pequeños fallos que pueda haber de los cuales no sea consciente.</p><p>Para descargar eOPSOA tienes tres opciones:</p><ol><li>La opción recomendada, que es usar el <a href="http://eopsoa.albacete.org/">Update Site</a> para Eclipse. Te gestionará él solo las (pocas) dependencias que tiene el proyecto de forma automática y no dolorosa.</li><li>Desde un fichero con un update site fuera de línea. Lo podrás encontrar en el <a href="http://forja.molinux.info/frs/?group_id=34">área de descarga</a> de la forja de Molinux.<br /></li><li>Si eres desarrollador, o valiente, descargar la última versión del <a href="http://forja.molinux.info/plugins/scmsvn/viewcvs.php/?root=eopsoa">repositorio SVN</a>.</li></ol><p>Las características de la versión 0.1.1 son las siguientes:</p><ul><li>Soporte para la caracterización de los programas a certificar, permitiendo la edición, guardado y recuperación de los documentos checklist, glosario y de visión. Estos documentos se cargan desde plantillas XML, de tal forma que la adaptación a nuevas revisiones de estos documentos sería inmediata.<br /></li><li>Soporte para la descripción de los actores del sistema.</li><li>Soporte para la especificación completa de Casos de Uso. Permite especificar los actores involucrados en el UC, las precondiciones/postcondiciones, los flujos básico y alternativos, y las relaciones entre los distintos UC.</li></ul><p>Una característica que no se había planteado originalmente, y que creemos que puede ser interesante, es la forma en la que definimos los flujos básicos y alternativos de cada UC. Los flujos están compuestos por pasos, y estos a su vez pueden estar compuestos por pasos. Los pasos se pueden marcar como de entrada o de salida, y asignarles variables.</p><p>Para la siguiente iteración se va a trabajar en el soporte de pruebas: definición de escenarios, integración con algunas herramientas de testeo funcional y de calidad de código... etc. Si alguna vez habéis trabajado testeando funcionalmente una aplicación, estaréis de acuerdo conmigo en que definir los escenarios y todas las combinaciones de variables es un auténtico rollo. Aquí entra lo que he comentado antes de la decisión de diseño que se ha tomado al implementar el soporte de UC. Vamos a intentar que hasta cierto punto la generación de escenarios sea automática, utilizando la información "extra" que hemos pedido al realizar la definición de los UC.</p><p>De cómo se implemente el soporte para los Tests de Pruebas va a ser crucial para la utilidad (o inutilidad) de eOPSOA. Próximamente escribiré de cómo estoy realizando esta tarea y de los problemas que estaré encontrando :-)<br /></p><p></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com2tag:blogger.com,1999:blog-8749215386041383025.post-12159163805521646442009-02-23T22:32:00.008+01:002009-02-25T01:07:33.761+01:00Eclipse Model Framework: cosa fina oigaEclipse, además de un IDE para Java fantástico, es también una <em>plataforma</em> para el desarrollo de aplicaciones. Estas o bien pueden ser <em>plugins</em> (como el que estoy haciendo yo), o aplicaciones RCP como pueden ser <a href="http://luisette.wordpress.com/">Cool Imaging Project</a>, de unos compañeros que también están compitiendo en el CUSL (saludos!!). El caso es que al ser Eclipse al 99% modular, se presta a ser extendido. La Wikipedia tiene un <a href="http://en.wikipedia.org/wiki/Eclipse_%28software%29">artículo</a> muy interesante sobre Eclipse, en <a href="http://www.developer.com/java/other/article.php/10936_3316241_2">developer.com</a> hablan de su arquitectura, y en el libro <a href="http://www.jdg2e.com/">The Java Developer's Guide To Eclipse</a> (muy muy recomendable) hay muchísima más información. Como a veces lo más sencillo es una imagen, he tomado prestada una imagen de ese libro que es representativa de la arquitectura de Eclipse<div align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0JSSR2Bml4M193IkrYPyBitZm1hX572FnSlgSNcao6-PzNxPlCxu_wIW3dxNiQk5s39AYKHfiJsdu8n8dz9OrPIwFyormvK1yM1qmypTQwtOPcr4Ealh_wajrCmx_x91VK_gHAV2GVCI/s1600-h/architecture.jpg"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 213px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0JSSR2Bml4M193IkrYPyBitZm1hX572FnSlgSNcao6-PzNxPlCxu_wIW3dxNiQk5s39AYKHfiJsdu8n8dz9OrPIwFyormvK1yM1qmypTQwtOPcr4Ealh_wajrCmx_x91VK_gHAV2GVCI/s320/architecture.jpg" alt="" id="BLOGGER_PHOTO_ID_5306112070917065746" border="0" /></a></div><p>Quizá el componente más usado de Eclipse es <a href="http://eclipse.org/jdt">JDT</a>, porque de un modo u otro todos los que desarrollamos sobre Eclipse lo utilizamos. Pero con la tendencia actual de ver a Eclipse como un <em>framework</em> de desarrollo de aplicaciones han aparecido proyectos alrededor que son muy interesantes, como por ejemplo <a href="http://www.eclipse.org/birt/">BIRT</a>, <a href="http://www.eclipse.org/mylyn/">Mylyn</a>, <a href="http://www.eclipse.org/datatools/">DTP</a>... si, todo son siglas ;-)</p><p>Uno de estos componentes que me está siendo especialmente útil es <a href="http://www.eclipse.org/modeling/emf/">EMF</a>, que responde a Eclipse Modeling Framework Project. En plan rápido, EMF es un framework para el modelado y gemeración de código para construir herramientas y otras aplicaciones basadas en un modelo de datos estructurado. Desde la especificación de un modelo descrita en XMI, EMF proporciona herramientas y soporte para generar un conjunto de clases Java para el modelo, además de clases <em>adapter</em> para soportar la visualización y la edición del modelo. Como imagino que esta descripción tampoco es muy útil, y hay sitios donde pueden explicar con más criterio que yo en qué consiste EMF, voy a intentar explicar porqué es útil para mi proyecto.</p><p>Imaginemos que estamos desarrollando una aplicación en la que hemos identificado un modelo de datos relativamente complejo, y que debemos ser capaces de serializar y deserializar desde XML. Por ejemplo este, descrito en UML, y que modela parte del soporte para Casos de Uso que tiene eOPSOA:<img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 252px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGd_QjgxFSvH-fL36MI5chRy1H2g3WNV2a9RsdkY5YdI551cwcTwrsfVqgBYGnNtGoMVt6pnQlC3h0BwqxE7iXHDEncEWM6bdSLFXZc-1hUIEczvHm9cOweCvLLJRQK8LT7EHQGCV35_M/s320/diagrama.PNG" alt="" id="BLOGGER_PHOTO_ID_5306136608928524050" border="0" /></p><p>Este modelo se podría implementar sin problemas en Java, pero sería una tarea cuanto menos <em>dolorosa</em>. Y si a esto añadimos el asunto de la serialización/deserialización en XML, listeners, adapters... etc., nos podemos dar cuenta que no es un asunto trivial.</p><p>Si desarrollamos un plugin para Eclipse, una aplicación RCP, o simplemente una programa Java, nos puede resolver la vida. Entre otras muchas cosas, con EMF podemos hacer:</p><ul><li>Describir el modelo de <span style="font-style: italic;"></span>datos a alto nivel. P.e. podemos usar un diagrama de Rational Rose, un diagrama UML, XSD, interfaces Java anotadas... etc. para construir un fichero ecore con el modelo de datos de nuestro sistema.<br /></li><li>Con el fichero ecore, podemos generar un fichero genmodel que a su vez puede ser usado para generar el código Java que describe nuestro modelo. Crea además un editor en línea de comandos y otro gráfico como plugins de Eclipse. Todo eso sin tener que escribir una línea de código ;-)<br /></li><li>Con el código que hemos generado, podemos serializar/deserializar nuestro modelo a XMI y XML, tenemos relaciones entre objetos, notificaciones, notificaciones inversas, adaptadores... etc. Todo ello como he comentado <span style="font-style: italic;">out-of-the-box</span>, solo con la descripción a alto nivel de nuestro modelo y sin escribir (casi) una sola línea de código.<br /></li><li>Podemos manipular el código generado, y si en un futuro hay cambios en el modelo, se puede recargar y regenerar el código, respetándose nuestros cambios.</li><li>Podemos usar los ficheros ecore y genmodel anteriores para crear un editor gráfico (en plan pinchaiconos, copiar y arrastrar) con <a href="http://www.eclipse.org/gmf">GMF</a>.</li><li>Y bueno, muchas cosas más que no sé ni creo que vaya a necesitar en un futuro cercano, pero que parecen cosa fina oiga.<br /></li></ul>A mí al menos, me ha resuelto la vida. Si le echáis un ojo a mi SVN, el plugin org.uclm.eopsoa.core es prácticamente un modelo EMF un poquito grande, y todo el código Java que me genera automáticamente. Si queréis comenzar con esto hay bastante información disponible en Internet, pero lo suyo es comenzar mirando la <a href="http://www.eclipse.org/modeling/emf/docs/">documentación de EMF</a>, leer la <a href="http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.emf.doc/references/overview/EMF.html">guía para programadores</a>, e intentar hacer los <a href="http://help.eclipse.org/ganymede/topic/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html">tutoriales</a>. Hay una <a href="http://refcardz.dzone.com/refcardz/essential-emf">chuleta de referencia</a> que viene muy bien, y si sabes que te vas a pegar mucho han sacado hace poco la segunda versión del libro <a href="http://www.informit.com/store/product.aspx?isbn=9780321331885">EMF: Eclipse Modeling Framework</a>. No es barato pero cubre mucho mucho mucho más de lo que puedas encontrar en Internet, y es extremadamente útil.<br /><p></p><p>No sé si os habré convencido, pero para terminar voy a comentar algunas cosas que he aprendido durante estos meses usando EMF:</p><ul><li>En los tutoriales apenas se comenta, pero la forma más cómoda para crear un modelo EMF es editando el fichero ecore con el editor. Muestra un árbol con los elementos, se pueden añadir/eliminar nuevos hijos, y manipular las propiedades en el properties view. Las interfaces Java anotadas son útiles porque proveen de una perspectiva más cercana a la que podemos tener los programadores, pero es mucho más fácil meter la pata y se pierde flexibilidad. Además, que si tu modelo EMF es un poco complejo es un rollo recordar las 80 anotaciones que quizá te hagan falta.<br /></li><li>Procura tener tu modelo EMF lo más limpio, expresivo y rico posible. Si te ves modificando mucho código autogenerado, suele ser señal de que necesitas trabajar más tu modelo.</li><li>El nombre de los atributos va a tener mucho que ver en cómo se va a generar el fichero XMI/XML de persistencia del modelo. No te agobies demasiado si alguna etiqueta queda algo rara; mejor tener una API cómoda para trabajar. Y si alguien tiene que usar tu XML, siempre podrá usar a su vez EMF y entonces te agradecerá las decisiones que hayas tomado.</li><li>NUNCA, NUNCA pienses que no vas a tener que regenerar el modelo (y el código) y muevas paquetes, cambies nombres a clases sin que se entere EMF. Suele pasar cuando en tu proyecto usas una convención de nombres de interfaces/clases distinta a la que genera EMF, y con las facilidades de refactorización que provee Eclipse puede ser goloso liarse la manta a la cabeza, y moverlo y cambiarlo todo de sitio. Pero aunque no quieras, tarde o temprano vas a tener que modificar tu modelo, y al final tendrás un pisto y perderás tiempo.<br /></li></ul>Espero que este post haya sido útil, si alguien quiere comentar lo que fuera es bienvenido :-)deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com12tag:blogger.com,1999:blog-8749215386041383025.post-73731365650751051842009-02-16T00:54:00.005+01:002009-02-16T01:34:51.659+01:00Update Site para eOPSOANo sé si alguno se acordará de algunos años como estaba el panorama en GNU/Linux. Yo comencé cuando la cosa iba más o menos bien, allá por el año 2002, y mi primera distribución fue una RedHat 7.3. Por aquel entonces estaba comenzando el tema de las conexiones de banda ancha (aunque realmente no eran tan anchas... ONO ofrecía por aquel entonces 64 kbps) y aunque poco a poco se iba haciendo hueco Internet en casa, no éramos tantos los afortunados internautas. Decía que mi primera distro fue una RedHat 7.3, y aún recuerdo cómo descubrí lo que por aquel entonces se llamaba <a href="http://en.wikipedia.org/wiki/Dependency_hell">dependency hell</a> cuando intenté instalar algún que otro RPM suelto que encontré por ahí: el Compu's Messenger (el abuelo del AMSN actual), los infames drivers binarios de la NVIDIA, el JRE 1.4 de Sun, algún que otro juego... etc. Era una gracia eso de tener el modem de 56 kbps y ver como un paquete depende de otro, otro de otro, otro de otro... y después de descargar 60 megas de paquetes descubrir que has liado tal pisto, que no hay otra solución casi que reinstalar de 0 el sistema. Qué tiempos aquellos, luego descubrí Debian y su bendito apt-get; fue entonces cuando descubrí el cielo. Pero eso es otra historia.<br /><br />Todo lo anterior venía a cuento porque parece mentira, y en pleno año 2009 algunas cosas no han cambiado tanto, y si no andas con tiento te puedes encontrar con el mismo problema. No sé si lo habré comentado antes, pero Eclipse es modular 100%... en realidad todo está descompuesto en n-mil plugins. Eso tiene sus ventajas, y a la vez sus desventajas. Quizá su mayor desventaja es la instalación de plugins nuevos, que como no tengas cuidado te puedes encontrar con el problema que he comentado antes: un infierno de dependencias. A partir de la versión 3.2 (creo) Eclipse introdujo un componente muy interesante llamado <span style="font-style: italic;">Update Manager</span>, donde se añadían <span style="font-style: italic;">Update Sites</span> desde los cuales te puedes bajar <span style="font-style: italic;">plugins</span> y <span style="font-style: italic;">features</span>, y con un poco de buena suerte se calculaban las dependencias de tal forma que no tuvieras que sufrir la tortura de resolverlas a mano. Versión a versión ha ido mejorando la cosa y en la versión 3.4, aunque es lento como el infierno, es prácticamente usable.<br /><br />Aprovechando que el proyecto está avanzando poco a poco, y que ya hay algunas cosas que se pueden ver, pensé que quizá sería buena idea montar un <span style="font-style: italic;">Update Site</span> para distribuir de forma rápida el proyecto, y que quien estuviera interesado probara el software no sufriera tortura. Quién sabe, a lo mejor así alguien se anima a rellenar algún que otro bug report... no sé. Hablé con la gente del Centro de Datos de la ESII (gracias Juan Carlos!!! :-)) y han sido tan majos de proporciarme un sitio donde poder ir colgando el <span style="font-style: italic;">Update Site</span>. La URL es <a href="http://eopsoa.albacete.org/">http://eopsoa.albacete.org</a>, a que mola ¿verdad? ;-)<br /><br />Bueno, para ser sincero no he colgado todavía nada, pero por ahora he escrito un HTML guarro donde describo de forma somera el proyecto, y las instrucciones para descargar las fuentes y los binarios. Cuando termine un par de cosas que estoy implementando lo subo, palabra O:-)<br /><br />He estado pensando en el estado del blog y del proyecto, y creo que no he sido capaz de describir muy bien de qué va mi proyecto. En parte ha sido por desidia mía, pero por otra parte también es verdad que estoy que no me cojo el culo... por eso he pensado que lo mejor sería<a href="http://forja.molinux.info/docman/view.php/34/461/prememoria.pdf"> colgar la prememoria del proyecto</a> que envié cuando inscribí el proyecto en el CUSL, y que aquel que esté interesado que le eche un ojo.<br /><br />Y nada más por ahora, dentro de poco escribiré otra entrada donde intentaré comentar el estado del proyecto, y de las ideas que tengo para el futuro, que creo que pueden ser interesantes.<br /><br /><span style="font-style: italic;">Happy hacking!!</span>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-65465750757956167552008-11-30T22:53:00.009+01:002008-12-01T13:03:56.631+01:003ª semana de desarrollo: comenzando a implementarOtra vez estoy aquí escribiendo unas líneas, y lo primero que quería decir es que muchas gracias a todos, sois gente de p$%& madre :-). No me esperaba que entrara tanta gente y que me diérais tantos ánimos, gracias!!!! Todos me han hecho mucha ilu, pero sobre todo los de Ramón y Miguelillo, que están ambos en Inglaterra (uno en Londres y otro en Cranfield); muchas gracias gambiteros por sacar un ratillo y hacerme una visita :-)<p>Bueno, al turrón. Perdón por saltarme el post que había prometido los dos domingos pasados, pero he estado pringando al máximo para ir sacando esto adelante, y el comienzo se está haciendo un poco durillo. Voy a intentar comentar brevemente qué he estado haciendo estas dos semanas de atrás.</p><h3>Metodología y planificación</h3><p>La metodología de desarrollo que estoy siguiendo es <a href="http://es.wikipedia.org/wiki/RUP">RUP</a>, que junto con <a href="http://es.wikipedia.org/wiki/UML">UML</a> constituyen la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. Es un proceso iterativo, de tal forma que en cada <span style="font-style: italic;">iteración</span>, y según el estado del proyecto, hay una serie de tareas que se deben de realizar como pueden ser definición de requisitos, realizar análisis y diseño... etc. Una de las ventajas que tiene RUP es que es adaptable a la realidad de cada proyecto, y como en este tengo tan poquito tiempo haré más hincapié en las fases de diseño y de implementación.<br /></p><p style="text-align: left;">Dicho esto, he planteado que voy a realizar 5 iteraciones, y he marcado unos objetivos para cada una de ellas. Y sobre estas iteraciones y sus objetivo, he planteado una planificación de lo que debería ser mi trabajo en estos 6 meses de desarrollo. Está realizada con un programa que se llama <a href="http://live.gnome.org/Planner">Planner </a>que bueno, no es perfecto pero es bastante usable.</p><p style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivQHEha7bdlBCSlPrQgsKwYDAW3TdF_5bgIJdQSffgpqAQ1mzJvDuGQ_YwnaJjeGBcjICeZifnzTBpO0IPAzpsjRo-YvcyMOJBGI7Th-nQANA3aHRulyQbL0jXQXbwD_81DVYb76P-XoE/s1600-h/planificacion.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 138px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivQHEha7bdlBCSlPrQgsKwYDAW3TdF_5bgIJdQSffgpqAQ1mzJvDuGQ_YwnaJjeGBcjICeZifnzTBpO0IPAzpsjRo-YvcyMOJBGI7Th-nQANA3aHRulyQbL0jXQXbwD_81DVYb76P-XoE/s320/planificacion.png" alt="" id="BLOGGER_PHOTO_ID_5274790746649894882" border="0" /></a></p><h3>Configuración del repositorio</h3><p>Una de las razones por las que tenía muchas ganicas de que comenzara el CUSL (aparte de porque estoy motivado) era porque quería contar lo antes posible con un <a href="http://es.wikipedia.org/wiki/Control_de_versiones">control de versiones</a> para ir subiendo cosillas e ir organizándome mejor; llevo usando regularmente <a href="http://es.wikipedia.org/wiki/SVN">SVN</a> desde hace un par de años, y estoy más que contento con él. El caso es que después de que me abrieran un proyecto en la <a href="http://forja.molinux.info/projects/eopsoa">forja de Molinux</a>, ya pude comenzar a meter mano al repositorio, que es lo que quería.</p>Un proyecto software produce muchos <span style="font-style: italic;">artefactos</span> o productos: documentación, especificación de requisitos, diagramas UML, código... etc., y la mayoría es posible que vayan evolucionando según vaya avanzando el proyecto. Es interesante entonces meterlos en el control de versiones, y para ser mínimamente organizado es necesario definir un <span style="font-style: italic;">layout</span> del repositorio. Si le echáis un ojo al <a href="http://forja.molinux.info/plugins/scmsvn/viewcvs.php/?root=eopsoa">repositorio de eOPSOA</a> veréis la siguiente configuración:<br /><ul><li><span style="font-family:courier new;">code</span>: en este directorio iré subiendo el código fuente de la aplicación. Dentro hay otros tres directorios <span style="font-style: italic;">trunk</span>, <span style="font-style: italic;">branches</span> y <span style="font-style: italic;">tags</span>. No es obligatorio pero es una práctica común dentro del mundo de Subversion; muy brevemente se podría decir que en el directorio <span style="font-style: italic;">trunk</span> se realizaría el desarrollo de la rama estable del producto, en el directorio <span style="font-style: italic;">branches</span> se podrían crear ramas paralelas de desarrollo, sobre todo para añadir características nuevas que no podrían ser muy estables, hasta que maduran lo suficiente como para volver a <span style="font-style: italic;">trunk</span>. Y en el directorio <span style="font-style: italic;">tags</span> se podrían ir creando puntos interesantes, como por ejemplo la revisión que marca la versión 1.0 del software.<span style="font-style: italic;"></span></li><li><span style="font-style: italic;"><span style="font-style: italic;">management</span></span>: aquí iré subiendo los artefactos que se vayan generando, como por ejemplo el subdirectorio <span style="font-style: italic;">analysis_design</span> que contendrá el modelo de Rational Rose de diseño, <span style="font-style: italic;">planning</span> donde irá la planificación del proyecto, <span style="font-style: italic;">requirements</span> el modelo de requisitos de Rational RequisitePro... etc.</li><li>y por último, <span style="font-style: italic;">proof-of-concept</span>, que será algo parecido aun cajón de sastre, donde iré subiendo ejemplillos o pruebas que crea que puedan ser útiles.</li></ul><p></p><h3>Estado actual, y trabajo para esta semana...</h3><p>Teniendo una planificación, y un repositorio, tenía las herramientas que me hacían falta para empezar a trabajar y crear <span style="font-style: italic;">cosas útiles</span>. Por algo habré hecho ¿no?, aparte de no escribir en el blog... :-P. A estas alturas puedo decir que he finalizado la primera iteración ¡bien!, y tengo lo siguiente:</p><ul><li>Tengo especificados los requisitos funcionales (casos de uso) para la primera y la segunda iteración. Me falta generar documentación, UML sobre todo, para describir la activación de los plugins en Eclipse, estructuras de datos y demás.</li><li>He creado el <span style="font-style: italic;">esqueleto/armazón/stub</span> de los dos módulos que voy a desarrollar por ahora. Por ahora hacen algo muy básico: básicamente se limitan a registrarse en Eclipse, definen una perspectiva, una naturaleza y crean proyectos (vacíos), pero es un comienzo. Sobre estos dos plugins iré construyendo el resto de funcionalidades.</li><li>¿He dicho que estoy aprendiendo un huevo sobre Eclipse? ;-)</li></ul>El trabajo que se plantea para esta semana que entra es el siguiente:<br /><ol><li>Especificar los modelos EMF para el asunto de la gestión de los documentos que necesita OPSOA para caracterizar el software a certificar: el documento de visión , el glosario y un checklist. </li><li>Crear una serie de formularios para dar soporte a la edición y posterior persistencia en XML de los modelos anteriores.<br /></li></ol>Las tareas no parecen tampoco muy complicadas, y el asunto de la persistencia en XML no es complicada porque aunque lleva más trabajo definir los modelos de los documentos con EMF, merece la pena porque se encarga el mismo EMF en serializar y deserializar el modelo en XML.<p></p><p>El principal problema con el que me enfrento ahora es el siguiente... que Eclipse es muy grande, y muchas cosas dependen de otras para realizarlas. Por poner un ejemplo, para hacer el formulario que he comentado antes, debo implementar la interfaz <span style="font-family:courier new;">IFormEditor</span> del API de Eclipse, porque realmente estoy realizando un editor. Bueno, pues para comprender el asunto de los editores, antes debo estudiar también las views, y para las views necesito conocer anteriormente el tema de las JFace Viewers... ahí es na. El API es enorme, hay muchas cosas que dependen de otras, y a diferencia del API de Sun (que es la que conocía hasta ahora) que es más restrictiva en cierto modo, y te "guía" a la hora de realizar las cosas, esta es mucho más flexible. Puedes hacer lo que quieras a tu aire... pero lo primero, posiblemente tardes más, y no se integre bien con la plataforma, o directamente no te funcione. O lo haces a la <span style="font-style: italic;">Eclipse way</span>, para ello debes estudiar y mirar código de los demás, y eso también lleva tiempo y por desgracia no es algo de lo que me sobre actualmente.<br /></p><p>Me está ayudando un montón un libro que compré en eBay hace un par de semanas, se llama <a href="http://www.jdg2e.com/">The Java Developer's Guide to Eclipse</a>. Es un libro muy muy bueno, yo diría que fundamental si se está comenzando con el asunto de la creación de plugins/RCP para la plataforma Eclipse. Es un mostrenco de más de 1000 páginas, escrito por ingenieros de IBM que estuvieron/están trabajando en Eclipse. Entre historias de cambio euro/dolar, y gastos de envío me costó algo más de 40€, pero sinceramente creo que vale cada uno de esos euros :-)</p><p>Bueno, nada más por esta semana, un abrazo muy grande a todos :-)</p><p><span style="font-style: italic;">Happy hacking!!</span><br /></p>deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com0tag:blogger.com,1999:blog-8749215386041383025.post-50597055516653221872008-11-11T17:22:00.003+01:002008-11-11T18:01:28.614+01:00Comienza el II CUSL de CLMParece que por fin han comenzado las actividades del <a href="http://ceslcam.com/concurso/"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">II</span> Concurso Universitario de Software Libre de Castilla-La Mancha</a>, suscrito en el <a href="http://www.concursosoftwarelibre.org/"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">III</span> Concurso Universitario de Software Libre Estatal</a> en su modalidad local.<br /><br />Lo primero presentarme: me llamo David Castellanos Serrano, soy estudiante de Ingeniería Informática en la <a href="http://www.uclm.es">Universidad de Castilla-La Mancha</a>, y durante este curso estaré ocupado con <span style="font-style: italic;">algunas</span> asignaturas, y sobre todo con mi Proyecto Fin de Carrera. Mi <span class="blsp-spelling-error" id="SPELLING_ERROR_2">PFC</span> trata sobre el desarrollo de una herramienta que de soporte a un marco metodológico de certificación de calidad de Software Libre llamada <span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">OPSOA</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_4">OPen</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_5">SOurce</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_6">Assessment</span>)</span>, y que han desarrollado dos profesores de aquí, y que dan la casualidad que son los tutores de mi proyecto.<br /><br />Mi participación en la <span class="blsp-spelling-error" id="SPELLING_ERROR_7">III</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_8">CUSL</span> es presentando mi <span class="blsp-spelling-error" id="SPELLING_ERROR_9">PFC</span>, y el proyecto se llama <span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_10">eOPSOA</span></span>. Así a grandes rasgos, y completando lo que he escrito antes, es implementar una serie de <span style="font-style: italic;"><span class="blsp-spelling-error" id="SPELLING_ERROR_11">plugins</span></span> para Eclipse para soportar el marco metodológico <span class="blsp-spelling-error" id="SPELLING_ERROR_12">OPSOA</span>. El año pasado también estuve apunto de participar junto con mi grupo de una asignatura en otro proyecto, pero nos quedamos fuera por el entorno que usábamos (<span class="blsp-spelling-error" id="SPELLING_ERROR_13">VS</span> C# <span class="blsp-spelling-error" id="SPELLING_ERROR_14">puagh</span>!).<br /><br />Comentando por encima algunas <span class="blsp-spelling-error" id="SPELLING_ERROR_15">cosillas</span> técnicas del proyecto, que a todos nos encantan: el lenguaje de programación será Java 6, estará licenciado con la licencia <a href="http://www.eclipse.org/legal/epl-v10.html"><span class="blsp-spelling-error" id="SPELLING_ERROR_16">EPL</span></a>, usaré la plataforma Eclipse y sus <span style="font-style: italic;">n-mil</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_17">frameworks</span> y librerías (<span class="blsp-spelling-error" id="SPELLING_ERROR_18">SWT</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_19">JFace</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_20">EMF</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_21">GMF</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_22">CNF</span>... etc.). ¿He dicho que me encantan las siglas?, pues lo digo ahora ;-)<br /><br />Desconozco quién será la audiencia de este blog, posiblemente se limite a mi novia, algunos amigos (hasta que se aburran) y algún que otro <span class="blsp-spelling-error" id="SPELLING_ERROR_23">despistaillo</span> incauto que pille. La idea que llevo yo es intentar al menos hacer una entrada semanal, posiblemente los domingos por la tarde. Intentaré comentar qué quiero hacer la semana siguiente, qué tal se me fue la anterior, y según cómo me vea de tiempo a lo mejor comento algunas decisiones de diseño y de implementación que voy tomando según avanza el tiempo, ya veré.<br /><br />Pues ahí queda todo, nos vemos este domingo ;-). Mi ocupación de esta semana es aprender un poquillo sobre cómo gestiona Eclipse el asunto de los proyectos: workspaces, natures, navigator...<br /><br />Happy hacking!deivishttp://www.blogger.com/profile/09312738328503946023noreply@blogger.com10