1 CAPÍTULO 1. INTRODUCCIÓN.bibing.us.es/proyectos/abreproy/10960/fichero/memoria.pdf1.1...

125
Capítulo 2. Análisis del Ámbito de Aplicación Escuela Superior de Ingenieros 1 1 CAPÍTULO 1. INTRODUCCIÓN. 1.1 Preliminares y justificación. Con el amplio desarrollo de las Tecnologías de la Información y de las Telecomunicaciones en general, Internet se ha consolidado como un medio de comunicación e intercambio de datos masivo, cada vez más útil y próspero, y a la vez accesible a un gran número de personas. La información fluye libremente de un continente a otro en décimas de segundo con un solo clic de ratón. Todos se benefician de este hecho: empresas, particulares, entidades gubernamentales, docentes o de investigación, asociaciones, etc. Así mismo la Universidad, al igual que la sociedad, está sufriendo una metamorfosis provocada por el ingente avance tecnológico que estamos experimentando. Los sistemas educativos se están viendo claramente influenciados por las nuevas tecnologías de la enseñanza, lo que permite la introducción de nuevas técnicas y medios docentes hasta ahora no imaginados. La realidad educativa de los últimos años ha sido afectada por la suma de dos fenómenos. De una lado, la introducción progresiva de nuevos medios informáticos,

Transcript of 1 CAPÍTULO 1. INTRODUCCIÓN.bibing.us.es/proyectos/abreproy/10960/fichero/memoria.pdf1.1...

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 1

1 CAPÍTULO 1. INTRODUCCIÓN.

1.1 Preliminares y justificación.

Con el amplio desarrollo de las Tecnologías de la Información y de las

Telecomunicaciones en general, Internet se ha consolidado como un medio de

comunicación e intercambio de datos masivo, cada vez más útil y próspero, y a la vez

accesible a un gran número de personas. La información fluye libremente de un

continente a otro en décimas de segundo con un solo clic de ratón. Todos se benefician

de este hecho: empresas, particulares, entidades gubernamentales, docentes o de

investigación, asociaciones, etc.

Así mismo la Universidad, al igual que la sociedad, está sufriendo una

metamorfosis provocada por el ingente avance tecnológico que estamos

experimentando. Los sistemas educativos se están viendo claramente influenciados por

las nuevas tecnologías de la enseñanza, lo que permite la introducción de nuevas

técnicas y medios docentes hasta ahora no imaginados.

La realidad educativa de los últimos años ha sido afectada por la suma de dos

fenómenos. De una lado, la introducción progresiva de nuevos medios informáticos,

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 2

equipos, y recursos audiovisuales en las universidades de forma significativa, de hecho

hoy día prácticamente todas las facultades poseen un centro de calculo o aula de

informática donde los alumnos pueden en acceder a ordenadores personales y a

aplicaciones informáticas. Por otra parte se han producido cambios globales que han

supuesto grandes avances tecnológicos en las TIC1 en la mayoría de los sectores de la

sociedad. Existe, sin duda, una relación mutua entre estos dos fenómenos, ya que la

aparición de estas nuevas tecnologías son las que han propiciado la introducción de

éstas en los centros educativos, y concretamente en la universidad.

Las que han sido denominadas nuevas tecnologías, para diferenciarlas de las

tradicionales, tienen cuatro pilares básicos que son: la informática, la electrónica, los

medios audiovisuales y las redes de comunicación. Estos conceptos interrelacionan

entre si, constituyendo un marco tecnológico que nos obliga a avanzar en los métodos

pedagógicos actuales.

No obstante no debemos olvidar que antaño las nuevas tecnologías ya se

introdujeron en los centros educativos como un intento de mejora de la calidad de

enseñanza, mediante medios audiovisuales, proyecciones, televisión, etc. Sin embargo,

los cambios que han supuesto las TIC en los organismos educativos han superado toda

expectativa y han supuesto una implantación masiva en un, relativamente, corto periodo

de tiempo, afectando de raíz a los sistemas educativos, a sus modelos y al escenario en

el que tendría lugar el proceso de aprendizaje y enseñanza.

De este modo podemos afirmar que el profesorado debe adaptarse a los nuevos

recursos que van apareciendo, para cambiar su metodología y utilizar los nuevos

recursos telemáticos y elementos multimedia que están presentes en la sociedad como

nuevas herramientas de trabajo que nos lleve a aumentar la calidad de enseñanza.

Este cambio implica una evolución en el papel tanto por parte del profesor como

del alumno dentro de la clase, desapareciendo la idea clásica de profesores en sus atriles

1 Tecnologías de la Información y de la Comunicación.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 3

y alumnos en sus pupitres en la que el profesor era un mero transmisor de información y

el alumno adquiría un papel meramente pasivo.

De todo lo visto, podemos afirmar que se considera a las nuevas tecnologías

como útiles desde el punto de vista de la metodología docente por varios motivos:

introducen un aprendizaje más activo sin que esta responsabilidad recaiga de forma

absoluta sobre el docente, permiten que el alumno avance de forma individual en sus

conocimientos sin someterse a horarios ni emplazamientos imprescindibles lo que

responde a las posibilidades y necesidades de cada alumno, hacen el aprendizaje mucho

más participativo e interactivo. En definitiva, podemos admitir la necesidad de su uso

(especialmente de las herramientas multimedia, diseños Web, realidad virtual, etc.) y

por tanto, de realizar nuevas herramientas basadas en ellas.

Además, y ahondando en lo anterior, en las Escuelas de Ingeniería de España se

está produciendo un notable cambo en los planes de estudio, cambio al que no es ajena

la Escuela Superior de Ingenieros de Sevilla, que está afectando notablemente a la

metodología docente. Este cambio se traduce en el mayor peso de las clases de tipo

práctico en la búsqueda de fomentar el concepto aprender-realizando. El objetivo

perseguido no es otro que simplificar la docencia de materias que son complicadas de

impartir empleando el método de enseñanza tradicional.

1.2 Objetivos y Alcance.

El objetivo de este proyecto, es la de aplicar a la enseñanza las enormes

posibilidades que nos brindan las nuevas tecnologías de modo que podamos abrir un

nuevo horizonte en el seguimiento de cualquier asignatura, de forma que se convierta en

una tarea mucho más participativa y atractiva para el alumno. Por tanto, y a grandes

rasgos, se pretende con este proyecto dar un paso adelante en la evolución de la

educación, dejando a un lado la clásica relación profesor-alumno y dando paso a nuevos

conceptos como el autoaprendizaje de forma remota.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 4

En líneas generales el proyecto va a contemplar el desarrollo de un portal web

educacional, relacionado con una asignatura en concreto, pero que se podría extender y

aplicar a otros ámbitos lectivos. A continuación se desglosan brevemente los cometidos

que se llevarán a cabo durante la realización del proyecto.

• Desarrollar un entorno de trabajo en el que el alumno, de forma remota,

pueda realizar todas y cada una de las tareas que podría desarrollar si se

encontrara realmente asistiendo a una clase práctica.

• Crear un espacio virtual en el que se represente el escenario de trabajo

real, para introducir así al alumno de una forma óptima en la situación

habitual del desarrollo de cualquier asignatura. Lograremos de esta

forma, no solo que el alumno conozca de ante mano el ambiente lectivo

en el que se va a desenvolver si no que además pueda familiarizarse con

él y desarrollar una actividad lectiva más eficiente.

• Suministrar de forma rápida y clara toda la información necesaria para

poder desarrollar la asignatura de manera que el alumno no se vea

abocado, como ocurre en numerosas ocasiones, a asistir a clases sin

apenas conocimientos de lo que se va a encontrar. Así mismo, despertar

un mayor interés por la asignatura y conseguir un aprovechamiento

mucho mejor de ésta.

• Administración a través de una base de datos interactiva de todos los

alumnos pertenecientes a la asignatura, así como todos los movimientos,

operaciones, tareas, etc. que se puedan registrar en una sesión de trabajo

en el entorno desarrollado.

Estos son los aspectos generales en que se basará este proyecto. A continuación

se mostrará más detalladamente como hemos ido logrando cada uno de estos objetivos y

hacia donde podemos dirigir nuestras futuras líneas de trabajo.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 5

2 CAPÍTULO 2. ANÁLISIS DEL ÁMBITO DE

APLICACIÓN.

2.1 Introducción.

En el presente proyecto fin de carrera se desarrolla una herramienta software en

la que se engloban varias líneas de trabajo, todas ella dedicadas a una labor conjunta, la

de implantar en la educación las Nuevas Tecnologías y acrecentar la calidad de

enseñanza.

El trabajo realizado en este proyecto se enmarca en el Departamento de

Ingeniería Electrónica, concretamente en la asignatura “Laboratorio de Instrumentación

Electrónica” de 5º curso de Ingeniería de Telecomunicaciones, asignatura

eminentemente práctica. Aunque el enfoque del proyecto se fije en esta asignatura, éste

es aplicable a muchas otras asignaturas de naturaleza práctica tanto del mismo

departamento como de cualquier otro.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 6

La asignatura LIE2, alrededor de la cual gira este proyecto, se encuentra en el

último curso de la carrera, lo que nos puede llevar a pensar que la materia de la que

consta es ampliamente conocida, y esto es un error, ya que los conocimientos,

información, sistemas, etc. que hay que emplear durante el desarrollo de la asignatura

son abundantes y en gran medida desconocidos por el alumno. En base a esto, podemos

decir que la elección del proyecto ha sido derivada de la experiencia propia del alumno

al cursar el año anterior la asignatura.

Actualmente, en el transcurso de la asignatura se lleva a cabo la realización de

una serie de prácticas, en las cuales hay que trabajar con diversos aparatos como

analizadores lógicos, analizadores de espectro, osciloscopios digitales, cuyas

características, funciones básicas, etc. hay que aprender en base a documentación

teórica demasiado abundante y tediosa. Sumado a esto, nos encontramos que la

elaboración de las prácticas no es una labor liviana.

Con todos estos condicionantes, descubrimos que a pesar de ser una asignatura

tremendamente atractiva, el alumno no aprovecha totalmente sus horas lectivas, lo que

nos lleva a buscar una ayuda a esta tarea de enseñanza, desembocando en la concepción

del presente proyecto.

2.2 Estudio del ámbito de aplicación.

El escenario donde nos vamos a ubicar en la actualidad y sobre el que se van a

establecer las líneas de trabajo del proyecto fin de carrera, es un portal web que posee el

profesor responsable de la asignatura D. Federico José Barrero García, portal de carácter

docente y que esta dirigido a los alumnos que se encuentren cursando la asignatura

“Laboratorio de Instrumentación Electrónica”.

2 Laboratorio de Instrumentación Electrónica.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 7

Se compone de una parte estática (principalmente apuntes y diverso material

docente relacionado con la asignatura, que el alumno podrá visualizar o descargar,

según el caso), y una serie de servicios (consulta de notas y calificaciones, tablón de

dudas, noticias, etc.) basados en la generación dinámica de páginas e implementados

mediante PHP y cuyos datos se almacenan en un servidor de bases de datos MySQL.

El portal ofrece una serie de servicios al alumno. A saber:

• Información general de la asignatura, en la que se dan información

básica como programa de la asignatura, criterios de evaluación, examen,

etc.

• Consulta del “tablón de dudas”, lugar donde se recogerán las dudas más

frecuentas de los estudiantes y la correspondiente respuesta que haya

dado el profesor.

• Consulta del “tablón de noticias”, donde el profesor podrá emitir diversa

información y comunicados a los alumnos.

• Consulta de las calificaciones, mediante el cual el alumno tendrá acceso a

las notas de la asignatura.

• Sistema de recogida y evaluación de una “encuesta de calidad”, acerca de

todos los aspectos docentes de la asignatura. Sólo tienen opción de

realizarla los alumnos matriculados en la asignatura.

• Consulta del listado de “monitores” adscritos a la asignatura.

Los datos usados en cada servicio son almacenados en bases de datos, y estas

últimas residen en un servidor MySQL. De esta forma, la aplicación puede lanzar

peticiones al servidor MySQL, en forma de sentencias SQL, y así poder acceder a los

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 8

datos, ya sea para consultarlos o realizar operaciones de administración (añadir, editar o

borrar) sobre ellos.

El lenguaje de programación usado en la aplicación es, como anunciamos ya,

PHP. Entre sus características principales contamos con un fácil acceso a bases de

datos. El API de PHP es muy amplio: cuenta con multitud de funciones para manejar

cadenas, arrays y en general cualquier tipo de datos. Tiene soporte para el acceso a

diversas bases de datos, y en general está orientado a la programación web, lo que lo

hace ideal en nuestro escenario. Además se integra perfectamente con diferente software

de servidor web, y en especial, con el software Apache, que será el que utilizaremos en

nuestro proyecto.

Así pues un esquema que ilustra los componentes que definen el escenario en el

cual se ejecutará nuestra aplicación es el siguiente:

El cliente se conecta al servidor web y realizará peticiones de páginas HTML y

PHP. En este último caso, el módulo de PHP, instalado en el servidor Apache, llevará a

cabo las acciones que mande el código incrustado en él.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 9

Algunas de estas acciones requerirán el acceso al servidor MySQL. Por falta de

espacio de disco en el servidor web principal, los ficheros y páginas web que componen

el portal se encuentran distribuidas en dos servidores web diferentes.

El servidor web principal, llamado “woody”, es el único de los dos que tiene

salida a Internet (tiene una IP pública). Sus datos son:

• Nombre: woody.us.es

• IP: 193.147.161.237

• Alias: www.gte.us.es

El servidor web secundario se llama “apache” y no tiene salida a Internet (tiene

una IP privada):

• Nombre: apache

• IP: 172.16.1.48

Nota: Existe una cierta ambigüedad por el hecho de haber usado el nombre de

máquina “apache”, que también coincide con el nombre del software que usaremos para

servir páginas (“Apache”). El contexto, en estos casos, siempre ayuda a diferenciar,

pero además intentaremos, de ahora en adelante, escribir el nombre de máquina todo en

minúsculas mientras que cuando nos refiramos al software usaremos mayúsculas al

principio de palabra.

Ambos servidores web corren el software Apache, y para que todas las páginas

(incluidas las albergadas en el servidor secundario) sean visibles desde Internet, se hace

uso de una funcionalidad que tiene el software Apache y que permite que un servidor

actúe de proxy hacia un segundo servidor.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 10

La mayoría de las páginas, incluida la principal, se encuentran en:

• LIE: http://www.gte.us.es/~fbarrero/LIE

(Nota: se podría sustituir «www.gte.us.es » por « woody.us.es », ya que el

primero es en realidad un alias al segundo).

Las páginas PHP residen físicamente en la máquina con IP interna

(llamada“apache”) y son servidas en primera instancia por esta última. De hecho todo el

procesado del código PHP y acceso a la base de datos se realiza ahí mismo: en“apache”.

Sin embargo, “woody” realiza funciones de proxy sobre estas páginas, deforma que

quedarán “mapeadas” sobre este último, que es quien de verdad tiene acceso a Internet

(y lógicamente también a la red interna donde se encuentra la máquina “apache”) y el

cual recibirá normalmente todas las peticiones de clientes reales. La URL “virtual” de la

que estamos hablando es:

• LIE: http://www.gte.us.es/fbarrero/lie/

Cuando un cliente haga una petición sobre una de estas URLs, automáticamente

“woody” lanzará la misma petición sobre “apache”, recogerá la respuesta, y la reenviará

al cliente. Es decir, “woody” está actuando como simple intermediario de la

información (el procesado y en general, todo el trabajo pesado se realiza en “apache”).

Desde el punto de vista de “apache”, “woody” ha actuado como cliente. Desde el punto

de vista del cliente original, “apache” es como si no existiera (es totalmente

transparente).

Para crear este “efecto espejo” se ha hecho uso de un módulo de Apache

(http://httpd.apache.org/docs/mod/mod_proxy.html) y se ha configurado añadiendo las

siguientes líneas al “httpd.conf” de “woody”:

• ProxyPass /fbarrero http://172.16.1.48/fbarrero

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 11

• ProxyPassReverse /fbarrero http://172.16.1.48/fbarrero

Este túnel entre ambos servidores web, que se establece por medio del proxy,

puede tener implicaciones en la seguridad. Hablaremos sobre esto más adelante.

Por último, y para finalizar con la descripción del escenario a utilizar,

comentaremos algunos aspectos relacionados con la base de datos.

La estructura actual de los datos en el servidor MySQL se resume en los

siguientes puntos:

• Existen diferentes bases de datos, y cada una de ellas tiene asociada una

o varias tablas.

• Cada servicio de nuestra aplicación tiene asociada una base de datos

diferente.

• La aplicación accede al servidor MySQL mediante un único usuario:

root (el “superusuario”).

• Existen diversas tablas de “usuarios”, correspondientes a distintos

servicios (cada una de ellas se encuentra en la base de datos

correspondiente al propio servicio), de forma que los usuarios de un

servicio no tienen por qué coincidir con los de otro.

2.3 Soluciones para la implementación de la herramienta.

La tarea de implementación de la herramienta en la que ha consistido el

desarrollo de este proyecto no ha sido una labor sencilla, ya que se han abarcado varias

líneas de trabajo, teniendo que confluir finalmente en un objetivo común.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 12

Una vez finalizado el estudio del estado del ámbito de aplicación se ha podido

desarrollar aun más claramente los distintos puntos de inicio desde los que comenzar a

trabajar. Partíamos de un entorno en el que predominaban servicios para el alumno

demasiado pasivos desde el punto de vista de la enseñanza, así, con este trabajo se ha

querido profundizar más en la idea desarrollar una situación de auto-aprendizaje con

unas miras mucho más amplias que el simple hecho de facilitar diversa información al

alumno.

De este modo, se decide crear un portal web que donde se pueda albergar este

tipo de enfoque de la relación profesor-alumno. Lo primero que se intenta es diseñar un

portal de interfaz sencilla de modo que el alumno pueda, tanto acceder rápidamente a

aquella información o tarea que quiera realizar, como navegar en un entorno con mucha

riqueza tanto lectiva como recreativa.

Para ello se utilizan distintas herramientas de desarrollo web como el

Dreamweaver 4.0, desde el que se escriben las primeras líneas de código HTML, más

concretamente para crear el diseño y la maquetación de la página web. A parir de aquí

se irán inyectando las sentencias PHP que comulgan fantásticamente con HTML y

también se añadirán las líneas de código SQL en las páginas que corresponda a la

administración de los alumnos en las distintas utilidades que ofrece el portal en relación

a las bases de datos MySQL.

Sumando a esto, hemos de decir que el portal se ha concebido en gran medida,

como lanzadera ideal para ofrecer al alumno dos tipos de servicios implementados y que

representan dos pilares fundamentales del trabajo desarrollado, como son, la posibilidad

de realizar una Práctica Virtual, y la implantación vía Internet de la herramienta

multimedia realizada con Macromedia Director.

La creación de una Práctica Virtual, tiene como intención ofrecer al alumno la

posibilidad de realizar una labor desde su propia estación de trabajo, en casa, oficina,

etc. sin tener que desplazarse al laboratorio. Este es unos de los puntos fundamentales

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 13

de la educación a distancia a través de Internet, objetivo fundamental de estudio de este

proyecto.

Así mismo, el desarrollo de la Práctica Virtual no solo ha llevado consigo la

mera realización de un simple trabajo de laboratorio, con una interfaz y un intercambio

de datos entre alumno y ordenador, sino que ha llevado consigo la implantación de un

entorno de realidad virtual en el que el laboratorio de Instrumentación del L2 se ha

tomado como primer nivel, en una carrera hacia el desarrollo de todo un mundo de

posibilidades desde el punto de vista de la realidad virtual. Este laboratorio ha sido

creado siguiendo las técnicas de un lenguaje de programación llamado VRML, además

de apoyarnos en una potentísima herramienta de diseño gráfico como es el

3DStudioMax. La unión de estas dos herramientas nos ha valido para engendrar el

laboratorio de forma virtual, en el que el alumno puedo moverse como si se encontrara

realmente en él, e interaccionar con los aparatos que se podría encontrar allí, pudiendo

acceder a información de primera mano sobre los mismos.

Además de la Práctica, el otro bloque fundamental sobre el que descansa el

portal es la implantación de la herramienta multimedia realizada con Macromedia

Director. Con ella el alumno va a poder estudiar de una manera más atractiva y directa

el aspecto, funcionamiento, funcionalidad, etc. de los aparatos que se encontrará en el

laboratorio de cualquier asignatura de instrumentación y en concreto en la asignatura de

5º curso Laboratorio de Instrumentación Electrónica. La herramienta consiste en ofrecer

una serie de películas interactivas, una sobre cada aparato, en la que se explica

detalladamente todos los entresijos de cada instrumento, de forma que el alumno

aprende de la misma forma que si leyera el manual de usuario, resultando una gran

diferencia entre esto dos métodos, la cual es la dificultad de aprender e intentar estudiar

un manual, frente a la facilidad de visualizar un documento mucho más intuitivo e

interactivo.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 14

3 CAPÍTULO 3. APLICACIÓN PRÁCTICA.

3.1 Introducción.

A lo largo de los capítulos anteriores hemos ido desgranando las ideas básicas de

este proyecto fin de carrera, dando una descripción superficial de lo que iba a tratar el

desarrollo del trabajo. A continuación, en este capítulo, vamos a profundizar en todos y

cada uno de los aspectos del proyecto que se han ido enumerando en las páginas

anteriores. Veremos como se ha desarrollado el portal web, los lenguajes y técnicas de

programación utilizadas, como PHP, o inyecciones de sentencias JavaScript, además de

explicar más claramente en qué ha consistido la herramienta de Macromedia.

A su vez nos adentraremos en los mundos virtuales de la mano del VRML y

expondremos lo que ha sido el trabajo para este proyecto. También dedicaremos unas

líneas al desarrollo de la base de datos en MySQL y al trabajo dedicado a la

implantación de la práctica virtual y al enfoque que se le ha dado.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 15

3.2 Aplicación práctica usando PHP. Implantación del portal

educacional.

PHP es un lenguaje de programación, con una sintaxis similar a los lenguajes C

y Perl, para crear páginas web con contenido dinámico, que se interpreta por un servidor

web Apache y genera código HTML dinámico. Es decir, nos permite crear un programa

que se pueda ejecutar en el servidor desde un programa visualizador de páginas web y

dar respuesta en función de los datos que introduzca el usuario.

El PHP es un lenguaje embebido en HTML, que se ejecuta en el servidor, de

manera similar a los “Server Side Incluyes” (SSI) de Apache, o los ASP de Microsoft,

pero PHP es mucho más potente.

El lenguaje de programación PHP dispone de funciones para realizar las

operaciones habituales de los lenguajes de programación, usar ficheros, tratamiento de

cadenas, texto, etc.

Una de las virtudes estrella de PHP y que figura como característica más

importante es su capacidad para conectarse a bases de datos, como MySQL, y generar

páginas en función de los resultados obtenidos en la correspondiente consulta. Las

consultas se pueden realizar, bien en modo nativo, o bien, mediante ODBC, este modo

nativo es el compatible con MySQL.

A continuación vamos a ver las ventajas que presenta este lenguaje de

programación frente a otros lenguajes:

• Interfaz: En primer lugar el PHP se ejecuta a través de una interfaz muy

familiar para el usuario: el cliente web. No es necesario que el usuario

aprenda nuevas combinaciones de teclas, ni nada parecido, para

aprender a usar el programa. Tampoco es necesario tener que instalar

ningún software adicional en la estación del trabajo del cliente para usar

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 16

un programa PHP aparte del propio navegador web. De este misma

forma, la ejecución de un programa PHP se puede realizar desde un

cliente web de cualquier plataforma: el usuario puede escoger su sistema

operativo y su cliente web preferidos.

• Acceso en red: El propio diseño de PHP lleva incorporada esta virtud.

El programa de ejecuta en un servidor al cual se puede acceder desde

cualquier puesto de una red. El servidor siempre podría limitar el acceso

a sólo determinados puestos y además obligar a la autentificación de un

usuario para poder acceder a aciertas partes de un programa.

• Protección del código: Al tener el código albergado en el servidor, este

código esta protegido tanto de la manipulación de los usuarios como de

la presencia de virus.

• Facilidad: Hemos de señalar que el lenguaje PHP es realmente fácil de

aprender. Cualquier persona que sepa algún lenguaje de programación

puede aprender los fundamentos de PHP en un breve espacio de tiempo.

• Interconexión con Bases de Datos: Por último, y como ya

introdujimos anteriormente, el PHP cuenta con una gran conectividad

con bases de datos, lo que le dota de una gran potencia a la hora de

generar páginas web dinámicas. Prácticamente se podrá consultar

cualquier motor de bases de datos SQL, lo que engloba al nuestro que es

el MySQL.

Una vez comentados los aspectos más importantes del PHP vamos a

continuación a concretar el trabajo desarrollado en PHP del presente proyecto.

El primer gran bloque de trabajo de este proyecto fin de carrera ha sido la

implantación del portal educacional. En los capítulos anteriores, hemos expuesto

someramente las razones por la cual se decidió construir un portal web, como primer

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 17

paso hacia la realización de este proyecto. Tras un estudio previo de los trabajos que se

habían realizado como proyectos fin de carrera en el departamento relacionados con el

desarrollo web, en concreto con la página dedicada a la asignatura de Laboratorio de

Instrumentación Electrónica de 5º curso, se concluyó que era necesario la implantación

de un portal un poco más enfocado a la tarea que se iba a desarrollar como era un

sistema de educación a distancia que englobara varios aspectos.

Así lo primero es diseñar toda una estructura de páginas en los que queden

recogidos los aspectos más importantes que estamos buscando. Además se buscó un

diseño algo más novedoso y atractivo desde el punto de vista plástico.

3.2.1 Estructura del portal web.

El portal tiene un diseño muy similar a la de cualquier página que se pueda

encontrar navegando por “la red”.

Al portal se le ha dado el nombre de “Laboratorio Virtual”. De este modo, al

inicio se muestra una página en la que se da una información general acerca de lo que es

el laboratorio virtual. Como ya dijimos anteriormente, se ha intentado crear un portal

atractivo, pero sobre todo sencillo en la forma de ofrecer la información a los alumnos.

Quien no ha tenido la experiencia en diversas ocasiones en que navegando por alguna

página y buscando alguna información en concreto nos hemos tenido que ir con las

manos vacías, ya que no hemos sido capaces de encontrar lo que queremos, debido a la

mala concepción de la página, esto se debe a que el diseñador no se ha tomado el tiempo

necesario para ordenar y presentar de forma clara la información que desea ofrecer.

Por esta razón, se ha tomado un tiempo de ejecución de este proyecto, dedicado

a hacer un estudio importante previo de todo el portal, de forma que al terminarlo

tuviéramos perfectamente definida la estructura del éste y la disposición de la

información.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 18

A continuación vamos a ir desgranado el portal para tener presente y poder

visualizar a la vez que se describen cada una de las páginas.

Hemos de decir que se ha mantenido el mismo diseño en todas las partes de la

página. Así, podremos ver como todas cuentan con una cabecera con el nombre del

portal “Laboratorio Virtual”, seguidamente un pequeño párrafo, donde se da una

explicación de lo que se puede ver en esa página. Seguido a esto la información o el

contenido concreto de esa página.

Veamos el primer lugar la página inicial del portal:

Laboratorio.php

Como podemos ver en imagen, el contenido de la primera página, es una

explicación de lo que es el laboratorio virtual, sumado a estos los links que nos llevan al

sitio al que queremos acceder:

• Visita Virtual: Si pinchamos en este botón tendremos acceso a la

representación virtual del laboratorio de Instrumentación Electrónica,

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 19

que se ha realizado con VRML. En ella el alumno podrá navegar como

si se encontrara realmente en él. Más adelante a lo largo de la lectura de

este proyecto se explicará más a fondo todo este apartado.

• Instrumentos: Desde aquí tenemos acceso a otra página en la que se

listan los distintos instrumentos que se pueden encontrar en el

laboratorio, y desde la cual se puede acceder a una especie de película

interactiva de cada uno de los instrumentos, con la que se puede

aprender el manejo de los aparatos de forma muy sencilla. También se

extenderá la información sobre este apartado.

• Práctica Virtual: Con este link se da paso a la realización de una de las

prácticas del laboratorio. La particularidad de la realización de esta

práctica es que se realiza de forma remota, pero de manera real en el

laboratorio. De la misma forma explicaremos en páginas posteriores este

punto.

• Contactar: Este botón nos da acceso a toda la información que podemos

necesitar, teléfono, email, etc. si queremos ponernos en contacto con el

responsable del laboratorio virtual, en este caso el profesor de la

asignatura don Federico José Barrero.

Veámosla en la siguiente figura:

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 20

Contactar.php

• Enlaces: Como era de esperar, al igual que en cualquier portal tenemos

un apartado donde se recogen enlaces relacionados con los temas de la

página, en concreto en la nuestra, y desde este botón se puede acceder a

las páginas de los principales fabricantes de aparatos encontrados en el

laboratorio Hameg, HP, Tektronix, etc. También podemos encontrar los

enlaces a páginas relacionadas con los mundos virtuales como Cortona,

Parallel Graphics, etc. En éstas el alumno puede encontrar muchos

ejemplos de creación de mundos virtuales, y mucha más información.

Por último, encontraremos enlaces a páginas relacionadas con las

herramientas que se han utilizado para crear el laboratorio virtual como

LabView, National Instruments, relacionadas con el protocolo GPIB,

como etc. y también a su mantenimiento desde el punto de vista de

gestión de usuarios en las bases de datos, como MySQL. Podemos ver

su estructura a continuación:

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 21

Enlaces.php

3.2.2 Aplicación de Macromedia Director en el Portal Web.

En este apartado vamos a ver detalladamente el trabajo realizado en el portal

web con la herramienta Macromedia Director.

3.2.2.1 Introducción.

Como hemos dicho en repetidas ocasiones a lo largo de este proyecto, la idea

fundamental sobre la que gira la concepción del mismo, es el aplicar a la enseñanza

todas las nuevas tecnologías, tanto hardware como software, que se desarrollan en la

actualidad.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 22

De forma concreta y ya hablando en el entorno del Departamento en el que se

desarrolla el proyecto, teniendo en cuenta la dificultad con la que se encuentra el

alumno al intentar trabajar con aparatos y dispositivos que ha visto en contadas

ocasiones a lo largo de la carrera y con algunos otros que no ha visto nunca, se pensó en

realizar un medio interactivo en el que se explicara el manejo, funcionamiento, etc. de

los aparatos del laboratorio.

Surge así, la idea de utilizar un programa para crear este tipo de trabajos con lo

que se llega por fin al Macromedia Director.

Macromedia Director es un entorno completo para la creación de multimedia.

Para mucha gente, Director es sólo una herramienta de animación, de hecho, proviene

de una de ellas. Aunque posee funciones que van más allá de la animación, gran parte

de la apariencia y del funcionamiento de Director está basado en su uso como

herramienta de animación. El conocimiento de aquello que Director tiene de

herramienta de animación es sólo un comienzo de las posibilidades que encierra

Director.

Director es mucho más que una herramienta de animación o presentaciones. Es

posible elaborar aplicaciones completas, applest en la Web y utilidades software. Se

pueden diseñar juegos, software educativo y aplicaciones empresariales. Casi cualquier

cosa que se pueda hacer mediante software es posible con Director.

La clave de escribir software potente con Director es Lingo, el lenguaje de

programación de Director. En sus comienzos, Lingo era un juego de comandos de script

simples que se usaba para controlar la animación, ahora es un lenguaje completo

orientado a objetos que rivaliza con los tradicionales, como C++, Pascal o Java.

Las presentaciones, al contrario que las animaciones, son películas de Director

interactivas, así, los usuarios finales en lugar de ser meros espectadores pasivos,

participan durante la reproducción de la presentación. Así el diseño por tanto de la

película se realizó en Macromedia editándose en un cd a modo de película.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 23

Y este era justamente el problema, toda esta información se encontraba en un cd

interactivo que el alumno podía consultar en cualquier momento en ordenador personal,

pero esto, traía consigo la rémora de que la información esta supeditada a llevarla en un

cd. Lo que se ha llevado a cabo en este proyecto es aunar el trabajo realizado en

Macromedia Director con las posibilidades de exportarlo a un entorno web, y que esta

información sea accesible desde cualquier sitio y en cualquier momento sin la atadura

de tener el cd.

En un principio, esta idea es fácil de concebirla, el problema llega cuando uno se

pone manos a la obra para realizar la migración. Macromedia Director es una

herramienta que dispone de enormes posibilidades, de modo que a la hora de crear un

medio interactivo como el que se elaboró, el propio diseñador se pierde en todo un

mundo de menús, forma de distribuir la información, etc. Lo que ha llevado esto

consigo es que, una tarea que al priori parecía sencilla en su concepción, ha resultado

ser un trabajo mucho más tedioso y que ha ocupado más tiempo del esperado en la

realización del proyecto.

3.2.2.2 Análisis de la información.

Director utiliza como analogía el diseño de una película con sus actores,

escenario, guión, etc. En el escenario el programador representa su propia producción,

donde cualquier elemento de la misma se denomina miembro del reparto, o

simplemente miembro. La pantalla del ordenador donde se desarrolla la acción es una

ventana llamada escenario. El resto de de los elementos que componen Director siguen

la misma metáfora cinematográfica. Así para crear una película, Director dispone de

diferentes ventanas con las que realizar la mayoría de las tareas, que están a su vez

complementadas con una barra de menús desde la que acceder a todas las funciones de

la aplicación.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 24

Dentro de esta metáfora, el propio programa tiene una denominación acorde a la

situación; se trata de un “director de cine” (director), que elabora unos archivos que son

las “películas” (movies) generadas en un “escenario” (stage) con unos “actores”

(sprites) que forman parte de un “reparto” (cast) y siguen un “guión” (“score”,

“scripts”). Dichas películas pueden ser visualizadas de forma independiente utilizando

unos archivos ejecutables llamados “proyectores” (proyector). Esta metáfora facilita la

comprensión, y sobre todo, hace mucho más intuitivo el proceso de creación de un

producto multimedia. Veamos cada uno de los miembros de dicha metáfora por

separado:

• Película (movie): Archivo principal de Director. Contiene una o varias

listas de reparto y un Store.

• Guión (Score): No es más que el guión o partitura de nuestra película;

el aspecto de su ventana recuerda mucho a los timelines de los editores

de video. El score está dividido horizontalmente en fotogramas

(“frames”, que son las unidades mínimas en que se divide nuestro eje

temporal de reproducción) y verticalmente en canales agrupados en dos

partes: una superior formada por canal dedicado a las transiciones, los

dos canales de sonido, otro dedicado a la paleta de colores usada en la

película, otro dedicado al control temporal de la misma y por último

otro destinado a los scripts o guiones Lingo. La parte inferior está

formada por los canales de sprite que no son otra cosa que los

personajes del cast que han saltado a escena. Cuando se coloca un

personaje del reparto en el score, éste también aparece en la stage, y

viceversa. El score sirve pues de referencia temporal, pero también

espacial de lo que acontece en el escenario, ya que los miembros de

reparto colocados que se sitúan en el primer canal son cubiertos por los

de los canales sucesivos, como si se trabajase con capas (por eso se

suele colocar el fondo que se vaya a usar en el primer canal del score).

Por otra parte, en la parte superior del score se encuentra una franja

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 25

blanca dedicada en la que se pueden poner etiquetas a la película con

idea de tener un mayor control y claridad del conjunto de la misma.

Ventana de Guión

• Escenario (Stage): Es el escenario donde se sitúan nuestros actores. La

ventana de stage actúa como previsualizador de la película que se está

creando, pero también sirve como herramienta de edición porque dentro

de ella se pueden ir modificando los elementos que intervienen en la

película.

• Reparto (cast): Ventana donde se almacenan los elementos importados

o creados en cada película de Director. Existen dos tipos de cast: el

interno, el cual forma parte de la película y se incluye dentro de la

misma, y el externo que no forma parte del archivo de la película, pero

cuyos miembros están vinculados a la misma y se utilizan en su

reproducción. Normalmente el cast interno se usa para almacenar

aquellos elementos que van a usarse exclusivamente en la película. El

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 26

cast externo se usará, por lo general, para guardar los miembros del

reparto que son usados por varias películas, como por ejemplo los

behaviors (después hablaremos de ellos); con los cast externos se evita

la repetición de elementos en distintas películas que van a emplearse en

la misma aplicación.

Ventana de Reparto

• Miembro (member): Elemento básico de cualquier película de

Director. Cualquier forma multimedia puede representarse en Director

en forma de miembro del reparto. Existen infinitos tipos de miembros,

algunos se pueden crear y editar en Director, y otros hay que crearlos en

programas como herramientas de edición de vídeo o sonido y después

importarlos. Tipos de miembros:

• Mapas de bits (bitmap): Básicamente no es más que un gráfico o una

imagen. Puede ser un diseño, una fotografía, o incluso una imagen

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 27

generada con un programa de 3D. La edición en Director de mapas de

bits se realiza mediante la ventana Saint.

• Texto: Miembro que contiene caracteres con formato. Pueden editarse

directamente en Director o importar archivos creados en procesadores

de texto. Director cuenta con propiedades como anti-aliasing (caracteres

suavizados), que dotan al editor de Director de gran capacidad.

• Campos: Son como los miembros de texto, su origen se encuentra en

versiones anteriores de Directores las que los campos eran la única

opción para mostrar texto. Ocupan menos espacio de archivo pero no es

posible aplicarles la técnica anti-aliasing.

• Sonidos: Director puede importar diferentes formatos de sonido, pero

no tiene capacidad para crear o editar sonidos.

• Formas: Son miembros del reparto especiales, líneas, óvalos,

rectángulos…con contorno o relleno, permiten crear elementos gráficos

sin necesidad de recurrir a los mapas de bits.

• Vectores: Son formas únicas y complejas llamadas vectores que son

similares a los multimedia creados con programas como Macromedia

Frenad y Adobe Ilustratror.

• Flash: Macromedia posee también otro tipo de programas de creación

de películas. Flash a diferencia de Director, no cuenta con un lenguaje

de programación sólido como Lingo. Las películas desarrolladas con

Flash se pueden importar a Director como miembros de reparto, al igual

que ocurre con secuencias animadas y elementos interactivos.

• Botones: Es posible crear botones simples y rápidos.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 28

• Vídeo Digital: Los miembros de vídeo pueden provenir de distintos

formatos pero normalmente poseen formatos Apple Quick Time o

Windows AVI.

• Scripts: Son los miembros que contienen código Lingo y controlan, así,

los elementos que aparecen en la película. Existen diferentes clase de

scripts, de comportamiento (behavior), son los asociados a un sprite, de

cuadro son los asociados a un cuadro y los de película que controlan la

totalidad de la misma.

• Xtra: Son pequeños archivos que amplían las capacidades de Director,

mediante la adición de miembros del reparto, comandos de Lingo, o

bien herramientas de desarrollo. Son componentes que proporcionan a

Macromedia una forma de desarrollar partes de Director de manera

independiente, añaden características, como Lingo para la red, y

mejoran las funcionalidades de Director en general. Director tiene

componentes Xtra como ActiveX, Photoshop Filtres, Flash Asset,

Animated GIF Asset, Multiuser, QuickTime 3, Save As Java, entre otros

Los miembros del reparto están por lo general relacionados unos con otros de

muchas formas, por ejemplo, suelen tener un script adjunto. Los scripts no son

miembros del reparto aparte, sino una propiedad del miembro del reparto al que se

asocie, dotando, de esta forma, de interactividad.

Una vez creada la presentación, existen básicamente tres opciones disponibles

para presentar el producto final. Usar Director para la presentación, crear un proyector

independiente o comprimir la película para utilizarla en Internet o en una red interna.

En nuestro caso se determina la utilización de comprimir la película ya que si

vamos a colgarla en la red, uno de las consideraciones importantes en cualquier archivo

es la necesidad de tamaño reducido. Shocking a movie es en realidad comprimir la

película. El nuevo archivo será una copia de la película con imágenes, texto, sonidos y

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 29

la información del guión comprimida. Este archivo ocupa por lo general, menos de la

mitad del original, permitiendo al usuario descargarlas desde internet, sobre todo si se

usa modem. El código de un archivo Shockwave suele estar protegido. Los servidores

usan la extensión “.dcr” para identificarlas como películas Shockwave e informar al

explorador de que ha de usar plug-in de Shockwave para su reproducción

Veamos a continuación una descripción general de lo que nos vamos a encontrar

en las películas Macromedia realizadas.

Mediante estas películas se van a distribuir a los alumnos la parte teórica que

corresponde a los equipos que se utilizan en el Laboratorio de Instrumentación

Electrónica, hasta ahora sólo disponían de los tutoriales extensos y con información a

veces excesiva, mientras que con el software presentado aquí, dispondrán de una

herramienta más amena y con la información justa y necesaria, para el conocimiento del

manejo de los instrumentos, además de la posibilidad de acceder a toda la información

recogida en los tutoriales de los mismos, que se presentarán en formato PDF

perfectamente descargables por parte de los alumnos.

Se ha realizado trece películas correspondientes a trece equipos utilizados para la

realización de las prácticas del Laboratorio de Instrumentación.

En cuanto a la forma de presentar la materia, se ha procurado no resultar tedioso

con las explicaciones, con la intención de que la asimilación de ésta exija el mínimo

esfuerzo por parte del estudiante, para lo que se han utilizado las facilidades que

proporciona la tecnología multimedia. A pesar de la dificultad del tema a tratar, se ha

huido de minuciosas explicaciones en pantallas llenas de texto, que harían penosa su

lectura y que serían claramente desfavorables frente a ese texto expuesto en papel

impreso. Así, se ha intentado reducir al máximo el contenido de cada pantalla,

realizando en lo posible partes interactivas en las que el alumno decide lo que desea que

se le explique sin necesidad de visualizar todo el contenido de la pantalla.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 30

Pero, por otra parte, tampoco se ha querido abusar de efectos especiales que

hagan de ésta una herramienta espectacular, pero que distraigan la atención de la

materia que se expone. Se han utilizado, es cierto, este tipo de efectos, pero siempre con

la idea de dirigir el interés hacia la materia y no hacia otra parte.

A continuación se describe detalladamente cada parte de la película y se describe

el sistema de navegación. Se ha procurado realizar un sistema de navegación que resulte

sencillo a la hora de manejarlo pero que sea lo más completo posible, es decir, que

permita en cualquier momento y de una forma rápida y concisa el acceso a toda la

información de los equipos. Se puede decir que este sistema tiene cuatro funciones

principales, que se detallan a continuación:

Navegación Principal: El sistema de navegación principal permite en todo

momento situarse en la primera página de los cuatro apartados en los que se divide la

descripción de cada uno de los equipos electrónicos. Es el sistema de navegación del

equipo. Estos cuatro apartados son los puntos principales en que se ha dividido la

descripción del equipo. Éstos son:

• Introducción. Descripción somera de la funcionalidad del instrumento.

• Características Generales: Descripción de las características técnicas

básicas del funcionamiento, así como de las limitaciones del equipo.

• Mandos de Control: Descripción de la funcionalidad de los mandos de

que consta el equipo, haciendo hincapié en aquellos en los que, por su

importancia o por su función, resulte más necesario. Debido a la

importancia de este apartado, la descripción se ha realizado de forma

más gráfica para la total comprensión del alumno.

• Tutorial (PDF): Tutorial de funcionamiento del equipo, en formato

PDF con información más detallada, para aquel alumno que desee

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 31

profundizar aún más en las posibilidades del equipo de instrumentación

que esté analizando.

Navegación Principal

En la imagen se reseñan los apartados descritos anteriormente. La película en

proyección se encuentra en el apartado de Introducción, puede verse en la imagen cómo

se diferencia en color de los demás.

Navegación Secundaria: Los controles de navegación secundaria sirven para

moverse dentro de los apartados en los que se ha dividido la descripción del equipo.

Están situados en la parte inferior derecha de la pantalla y son de dos tipos: Uno para el

avance de página y otro para el retroceso de página.

Estos cursores estarán presentes en el momento que se precisen, es decir, si el

apartado sólo supone de una página, no será necesario el uso de cursores.

Apartados

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 32

En la imagen se muestra la descripción del equipo mediante el apartado de

características, y puesto que posee más de una página se usan los cursores.[Parte

inferior derecha]

Navegación Secundaria

3.2.2.3 Realización de la migración.

Una vez que disponemos de toda la información contenida en el cd, lo primero

que hemos de realizar es un estudio previo de cómo vamos a descomponer los datos que

tenemos en bloques, pertenecientes cada uno de ellos a los distintos aparatos que

tenemos.

Como ya hemos explicado la información en el Macromedia Director esta

dispuesta en distintos tipos de ficheros. Uno de los problemas que nos encontramos es el

de la reorganización de los “cast”, que van apareciendo y que son requeridos por cada

uno de los ficheros. Debido a que tenemos que subir la información aun servidor web,

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 33

hemos de comprimir la información lo máximo posible, o que nos lleva a realizar un

mismo archivo genérico o cast para todos los archivos html que queremos crear.

Así mismo, como lo que necesitamos es seccionar la información del cd en

archivos html, hemos de ir creando uno a uno cada uno de estos archivos con la

consiguiente película shockwave.

Se aprovecha así la ocasión para eliminar archivos y para depurar los errores que

se crean al migrar de un tipo de estructura a otra.

Así por ejemplo surgió un problema con la opción de descarga del manual pdf

que tienen cada uno de los aparatos en su correspondiente archivo macromedia, debido

a que el programa tenía las referencias de la ejecución del programa Acrobat Reader, al

directorio raíz, el cual se pierde al hacer el traslado a html. Por lo tanto se tuvo que

redirigir en el código del programa de ejecución del Acrobat Reader, esto se hace

modificando el código en el lenguaje de programación propio del que dispone el

Macromedia Director, a continuación mostramos un resumen del código rectificado:

on mouseUp cursor(0) open "dswmedia\manuales\TeK1230.pdf" end on mouseEnter me cursor(280) end on mouseLeave me cursor(0) end

Una vez que hemos eliminado archivos innecesarios para nuestro propósito, y

reconstruido la información a nuestra consideración, comenzamos la migración

obteniendo todos los archivos html que luego se colgaran en la red y a los que se

accederá fácilmente.

Un dato importante a comentar ya no sólo para la explicación del trabajo en este

proyecto, sino para un futuro lector que necesite realizar algún trabajo de este tipo, es

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 34

que todos los archivos generados en una migración a html, tanto los archivos cct, los dcr

y los propios html, deben colocarse en una carpeta denominada “DSWMEDIA”, esto es

debido a que los cast externos que se crean, son genéricos para todos los archivos dcr, es

decir para las películas creadas para cada uno de los html, y se identifican en esta

carpeta por defecto. Esto es importante ya que de otro modo, es decir si se dispusieran

los archivos en distintas carpetas no funcionaría, y todo el trabajo sería en vano.

3.2.3 Aplicación de Javascript en el Portal Web.

3.2.3.1 Introducción.

Hoy en día, todo usuario habitual de Internet, puede comprobar que el diseño de

las páginas por las que navega cambia cada dos por tres, los diseñadores se afanan en

convertir la página en algo más que simple información “colgada” en la red, y darle más

juego y atractivo a ésta, es a lo que se le llama dinamizar una página, o crear páginas

dinámicas. Como consecuencia de esto, van apareciendo de forma vertiginosa múltiples

aplicaciones, variaciones de código, lenguajes nuevos y técnicas de diseño innovadoras,

PHP, DHTML, Java, etc Entre todas ellas se encuentra Javascript.

Javascript es un lenguaje de guiones interpretado, cuyo código va inserto en los

mismos archivos HTML, dentro de las etiquetas HTML. No tiene mucha potencia, de

hecho no es un lenguaje completo como pueden ser Java o C, pero si dispone de lo

adecuado para comprobar formularios, gestionar una navegación, cambiar propiedades

físicas de los documentos, pequeños cálculos, etc.

No es un lenguaje orientado a objetos, pero hace uso del modelo de objetos, de

forma que el propio navegador crea unos cuantos, dejando también abierta la

posibilidad de poder usar y construir objetos propios. Su estructura y sintaxis es

bastante parecida al C, y por lo tanto a Java.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 35

3.2.3.2 Inyección se sentencias Javascript.

Aunque parezca una contradicción con las premisas que se dieron al inicio de

creación del portal web, recordemos que buscábamos sencillez, y rapidez, no podemos

caer en el error de crear una página con poco atractivo para el alumno, sobre todo si la

información que contiene no es fácil de asimilar. Así, se han ido buscando técnicas

modernas de programación web, para poder añadir algunos detalles atrayentes para el

usuario, respetando eso si, la austeridad que necesitamos, sobre todo cuando tenemos

una cuota de espacio en el servidor.

Es por esto que, pensando siempre en al comodidad del alumno, se han utilizado

sentencias Javascript en la codificación del portal.

Aunque la aplicación de Javascript a nuestro proyecto ha sido más bien escasa,

no queremos dejar de pasar la ocasión para señalar que las posibilidades que ofrece son

enormes, y que nosotros hemos utilizado una mínima parte de su potencial.

A continuación vamos a presentar la página en la que se ha incluido código

Javascript.

Se trata de la página “instrumentos.html”. Con esta página se intenta hacer una

introducción de forma visual a los aparatos del laboratorio. De esta forma se listan los

aparatos, de manera que el alumno al pasar el ratón por encima de cada aparato, puede

ver una fotografía del mismo en la parte derecha de la pantalla. Aunque parezca una

idea simple, al menos a título personal pienso que es muy importante, ya que al alumno

le resultará mucho más fácil reconocer cualquier aparato si antes ha visto su imagen,

que si sólo se guía por el nombre.

Veamos una figura de la página:

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 36

Instrumentos.html

Hemos de decir, que los nombres de los aparatos no sólo permiten la activación

del código Javascript, sino que además sirven de enlaces al archivo html

correspondiente a cada aparato creado con el Macromedia Director. De esta forma

hacemos que esta página no sólo sirva como contemplación sencilla de los aparatos,

sino que creamos además un nuevo acceso a la información de Macromedia.

Presentamos el código Javascript:

<html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <SCRIPT LANGUAGE="JavaScript1.1"> var activado1=new Image(); activado1.src="Multi-FLUKE.jpg"; var activado2=new Image(); activado2.src="Multi-HM8011.jpg"; var activado3=new Image(); activado3.src="osciloscopio-hm.jpg";

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 37

var activado4=new Image(); activado4.src="Osciloscopio-Pm3375.jpg"; var activado5=new Image(); activado5.src="generador HM.jpg"; var activado6=new Image(); activado6.src="Generador-PM.jpg"; var activado7=new Image(); activado7.src="Fuente-HM8040.jpg"; var activado8=new Image(); activado8.src="Fuente-PE1542.jpg"; var activado9=new Image(); activado9.src="AEspectros-Tektronix2711.jpg"; var activado10=new Image(); activado10.src="AEspectro-HM5010.jpg"; var activado11=new Image(); activado11.src="ALogico- Gould.jpg"; var activado12=new Image(); activado12.src="ALogico Tektronix 1230.jpg"; var activado13=new Image(); activado13.src="ALogico-3001 GPX.jpg"; var desactivado= new Image(); desactivado.src="nulo.jpg"; function activar1(nombreImagen) { document[nombreImagen].src=activado1.src; } function activar2(nombreImagen) { document[nombreImagen].src=activado2.src; } function activar3(nombreImagen) { document[nombreImagen].src=activado3.src; } function activar4(nombreImagen) { document[nombreImagen].src=activado4.src; } function activar5(nombreImagen) { document[nombreImagen].src=activado5.src; } function activar6(nombreImagen) { document[nombreImagen].src=activado6.src; } function activar7(nombreImagen) { document[nombreImagen].src=activado7.src; } function activar8(nombreImagen) { document[nombreImagen].src=activado8.src; } function activar9(nombreImagen) {

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 38

document[nombreImagen].src=activado9.src; } function activar10(nombreImagen) { document[nombreImagen].src=activado10.src; } function activar11(nombreImagen) { document[nombreImagen].src=activado11.src; } function activar12(nombreImagen) { document[nombreImagen].src=activado12.src; } function activar13(nombreImagen) { document[nombreImagen].src=activado13.src; } function desactivar(nombreImagen) { document[nombreImagen].src=desactivado.src; } </SCRIPT> <ul type="disc"> <li> <ahref="./dswmedia/Multimetro%20Fluke%2037.htm" onMouseOver="activar1('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Multimetro Fluke 37</font></b></a> </li> <li> <ahref="./dswmedia/Multimetro%20HM8011_3.htm"onMouseOver="activar2('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Multimetro HM-8010</font></b></a></li> <li> <ahref="./dswmedia/osciloscopio%20HM408.htm"onMouseOver="activar3('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Osciloscopio HM-408</font></b></a></li> <li> <ahref="./dswmedia/Osciloscopio%20PM3335-3375.htm"onMouseOver="activar4('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Osciloscopio PM-3375</font></b></a></li> <li> <ahref="./dswmedia/Generador%20Funciones%20HM8030.htm"onMouseOver="activar5('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Generador de funciones HM-8030</font></b></a></li>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 39

<li> <ahref="./dswmedia/Generador%20Funciones%20PM5135.htm"onMouseOver="activar6('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Generador de funciones PM-5135</font></b></a></li> <li> <ahref="./dswmedia/TripleFuenteHM8040.htm"onMouseOver="activar7('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Fuente Alimentaci&oacute;n HM-8040</font></b></a></li> <li> <ahref="./dswmedia/Triple%20Fuente%20PE.htm"onMouseOver="activar8('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Fuente Alimentaci&oacute;n PE-1542</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Espectro%20Tektronix_2711.htm"onMouseOver="activar9('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador de espectros Tektronix-2711</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20espectro%20HM5010.htm"onMouseOver="activar10('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador de espectros HM-5010</font></b></a></li> <li> <ahref="./dswmedia/Analiz_L%F3gico%20gould.htm"onMouseOver="activar11('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Gould-K25</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Log%20Tektronix%20%201230.htm"onMouseOver="activar12('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Tektronix-1230</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Logico%20Tektronix.htm"onMouseOver="activar13('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Tektronix-3001 GPX</font></b></a></li> </ul>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 40

A continuación vamos a explicarlo pormenorizadamente para que el lector pueda

comprender un poco más el código Javascript utilizado.

En primer lugar hemos de señalar que cualquier inyección de código javascript

se inicia con la sentencia, para que el intérprete de html, en este caso el navegador,

interprete lo siguiente como javascript.

<SCRIPT LANGUAGE="JavaScript1.1">

De la misma forma al acabar debe utilizase la sentencia:

</SCRIPT>

Una vez dicho esto, seguimos desgranando el código. Se definen como variables

locales a la página instrumentos.html, las distintas imágenes que se quieren mostrar en

la página, “activado1”, “activado2”, etc.

var activado1=new Image();

activado1.src="Multi-FLUKE.jpg";

A continuación se definen las distintas funciones para cada una de las imágenes.

function activar1(nombreImagen) {

document[nombreImagen].src=activado1.src; }

Estas funciones tienen como objetivo activar la imagen cuando sea necesario, es

decir, cuando ocurra el evento de pasar el ratón por encima del texto, pero eso se verá

más adelante.

Una vez definidas las variables y las funciones de Javascript, se inyectan las

funciones “onMouseOver” y “onMouseOut”, nos valemos de ellas para crear los

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 41

eventos del ratón, tanto de pasar el ratón por encima del texto como al retirarlo. Estos

dos eventos se vinculan con las funciones ”activar” y “desactivar” respectivamente, así

cuando se pase el ratón por encima del texto (onMouseOver) se ejecutará la función

definida en el código Javascript activar, lo que produce la activación de la imagen

correspondiente. De la misma forma cuando se deje de pasar el ratón por ese texto, y

por ende, por cualquier otro texto, se ejecutará “desactivar”, lo que producirá la

activación de la imagen “nulo”, creándose así el efecto de no haber ninguna imagen

señalada.

Vamos a ver un ejemplo quenos aclare un poco más todo esto. Escogemos el

código para la primera imagen, la del Multimetro Fluke.

Lo primero que tenemos es, como dijimos anteriormente el enlace al archivo

html creado con Macromedia “MultimetroFluke.html”:

<a href="./dswmedia/Multimetro%20Fluke%2037.htm"

A continuación la creación del evento onMouseOver, que al hacerlo en la página

se activa la función “activar1” que es la que corresponde a activarla imagen1, es decir la

variable “activado1.src” que corresponde como no podía ser de otra manera a la imagen

del multímetro Fluke.

onMouseOver="activar1('prueba');"onMouseOut="desactivar('prueba');">

Después tenemos el evento onMouseOut, a la que se asocia la función

“desactivar” que tiene como objetivo, activar la imagen “nulo” que es el truco utilizado

para parecer que no tenemos imagen. Seguidamente se ha de escribir propiamente el

texto del enlace con la sentencia:

<b><fontface="Tahoma" size="2">Multimetro Fluke 37</font></b></a>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 42

Esta es la forma con la que se crean todos los vínculos que podemos encontrar

en la página “instrumentos.html”, y para los que se ha utilizado Javascript.

3.3 Aplicación práctica usando VRML. Implantación del

entorno virtual.

3.3.1 Introducción

Si como hemos dicho en páginas anteriores Javascript, DHTML, PHP, Java, etc

se están haciendo fuertes en la programación web como lenguajes de programación para

modernizar y dinamizar el mundo de la red, la generación de efectos visuales,

animaciones, no hacen más que ganar terreno en este sentido. Podemos observar, a

medida que pasan el tiempo, como Internet va evolucionando, en el sentido en que las

páginas contienen cada vez menos texto y más imágenes, efectos visuales y

animaciones.

Entre todos estos medios, que se pueden utilizar, efectos Flash, Fireworks,

fusión de imágenes, disponemos de un lenguaje poco conocido para el usuario de

Internet que es el VRML, Virtual RealityModelling Language. El VRML es el formato

más popular para exponer contenido en tres dimensiones vía Internet, y desde luego es

el mejor candidato para nuestro propósito.

La historia del VRML es sencilla y reciente. Había un VRML, originalmente, la

versión 1.0. Éste fue el primer esfuerzo hacia un idioma de modelado en 3D para

Internet, y después de un tiempo se revisó, apareciendo el VRML 2.0, que cambió la

estructura de los archivos, y añadió muchos nuevos rasgos, como la animación. VRML

2.0 se sometió entonces al ISO/IEC para su aprobación y estandarización. VRML97 es

el resultado de ese proceso, y es una norma de ISO/IEC. VRML97 es prácticamente

idéntico a VRML 2.0, con un par de cambios menores en detalles muy pequeños.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 43

Así hemos escogido este lenguaje de programación porque cumplía

perfectamente los objetivos que estábamos buscando, crear un mundo virtual de forma

que al alumno interactuara con él de forma activa y no solo se limitase a contemplar la

información del portal.

3.3.2 Edición del Laboratorio Virtual.

La idea clara de lo que queremos realizar, es un entorno virtual, en concreto el

Laboratorio de Instrumentación Electrónica que se encuentra en el L2 de la Escuela

Superior de Ingenieros. Este entorno, va a servir al alumno para familiarizarse con todo

el conjunto que se puede encontrar al cursar esta asignatura.

Además de este propósito, se quiere tomar la creación de este laboratorio virtual

como base para poder realizar todo un sistema virtual interactivo de e-learning,

partiendo desde este laboratorio donde realizar una práctica, como llegar a crear toda

una escuela de ingeniería. Así mismo, esto ha servido al alumno que realiza este

proyecto, como método ideal de conocer y dominar unos de los lenguajes ideado para

Internet con más futuro en nuestros días.

A pesar de las virtudes expuestas anteriormente del lenguaje VRML, hemos de

reconocer un defecto importante y es que a la hora de crear entornos algo más

complejos, en los que vamos a exigir un nivel de detalle algo mayor, el VRML resulta

ser un lenguaje tedioso, ya que el lenguaje en sí mismo es tan simple, que no

disponemos de otra forma de codificar que hacerlo línea a línea, esto implica que lo que

hacen la mayoría de los programadores, y en concreto el alumno que ha realizado este

proyecto, es valerse de una herramienta de modelado 3D mucho más potente, y a

continuación realizar la conversión de archivos del modelador a VRML, junto con una

depuración exhaustiva.

Así, y siguiendo el consejo del tutor del proyecto, se decidió utilizar un

programa gráfico de gran potencia y enormemente conocido, como es el 3DStudioMax.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 44

Hoy en día, el 3DStudioMax, es una de las herramientas de diseño gráfico más

utilizada por los diseñadores, tanto en arquitectura, animaciones, programación web,

etc. La gran potencia de esta herramienta hace que el alumno haya tomado bastante

tiempo de este proyecto para llegar a dominar el manejo de este programa.

Gracias al uso de éste, el proceso de creación del laboratorio ha sido mucho más

intuitivo que no sencillo, ya que se ha ido elaborando palmo a palmo el laboratorio

ahondando en la profundidad de detalles.

3.3.2.1 Aplicación de 3DStudioMax.

La primera tarea, como hemos explicado, ha sido la creación del habitáculo del

laboratorio con 3DSMax, de forma estática.

Con una serie de fotografías tomadas del laboratorio se han ido creando

elementos poco a poco, hasta que el nivel de detalle ha sido el aprobado por el tutor.

Seguidamente se han ido añadiendo los elementos del laboratorio como ordenadores,

sillas, armarios, etc. Por último, y no por ello menos importante, se realizaron los

aparatos del laboratorio, analizadores de espectro, fuentes de alimentación,

osciloscopios, etc.

En este proceso de creación se utilizan los distintos elementos con los que se

cuentan en el 3DStudioMax, planos, cubos, intersecciones, operaciones booleanas entre

ellos, y una serie de operaciones complejas, que no tiene lugar enumerarlas en la

redacción de este proyecto.

Veamos una imagen simple del “esqueleto” del laboratorio tal y como sale del

3DStudioMax.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 45

Laboratorio-3DStudio

Una vez que se tiene este conjunto de planos, cubos, líneas, paralelepípedos, etc.

Se procede a una tarea que por muy sencilla que parezca no lo es en absoluto, darle

apariencia real al laboratorio. Para ello se usa tanto el 3DSMax como la texturización en

VRML, pero de esto último hablaremos más tarde.

A partir de lo visto anteriormente, se tienen que crear las luces que se dispondrán

en el laboratorio. El problema, que nos hemos encontrado, como a cada paso con el

3DSMax es que las posibilidades son enormes. Existen en el programa cinco tipos

distintos de iluminación, focos omnidireccionales, focos direccionales, etc. y cada uno

de ellos con infinitos parámetros, lo que implica que este paso en la creación del

laboratorio ha sido aun más tedioso si cabe que el anterior. No se debe caer en el error

de pensar que la iluminación de una escena tridimensional es algo superfluo, de una

buena iluminación depende si un entorno virtual da la verdadera sensación de realidad

frente a parecer una simple representación a ordenador.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 46

Por otra parte, y entrando ya en detalle con este proyecto, el proceso de

iluminación ha resultado algo tedioso. Por un lado, nos encontramos con un problema.

El VRML, trae por defecto una iluminación estándar en todos los mundos, es decir,

tienen un campo “headlight” del usuario en ON, con lo que se iluminará allá donde se

mire. Esto perjudicaba seriamente toda la iluminación que se diseñara. El problema se

producía al eliminar esta iluminación. El navegador VRML daba problemas si solo se

utilizaba la iluminación propuesta por el alumno. Así que hubo que combinar ambas

tipos. Contando con esa rémora, se utilizaron finalmente dos focos de luz

omnidireccionales, colocados en puntos separados de forma que quedara iluminado el

entorno virtual por igual en todos sitios.

A continuación se detalla el código de las luces de VRML:

DEF Omni01 PointLight { ambientIntensity 0.5 intensity 0.3 color 1 1 1 location -142.4 69.77 -22.01 on TRUE radius 200 } DEF Omni02 PointLight { ambientIntensity 0.2 intensity 0.5 color 1 1 1 location 92.74 73.97 52.34 on TRUE radius 200 }

Observamos que tenemos dos focos de luz llamados Pointlight. Los campos de

los que consta son fácilmente comprensibles. El único que cabe destacar es el campo

radius, que determina el radio de acción de la luz.

Veamos finalmente, como queda la imagen anterior incorporando a ella la

iluminación del sitio.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 47

Laboratorio-Iluminación

Por último, cuando ya tenemos el boceto de nuestro laboratorio realizado en

3DStudioMax, se realiza con el mismo programa una exportación a lenguaje VRML.

Gracias a la progresión de los programas, la versión utilizada del 3DStudio cuenta con

la opción de exportar el archivo a lenguaje VRML.

Una vez realizada esta operación pasaremos a la texturización y depuración en el

código VRML directamente.

3.3.2.2 Aplicación de VRML.

Vamos a explicar ahora un poco más sobre el VRML, su estructuración de datos,

especificaciones, etc.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 48

Lo primero que se debe saber es que todo archivo VRML comienza con una

línea de cabecera:

#VRML V2.0 utf8

Esto dice al navegador que está recibiendo un archivo de VRML, y la versión

correspondiente del lenguaje. En este caso, es versión 2.0. VRML es sensible a

mayúsculas y minúsculas. La parte del utf8 dice al navegador qué standard de cadenas

de texto debe emplear. VRML 1.0 usaba ascii o utf8, pero la versión 2 tiene sólo utf8.

Cualquier línea que comience con una almohadilla (#) es un comentario, y será ignorado

por el intérprete VRML. La primera línea es una excepción, y es leída por el navegador,

a pesar de que tenga un # en el comienzo.

Sigamos ahora con la estructura de un archivo VRML. Un mundo VRML está

hecho a partir de nodos, que son tipos de objeto. Dentro de estos nodos, se encuentran

campos, que son propiedades del objeto. Los campos pueden ser cualquier cosa, desde

el tamaño de una caja, a otro nodo dentro del primero. Los nodos se escriben como

sigue:

Group { children [ ] }

Esto muestra el nodo Group. Es el nodo más simple. Lo único que hace es

agrupar otros nodos. El nodo se escribe en el archivo poniendo el nombre del nodo

(Group), y después un par de llaves. Dentro de estas llaves tenemos los campos. En este

caso, los children, pueden contener otros nodos. De este modo los nodos pueden

anidarse entre si, creando un tipo de jerarquía de nodos, a veces llamado el Grafo de la

Escena. Se muestran debajo unos ejemplos simples de nodos anidados, usando dos

nodos Group, uno dentro del otro.

Group { children [ Group { }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 49

] }

Esto resulta ser un fragmento bastante vacío de VRML, pero muestra cómo

agrupar nodos y cómo se anidan.

Como se ha dicho anteriormente, algo importante que se debe recordar es que el

VRML es sensible a mayúsculas y minúsculas. Los nombres de los nodos comienzan

con mayúscula (Group, Transform, IndexedFaceSet), mientras que los de los campos lo

hacen con minúscula. Aún así, pueden tener una letra central mayúscula si el nombre es

compuesto (children, translation, coordIndex).

Esta es la mínima información que se debe tener entre manos sobre el VRML

para poder seguir la lectura de este proyecto sin perderse y entender el método de

texturización. Para el lector que esté interesado en tener más información sobre el

VRML, se ha preparado un apéndice, en el que se desarrollará en mucha mayor

profundidad la información sobre este lenguaje.

Ya que sabemos algo más sobre el VRML, podemos pasar a analizar el trabajo

que se ha hecho a partir de este lenguaje.

Como ya hemos explicado anteriormente, resulta más conveniente crear los

mundos VRML a partir de herramientas potentes y luego trabajar sobre el código

generado. Esto es lo que hemos ido realizando en la consecución de este proyecto.

Una vez generado el archivo .wrl a través del 3DSMax, pasamos a texturizar,

que se realizará haciendo modificaciones directamente en el código. Es importante

explicar, porque generará una duda razonable, que si se hace todo el trabajo de creación

del laboratorio en 3DSMax, porqué no se texturiza también utilizando este programa. El

problema es que este proceso es imposible realizarlo en el 3DStudio ya que las texturas

que se utilizan en este programa se asocian a objetos de tres dimensiones, y nosotros

texturizamos a partir de dos dimensiones que es la forma de trabajar que tiene el

VRML.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 50

Recordemos el inconveniente que tenía el VRML, que era la acusada falta de un

interfaz gráfico, es decir, que la forma de programar en VRML, es crear código línea a

línea, para lo cual existen editores bastante aceptables como el VRMLPad, o se puede

crear como cualquier archivo de texto y luego guardarlo con la extensión .wrl. Aunque

esta queja de tener que escribir línea a línea parezca una tontería, no lo es. Nosotros

estamos acostumbrados a escribir el código de programas línea a línea, pero suele

hacerse para programación en lenguajes como C, C++, Java, etc. pero recordemos que

estamos tratando con un programa de diseño grafico en tres dimensiones, una vez visto

desde esta perspectiva se debe considerar una rémora importante. Así, a título personal

del alumno, se cree que este lenguaje no despegará totalmente, hasta que no se cree una

buena interfaz gráfica que comulgue perfectamente con la programación en código.

Una vez explicados los pros y los contras, pasemos a ver como se ha texturizado

nuestro laboratorio virtual.

Quizás desde hace algún rato se preguntará el lector, qué es eso de la

texturización, pues es un proceso por el cual, sobre una capa de cualquier elemento

dibujado tanto escribiendo código VRML como exportada desde el 3DSMax, que

tendrá un color homogéneo y liso, se mapea una imagen o textura, sobre esa capa. Es

decir se utiliza un mapa de textura básico, que traza una imagen inmóvil sobre este

objeto. Hemos de señalar que en VRML las texturas deben tener formato de archivo

JPEG o PNG.

La texturización se realiza en el nodo “Appearance” introduciendo un nuevo

nodo que llamado ImageTexture. El nodo contiene tres campos:

• El primero, el url, especifica la imagen para usar en un formato de URL

normal. Se puede especificar una lista de imágenes dentro de corchetes

y el navegador mostrara la primera que encuentre.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 51

• Los otros dos son repeatS y repeatT que controlan si la textura se repite

en la dirección horizontal (S) o en la vertical (T). Estos toman valores

booleanos de TRUE (Verdadero) o FALSE (Falso).

Vamos a ver el código básico de texturización.

appearance Appearance { texture ImageTexture { url "imagen.jpg" repeatS FALSE repeatT FALSE } }

Antes de introducirnos en el trabajo realizado, vamos recalcar un problema

importante que debe conocer el lector, y cualquier interesado en el tema. Se trata del

método de texturización en VRML, por el cual la textura se aplica al objeto entero, y no

a la parte que nosotros queramos. Veamos lo que quiere decir esto con un ejemplo.

Si nosotros queremos dibujar una caja de color rojo en VRML escribiremos el

siguiente código:

#VRML V2.0 utf8 Transform { scale 2 0.5 2 rotation 0 1 0 0.78 translation 0 -1.5 0 children [ Shape { appearance Appearance { material Material { emissiveColor 1 0 0 } } geometry Box {} } ]

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 52

El resultado será el siguiente:

Si ahora nosotros texturizamos esa caja con una textura de por ejemplo un

bloque de ladrillo, deberíamos escribir el siguiente código:

#VRML V2.0 utf8 Transform { scale 2 0.5 2 rotation 0 1 0 0.78 translation 0 -1.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "brick.jpg" } } geometry Box {} } ] }

Obteniendo el siguiente resultado:

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 53

Podemos comprobar a simple vista, como nuestra textura de ladrillos se aplica a

toda la caja por igual, es decir se mapea en todas las caras del elemento. Esto nos trae un

problema a nuestra intención de texturizar nuestros elementos del laboratorio, ya que si

por ejemplo tenemos, como más tarde veremos un ejemplo, un Analizador Lógico

Gould, nuestra textura, que será el frontal del aparato, sólo debe aplicarse a la cara que

nosotros tendremos delante, como es evidente, porque es en lo que nos vamos a fijar, así

que no podemos crear un bloque en VRML y ponerle la textura directamente. La

sencilla solución que hemos adoptado es pintar un plano de texturización para cada

elemento que vayamos a texturizar, y poner sobre ellos la textura.

Lo que necesitamos para texturizar un determinado objeto son las propias

texturas. Estas se han obtenido tomando fotografías digitales de todos los elementos del

laboratorio susceptibles de reflejar de manera clara en nuestra representación del

laboratorio, y que vayan a dar un aspecto de realidad fehaciente al mismo, así se toman

fotos de aparatos como los osciloscopios, analizadores, ventanas, pizarras, armarios, etc.

Como es evidente, esto tiene un trabajo previo y posterior, ya que hay que optimizar las

fotografías, tanto en tamaño como en atributos.

Una vez nos hemos hecho con un adecuado álbum de texturas, se pasa al proceso

de ir seleccionando en el código cada uno de los elementos a texturizar y a clasificarlos

por grupos. Es decir, si queremos reflejar fielmente un laboratorio no podemos disponer

de solo un aparato de cada clase, sino de varios. Así se han ido eligiendo un número

aleatorio de osciloscopios, fuentes de tensión, generadores de función etc.

Vamos a ir exponiendo este proceso con un ejemplo para que resulte algo más

sencilla la explicación. Tomemos entonces como ejemplo la texturización de un

Analizador Lógico Gould, uno de los varios que tenemos. Si buscamos en nuestro

código VRML un Analizador Lógico Gould, encontramos la siguiente declaración:

DEF gould Transform { translation -62.17 6.784 26.99 children [ DEF Plano07 Transform { translation -3.669 0.003142 0.01001

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 54

rotation 0.5774 -0.5774 0.5774 -4.189 children [ Shape { appearance Appearance { material Material { diffuseColor 0.6824 0.6667 0.5647 } } geometry DEF Plano07-FACES IndexedFaceSet { ccw TRUE solid TRUE coord DEF Plano07-COORD Coordinate { point [ -2.702 0 1.613, -1.351 0 1.613, 0 0 1.613, 1.351 0 1.613, 2.702 0 1.613, -2.702 0 0.8067, -1.351 0 0.8067, 0 0 0.8067, 1.351 0 0.8067, 2.702 0 0.8067, -2.702 0 0, -1.351 0 0, 0 0 0, 1.351 0 0, 2.702 0 0, -2.702 0 -0.8067, -1.351 0 -0.8067, 0 0 -0.8067, 1.351 0 -0.8067, 2.702 0 -0.8067, -2.702 0 -1.613, -1.351 0 -1.613, 0 0 -1.613, 1.351 0 -1.613, 2.702 0 -1.613] } coordIndex [ 5, 0, 6, -1, 1, 6, 0, -1, 6, 1, 7, -1, 2, 7, 1, -1, 7, 2, 8, -1, 3, 8, 2, -1, 8, 3, 9, -1, 4, 9, 3, -1, 10, 5, 11, -1, 6, 11, 5, -1, 11, 6, 12, -1, 7, 12, 6, -1, 12, 7, 13, -1, 8, 13, 7, -1, 13, 8, 14, -1, 9, 14, 8, -1, 15, 10, 16, -1, 11, 16, 10, -1, 16, 11, 17, -1, 12, 17, 11, -1, 17, 12, 18, -1, 13, 18, 12, -1, 18, 13, 19, -1, 14, 19, 13, -1, 20, 15, 21, -1, 16, 21, 15, -1, 21, 16, 22, -1, 17, 22, 16, -1, 22, 17, 23, -1, 18, 23, 17, -1, 23, 18, 24, -1, 19, 24, 18, -1] } } ] },

Esta primera parte de código define la caja que albergará el analizador. Podemos

comprobar que el 3DSMax al crear un bloque no lo define como BOX, como vimos en

el ejemplo anterior, sino que utiliza un nodo mucho más intuitivo como es el

IndexedFaceSet. Este nodo es una colección de caras, que se puede definir

manualmente, y permiten construir los propios objetos con cualquier forma.

DEF Plano14 Transform { translation 100.9 -5.462 -53.93 rotation -0.8968 0.3128 -0.3128 -1.679

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 55

children [ Shape { appearance Appearance { texture ImageTexture { url "gould.jpg" } textureTransform TextureTransform { scale 1 1.8 } material Material { diffuseColor 0.651 0.898 0.898 } } geometry DEF Plano14-FACES IndexedFaceSet { ccw TRUE solid TRUE coord DEF Plano14-COORD Coordinate { point [ -3.533 0 2.008, -1.766 0 2.008, 0 0 2.008, 1.766 0 2.008, 3.533 0 2.008, -3.533 0 1.004, -1.766 0 1.004, 0 0 1.004, 1.766 0 1.004, 3.533 0 1.004, -3.533 0 0, -1.766 0 0, 0 0 0, 1.766 0 0, 3.533 0 0, -3.533 0 -1.004, -1.766 0 -1.004, 0 0 -1.004, 1.766 0 -1.004, 3.533 0 -1.004, -3.533 0 -2.008, -1.766 0 -2.008, 0 0 -2.008, 1.766 0 -2.008, 3.533 0 -2.008] } coordIndex [ 5, 0, 6, -1, 1, 6, 0, -1, 6, 1, 7, -1, 2, 7, 1, -1, 7, 2, 8, -1, 3, 8, 2, -1, 8, 3, 9, -1, 4, 9, 3, -1, 10, 5, 11, -1, 6, 11, 5, -1, 11, 6, 12, -1, 7, 12, 6, -1, 12, 7, 13, -1, 8, 13, 7, -1, 13, 8, 14, -1, 9, 14, 8, -1, 15, 10, 16, -1, 11, 16, 10, -1, 16, 11, 17, -1, 12, 17, 11, -1, 17, 12, 18, -1, 13, 18, 12, -1, 18, 13, 19, -1, 14, 19, 13, -1, 20, 15, 21, -1, 16, 21, 15, -1, 21, 16, 22, -1, 17, 22, 16, -1, 22, 17, 23, -1, 18, 23, 17, -1, 23, 18, 24, -1, 19, 24, 18, -1] } } ] }

Este código que hemos presentado es el perteneciente al plano de texturización

utilizado para este analizador en particular. Vemos como se utiliza la textura del

analizador “gould.jpg” que se dispone sobre este plano con lo que por fin se verá el

siguiente resultado.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 56

Texturización de un Gould.

Una vez explicado el método de texturización, hemos de señalar que se ha hecho

hincapié en la idea de haber representado los equipos del laboratorio lo más fielmente

posible, habiendo dejado de un lado el aspecto ambiental del laboratorio. Aún así,

hemos dado forma a todos y cada uno de los elementos de nuestro laboratorio,

evidentemente los aparatos, pero también armarios, ventanas, suelo, pizarra, etc.

Esto nos lleva a que la texturización se convierte en un proceso tedioso, ya que

no solo tenemos un analizador de espectro o un solo Tektronic, sino que tenemos un

número elevado de aparatos. Así, se tomó la determinación de dividir los aparatos por

grupos e ir texturizando cada uno de ellos por separado, además esto resultó ser una idea

acertada, ya que las texturas de una fuente de alimentación, no correspondían al mismo

tamaño que el de un osciloscopio por ejemplo. Por lo tanto, hubo que modificar las

coordenadas de las texturas de forma independiente. Lo mismo ocurrió con las texturas

de ventanas, suelo, etc.

Solo nos queda observar cómo, utilizando este método de trabajo, conseguimos

darle un aspecto mucho más real y cercano a nuestro laboratorio virtual. Podemos verlo

a continuación.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 57

Texturización del Laboratorio

3.3.3 Navegación en el Laboratorio Virtual con VRML.

Llegado a este punto del camino, disponemos de una fantástica maqueta virtual

en tres dimensiones de nuestro laboratorio. El lector se preguntará para qué queremos

esta representación en principio inanimada, y que no nos sirve de nada sino para

contemplarla de manera pasiva. Pues el VRML es el que da respuesta a esta pregunta.

El fundamento principal de creación de un mundo en VRML es la posibilidad de la

navegación en el mismo, como si el usuario se encontrara dentro de él, es decir, crear

una representación lo más fiel a la realidad y que el alumno pueda interactuar con la

misma.

Para ver un mundo VRML, lo primero que se necesita es un navegador. La

mayoría de los navegadores de VRML operarán como plugins para Netscape o Internet

Explorer. Hay también navegadores disponibles para la mayoría de los otros sistemas

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 58

operativos. Una vez instalado el plugin, sólo se tendrá que cargar el archivo VRML y se

podrá ver como una página web. Para desarrollar este proyecto de ha utilizado el

navegador Cortona de Parallel Graphics.

Al ejecutar nuestro archivo VRML, éste se verá como una página web

cualquiera, con la salvedad de que se dispone de dos menús de navegación, uno a la

izquierda y otro en la parte inferior.

Pantalla de navegación

A través de estos menús podremos navegar fácilmente a través de nuestro

mundo VRML. Existen cuatro tipos de navegación básicos:

• WALK: Donde el usuario camina normalmente siendo afectado por la

gravedad.

• FLY: Donde el usuario se mueve sin ser afectado por la gravedad.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 59

• STUDY: Donde el usuario permanece inmóvil, pero puede rotar el

mundo para verlo desde distintos ángulos.

• NONE: Donde el usuario no tiene control de movimiento en absoluto.

La elección del tipo de navegación da una gran flexibilidad en la manera de usar

el VRML. Con el campo a WALK o FLY, se podrá tener la sensación de mundo virtual.

Con STUDY se podrá tener un modelo de un coche u otro elemento, de manera que

pueda examinarse fácilmente. Finalmente, NONE, está pensado para poner al usuario a

mirar lo que se pone en frente suya. Este tipo de navegación, aunque parezca poco

práctica, viene muy bien cuando es usada para películas tres 3D, animaciones, o

anuncios.

Estos tipos de navegación, se puede cambiar a lo largo de la ejecución del

archivo mientras se esta viendo, simplemente pinchando en los botones de los menús,

aunque también pueden ser predefinidos por el programador en un nodo llamado

NavigationInfo.

Los demás botones que nos podemos encontrar en el menú son muy intuitivos:

• PLAN: Es el que aparece por defecto y deja al usuario navegar

libremente.

• PAN: Se utiliza para navegar de forma panorámica.

• TURN: Como su propio nombre indica este botón se usa para girar

nuestro mundo. Démonos cuenta que cuando elegimos el modo de

navegación a STUDY, pasa a iluminarse por defecto TURN en vez de

PLAN, pero luego nosotros podemos combinarlos como queramos para

sacarle más partido a nuestro viaje virtual.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 60

• ROLL: Es muy parecida a la forma de navegar en modo TURN, pero en

este caso se gira el mundo virtual que se esta viendo, pero sin un punto

fijo al que darle vueltas.

En el menú de la parte inferior aparecen seis botones de los cuales sólo vamos a

usar los siguientes:

• GOTO: Este botón nos permite elegir un punto cualquiera de nuestro

mundo y acercarnos a él.

• ALIGN: Con este botón podemos alinear el mundo al nivel que nosotros

queramos, es decir alinearnos es un punto cualquiera del objeto.

• RESTORE: Este botón es bastante importante, ya que después de los

giros, avances, retrocesos, y miles de modificaciones que hacemos sobre

el objeto para examinarlo, pinchando en este botón se vuelve a la

posición en la que se presentó inicialmente el mundo VRML.

• FIT: Este botón es parecido a RESTORE. Lo que hace es dejar el

mundo en una posición alejada de forma que lo veamos desde lejos,

pero en la posición en la que nosotros lo tengamos en ese momento, y

no en la posición inicial. Así, si nosotros hemos girado 45º nuestro

mundo y pingamos en FIT, podremos ver nuestro objeto desde un punto

de vista lejano, pero girado los 45º.

Esto es a groso modo, esta es la forma que tenemos para movernos a través de

nuestros mundos virtuales y en concreto de nuestro laboratorio virtual.

Hay una serie de elementos adicionales que pueden añadir más interactividad al

mundo, enlaces, música, películas, animaciones, etc. Nosotros en concreto, hemos

creado una serie de enlaces en nuestro laboratorio, desde los distintos aparatos que se

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 61

han dispuesto, los osciloscopios, las fuentes de tensión, etc. para que el alumno al

navegar en el laboratorio pueda tener información de primera mano de lo que está

viendo, pinchando sobre el aparato sobre el cual esté interesado. Así mismo se creará

también el enlace a la práctica virtual de forma que el alumno pueda acceder

directamente desde el portal, o a través de la navegación en el laboratorio.

La manera de realizar esos enlaces dentro de un mundo VRML es bien sencilla.

Se toma un objeto cualquiera de nuestro mundo, al cual se quiere hacer un enlace. A su

definición en lenguaje VRML hay que añadirle el siguiente código.

Anchor {

children [

OBJETO SOBRE EL QUE SE CREA

EL ENLACE

]

description "Descripción del enlace"

url "enlace.html"

}

Así, si tomamos el ejemplo concreto de nuestro Analizador Lógico Gould, se

escribe lo siguiente:

Anchor { children [ DEF gould Transform { translation -62.17 6.784 26.99 children [ DEF Plano07 Transform { translation -3.669 0.003142 0.01001 rotation 0.5774 -0.5774 0.5774 -4.189 children [ Shape { appearance Appearance { material Material { diffuseColor 0.6824 0.6667 0.5647 } }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 62

geometry DEF Plano07-FACES IndexedFaceSet { ccw TRUE solid TRUE coord DEF Plano07-COORD Coordinate { point [ -2.702 0 1.613, -1.351 0 1.613, 0 0 1.613, 1.351 0 1.613, 2.702 0 1.613, -2.702 0 0.8067, -1.351 0 0.8067, 0 0 0.8067, 1.351 0 0.8067, 2.702 0 0.8067, -2.702 0 0, -1.351 0 0, 0 0 0, 1.351 0 0, 2.702 0 0, -2.702 0 -0.8067, -1.351 0 -0.8067, 0 0 -0.8067, 1.351 0 -0.8067, 2.702 0 -0.8067, -2.702 0 -1.613, -1.351 0 -1.613, 0 0 -1.613, 1.351 0 -1.613, 2.702 0 -1.613] } coordIndex [ 5, 0, 6, -1, 1, 6, 0, -1, 6, 1, 7, -1, 2, 7, 1, -1, 7, 2, 8, -1, 3, 8, 2, -1, 8, 3, 9, -1, 4, 9, 3, -1, 10, 5, 11, -1, 6, 11, 5, -1, 11, 6, 12, -1, 7, 12, 6, -1, 12, 7, 13, -1, 8, 13, 7, -1, 13, 8, 14, -1, 9, 14, 8, -1, 15, 10, 16, -1, 11, 16, 10, -1, 16, 11, 17, -1, 12, 17, 11, -1, 17, 12, 18, -1, 13, 18, 12, -1, 18, 13, 19, -1, 14, 19, 13, -1, 20, 15, 21, -1, 16, 21, 15, -1, 21, 16, 22, -1, 17, 22, 16, -1, 22, 17, 23, -1, 18, 23, 17, -1, 23, 18, 24, -1, 19, 24, 18, -1] } } ] } ] description "Analizador Lógico Gould" url "./dswmedia/AnalizadorLogicoGould.html" }

Como podemos observar, para crear este enlace hay que introducir la definición

del objeto Gould dentro del nodo ANCHOR, para que se contemple como un enlace.

Con esto terminamos la descripción del trabajo reanalizado en VRML.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 63

3.4 Aplicación práctica usando MySQL. Administración de

usuarios.

3.4.1 Introducción.

La propia naturaleza de este proyecto, el cual esta enfocado al desarrollo de la

enseñanza a través de la aplicación de las nuevas tecnologías, lleva consigo el hecho de

que todo esta enfocado hacia un grupo de alumnos.

Evidentemente estos alumnos, aún siendo universitarios no dejan de formar un

grupo de usuarios sobre el cual hay que tener un cierto control. Sumando a esto,

tenemos la idea de que el proyecto contempla la realización de una práctica virtual, que

tal vez su nombre nos lleve a error, ya que el concepto “virtual” desvirtúa la grandeza

de esta práctica y es que el alumno desde casa, en su ordenador podrá realizar una

práctica que física y simultáneamente se estará desarrollando en el laboratorio, visto de

forma sencilla esto quiere decir, que si por ejemplo el alumno tiene una disposición de

un circuito con un condensador, resistencias, etc. y el alumno pone en el osciloscopio

virtual una sobre tensión de 20 voltios, la resistencia o el condensador se quemarán

realmente en el laboratorio. Así, todo lo que ocurra en el ordenador del alumno en su

casa de manera virtual, estará ocurriendo de verdad en el laboratorio del L2 de la

Escuela Superior de Ingenieros de Sevilla.

Esto hace que sea totalmente necesario un exhaustivo control y administración

de los usuarios del laboratorio. Es aquí donde comienza a actuar MySQL.

MySQL al contrario de lo que pueda pensar mucha gente no es una base de

datos, sino un gestor de bases de datos relacionales cliente-servidor SQL. MySQL

incluye un servidor SQL, programas cliente para acceder al servidor, herramientas

administrativas y una interfaz de programación para que se puedan escribir programas

propios.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 64

Las características más importantes que podemos destacar de MySQL son las

siguientes:

• Velocidad: MySQL es una de los gestores de bases de datos más rápidos

si no es el más rápido.

• Facilidad de uso: MySQL es un sistema de bases de datos de alto

rendimiento pero relativamente simple y es mucho menos complejo de

configurar y administrar que sistemas más grandes.

• Coste: MySQL es gratuito para la mayoría de los usos internos. Lo que

lo sitúa en una posición muy ventajosa con respecto a otros gestores.

• Capacidad de gestión de lenguajes de consulta: MySQL comprende

SQL (Structured Query Language, Lenguaje de consulta estructurado),

el lenguaje elegido para todos los sistemas de bases de datos modernos.

• Capacidad: Pueden conectarse muchos clientes simultáneamente al

servidor. Los clientes pueden utilizar varias bases de datos

simultáneamente. Pueden acceder de forma interactiva a MySQL

empleando diferentes interfaces que le permiten introducir consultas y

visualizar los resultados: cliente de línea de comando, navegadores web

o clientes de sistema X Window. Además esta disponible una amplia

varias de interfaces de programación para lenguajes como C, Perl, PHP,

etc. Por tanto, tiene la posibilidad de elegir entre usar un software

cliente pre-empaquetado o escribir sus propias aplicaciones a medida.

• Conectividad y seguridad: MySQL esta completamente preparado para

el trabajo en red y las bases de datos pueden ser accedidas desde

cualquier lugar de internet, por lo que puede compartir sus datos con

cualquiera, en cualquier parte. Pero MySQL dispone de control de

acceso, lo cual es ideal para nuestro proyecto.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 65

Hemos de comentar, que evidentemente la forma de comunicarnos con MySQL,

el usar el lenguaje SQL, Lenguaje de Consulta Estructurado. SQL es hoy en día el

estándar en lenguaje de bases de datos, y todos los sistemas importantes lo entienden.

SQL incluye muchas clases diferentes de sentencias, todas diseñadas para hacer posible

la interactuación con nuestra base de datos de modo útil.

3.4.2 Control de acceso al laboratorio.

Como hemos dicho anteriormente, la creación de la práctica virtual lleva consigo

el realizar un control de acceso para los alumnos que quieran ser usuarios del

laboratorio y por ende de la práctica virtual. Esta claro que esta parte del proyecto se

encuentra profundamente ligada al portal de la asignatura Laboratorio de

Instrumentación Electrónica de 5º curso, desde el cual nace este proyecto fin de carrera.

Realizando un profundo estudio de la misma podemos ver que se disponen de

un sistema de acceso de usuarios a los distintos servicios que ofrece este portal. Este

sistema de acceso se basa en una sistema de privilegios sujeto a permisos que se dan a

los alumnos registrados como usuarios. Esta gestión de usuarios se gestiona con la

conjunción de PHP y MySQL. Asociado a cada usuario existen una serie de flags que

representan los privilegios de los que un usuario goza en el sistema. Si un flag está

activo, quiere decir que se le concede al usuario el privilegio por él representado. Así el

usuario tendrá flags para determinados servicios u operaciones, como los siguientes:

• Admin_tool: permite acceso al menú general de administración

• Chpass: el usuario podrá cambiar su contraseña.

• Notas_r: permite acceder al servicio de consulta de notas.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 66

En este punto, nosotros hemos añadido un nuevo permiso llamado “laboratorio”,

de forma que aquel usuario que no posea este permiso, no podrá acceder a realizar la

práctica virtual. Aclararemos que el permiso, se concede en la página del laboratorio de

Instrumentación y no en el propio portal implementado por dos razones: una porque el

sistema de privilegios se encuentra registrado en esta página, y otra porque es evidente

que todo alumno que vaya a acceder o que quiera ser registrado para realizar una

práctica virtual va a ser alumno de la asignatura de 5º curso, con lo cual la tarea re

conceder permisos es mucho más fácil desde aquí.

La adición del nuevo permiso se hace reconstruyendo de nuevo la base de datos

de permisos de MySQL, albergada en el servidor MySQL de la máquina Apache, de la

siguiente forma:

USE usuarios_lie; CREATE TABLE cuentas (user char(16) primary key not null, pass char(32) not null, realname varchar(50), modificado timestamp); CREATE TABLE permisos (user char(16) primary key not null, usuarios_list bool not null default 0, usuarios_edit bool not nulldefault 0, usuarios_del bool not null default 0, usuarios_add bool not null default 0, download bool not null default 0, dudas_r boolnot null default 0, dudas_w bool not null default 0, encuesta_r boolnot null default 0, encuesta_w bool not null default 0, encuesta1bool not null default 0, encuesta2 bool not null default 0, encuesta3 bool not null default 0, notas_r bool not null default 0, notas_w bool not null default 0, noticias_r bool not null default 0, lab_virtual bool not null default 0, noticias_w bool not null default 0, cuestionario_r bool not nulldefault 0, cuestionario_w bool not null default 0, monitores_r boolnot null default 0, monitores_w bool not null default 0, admin_toolbool not null default 0, chpass bool not null default 0);

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 67

grant select, insert, update, delete on usuarios_lie.* to csed_admin@localhost ; grant select on usuarios_lie.* to csed@localhost ; insert into cuentas values ('root', md5('j0nj0n'), 'Administrador', NULL); insert into permisos values ('root', 1 ,1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

El sistema de usuarios implantado consta de una base de datos, en nuestro caso

llamada “usuarios_lie” (esta nomenclatura hace referencia al nombre del portal

“Laboratorio de Instrumentación”.

Como es natural, antes de utilizar el fichero anterior deberemos haber creado la

base de datos vacía (mediante: “mysqladmin -u root -p create usuarios_lie”) y haber

definido los usuarios “lie” y “lie_admin” del servidor MySQL. El fichero consta de tres

partes. En la primera se definen las dos tablas que albergarán los datos de usuario:

“cuentas” y “permisos”. En la segunda se asignan los privilegios correspondientes

según la política de seguridad de usuarios MySQL ya vista con anterioridad. Por último,

creamos la cuenta de Administración por excelencia: el superusuario o “root”, el cual

tendrá todos los flags de acceso o permisos activos, como es lógico. Utilizando dicha

cuenta tendremos acceso a la herramienta de administración de usuarios y podremos

crear desde allí nuevos usuarios, asignarle los privilegios que deseemos y en definitiva,

no será necesario utilizar de nuevo la utilidad “mysql” (interfaz de administración) del

paquete MySQL, la cual entendemos, opera a un nivel más bajo que la propia

Aplicación que define nuestro portal.

En la tabla “permisos” se guardarán los flags asociados a los distintos usuarios, y

que definirán el sistema de privilegios. Ambas tablas se encuentran indexadas por

nombre de usuario, ya que éste será único y es por tanto idóneo para realizar este papel.

Una vez se ha constatado que el usuario se encuentra en la base de datos de

alumnos de la asignatura Laboratorio de Instrumentación de 5º, seguidamente se van a

registrar sus datos, nombre de usuario, y su nombre real completo en una nueva base de

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 68

datos llamada laboratorio. Además del alias y el nombre completo también quedará

registrada la hora de entrada al laboratorio virtual, de esta forma queda totalmente claro

quien y a que hora se ha producido un acceso al laboratorio. La creación de esta nueva

base de datos, lleva consigo acceder a la consola de MySQL y crear la base de datos y

sus tablas correspondiente. Para ello tenemos hemos creado el siguiente código:

DROP DATABASE usuarios_lvir;

CREATE DATABASE usuarios_lvir;

USE usuarios_lvir;

DROP TABLE IF EXISTS registro;

CREATE TABLE registro (

user varchar(16) NOT NULL default ' ',

realname varchar(50) default NULL,

modificado timestamp(14) NOT NULL,

PRIMARY KEY (user)

) TYPE=MyISAM;

Una vez creada nuestra base de datos solo tenemos que acceder a ella y

rellenarla con los datos del alumno cada vez que se produzca un acceso. Eso tiene lugar

en la página php creada como acceso a la práctica llamada práctica.php.

<?php

// Conectamos con la base de datos de usuarios del laboratorio

conectar_admin();

mysql_select_db($db_laboratorio);

// Creamos la sentencia SQL para añadir el registro de usuario

$sql = "INSERT INTO registro VALUES ('".$SESSION['user']."' ,

'".$SESSION['realname']."')";

mysql_query ($sql,) or die ("Fallo en la inserción de registro.");

?php>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 69

Como vemos, solo tenemos que conectar con la base de datos creada, y a

continuación añadir en la tabla registro, las variables de sesión activas en la página, que

contienen el alias y el nombre real completo del alumno.

Con esto concluye el capítulo dedicado al control y administración de usuarios.

3.5 Práctica Virtual.

3.5.1 Introducción.

En este último apartado vamos a tratar de explicar en que ha consistido la

creación de la práctica virtual. Este trabajo es el resultado de muchas horas empleadas

en poner en común el ideas y planes por dos alumnos, uno de ellos el que realiza este

proyecto fin de carrera. Como ya hemos explicado en varias ocasiones, pero al ser un

dato importante lo vamos a volver a resaltar, es que la naturaleza de este práctica no es

virtual sino real. Lo novedoso es que todo lo que el alumno realice tras su pantalla de

ordenador en su propia casa se verá reflejado de manera física en el Laboratorio de

Instrumentación de la Escuela Superior de Ingenieros.

Introduciremos algo de lo que serán los aspectos técnicos desarrollados en esta

práctica virtual como la conexión entre PC servidor y aparatos del laboratorio a través

del Protocolo GPIB, y el modo de funcionamiento de este servidor cara al mundo

exterior.

Finalmente explicaremos algo de esta consola virtual creada y el modo de operar

frente a ella a la hora de realizar dicha práctica.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 70

3.5.2 Conexión PC Servidor-Laboratorio. Protocolo GPIB.

La instrumentación controlable desde el ordenador, y con ello de los sistemas de

instrumentación, comienza a usarse con la aparición en el año 75 del estándar IEEE-488

conocido habitualmente por el bus GPIB (General Purpose Interface Bus), que como ya

sabemos será estándar que se va a usar para interconexionar los equipos. Los cables que

se usan para ellos son de especiales características y se pueden ver en la figura.

Existen dos maneras de interconectar los equipos de medida a la máquina, en

forma de Estrella figura a, y en forma de Bus figura b, o una mezcla de ambos. Entre

ellas no existe diferencia en cuanto a velocidad o situación crítica, ya que la conexión de

un dispositivo a otro se hace directamente entre los cables y no en el equipo.

a) b)

Posibles formas de interconexión del bus GPIB entre los equipos y la máquina

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 71

La conexión con el ordenador se hace mediante una tarjeta GPIB, que debe tener

unas características concretas para que se pueda usar en este sistema. La más importante

es que sea capaz de controlar los dispositivos que envían datos (Talker) y a los que

reciben datos (Listener).

Generalmente casi todas las tarjetas GPIB que existen en el mercado cumplen

este requisito, la mayor diferencia entre ellas suele ser el software que contiene para

configurar la tarjeta y la velocidad de transferencia.

En el mercado existen tarjetas de 100KB/s, 300KB/s y 1GB/s; la primera resulta

insuficiente teniendo en cuenta que hoy en día, las conexiones domésticas suelen ser de

mayor velocidad, y la última resulta excesiva. Nos inclinamos por la segunda ya que

posee una velocidad media bastante aceptable. Con respecto software de la tarjeta, no es

un aspecto crítico para nosotros ya que el entorno que usamos (Labview) se encarga de

toda la gestión de controladores.

Es por ello por lo que adquirimos la tarjeta PCI-GPIB de Measurement Computing

como la que se muestra en la Figura 1.10.

Tarjeta PCI-GPIB de Measurement Computing

El resto de características de esta tarjeta son:

• Soporta el estándar IEEE 488.2.

• Posibilidad de conectar hasta 32 dispositivos.

• Posee 7 interrupciones con capacidad de compartirse.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 72

• Se puede habilitar o deshabilitar la transparencia de las interrupciones

En cada equipo, se puede configurar la dirección GPIB con la que va a ser

reconocido desde la tarjeta.

Para el control de los equipos con la aplicación, el protocolo pasa por tres tipos

de drivers antes de llegar al nivel de la interfaz.

El primero de ellos es el que controla a la tarjeta GPIB propiamente dicha, lo

que proporciona el paso de los datos desde los cables de interconexión al

microprocesador de la máquina. En realidad este controlador no lo proporciona

Labview, sino el fabricante de la tarjeta física (Measurement Computing) junto con la

misma tarjeta. Su instalación es muy sencilla, ya que no es necesario ningún software

adicional al encargarse el Labview del resto de las capas.

El segundo controlador ya lo gestiona Labview y es que interpreta los comandos

SCPI. En las librerías del programa existen funciones de escritura y lectura de

comandos GPIB. Donde hay que especificar todos los aspectos del envío (tiempo máx.

de espera, dirección GPIB del equipo al que va destinado el comando….etc). Estas

funciones pueden ser usadas perfectamente para el desarrollo del proyecto pero

restringiría el sistema únicamente a instrumentos controlados por GPIB.

Por último, y para mejorar lo anterior, Labview contiene unas librerías de

superior nivel que engloban a las funciones de GPIB, son las VISA (Virtual Instrument

Software Architecture). Con ellas nos desentendemos del protocolo de conexión de los

equipos y así, si queremos usar algún equipo con otra conexión o ampliar el sistema con

otro equipo que use, por ejemplo RS-232, no tendremos que cambiar de funciones. En

el Anexo 2 se detallan el resto de protocolos que contiene VISA y demás aspectos

técnicos sobre la librería.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 73

Una vez que tenemos ya la interpretación de los comandos que se usan en la

comunicación con los equipos pasamos a desarrollar la manera de representarlos en la

pantalla.

3.5.3 Consola Virtual. Interfaz gráfico.

El interfaz gráfico es la parte visible del sistema y por tanto hay que

implementarlo con gran detalle. Lo que se pretende es que el usuario encuentre la menor

diferencia posible con los paneles de los instrumentos reales. El sistema debe resultar lo

mas transparente posible al ingeniero o alumno que realice las prácicas, puesto que se

intenta hacer remoto el control de un instrumento, no modificar su aspecto o su

funcionamiento.

Para ello, Labview contiene unas librerías con controles cuyo aspecto imitan a la

perfección los de los instrumentos reales (botones, potenciómetros, selectores…etc).

En la siguiente figura se muestra el aspecto del panel final de la plataforma, a

través del cual se controlan los tres equipos descritos.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 74

Panel frontal que se ha implementado como interfaz gráfico.

Se observa que el panel esta dividido en cinco subpaneles. En ellos se representa

el generador de funciones, la fuente de alimentación, la parte controlable del

osciloscopio (escritura), la webcam y la parte de medida del osciloscopio (lectura). La

distribución de los subpaneles dentro de la pantalla puede variar sin que se altere su

funcionamiento, se pueden colocar de la manera que sea lo más cómo posible para su

visualización y control.

Cada equipo tiene representados únicamente los controles mínimos necesarios

para casi todas las prácticas.

A parte de la representación de los equipos y la webcam, se ha dotado al sistema

de algunas utilidades para facilitar el uso del sistema.

• Barra de mensajes en pantalla.

Esta utilidad sirve para enviar mensajes a las pantallas de los equipos.

Es bastante útil en cuanto que facilita la comunicación con el

laboratorio. Se puede usar para indicar alguna incidencia, para informar

del estado de los equipos, para informar a algún operario o profesor que

se encuentre en la sala... etc.

• Indicador de error en el sistema. Muestra el estado

del sistema en el momento de ejecución. Si algún equipo no esta

disponible o existe algún error en el sistema el indicador pasa a color

rojo y muestra un mensaje de error. Lo que se aconseja en este momento

es hacer un reset.

• Botón de RESET. Sirve para resetear los tres equipos en el

caso que se produzca algún bloqueo, error o se quiera comenzar alguna

medida. Pone todos los equipos en su valor por defecto.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 75

• Menú de ayuda. Es un menú desplegable donde se

muestra una ayuda para cada parte del panel. El menú contiene las

siguientes ayudas: General, Uso del Generador, Uso de la Fuente, Uso

del osciloscopio, Uso del panel de medida y un Acerca de….

Como Labview 7.0 se encuentra instalado en la máquina servidor, el panel del

sistema se muestra su pantalla mientras lo usa el cliente desde su máquina, esto hace

que los controlen varíen a la vez que lo varía el usuario desde la máquina cliente.

Para que el cliente vea esta misma pantalla en su navegador se usa el servidor

Web, que viene descrito en el siguiente apartado.

3.5.4 Servidor Web.

El servidor Web permite que se pueda acceder a la máquina del laboratorio

desde otro equipo mediante Internet, al panel virtual se puede acceder de dos maneras:

• La máquina cliente necesita tener instalado LabView 7.0.Accedemos

mediante la opción Connect to remote Pannel del menú Operate en la

barra de tareas. El programa nos pide la dirección IP del servidor (en

nuestro caso 172.16.2.12 o labinst.gte) y el nombre de la aplicación. De

esta manera podemos tener control absoluto del panel, es decir,

podremos usarlo exactamente igual que si estuviésemos en la máquina

servidor.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 76

Muestra del acceso a un panel remoto desde el cliente

La presentación en la pantalla del LabView cliente es exactamente igual que la

de la máquina local, con la peculiaridad que en un principio, cuando se establece la

conexión, no se puede tocar el instrumento, debemos pedir el control mediante el botón

derecho del ratón en la opción Request Control VI.

Menú de petición de control (botón derecho encima del panel)

Una vez que se ha concedido el control del panel al cliente, en la máquina

servidor aparece un mensaje indicando su nombre o IP. Si queremos ver las máquinas

que están conectadas al servidor y el flujo de datos, el programa contiene una función de

monitorización que lo indica.

Ejemplo de monitorización de una conexión con la máquina manreyes(hdl.gte)

• La otra manera de acceder al panel virtual es sin necesidad de tener

instalado el Labview, a través del navegador Web. En este caso el Web

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 77

Server responde presentando el panel en formao JPG, lo que significa

que solo se puede visualizar, nunca controlar. Para ello podemos colocar

en el campo de dirección del navegador dos tipos de direcciones:

http://nombre del PC/.snap?Nombre del vi.vi para una única captura o

http://nombre del PC/.monitor?Nombre del vi.vi para un refresco

periódico de los datos.

La primera forma de acceso no nos interesa para nuestro sistema, ya que sería

inviable que cada usuario necesite tener la licencia del programa. La segunda

obviamente tampoco es aceptable porque no podemos modificar los controles.

Por tanto, lo que buscamos realmente es una mezcla de estas dos formas: que se

pueda tener control absoluto del instrumento pero simplemente desde el navegador. Para

conseguir esto debemos crear una generar un archivo html que contenga una referencia

al archivo .vi e instalar en el navegador del cliente un plug-in que National Instruments

ofrece gratuitamente.

Con esto, al acceder a este archivo html desde el navegador (colocando en el

campo de direcciones http://nombre del PC/Nombre del archivo .html) conseguimos el

mismo comportamiento que si estuviésemos en un panel remoto pero directamente

desde el navegador. Existen plug-in disponibles para Microsoft Explorer, Netscape

Navigator y para sistemas operativos Linux.

LabView contiene un editor del archivo html donde podemos elegir varias

opciones de construcció. Podremos seleccionar si queremos ver la imagen estática, la

imagen con refresco o el control absoluto del instrumento. También podemos hacer que,

una vez cargada la página, se pida el control automáticamente (Request Control).

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 78

Muestra de la función para crear el archivo HTML

En la siguiente figura se muestra un ejemplo de cómo se vería el panel de los

instrumentos desde el navegador Microsoft Explorer, con un archivo html de prueba que

ha sido creado por este procedimiento.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 79

Titulo de la página

Titulo de cabecera

Texto de cabecera

Muestra del panel funcionando desde el navegador con la página HTML

Como se puede comprobar, en el caso de que no quepa el panel en la pantalla, se

pueden usar las barras de exploración propias del cuadro, aparte de las del navegador. El

tamaño del cuadro del instrumento se puede variar en el archivo html.

Otra peculiaridad que ofrece el archivo generado es que si el cliente no tiene los

plug-in de visualización del instrumento instalados, se accede automáticamente al sitio

Web de National Instrument para instalarlos. Todo ello se puede ver en la descripción

del archivo, que se muestra a continuación.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN"> <HTML> <HEAD> <TITLE>Titulo de la página creada</TITLE> </HEAD> <BODY > <H1>Titulo de la página creada</H1> Texto de cabecera<P> <TABLE BORDER = 1 BORDERCOLOR = #000000><TR><TD> <OBJECT ID="LabVIEWControl" CLASSID="CLSID:A40B0AD4-B50E-4E58-8A1D-8544233807AB" WIDTH=1200 HEIGHT=730 CODEBASE="ftp://ftp.ni.com/support/labview/runtime/windows/7.0/LVRunTimeEng.exe"> <PARAM name="LVFPPVINAME" value="Proyecto.vi"> <PARAM name="REQCTRL" value=true> <EMBED SRC=".LV_FrontPanelProtocol.rpvi7" LVFPPVINAME="Proyecto.vi" REQCTRL=true TYPE="application/x-labviewrpvi7" WIDTH=1018 HEIGHT=708 PLUGINSPAGE="http://www.ni.com/webappdemos/lv"></EMBED> </OBJECT> </TD></TR></TABLE> <P>

Referencia al

instrumento virtual (.VI)

Acceso al Website

de los plug-in

Tamaño del cuadro

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 80

Texto de cola </BODY> </HTML>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 81

4 CAPÍTULO 4. CONCLUSIONES Y FUTURAS

LÍNEAS DE TRABAJO.

4.1 Introducción.

En este último expondremos que conclusiones se han extraído de la realización

de este proyecto, así como las posibles líneas de trabajo que quedan abiertas o se puedan

abrir en un futuro.

4.2 Conclusiones.

Vamos a presentar a continuación la síntesis de los resultados obtenidos y

comentaremos todo cuanto estimemos necesario para una mejor comprensión del

proyecto y de los objetivos logrados.

• La primera conclusión que en realidad ha significado un objetivo de este

proyecto es que el futuro de la educación pasa por la utilización de las

nuevas tecnologías que día a día nos sorprenden aún más. Cada vez

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 82

existen más adelantos en todos los campos, en los que se incluye la

enseñanza y por lo tanto es fundamental aprovechar esa oportunidad que

se nos brinda para mejorar poco a poco el sistema de educación en

general, tanto el universitario como el de niveles inferiores.

• Otra conclusión fundamental es que no hay límites a la hora de

apoyarnos en nuevos medios. A medida que se avanzaba en este

proyecto surgían nuevas ideas que se podían sumar a la lista de mejoras

a realizar y que se contemplarán más tarde en el apartado de futuras

líneas de trabajo. El único límite, evidentemente, ha sido el tiempo

dedicado a la realización del presente proyecto.

• Se hace patente que los medios utilizados han sido desarrollados a bajo

nivel, sobre todo en el tema de las simulaciones virtuales que necesitan

y disponen de muchos recursos de la máquina, y a fecha de hoy el

alumnado en general dispone de equipos de media capacidad. Lo que

nos lleva a una idea algo utópica pero que esta más cerca

cronológicamente hablando de lo que pensamos. Se trata de que si las

nuevas tecnologías hacen que los métodos de educación evolucionen,

deben evolucionar tanto en el campo del personal que enseña como en el

alumnado. Es decir, que debe producirse un progreso del lado del

equipamiento de los alumnos tanto en la Universidad como fuera de

ella. Nuestro país, en este sentido, se encuentra muy atrasado con

respecto a muchos otros, lo que hace inevitable llamar la atención sobre

este aspecto de forma general y que se haga notar como un problema

importante.

• Otro punto importante a resaltar es que este proyecto sumado a la

realización completa de la práctica virtual y el establecimiento de una

consola en forma de triada PC-GPIB-Laboratorio, ha resultado ser un

trabajo innovador en el campo del e-learning. El hecho de realizar una

conexión física desde cualquier estación de trabajo en cualquier lugar

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 83

del mundo con el laboratorio es el resultado de la unión de dos

ambiciosos proyectos uno de ellos el presente proyecto.

• Pensando ya en concreto en este proyecto, hemos podido observar

varias determinaciones. La administración de cualquier grupo numeroso

de personas, en este caso alumnos, hace necesario un control, ya que si

no resultaría imposible un desarrollo normal de todas las actividades, y

más, si nos ceñimos a la realización de una práctica que solo puede ser

realizada por un alumno en el tiempo. Así, ha resultado un acierto

utilizar MySQL como herramienta de administración de bases de datos

de alumnos.

• Por último y desde el punto de vista personal, el autor de este proyecto

ha adquirido conocimientos y habilidad en desarrollo de diversas

aplicaciones PHP. También ha desarrollado habilidades como

administrador de bases de datos MySQL, sin olvidar por último el

campo de diseño mundos virtuales 3D. Han resultado ser tareas muy

enriquecedoras, así como también lo es la propia realización del

proyecto en sí. Esto último ha supuesto un verdadero ejercicio del

intelecto y ha contribuido al desarrollo de cualidades técnicas y

aptitudes como la capacidad de planteamiento de nuevas alternativas o

la creatividad. Todo esto podrá utilizarlo el alumno autor del proyecto

como gran experiencia de cara al mundo laboral que le espera a término

de la carrera.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 84

4.3 Futuras líneas de trabajo.

Como hemos indicado en el apartado anterior, si por algo se caracteriza este

proyecto es el ilimitado conjunto de mejoras y propuestas que se pueden ir añadiendo.

Es evidente que con una buena planificación, la consecución de este proyecto se puede

convertir en una tarea de varios años en los que las mejoras sean continuas. Para ello se

dan a continuación algunas ideas.

• En este proyecto se plantea la realización de una práctica virtual, y en

realidad es eso una única práctica. Como dijimos este proyecto tiene su

pilar básico en la asignatura de Laboratorio de Instrumentación de 5º de

Ing. de Telecomunicaciones, y actualmente, en esta asignatura se

realizan entre diez y quince práctica en todo el curso. Es por esto que la

primera línea de trabajo de este proyecto en conjunto con el de la

realización de la práctica es ampliar el número de prácticas que se

puedan realiza vía Internet al conjunto total de las de la asignatura.

Tendría así que modificarse el portal diseñado, ya que éste da cabida a

sólo una práctica y habría que implementar alguna forma de

administración de las prácticas.

• Otro gran reto, pensando esta vez en el diseño 3D es aportar un mapa

virtual mucho más grande, lo cual sería un proyecto muy ambicioso el

poder crear el Laboratorio completo, y por extensión crear toda la

representación de la Escuela Superior de Ingenieros. Este sería un paso

muy grande y que traería consecuencias magníficas no solo para la

asignatura en cuestión sino para el conjunto de la docencia en la escuela.

Así mismo y todavía centrados en el tema del diseño, hemos de

proponer también que se podría realizar un diseño del laboratorio mucho

más detallado y minucioso de forma que el alumno identificara

perfectamente cada centímetro del laboratorio con la representación

virtual.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 85

• Tratando ahora la administración de usuarios se hecha en falta, y de

hecho se habría creado con algo de más tiempo, alguna forma de gestión

de la base de datos de alumnos usuarios del laboratorio, de manera que

se pudiera presentar al administrador una interfaz web, donde pudiera

observar con facilidad los cambios y actualizaciones de la dicha base de

datos. Hemos de decir que por el momento esa administración debe

hacerse a través de la consola MySQL, pero que no resulta en ninguna

forma complicado realizar cualquier tipo consulta. En el apéndice

dedicado a esta materia se dejarán las premisas para realizar las

consultas idóneas para la administración de los alumnos.

• Por último y no menos importante, se hecha en falta una comunicación

directa entre al alumno y el profesor. Todos los aspectos que se recogen

en este proyecto llevan al alumno a ser el único protagonista de los

“hechos”, y hemos de recordar que en este proyecto se trata de ayudar a

la implementación de portales educacionales, es decir que la presencia

del profesor se hace también necesaria, aunque contradiga esto algunas

de las premisas del inicio del proyecto. Es por esto que se han pensado

varias líneas de trabajo que se pueden añadir a las mejoras propuestas.

Una de ellas es la creación una tutoría interactiva, una especie de chat,

en la que alumnos y profesor puedan comentar dudas, problemas, etc.

Sumado a esto también se ha pensado en crear una pizarra virtual. De

siempre hemos tenido presente que el profesor lleva solidario a él, una

pizarra y tiza, proponemos así, que se le de cabida en este proyecto. Así

el profesor podrá utilizarla como la pizarra de antaño y poder ayudarse

de ella en las explicaciones que imparta a través de la red.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 86

5 APÉNDICE A. LENGUAJE VRML.

5.1 Introducción.

El objetivo de este apéndice es profundizar en el lenguaje utilizado para la

creación de los mundo virtuales, el VRML.

5.2 Nodos VRML.

Vamos a presentar a continuación todos los nodos con los que se cuentan en

VRML. Esta es una guía bastante interesante para todos aquellos que quieran comenzar

a realizar sus primeros diseños en VRML.

Anchor

Anchor { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField MFNode children [] exposedField SFString description "" exposedField MFString parameter [] exposedField MFString url [] field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 87

Appearance

Appearance { exposedField SFNode material NULL exposedField SFNode texture NULL exposedField SFNode textureTransform NULL } AudioClip

AudioClip { exposedField SFString description "" exposedField SFBool loop FALSE exposedField SFFloat pitch 1.0 exposedField SFTime startTime 0 exposedField SFTime stopTime 0 exposedField MFString url [] eventOut SFTime duration_changed eventOut SFBool isActive } Background

Background { eventIn SFBool set_bind exposedField MFFloat groundAngle [] exposedField MFColor groundColor [] exposedField MFString backUrl [] exposedField MFString bottomUrl [] exposedField MFString frontUrl [] exposedField MFString leftUrl [] exposedField MFString rightUrl [] exposedField MFString topUrl [] exposedField MFFloat skyAngle [] exposedField MFColor skyColor [0 0 0] eventOut SFBool isBound } Billboard

Billboard { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField SFVec3f axisOfRotation 0 1 0 exposedField MFNode children [] field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 } Box

Box { field SFVec3f size 2 2 2 } Collision

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 88

Collision { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField MFNode children [] exposedField SFBool collide TRUE field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 field SFNode proxy NULL eventOut SFTime collideTime } Color

Color { exposedField MFColor color [] } ColorInterpolator

ColorInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFFloat keyValue [] eventOut SFFloat value_changed } Cone

Cone { field SFBool bottom TRUE field SFFloat bottomRadius 1 field SFFloat height 2 field SFBool side TRUE } Coordinate

Coordinate { exposedField MFVec3f point [] } CoordinateInterpolator

CoordinateInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFVec3f keyValue [] eventOut MFVec3f value_changed } Cylinder

Cylinder { field SFBool bottom TRUE field SFFloat height 2 field SFFloat radius 1

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 89

field SFBool side TRUE field SFBool top TRUE } CylinderSensor

CylinderSensor { exposedField SFBool autoOffset TRUE exposedField SFFloat diskAngle 0.262 exposedField SFBool enabled TRUE exposedField SFFloat maxAngle -1 exposedField SFFloat minAngle 0 exposedField SFFloat offset 0 eventOut SFBool isActive eventOut SFRotation rotation_changed eventOut SFVec3f trackPoint_changed } DirectionalLight

DirectionalLight { exposedField SFFloat ambientIntensity 0 exposedField SFColor color 1 1 1 exposedField SFVec3f direction 0 0 -1 exposedField SFFloat intensity 1 exposedField SFBool on TRUE } ElevationGrid

ElevationGrid { eventIn MFFloat set_height exposedField SFNode color NULL exposedField SFNode normal NULL exposedField SFNode texCoord NULL field MFFloat height [] field SFBool ccw TRUE field SFBool colorPerVertex TRUE field SFFloat creaseAngle 0 field SFBool normalPerVertex TRUE field SFBool solid TRUE field SFInt32 xDimension 0 field SFFloat xSpacing 0.0 field SFInt32 zDimension 0 field SFInt32 zSpacing 0.0 } Extrusion

Extrusion { eventIn MFVec3f set_crossSection eventIn MFRotation set_orientation eventIn MFVec2f set_scale eventIn MFVec3f set_spine field SFBool beginCap TRUE

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 90

field SFBool ccw TRUE field SFBool convex TRUE field SFFloat creaseAngle 0 field MFVec2f crossSection [1 1, 1 -1, -1 -1, -1 1, 1 1] field SFBool endCap TRUE field MFRotation orientation 0 0 1 0 field MFVec2f scale 1 1 field SFBool solid TRUE field MFVec3f spine [0 0 0, 0 1 0] } Fog

Fog { eventIn SFBool set_bind exposedField SFColor color 1 1 1 exposedField SFString fogType "LINEAR" exposedField SFFloat visibilityRange 0 eventOut SFBool isBound FontStyle

FontStyle { field MFString family "SERIF" field SFBool horizontal TRUE field MFString justify "BEGIN" field SFString language "" field SFBool leftToRight TRUE field SFFloat size 1.0 field SFFloat spacing 1.0 field SFString style "PLAIN" field SFBool topToBottom TRUE } Group

Group { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField MFNode children [] field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 } ImageTexture

ImageTexture { exposedField MFString url [] field SFBool repeatS TRUE field SFBool repeatT TRUE } IndexedFaceSet

IndexedFaceSet { eventIn MFInt32 set_colorIndex eventIn MFInt32 set_coordIndex

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 91

eventIn MFInt32 set_normalIndex eventIn MFInt32 set_texCoordIndex exposedField SFNode color NULL exposedField SFNode coord NULL exposedField SFNode normal NULL exposedField SFNode texCoord NULL field SFBool ccw TRUE field MFInt32 colorIndex [] field SFBool colorPerVertex TRUE field SFBool convex TRUE field MFInt32 coordIndex [] field SFFloat creaseAngle 0 field MFInt32 normalIndex [] field SFBool normalPerVertex TRUE field SFBool solid TRUE field MFInt32 texCoordIndex [] } IndexedLineSet

IndexedLineSet { eventIn MFInt32 set_colorIndex eventIn MFInt32 set_coordIndex exposedField SFNode color NULL exposedField SFNode coord NULL field MFInt32 colorIndex [] field SFBool colorPerVertex TRUE field MFInt32 coordIndex [] } Inline

Inline { exposedField MFString url [] field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 } LOD

LOD { exposedField MFNode level [] field SFVec3f center 0 0 0 field MFFloat range [] } Material

Material { exposedField SFFloat ambientIntensity 0.2 exposedField SFColor diffuseColor 0.8 0.8 0.8 exposedField SFColor emissiveColor 0 0 0 exposedField SFFloat shininess 0.2 exposedField SFColor specularColor 0 0 0 exposedField SFFloat transparency 0

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 92

} MovieTexture

MovieTexture { exposedField SFBool loop FALSE exposedField SFFloat speed 1 exposedField SFTime startTime 0 exposedField SFTime stopTime 0 exposedField MFString url [] field SFBool repeatS TRUE field SFBool repeatT TRUE eventOut SFTime duration_changed eventOut SFBool isActive } NavigationInfo

NavigationInfo { eventIn SFBool set_bind exposedField MFFloat avatarSize [0.25, 1.6, 0.75] exposedField SFBool headlight TRUE exposedField SFFloat speed 1.0 exposedField MFString type "WALK" exposedField SFFloat visibilityLimit 0.0 eventOut SFBool isBound } Normal

Normal { exposedField MFVec3f vector [] } NormalInterpolator

NormalInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFVec3f keyValue [] eventOut MFVec3f value_changed } OrientationInterpolator

OrientationInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFRotation keyValue [] eventOut SFRotation value_changed } PixelTexture

PixelTexture { exposedField SFImage image 0 0 0 field SFBool repeatS TRUE

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 93

field SFBool repeatT TRUE } PlaneSensor

PlaneSensor { exposedField SFBool autoOffset TRUE exposedField SFBool enabled TRUE exposedField SFVec2f maxPosition -1 -1 exposedField SFVec2f minPosition 0 0 exposedField SFVec3f offset 0 0 0 eventOut SFBool isActive eventOut SFVec3f trackPoint_changed eventOut SFVec3f translation_changed } PointLight

PointLight { exposedField SFFloat ambientIntensity 0 exposedField SFVec3f attenuation 1 0 0 exposedField SFColor color 1 1 1 exposedField SFFloat intensity 1 exposedField SFVec3f location 0 0 0 exposedField SFBool on TRUE exposedField SFFloat radius 100 } PointSet

PointSet { exposedField SFNode color NULL exposedField SFNode coord NULL } PositionInterpolator

PositionInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFVec3f keyValue [] eventOut SFVec3f value_changed } ProximitySensor

ProximitySensor { exposedField SFVec3f center 0 0 0 exposedField SFVec3f size 0 0 0 exposedField SFBool enabled TRUE eventOut SFBool isActive eventOut SFVec3f position_changed eventOut SFRotation orientation_changed eventOut SFTime enterTime eventOut SFTime exitTime }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 94

ScalarInterpolator

ScalarInterpolator { eventIn SFFloat set_fraction exposedField MFFloat key [] exposedField MFFloat keyValue [] eventOut SFFloat value_changed } Script

Script { exposedField MFString url [] field SFBool directOutput FALSE field SFBool mustEvaluate FALSE Also, any number of the following: eventIn Type eventInName field Type fieldName default value eventOut Type eventOutName } Shape

Shape { exposedField SFNode appearance NULL exposedField SFNode geometry NULL } Sound

Sound { exposedField SFVec3f direction 0 0 1 exposedField SFFloat intensity 1 exposedField SFVec3f location 0 0 0 exposedField SFFloat maxBack 10 exposedField SFFloat maxFront 10 exposedField SFFloat minBack 1 exposedField SFFloat minFront 1 exposedField SFFloat priority 0 exposedField SFNode source NULL field SFBool spatialize TRUE } Sphere

Sphere { field SFFloat radius 1 } SphereSensor

SphereSensor { exposedField SFBool autoOffset TRUE exposedField SFBool enabled TRUE

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 95

exposedField SFRotation offset 0 1 0 0 eventOut SFBool isActive eventOut SFRotation rotation_changed eventOut SFVec3f trackPoint_changed } SpotLight

SpotLight { exposedField SFFloat ambientIntensity 0 exposedField SFVec3f attenuation 1 0 0 exposedField SFFloat beamWidth 1.570796 exposedField SFColor color 1 1 1 exposedField SFFloat cutOffAngle 0.785398 exposedField SFVec3f direction 0 0 -1 exposedField SFFloat intensity 1 exposedField SFVec3f location 0 0 0 exposedField SFBool on TRUE exposedField SFFloat radius 100 } Switch

Switch { exposedField MFNode choice [] exposedField SFInt32 whichChoice -1 } Text

Text { exposedField MFString string [] exposedField SFNode fontStyle NULL exposedField MFFloat length [] exposedField SFFloat maxExtent 0.0 } TextureCoordinate

TextureCoordinate { exposedField MFVec2f point [] } TextureTransform

TextureTransform { exposedField SFVec2f center 0 0 exposedField SFFloat rotation 0 exposedField SFVec2f scale 1 1 exposedField SFVec2f translation 0 0 } TimeSensor

TimeSensor { exposedField SFTime cycleInterval 1

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 96

exposedField SFBool enabled TRUE exposedField SFBool loop FALSE exposedField SFTime startTime 0 exposedField SFTime stopTime 0 eventOut SFTime cycleTime eventOut SFFloat fraction_changed eventOut SFBool isActive eventOut SFTime time } TouchSensor

TouchSensor { exposedField SFBool enabled TRUE eventOut SFVec3f hitNormal_changed eventOut SFVec3f hitPoint_changed eventOut SFVec2f hitTexCoord_changed eventOut SFBool isActive eventOut SFBool isOver eventOut SFTime touchTime } Transform

Transform { eventIn MFNode addChildren eventIn MFNode removeChildren exposedField SFVec3f center 0 0 0 exposedField MFNode children [] exposedField SFRotation rotation 0 0 1 0 exposedField SFVec3f scale 1 1 1 exposedField SFRotation scaleOrientation 0 0 1 0 exposedField SFVec3f translation 0 0 0 field SFVec3f bboxCenter 0 0 0 field SFVec3f bboxSize -1 -1 -1 } Viewpoint

Viewpoint { eventIn SFBool set_bind exposedField SFFloat fieldOfView 0.785398 exposedField SFBool jump TRUE exposedField SFRotation orientation 0 0 1 0 exposedField SFVec3f position 0 0 10 field SFString description "" eventOut SFTime bindTime eventOut SFBool isBound } VisibilitySensor

VisibilitySensor { exposedField SFVec3f center 0 0 0 exposedField SFBool enabled TRUE

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 97

exposedField SFVec3f size 0 0 0 eventOut SFTime enterTime eventOut SFTime exitTime eventOut SFBool isActive } WorldInfo

WorldInfo { field MFString info [] field SFString title "" }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 98

6 APÉNDICE B. CÓDIGO DEL PORTAL

IMPLEMENTADO.

6.1 Introducción.

A continuación vamos a presentar el código del portal implementado

“Laboratorio Virtual”.

6.2 laboratorio.php

<html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#000000" text="#999999" link="#999999"> <div align="left"> <table width="939" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="15" height="64"></td> <td width="11"></td> <td width="16"></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 99

<td valign="top" colspan="2"><img src="gte_small_ani.gif" width="105" height="58"></td> <td width="63"></td> <td colspan="6" rowspan="2" valign="top"><img src="baner.jpg" width="569" height="115"><img src="vrml97.gif" width="120" height="30"></td> <td width="17"></td> </tr> <tr> <td height="58"></td> <td></td> <td valign="top" colspan="2"> <div align="center"><b><font face="Times New Roman" size="3" color="#CCCCCC">Departamento de Ingenier&iacute;a Electr&oacute;nica</font></b></div> </td> <td width="16"></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> <td width="89"></td> <td></td> <td></td> <td valign="top" colspan="6" rowspan="2"> <hr> </td> <td></td> </tr> <tr> <td height="24"></td> <td colspan="4" rowspan="22" valign="top"><img src="cabecera_n.gif" width="132" height="334"></td> <td></td> <td></td> </tr> <tr> <td height="11"></td> <td></td> <td width="158"></td> <td width="46"></td> <td width="272"></td> <td width="115"></td> <td width="29"></td> <td width="92"></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 100

</tr> <tr> <td height="18"></td> <td></td> <td colspan="7" valign="top"> <p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El Laboratorio Virtual de Instrumentaci&oacute;n Electr&oacute;nica es una herramienta creada para poder </font></b></p> </td> </tr> <tr> <td height="19"></td> <td></td> <td colspan="7" valign="top"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>realizar pr&aacute;cticas de forma remota desde cualquier ordenador. Tambi&eacute;n ofrece la posibilidad </b></font></td> </tr> <tr> <td height="18"></td> <td></td> <td colspan="7" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <b>de conocer el laboratorio</b> y familiarizarte con el material que manejar&aacute;s durante el curso.</font></b></td> </tr> <tr> <td height="37"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="10"></td> <td></td> <td rowspan="3" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="155" height="30" id="gbgb"> <param name=movie value="button9.swf"> <param name=quality value=high> <param name="BGCOLOR" value="#000000">

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 101

<embed src="button9.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="155" height="30" bgcolor="#000000"> </embed> </object></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="20"></td> <td></td> <td colspan="3" valign="top"><b><font face="Tahoma" size="2"><b>Visita el Laboratorio de Instrumentacion del L-2</b></font></b></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="10"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td rowspan="3" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="155" height="30"> <param name="BASE" value="."> <param name=movie value="button10.swf"> <param name=quality value=high> <param name="BGCOLOR" value="#000000"> <embed src="button10.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="155" height="30" bgcolor="#000000" base="."> </embed>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 102

</object></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="20"></td> <td></td> <td colspan="5" valign="top"><b><font face="Tahoma" size="2">Aqu&iacute; podras obtener informaci&oacute;n del instrumental que encontrar&aacute;s en el laboratorio</font></b></td> <td></td> </tr> <tr> <td height="11"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td rowspan="3" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="155" height="30"> <param name="BASE" value="."> <param name=movie value="button11.swf"> <param name=quality value=high> <param name="BGCOLOR" value="#000000"> <embed src="button11.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="155" height="30" bgcolor="#000000" base="."> </embed> </object></td> <td></td> <td></td> <td></td> <td></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 103

<td></td> </tr> <tr> <td height="20"></td> <td></td> <td colspan="4" valign="top"><b><font face="Tahoma" size="2">Realiza una de las pr&aacute;cticas del laboratorio sin moverte de tu casa</font></b></td> <td></td> <td></td> </tr> <tr> <td height="11"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td rowspan="3" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="155" height="30"> <param name="BASE" value="."> <param name=movie value="button12.swf"> <param name=quality value=high> <param name="BGCOLOR" value="#000000"> <embed src="button12.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="155" height="30" bgcolor="#000000" base="."> </embed> </object></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="20"></td> <td></td> <td colspan="3" valign="top"><b><font face="Tahoma" size="2">Para cualquier

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 104

duda contacta con el Webmaster</font></b></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="11"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td rowspan="3" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="155" height="30"> <param name=movie value="button13.swf"> <param name=quality value=high> <param name="BASE" value="."> <param name="BGCOLOR" value="#000000"> <embed src="button13.swf" base="." quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="155" height="30" bgcolor="#000000"> </embed> </object></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="19"></td> <td></td> <td colspan="4" valign="top"><b><font face="Tahoma" size="2">Aqu&iacute; encontrar&aacute;s enlaces a p&aacute;ginas y programas de inter&eacute;s</font></b></td> <td></td> <td></td> </tr>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 105

<tr> <td height="12"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="66"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="19"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="4"></td> <td colspan="7" rowspan="2" valign="top">&copy; <font size="1">Federico Jos&eacute; Barrero / Miguel &Aacute;ngel Moreno</font></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="15"></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 106

<td></td> <td colspan="4" rowspan="2" valign="top"><font size="2">P&aacute;gina optimizada para resoluci&oacute;n 1024x768</font></td> </tr> <tr> <td height="3"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </div> </body> </html>

6.3 instrumentos.html

<html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <SCRIPT LANGUAGE="JavaScript1.1"> var activado1=new Image(); activado1.src="Multi-FLUKE.jpg"; var activado2=new Image(); activado2.src="Multi-HM8011.jpg"; var activado3=new Image(); activado3.src="osciloscopio-hm.jpg"; var activado4=new Image(); activado4.src="Osciloscopio-Pm3375.jpg"; var activado5=new Image(); activado5.src="generador HM.jpg"; var activado6=new Image(); activado6.src="Generador-PM.jpg"; var activado7=new Image(); activado7.src="Fuente-HM8040.jpg"; var activado8=new Image(); activado8.src="Fuente-PE1542.jpg"; var activado9=new Image();

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 107

activado9.src="AEspectros-Tektronix2711.jpg"; var activado10=new Image(); activado10.src="AEspectro-HM5010.jpg"; var activado11=new Image(); activado11.src="ALogico- Gould.jpg"; var activado12=new Image(); activado12.src="ALogico Tektronix 1230.jpg"; var activado13=new Image(); activado13.src="ALogico-3001 GPX.jpg"; var desactivado= new Image(); desactivado.src="nulo.jpg"; function activar1(nombreImagen) { document[nombreImagen].src=activado1.src; } function activar2(nombreImagen) { document[nombreImagen].src=activado2.src; } function activar3(nombreImagen) { document[nombreImagen].src=activado3.src; } function activar4(nombreImagen) { document[nombreImagen].src=activado4.src; } function activar5(nombreImagen) { document[nombreImagen].src=activado5.src; } function activar6(nombreImagen) { document[nombreImagen].src=activado6.src; } function activar7(nombreImagen) { document[nombreImagen].src=activado7.src; } function activar8(nombreImagen) { document[nombreImagen].src=activado8.src; } function activar9(nombreImagen) { document[nombreImagen].src=activado9.src; } function activar10(nombreImagen) { document[nombreImagen].src=activado10.src; } function activar11(nombreImagen) { document[nombreImagen].src=activado11.src; } function activar12(nombreImagen) { document[nombreImagen].src=activado12.src; }

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 108

function activar13(nombreImagen) { document[nombreImagen].src=activado13.src; } function desactivar(nombreImagen) { document[nombreImagen].src=desactivado.src; } </SCRIPT> <ul type="disc"> <li> <ahref="./dswmedia/Multimetro%20Fluke%2037.htm" onMouseOver="activar1('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Multimetro Fluke 37</font></b></a> </li> <li> <ahref="./dswmedia/Multimetro%20HM8011_3.htm"onMouseOver="activar2('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Multimetro HM-8010</font></b></a></li> <li> <ahref="./dswmedia/osciloscopio%20HM408.htm"onMouseOver="activar3('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Osciloscopio HM-408</font></b></a></li> <li> <ahref="./dswmedia/Osciloscopio%20PM3335-3375.htm"onMouseOver="activar4('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Osciloscopio PM-3375</font></b></a></li> <li> <ahref="./dswmedia/Generador%20Funciones%20HM8030.htm"onMouseOver="activar5('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Generador de funciones HM-8030</font></b></a></li> <li> <ahref="./dswmedia/Generador%20Funciones%20PM5135.htm"onMouseOver="activar6('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Generador de funciones PM-5135</font></b></a></li> <li> <ahref="./dswmedia/TripleFuenteHM8040.htm"onMouseOver="activar7('prueba');" onMouseOut="desactivar('prueba');">

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 109

<b><font face="Tahoma" size="2">Fuente Alimentaci&oacute;n HM-8040</font></b></a></li> <li> <ahref="./dswmedia/Triple%20Fuente%20PE.htm"onMouseOver="activar8('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Fuente Alimentaci&oacute;n PE-1542</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Espectro%20Tektronix_2711.htm"onMouseOver="activar9('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador de espectros Tektronix-2711</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20espectro%20HM5010.htm"onMouseOver="activar10('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador de espectros HM-5010</font></b></a></li> <li> <ahref="./dswmedia/Analiz_L%F3gico%20gould.htm"onMouseOver="activar11('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Gould-K25</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Log%20Tektronix%20%201230.htm"onMouseOver="activar12('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Tektronix-1230</font></b></a></li> <li> <ahref="./dswmedia/Analizador%20Logico%20Tektronix.htm"onMouseOver="activar13('prueba');" onMouseOut="desactivar('prueba');"> <b><font face="Tahoma" size="2">Analizador l&oacute;gico Tektronix-3001 GPX</font></b></a></li> </ul> <br> <br> </td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 110

<tr> <td height="277"></td> <td></td> <td></td> <td colspan="2" valign="top"><a href="http://tectronic.com" onMouseOver="activar1('prueba');" onMouseOut="desactivar('prueba');"><img name="prueba" src="nulo.JPG" border=0 width="292" height="174"></a></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="51"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="4"></td> <td colspan="6" rowspan="2" valign="top">&copy; <font size="1">Federico Jos&eacute; Barrero / Miguel &Aacute;ngel Moreno</font></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="15"></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 111

<td></td> <td></td> <td colspan="3" rowspan="2" valign="top"><font size="2">P&aacute;gina optimizada para resoluci&oacute;n 1024x768</font></td> </tr> <tr> <td height="3"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </div> </body> </html>

6.4 practica.php

<?php require('../config/config.php'); check_privs('lab_virtual'); ?> <html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#000000" text="#999999" link="#999999"> <?php // Conectamos con la base de datos de usuarios del laboratorio conectar_admin(); mysql_select_db($db_laboratorio); // Creamos la sentencia SQL para añadir el registro de usuario $sql = "INSERT INTO registro VALUES ('".$SESSION['user']."' , '".$SESSION['realname']."')"; mysql_query ($sql,) or die ("Fallo en la inserción de registro."); ?>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 112

<div align="left"> <table width="939" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="15" height="64"></td> <td width="11"></td> <td width="16"></td> <td valign="top" colspan="2"><img src="gte_small_ani.gif" width="105" height="58"></td> <td width="63"></td> <td colspan="3" rowspan="2" valign="top"><img src="baner.jpg" width="569" height="115"><img src="vrml97.gif" width="120" height="30"></td> <td width="17"></td> </tr> <tr> <td height="58"></td> <td></td> <td valign="top" colspan="2"> <div align="center"><b><font face="Times New Roman" size="3" color="#CCCCCC">Departamento de Ingenier&iacute;a Electr&oacute;nica</font></b></div> </td> <td width="16"></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> <td width="89"></td> <td></td> <td></td> <td valign="top" colspan="3" rowspan="2"> <hr> </td> <td></td> </tr> <tr> <td height="24"></td> <td colspan="4" rowspan="2" valign="top"><img src="cabecera_n.gif" width="132" height="334"></td> <td></td> <td></td> </tr>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 113

<tr> <td height="369"></td> <td></td> <td width="204"></td> <td width="272"></td> <td width="236"></td> <td></td> </tr> <tr> <td height="19"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="4"></td> <td colspan="6" rowspan="2" valign="top">&copy; <font size="1">Federico Jos&eacute; Barrero / Miguel &Aacute;ngel Moreno</font></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="15"></td> <td></td> <td colspan="2" rowspan="2" valign="top"><font size="2">P&aacute;gina optimizada para resoluci&oacute;n 1024x768</font></td> </tr> <tr> <td height="3"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </div> </body>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 114

</html>

6.5 contactar.php

<html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> a{text-decoration:none} </style> </head> <body bgcolor="#000000" text="#999999" link="#999999"> <div align="left"> <table width="939" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="15" height="64"></td> <td width="11"></td> <td width="16"></td> <td valign="top" colspan="2"><img src="gte_small_ani.gif" width="105" height="58"></td> <td width="63"></td> <td colspan="5" rowspan="2" valign="top"><img src="baner.jpg" width="569" height="115"><img src="vrml97.gif" width="120" height="30"></td> <td width="17"></td> </tr> <tr> <td height="58"></td> <td></td> <td valign="top" colspan="2"> <div align="center"><b><font face="Times New Roman" size="3" color="#CCCCCC">Departamento de Ingenier&iacute;a Electr&oacute;nica</font></b></div> </td> <td width="16"></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> <td width="89"></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 115

<td></td> <td valign="top" colspan="5" rowspan="2"> <hr> </td> <td></td> </tr> <tr> <td height="24"></td> <td colspan="4" rowspan="8" valign="top"><img src="cabecera_n.gif" width="132" height="334"></td> <td></td> <td></td> </tr> <tr> <td height="10"></td> <td></td> <td width="204"></td> <td width="272"></td> <td width="157"></td> <td width="17"></td> <td width="62"></td> <td></td> </tr> <tr> <td height="23"></td> <td></td> <td colspan="5" valign="top"><b><font face="Tahoma" size="2">Para contactar, solicitar informaci&oacute;n, o aclarar cualquier tipo de duda sobre el laboratorio puede utilizar:</font></b></td> <td></td> </tr> <tr> <td height="10"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="61"></td> <td></td> <td colspan="3" valign="top"> <ul> <li><font face="Tahoma" size="2"><b>Tel&eacute;fono +34 954487368 </b></font></li>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 116

<li><b><font face="Tahoma" size="2">Fax +34 954487373 </font></b></li> </ul> </td> <td></td> <td></td> <td></td> </tr> <tr> <td height="29"></td> <td></td> <td colspan="3" valign="top"><b><font face="Tahoma" size="2">O enviar un e-mail a la direcci&oacute;n:</font></b></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="51"></td> <td></td> <td colspan="4" valign="top"> <ul> <li><b><font face="Tahoma" size="2">Correo Electr&oacute;nico: <a href="mailto:[email protected]">[email protected]</a> </font></b></li> </ul> </td> <td></td> <td></td> </tr> <tr> <td height="173"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="51"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 117

<td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="4"></td> <td colspan="6" rowspan="2" valign="top">&copy; <font size="1">Federico Jos&eacute; Barrero / Miguel &Aacute;ngel Moreno</font></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="15"></td> <td></td> <td colspan="4" rowspan="2" valign="top"><font size="2">P&aacute;gina optimizada para resoluci&oacute;n 1024x768</font></td> </tr> <tr> <td height="3"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </div> </body> </html>

6.6 enlaces.php

<html> <head> <title>Laboratorio Virtual</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 118

a{text-decoration:none} </style> </head> <body bgcolor="#000000" text="#999999" link="#999999"> <div align="left"> <table width="939" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="15" height="64"></td> <td width="11"></td> <td width="16"></td> <td valign="top" colspan="2"><img src="gte_small_ani.gif" width="105" height="58"></td> <td width="63"></td> <td colspan="12" rowspan="2" valign="top"><img src="baner.jpg" width="569" height="115"><img src="vrml97.gif" width="120" height="30"></td> <td width="17"></td> </tr> <tr> <td height="58"></td> <td></td> <td valign="top" colspan="2"> <div align="center"><b><font face="Times New Roman" size="3" color="#CCCCCC">Departamento de Ingenier&iacute;a Electr&oacute;nica</font></b></div> </td> <td width="16"></td> <td></td> <td></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> <td width="89"></td> <td></td> <td></td> <td valign="top" colspan="12" rowspan="2"> <hr> </td> <td></td> </tr> <tr> <td height="24"></td> <td colspan="4" rowspan="8" valign="top"><img src="cabecera_n.gif" width="132" height="334"></td> <td></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 119

</tr> <tr> <td height="10"></td> <td></td> <td width="43"></td> <td width="18"></td> <td width="111"></td> <td width="18"></td> <td width="14"></td> <td width="33"></td> <td width="136"></td> <td width="10"></td> <td width="68"></td> <td width="25"></td> <td width="206"></td> <td width="30"></td> <td></td> </tr> <tr> <td height="23"></td> <td></td> <td colspan="12" valign="top"><b><font face="Tahoma" size="2">Aqui tienes algunos enlaces interesantes relacionados con el laboratorio virtual:</font></b></td> <td></td> </tr> <tr> <td height="28"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="32"></td> <td></td> <td></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 120

<td colspan="2" valign="top"><b><font face="Tahoma" size="2" color="#999999"> FABRICANTES</font></b></td> <td></td> <td></td> <td valign="top"><b><font face="Tahoma" size="2">MUNDOS VIRTUALES</font></b></td> <td></td> <td></td> <td colspan="2" valign="top"><b><font face="Tahoma" size="2">HERRAMIENTAS DEL LABORATORIO</font></b></td> <td></td> <td></td> </tr> <tr> <td height="156"></td> <td></td> <td></td> <td colspan="2" rowspan="2" valign="top"> <ul> <li><b><font face="Tahoma" size="2"><a href="http://www.tektronic.com">Tektronix </a> </font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.fluke.es"> Fluke </a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.yokogawa.es">Yokogawa</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.promax.es">Promax</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.hameg.es">Hameg</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.lecroy.com">Lecroy</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.agilent.com">Agilent</a></font></b></li> </ul> </td> <td></td> <td></td> <td></td> <td colspan="2" valign="top"> <ul> <li><b><font face="Tahoma" size="2"> <a href="http://www.parallelgraphics.com/products/cortona/download/iexplore"> Cortona</a> Player</font></b></li>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 121

<li><b><font face="Tahoma" size="2"><a href="http://www.cosmo.sgi.com/cgi-bin/download.cgi">Cosmo Player</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.ocnus.com/vrml.html">Modelos VRML</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.parallelgraphics.com">Parallel Graphics</a></font></b></li> </ul> </td> <td></td> <td colspan="4" valign="top"> <ul> <li><b><font face="Tahoma" size="2"><a href="http://www.ni.com/labview"> Lab View</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.php.com"> PHP</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.ni.com">National Instruments</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.measurementcomputing.com">Measurement Computing Corporation</a></font></b></li> <li><b><font face="Tahoma" size="2"><a href="http://www.techsoft.de/htbasic/tutgpib.htm">Protocolo GPIB</a></font></b></li> </ul> </td> </tr> <tr> <td height="44"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="75"></td> <td></td> <td></td> <td></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 122

<td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="51"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="4"></td> <td colspan="10" rowspan="2" valign="top">&copy; <font size="1">Federico Jos&eacute; Barrero / Miguel &Aacute;ngel Moreno</font></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="15"></td> <td></td>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 123

<td></td> <td></td> <td></td> <td></td> <td colspan="3" rowspan="2" valign="top"><font size="2">P&aacute;gina optimizada para resoluci&oacute;n 1024x768</font></td> </tr> <tr> <td height="3"></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </div> </body> </html>

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 124

7 BIBLIOGRAFÍA.

7.1 Libros.

• PHP 4, “Serie Práctica”. Pedro Pablo Fábrega. Prentice Hall, 2000.

ISBN 84-205-3112-X.

• Edición Especial MySQL. Paul DuBois. Prentice Hall, 2001. ISBN 84-

205-2956-7.

• Programación en JavaScript. Danny Goodman. Anaya Multimedia,

1997. ISBN 84-415-0080-0.

• Macromedia Director 8, “Iniciación y referencia”. Luz De-León

Fernández, Daniel Burgos. McGraw-hill, 2001. 84-446-0546-4.

• Herramienta de autor multimedia: creación y diseño con Director 8.

M-A Castro Gil. Ra-Ma. Madrid, 2001. ISBN 255-26-0254-7.

• 3DStudioMax, Edición Especial. José Manuel Díaz. Prentice Hall,

2003. ISBN 84-205-4200-8.

Capítulo 2. Análisis del Ámbito de Aplicación

Escuela Superior de Ingenieros 125

• El gran libro de 3DSMax. Christian Immler. Marombo, 1997. ISBN 84-

207-1109-X.

• VRML, Curso de iniciación. Ilde Gámez, Martín Martín. Infor Books

Ediciones, 2001. ISBN 84-95318-70-9.

• Aprendiendo MySQL en 21 Días. Mark Maslakowski, Tony Butcher.

Pearson Educación, 2001. ISBN 970-26-0036-7.

7.2 Documentos de la Red.

• PHP Manual. PHP Documentation Group. Octubre, 2002.

www.php.net/manual/en

• MySQL AB. MySQL Reference Manual for version 4.0.0-alpha.

www.mysql.com/Downloads/Manual/manual.pdf

• James Hoffman. Introduction to Structured Query Language. V.4.73.

www.nj.devry.edu/~kjudge/sqltut.htm

• Tutorial VRML97. José Luis Pumarega.

http://web3d.vapourtech.com/