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