desarrollado por: javier salcedo gómez dirigido por: prof. fernando sáenz pérez dpto. ingeniería...
TRANSCRIPT
![Page 1: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/1.jpg)
Desarrollado por: Javier Salcedo Gómez
Dirigido por: Prof. Fernando Sáenz Pérez
Dpto. Ingeniería del Software e Inteligencia Artificial
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
SISTEMAS INFORMÁTICOS 2010/2011
DES GUI Front-end
Versión 0.8
![Page 2: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/2.jpg)
Índice de contenidos
• Introducción• Versión 0.7 y anteriores• Objetivos cumplidos• Objetivos no cumplidos• Posibles mejoras• Conclusión
SISTEMAS INFORMÁTICOS 2010/20112
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 3: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/3.jpg)
Introducción (1)
• DES (Datalog Educational System)– Bases de datos deductivas basadas en Prolog– Portable– Datalog + SQL– http://des.sourceforge.net
SISTEMAS INFORMÁTICOS 2010/20113
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 4: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/4.jpg)
Introducción (2)
• Datalog en Wikipedia
SISTEMAS INFORMÁTICOS 2010/20114
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 5: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/5.jpg)
Introducción (3)
• Entorno de desarrollo integrado (IDE) para la edición, compilación y ejecución de proyectos
• Desarrollado en JAVA 1.6– Multiplataforma
• Configurable– Gestión de proyectos– Barra de menús– Barra de herramientas– Editor de archivos– Panel de consola– Configuraciones léxicas e idioma
SISTEMAS INFORMÁTICOS 2010/20115
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 6: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/6.jpg)
Introducción (4)
• Relevancia del proyecto– http://acide.sourceforge.net
SISTEMAS INFORMÁTICOS 2010/20116
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 7: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/7.jpg)
Introducción (5)
SISTEMAS INFORMÁTICOS 2010/20117
Panel del explorador
Panel de la consola
Panel del editor de archivos
Panel de la barra de herramientas
Panel de la barra de estado
Barra de menús
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 8: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/8.jpg)
Versión 0.7 y anteriores
• Poco amigable visualmente– Falta de iconos en menús– Falta de logotipo
• Código fuente totalmente descuidado– Español e Inglés– Sin comentarios ni Javadoc– Sin licencia GPLv3– No optimizado Duplicación de Código
• Aplicación estable y funcional
SISTEMAS INFORMÁTICOS 2010/20118
¿Código abierto?
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 9: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/9.jpg)
Objetivos Cumplidos
• Mejoras en el aspecto gráfico• Estandarización del código fuente
– Estructura de paquetes
• Refactorización del código fuente– Editor de archivos– Barra de menús
• Solución de errores existentes• Adición de nuevas funcionalidades
– Gestor del espacio de trabajo (AcideWorkbenchManager)– Configuraciones léxicas por defecto– Configuraciones de barra de herramientas y léxicas
SISTEMAS INFORMÁTICOS 2010/20119
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 10: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/10.jpg)
Mejoras en el aspecto gráfico (1)
• Adición de iconos– Barra de menús– Menús contextuales en la aplicación
• Creación de un logotipo para la aplicación
SISTEMAS INFORMÁTICOS 2010/201110
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
SplashScreen
Menú Edición
![Page 11: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/11.jpg)
Mejoras en el aspecto gráfico (2)
• Sustitución de iconos existentes por nuevos iconos más actuales– Panel del explorador de proyectos– Editor de archivos
– Barra de herramientas
SISTEMAS INFORMÁTICOS 2010/201111
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
Barra de Herramientas con Scroll
Panel del explorador
Archivo Principal
Archivo CompilableArchivo Modificado
Archivo No Modificado
![Page 12: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/12.jpg)
Mejoras en el aspecto gráfico (3)
• Icono para las ventanas de la aplicación• Unificación de formatos para las ventanas de
configuración de la aplicación
SISTEMAS INFORMÁTICOS 2010/201112
Panel principal
Panel de botones
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 13: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/13.jpg)
Mejoras en el aspecto gráfico (4)
• Barra de estado– JTextField JPanel
SISTEMAS INFORMÁTICOS 2010/201113
Mensaje de estado
Mensaje de configuración sintáctica
Mensaje de configuración léxica
Mensaje de columna/línea Reloj
Mensaje de modo de escritura
Mensaje de bloqueo de mayúsculas (1)
Mensaje de bloqueo de teclado numérico (2)
Mensaje de bloqueo de Scroll (3)
(1) (2) (3)
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 14: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/14.jpg)
Estandarización del código fuente (1)
• Licencia GPLv3 en cada clase del código fuente
SISTEMAS INFORMÁTICOS 2010/201114
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
/* * ACIDE - A Configurable IDE * Official web site: http://acide.sourceforge.net * * Copyright (C) 2007-2011 * * Authors: * - Fernando Sáenz Pérez (Team Director). * - Version from 0.1 to 0.6: * - Diego Cardiel Freire. * - Juan José Ortiz Sánchez. * - Delfín Rupérez Cañas. * - Version 0.7: * - Miguel Martín Lázaro. * - Version 0.8: * - Javier Salcedo Gómez * * This program is free software: you can redistribute * it and/or modify it under the terms of the GNU General Public * License as published by the Free Software Foundation, * either version 3 of the License, or (at your option) any
* later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/>. */
![Page 15: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/15.jpg)
Estandarización del código fuente (2)
• Inglés• Comentarios Javadoc, simples y multilínea• private int _count;• Public class AcideWorkbenchManager{…}• int getCount(){…}• private String SHOW_CONSOLE_PANEL_NAME;• private JButton _acceptButton;
SISTEMAS INFORMÁTICOS 2010/2011
15
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 16: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/16.jpg)
Estandarización del código fuente (3)
• Ventanas de configuración// Crea y configura los componentes de la ventanaprivate void initComponents()...// Añade los componentes a la ventanaprivate void addComponents()...// Establece el título, tamaño, muestra la ventana, etc.private void setWindowConfiguration...// Establece los listeners para los componentes de la
ventana.private void setListeners()...// Cierra la ventana.private void closeWindow()...
SISTEMAS INFORMÁTICOS 2010/201116
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 17: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/17.jpg)
Estandarización del código fuente (4)
• Barra de menús y menús contextuales// Crea y configura los componentes del menúprivate void buildComponents()...// Añade los componentes al menúprivate void addComponents()...// Establece el texto y los atajos de las opciones del
menú.private void setTextOfMenuComponents...// Establece la visibilidad o invisibilidad de los
componentes del menú.private void updateComponentsVisibility()...// Establece los listeners para los componentes de la
ventana.private void setListeners()...
SISTEMAS INFORMÁTICOS 2010/201117
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 18: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/18.jpg)
Estructura de paquetes
SISTEMAS INFORMÁTICOS 2010/201118
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 19: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/19.jpg)
Refactorización del Editor de Archivos(1)
SISTEMAS INFORMÁTICOS 2010/201119
Panel separador
Vista 1
Vista 2
Líneas
Panel de pestañas
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 20: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/20.jpg)
Refactorización del Editor de Archivos(2)
• Anteriormente– Dos vistas del documento Dos clases idénticas– Una clase para el control del TabbedPane
CreadorEditor– Una clase que contenía las dos vistas (clases
idénticas) Editor
SISTEMAS INFORMÁTICOS 2010/2011 Javier Salcedo Gómez20
ACIDE – A Configurable IDE 0.8
![Page 21: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/21.jpg)
Refactorización del Editor de Archivos(3)
• Ahora– Una clase para el control del TabbedPane
AcideFileEditorManager– Una clase global para las dos vistas del documento
AcideFileEditorPanel– Una clase especializada para la zona de edición de texto
AcideFileEditorTextEditionArea• AcideTextPane
– Modo inserción/sobreescritura (Insert/Overwrite)– Sangrado automático (Automatic Indent)– Ajuste de línea (Line wrapping)
ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/2011 Javier Salcedo Gómez21
![Page 22: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/22.jpg)
Refactorización del Editor de Archivos(4)ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/2011 Javier Salcedo Gómez22
![Page 23: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/23.jpg)
Refactorización del Menú(1)
• Anteriormente– Una única clase
• Opciones de menú• Listeners
– Configuración basada en array estático• ¿Fácilmente ampliable?
– Aplicación de la configuración• Opciones añadidas y no añadidas al menú Ventana
de configuración generada manualmente
ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201123
Javier Salcedo Gómez
![Page 24: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/24.jpg)
Refactorización del Menú(2)
• Ahora– Una clase por menú– Cada listener en una clase separada– Configuración basada en array dinámico
• Fácilmente ampliable
– Aplicación de la configuración• Opciones ocultadas o mostradas en el menú Ventana
de configuración generada automáticamente
ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201124
Javier Salcedo Gómez
![Page 25: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/25.jpg)
Refactorización del Menú(3)ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201125
Javier Salcedo Gómez
![Page 26: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/26.jpg)
Gestor del Espacio de TrabajoACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201126
Javier Salcedo Gómez
![Page 27: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/27.jpg)
Configuraciones léxicasACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201127
Javier Salcedo Gómez
![Page 28: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/28.jpg)
Léxicos por defectoACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201128
Javier Salcedo Gómez
![Page 29: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/29.jpg)
Configuración de la presentación
• Efecto Zoom Ctrl+Rueda ratón
ACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201129
Javier Salcedo Gómez
![Page 30: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/30.jpg)
Configuración de la BHACIDE – A Configurable IDE 0.8
SISTEMAS INFORMÁTICOS 2010/201130
Javier Salcedo Gómez
![Page 31: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/31.jpg)
Objetivos no cumplidos
• Interfaz para DES estilo Microsoft Access• Definición y aplicación de análisis sintáctico sobre los archivos
abiertos en el editor de archivos• Barra de menús totalmente parametrizable• Gestión optimizada de hilos en:
– Apertura de ficheros– Aplicación de configuraciones léxicas
• Refactorización de la ventana de Búsquedas/Reemplazos– Opción de Respetar Mayúsculas/Minúsculas en reemplazos
SISTEMAS INFORMÁTICOS 2010/201131
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 32: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/32.jpg)
Posibles mejoras
• Gestor de Excepciones• Ventana de ayuda de la aplicación con índice de
contenidos• Abrir archivos usando ACIDE como editor por
defecto en el SO• Permitir Drag and Drop de archivo sobre ACIDE• Macros de comandos
• … Infinitas posibilidades
SISTEMAS INFORMÁTICOS 2010/201132
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 33: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/33.jpg)
Conclusión
• Muchos problemas para conseguir versión estable y distribuible– Erasmus – Diez meses
• Technische Universiteit Eindhoven
– Grupo unitario Único punto de vista– Comunicación por e-mail con supervisor
• Rediseño total de un proyecto + mejoras añadidas + corrección de errores
• Versión estable y distribuible• Código fuente estandarizado en Inglés
SISTEMAS INFORMÁTICOS 2010/201133
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez
![Page 34: Desarrollado por: Javier Salcedo Gómez Dirigido por: Prof. Fernando Sáenz Pérez Dpto. Ingeniería del Software e Inteligencia Artificial F ACULTAD DE I](https://reader033.vdocuments.pub/reader033/viewer/2022051314/553405b85503464e688b49f0/html5/thumbnails/34.jpg)
Turno de preguntas
SISTEMAS INFORMÁTICOS 2010/201134
ACIDE – A Configurable IDE 0.8
Javier Salcedo Gómez