Download Informe Técnico Final Del Proyecto De Investigación - SAPPI
Document related concepts
no text concepts found
Transcript
INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARÍA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS TÍTULO DEL PROYECTO DE INVESTIGACIÓN: DESARROLLO DE UN PROTOTIPO QUE MUESTRE DE MANERA GRÁFICA LA EJECUCIÓN DE UN PROGRAMA EN LENGUAJE JAVA CON LA FINALIDAD DE MEJORAR LA ENSEÑANZA DE LA PROGRAMACIÓN. CLAVE DEL PROYECTO: 20062027 DIRECTOR DEL PROYECTO: M. EN C. RICARDO ARMANDO MACHORRO REYES. ÍNDICE 1. RESUMEN ………………………………………………………………………… 3 2. INTRODUCCIÓN …………………………………………………………………. 3 3. MÉTODOS Y MATERIALES ……………………………………………………. 4 3.1 Diseño del sistema PrototipoJ …………………………………….......4 3.2 Descripción de la ventana principal (interfaz gráfica de usuario del PrototipoJ 1.0) ……………………………………………………………… 6 4. RESULTADOS …...……………………………………………………………… 7 4.1 Instalación …………………………………………………………………. 7 4.2 Ejecución ………………………………………………………………… 11 5. CONCLUSIONES ……………………………………………………………….. 12 5.1 Impacto ……………………………………………………………………. 13 5.2 Productos obtenidos ………………………………………………… 13 5.3 Subproductos obtenidos ………………………………………………..14 BIBLIOGRAFÍA………………………………………………………………… 15 NOTA: EL INFORME TÉCNICO FINAL ESTA INCOMPLETO DEBIDO A QUE SU TAMAÑO ORIGINAL EXCEDE EL TAMAÑO PERMITIDO PARA ENVIARSE EN INTERNET. POR TAL MOTIVO EL INFORME FINAL COMPLETO SE ENTREGA IMPRESO Y TAMBIÉN EN EL CD QUE LO ACOMPAÑA. EL CD CONTIENE LOS SIGUIENTES PRODUCTOS EN LA CARPETA PROTOTIPOJ: Programa ejecutable de la aplicación visual que muestra como se ejecuta un programa en lenguaje Java: PrototipoJ.jar Documentación del proyecto completa (informe técnico final del proyecto de investigación 2006) Nombre Del Archivo: Informe Técnico Final Del Proyecto De Investigación 2006.pdf Manual de usuario del prototipo de visualización de la ejecución de un programa en lenguaje Java (PrototipoJ 1.0) Nombre Del Archivo: Manual De Usuario Del PrototipoJ.pdf Apuntes de programación básica con Java usando el programa ejecutable realizado en este proyecto. Nombre Del Archivo:Apuntes De Programación Básica Con Java.pdf 2 1. RESUMEN El presente proyecto de investigación pretende mostrar a través de una herramienta visual de software la ejecución en modo gráfico de un programa en lenguaje Java con la finalidad de mejorar la enseñanza y el aprendizaje de los los fundamentos de la programación orientada a objetos; lo que sin duda es un tema por demás apasionante e importante para los estudiantes que cursan las carreras de computación e infomática, y que a lo largo del tiempo ha resultado un tema complicado de entender para estos. La herramienta visual nos permite ver como internamente se llaman a los métodos, variables y operaciones que se definan en el programa; así como la creación de arreglos y objetos. Permite que el estudiante siga la ejecución del mismo paso a paso; facilitando su comprensión. El software que muestra esta animación es una aplicación que requiere del kit de desarrollo de Java jdk1.5.0 o superior el cual puede bajarse de internet sin ningún costo lo cual resulta muy atractivo para que los estudiantes puedan practicar y estudiar con mayor detalle, además de también ayudar a los profesores en la impartición de sus clases. 2. INTRODUCCIÓN La programación orientada a objetos se ha convertido en un paradigma de desarrollo fundamental en todos los campos de la Ciencia de la Computación y, por ello, es importante enseñar programación orientada a objetos desde los primeros cursos de programación. Enseñar programación orientada a objetos es más que enseñar la sintaxis y la semántica de un lenguaje de programación orientado a objetos. Dominar la programación orientada a objetos significa que el alumno debe tener conocimientos fluidos de los conceptos de orientación a objetos y ser capaz de aplicarlos efectiva y sistemáticamente cuando desarrolla programas. Conocer los conceptos de orientación a objetos no es suficiente. Los estudiantes deben ser capaces de aplicar sus conocimientos para desarrollar programas del mundo real. Los programas de ejemplo que existen en muchos libros son demasiados simples. Los estudiantes raramente encuentran programas de ejemplo en los libros de texto que usen o definan más de tres clases. Pero, en los proyectos del mundo real, los programadores deben usar muchas clases de las bibliotecas y definir muchas clases por sí mismos. Por ello, que el estudiante pueda introducirse en la programación orientada a objetos y se este en la posibilidad de empezar a programar se requiere comprender los fundamentos básicos de ésta y para clarificar dichos fundamentos se propone una herramienta visual que ayude a facilitar el proceso de enseñanza-aprendizaje de tales principios usando como lenguaje de programación a Java. El PrototipoJ 1.0 es un programa de animación que enseña los principios introductorios de la programación. Los programas son animados automáticamente, no requieren modificaciones o anotaciones por parte de el usuario. El programa es extremadamente simple de usar lo que lo hace fácil de aceptar por los alumnos que empiezan a programar, así como por los profesores; ya que no tienen que investigar en aprender como preparar la animación. En una animación visual son desplegados las partes del programa en Java como son los: métodos de llamado, variables, operaciones, etc., 3 permitiendo al estudiante seguir paso a paso la ejecución del mismo. Los programas pueden ser creados desde el interior del PrototipoJ o pueden ser modificados de un programa previamente almacenado. Dicho programa será mostrado visualmente y no necesita ningún tipo de llamado adicional, toda la visualización es automáticamente generada. PrototipoJ 1.0 comprende e interpreta la mayoría de las construcciones del lenguaje Java y es capaz de animarlas. La característica clave del PrototipoJ 1.0 es la visualización semiautomática de los flujos de control y de los datos de un programa Java. El programa esta escrito en Java por portabilidad . El programa usa una versión modificada de DynamicJava (Koala, 2002) como un front-end y una animación en el fondo como interfaz gráfica. Este programa soporta valores de tipo de dato String y todos los tipos de datos primitivos de Java, esto es: byte, short, int, long, float, double, char y boolean; arreglos unidimensionales de tipos de datos primitivos o Strings como sus componentes de tipo, todas las expresiones pueden incluir operaciones unarias o binarias excepto con instanceof; todas las sentencias de control (if, while, do…while, for, etc.), además de esto, se soporta cualquier invocación de métodos incluyendo invocaciones recursivas de los mismos. No se encuentra implementado lo siguiente: • • • • • • • Acceso a los campos super. Arreglos de clases o de referencia de clases excepto String. Arreglos de dos o más dimensiones. Inicializadores de arreglo. Expresiones condicionales (exp?exp1:exp2). Los métodos de clases de la API del jdk1.4.0 en adelante de java no pueden retornar objetos (excepto del tipo de dato String) o arreglos de tipo por ejemplo objeto.getClass() que retorna una instancia de tipo Class. Ni tampoco la parte gráfica de java con java.awt o javax.swing. 3. MÉTODOS Y MATERIALES Para la realización del sistema PrototipoJ 1.0 se siguió una metodología de desarrollo orientada a objetos (Proceso Unificado), para el modelado se utilizó UML (Lenguaje de Modelado Unificado) y como lenguaje de programación Java. El diseño del sistema se detalla a continuación: 3.1 Diseño del sistema PrototipoJ PrototipoJ es una aplicación de visualización introductoria de los fundamentos básicos de la programación orientada a objetos con Java. Los programas son animados completa o semi-automáticamente, no requieren modificaciones o anotaciones a parte por parte del alumno o el instructor. El programa es simple de usar y fácil de aceptar por los estudiantes principiantes o maestros que no quieren pasar mucho tiempo explicando la animación del programa. El programa esta escrito en Java por portabilidad . El programa usa una versión modificada de DynamicJava (Koala, 2002) ( 3.3) como un front-end y una animación en el fondo como interfaz gráfica. DynamicJava es el intérprete del 4 código escrito en Java. Esta aplicación es código fuente abierto y puede ser libremente bajado del sitio de Internet http: //www.koala.ilog.fr/djava/. En este momento, DynamicJava es también completamente compatible con las especificaciones del lenguaje Java y soporta clases internas, así como el manejo de múltihilos. Para hacer la comunicación entre estos dos sistemas mutuamente se requiere de unir la especificación de un lenguaje intermedio y un intérprete de ese código intermedio. El código fuente del programa se incluyen en el CD en la carpeta PrototipoJ el cual tiene la siguiente estructura: src contiene el código fuente del programa. Se divide en los siguientes subdirectorios: ejemplos Contiene algunos ejemplos que están disponibles para los usuarios. images Imágenes usadas en la interface de usuario del programa koala Contiene el código fuente modificado de Dynamic Java. El sistema contiene varios paquetes importantes que conforman la estructura del sistema. La estructura funcional del programa se muestra en la figura 1. Un usuario interactúa con la interface de usuario y crea el código fuente del programa (1) . El código fuente es envíado al intérprete de Java y el código intermedio es extraído (2 y 3). El código intermedio es interpretado y las instrucciones son indicadas a la máquina de visualización (4 y 5). Un usuario puede controlar la animación ejecutando, pausando, reembobinando o ejecutando paso a paso la animación a través de la interface usuario (6). Además el usuario puede introducir datos, por ejemplo un dato de tipo entero o un string, para que el programa sea ejecutado por el intérprete (6, 7 y 8). 5 2. Código fuente del programa 3.. Interpretación del código del programa realizado por DynamicJava Código intermedio del programa de ejecución 1 4 5 6 Interface de usuario Máquina de visualización 7 Intérprete del código intermedio Usuario Figura 1. Estructura funcional del Sistema PrototipoJ 1.0. Diferentes paquetes del prototipo se explican en esta sección en el mismo orden de la estructura funcional. 3.2 Descripción de la ventana principal (interfaz gráfica de usuario del ProtipoJ 1.0) La interfaz gráfica del programa se encuentra localizada en el paquete jeliot.gui y consta de las siguientes partes tal como se muestra en la figura 2: 6 Barra De Menu Editor ó Vista De Código Panel De Control Ventana De Animación o Vista De Errores Consola De Salida Figura 2. Estructura de la interfaz gráfica de usuario del PrototipoJ. 4. RESULTADOS Como resultado del diseño y la codificación de los paquetes y clases que conforman el sistema PrototipoJ 1.0 se obtuvo el ejecutable que nos permite visualizar la ejecución de un programa en Java. 4.1 Instalación Para poder visualizar gráficamente la ejecución de un programa en Java paso a paso se requerirá que en la computadora donde se ejecute este se tenga instalado el kit de desarrollo de Java preferentemente la versión jdk1.5.0 en adelante, así como el sistema que nos permitirá visualizar gráficamente la ejecución de un programa en Java en este caso PrototipoJ 1.0. Además se sugiere contar con un equipo Pentium IV en adelante con 128 MB en RAM y 40 GB en disco duro como mínimo y sistema operativo Windows de preferencia XP. Si no se cuenta con el jdk1.5.0 o superior se recomienda hacer lo siguiente: Paso 1. Descripción de los programas Para compilar y ejecutar Java se utiliza habitualmente Java Development Kit (kit de desarrollo de Java) o jdk, desarrollado por Sun Corporation. El jdk tiene dos familias principales: Java 2 Standard Edition o J2SE, orientado a uso personal, y Java 2 Enterprise Edition o J2EE, la edición empresarial. A su vez, cada familia tiene diferentes versiones, identificadas por una secuencia de números x.y.z. (Actualmente se encuentra en el sitio de Sun la versión del jdk1.6.0). Paso 2. Descarga del software Es necesario descargar el programa de su sitio web de origen: 1. Abre la página http://java.sun.com/javase/downloads/index.jsp y haz click en "Download jdk-6-windows-i586.exe" y guárdalo en disco 7 (tardará un rato: son 53.16 MB). O bien ejecutarlo desde el CD en el que se proporciona el archivo: jdk-6-windows-i586.exe. Paso 3. • Hacer doble click en el programa de instalación del jdk: "jdk-6-windowsi586.exe". En primer lugar aparece una pantalla como esta: • • • • • Cuando aparezca el cuadro de licencia, pulsar "Accept>". En la siguiente pantalla, no cambiar nada y pulsar "Next>". Posteriormente aparece una pantalla que dice que se están instalando los componentes del programa (installing) En seguida aparece una pantalla donde se solicita la unidad donde se instalará el kit de desarrollo pudiendo ser la unidad c:\. Cuando termine, pulsar "Finish" y se pide reiniciar la computadora. Paso 3. Configuración del jdk Abrir la "Consola del Sistema", también llamada "Símbolo del Sistema" (o en inglés, "Console", "DOS Console", "Command prompt"...). Habitualmente se puede encontrar en "Menú Inicio"->Programas->Accesorios. Si no la encuentra, también puede abrirla yendo a "Menú Inicio"->Ejecutar y escribir "cmd" (o si no probar con "command"). En el símbolo del sistema, escribir: 8 java Si se obtiene un mensaje similar a éste: Entonces continuar con el paso siguiente. Sin embargo, si se obtiene un mensaje como éste: seguir las siguientes instrucciones. • • Pulsar con el botón derecho del ratón sobre "Mi PC" y seleccionar "Propiedades". Seleccionar la pestaña "Opciones avanzadas" y pulsar el botón inferior "Variables de entorno". 9 • • • • Tanto en el cuadro superior como el inferior, buscar una variable que se llama "Path", hacer click sobre ella y pulsar el botón "Modificar" (si aparece en los dos cuadros, hacer lo siguiente dos veces). En el cuadro de valor de variable, añadir al final (cuidado, SIN BORRAR NADA): <lo que hubiera antes>;c:\jdk1.6.0\bin. y pulsar "Aceptar". 1. Buscar otra vez en la lista de variables si existe "CLASSPATH". Si no existe, no pasa nada, seguir con el siguiente punto. Si existe, click sobre ella y pulsa el botón "Modificar" (si aparece en los dos cuadros, hacer lo siguiente dos veces). En el cuadro de valor de variable, añadir al final (cuidado, SIN BORRAR NADA): 2. <lo que hubiera antes>;. (cuidado: con un PUNTO al final) y pulsar "Aceptar". 3. Cerrar el cuadro de diálogo de variables de entorno con "Aceptar" y otra vez "Aceptar" para "Propiedades del sistema". Si se tenía abierta la consola del sistema, hay que cerrarla para que se carguen los nuevos valores. Ábrir la consola otra vez y comprobar que al escribir javac y java se obtienen los mensajes habituales de Java. Si sigue apareciendo el mensaje 10 "javac" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable. ... revisar que se han seguido todos los pasos correctamente y volver a repetir el paso 3. 4.2. EJECUCIÓN Una vez instalado correctamente el kit de desarrollo de Java. Se procede a la ejecución del programa: Primero hay que presionar doble click sobre el archivo PrototipoJ.jar que se encuentra dentro de la carpeta PrototipoJ del CD que se adiciona con este trabajo, tal como se muestra a continuación: Inmediatamente ejecuta el programa y aparece una pantalla como esta: 11 Y a continuación la pantalla principal del programa, tal como se muestra a continuación: 5. CONCLUSIONES De acuerdo a mi experiencia docente, creó que la programación cualquiera que esta sea sin importar el paradigma o estilo de programación del que se enseñe simpre será mejor comprendida por el estudiante, cuando este puede verla no como algo abstracto sino como algo que puede verse; es por ello que consideró que estas herramientas de software pueden de ser de gran utilidad para que nuestros estudiantes de Computación puedan entender mejor el 12 apasionante mundo de la programación y en especial el de la programación orientada a objetos con el lenguaje Java. 5.1 Impacto Este software contribuye en facilitar el proceso enseñanza-aprendizaje de la programación orientada a objetos ya que es un sistema que incluye los conceptos y estructuras básicas de un lenguaje de programación como Java, además de ser un programa muy flexible y fácil de usar tanto por los estudiantes como por los profesores. Es importante mencionar que al haber sido escrito en Java le da una gran portabilidad lo que también puede verse como una ventaja. Para la realización de este trabajo el presupuesto total se ejerció de la siguiente manera como se muestra en la siguiente tabla 4: Presupuesto Proyecto Del IPN-CGPI Asignado Ejercido Gasto Corriente $10,000 $10,000 Inversión 0 0 Total $10,000 $10,000 Tabla 4. Presupuesto Total Del Proyecto Otras Fuentes De Financiamiento Asignado Ejercido - - 5.2 Productos obtenidos Se obtuvieron los siguientes productos tal como se muestra en la tabla 5: Númer o 1 Descripción Programa ejecutable de la aplicación visual que muestra como se ejecuta un programa en lenguaje Java: PrototipoJ.jar 2 Documentación del proyecto (informe técnico final del proyecto de investigación 2006) Nombre Del Archivo: Informe Técnico Final Del Proyecto De Investigación 2006.pdf 3 Manual de usuario del prototipo de visualización de la ejecución de un programa en lenguaje Java (PrototipoJ 1.0) Nombre Del Archivo: Manual De Usuario Del PrototipoJ.pdf 4 Apuntes de programación básica con Java usando el programa ejecutable realizado en este proyecto. Nombre Del Archivo:Apuntes De Programación Básica Con Java.pdf Tabla 5. Productos Obtenidos NOTA: Todos los productos que resultaron de este proyecto se incluyen de manera completa en el CD que se adiciona con este trabajo; dentro de la carpeta que lleva por nombre PrototipoJ. 13 5.3 Subproductos obtenidos Como resultado del proyecto se obtuvieron los siguientes subproductos como se muestra en la tabla 6: Difusión Tipo de la investigación Congreso Nacional Fechas Inicio Terminación 25/09/2006 29/09/2006 Nombre - Congreso Estatal De Lenguajes De Programación Orientados A Objetos Y Sus Aplicaciones En La Educación. Lugar: SICOM Zacatlán, Puebla. Ponencia Nacional 02/10/2006 06/10/2006 Ponencia: “Como Aprender El Lenguaje Java A Través De Una Aplicación Visual” - Congreso Estatal De Lenguajes De Programación Orientados A Objetos Y Sus Aplicaciones En La Educación. Lugar: SICOM Zacatlán, Puebla. Seminario Institucional 02/08/200524/02/2006 / / Ponencia: “Diseño De Un Prototipo Para La Enseñanza Del Lenguaje Java” Análisis, Diseño y Programación Orientada A Objetos(FNS508200 5) Duración: 150 hrs. Sede: UPIICSA Tabla 6. Subproductos Obtenidos. 14 BIBLIOGRAFÍA McConnell Steve, “Desarrollo y gestión de proyectos informáticos”, Editorial McGraw-Hill, México, 2003. Jacobson Ivar, Booch Grady, Rumbaugh James, “El proceso unificado de desarrollo de software”, Editorial Addison Wesley, México, 2004. Jacobson Ivar, Booch Grady, Rumbaugh James, “El lenguaje unificado de modelado”, Editorial Addison Wesley, México, 2002. Lemay, Laura, “Aprendiendo Java 2 en 21 días”, Editorial Prentice-Hall, México, 1999. Eckel, Bruce, “Piensa en Java 2”, Editorial McGraw-Hill, México, 2003. Deitel & Deitel, “Programación con Java 2”, Editorial Pearson Education, México, 2003. Ceballos Sierra, Francisco Javier, “El lenguaje de programación de Java”, Editorial Ra-Ma, México, 2001. Froufe, A. “Java 2: Manual de usuario y tutorial (2ª Edición)”, Editorial Ra-Ma, México, 2000. Moreno, A., Myller, N., 2004. The intermediate language specification – mcode. Consulta en Internet: http://java.sun.com Sun produce nuevas versiones del JDK (Kit de Desarrollo de Java), la biblioteca de clases de Java y otros productos. Si se desea información sobre el lenguaje Java, este sitio es el primer lugar que se debe visitar. Koala, 2002. DynamicJava. http://koala.ilog.fr/djava/ 15