Laboratorio de Idiomas

Anuncio
Resumen
Entre los medios de enseñanza, también conocidos como mediadores didácticos, y particularmente entre
los medios audiovisuales; uno de los más importantes para la enseñanza
lengua
extranjera
es
el
Laboratorio
de
de
idiomas
como
Idiomas. Actualmente en Cuba existen muy pocos y en
general se encuentran en mal estado técnico. Considerando además el alto costo de estos laboratorios en
el mercado internacional y la disponibilidad de laboratorios de computación en prácticamente todos los
centros educacionales del país, se ha desarrollado un sistema computacional que permite realizar todas las
actividades específicas de un laboratorio tradicional de idioma así como
la inclusión de nuevas
prestaciones tales como video, imágenes, chat y editor de texto, lográndose un producto de calidad, de
gran importancia desde el punto de vista económico e
impacto social relevante. El sistema incluye
dos módulos: el cliente destinado a los estudiantes y el servidor (ejerce la función de la Consola Master)
desde el cual el profesor controla todas las actividades del laboratorio. Las interfaces desarrolladas se
implementaron
estudiantes
utilizando como herramienta Borland Builder C++. El sistema brinda facilidades a
y profesores de que, mediante computadoras desarrollen sus actividades en un ambiente
interactivo agradable, lo que resulta de apreciable ayuda al proceso docente educativo en los centros de
estudios donde de alguna forma, se realice la enseñanza de idiomas extranjeros.
INDICE
Introducción
Capítulo 1 Elementos teóricos
1.1 Medios de Enseñanza. Su clasificación
1.2 Sistemas de Medios
1.3 Conceptos sobre programación orientada a objetos
1.4 Análisis y diseño orientado a objetos
1.5 El uso de socket
1.6 Arquitectura cliente servidor.
1.7 Ambiente de desarrollo Builder
Capítulo 2 Análisis y diseño del sistema
2.1 Descripción de la empresa
2.2 Análisis del sistema
2.3 Diseño del sistema
2.4 Implementación del sistema
2.5 Seguridad del sistema
2.6 Requerimientos técnicos para el funcionamiento del sistema
Capitulo 3 Laboratorio de Idiomas Computarizado de Altas Prestaciones
Conclusiones
Recomendaciones
Bibliografía
Anexos
Introducción
La enseñanza del actual siglo ha estado matizada por el uso de los Medios Técnicos de Enseñanza (MTE),
dentro de los cuales la computadora ha desempeñado una función preponderante por las ventajas que
incorporó.
Los
medios
de
enseñanza,
también
conocidos
como
Mediadores
Didácticos, responden a la
pregunta ¿con qué enseñar y aprender? Están constituidos por objetos naturales o conservados o sus
representaciones, instrumentos o equipos que apoyan la actividad de docentes y estudiantes en función del
cumplimiento del objetivo. [3]
Los medios de enseñanza son el soporte material del contenido y los facilitadores o mediadores
aplicación de los métodos de enseñanza; su empleo
de
la
está estrechamente relacionado con las
restantes categorías: propician el logro de los objetivos y son recursos por emplear en la evaluación.
Tienen carácter de sistema debido a que la función que unos no pueden cumplir por sus características
estructurales y la propia información que transmiten es complementada por otros medios del sistema. Los
medios deben ser empleados tanto en la actividad de enseñanza como en la de aprendizaje, lo
cual responde a la interrelación entre todas las categorías del proceso y sus relaciones con los sujetos
implicados.
Los medios de enseñaza pueden emplearse también para el control del aprendizaje permitiendo que
puedan verificarse los resultados del mismo. Un ejemplo de esto lo constituyen los laboratorios de
idiomas convencionales.
Un laboratorio de idioma es local con condiciones especiales en el cual el profesor administra y
realiza una actividad docente relacionada con la enseñanza de idiomas y está compuesto por una consola
master, operada por el profesor y un grupo de cabinas destinadas a los estudiantes. Tanto la consola como
las cabinas están intercomunicadas y dotadas de una grabadora, audífono y micrófono.
Actualmente en nuestro país existen muy pocos laboratorios de idiomas y en general se encuentran en
mal
estado
técnico.
Considerando
además
el
alto
costo
de
estos laboratorios en el mercado
internacional y de otro lado la disponibilidad de laboratorios de computación en prácticamente en todos los
centros educacionales del país, en todos los niveles, nos planteamos la necesidad de desarrollar un
sistema computacional que permite realizar todas las actividades específicas de un laboratorio tradicional
de idioma, con lo cual se ayuda a solventar la carencia actual de los mismos, así como incluir nuevas
prestaciones tales como video, imágenes, chat y editor de texto.
El objetivo general del presente proyecto es realizar un software que a partir de la capacidad
instalada de un laboratorio de computación permita su utilización como un laboratorio
de
idiomas
sencillo, eficiente y de mayores prestaciones que uno convencional.
Como
objetivos
específicos
se
plantea
que
la
herramienta
facilite las siguientes tareas:
•
Desarrollar discusiones escritas en línea.
•
Distribuir contenido de multimedia e imagen.
•
Edición y distribución de documentos a toda la clase.
computacional
que presentamos
•
Sentar las bases para una posible implementación de un laboratorio virtual de idioma.
Para cumplir con los objetivos propuestos se prevé que el sistema tenga las siguientes funcionalidades:
Aplicación cliente (relacionada con el estudiante):

Realizar conexión con el servidor.

Reproducir video.

Mostrar imagen.

Enviar mensaje escrito.

Recibir dirección de video.

Recibir dirección de imagen.

Recibir mensaje escrito.

Recibir mensaje de control de video por el profesor

Recibir mensaje de conversación

Seleccionar video.

Seleccionar imagen.

Desconectarse del servidor.

Editar, enviar y recibir ficheros (documentos).
Aplicación servidor (relacionada con el profesor):

Reproducir video.

Abrir imagen.

Enviar dirección de video.


Enviar dirección de imagen.

Enviar mensaje escrito.

Mostrar máquina y usuario que se conectó.

Seleccionar conexiones.

Desmarcar conexiones

Recibir mensaje escrito.

Eliminar usuario que se desconectó.

Mostrar usuario que se desconectó.

Enviar mensaje de control de reproducción de video por el profesor.

Iniciar conversación.

Preparar diálogos.

Editar, enviar y recibir ficheros (documentos).
Para lograr el objetivo propuesto fue necesario desarrollar las siguientes actividades:
a) Entrevista a profesores encargados de la utilización de laboratorios de idioma tradicionales.
b) Observación del proceso de desarrollo de una clase en un laboratorio tradicional de idioma.
c) Revisión de la bibliografía relacionado con la didáctica, los Medios de Enseñanza, programación
orientada a objeto, la metodologías de análisis y diseños orientado a objetos, UML, herramientas
visuales para el desarrollo de las aplicaciones (Borland C++ Builder 6.0) y herramientas CASE
( Rational Rose).
Pretendemos con el uso de las técnicas computacionales lograr un producto de calidad con
un costo
mínimo que funcione a partir del empleo de un sistema computacional atrayente que permita interactuar con
el usuario a través de una interfaz gráfica.
El sistema se implementó
usando Borland C++ Builder 6.0, con un ambiente
de fácil manipulación,
soportado sobre Microsoft Windows XP.
Estructura de la monografía
El presente trabajo de diploma se encuentra estructurado en introducción y tres capítulos; conclusiones,
recomendaciones, referencias bibliográficas y anexos.
En
el
capítulo
1,
Elementos
teóricos,
presentamos algunos aspectos teórico- conceptuales que
fueron utilizados en el desarrollo de nuestro trabajo, tales como los medios de enseñanza, los sistemas de
medios, los relacionados con la programación orientada a objetos, el uso de socket, análisis y diseño de
sistemas orientado a objetos, el lenguaje unificado de datos (en inglés Unified Modeling Language o con
sus siglas UML) y sus diagramas básicos, características generales de la arquitectura cliente/servidor y las
herramientas visuales.
En el capítulo 2, referido al análisis y diseño del sistema, se realiza la descripción del problema exponiendo
las características de los laboratorios de idiomas para el cual se ha realizado el software, así como las
distintas etapas de desarrollo en la elaboración del mismo, análisis del sistema, diagramas de objetos del
sistema, diseño, arquitectura e implementación del sistema y los requerimientos para su correcto
funcionamiento.
En el capítulo 3 se presenta el Laboratorio de Idiomas Computarizado de Altas Prestaciones
(LICAP), sus funcionalidades y módulos (cliente y servidor). Además de la forma en que se manipulan las
mismas.
Por último aparecen las conclusiones, recomendaciones, las referencias bibliográficas y los anexos.
Capitulo 1 Elementos teóricos
El presente capítulo se explican las principales cuestiones teóricas usadas en el desarrollo de este
trabajo, las cuales constituyen el marco teórico en el que se fundamenta el mismo.
Medios de Enseñanza. Su clasificación
Los medios de enseñanza, también conocidos como Mediadores Didácticos son el soporte material del
contenido y los facilitadores
o mediadores de la aplicación de los métodos de enseñanza y están
constituidos por objetos naturales o conservados o sus representaciones, instrumentos o equipos que
apoyan la actividad de docentes y estudiantes en función del cumplimiento del objetivo.
Como
toda
clasificación
atiende
a
algún
criterio,
presentaremos
aquellos
que
consideramos fundamentales en el caso de los mediadores didácticos.
La primera clasificación depende de los sentidos involucrados en la percepción del medio, así tendremos:
•
Visuales.
•
Auditivos.
•
Audiovisuales.
Según su aparición, se ha usado como criterio el de generaciones de mediadores. Se resumen en:
•
Primera generación (libros, impresos, entre otros).
•
Segunda generación (pancartas, transparencias, demostraciones con equipos reales).
•
Tercera generación (vídeos, grabadoras, TV, cine, entre otros).
•
Cuarta generación (computadoras, programas inteligentes, autoinstrucción con computadoras).
Con la introducción de esta cuarta generación de mediadores didácticos se da una nueva clasificación en la
que se establecen tres grandes grupos. Ellos son:
•
Mediadores pasivos.
•
Mediadores activos.
•
Medidores de acción indirecta.
Mediadores didácticos pasivos: son aquellos mediadores que se desarrollan para ser empleados en el
proceso de formación de los profesionales conducida por el profesor, no pretendiendo sustituirlo.
Mediadores didácticos activos: en este grupo están todos aquellos mediadores diseñados para
intentar sustituir al profesor y guiar el proceso de formación de los profesionales, que tendrá un
marcado carácter autodidacta. En este grupo se incluirían los: tutoriales, entrenadores, repasadores,
evaluadores entre otros.
Mediadores didácticos de acción indirecta: son aquellos mediadores que el estudiante emplea sin el
propósito consciente de aprender algo con ellos, pero que por sus características ejercen sutilmente
su influencia didáctica. En este grupo se encuentran los juegos instructivos.
Sistemas de Medios
Un sistema de medios es aquella combinación de medios de enseñanza cuya integración es
la que
produce un resultado superior a la aplicación aislada o a las combinaciones parciales de sus componentes.
La relación entre ellos hace que cada uno se enriquezca a sí mismo y acentúa la acción de los demás.
El sistema de medios está formado por un conjunto tal de elementos que se caracteriza por su interrelación
e interacción, por su integridad en si mismo y con el proceso docente educativo en su conjunto y responde
en última instancia a la más cabal satisfacción de los objetivos y contenidos de un tema dado de un
programa.
A la hora de seleccionar el sistema de medios, debemos de tener presente que los mismos deben
contribuir a la transmisión de la información y al desarrollo de las habilidades y capacidades en los
estudiantes.
El sistema de medios se compone a su vez de subsistemas en si mismos y que proporcionan
saltos cualitativos; se eleva la calidad de la enseñaza, el nivel de rendimiento y se aprende mejor.
Al elaborar el sistema de enseñaza hay que explotar adecuadamente cada uno de los elementos que lo
integran y usarlos oportunamente para que sean capaces de cumplir su importante papel. Este es dinámico,
orgánico, artificial y abierto. Es artificial ya que es creado por los hombres; orgánico porque la inclusión
o exclusión de algunos de elementos de su estructura no lo destruye; abierto y dinámico porque bajo la
influencia del proceso científico-técnico, el perfeccionamiento del contenido experimenta constantes
cambios.
Conceptos sobre programación orientada a objetos
Programar en un lenguaje de programación orientado a objetos es definir clases que “expresan” una
determinada funcionalidad la cual es común a todos los individuos de una clase.
A través de esta funcionalidad los objetos o instancias concretas de una clase dan respuesta a las
solicitudes (mensajes) que les envían otros objetos. Las clases deben ser lo suficientemente “cerradas”
como para que cada objeto pueda ocultar la información (los datos) que lo caracteriza como individuo. Es
un problema interno del objeto como llevar a cabo la funcionalidad descrita en la clase. Por otra parte
estas
clases
deben
ser
lo suficientemente “abiertas” para permitir la reutilización,
adaptación
y
extensión de las mismas a nuevas funcionalidades, sin correr el riesgo de afectar el funcionamiento de lo
que ya está correcto. Esta aparente contradicción de lo que se conoce como principio abierto-cerrado, es la
piedra angular de la programación orientada a objeto.
Conceptos básicos de la programación orientada a objetos
Clases: Una clase puede definirse como una descripción abstracta de un grupo de objetos, con las
propiedades similares (los atributos), las mismas conductas (los métodos), mismas relaciones con otros
objetos y la misma semántica. La idea de escribir programas que definen una serie de abstracciones no es
nueva, pero el uso de clases para
manipular las abstracciones programando en los lenguajes, ha
facilitado su aplicación considerablemente.
Objeto: Un objeto es una instancia o elemento particular perteneciente a una clase. Define las variables
de instancias con sus propios valores (sus propias características) y comparte los métodos con las demás
instancias de la clase.
Atributo: Un atributo es una propiedad de una clase identificada con un nombre, que describe un rango de
valores que pueden tomar las instancias de la propiedad. Una clase puede tener cualquier número de
atributos o no tener ninguno. En un momento dado, un objeto de una clase tendrá valores específicos para
cada uno de los atributos de su clase.
Método: Un método es un procedimiento o una función asociado con una clase, que expresa una
operación que se puede realizar con los objetos de esa clase.
Mensaje: Para acceder a un servicio público que oferta la clase se envía un mensaje (en realidad consiste
en llamar a uno de los métodos o propiedades públicas de otro objeto). Los mensajes se dividen en tres
partes: el servidor (el objeto) al que el cliente se dirige, el servicio que el cliente solicita y los parámetros
necesarios para la ejecución del servicio.
1.4 Análisis y diseño orientado a objetos
Es perfectamente posible modelar una solución pensando totalmente orientado a objetos desde a fase del
análisis, pasando por el proyecto del software y llegando a la implementación en un lenguaje de
programación orientado a objetos. El propósito del análisis es definir y entender el problema y el dominio de
la aplicación. El diseño genera, a partir del resultado del análisis, una estructura de alto nivel del sistema
que servirá de base para a implementación. La implementación constituye la fase final del proceso de
traducción del proyecto en código.
El diseño se ha descrito como un proceso multifase en el que se
sintetizan representaciones
de la estructura de datos, estructura del programa, características de la interfaz y detalles procedimentales
desde los requisitos de la información. El diseño del software es el núcleo técnico del proceso de ingeniería
del software y se aplica independientemente del paradigma de desarrollo utilizado.
Cada uno de los elementos del modelo de análisis proporciona información necesaria para crear un modelo
de diseño. Los requisitos del software, manifestados por los datos y los modelos funcionales y de
comportamiento, componen la fase de diseño. Mediante el empleo de uno de los métodos de diseño la fase
de diseño produce:
• Diseño de datos
• Diseño arquitectónico
• Diseño de interfaz
• Diseño procedimental.
La actividad principal del diseño de datos es seleccionar representaciones lógicas de objetos de datos
(estructuras de datos) identificadas durante la fase de definición y especificación de requisitos. El
proceso de selección puede incluir el análisis de estructuras alternativas para determinar el diseño más
eficaz o puede incluir simplemente el empleo de un conjunto de módulos (un «paquete») que proporcione
las operaciones deseadas sobre alguna representación de un objeto. Una actividad relacionada importante
durante el diseño es identificar aquellos módulos del programa que deben operar directamente sobre
las estructuras de datos lógicas.
De esta manera se puede restringir el alcance de efecto de las decisiones individuales sobre el diseño de
datos. Independientemente de las técnicas de diseño que se emplean, unos datos bien diseñados pueden
conducir a una mejor estructura y modularidad del programa, y a una menor complejidad procedimental.
El objetivo del diseño arquitectónico es desarrollar una estructura de programa modular y representar las
relaciones de control entre los módulos. Además, el diseño arquitectónico combina la estructura del
programa y las estructuras de datos, definiendo interfaces que permiten el flujo de datos a través del
programa.
El diseño orientado al flujo de datos es un método de diseño arquitectónico que permite una cómoda
transición desde el modelo de análisis a una descripción del diseño de la estructura del programa.
El diseño de la interfaz se concentra en tres áreas importantes: (1) el diseño de interfaces entre
los
módulos software; (2) el diseño de interfaces entre el software y otros productores y consumidores no
humanos de información (Ej.: otras entidades externas); y (3) el diseño de la interfaz entre el hombre (Ej. el
usuario) y la computadora.
El diseño procedimental se realiza después de los diseños de datos, arquitectónico y de interfaz. En un
mundo ideal, la especificación procedimental necesaria para definir los detalles de los algoritmos se
expresaría en un lenguaje natural. Después de todo, los miembros de una organización de desarrollo de
software hablan un lenguaje natural (en teoría, al menos), las personas fuera del mundo del software
podrían entender mejor la especificación, y no sería necesario un nuevo aprendizaje.
UML (Unified Modeling Language)
UML que significa en español Lenguaje Unificado de Modelado es un lenguaje de desarrollo
orientado a objetos para visualización, especificación, construcción y documentación de sistemas.
Diagramas de UML
Un diagrama en UML es una presentación gráfica de un conjunto de elementos, que la mayoría de las
veces se dibuja como un grafo conexo de nodos (elementos) y arcos (relaciones). Los diagramas se
utilizan para visualizar un sistema desde diferentes perspectivas. Como ningún sistema puede ser
comprendido completamente desde una única perspectiva, UML define varios diagramas que permiten
centrarse en diferentes aspectos del sistema independientemente.
Diagrama de clases.
Un diagrama de clases presenta un conjunto de clases, interfaces y colaboraciones, y las relaciones entre
ellas. Son los más comunes en el modelado de sistemas orientados a objetos. Estos se utilizan para
describir la vista de diseño estática de un sistema. Los diagramas de clases que incluyen clases activas
se utilizan para cubrir la vista de procesos estática de un sistema.
Diagrama de objetos.
Un diagrama de objetos representa un conjunto de objetos y sus relaciones. Se utilizan para describir
estructuras de datos, instantáneas de las instancias de los elementos encontrados en los diagramas
de clases. Los diagramas de objetos cubren la vista de diseño estática o la vista de procesos estática de un
sistema al igual que los diagramas de clases, pero desde la perspectiva de casos reales o prototípicos
Diagrama de casos de uso.
Un diagrama de casos de uso representa un conjunto de casos de uso y actores (un tipo especial de
clases) y sus relaciones. Los diagramas de casos de uso se utilizan para describir la vista de casos de uso
estática de un sistema. Los diagramas de casos de uso son especialmente importantes para organizar y
modelar el comportamiento de un sistema.
Existen otros diagramas como los de secuencia y de colaboración que
son semánticamente
equivalentes, sucede también con los diagramas de estados y actividades.
Uso de socket
Los componentes de socket le permiten a la aplicación la comunicación con otros sistemas usando
protocolo TCP/IP. Usando estos se puede leer y escribir sobre las conexiones con otras maquinas sin
tener en cuenta los detalles del software de la red. Además permite trabajar con otros protocolos
relacionados como son User Datagram Protocol (UDP), Xeros Network System (XNS), Digital’s DECnet, o
Nowll’s IPX/SPX family. Para proveer un nuevo servicio para una aplicación que se comunica con otros
sistemas, el primer paso es diseñar el protocolo de comunicación para los clientes y los servidores de este
servicio.
Comunicación con aplicaciones
Frecuentemente las aplicaciones cliente-servidor de red proveen una capa entre el software de la red
y la aplicación que usan los servicios. Por ejemplo el servicio HTTP entre Internet y la aplicación cliente
Web que propicia respuestas a los requisitos de los mensajes HTTP. Los socket proveen una interfase
entre la aplicación servidor o la aplicación cliente de red y el software de red. Se debe proveer la
interfase entre esta aplicación y la que el cliente usa.
Tipos de conexiones de socket
Las conexiones de socket se pueden dividir en tres tipos básicos, los cuales reflejan cómo deben ser
inicializadas y cual es el socket local que está conectado:
• Conexiones clientes
Estas conectan un socket cliente en un sistema local a un servidor remoto, las conexiones
clientes son inicializadas por el socket cliente. Primeramente el socket cliente debe describir al
socket servidor al cual desea conectarse. El socket cliente entonces busca el socket servidor y
cuando lo localiza establece los requisitos de conexión. El socket servidor no completa la conexión
de inmediato. Este produce una cola de requisitos de cliente. Cuando el socket servidor acepta la
conexión cliente, este le envía al socket cliente una descripción completa del socket servidor al que esta
conectado, y la conexión es completada por el cliente.
• Escuchando conexiones
Los socket servidores no localizan a los clientes, sino que forman una half conexión pasiva en espera por
las peticiones de los clientes. Los socket servidores asocian una cola con sus conexiones de escucha,
los registros de los requerimientos de los clientes se responden según vayan llegando.
• Conexiones servidor
Está formada por el socket servidor, cuando el socket acepta un requerimiento de un cliente. Una
descripción del socket servidor que completa la conexión es enviada al cliente cuando éste acepta la
conexión. La conexión es establecida cuando el socket cliente recibe esta descripción y completa la
conexión.
Una vez que la conexión con el socket cliente es completada, la conexión con el servidor es indistinguible
para la conexión cliente. Ambos tienen las mismas capacidades y reciben los mismos tipos de eventos.
Los sockets le permiten a la aplicación de red comunicarse con otros sistemas a través de ésta. Cada
socket es visto como un extremo en una conexión de red. Estos tienen una dirección que especifica:
•
El sistema en el cual están corriendo.
•
El tipo de interfase que comprende.
•
El puerto que esta usando para la conexión.
Una completa descripción de los socket incluye la dirección de ambos lados de la conexión. Se
puede describir la dirección de cada socket especificando la dirección IP o el host y el número del puerto.
Antes de realizar una conexión de socket, se debe describir completamente el socket, alguna de esta
información es disponible del sistema para la aplicación que está corriendo. Esta debe depender del tipo de
socket con el que se trabaja. Los socket cliente deben describir al servidor con el cual desean conectarse.
Aún cuando la dirección de IP provee suficiente información para encontrar el sistema o el otro extremo de
la conexión, también se necesita un número de puerto en el sistema. Sin el puerto el sistema sólo puede
formar una conexión simple en el tiempo. Este debe ser un
múltiples
conexiones
con
el
identificador único que permite al sistema
host simultáneamente, dándole a cada conexión números de puertos
separados.
La razón para formar conexiones de socket con otras máquinas es que permita leer y escribir información
usando la conexión. La información a leer y escribir (o cuando hacerlo) depende del servicio
asociado con la conexión del socket. La lectura y la escritura sobre socket ocurre asincrónicamente,
así no impide la ejecución de otro código en la aplicación de red. Esto es llamado conexiones de tipo nonblocking (cuando ocurre esto la escritura y la lectura informa al socket cuando el otro extremo de la
conexión trata de leer o escribir información). Cuando la conexión es de tipo blocking, el socket debe
inicializar la lectura y la escritura sobre la conexión. Este no espera pasivamente por la notificación de la
conexión de socket. Este se usa cuando el otro extremo de la comunicación está a cargo de la
lectura y la escritura.
Arquitectura cliente servidor.
El término servidor es aplicado a cualquier programa que ofrece un servicio que se puede obtener por una
red. El servidor acepta una petición, realiza el servicio y devuelve el resultado al solicitante. Un programa
ejecutable se convierte en un cliente cuando manda una petición y espera una respuesta.
El programa servidor atiende a múltiples clientes interesados en un recurso compartido en propiedad del
servidor, estos clientes obtienen acceso a la información de forma transparente en un entorno
multiusuario.
Ambiente de desarrollo Builder
El Borland Builder 6.0 es un lenguaje de programación orientado a objetos y posee un amplio conjunto de
componentes, que permite la incorporación de otros, desarrolla interfaces visuales que posibilita al
usuario interactuar y familiarizarse de forma rápida y sencilla con la aplicación.
Capitulo 2 Análisis y diseño del sistema
En este capítulo se exponen el análisis y el diseño del sistema y algunas cuestiones referentes a su
implementación.
2.1 Descripción de la empresa
Un
laboratorio de idioma tradicional es un local con condiciones especiales en la cual el profesor
administra y realiza una actividad docente relacionada con la enseñanza de idiomas y está compuesto por
una consola master, operada por el profesor y un grupo de cabinas destinadas a los estudiantes. Tanto
la consola como las cabinas están intercomunicadas y dotadas de una grabadora, audífono y micrófono
Los laboratorios de este tipo se implementan como un medio de enseñanza auxiliar de control del
aprendizaje, que permite a los estudiantes un mayor acercamiento auditivo en un lenguaje específico ya
que escuchar diferentes acentos de un idioma en específico los independiza del acento al que están
acostumbrados con el profesor.
Dificultades analizadas
El uso de los laboratorios tradicionales requiere de un control mucho más estricto que las actividades que
se realizan en un aula normal, dado que el profesor debe de estar conciente de las conexiones que esta
realizando ya que este puede olvidar un estudiante o conectar a un espacio que este desocupado.
Son precisamente las conexiones el principal problema del laboratorio tradicional de idioma; estas se
realizan a través de una consola con un conjunto de cables que reconectan al local del profesor. Este
proceso requiere de mucho trabajo por parte del profesor ya que debe de estar pendiente de las conexiones
existentes y las nuevas que desea realizar. No existe mecanismo alguna que permita dividir la selección de
los estudiantes de la conexión de los mismos, es decir, procesos distintos con funcionalidades diferentes.
La recepción del sonido no es la más apropiada, debido que las cintas de audio son las más usadas a la
hora de realizar la actividad, como el uso de las cintas es muy frecuente tienden a perder la calidad del
sonido
dificultando
el
aprendizaje,
no
permitiendo
la incorporación
almacenamiento de información más confiables. Todos estos
de
otros mecanismos de
inconvenientes atentan contra el buen
desarrollo de la docencia en estos laboratorios. Lo anteriormente expuesto fue lo que nos motivó a la
realización de este trabajo.
Por otra parte, actualmente en nuestro país existen muy pocos laboratorios de idiomas y en general se
encuentran en mal estado técnico. Considerando además el alto costo de estos
laboratorios
mercado
de computación en
internacional
y
de
otro
lado
la
disponibilidad
de laboratorios
en
el
prácticamente en todos los centros educacionales del país, en todos los niveles, nos planteamos la
necesidad
de
desarrollar
un
sistema computacional que
permite realizar todas las actividades
específicas de un laboratorio tradicional de idioma, con lo cual se ayuda a solventar la carencia actual de los
mismos, así como incluir nuevas prestaciones tales como video, imágenes, chat y editor de texto.
2.2 Análisis del sistema
Los analistas al frente del proyecto se reunieron con los expertos y los usuarios finales y juntos definieron
las metas del sistema, así como las principales funcionalidades a ser contempladas.
Estudio de viabilidad
Durante el proceso de planificación se realizó un estudio de factibilidad para determinar la viabilidad
económica, tecnológica y operativa, resultando:
•
Viabilidad tecnológica: Se alcanza al disponer de hardware y software adecuado que responden a
las necesidades del laboratorio de idioma. Para esto se debe contar con audífonos y micrófonos
así como la conexión en la red de las máquinas del local.
•
Viabilidad
operacional:
Los
usuarios
finales del
laboratorio
no
necesitarán experiencia
previa en la enseñanza informatizada ya que el sistema ofrece ayuda y una interfaz gráfica
atrayente y de fácil manipulación.
•
Viabilidad económica: El sistema es económicamente viable al no tener que comprar nuevo
hardware, ni nuevos paquetes de software
Beneficios que devienen de la implementación del sistema.
La implementación del sistema permite a los docentes mediante una tecnología de control realizar
prácticamente todas las tareas propias de un aula tradicional como instruir, observar y ayudar a sus
alumnos en sus ordenadores sin tener que moverse del suyo. Facilita a todos los alumnos un asiento en
primera fila y la oportunidad de lograr experiencia práctica. Su función de control remoto ofrece
posibilidades muy interesantes para la enseñanza a distancia y el establecimiento de aulas virtuales en un
futuro.
Áreas que aportan información para el desarrollo del sistema.
El sistema ha sido diseñado a solicitud de profesores de idiomas, como usuarios finales del producto, los
cuales han aportado toda la información necesaria relativa a las actividades que se realiza en los
laboratorios tradicionales de lenguas extranjeras.
Se consultaron además materiales que tratan acerca del diseño y la implementación de algunos de los
laboratorios que ya existen en el mundo.
Descripción de los objetivos
Uno de los objetivos de nuestro trabajo es que el profesor cuente con toda la información necesaria para la
ubicación de los estudiantes en la red, permitiéndole dirigirse a los mismos como si estuviera en un
laboratorio tradicional a la hora de realizar las actividades. Se implantó un mecanismo de comunicación
en la red usando protocolo TCP/IP permitiendo esta operación sin tener en cuenta los detalles del software.
En el caso de los estudiantes estos son los que establecen la conexión con el profesor especificando el
nombre y la máquina que actúa como servidor, con el fin de participar en la clase que se está impartiendo
en el laboratorio. Este proceso reduce el trabajo por parte
del
profesor a la hora de seleccionar
estudiantes, ya que teniendo de antemano todas las conexiones el profesor selecciona a quien dirigir la
información y la aplicación se encarga de todo el proceso de transmisión.
Requisitos del sistema
El sistema debe ser capaz de, en el caso del módulo del profesor listar todas las conexiones que
han sido aceptadas por su aplicación así como eliminar de la misma a los que salen de la clase.
Además
debe
permitir
reproducción
de
contenido
multimedia, imágenes, establecer discusiones
escritas en línea con todos los estudiantes, así como un mecanismo para la transmisión de toda esa
información a través de la red.
En el caso de los estudiantes el sistema debe permitir que ellos puedan manipular todo el contenido que es
recibido del profesor como la multimedia, las imágenes, además de establecer las discusiones escritas con
el mismo.
Ambos subsistemas deben incluir un editor de texto que permite crear, abrir, y enviar documentos de una
aplicación a otra.
La figura 2.1 muestra como está estructurado el laboratorio de idiomas, en el cual las máquinas están
conectadas a una red de área local que le permite enviar y recibir datos desde las aplicaciones clientes a la
aplicación servidor y viceversa.
Fig. 2.1
Al realizar la conexión con el servidor, las aplicaciones clientes quedan incluidas en la clase que tomará
lugar en el laboratorio. Así todos los estudiantes pueden obtener todo el contenido de trabajo enviado por el
profesor desde su puesto. En el capitulo 3 se explica con mas detalle como interactuar con el sistema y las
funcionalidades que posee.
Especificación de requisitos funcionales. Casos de uso
Los diagramas de casos de uso representan la forma en cómo un cliente (actor) opera con el sistema en
desarrollo. Un diagrama de casos de uso es un gráfico de actores, un conjunto
de casos de uso
encerrados por los límites del sistema, las asociaciones de comunicación (participación) entre los actores,
los casos de uso y generalizaciones entre los casos de uso.
Los diagramas de casos de uso del sistema se presentan en el anexo 1.
A continuación presentamos los diagramas de interacción para algunos de los casos de uso más
relevantes del módulo del profesor:
•
Mostrar conexión
Este caso de uso se inicia después de realizada la conexión con el servidor, éste lee del
socket el nombre del estudiante que se conecta. A medida que el servidor va aceptando las
conexiones la aplicación va insertándolas en una lista interna que lleva el sistema en la que
se almacena toda la información de conexión. El caso de uso
termina
cuando
la
aplicación muestra al profesor la lista de todos los estudiantes que se encuentran
conectados a él.
•
Mostrar usuario desconectado
El caso de uso se inicia cuando la aplicación recibe un mensaje de desconexión por parte de un
estudiante que previamente estuvo conectado con la aplicación servidor. El sistema elimina la
conexión de la lista de conexiones mostrando al profesor el estudiante desconectado así como una
lista del resto de conexiones.
•
Control de video
El caso de uso se inicia cuando el profesor desea tomar o liberar el control de la reproducción de
un video en las aplicaciones clientes previamente seleccionadas. De antemano se debe de haber
seleccionado el video y enviado la dirección del mismo a las aplicaciones de los estudiantes que
participarán en la reproducción de este. El sistema envía a estos un mensaje con un identificador
que le permite diferenciar en que estado estará la reproducción, controlada por el profesor o libre a
decisión del estudiante.
Entre los casos de uso más importantes en el modulo del estudiante tenemos:
•
Conexión con el servidor
El caso de uso comienza cuando el estudiante entra su nombre y el número IP de la máquina
servidor para establecer la conexión. Luego el sistema envía un mensaje de conexión al
servidor y notifica al estudiante el estado de la misma. No siempre se puede establecer la
conexión, la que depende de que se encuentre o no la máquina servidora en la red.
•
Enviar mensaje escrito
Este caso de uso comienza cuando el estudiante escribe en un editor de texto un mensaje al
profesor. Al accionar “Enter” el sistema envía dicho mensaje al profesor a través de la conexión
establecida entre ellos inicialmente, luego notifica al estudiante si tuvo éxito la acción realizada.
•
Recibir dirección de video
Al recibir la aplicación un mensaje de dirección de video del profesor comienza este caso de uso.
El sistema desglosa este mensaje que contiene un identificador de video y la dirección del mismo el
cual es insertado en una lista y colocado en el menú de la aplicación (en caso de recibir una
dirección repetida no se realiza ninguna de las operaciones anteriores). El display de la aplicación
es preparado con el video recibido y es mostrado el estudiante.
Diagrama de clases
Un diagrama de clases muestra un conjunto de clases, interfaces y colaboración, así como sus relaciones.
A continuación se muestran los diagramas de las clases involucradas en nuestro sistema.
Fig. 2.14 Diagrama de clase Estudiante
Fig. 2.15 Diagrama de clase Profesor
2.3 Diseño del sistema
El diseño se ha descrito como un proceso en el que se sintetizan representaciones de la estructura del
programa.
Arquitectura del sistema
El sistema tiene la siguiente estructura:
•
Una aplicación servidor donde radica la lógica de funcionamiento del sistema, desde donde se dirigen
las actividades para dar cumplimiento a todos las funcionalidades del laboratorio.
•
Una aplicación cliente, los cuales son los receptores de las actividades dictadas por el servidor,
respondiendo a las necesidades del sistema propuesto.
2.4 Implementación del sistema
El
sistema como una aplicación cliente servidor permite establecer una clase de jerarquía entre
estudiante y el profesor, manteniendo así
el estereotipo de una
el
clase en un laboratorio de idiomas
tradicional, donde el profesor propone y los estudiantes actúan en dependencia de la actividad.
El sistema
está soportado
sobre Microsoft Windows XP y las interfaces fueron desarrolladas
empleando la herramienta de programación visual orientada a objetos Borland Builder C++ 6.0 con un
ambiente de fácil manipulación.
La comunicación entre aplicaciones se implementó usando los componentes de Sockets, facilitando la
lectura y la escritura sobre otras máquinas usando protocolo TCP/IP,
sin tener en cuenta detalles de
software de red.
2.5 Seguridad del sistema
Tanto el profesor como los estudiantes tienen acceso total del sistema, solo que en algunos casos el
profesor puede tomar el control para observar una multimedia determinada, dejando a las aplicaciones
clientes a merced de la aplicación servidora.
2.6 Requerimientos técnicos para el funcionamiento del sistema
A continuación se hace un resumen de los requerimientos técnicos mínimos necesarios para el
funcionamiento del sistema.
•
Red de área local (LAN).
•
Máquina Pentium II o superior.
•
Memoria de acceso aleatorio (RAM): de 128 Mb.
•
Velocidad de procesamiento (del CPU): superior a 500 Mhz
•
Audífonos o speaker para la salida de audio así como micrófono.
Capítulo 3 Laboratorio de Idiomas Computarizado de Altas Prestaciones
En este capítulo abordamos aspectos relacionados con el software y sus módulos cliente y
servidor.
Aquí se explica como interactuar con las interfaces así como las funcionalidades que ofrecen
las mismas.
El Laboratorio de Idiomas Computarizado de Altas Prestaciones (LICAP) es un software artificial, orgánico,
abierto y dinámico; formado por un conjunto de elementos
que se caracteriza por su interrelación e
interacción, por su integridad en si mismo y con el proceso docente educativo en su conjunto, lo que lo
hacen ser un sistema de medios que ofrece prestaciones adicionales más allá de las que ofrece un
laboratorio convencional como son: el desarrollo de discusiones escritas en línea, distribución de contenido
de multimedia (video y sonido) e imagen, además de la edición y distribución de documentos a toda la
clase. Esto hace de LICAP un medio de enseñanza muy poderoso en el proceso de aprendizaje de las
lenguas extranjeras.
Módulos del LICAP
El software LICAP cuenta con dos tipos de módulos: uno dedicado al profesor (Interfaz servidor) y otro
dedicado a los estudiantes (Interfaz cliente) los cuales veremos con más detalles a continuación.
Interfaz Servidor
El profesor es el encargado a través de la interfaz servidor de distribuir el contenido de la clase a todos los
estudiantes desde su puesto de trabajo. La aplicación presenta en la parte izquierda una lista de todos
los estudiantes que se han conectado al servidor en una clase determinada, lo que permite seleccionar los
estudiantes a los cuales se les enviarán el contenido de la clase (Fig. 3.1).
La selección queda a disposición del profesor, es decir, puede existir un grupo de estudiantes
realizando una actividad y otro grupo participando en otra diferente. Los botones “Todos” y “Ninguno”
permite seleccionar y deseleccionar a todos los estudiantes a la vez respectivamente, además de permitir
la selección de uno en específico haciendo click en dicho estudiante.
En la parte derecha se encuentra una paleta que permite trabajar con las imágenes y los videos además de
ver o enviar mensajes escritos.
Fig.3.1
Trabajo con imágenes
Para trabajar con las imágenes el profesor debe seleccionar la imagen previamente. Haciendo click en el
botón “Abrir” el profesor selecciona la imagen con la que desea trabajar. La aplicación muestra la imagen
al profesor y éste selecciona el(los) estudiante(s) al(a los) que se la enviará. La figura 3.2 muestra
como quedaría la aplicación después de realizar dicha operación (en caso de no existir ninguna selección
no se puede enviar la imagen) haciendo click en “Enviar”. El profesor puede enviar tantas imágenes como
desee, en tanto la aplicación sólo permite imágenes del tipo *.jpg, *.jpeg ó*.bmp.
Trabajo con videos
Haciendo click en “Video” la aplicación permite al profesor trabajar con los videos. En la misma aparece
una pantalla en el cual se reproducen los videos.
Fig. 3.2
El reproductor de
videos que controla la reproducción de los mismos, cuenta con los botones “Abrir” y
“Enviar”, que permiten seleccionar el video y enviar el mismo a los estudiantes respectivamente.
La reproducción del video en las aplicaciones clientes puede estar controlada por el mismo estudiante o por
el profesor desde su aplicación, en este último caso el profesor puede
marcar
“Controlar
video”,
quedando la reproducción del video a su completa disposición. Para liberar la reproducción del
video en las aplicaciones clientes se desmarca “Controlar video” y automáticamente se libera en las
aplicaciones clientes. En caso de existir un video controlado por el profesor en las aplicaciones clientes y
se selecciona otro a reproducir la aplicación libera el control de video sobre las aplicaciones clientes.
En la figura 3.3 se muestra como quedaría la aplicación después de haber realizado la
operación
de
selección del video, apareciendo este en la pantalla y activándose “Controlar Video” y “Enviar”, ya en
este punto el profesor puede después de enviar el video ejercer el control sobre el mismo o dejar su
reproducción al estudiante.
Esto último queda en dependencia de la voluntad del profesor, el cual decidirá cómo realizar dicha actividad.
Fig. 3.3
Discusiones escritas
Haciendo click en “Mensaje” podemos enviar y recibir mensajes desde las aplicaciones clientes. En la
parte superior de la aplicación se muestra un cuadro de mensajes “Mostrar:” en el cual se visualizan
todos los mensajes y el nombre del estudiante que lo envía. En la parte inferior está el editor “Enviar:”
desde donde se escribe el mensaje a enviar como se muestra en la figura 3.4.
Interfaz Cliente
La interfaz cliente es usada por los estudiantes, permitiéndoles conectarse a la clase que es impartida
desde el puesto del profesor (Interfaz servidor). La aplicación está dividida en dos partes, en la parte
derecha superior vemos un cuadro de mensajes donde aparecen todas las discusiones escritas enviadas
desde y hacia el profesor.
En la parte inferior un editor desde donde se realizan las discusiones en línea con el profesor y en la parte
izquierda una pantalla que permite la reproducción de contenido multimedia así como mostrar las imágenes.
Fig. 3.4
En la parte superior se encuentra un menú que a medida que el profesor vaya enviando las imágenes y
los videos van apareciendo el nombre de los mismos, además de un editor que nos permitirá entrar el
numero IP de la máquina servidor para establecer la conexión con el mismo. La barra de estado de la
interfaz que se encuentra en la parte inferior muestra el estado de la conexión, el nombre del usuario y la
máquina que este ocupa en el laboratorio.
Sin la conexión al servidor los estudiantes no pueden realizar ninguna operación, exceptuando la
edición de documentos en el editor de texto, ya que todas las actividades están dictadas por el profesor
luego de haberse conectado a él.
Conexión con el servidor
Una vez ejecutado el programa debemos de conectarnos a la aplicación servidora. Escribimos el
número IP del servidor y hacemos click en el botón “Conectar” quedando la aplicación como se muestra e
la figura 3.5.
Fig. 3.5
Luego aparece un cuadro de diálogo (Fig. 3.6) en el que escribimos el nombre del estudiante que
comenzará la clase seguido oprimimos “OK” (en caso de oprimir “Cancel” no se efectúa la conexión).
Fig. 3.6
Una vez realizada la conexión con el servidor aparece en la parte inferior de la interfaz el estado de la
conexión, el nombre del estudiante y de la maquina que este ocupa.
Contenido multimedia e imágenes
Ya habiendo entrado en
la clase (después de realizada
previamente la conexión
al servidor)
podemos ver un video o una imagen enviada por el profesor para ser debatida en la clase.
Reproducción de video
Para reproducir un video, la aplicación debe recibir la dirección del video enviado por el profesor e
inmediatamente la aplicación se prepara para la reproducción del mismo, se adiciona al menú de la
aplicación
el nombre del video y se activa una barra de control de multimedia que permite que el
estudiante interactué con ella (Fig. 3.7).
Fig. 3.7
La reproducción de video puede o no estar controlada por el profesor; en caso de que lo esté el estudiante
no tiene ningún mecanismo para interactuar con el mismo.
Imágenes
Las imágenes también son enviadas a la aplicación a través del profesor, tal como ocurre con los videos.
Se adiciona el nombre de la imagen al menú de la interfaz y se muestra al estudiante (Fig.3.8). Cuando se
trabaja con imágenes aparece en la parte inferior dos botones que permiten ir a la imagen anterior y
posterior, en caso de existir, además de seleccionar una en específico del menú de la aplicación.
Fig. 3.8
Discusiones escritas
Haciendo click en “Mensaje” podemos enviar y recibir mensajes desde las aplicaciones clientes. En la parte
superior se muestra un cuadro de mensajes en el cual se visualizan todos los mensajes enviados desde y
hacia el profesor. En la parte inferior un editor desde donde se escribe el mensaje a enviar al igual que en
la aplicación servidor.
Desconexión con el servidor
La desconexión con el servidor se puede hacer al cerrar la aplicación o al hacer click en el botón
“Desconectar”. En último caso el estudiante toma el control total de la reproducción de la multimedia
y de las imágenes, en caso de haber sido enviada al menos una dirección de video o imagen por el
profesor, de lo contrario la aplicación queda desprovista de cualquier acción.
Editor de texto
El editor de texto es otra funcionalidad que brinda tanto la interfaz cliente como la interfaz servidor (Fig. 3.9)
al hacer click en el botón “Editor de Texto”. Dicha funcionalidad permite enviar un documento texto de una
aplicación a otra. El profesor puede crear, abrir o editar un documento, que puede ser un examen o un
texto determinado. Una vez creado el documento puede ser enviado a los estudiantes con la opción de
enviar documento que aparece en el menú de inicio de la aplicación, inmediatamente el documento
aparece en el puesto de los estudiantes, estos trabajan con dicho documento y luego pueden enviarlo
nuevamente al profesor en caso de que la actividad lo requiera. El profesor puede recibir una serie de
documentos enviados por los estudiantes y verificar los mismos, ya que cada documento incluye el nombre
del estudiante que lo envió.
El editor brinda además otras facilidades, tales como las opciones de salvar e imprimir documentos, la
configuración de la impresora, cambios en los tipos de letras que incluye tamaño, color, subrayado, así
como otras facilidades propias de un editor, las cuales aparecen en el menú del mismo.
Fig. 3.9
Conclusiones
Con la realización de este trabajo se ha logrado desarrollar un sistema computacional que permite que
estudiantes y profesores, con la ayuda de la computadora, desarrollen todas las actividades específicas
de un laboratorio tradicional de idioma en un ambiente interactivo agradable que incluye nuevas
prestaciones como:
•
Desarrollar discusiones escritas en línea entre estudiantes y profesores.
•
Distribuir contenido multimedia e imagen desde una unidad de almacenamiento compartida.
•
Editar y distribuir documentos a toda o parte de la clase.
Logrando un producto de calidad y de gran importancia desde el punto de vista económico e
impacto social relevante. Resultando una apreciable ayuda al proceso docente educativo en los
centros de estudios donde de alguna forma, se realice la enseñanza de idiomas extranjeros.
Recomendaciones
En versiones futuras del presente trabajo se recomienda, a partir de las prestaciones que se lograron
concretar y en aras de lograr un mejor producto:
•
Resolver la transmisión de voces entre profesor y estudiantes, para facilitar un diálogo oral natural.
Se intentó trabajar con algunas componentes que se ofrecen en ciertos sitios (en general estos
tipos de componentes deben ser compradas a empresas de producción de software), pero no
resolvían el problema o no poseían las bibliotecas necesarias para su funcionamiento.
•
La utilización de una cámara de video (webcam) insertada en cada puesto del aula permitiendo
una mejor interacción entre estudiantes y profesor.
•
Incorporar la posibilidad de que el profesor tome el control, desde su puesto de trabajo, del teclado
y del mouse de un alumno para asistirlo en caso de dificultad.
•
Observar las pantallas de los estudiantes, de una en una, para mantenerse al tanto de su progreso.
•
Poder enviar una señal de encendido remoto a través de la red a los grupos de computadoras
que estén preparadas para comenzar una clase.
Bibliografía
[1] Pressman, R. (1997) Ingeniería del software. Un enfoque práctico. Cuarta Edición. McGraw Hill.
[2] Rumbaugh, J. et al. (1991). Modelado y diseño orientado a objetos. Metodología OMT. Prentice Hall.
2da edición
[3] Chaveco J. R. y Rojas J. R. (2004) Multimedia y Software Educativo. Managua, Nicaragua.
[4] Jacobson, I.; Booch, G. y Rumbaugh, J.; “El Proceso Unificado de Desarrollo de software”. 2000.
Addison-Wesley.
[5] Booch, G.: Rumbaugh, J. y Jacobson, I.; “El Lenguaje Unificado de Modelado”. 2000. Addison-Wesley.
Anexo 1: Diagramas de Casos de Usos
Diagrama de casos de usos Estudiante
Diagrama de casos de usos Profesor
Anexo 2: Tabla comparativa entre LICAP y los Laboratorios de Idiomas Convencionales
Prestaciones
Chat de audio.
Laboratorio de Idiomas Convencionales
Desarrolla diversas actividades por medio del
audio, utilizando audífonos y micrófonos.
LICAP
No cuenta con esta prestación.
(se encuentra en proceso de
desarrollo)
Incluye pantalla para la vista de
Imagen.
No cuenta con esta prestación.
imágenes distribuidas desde una
unidad de almacenamiento
compartida.
Contenido Multimedia. No cuenta con esta prestación.
Distribuye contenido multimedia
desde una unidad de
almacenamiento compartida.
Discusiones escritas.
No cuenta con esta prestación.
Permite discusiones escritas entre
el profesor y los estudiantes.
Permite la edición de archivos así
Edición y distribución de No cuenta con esta prestación.
como la distribución de los mismos
documentos.
hacia
toda la clase.
Control de la clase por El profesor toma fácilmente el control del aula al El profesor toma fácilmente el
el profesor.
comenzar la clase.
control del aula al comenzar la
clase.
Anexo 3: Relación entre prestaciones y los actores del sistema
Descargar