10-. Conclusiones y Líneas Futuras. Capítulo 10: Conclusiones y Líneas Futuras. - 205 - 10-. Conclusiones y Líneas Futuras. 10. Conclusiones y Líneas Futuras. Como resultado de este proyecto se ha conseguido disponer de una herramienta que nos permite la creación de nuevos esquemas XML, así como el mantenimiento de esquemas ya existentes. La aplicación posee una interfaz de usuario intuitiva, llamativa, eficiente y sencilla de utilizar, que nos permite añadir nuevos tipos, actualizar esquemas y otras muchas posibilidades. Estos eran los objetivos fundamentales del proyecto y se han conseguido. He logrado introducirme en las “entrañas” de una herramienta de edición, y ver las dificultades que implica la realización de dicho tipo de programa, y de un proyecto software en general. Además, desde un punto de vista personal, se han cumplido mis objetivos: me he enfrentado a un proyecto prácticamente desde cero, y sin conocer nada sobre interfaces de usuario he sido capaz de desarrollar este software. También he comprendido la manera en que se llevan a cabo los proyectos de software profesionales modernos, en los que el software desarrollado se ve sometido a pruebas continuas. Este proyecto representa todos los conocimientos adquiridos durante estos meses de trabajo que considero muy importantes, y que me han permitido comprender un poco más la ingeniería del software y que tal vez me den acceso al mundo laboral. 10.1-. Líneas futuras. Si bien se han cumplido los objetivos marcados, es cierto que se pueden realizar bastantes ampliaciones a este proyecto. Se ha decidido parar en este punto y se ha intentado documentar lo mejor posible este proyecto para que en un futuro alguien continúe los pasos dados e implemente otros elementos para así completar y mejorar la herramienta. (Y, ¿quién sabe?, incluso permitir su utilización como software libre algún día...). Se muestran aquí las líneas futuras o posibles ampliaciones del proyecto con una breve explicación sobre cada una. Algunas son bastante sencillas, de otras se dan referencias bibliográficas que pueden ayudar a implementarlas y otras son más complicadas de realizar. - IMPRIMIR: Se trataría de implementar los elementos que permitan imprimir los esquemas con los que estemos tratando en el editor. INSERTAR: Este apartado merece una mención especial. Ya comentamos en el apartado “Aplicación desarrollada” que no se había implementado la inserción de todos los tipos de elementos que existen para XML Schema. Esto es simplemente porque se decidió implementar algunos que sirvieran como representación, para mostrar cómo se realizarían (ya que son todos prácticamente iguales), y así poder dedicar tiempo a implementar otras funcionalidades. Habría que implementar todos los elementos, tanto los once que están en la lista, como el resto de elementos del esquema. La pregunta a contestar ahora es: ¿cuál es la razón de que se haya decidido mostrar esos once y - 207 - 10-. Conclusiones y Líneas Futuras. - - - - - - - - no otros? Pues porque son los once tipos de elementos que se pueden insertar bajo el nodo raíz <xsd:schema> directamente. Se pretendía comenzar con estos y después continuar. Se deja a la persona que amplíe este proyecto que decida en que forma implementará el resto de elementos, si realizará nuevos menús o utilizará el mismo menú Insert, si incluirá más botones en la barra de herramientas, etc. BUSCAR Y SUSTITUIR: (Find and Replace). Esta es una de las funcionalidades más útiles de un editor de texto. Se insta al lector a leer el apartado 20.7 del libro “Java Swing 2nd Edition” de la Editorial Manning. Le puede resultar de bastante ayuda para implementar esta función. NUEVO ARCHIVO: Otra opción que se propone como línea futura es que al crear un archivo nuevo, se muestre al usuario un cuadro de diálogo en el que sea él quien elija lo que quiere, en vez de leer el nuevo archivo desde config.txt. Estas opciones pueden incluir el espacio de nombre, los elementos que quiere añadir directamente y en que orden, etc. VALIDACIÓN: Ya aclaramos que no era uno de los objetivos de este proyecto, pero tal vez sea buena idea para seguir ampliando las funcionalidades que ofrece este editor que sea capaz de validar un esquema. Hacer que el editor permita ocultar todo el contenido de una etiqueta, (o mostrarlo en el caso en que esté oculto) utilizando por ejemplo los típicos signos +/- colocados junto a la etiqueta. Ofrecer autocompletado de palabra (es decir, si estoy escribiendo elem... que se abra un cuadro que me ofrezca elegir “element” sin necesidad de escribirlo de forma completa). LÍNEA Y COLUMNAS ACTUALES: Marcar la línea y columna en que se encuentra el caret cada instante. NUMERACIÓN DE LAS LÍNEAS: Poner a la izquierda del texto la numeración de las líneas. Hacer que el usuario pueda elegir tener esta función activada o no. CONFIGURACIÓN: Realizar una función que permita al usuario configurar sus preferencias. Aquí se pueden añadir muchas cosas: o Elegir los colores para las palabras que se reconocen. o Máximo de Undos-Redos que se almacenan. o Posibilitar el cambio de look and feel. o Etc. SOPORTE PARA OTROS ESQUEMAS: Como ya hemos ido comentando, se deja abierta la posibilidad de que se realice el soporte para otros esquemas como Schematron o RELAX-NG. - 208 -