MÓDULO DE DISEÑO Y REALIZACIÓN DE SERVICIOS DE PRESENTACIÓN EN ENTORNOS GRÁFICOS DEFINICIÓN DE LA PROGRAMACIÓN ORIENTADA A OBJETOS Es la que utiliza objetos, no algoritmos, como bloques de construcción lógicos(jerarquía de objetos); donde cada objeto es una instancia de una clase, y las clases se relacionan unas con otras por medio de relaciones de herencia La idea fundamental de la POO es combinar en una sola unidad datos y funciones que operan sobre estos datos, tal unidad se denomina objeto. Los programas orientados a objetos constan de objetos. Los objetos de un programa se comunican con cada uno de los restantes pasando mensajes. CONCEPTO DE CLASE Y OBJETO. TIPOS DEFINICIÓN DE CLASE.- Una clase es la descripción de un conjunto de objetos; consta de métodos y datos que resumen características comunes de un conjunto de objetos. Se pueden definir muchos objetos de la misma clase. Dicho de otro modo una clase es la declaración de un tipo de objeto. DEFINICIÓN DE OBJETO.- Es una abstracción de cosas (entidades) del mundo real, tales que:
Todas las cosas del mundo real dentro de un conjunto –denominadas instancias- tienen las mismas características. Todas las instancias siguen las mismas reglas.
Cada objeto consta de:
Estado (atributos) Operaciones o comportamiento (métodos invocados por mensajes
Desde el punto de vista informático los OBJETOS son tipos abstractos de datos (tipos que encapsulan datos y funciones que operan sobre estos datos) Ejemplos de objetos: OBJETOS FISICOS Aviones en un sistema de control de tráfico aéreo Automóviles en un sistema de control de tráfico terrestre Casas
Edificios Motos en competencia
una
ELEMENTOS INTERFACE GRÁFICAS Ventanas
DE
ANIMALES
Animales vertebrados
TIPOS DE DATOS DEFINIDOS POR EL USUARIO Datos complejos
ALIMENTOS
Carnes
Menús
Animales invertebrados
Punto de un sistema de coordenadas
Frutas
Objetos gráficos(cuadrados, triángulos, etc) Teclados, impresoras Cuadros de dialogo
Pescados
Arreglo unidimensional
Pescados
Mamíferos Ovíparos
Matriz Estructuras
Verduras Pasteles
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
2
EJEMPLO DETALLADO: OBJETO: AUTO 1
DATOS
Número_de_matricula Fabricante Precio_compra Precio_actual Fecha_Compra Calcular_Precio_Actual FUNCIONES
DONDE: ATRIBUTOS: Son los datos o variables que caracterizan el estado de un objeto MÉTODOS: Procedimiento o acciones que cambian el estado de un objeto(funciones) DIFERENCIA ENTRE CLASE Y OBJETO Objeto es un simple elemento, no importa lo complejo que pueda ser. Una clase describe una familia de elementos similares, es decir una clase es como un esquema o plantilla que se utiliza para definir o crear objetos. IDENTIFICACIÓN DE OBJETOS La identificación de objetos se obtiene examinando la descripción del problema (análisis gramatical somero del enunciado o descripción) y localizando los nombres o cláusulas nominales. Normalmente, estos nombres y sus sinónimos se suelen escribir en una tabla de la que luego deduciremos los objetos reales. Los objetos pueden caer dentro de las siguientes categorías:
Cosas tangibles (avión, reactor nuclear, fuente de alimentación, televisor, libro, automóvil, y lo demás) Reales o papeles jugados o representados por personas (gerente, cliente, empleado, médico, paciente, ingeniero, y las demás). Organizaciones (empresa, división, equipo, y las demás). Incidentes( representa un suceso – evento – u ocurrencia, tales como vuelo, accidente, suceso, llamada a un servicio de asistencia técnica, y las demás). Interacciones (implican generalmente una transacción o contrato y relacionan dos o más objetos del modelo: compras – comprador, vendedor, artículo-, matrimonio – esposo, esposa, fecha de boda-, y los demás). Especificaciones (muestran aplicaciones de inventario o fabricación: refrigerador, nevera, y los demás). Lugares (sala de embarque, muelle de carga, y los demás).
Una vez identificados los objetos, será preciso identificar los atributos y las operaciones que actúan sobre ellos.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
3
Los atributos describen la abstracción de características individuales que poseen todos los objetos: AVION Matrícula Licencia del piloto Nombre del avión Capacidad de carga Número de pasajeros
EMPLEADO Nombre Número de identificación Salario Dirección Nombre del departamento
COMUNICACIÓN ENTRE OBJETOS: LOS MENSAJES DEFINICIÓN: El mensaje es esencialmente una orden que se envía a un objeto para indicarle que realice alguna acción. Esta técnica de enviar mensajes a objetos se denomina “paso de mensajes”. Los objetos se comunican entre sí enviando mensajes, al igual que sucede con las personas. Los mensajes tienen una contrapartida denominada métodos. ESTRUCTURA ASOCIADA A UN OBJETO La estructura asociada de un objeto consta de dos componentes básicos:
Atributos Métodos (operaciones o servicios)
ATRIBUTOS Los atributos describen el estado del objeto. Un atributo consta de dos partes: un nombre de atributo y un valor de atributo. Los objetos simples pueden constar de tipos primitivos, tales como enteros, carácter, boolean, reales, o tipos simples definidos por el usuario. Los objetos complejos pueden constar de pilas, conjuntos, listas, arrays, y los demás. MÉTODOS Los métodos (operaciones o servicios) describen el comportamiento asociado a un objeto. Representan las acciones que pueden realizarse por un objeto o sobre un objeto. La ejecución de un método puede conducir a cambiar el estado del objeto o dato local del objeto. LOS CONTRUCTORES Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. Los constructores son especiales por varios motivos:
Tienen el mismo nombre que la clase a la que pertenecen. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No pueden ser heredados.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
4
Por último, deben ser públicos, no tendría ningún sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.
LOS DESTRUCTORES Los destructores son funciones miembro especiales que sirven para eliminar un objeto de una determinada clase. El destructor realizará procesos necesarios cuando un objeto termine su ámbito temporal, por ejemplo liberando la memoria dinámica utilizada por dicho objeto o liberando recursos usados, como ficheros, dispositivos, etc. Al igual que los constructores, los destructores también tienen algunas características especiales:
También tienen el mismo nombre que la clase a la que pertenecen, pero tienen el símbolo ˜ delante. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No tienen parámetros. No pueden ser heredados. Deben ser públicos, no tendría ningún sentido declarar un destructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado. No pueden ser sobrecargados, lo cual es lógico, puesto que no tienen valor de retorno ni parámetros, no hay posibilidad de sobrecarga.
Cuando se define un destructor para una clase, éste es llamado automáticamente cuando se abandona el ámbito en el que fue definido. Esto es así salvo cuando el objeto fue creado dinámicamente con el operador new, ya que en ese caso, cuando es necesario eliminarlo, hay que hacerlo explícitamente usando el operador delete. En general, será necesario definir un destructor cuando nuestra clase tenga datos miembro de tipo puntero, aunque esto no es una regla estricta. PUNTEROS El valor de cada variable está almacenado en un lugar determinado de la memoria, caracterizado por una dirección. El ordenador mantiene una tabla de direcciones que relaciona el nombre de cada variable con su dirección en la memoria. Entonces un Puntero es una variable que contiene una dirección de la memoria. Entonces: Puntero es una variable que contiene la dirección de otra variable, para crear un puntero se utiliza un operador especifico que es el * (asterisco).Ejemplo: int *pEdad=0 “indica que el puntero pEdad va a guarda la dirección de una variable tipo integer, además se lo inicializa con un valor de 0. Como se lo crea: unsigned short intqueEdad=50 // crea una variable (unsigned indica que lo que se guarda es del mismo tipo). unsigned short int *pEdad=0 // crea un punter pEdad = &queEdad // pone la dirección de queEdad en pEdad ARRAYS Es la forma de estructurar elementos. Se emplea especialmente en programación y en su forma más básica es una lista de la forma array(elemento, elemento, ...).
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
5
Los arrays pueden ser vectores (unidimensionales), matrices (bidimensionales) o multidimensionales. Los arreglos pueden contener apuntadores. Un uso común para una estructura de datos como esta, es formar un arreglo de cadena, conocida como un arreglo de cadenas. Cada enrada en el arreglo es una cadena, pero en C una cadena es esencial un apuntador a su primer carácter, por lo que un arreglo de cadenas cada entrada es de hecho un apuntador al primer carácter de una cadena. HERENCIA La herencia es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados. Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente. Como resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que puede especializarse a voluntad (la compañía que vende estas clases tiende a proteger las datos miembro usando la encapsulación). El objetivo final es la reutilizabilidad o reutilización, es decir reutilizar código anteriormente ya desarrollado. TIPOS DE HERENCIA Herencia simple: una clase sólo puede heredar características de una sola clase, o sea, puede tener un padre. Smalltalk, Java y Ada soportan herencia simple. Ejemplo:
FIGURA
CIRCULO
RECTANGULO
TRIANGULO
RECTANGULO REDONDEADO REDONDEADO
Herencia múltiple: una clase puede heredar características de una o más clases, por lo tanto, puede tener varios padres. C++ soporta herencia múltiple. Ejemplo:
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
6
PERSONA
INVESTIGADOR
PROFESOR
PROFESOR UNIVERSITARIO
POLIFORMISMO En programación, polimorfismo es una característica de un lenguaje de programación que permite a los valores de diferentes tipos de datos ser manejados usando una interfaz uniforme. También hay funciones polimórficas: es una función que puede ser evaluada o ser aplicada a valores de diferentes tipos. Dos tipos de polimorfismo: ad-hoc y paramétrico Existen dos tipos de polimorfismo: * Polimorfismo ad-hoc: si el rango de tipos actuales que pueden ser usados es finito y las combinaciones deben ser especificadas individualmente antes de usarse. * Polimorfismo paramétrico: si todo el código es escrito sin mención de ningún tipo específico y así poder ser usado transparentemente con nuevos tipos. En programación orientada a objetos, el poliformismo ad-hoc es generalmente soportado a través de la herencia, por ejemplo, objetos de diferentes tipos pueden ser tratados uniformemente como miembros de una superclase común. El poliformismo ad-hoc es también soportado en muchos lenguajes usando funciones y métodos sobrecargados. El polimorfismo paramétrico es ampliamente soportado en lenguajes de programación funcionales de tipo estático. CONCEPTO DE INTERFAZ GRAFICA El proceso de incluir tantas funciones en un solo programa generó un grave problema: cómo poner todas estas posibilidades en manos del usuario, sin obligarlo a hacerse de un complejo manual o a tomar un curso especializado. La solución vino con el uso de interfaces gráficas. La interfaz de usuario, o interfaz gráfica de usuario, es la forma como aparecen en pantalla los comandos de un programa: por medio de botones, colores, símbolos y ventanas. La interfaz tiene dos principales "misiones": la primera es informar al usuario acerca de los elementos que tiene a su disposición y para qué sirven, y la segunda es brindar la posibilidad de elegir entre las distintas opciones. De manera sintética, la interfaz consiste en un área de trabajo rodeada por diferentes barras en las que se encuentra dispuesta una buena cantidad de botones. En la parte superior tenemos la Barra de título del programa, que nos indica el nombre del programa que utilizamos así como el del archivo con el que estamos trabajando. Interfaz gráfica de usuario (en inglés conocida por el acrónimo GUI, de GraphicUserInterfase) tipo de visualización que permite al usuario elegir comandos, iniciar programas y ver listas de AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
7
archivos y otras opciones utilizando las representaciones visuales (iconos) y las listas de elementos del menú. Las selecciones pueden activarse bien a través del teclado o con el ratón. Para los autores de aplicaciones, las interfaces gráficas de usuario ofrecen un entorno que se encarga de la comunicación con el ordenador o computadora. Esto hace que el programador pueda concentrarse en la funcionalidad, ya que no está sujeto a los detalles de la visualización ni a la entrada a través del ratón o del teclado. También permite a los programadores crear programas que realicen de la misma forma las tareas más frecuentes, como guardar un archivo, porque la interfaz proporciona mecanismos estándar de control como ventanas y cuadros de diálogo. Otra ventaja es que las aplicaciones escritas para una interfaz gráfica de usuario son independientes de los dispositivos: a medida que la interfaz cambia para permitir el uso de nuevos dispositivos de entrada y salida, como un monitor de pantalla grande o un dispositivo óptico de almacenamiento, las aplicaciones pueden utilizarlos sin necesidad de cambios. ELEMENTOS INTERACTIVOS DE LA INTERFAZ GRAFICA DISPOSITIVOS DE INTERFAZ HUMANA Los dispositivos de interfaz humana son los diseñados para conectar alguna parte del cuerpo del ser humano con la interfaz gráfica de modo que puedan ser introducidos datos en el sistema. Normalmente son dispositivos que permiten introducir directamente, y en tiempo real, información de “orientación” y “acción” al ordenador sincronizado simultáneamente con una interfaz gráfica. Los dispositivos de interfaz humana como el ratón, pueden representar en la interfaz gráfica gestos físicos y movimientos, como “apuntar”, “pulsar”, “arrastrar”, “trasladar”, “mover” de forma metafórica que de otro modo sería muy complejo simular. Existen diferentes tipos de interfaces humanas los cuales han sido desarrollados paralelamente a lo largo de la historia de la interfaz gráfica. Los más importantes han sido, el teclado, el ratón de ordenador, el trackball (bola), el cursor táctil (touchpad), la tableta gráfica y el Joystick. VENTANAS Las ventanas son recursos interactivos usadas para la visualización, jerarquización y navegación de la información en un interfaz gráfico de usuario. A través de las ventanas, pueden ser visualizados un conjunto de documentos, aplicaciones e iconos, sobre los cuales es posible realizar diversas acciones. Las ventanas permiten una forma relativamente fácil de interacción con la información. Su comportamiento es como el de un objeto, y pueden ser abiertas, cerradas, movidas, escaladas, ampliadas (zoom) y navegadas (scrolling). Tipos de ventanas Podemos hacer una catalogación de ciertos tipos de ventanas, desde un punto de vista semántico, esto es, atendiendo al tipo de significados asociados a la ventana: Ventana Modal Las ventanas modales son aquellas ventanas específicas que han sido diseñadas como medio de prevención de alguna acción del usuario sobre el sistema. Surgen allí donde el sistema prevé algún error por parte del usuario. Suelen contener un mensaje de advertencia y un botón de confirmación de la acción a realizar. Ventana de Confirmación Las ventanas de confirmación son aquellas que surgen de modo preventivo igualmente, pero esta vez dan al usuario una serie de posibilidades de acción. La ventana de confirmación más habitual es aquella que surge cuando intentamos guardar un documento que ya tenemos creado
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
8
en el sistema. Suelen contener el mensaje de advertencia, un icono indicando la gravedad del asunto, y una serie de botones donde se le pide al usuario una decisión al respecto. MENÚS Los menús son listas de comandos, atributos, o cualquier tipo de elementos, agrupados de forma estructurada normalmente inscritos dentro de una barra de menús o de un área específica en la interfaz, los cuales pueden ser activados y posibilitan la ejecución de los items que contienen obteniendo una respuesta inmediata al respecto. Tipos de Menús Existen varias tipologías de menús, según el contexto en el que se ubiquen, conteniendo una gramática particular y un objeto concreto dentro de la interacción con el usuario. Se comentan a continuación los tipos de menús más habituales en la interacción con ordenadores: Menús contextuales Menú contextual, es aquel que muestra una lista de ítems posible de ejecutar sobre un objeto concreto en el contexto definido. Un objeto o icono en el interfaz, puede tener varios estados y diferentes contextos. Los menús contextuales normalmente están ocultos, y son activados por el usuario sobre un objeto en concreto. Éste muestra las opciones que se pueden aplicar sobre el objeto en ese preciso momento. En el sistema Windows son activados con el botón derecho del ratón, y son representados de forma flotante al lado del objeto interrogado. Menús de navegación (scroll) Un menú de scroll, es un menú que combina en su interior la posibilidad de realizar movimientos de navegación sobre sus ítems. Cuando las opciones de un menú son demasiadas para mostrar de una sóla vez en la interfaz, se usan diversos recursos de navegación con los ítems, uno de ellos es posicionar un barra en el interior del menú de modo que se pueda navegar usando la barra adecuada. No son muy habitales estos menús, Apple los usó en su sistema operativo y Windows lo usa en su menú de inicio cuando las aplicaciones instaladas son demasiadas para mostrar. Menús jarárquicos Un menú Jerárquico es un menú representado en forma de árbol, cuyos ítems de un mismo nivel, abren un nuevo menú con nuevas opciones correspondientes a un siguiente nivel. Son usados con frecuencia para sintetizar un árbol amplio de ítems, sin perder la jerarquía de su organización. Este menú es el usado por Windows en su menú de inicio. Menú de inicio Un menú de inicio es un tipo de menú jerárquico desarrollado inicialmente por Microsoft para Windows y actualmente implementado en las interfaces de los sistemas operativos GNU/LINUX. Es un menú jerárquico que intenta recoger un acceso global a todas las variables y elementos y aplicaciones del sistema. ICONOS Los iconos en el contexto de las interfaces gráficas son signos esquemáticos que representan algún tipo de fichero, carpeta, aplicación, o dispositivos de un sistema informático. Los iconos, tal cual se ha defendido en la primera parte de este trabajo, son signos interactivos y por lo tanto inscritos en una gramática especial que debe ser aprendida por el usuario. CONTROLES Botones Un botón es un objeto de control sobre la interfaz que posibilita introducir un dato de confirmación al sistema. Actúa como metáfora visual y funcional de los botones incluidos en los dispositivos tecnológicos. Su gramática visual tiene ya un recorrido histórico con posibilidad de ser estudiada.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
9
Han sido catalogados varios tipos de botones en relación a sus formas: Botón en Relieve Es el más común y el más usado en los sistemas operativos. Imita la gramática visual de un botón de un dispositivo físico, por lo que se suele usar un tratamiento cuidado de los bordes, de modo que simule volumen. Suele incluir una descripción breve en el interior, y suele soportar diversos estados al igual que el comportamiento de las ventanas. Botones en forma de radio Son botones redondos que posibilitan ser señalados a través de la acción del usuario. Normalmente son usados en formularios o menús, para dar elección a elegir un ítem de una lista. El interfaz de Mac lo usó con frecuencia en su sistema operativo. Botones de confirmación (checkbox) Son botones similares a los botones de radio, pero con forma cuadrada. Se representan de forma hueca, y suelen ser usados para seleccionar ítems en una lista. Elementos de entrada de texto Los elementos de entrada de texto, nos indican en qué lugar del interfaz puede ser usado el teclado. Cuando todo el interfaz se convierte en escritorio, surgen las aplicaciones específicas que permiten introducir texto. Pero existen partes de ciertas aplicaciones que requieren un área que posibilite la introducción de información textual por parte del usuario. En este contexto es en el que los campos de texto cobran sentido. Campo de texto El campo de texto ha desarrollado también su propia gramática visual. Normalmente delimita un área en blanco, e indica a través del borde la posibilidad de introducir texto en la misma. ELEMENTOS DE INFORMACIÓN DE SALIDA Los elementos de salida, tienen que ver con elementos que se han ido configurando para dar información de estado del sistema al usuario en un momento dado. Normalmente las aplicaciones reservan un área de la ventana, donde posicionan estos datos. Existen varios elementos de información de salida, que vale la pena mencionar: Barra de progreso La barra de progreso es un elemento que indica al usuario el progreso de la acción que realiza el sistema. Todas las acciones del sistema, no son realizadas de forma instantánea. Cuando el sistema requiere tiempo para realizar una acción, es fundamental dar feedback al usuario a través de la representación del proceso y por lo tanto del progreso de la acción. Cuadro de consejo [tip box] Es un recurso gráfico inspirado en los bocadillos de los cómics, que surge en ciertos elementos de la interfaz para indicar información adicional sobre algún elemento u acción del usuario sobre el sistema. Barra de estado [Status Bar] La barra de estado ofrece información variada al usuario sobre diferentes variables de la aplicación o del sistema. Normalmente es posicionada en la parte inferior de la ventana de aplicación. Suele estar divida en varias áreas de modo que en una misma horizontal se muestran varios campos con diferentes informaciones. Suelen ofrecer información técnica específica, muy útil cuando el usuario la necesita. ELEMENTOS COMPUESTOS Barra de tareas La barra de tareas es un elemento bien definido en sistemas operativos Windows, que posteriormente han sido implementados en sistemas Unix a través de sus respectivos entornos gráficos. Consisten en una barra dispuesta de forma horizontal, en la que se posicionan diversos elementos interactivos, normalmente iconos, que activan aplicaciones y sirve además para ir AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
10
añadiendo y alojando aplicaciones útiles para el usuario. Suelen estar dividido cuanto menos en cuatro partes: • Botón de Inicio: Sirve para activar el menú de inicio y poder acceder a sus funciones. • Área de aplicaciones más usadas: Muestra de forma sintética iconos de las aplicaciones más usadas en el sistema como puedan ser el escritorio y el navegador de internet o navegador de archivos. • Área de descanso: En un principio desocupada, es la parte de la barra de tareas destinada a disponer los elementos minimizados cuando el usuario ejecuta más de una tarea en el sistema. • Área de aplicaciones del sistema:Muestra de forma sintética, a través de iconos, diferentes aplicaciones relacionadas con cuestiones técnicas del sistema que operan en el momento de su ejecución. Combo de texto (combo box) El combo de texto, es un elemento formado en un estado inicial por un campo de texto y una pestaña. El usuario puede introducir texto sobre el campo, pero si pulsa la pestaña despliega una ventana completa con elementos de navegación incluida. Es un elemento combinado que dispone de varias posibilidades de interacción y de acceso a la información introducida. Funciones principales Sus principales funciones son las siguientes: Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulación de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicación con otros sistemas. Información de estado. Configuración de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo. Características de un GUI 1. Posee un monitor gráfico de alta resolución. 2. Posee un dispositivo apuntador (típicamente un ratón). 3. Promueve la consistencia de la interfaz entre programas. 4. Los usuarios pueden ver en la pantalla los gráficos y textos tal como se verán impresos. 5. Sigue el paradigma de la interacción objeto-acción. 6. Permite la transferencia de información entre programas. 7. Se puede manipular en la pantalla directamente los objetos y la información. 8. Provee elementos de interfaz estándar como menús y diálogos. 9. Existe una muestra visual de la información y los objetos (iconos y ventanas). 10. Proporciona respuesta visual a las acciones del usuario. 11. Existe información visual de las acciones y modos del usuario/sistema (menús, paletas). 12. Existen controles gráficos (widgets) para la selección e introducción de la información. 13. Permite a los usuarios personalizar la interfaz y las interacciones. 14. Proporciona flexibilidad en el uso de dispositivos de entrada (teclado/ratón). HANDLE (manija) ¿Se ha preguntado alguna vez qué programa mantiene abierto un archivo o directorio en particular?. Ahora lo puede averiguar. Handle es una utilidad que muestra información acerca de identificadores abiertos para cualquier proceso del sistema. Puede usarla para consultar los AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
11
programas que tienen un archivo abierto o para ver los tipos de objeto y los nombres de todos los identificadores de un programa. En programación de computadoras, se conoce como handle a un tipo particular de punteros "inteligentes". Los handles son utilizados cuando un programa hace referencia a bloques de memoria u objetos controlados por otros sistemas, tales como una base de datos o un sistema operativo. Mientras que un puntero literalmente contiene la dirección en la memoria de algún "objeto", un handle es una referencia abstracta y controlada de manera independiente por el sistema, permitiendo que la referencia pueda ser reubicada en la memoria por el sistema sin invalidar el handle - imposible de realizar con punteros - y de ahí el nombre en inglés handle, que significa "manija", en el sentido de que mediante él se controla o maniobra. La capa extra de indirección también incrementa el control que el sistema tiene para maniobrar sobre operaciones llevadas a cabo sobre el referente. Los handles fueron una solución popular para el manejo de memoria en los sistemas operativos desarrollados en los años 1980, tales como Mac OS y Windows.1 En Unix los descriptores de archivos son esencialmente handles. Como en otros entornos de escritorio, el API de Windows utiliza handlesintensamente para representar objetos en el sistema y provee de un canal de comunicaciones entre el sistema operativo y el espacio de usuario. Por ejemplo, una ventana sobre el entorno de escritorio es representada por un handle de tipo HWND. Instalación Handle se ejecuta escribiendo "handle". Debe tener privilegios administrativos para ejecutar Handle. Handle funciona en Windows 9x/Me y Windows NT y versiones posteriores, así como en las ediciones de 64 bits de Windows XP y Windows Server 2003. Uso Handle se ha diseñado para buscar referencias de archivos abiertos, de modo que si no especifica ningún parámetro de línea de comandos, mostrará una lista con los valores de todos los identificadores del sistema que hacen referencia a archivos abiertos y los nombres de los archivos. La librería ObjectWindows Biblioteca de objetos de Windows , más conocido por la sigla OWL, es una biblioteca de clases C + + producido por Borland con el fin de encapsular la API de Windows. PPP fue lanzado por Borland por su compilador de Borland C++ en gran parte al mismo tiempo que Microsoft había lanzado un producto de la competencia llamada Microsoft FundationClasses . Desde PPP tenía una estructura superior biblioteca orientada a objetos de Microsoft, durante un tiempo fue mucho más exitosa, sin embargo, la pérdida de cuota de mercado cuando las actualizaciones no soporta las nuevas características de Windows, y luego nunca se produjo. Actualmente un grupo independiente (equipo OWLNext) es responsable de actualizar y proporcionar nuevas características. OBJETOS INTERFAZ Las interfaces de objetos permiten crear código el cual especifica métodos que una clase debe implementar, sin tener que definir como serán manejados esos métodos. Las interfaces son definidas usando la palabra reservada 'interface', de la misma manera que las clases estándar, pero sin que cualquiera de los métodos tenga su contenido definido. Todos los métodos en una interface deben ser públicos, esto es la naturaleza de una interface. OBJETOS CAJA DE DIALOGO
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
12
Cuando una aplicación, que muestra una interfaz gráfica, en un instante determinado de su ejecución necesita, para poder continuar, aceptar nuevos datos o bien visualizarlos, lo que podemos hacer es utilizar una nueva ventana con lo controles que permitan esas operaciones. En estos casos las ventanas reviven los nombre de cajas de dialogo o cuadros de dialogo En interfaces gráficas de usuario, un cuadro de diálogo es una ventana especial para mostrar información al usuario o para obtener de éste una respuesta. Son llamados así porque permiten una especie de diálogo entre el sistema y el usuario. Existen diferentes tipos de cuadros de diálogos para diferentes tipos de interacciones. El más simple es el tipo "alerta", que solamente muestra un mensaje y el usuario sólo tiene que presionar un botón (generalmente "OK"). Luego están los cuadros de diálogos no esenciales, que permiten continuar operando el programa sin interrumpirlo. Estos cuadros de diálogos pueden saltar en forma de ventana (lo cual suele molestar si no es esencial responderlo), o pueden acomodarse de otra manera dentro de la interfaz del programa (lo cual permite que puedan ser respondidos cuando el usuario lo decida). También existen los cuadros de diálogos esenciales, estos deben ser respondidos por el usuario de forma obligatoria. Estos cuadros de diálogos suelen abrirse automáticamente o con alguna acción del usuario, prohibiendo acceder a la ventana principal del programa y seguir trabajando. Estos cuadros deben obligatoriamente ser respondidos por el usuario porque el programa necesita realizar alguna acción crítica. Hay tres formas de añadir cajas de dialogo a una aplicación: CAJAS DE DIALOGO PREDEFINIDAS, son cajas de diálogo creadas por medio del método Show de la clase MessageBox del espacio de nombres System.Windows.Forms, o bien por los métodos MsdBox o InputBox de la clase Interaction de Visual Basic. CAJAS DE DIALOGO PERSONALIZADAS: Son cajas de diálogo hechas a medida para lo cual la biblioteca .NET proporciona la clase Form. CAJAS DE DIALOGO ESTÁNDAR. Son cajas de diálogo muy comunes proporcionadas por clases del espacio de nombres System.Windows.Forma; por ejemplo, la caja de diálogo Abrir o guardar proporcionada por la clase OpenFileDialog o SaveFileDialog. GLOSARIO API Interfaz de programación de aplicaciones o API (del inglésApplicationProgramming Interface) es el conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usadas generalmente en las bibliotecas (también denominadas vulgarmente "librerías"). ENCAPSULAR La comunicación de un microprocesador con el exterior, esto es, con la memoria principal y con las unidades de control de los periféricos, se realiza mediante señales de información y señales de control que son enviadas a través del patillaje del microprocesador. Posteriormente, estas señales viajarán por el bus del sistema que comunica al procesador con los demás componentes situados en la placa base, pasando a continuación al bus de E/S hasta llegar al periférico correspondiente. El número y tamaño de las patillas ha ido variando con el tiempo según las necesidades y las tecnologías utilizadas.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
13
TALLER ACADEMICO
1.- Defina que es la POO 2.- Realizar un mapa Conceptual y Objeto 3.- Escriba 10 ejemplos de Objetos 4.- Realice 3 ejemplos de clase de Objetos y señale los atributos, método. 5.- Realice 5 ejemplos con atributos 6.- Escriba 2 ideas de mensaje, atributo y método 7.- Escriba la diferencia entre constructor y destructor 8.- Dibuje 3 Herencias Simples 9.- Dibuje 3 Herencias Múltiples 10.- Llene la siguiente matriz
Conceptos
¿Para qué Sirve?
CLASE OBJETO ATRIBUTO METODO CONSTRUCTOR DESTRUCTOR PUNTERO ARRAYS POLIFORMISMO
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
14
FUNDAMENTOS Y CARACTERISTICAS DE VISUAL BASIC INTRODUCCIÓN. QUÉ ES VISUAL BASIC Visual Basic es un HERRAMIENTA SOFTWARE que permite desarrollar aplicacionesMicrosoft Windows. Son aplicaciones de interacción sencilla con el usuario. Visual Basic está ORIENTADO A EVENTOS/OBJETOS (lo cual quiere decir que elcódigo no se activa hasta que se llama como respuesta a un evento, por ejemplo Click debotón, Selección de un menú, …). NO SUCEDE NADA HASTA QUE SE DETECTA UNEVENTO. Cuando se detecta un evento, el código correspondiente a dicho evento (procedimiento deevento) es ejecutado. ProcedimientosDe eventos Algunas características de Visual Basic
Conjunto de objetos (para “dibujar” la aplicación) Muchos iconos y dibujos Permite crear archivos .exe, por medio de una máquina virtual de Visual Basic, lo que facilita la distribución de aplicaciones para otras máquinas los mismos que pueden ser ejecutados sin disponer de la aplicación Visual Basic. Disponibilidad de técnicas de programación para trabajar con servidores Web, protocolos y aplicaciones en Dynamic HTML de Internet. Una completa colección de funciones matemáticas, de cadena y gráficas Puede manejar variables fijas y dinámicas y arrays de controles Soporte de acceso a ficheros secuencial y random (de acceso aleatorio) Depurador muy útil y facilidades de manejo de errores Importantes herramientas de acceso a bases de datos, aplicaciones cliente/servidor escalables para los formatos de las bases de datos más conocidas, como Microsoft SQL Server. Incorporación de Tecnología ActiveX de 32 bits. Extensión de las funciones asociadas a Visual Basic. Auxiliar Package&DeploymentWizard para distribuir con facilidad las aplicaciones
PASOS PARA EL DESARROLLO DE UNA APLICACIÓN Son 3: 1. Dibujar la interfaz de usuario 2. Asignar propiedades a los controles 3. Escribir códigos para los controles 4.- PREPARANDO LA INTERFAZ DE USUARIO Visual Basic trabaja en 3 modos diferentes: 1. Modo DISEÑO 2. Modo EJECUCIÓN 3. Modo INTERRUPCIÓN (la aplicación se detiene para que podamos depurarlo) Veamos el modo Diseño: Al arrancar VB aparecen seis ventanas:
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
15
La Ventana Principal consiste en la barra de título, la barra de menús y la barrade herramientas. La barra de título indica el nombre del proyecto, el modo actualde operación de VB y el formulario actual. La barra de menú contiene menús desde los cuales se controlan las operaciones del entorno de VB. La barra de herramientas tiene botones para activar algunas opciones del menú. La ventana principal también muestra la localización del formulario activo en relación con la esquina superior izquierda de la pantalla (medido en twips) y la
La Ventana del Formulario es fundamental para desarrollar las aplicaciones deVB. Es donde se dibuja la aplicación.
La Caja de Herramientas permite seleccionar los controles utilizados en la aplicación.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
16
La Ventana de Propiedades se utiliza para establecer los valores iniciales de laspropiedades de los objetos. La caja que aparece en lo alto de la ventana contienetodos los objetos del formulario activo. Se puede ver de dos maneras: en ordenAlfabético y por Categorías. Dentro de esta ventana nos encontramos con laspropiedades que podemos utilizar, en tiempo de diseño, del objeto seleccionado
La Ventana Posición del Formulario muestra donde se verá el formulario dentrode la pantalla, en tiempo de ejecución:
La Ventana del Explorador de Proyectos muestra una lista de todos losformularios y módulos que componen la aplicación. Desde esta ventana tambiénse puede elegir entre ver el Código o el Formulario.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
17
Como ya hemos comentado, la interfaz de usuario se “dibuja” en la ventana del formulario. Existen dos maneras de colocar controles en un formulario: 1. Doble-click en la herramienta elegida dentro de la caja de herramientas: el objeto secrea con un tamaño fijo en la form. Posteriormente se puede mover y modificar eltamaño. 2. Click en la herramienta elegida dentro de la caja de herramientas, a continuaciónmover el puntero al formulario. El puntero se convierte en una cruz. Situar la cruz enla esquina superior izquierda de donde se quiera dibujar, presionar el botón izquierdoy mantenerlo presionado mientras se dibuja un rectángulo hasta el borde inferiorderecho. Soltar el ratón y el objeto queda en el sitio. Para mover un control ya dibujado, hacer click en el objeto y arrastrarlo. DEFINICION Y TIPOS DE VARIABLES Y CONSTANTES DEFINICIÓN.- Las variables son espacios en la memoria donde el programa guarda datos. A este lugar en la memoria se hace referencia mediante un identificador: el nombre de la variable. Un nombre de variable tiene que cumplir con las mismas reglas que con los nombres de los objetos. La variable almacenará un determinado tipo de dato, y de esto dependerá la cantidad de memoria que ocupe. Las variables, por tanto, serán de distinto tipo y en el código se puede declarar (crear) una variable del tipo que se especifique. La sentencia para declarar una variable será: AlcancenVariableastDato Donde Alcance será el alcance de la variable (Private o Public); nVariable será el nombre de la variable y tDato será el tipo de dato que almacenará. Los tipos de datos son los siguientes:
TIPOS DE VARIABLES: Existen 2 modos: a) Declaración EXPLÍCITA: en este caso todos los módulos del código de unproyecto nuevo contienen la línea ‘OptionExplicit’. Las variables se declaran conDimnombreVariable
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
18
b) Declaración IMPLÍCITA: con este modo no es necesario declarar variables alcomienzo del programa mediante DimnombreVariable. No se declaran las variablesal comienzo de un programa sino que se emplean directamente durante elprograma. CONSTANTES.- Las constantes son como las variables, con la excepción de que su valor es asignado una única vez y luego no puede ser cambiado. Su valor es asignado en la misma declaración y si luego se intenta cambiar su valor se producirá un error. Las constantes son privadas por defecto y si se desea que sean públicas habrá que declararlas como Public. A continuación los ejemplos generales de una constante privada y otra pública: ConstnConstastDato=Valor PublicConstnConstanteastDato=Valor Donde nConstante es el nombre la constante, tDato es el tipo de dato que almacenará (Integer, Single, Date, etc.) y valor es el valor que almacenará. La declaración de una constante que almacene velocidad de la luz, en forma privada y pública, sería: ConstvelocidadluzasLong=300000 PublicConstvelocidadluzas Long=300000 El valor de una constante se utiliza de la misma forma que el valor de una variable y cumple con los mismos criterios de alcance. DEFINICION Y TIPOS DE OPERADORES Y SENTENCIA. DEFINICION.- Los programas necesitarán efectuar cálculos matemáticos, de texto, trigonométricos, etc., según el trabajo que el programa realizará. Para ello Visual Basic tiene operadores de todo tipo: OPERADORES ARITMÉTICOS
PRIORIDAD EN LA EVALUACIÓN DE LOS OPERADORES ARITMÉTICOS
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
19
OPERADORES RELACIONALES (O DECOMPARACIÓN)
PRIORIDAD EN LA EVALUACIÓN DE LOS OPERADORES ARITMÉTICOS Estos operadores son iguales entre sí, no tiene prioridades distintas. OPERADORES LÓGICOS
PRIORIDAD EN LA EVALUACIÓN DE LOS OPERADORES LÓGICOS
TABLA DE VERDAD DE LOS OPERADORES LÓGICOS
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
20
OPERADORES DE CONCATENACIÓN Hay 2 operadores de concatenación, uno de ellos es el ‘+’ y el otro ‘&’. a) Con el operador ‘+’ se emplea tanto para concatenan entre sí expresiones(cadenas de caracteres o strings) como para sumar números (y en este caso nofunciona concatenando sino calculando el resultado) Ejemplo: supongamos que intNumero=”45” y que IntIncremento=”50” intNumero+intIncremento=”4550” pero de la misma forma, supongamos que inNumero=45 y que IntIncremento=50 intNumero+intIncremento=95 b) El operador ‘&’ une cadenas de caracteres o los concatena. Solo se emplea concadenas de caracteres: Ejemplo: supongamos que Nombre1=”pepito” y que Nombre2=”Martinez” Nombre1&Nombre2=”pepitoMartinez” SENTENCIAS Definicion.-La sentencia más sencilla es la de asignación. Consiste en el nombre de una variable,seguido del operador de asignación (=), seguido de algún tipo de expresión. Ejemplos: HoradeInicio = Now Caja2.Caption = "Datos Fijos" BitCont = ByteCont * 8 Energia = Masa * VELOCIDADDELALUZ ^ 2 ValorNeto = Ganancias – Deudas
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
21
INTRODUCCION A LOS SISTEMAS MULTIMEDIA Importancia De La Multimedia Es una nueva plataforma donde se integran componentes para hacer ciertas tareas que proporcionan a los usuarios nuevas oportunidades de trabajo y acceso a nuevas tecnologías. Es un nuevo medio, donde la computadora junto con los medios tradicionales dan una nueva forma de expresión. Es una nueva experiencia, donde la interacción con los medios es radicalmente diferente y donde tenemos que aprender cómo usarlos. Es una nueva industria en donde con una nueva plataforma, un nuevo medio y una nueva experiencia nos llevan a tener nuevas oportunidades de negocios. La importancia de la producción de contenidos reviste dos formas principales: por una parte, la codificación de los contenidos, donde la informática tiene el papel central; por otra, el acervo de bienes que pueden convertirse en aplicaciones multimedia, por ejemplo, libros, enciclopedias, acervos de museos y colecciones, obras cinematográficas, emisiones de televisión, etcétera Que Es Multimedia Es difícil definir en pocas palabras el término multimedia. Se puede decir que en una computadora personal es la capacidad de mostrar gráfico, vídeo, sonido, texto y animaciones como forma de trabajo, e integrarlo todo en un mismo entorno llamativo para el usuario, que interactuará o no sobre él para obtener un resultado visible, audible o ambas cosas. En efecto, las riquezas de los multimedios reside en el acopio de información. Pero, para poder combinar e integrar fácilmente todos estos elementos constitutivos por muy dispares que sean, es preciso almacenarlos bajo una misma y única forma (actualmente numérica), y por lo tanto crear dispositivos adaptados de almacenamiento, transmisión y tratamiento, tales como CD-ROM, redes de transmisión de datos ( especialmente, de fibra óptica )y métodos de compresión y descompresión. En multimedia, la tecnología y la invención creativa converge y se encuentra la realidad virtual. La realidad virtual requiere de grandes recursos de computación para su funcionamiento. A medida que exista un movimiento o acción requiere que el computador calcule nuevamente la posición, el ángulo tamaño y forma de todos los objetos que conforman la visión y cientos de cálculos que deben hacerse a una velocidad de 30 veces por segundo para que sea parecido a la realidad La realidad virtual es una extensión de multimedia que utiliza los elementos básicos de ésta. Como imágenes, sonido y animación. Como requieren de retroalimentación por medio de cables conectados a una persona, la realidad virtual puede ser tal vez Multimedia Iteractiva en su máxima expresión. La mayoría de los programas actuales de diseño asistido por computador CAD, ofrecen capacidades de tercera dimensión e incluso proporcionan facilidades para crear recorridos en formatos de películas digitales. El concepto de Multimedia es amplio, a continuación se hace mención a algunos conceptos declarados por algunos personajes a través de los años: Combina el poder del ordenador con medios tales como videodiscos ópticos, CD-ROM, los más recientes Compact video-discos, video interactivo digital y Compact-Disk interactivo; tal combinación produce programas que integran nuestras experiencias en un solo programa (Veljkov, 1.990) Permite a los aprendices interactuar activamente con la información y luego reestructurarla en formas significativas personales. Ofrecen ambientes ricos en información, herramientas para investigar y sintetizar información y guías para su investigación (Schlumpf, 1.990)
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
22
Intento de combinar la capacidad autoexplicativa de los medios audiovisuales con el texto y fotografías para crear un medio nuevo de comunicación único en la pantalla del ordenador (Lynch, 1.991) Integración de dos o más medios de comunicación que pueden ser controlados o manipulados por el usuario mediante el ordenador; video, texto, gráficos, audio y animación controlada con ordenador; combinación de hardware, software y tecnologías de almacenamiento incorporadas para proveer un ambiente de información multisensorial (Galbreath, 1.992) Uso de texto, sonido y video para presentar información; hace que la información cobre vida (Jamás, 1.993) Para que sirve Construcción de una presentación multimedia Construir una presentación multimedia es como hacer una película. Primero, se definen los objetivos de la presentación, se recopila la información, se escribe un guión y se diseña su estructura por medio de un diagrama de flujo. Después seproducen los materiales digitales: imágenes, audio, video y animación. Finalmente, todos los elementos son unidos por medio de la programación de software. El software es el motor de la presentación multimedia. El crear un software robusto desde un inicio, asegura un funcionamiento libre de errores y representa una base sólida para crecer y actualizar la presentación multimedia a través del tiempo. Actualización De Una Presentación Multimedia La multimedia es más fácil de actualizar que un video o cualquier material impreso, lo que la hace ideal para los cambiantes mercados actuales. Además, ¿Sabe Usted, que producir un tiraje de CD-ROMs puede ser mas barato que imprimir catálogos a color? y ¿Sabe también, que un CD-ROM puede ser borrado y vuelto a copiar sin necesidad de destruirlo?. Flexibilidad De Una Presentación Multimedia Todo el material es almacenado en forma digital, por lo que una vez creado es muy fácil utilizarlo en diferentes situaciones e inclusive en distintos productos multimedia a la vez. Esencialmente, el mismo material digital puede ser utilizado como Material en Punto de Venta (POP), como Curso de Capacitación (CBT), como Presentación Corporativa, como Módulo Touchscreen en un Evento, como Presentación persona a persona con una Lap-top y como Presentación Masiva con un cañón. todo a la vez. Beneficios De Una Presentación Multimedia Impacto, al incorporar imágenes, efectos de sonido, video y animación en tercera dimensión para crear presentaciones vivas y de extraordinaria calidad. Flexibilidad, ya que el material digital puede ser fácil y rápidamente actualizado y presentado a través de innumerables medios. Control por parte del emisor, al seleccionar la cantidad y tipo de información que desea entregar así como la forma de entregarla. Control por parte del receptor, al elegir la información que quiere recibir y en el momento en que desea recibirla. Credibilidad, al utilizar tecnología de punta que proyecta la imagen de su empresa hacia nuevas dimensiones de comunicación. Costo-Beneficio, al aprovechar todos sus materiales existentes e incorporarlos a la presentación multimedia; utilizando la misma para múltiples finalidades y a través de diversos medios; ahorrando recursos en materiales impresos difíciles de actualizar y presentándola en innumerables ocasiones sin ninguna restricción. El material existente puede ser utilizado para crear una presentación multimedia. Fotografías, transparencias, gráficas, textos, música, video en cinta de cualquier tipo, folletos, material promocional, ilustraciones, etc... aunque seguramente será necesario convertirlo al formato correcto para la multimedia. Beneficios En La Interactividad AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
23
Interactividad significa que el usuario tiene el control y puede accesar la información precisa que está buscando, adentrándose en los tópicos que le son de interés e ignorando aquellos que conoce bien. Haciéndolo a su propio ritmo y en el momento en que él lo decida. A diferencia de un video o una presentación convencional (diapositivas, láminas de computadora, acetatos, etc.) la interactividad permite participar activamente, estimulando la curiosidad del usuario y permitiendo que éste imponga su voluntad. Otros Beneficios Considerando los beneficios, Multimedia brinda una mejora significativa en la efectividad de la computación como herramienta de comunicación. La riqueza de los elementos audiovisuales, combinados con el poder del computador, añaden interés, realismo y utilidad al proceso de comunicación. Al tomar en cuenta los estudios que se han realizado sobre el grado de efectividad en el proceso de retención de información de acuerdo con determinados medios, se llega a la conclusión de que a la información que se adquiere tan solo por vía auditiva ( ej: radio ), se logra retener un 20%; la información que se adquiere vía audiovisual ( ej: TV ) se retiene un 40%; mientras que la información que se adquiere vía audiovisual y con la cual es posible interactuar ( como es el caso de Multimedia) se logra retener un 75%. Esto nos lleva a pensar que Multimedia es, por encima de cualquier otra cosa que se pueda decir sobre él "la herramienta de comunicación mas poderosa que existe", y es plenamente aplicable en cualquier campo, desde la educación hasta los negocios, dándoles a cada uno una serie de beneficios no alcanzables fácilmente por otros medios. En la educación, los beneficios muestran sus resultados en procesos educativos rápidos y efectivos, mientras que en el campo de los negocios y en especial en el área de comercialización de productos, los beneficios se ven en procesos de mercadeo más eficientes, donde el cliente potencial tiene acceso a una herramienta de información sobre los productos y el comercializador usa esta herramienta para realizar un mercadeo efectivo de éstos. Multimedia apoya la educación al facilitar la visualización de problemas o soluciones; incrementa la productividad al simplificar la comunicación, elimina los problemas de interpretación y estimula la creatividad e imaginación al involucrar a los sentidos. Permite mostrar impresionantes imágenes de gran colorido y excelente resolución, animación y vídeo real. Finalmente, Multimedia permite utilizar el texto para interactuar con los sistemas de información. Aplicaciones específicas que pueden tener una presentación multimedia Con la imaginación como única frontera, las aplicaciones de la multimedia son cuantiosas: CD-ROM interactivo Presentación corporativa Material promocional Páginas de Internet Cursos de capacitación (C.B.T.- ComputerBased Training) Presentación masiva Comunicación Interna y capacitación en Intranets Campañas de correo directo Catálogo de productos o servicios Lanzamiento de un nuevo producto Módulo de Información con touchscreen Herramienta de ventas Punto de venta electrónico Módulos de demostración de productos AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
24
Memoria de un evento Protectores de pantalla (screensavers) Indice Interactivo para respaldo de información en CD Manuales de usuario, de servicio o de referencia TUTORIALES Paquetes de entrenamiento para el staff o franquicias Reportes anuales o presentaciones de resultados Publicaciones digitales Módulos en stands para ferias y exposiciones Simuladores Visitas a lugares virtuales o remotos (Presencia Virtual) Realidad Virtual Juegos y paquetes de entretenimiento Programas educativos y de enseñanza Prototipos interactivos Recopilación de vida y obra Demostradores electrónicos para agencias automotrices Árboles genealógicos interactivos con imágenes, sonido y video Archivo muerto de imágenes, sonidos, videos Y tantas otras como la imaginación nos lo permita. Cuando se utiliza La necesidad de los usuarios de tener una mayor manipulación de los recursos que la computadora ofrece a través de estos medios, ha incrementado la aparición de aplicaciones multimedios(multimedia), que van desde sistemas operativos gráficos hasta navegadores de Internet, y aplica tanto a usuarios en su hogar como en empresas; esto hace ver que es muy necesaria la compartición de recursos. Esta nueva capacidad para tratar la información nos permite pensar en infinidad de aplicaciones, algunas de ellas permiten mejorar actividades ya conocidas, otras suponen nuevos servicios y están dando lugar a nuevos negocios. Multimedia es, en síntesis, un formato de comunicación que permite enviar e intercambiar contenidos y servicios a un usuario. Con esto se puede comprobar que la Multimedia se utiliza cuando surge la necesidad de un medio o nuevas aplicaciones interactivas con el cual se puedan aprovechar todos los recursos disponibles. Porque Multimedia El prefijo MULTI -del latinmultus- significa mucho y explica la idea de multiplicidad o de un número considerable de medios asociados o independientes Interactividad Denominamos interacción a la comunicación recíproca, a la acción y reacción. Una máquina que permite al usuario hacerle una pregunta o pedir un servicio es una "máquina interactiva". Un cajero automático es una típica máquina interactiva, responde a las preguntas, facilita datos o dinero, según la intención del cliente. La interacción, a nivel humano, es una de las características educativas básicas como construcción de sentido. La interacción como acceso a control de la información está muy potenciada con los sistemas Multimedia. Dependerá del contexto de utilización de los recursos multimediales en qué medida potencien también la interacción comunicativa. Ramificación Es la capacidad del sistema para responder a las preguntas del usuario encontrando los datos precisos entre una multiplicidad de datos disponibles. Es una metáfora, utilizada hace tiempo AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
25
por la enseñanza programada, inspirada en la forma en que crecen los árboles, con un tronco central del que nacen distintas ramas, que se van haciendo cada vez más estrechas a medida que se alejan del tronco. Gracias a la ramificación, cada alumno puede acceder a lo que le interesa, prescindiendo del resto de los datos que contenga el sistema, favoreciendo la personalización. Transparencia En cualquier presentación, la audiencia debe fijarse en el mensaje, más que en el medio empleado. En nuestro caso debemos insistir en que el usuario, el alumno, debe llegar al mensaje sin estar obstaculizado por la complejidad de la máquina. La tecnología debe ser tan transparente como sea posible, tiene que permitir la utilización de los sistemas de manera sencilla y rápida, sin que haga falta conocer cómo funciona el sistema. Navegación En los sistemas multimediales llamamos navegación a los mecanismos previstos por el sistema para acceder a la información contenida realizando diversos itinerarios a partir de múltiples puntos de acceso, y que dependen de la organización lógica del material elaborada en el diseño (secuencial, en red, en árbol de decisiones, etc), las conexiones previstas entre los nodos y la interfase diseñada para ser utilizada por el usuario. Los sistemas Multimedia nos permiten "navegar" sin extraviarnos por la inmensidad del océano de la información contemporánea, haciendo que la "travesía" sea grata y eficaz al mismo tiempo.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
26
TALLER DE SISTEMAS MULTIMEDIA
1.- REALIZA UN MAPA CONCEPTUAL DE LA IMPORTANCIA DE LA MULTIMEDIA 2.- DEFINE MULTIMEDIA, Y ESCRIBE 3 EJEMPLOS DE MULTIMEDIA DEL SECTOR DONDE VIVES 3.- LLENA LA SIGUIENTE MATRIZ PARA QUE SIRVE LA MULTIMEDIA CONTRUCCIÓN
ACTUALIZACIÓN
FLEXIBILIDAD
BENEFICIOS
BENEFICIOS EN LA INTERACTIVIDAD
4.- REALIZA UNA LISTA SOBRE OTROS BENEFICIOS DE LA MULTIMEDIA 5.- LLENE LA SIGUIENTE MATRIZ APLICACIONES ESPECIFICAS DE UNA PRESENTACIÓN MULTIMEDIA APLICACIONES EJEMPLO
6.- ESCRIBA UN EJEMPLO DONDE Y COMO SE PUEDE UTILIZAR LA MULTIMEDIA, EN EL COLEGIO DONDE SE PREPARA 7.- REALIZA UN MAPA CONCEPTUAL SOBRE LA INTERACTIVIDAD DE LA MULTIMEDIA 8.- REALIZA UN MAPA CONCEPTUAL SOBRE LA RAMIFICACIÓN DE LA MULTIMEDIA 9.- REALIZA UN MAPA CONCEPTUAL SOBRE LA TRANSPARENCIA DE LA MULTIMEDIA 10.- REALIZA UN MAPA CONCEPTUAL SOBRE LA NAVEGACIÓN DE LA MULTIMEDIA
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
27
EL SONIDO Fundamentos del sonido En este capítulo vamos a tratar de proporcionar unos conceptos rápidos pero esenciales que nos permitan entender la manera de tratar el sonido. Una vez aprendidos estos, nos será posible trabajar con el ordenador y el sonido con un cierto grado de confianza. La naturaleza del sonido El sonido es una vibración que se propaga a través del aire. Se aplican los mismos principios que cuando lanzamos una piedra a un estanque: la perturbación de la piedra provoca que el agua se agite en todas las direcciones hasta que su amplitudes tan pequeña que deja de percibirse. Frecuencia Al número de veces que esta vibración se produce por segundo es lo que se conoce como frecuencia. La frecuencia del sonido se mide en Hertzios (Hz). Una persona con los oídos saludables puede oír frecuencias comprendidas entre los 20 y los 20000 Hz. Cuando estas vibraciones del aire llegan a nuestros oídos, este las transforma en señales eléctricas que puedan ser entendidas por nuestro cerebro. Un micrófono actúa de manera similar transformando las vibraciones acústicas en eléctricas de manera que puedan guardarse, manipularse, y reproducirse. A esta señal se la denomina señal analógica. La forma de onda más sencilla es la denominada onda sinusoidal, que se caracteriza por tener una frecuencia y una amplitud constante. Este tipo de ondas son las que se utilizan normalmente para realizar los estudios ya que cualquier señal puede descomponerse mediante Transformadas de Fourier en series de estas. Amplitud La amplitud de una onda nos informa de la fuerza o energía de la señal. La unidad de medida de esta fuerza es el decibelio (dB). El oído necesita un porcentaje elevado de variaciones en la fuerza de un sonido para detectar un ligero cambio en la intensidad percibida, lo que nos indica que la sensibilidad del oído es logarítmica. Para hacernos una idea diremos que un incremento de solo 3 dB duplica la intensidad de un sonido, pero nosotros solo percibiremos un ligero incremento de este. Necesitaremos un aumento de 10 dB para que nuestros oídos perciban un sonido con el doble de intensidad. Ancho de Banda El ancho de banda de un sistema nos indica la diferencia entre la frecuencia máxima y mínima con la que el sistema puede trabajar. Antes dijimos que el oído humano puede percibir frecuencias comprendidas entre los 20 y los 20000 Hz, es decir, el ancho de banda de nuestro oído es de unos 20 KHz.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
28
Muestreo: Conversión analógica - digital ( ADC ) Este proceso convierte una señal analógica continua en series de datos tomando medidas instantáneas de la amplitud de la señal a una velocidad constante. Si estas medidas se toman a una frecuencia de muestreo alta, tendremos una aproximación bastante fiable de la señal original. Para entender mejor este concepto pensemos en el símil cinematográfico el cual toma 24 imágenes por segundo que son suficientes para simular un movimiento continuo de la escena. Evidentemente cuantas más muestras tomemos por segundo mejor reproduciremos la señal original. Los sistemas digitales utilizan como unidad de información el bit el cual solo tiene dos estados, 0 y 1. Evidentemente no podemos asociar todos los posibles valores de los datos con tan solo un bit, por este motivo se utilizan combinaciones de 8 bits ( byte ) a los que ya podremos asociar 256 valores, no obstante si se necesitara mayor resolución se utilizaran 16 bits ( word ) incrementando de esta manera el rango hasta 65536 valores. Conversión digital - analógica ( DAC ) Es el proceso que convierte los valores digitales discretos que representan al sonido en una señal analógica continua. Frecuencia de muestreo La frecuencia de muestreo debe de ser lo suficientemente alta como para que los sonidos de alta frecuencia puedan recogerse con precisión. Según el teorema de muestreo es posible reproducir con exactitud una forma de onda si la frecuencia de muestreo es como mínimo el doble de la frecuencia mayor a muestrear. La frecuencia más alta que percibe el oído humano es de 20 kHz, de modo que haciendo un muestreo a 44.1 kHz aseguramos una excelente reproducción del original. Se podría asumir que todo lo que hay que hacer por tanto para obtener buen sonido es grabar a velocidad límite de 44.1 kHz con muestras de 16 bits. El único problema que nos encontramos es la enorme cantidad de espacio en disco que se requiere para almacenar la información (1 minuto ocupa aproximadamente 10.5 Mbytes). Formatos de archivos de sonido El formato de datos mas utilizado para los archivos de sonido es el denominado Pulse CodeModulated( PCM, modulación en código de pulso ) de 8 bits. De esta forma se obtiene un byte por muestra de sonido. Los archivos estéreo contienen dos bytes, uno por muestra de cada canal, con lo que se obtiene mejor calidad a costa del limitado espacio en disco. Se han desarrollado muchos formatos de archivos comprimidos que permiten realizar grabaciones de alta calidad sin necesidad de tanto espacio, uno de ellos es el AdaptativeDifferential Pulse CodeModulated (ADPCM). La contrapartida es que una vez comprimido no se puede modificar.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
29
A continuación haremos referencia a los más utilizados por los distintos paquetes de software del mercado. Formato de archivo de sonido Microsoft Waveform (WAV) Microsoft adoptó este formato para emplearlo con las extensiones multimedia de Windows. Almacena muestras de audio digital de 8 y 16 bits, gestiona los datos en mono o en estéreo y admite tres frecuencias de muestreo: 11.025 kHz, 22.05 kHz, 44.1 kHz, comprimidos o sin comprimir. Formato de archivo de voz de Creative (VOC) Admite muestras de 8 y 16 bits, admite frecuencias de muestreo de 11.025 kHz, 22.05 kHz, y 44.1 kHz, y los datos pueden guardarse comprimidos o sin comprimir ( solo para SoundBlaster ). El formato de archivo VOC usa el concepto de bloques de silencio, es decir, un periodo extenso de silencio se reemplaza en el archivo de audio con una marca y un valor de su duración temporal, con lo que se consigue un pequeño ahorro de espacio en disco. Formato de Intercambio de Audio ( IIF ) Apple Macintosth utiliza el formato de intercambio de audio ( IIF ) para almacenar muestras de sonido digitalizado, admite varias frecuencias de muestreo y tamaños de muestra de hasta 32 bits por muestra. Las aplicaciones IBM PC normalmente no hacen uso de este formato. Sound( SND ) El formato de Archivo de Recursos de Sonido ( SND ) es un archivo compacto de solo 8 bits por muestra. Se utiliza normalmente para sonidos cortos como el sonido de la alarma del altavoz Que es el MIDI El MIDI es un estándar de comunicación adoptado por todos los fabricantes de instrumentos musicales, ordenadores y aparatos de audio/vídeo en general. Las siglas MIDI se corresponden con Musical Instruments Digital Interface. Los instrumentos musicales de hoy en día permiten transmitir al módulo de sonido el "gesto del músico ". Es decir, que nota ha sido tocada, con que duración, con que fuerza, tc... El MIDI, es por tanto, un protocolo de comunicaciones de datos capaz de permitir que un instrumento musical pueda controlar a otro. Las posibilidades del MIDI son ilimitadas, pero podemos resumirlas en:
Poder interconectar instrumentos MIDI diferentes (guitarras, teclados, etc...). Poder controlar todos ellos con un solo teclado u ordenador. Poder editar mediante un secuenciador una composición musical.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
30
Anteriormente se dijo que el MIDI permitía que un instrumento controlar a otro o incluso a varios, pues bien, el instrumento que se encarga de controlar recibe el nombre de Maestro. Por el contrario, el instrumento controlado recibe el nombre de Esclavo. PROPIEDADES Y CARACTERISTICAS DEL SONIDO
El término «sonido» tiene un doble sentido: por un lado se emplea en sentido subjetivo para designar la sensación que experimenta un observador cuando las terminaciones de su nervio auditivo reciben un estímulo, pero también se emplea en sentido objetivo para describir las ondas producidas por compresión del aire que pueden estimular el nervio auditivo de un observador. Acústica es la parte de la física y de la técnica que estudia el sonido en toda la amplitud, ocupándose así de su producción y propagación, de su registro y reproducción, de la naturaleza del proceso de audición, de los instrumentos y aparatos para la medida, y del proyecto de salas de audición que reúnan cualidades idóneas para una perfecta audición. Amplitud. La primera propiedad que una onda de sonido ha de tener es la amplitud. Subjetivamente, la intensidad de un sonido corresponde a nuestra percepción del mismo como más o menos fuerte. Cuando elevamos el volumen de la cadena de música o del televisor, lo que hacemos es aumentar la intensidad del sonido. La amplitud es la distancia por encima y por debajo de la línea central de la onda de sonido.
Frecuencia. La segunda propiedad es la frecuencia. Se mide en Hercios (Hertz, Hz) y nos permite saber a cuantos ciclos por segundo va esa onda. Un ciclo es cuando la onda sube hasta un punto máximo de amplitud, baja hasta atravesar la línea central y llega hasta el punto de amplitud máximo negativo y vuelve a subir hasta alcanzar la línea central. El tono o altura de un sonido depende de su frecuencia, es decir, del número de oscilaciones por segundo.
Timbre. El timbre es la cualidad del sonido que nos permite distinguir entre dos sonidos de la misma intensidad y altura. Podemos así distinguir si una nota ha sido tocada por una trompeta o por un violín. Esto se debe a que todo sonido musical es un sonido complejo que puede ser considerado como una superposición de sonidos simples.
Velocidad. Esta es la propiedad más simple y precisa del sonido. La velocidad del sonido en un medio puede medirse con gran precisión. Se comprueba que dicha velocidad es independiente de la frecuencia y la intensidad del sonido, dependiendo únicamente de la densidad y la elasticidad del medio. Así, es mayor en los sólidos que en los líquidos y en éstos mayor que en los gases. En el aire, y en condiciones normales, es de 330,7 m/s.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
31
Longitud de Onda. El sonido es un movimiento ondulatorio que se propaga a través de un medio elástico, por ejemplo el aire. Su origen es un movimiento vibratorio, tal como la vibración de una membrana, y cuando llega a nuestro oído hace que el tímpano adquiera un movimiento vibratorio similar al de la fuente de la que proviene. Una onda es una perturbación física que se propaga en un determinado medio. Dicha perturbación consiste en la variación local de una magnitud escalar o vectorial determinada. El conjunto de fenómenos físicos que constituyen movimientos ondulatorios es muy amplio, ya que, aparte del sonido, son ondas la luz, los movimientos sísmicos, las ondas hertzianas, etcétera. Los movimientos ondulatorios pueden ser transversales o longitudinales. En una onda transversal la perturbación es perpendicular a la dirección de propagación de la onda, mientras que en una onda longitudinal la perturbación tiene la misma dirección que la propagación. Son ondas transversales las que recorren una cuerda tensa cuando la pulsamos o las que se propagan por una alfombra cuando la sacudimos. Los puntos de la cuerda pulsada tienen un movimiento de vaivén pero no se desplazan. La onda transporta energía, no materia, y la perturbación que provoca en la cuerda es perpendicular a la dirección en que avanza el movimiento ondulatorio. La onda que se forma cuando arrojamos una piedra en un estanque es una onda superficial de tipo transversal: si observamos un corcho flotando en el agua vemos que, al llegar la onda hasta él, el corcho sube y baja sin moverse de sitio. PASOS PARA CREAR UN REPRODUCTOR DE VIDEO Y SONIDO 1.- Se ingresa a Visual Basic 6.0 y se escoge el formulario estandár. 2.- Click en Proyecto 3.- Clic en Componentes 4.- Buscar y marcar los componentes: WINDOWSMEDIAPLAYER y MICROSOFT COMMON DIALOg CONTROL 6.0. 5.- Clic en Aplicar y Aceptar
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
32
En esos iinstantes se deben aparecer dos herramientas adicionales en el Cuadro de Herramientas como estos:
Windos Media Player
Commondialog
6.- Se procede a Insertar el Windows Media Player y se lo ubica en el formulario(si se desea se lo expande por todo el formulario) 7.- Se inserta el CommonDialog y se lo ubica donde crea correspondiente 8.- Clic en EDITOR DE MENUS, un objeto igual a la imagen siguiente:
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
33
9.- Se muestra una ventana como la siguiente:
En ella se debe escribir los caption que se verán al momento de ejecutar el formulario. Ejemplo CAPTION: Archivo Name: Archivo (el mismo nombre para identificarlo), ACEPTAR Para insertar el segundo Caption, y como nuestro reproductor es sencillo porque tendrá 1 opcion dentro de la principal. Se debe de dar click en la flecha de la izquierda que indica que se tabulará 5 espacios hacia adentro. Y se procede a escribir el Caption y el Name. Si se desea Insertar más opciones se hace el mismo proceso, pero dependiendo si las opciones van afuera o dentro de las mismas. Y al culminar de ingresar se verá de la siguiente forma, y damos click.
10.- Damos clic en Archivo, luego en Abrir Y ESCRIBIMOS el siguiente código: Private Sub Abrir_Click()
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
34
CommonDialog1.ShowOpen WindowsMediaPlayer1.URL = CommonDialog1.FileName End Sub Donde: CommonDialog1la herramienta que insertamos y permite ver la ventana de dialogo para buscar un archivo de audio y video ShowOpen es una propiedad del CommonDialogog1 y permite utilizar la misma ventana para abrir un archivo en Windows. WindowsMediaPlayer1 es la herramienta que insertamos y permite reproducir todo tipo de video y audio. URLes una propiedad de windowsmediaplayer y permite buscar la dirección donde está guardado el archivo que se pretende reproducir FILENAMEes propiedad de CommonDialog y permite encontrar un archivo para reproducir. EXPLICACIÓN: CommonDialog1.ShowOpen ( Indica que se abrira la ventana de dialogo de windows para abrir un archivo) WindowsMediaPlayer1.URL = CommonDialog1.FileName (indica que el reproductor de Windowsmediaplayer reproducirá el archivo(de video) que el usuario encontró con le FILENAME. Cerramos la ventana de código y el formulario queda de la siguiente forma.
11.- Se procede a ejecutar el programa y observemos que ocurre.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
35
TALLER DE SONIDO
1.- REALIZAUN MAPA CONCEPTUAL SOBRE LA NATURALEZA DEL SONIDO 2.- REALIZAUN MAPA SERMANTICO SOBRE LA FRECUENCIA 3.- REALIZAUN MAPA CONCEPTUAL SOBRE LA AMPLITUD 4.- REALIZAUN MAPA SEMANTICO SOBRE EL ANCHO DE BANDA 5.- LLENE LA MATRIZ SOBRE LOS FORMATOS DE ARCHIVOS DE SONIDO FORMATO
ALMACENAMIENTO
6.- ESCRIBA LA DEFINICIÓN DE MIDI, RELACIONANDO CON EL ORDENADOR 7.- ANALICE, PORQUE SE DICE QUE EL SONIDO TIENE UN DOBLE SENTIDO 8.- LLENA LA MATRIZ SOBRE LAS PROPIEDADES DEL SONIDO PROPIEDADES DEL SONIDO AMPLITUD FRECUENCIA TIMBRE VELOCIDAD LONGUITUD DE ONDA
IDEAS PRINCIPALES
9.- REALIZA EL PROGRAMA DEL REPRODUCTOR DE WINDOWS Y PRESENTA TUS CONCLUSIONES(3) SOBRE EL MISMO DE FORMA INDIVIDUAL.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
36
Formatos de archivos gráficos Un formato gráfico define la manera en que se guarda una imagen y toda la información relacionada con la misma. Cada formato tiene sus ventajas e inconvenientes. Unos no admiten más de 256 colores, otros admiten una gran compresión... Veamos los más frecuentes: BMP: Es el formato nativo de Windows. Cualquier aplicación será capaz de reconocerlo Admite hasta 16,7 millones de colores pero el tamaño de los archivos que genera es enorme para casi cualquier uso. GIF: Formato muy utilizado en Internet gracias a su pequeño tamaño, su inconveniente es que admite tan sólo 256 colores. El formato 89a permite guardar archivos con opciones de transparencia. TIFF: Es el formato elegido para los trabajos de gran calidad de imprenta. Admite compresión sin pérdida de calidad (LZW) y e leído tanto por sistemas PC como Mac JPEG: Es el formato de compresión de imágenes más eficiente de la actualidad. Al guardar una imagen en este formato debemos de especificar la cantidad de compresión a emplear. Cuanto mayor sea esta mayor pérdida de información tendremos, pero los archivos serán menores. Incluso en relaciones de compresión bajas existe pérdida de calidad, aunque esta suele ser inapreciable en los monitores e impresoras actuales. PROGRAMA PARA MOVER UNA IMAGEN EN VB 6.0 1.- SE INSERTA UNA IMAGE(IMAGEN) EN EL FORMULARIO AL INICIO LADO IZQUIERDO EN RELACION A USTEDES.
2.- SE INSERTA 4 BOTONES COMANDO ADELANTE, ATRÁS, ABAJO, ARRIBA 3.- HAGA EL MISMO DISEÑO DE LA VENTANA EJEMPLO.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
37
4.- ESCRIBA EL SIGUIENTE CODIGO EN CADA UNO DE LOS BOTONES Private Sub Command1_Click() (ADELANTE) If Image2.Left <= 9.837 Then x = Image2.Left x = x + 0.5 Image2.Left = x Else Image2.Left = 0.059 End If End Sub
Private Sub Command2_Click() (ATRAS) x = Image2.Left x = x - 0.5 Image2.Left = x If x <= -0.889 Then Image2.Left = 9.837 End If End Sub
Private Sub Command3_Click() (ABAJO) x = Image2.Top x = x + 100 Image2.Top = x If x >= 10560 Then Image2.Top = -960 End If End Sub
Private Sub Command4_Click() (ARRIBA) x = Image2.Top x = x - 100 Image2.Top = x If Image2.Top <= -960 Then Image2.Top = 10560 End If End Sub PALABRAS CLAVES TOP= es el espacio que deja entre la imagen insertada y el formulario sea este abajo o arriba Left= es el espacio que deja entre la imagen insertada y el formulario sea esta izquierdo y derecho. Ojo= Los valores son las posiciones entre el objeto y el formulario estos valores pueden cambiar, verificar con la ventana de propiedades.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
38
HIPERTEXTO Del texto al hipertexto Desde la invención de la imprenta, el texto impreso en todas sus variantes (libros,folletos, revistas, periódicos, etc.) ha sido el vehículo de transmisión de información yde cultura, por excelencia. Ni siquiera los medios audiovisuales han logrado desbancarel poder de la letra impresa y conviven con ella con igual o desigual ventaja en segúnqué tipo de información se trate. Según datos del Instituto Nacional de Estadística,solamente en España la producción editorial en el año 2003 aumentó un 7,9% conrespecto al año 2002 y, aunque en el año 2004 hubo una disminución del 16% conrespecto al 2003, se produjo un aumento de la tirada media por título en un 6,5%(3.530 ejemplares). En 2005 volvió a aumentar la edición con respecto a 2004 en un5%: 63.551 títulos de libros y folletos y 281.005.000 ejemplares publicados sólo en España en 2005,demuestran que la letra impresa no ha muerto, a pesar del auge, evolución y presencia constante de los otrosmedios (televisión, cine, radio, etc.) y a pesar del avance exponencial de los soportes digitales. La denominación "sociedad de la información" tiene su razón de ser. Según un estudiorealizado por Peter Lyman y Hal R. Varian de la School of Information Management andSystems de la Universidad de California, Berkeley, la cantidad de nueva informaciónalmacenada en todo tipo de soportes como papel, película, soportes magnéticos yópticos se ha duplicado en los últimos tres años. Se calcula que en 2002, elvolumen de información recopilada en dichos soportes equivale a medio millón denuevas bibliotecas cada una con similar tamaño a la Biblioteca del Congreso deEstados Unidos. La información nueva almacenada en todo tipo de soportes alcanzólos 5 exabytes (5 millones de terabytes). El 92% de toda esa información se almacenóen medios magnéticos, principalmente discos duros. Mientras que el uso de papel como soporte de almacenamiento de información creció un 36%en los últimos tres años (y ello no sólo debido a la publicación de libros, folletos, periódicos yrevistas, sino en mayor medida debido al imparable uso y abuso de impresoras yfotocopiadoras que son las responsables de la mitad de todo el volumen de papel generado),el soporte magnético aumentó un espectacular 80% en ese mismo período.El medio de información que ha presentado una mayor crecimiento ha sido Internet. En elaño 2003, 600 millones de personas en todo el mundo tenían ya acceso a la red. En 2000, laUniversidad de Berkeley estimaba que entre 20 y 50 terabytes de información discurrían através de la World Wide Web, mientras que en 2003, se calcula esta cifra ascendía ya a 170terabytes, contando únicamente las páginas webs fijas. Este volumen es 17 veces el tamañode los fondos impresos de la Biblioteca del Congreso. (Para hacernos una idea aproximada de estas nuevasmedidas de información, un terabyte equivale a 1.000.000.000.000 bytes que traducidos a un soporte físicocomo es el papel se materializarían en la tala de 50.000 árboles. La Biblioteca del Congreso de Estados Unidosocuparía 10 terabytes). La aparición del hipertexto ha abierto la puerta a un debate renovado sobre los medios. La cuestión se suelecentrar en considerar al hipertexto como un nuevo medio en igualdad de condiciones que los mediostradicionales, sin embargo, el hipertexto no es un nuevo medio, sino una mejora tecnológica con respecto a losotros medios y prueba de ello es que el hipertexto, y más concretamente, la hipermedia, integra los mediostradicionales y supone una trasformación profunda de todos ellos y, en particular, del texto impreso,subsumiendo las ventajas de la tecnología de la imprenta y añadiendo nuevas funcionalidades a las que ofreceésta. En la siguiente tabla se resumen las diferencias principales entre texto e hipertexto en relación a distintos factores como son la estructura de la información, el tipo de soporte, los modos de lectura y otros aspectosrelacionados con el contenido, uso, etc. AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
39
Elementos de un Hipertexto.
El hipertexto no hubiera sido posible sin el desarrollo de la tecnología informática, no existe hipertexto sin latecnología digital y su tratamiento con ordenadores y a este fenómeno tecnológico se ha sumado el desarrollode las redes telemáticas. El aspecto tecnológico ha sido, pues, un factor decisivo para el desarrollo de estenuevo sistema de organización y acceso de la información. Pero cabría además preguntarse ¿existe algúnfactor de tipo conceptual que haya contribuido o haya hecho posible el surgimiento de este nuevo sistema? y ¿existe realmente lo que algunos autores han venido en denominar la nueva racionalidad del hipertexto? ¿QUÉ ES EL HIPERTEXTO? Lo primero es definir el término Hipertexto, así como otro muy similar: Hipermedia. Con respecto a Hipertexto podemos decir que resulta difícil definir en qué consiste y varios expertos en el tema tienen diferentes puntos de vista. La palabra Hipertexto [2] fue acuñada hacia 1965 por Theodore Holm Nelson (quién dio forma también a la palabra Hipermedia) y se gestó cuando estaba tomando un curso en computadores como parte de su maestría en Sociología en la Universidad de Harvard. Tuvo entonces la idea de diseñar un sistema para manejo de textos que permitiera a los escritores revisar, comparar y corregir su trabajo con facilidad. Él lo definió en su libro “Literary Machines” (Máquinas Literarias) como “lectura no secuencial” y así: “Hipertexto es la presentación de información como una Red de nodos enlazados a través de los cuales los lectores pueden navegar libremente en forma no lineal. Permite la coexistencia de varios autores, desliga las funciones de autor y lector, permite la ampliación de la información en forma casi ilimitada y crea múltiples rutas de lectura”. Los avances tecnológicos de las últimas décadas expandieron la noción de lo que es Hipertexto. La siguiente descripción refleja con claridad los alcances actuales de este término. Michael Bieber [3] define el Hipertexto como el concepto de Inter – relacionar (enlazar) piezas de información y utilizar esos enlaces para acceder a otras piezas de información relacionadas (un elemento de información o nodo puede ser desde una simple idea hasta la porción de un documento). El hipertexto es una colección o una Red de nodos que están Inter-relacionados o enlazados. Un sistema de Hipertexto le permite a un autor crear los nodos y los enlaces entre ellos, y permite al lector recorrerlos; esto es, navegar de un nodo a otro utilizando esos enlaces. Por lo general, el sistema de Hipertexto señala los puntos de enlace o indicadores de alguna
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
40
manera dentro del nodo, cuando se muestran en el monitor del computador. (eje: textos subrayados en los documentos de la Web que se ven en los navegadores). Cuando el usuario selecciona el enlace indicado o marcado, haciendo clic sobre éste con el ratón, el sistema de Hipertexto recorre, busca, y exhibe el nodo que está al otro extremo del enlace. Si un solo marcador representa múltiples enlaces, el sistema de Hipertexto le presenta al usuario una lista de enlaces disponibles (los diseñadores de sistemas deben priorizar, filtrar, o establecer niveles, si consideran que el número de enlaces puede rebasar al usuario). Los principios de diseño de interfaz de usuario de Hipertexto recomiendan que cuando el propósito o destino del enlace no sea claro, el autor le ponga a éste un título. El sistema de Hipertexto incluye muchas características de navegación, anotación y configuración, que se apoyan en la estructura de los nodos y los enlaces para ayudar a los autores y a los lectores. Muchas personas consideran que los términos Hipertexto e Hipermedia son sinónimos. En general, el Hipertexto se refiere a elementos de texto relacionados, mientras que Hipermedia; que es un acrónimo que combina las palabras Hipertexto y Multimedia; incluye relaciones entre elementos de cualquier tipo de medio (texto, imágenes, sonidos, animaciones, videos, etc.). Los conceptos son idénticos, pero el Hipertexto es más difícil de implementar en un medio no textual. Entre las características más importantes del hipertexto tenemos las siguientes:
No es lineal. A través de enlaces de navegación, los lectores pueden “saltar” por el documento como lo deseen. En efecto, ningún orden determina la secuencia de la información que se va a leer. El hipertexto da mayor control a los lectores de los documentos en línea, que el que pueden tener en un documento impreso. Según Jacob Nielsen, “un verdadero hipertexto debe... hacer sentir a los usuarios que pueden moverse libremente a través de la información, de acuerdo a sus propias necesidades”. Es eminentemente interactivo. Permite a cada usuario seleccionar los temas que sean de su interés o que le parezcan más importantes. Es bueno recordar aquí, que el usuario debe entender las ventajas y desventajas de tener control absoluto de la dirección que tome al escoger los enlaces y estar en capacidad de establecer diferencias y prioridades entre enlaces. Permite al autor ofrecer un contexto rico en información relacionada en torno a sus ideas principales. Los textos escritos constriñen a los autores a seguir en su escritura un formato lineal. El Hipertexto libera a autores y lectores de esta forma de expresión. Los autores pueden estructurar sus textos como una Red de información con enlaces interrelacionados y resaltar la(s) idea(s) principal(es) con ellos. Permite al usuario leer, co-escribir y comprender información más efectivamente. El presentar la información en forma de Red permite a los lectores acceder a ésta de la manera que consideren más apropiada para el cumplimiento de sus objetivos. Además, la libertad de acceso a esa Red enriquecida con información relacionada ofrece un medio fecundo para entenderla. Algunos piensan incluso que mejora la comprensión ya que se imita la Red de asociaciones que la gente usa cognitivamente para guardar y recuperar información. Si no está bien estructurado o si el usuario no ha desarrollado las competencias adecuadas, se puede desorientar fácilmente. En los documentos con hipertexto a menudo se pierde el contexto. Los lectores pueden desorientarse y perder la pista de su posición dentro del documento. Para Reducir la probabilidad de desorientación del
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
41
lector, proporcione señales contextuales que le ayuden a navegar fácilmente el documento. Por ejemplo, escribiendo un texto eficaz para un enlace, usted puede ayudar a los lectores a entender hacia donde dirige el enlace sin necesidad de hacer clic sobre él. Permite seleccionar los temas de interés. El hipertexto no debe utilizarse para fraccionar textos lineales extensos en varias páginas. El mejor uso del hipertexto consiste en permitirle al lector seleccionar los temas de su interés y descargar solamente esas páginas. La estructura del hipertexto debe basarse en un análisis de la audiencia.
USOS DEL HIPERTEXTO Según Jacob Nielsen, el hipertexto no es apropiado para todos los usos, y ofrece tres reglas de oro para ayudar a determinar cuando es conveniente usarlo. Se enuncian a continuación: Cuándo existe un gran cuerpo de información organizado en muchos fragmentos. Cuándo estos fragmentos se relacionan unos con otros. Cuándo en cualquier momento, los lectores necesitan solamente una pequeña fracción de esta información. Las siguientes son aplicaciones ideales del hipertexto:
Material de referencia general o especializado. Por ejemplo, las instrucciones de los computadores funcionan muy bien en línea. Los usuarios de éstos no quieren leerse todo un manual, necesitan la información contenida en las partes relevantes o en las secciones que vayan necesitando. Lo normal es que acudan a documentos en línea para obtener respuestas rápidas a sus preguntas. Cualquier material que pueda dividirse en segmentos (contenidos) cortos y autónomos. La mayoría de los lectores acuden a la Red con un propósito determinado y buscan información específica. Al fraccionar el material en contenidos más pequeños y etiquetarlos con títulos y subtítulos precisos, usted ayudará a los lectores en línea que tienden a barrer el texto con la mirada en busca de esa información. Por ejemplo, el artículo de un periódico o de una revista en línea, puede tener los detalles esenciales de un acontecimiento en el texto de introducción. Los enlaces que en éste se encuentren pueden conducir a detalles suplementarios o a información de fondo, si los lectores deseen saber más. Los títulos deben ser exactos e identificar claramente el contenido al cual conduce cada enlace.
Nota: El que un documento sea apropiado para este medio no garantiza que será eficaz. Los autores necesitan todavía considerar cómo lograr que un documento sea útil para sus lectores. LA EFICACIA DEL HIPERTEXTO Según AlyssonTroffer, una forma para determinar la eficacia del hipertexto consiste en evaluar, con lectores reales, su usabilidad .Jacob Nielsen por otro lado, propone cinco parámetros de usabilidad del hipertexto que los autores deben considerar. Un hipertexto eficaz es:
Fácil de aprender. Cuando un hipertexto se comprende fácilmente, los lectores captan con rapidez cómo se navega (sus opciones de navegación) y cuáles son los otros comandos básicos para localizar la información. Además entienden la estructura básica
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
42
de la Red de contenidos y de enlaces. Cada contenido en la Red debe tener información fácil de leer. Eficiente de usar. Cuando un hipertexto se puede usar con eficiencia, los usuarios encuentran la información rápidamente, o al menos descubren muy pronto que lo que buscan no esta en esa Red. Además, al llegar a un contenido, pueden orientarse rápidamente y entender su significado en relación con su punto de partida. Fácil de recordar. Si un hipertexto se recuerda con facilidad, los usuarios pueden regresar al tiempo y todavía recordar su estructura general. Esto es, encontrar la ruta que recorrieron por la Red, reconocerán además contenidos marcados y convenciones especiales usadas para éstos, así como sus enlaces. Prácticamente libre de errores. Cuando los lectores encuentran pocos errores con un hipertexto, rara vez siguen un enlace que los conduzca a donde no quieren ir. Incluso, si erróneamente siguen un enlace, pueden regresar fácilmente a su localización anterior, como también volver fácilmente a cualquier lugar anterior si piensan que se han alejado mucho del objetivo. Amigable. Cuando un hipertexto es amigable, los lectores utilizan la Red con agrado. Raramente se sienten frustrados o decepcionados al seguir los enlaces. Por otra parte, en lugar de sentirse coaccionados, sienten que ejercen el control y que pueden navegar libremente por la Red.
¿POR QUÉ CREAR ENLACES? “Los enlaces o vínculos son parte muy importante del hipertexto ya que permiten navegar un documento y pasar de un contenido relacionado a otro con un simple clic del ratón. Los enlaces son una de las grandes ventajas de la lectura en línea pues permiten al lector decidir que ruta seguirá a través de la información. En los documentos en línea se pueden encontrar dos tipos de enlaces: De Navegación. Son los que conectan los contenidos de una Red de hipertexto y sirven como espina dorsal de la interfaz entre el lector y el computador. Permiten al usuario encontrar un camino entre los diferentes tópicos. Ejemplos típicos de lo anterior son los botones de las páginas de inicio y los enlaces o vínculos con las páginas subordinadas a la página que se está consultando. De Asociación. Estos enlaces pretenden enriquecer el contenido del documento. En general apuntan a tópicos que tienen diferentes grados de relevancia con el contenido original. Los tópicos enlazados pueden ofrecer un tema paralelo, digresivo pero aún relacionado, o material sin relación aparente. Utilice enlaces asociativos para:
Aportar referencias cruzadas a material relacionado. Proveer información básica detallada. Argumentar sobre un tema sustentándolo en detalle o con la definición de los términos. Proponer analogías que clarifiquen las relaciones entre piezas disímiles de información. Ofrecer reflexiones perspicaces, instructivas o irónicas. Ofrecer notas de pie de página o referencias. Permitir acceso a otros sitios Web mediante un simple clic.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
43
ESTRATEGIAS GENERALES PARA CREAR ENLACES
Para organizar el material, utilice una tabla con los contenidos enlazados. Esta le permitirá clarificar las relaciones internas entre los contenidos. Ofrezca contenido sustancial, no una simple lista de enlaces a otras páginas. Los enlaces deben reforzar el mensaje, no reemplazarlo. Siempre que sea posible, utilice listas de enlaces en lugar de enlaces que estén metidos dentro del texto. Ubique los enlaces externos en una sección que este por fuera del texto principal. Cuando el enlace sea externo, permita que este se abra en otra ventana del navegador. Para el texto de los enlaces elija palabras o frases significativas con el fin de disminuir el riesgo de que el lector se desoriente cuando se mueve a través de ellos. Genere únicamente los enlaces que sean necesarios y relevantes o cumplan una función específica para lograr el (los) objetivo(s) que busca o propone el documento.
SUGERENCIAS PARA ESCRIBIR EL TEXTO DE UN ENLACE Las siguientes sugerencias le ayudarán a asegurar que los lectores permanezcan completamente orientados y en control mientras navegan un documento (o se desplazan a otros): Escriba sobre el tema como si no hubiera enlaces en el texto. Escríbalo para que cumpla el objetivo que con él se ha propuesto sin que tenga enlaces. Cuide la redacción de su texto en línea para que no se lea como si estuviera entrecortado. No se refiera a los mecanismos de Internet para navegar como "Clic aquí para ver el documento escrito por Pedro Pérez sobre el renacimiento". En cambio utilice "Pedro Pérez publicó recientemente un documento sobre el Renacimiento". Escoja palabras o frases significativas para el texto de su enlace y para el que lo rodea con el objeto de que solo con dar una mirada rápida al texto, el lector pueda establecer con alguna certeza hacia donde se dirige. Subraye las palabras claves para que sirvan como texto del enlace. Establezca la longitud apropiada para el texto del enlace. Una oración completa es demasiado larga y difícil de leer y una palabra puede ser muy corta. Entre una y tres palabras es lo que regularmente funciona mejor siempre y cuando estas expresen con claridad el contenido. Tenga en cuenta que el texto subrayado es difícil de leer en la pantalla. Advierta a los lectores cuando un enlace pueda llevarlos a una situación que ellos no esperan. Por ejemplo, cuando el enlace es externo y los saca de la página o cuando los dirige a un archivo muy grande (generalmente en PDF, DOC o XLS). No repita el enlace cada vez que el texto de ese enlace aparezca dentro del documento. Si la página es corta, no establezca enlaces a otras partes de esa misma página (generalmente llamados marcadores). Los lectores esperan que los enlaces los lleve a otras páginas o a páginas externas. No cambie el color que automáticamente ofrece el navegador al usuario para los enlaces. Esto evitará que el usuario se confunda entre los sitios que ya ha visitado y los que no. Compruebe el funcionamiento de todos los enlaces. Resulta bastante desagradable dirigirse a un enlace y encontrar que este no funciona. Existen programas que automáticamente revisan el funcionamiento adecuado de los enlaces.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
44
ESCRIBIR PARA MEDIOS EN LÍNEA Diversos estudios aseguran que los lectores tienden a ojear rápidamente las páginas en línea en lugar de leer todas las palabras como lo hacen en los medios impresos. Por este motivo es necesario adaptar la escritura de textos a este nuevo estilo de lectura. Aunque maestros y estudiantes no deben perder de vista que lo más importante de un texto es su contenido, independientemente del medio en el cual se publica, si la publicación es en línea y en ella se usa el hipertexto se deben tener presentes desde el inicio, las características de este nuevo medio. Hay investigaciones que aseguran que el hipertexto reconfigura la construcción de los textos, la lectura y la escritura. Que los lectores son quienes configuran el texto dependiendo del orden en que accedan a los enlaces que éste contiene (lectura no lineal). La mayoría de los lectores no empiezan a leer inmediatamente los textos que localizan en Internet, aun cuando en general el contenido sea de su interés. Antes de leerlo completamente, lo ojean, leen los títulos y epígrafes, miran las figuras, gráficos e imágenes, quizás lean algún párrafo en el que se encuentre enfatizado algún término de su interés, y sólo después de esto, empezará a leerlo. Es más, una vez que empiezan a leer el artículo (no necesariamente desde la primera línea), es muy probable que lo abandonen haciendo clic sobre algún enlace incluido dentro del texto. La causa de este comportamiento es sencilla: a los lectores no les gusta leer en una pantalla, e intentarán por todos los medios extraer de los textos en línea, con el menor esfuerzo posible, la información que necesitan o que les interesa. Para componer un hipertexto efectivo, considere las siguientes directrices en el estilo de escritura y recuerde el comportamiento del lector: FRACCIONE EL TEXTO Así los lectores no verán un bloque sólido de texto. Esta práctica mejora la lectura en pantalla y da descanso a los ojos. Además, ayuda a los usuarios a recuperar y procesar la información más rápidamente y a retenerla por más tiempo. Antes de comenzar haga un esquema de los contenidos a los que se va a referir. Estructure el texto mediante resúmenes y tablas de contenidos. El texto se debe fraccionar en contenidos cortos y autónomos. Reconozca que fraccionar requiere un claro direccionamiento y buen juicio Escriba, edite y revise los contenidos en orden aleatorio, para asegurar que leídos en cualquier orden, se entienden. La división debe permitir al lector seleccionar los temas de su interés y poder descargar solamente éstos. Titule las fracciones para identificar claramente su contenido. Los títulos y subtítulos deben ser claros, simples y concisos Repita la información general necesaria para contrarrestar la perdida de contexto. Organice el texto con palabras resaltadas, listas numeradas, líneas separadoras, etc. Utilice listas con viñetas romper la monotonía de bloques de texto uniformes. CONSERVE LOS PÁRRAFOS CORTOS
Limítese en lo posible a una idea principal por párrafo. Siempre que sea posible, incluya tres oraciones o menos en cada párrafo. Fraccione los párrafos largos en otros más cortos. Elimine material innecesario escriba en forma sencilla y concret
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
45
Utilice referencias cruzadas en lugar de incluirlas en el texto principal. Suministre enlaces por ejemplo a: términos nuevos, conceptos, contenidos secundarios, definiciones y cualquier otro material adicional.
ESCRIBA EN FORMA SIMPLE Y DIRECTA
Prefiera las oraciones simples, declarativas e imperativas. Utilice una estructura de oración afirmativa. Especifique que es cierto y no lo que es falso. Siempre que pueda utilice la voz activa. Elija verbos fuertes, con significado directo y claro. Sea conciso. Utilice puntuación simple. Evite el punto y coma. Exprese las ideas con precisión y use solamente la cantidad de palabras que realmente necesite para hacerlo. Utilice palabras concretas, especificas. Evite palabras abstractas. Utilice el estilo de Redacción de pirámide invertida (comenzando por la conclusión y finalizando con los detalles).
Así, quienes desean profundizaren el tema, pueden continuar leyendo sin perjuicio de quienes buscan rápidamente la información más relevante. VENTAJAS Y DESVENTAJAS DEL HIPERTEXTO Ventajas: 1. Fácil localización de referencias. Al ser el hipertexto un medio capaz de organizar textos de modo que estos datos admiten una lectura no-lineal, a diferencia de la lectura secuencial que se acostumbra emplear cuando se lee un texto impreso, el usuario tiene total libertad para buscar las referencias deseadas. 2. Fácil inclusión de nuevas referencias. 3. La información puede ser estructurada jerárquicamente. Un hipertexto es una base de datos organizada como una red en la cual cada uno es una porción de texto unida a otros textos mediante punteros. Los documentos se unen entre sí siguiendo una estructura jerárquica o en red, de modo que un hiperdocumento puede leerse varias de diversas maneras. 4. La función BROWSER permite una visión global de la información. 5. La información es modular: es decir, se puede acceder a ella desde distintos puntos. 6. Es posible almacenar y manejar grandes cantidades de información. Además, los documentos que forman parte de un hipertexto no tienen necesariamente que estar formados solamente por textos. Pueden ser fotografías, gráficos, secuencias animadas, sonidos, etc., en tales casos, se puede hablar de hipermedia. 7. Los hipertextos se pueden utilizar también como entornos de programación y en aplicaciones de enseñanza y formación asistida por ordenador. Desventajas: El hipertexto plantea algunos problemas específicos, que derivan de su propia naturaleza y de su capacidad de tratamiento de la información a gran escala. De su correcta solución depende nada
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
46
menos que el propio éxito del hipertexto. (Conklin, 1988) considera especialmente dos problemas: 1. La desorientación del usuario: Esta desorientación se produce por la misma facilidad con que en los sistemas de hipertexto podemos “navegar” por entre los nodos de información con la libertad, de manera que es posible seguir varias líneas de interés a la vez. En un momento dado el usuario puede tener dificultades en reconocer el significado y la situación del punto en el que se encuentra. Esta situación se denomina “perdida en el hiper - espacio”. La solución a este problema puede buscarse arbitrando técnicas de “orientación”, como la propia función BROWSER: sistema gráfico de representación de los nodos de información y de las ligaduras que los relacionan, mediante mapas conceptuales o de información. 2. El desbordamiento cognoscitivo: Este se presenta por la dificultad del usuario en adaptarse a la sobrecarga mental derivada del gran número de operaciones o de simples consultas de partes de informaciones diversas y contextualmente heterogéneas posibles en un corto período de tiempo. COMPONENTES DE UN SISTEMA DE HIPERTEXTO Para que sea posible una exisrtencia real de los conceptod de hipertexto deben utilizarse aplicaciones que sean capaces de crear vínculos y asociaciones entre los documentos. Las aplicaciones ofrecen unos elementos particulares que facilitan la creación y navegación por las estructuras hipertextuales. 1.- Un conjunto de ficheros que contienen los documentosrelacionados 2.- Ventanas de presentación de los documentos, las cuales son modificados en tamaño y posición 3.- Dispositivos señaladores, que facilitan la selección y el acceso a los documentos mostrados en las ventanas 4.- Punteros o enlaces, que generalmente utilizan una representacióngráfica distinta a la del resto del material informativo, en forma de color, iconos, botones 5.- Herramientas de creación de enlaces y anotación de la navegación, lo que da al usuario la posibilidad de crear sus propias asociaciones y documentos. TIPOS DE SISTEMAS DE HIPERDOCUMENTOS Las aplicaciones de los sistemas hipermedia pueden ser múltiples, y sólo se encuentran limitadas por la capacidad de la aplicación o herramienta elegida, y por los criterios fijadas por los creadores y usuarios. Se han establecido algunas grandes categorías que engloban las posibles clases de sistemas. 1.- Macroliterarios: Trabajos y artículos relacionados con bibliografías, críticas y comentario 2.- Colecciones de documentos: información organizada sobre un tema, de gran tamaño. 3.- Herramientas de exploración de problemas: organizar materias e ideas desconectadas para estructurar una idea general. 4.- Conjunto interrelacionados de información: informaciones diversas que son ùtiles si se asocian 5.- Documentos largos y complejos: manuales, regulaciones 6.- Documentos inteligentes: Combinado con inteligencia artificial mediante sistemas expertos.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
47
ESTRUCTURA DE HIPERTEXTO Hipertexto de nodos encadenados
La forma más simple del hipertexto es la unión entre nodos, también llamado hipertexto de nodos encadenados. Este tipo de hipertexto funciona como un glosario de acceso aleatorio que posibilita el acceso directo a cualquier nodo en el hipertexto. En el diseño del hipertexto se pueden limitar las conexiones posibles para ayudar al usuario a prevenir el azar. Hipertexto estructurado
En un hipertexto estructurado tenemos un conjunto de nodos donde no todos ellos están relacionados, así, un nodo puede o no tener acceso a otro u otros nodos. El conjunto de nodos o bloques de información pueden ser estructurados en muy diversas formas, dependiendo del modo en que el diseñador del hipertexto permita la exploración al usuario. Cada hipertexto debe aportar un conjunto de herramientas de búsqueda para acceder a los nodos, que sean acordes con la secuencia de la estructura de nodos. Por ejemplo, los usuarios pueden acceder a un concepto que tiene opciones estructuradas, o ver la definición de un término, una ilustración de éste, o mirar algunos ejemplos.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
48
Hipertexto jerarquizado
Un hipertexto jerarquizado posee un diseño más estructurado que el anterior. La diferencia radica en los grados de la estructura. La disposición de los nodos en el hipertexto jerárquico ofrece conceptos más detallados e incluidos bajo conceptos más generales, esto es, los conceptos más generales se desglosan en conceptos más detallados que son relacionados con eventos u objetos individuales. En este tipo de hipertexto a los usuarios se les permite moverse hacia abajo en la jerarquía para explorar los nodos subordinados del nodo principal. Se pueden mover hacia los lados solamente para buscar términos relativos o sinónimos. Tal restricción permite asegurar que los usuarios recorran completamente las relaciones jerárquicas.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
49
TALLER DE HIPERTEXTO 1.- ESCRIBA UNA REFLEXIÓN DE LA LECTURA “DEL TEXTO AL HIPERTEXTO”, NO MÀS DE 8 LINEAS 2.- DIBUJE LA TABLA DE LOS ELEMENTOS DE UN HIPERTEXTO 3.- ESCRIBA LA DEFINICIÓN DE HIPERTEXTO 4.- LLENE LA SIGUIENTE MATRIZ SOBRE LAS CARACTERISTICAS DEL HIPERTEXTO CARACTERISTICAS DEL HIPERTEXTO CARACTERISTICAS ¿COMO SE REALIZA? NO ES LINEAL ES EMINENTEMENTE INTERACTIVO IDEAS PRINCIPALES LEER, CO-ESCRIBIR Y COMPRENDER INFORMACION SE PUEEDE DESORIENTAR FACILMENTE SELECCIONA TEMAS DE INTERES 5.- ESCRIBA LOS USOS DEL HIPERTEXTO 6.- ESCRIBA LAS APLICACIONES IDEALES DEL HIPERTEXTO 7.- LLENE LA SIGUIENTE MATRIZ SOBRE LOS PARAMETROS DEL HIPERTEXTO PARAMETROS DE HIPERTEXTO PARAMETROS ¿Por qué? FACIL DE APRENDER EFICIENTE DE USAR FACIL DE RECORDAR LIBRE DE ERRORES AMIGABLE 8.- ¿Por qué?, DEBEN DE CREARSE LOS ENLACES 9.- REALICE UN MAPA SEMANTICO DE ENLACE DE NAVEGACION 10.- REALICE UNA MAPA CONCEPTUAL DE ENLACE DE ASOCIACIÓN 11.- ESCRIBA 5 ESTRATEGIAS GENERALES PARA CREAR ENLACES 12.- ESCRIBA 5 SUGERENCIAS PARA ESRIBIR EL TEXTO DE UN ENLACE 13.- REALICE UN MAMA MENTAL DE MEDIOS EN LINEA 14.- REALICE UNA MATRIZ SOBRE LAS VENTAJAS Y DESVENTAJAS DEL HIPERTEXTO 15.- ESCRIBA LOS COMPONENES DE UN SISTEMA DE HIPERTEXTO 16.- LLENE LA MATRIS DE TIPOS DE SISTEMAS DE HIPERDOCUMENTOS TIPOS ¿Cómo? 17.- DIBUJE LAS ESTRUCTURAS DE HIPERTEXTO 18.- REALICE UN MAPA CONCEPTUAL DE ESTRUCTURA DE NODOS ENCADENADOS 19.- REALICE UN MAPA CONCEPTUAL DE ESTRUCTURA ESTRUCTURADO 20.- REALICE UNA MAPA CONCEPTUAL DE ESTRUCTURA JERARQUIZADO
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
50
SISTEMA AUTOR MULTIMEDIA Los «sistemas de autor» son un tipo de programas informáticos que facilitan la creación de productos multimedia a usuarios sin conocimientos de programación. Se explican sus características principales y formas de funcionamiento y se analizan algunos de los principales productos disponibles en mercado. Por último, se proponen actuaciones concretas para la incorporación de sencillas aplicaciones multimedia a la práctica educativa. ¿QUÉ ES UN SISTEMA DE AUTOR? Un sistema de autor es un programa de ordenador diseñado para facilitar la creación de material educativo multimedia a profesores no especializados en informática (digamos “noprogramadores”). En cierta manera, evita la complejidad de la programación tradicional y permite la creación de “lecciones electrónicas” a cualquier instructor interesado y que esté dispuesto a dedicar unas cuantas horas a actualizar sus conocimientos y herramientas didácticas. Hasta ahora, algunos profesores, pese a manejar con asiduidad herramientas informáticas: correo electrónico, bases de datos y hojas de cálcu-lo, tratamiento de textos, etc., consideraban (y no sin cierta razón) que la creación de su propio material educativo multimedia escapaba de su capacidad por falta de formación en programación de aplicaciones, principalmente, y por tratarse de un proceso complejo que conlíeva altos costes económicos y largos tiempos de desarrollo, y, en la práctica, de difícil accesibilidad para muchas instituciones educativas. Y ésta es la situación que la aparición de estos sistemas llamados de autor intenta corregir. Las principales ventajas de estos sistemas de última generación son tres: reducen el tiempo de desarrollo de aplicaciones hasta 1/8 del tiempo requerido con las formas de trabajo anteriores; en segundo lugar, resultan más fáciles y rápidos de aprender que lenguajes de programación tradicionales y por último, -al ser diseñados para un propósito específico, muchas de las necesidades más habituales de los creadores de software educativo han sido previstas de antemano y son fáciles de implantar Además, muchos de los programas de autor disponibles en el mercado actualmente son multiplataforma, esto es, son capaces de funcionar con distintos tipos de sistemas operativos y ordenadores, lo que facilita su utilización en, prácticamente, todas las circunstancias. ¿CÓMO FUNCIONAN LOS SA? Estos programas están formados por distintos elementos (valga decir subsistemas), cada uno de ellos responsable de determinadas tareas. El número y características de estos elementos varían según el programa en concreto, aunque la mayoría de estos sistemas proporcionan varias de las siguientes prestaciones: • Procesadores de texto, que permiten escribir tanto el contenido (los datos e informaciones) como la programación (instrucciones de funcionamiento) de las aplicaciones. • Gestores de base de datos: herramienta para organizar la información y permitir su posterior consulta y utilización • Programas de edición de video, hacen posible la digitalización de imágenes y su edición (“montaje”), incluyendo la aplicación de efectos de vídeo (“postproducción”) • Programas de edición y generación de sonido Programas de gráficos dibujo para imagen fija. Ilustración (3D): modelado y “renderizado” de objetos • Programas de animación
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
51
Sin embargo, pese a estas características comunes hay muy distintos tipos de sistemas de autor Hay que decir también que bajo esta denominación común se engloban en el mercado aplicaciones muy distintas, que van, según algunos criterios, desde los Lenguaje de Programación de 3? generación, los Lenguajes de Programación visual (tipo Visual Basic) a los editores html y editores de texto ampliados. Para establecer unatipología o clasificación se emplean habitualmente varios criterios: uno de los más habituales es la «necesidad o no de conocer las técnicas de programación», cuanto más fácil resulta parael usuario inexperto más se suele alejar de las formas de trabajo de la programación tradicional, y suele, por el contrario, presentar mayores limitaciones en la programación de interacciones. El segundo criterio clasificatorio que se suele aplicar hace referencia a la posibilidad o no del sistema para funcionar en entornos diversos, es decir, si se trata de una aplicación «multiplataforma o monoplataforma». Como se ha indicado antes, muchos de estos programas son capaces de funcionar en distintos entornos y esto resulta lo más adecuado en la mayoría de los proyectos y, por tanto, debe tenerse en cuenta a la hora de elegir uno de estos programas como herramienta de trabajo. Conviene recordar aquí que una de las principales dificultades que ofrecían los primeros productos multimedia era su bajo grado de transportabilidad y la incompatibilidad entre distintos productos. El tercer criterio clasificatorio se refiere al «paradigma o metáfora de autor» y resulta, a nuestro juicio, el más adecuado para una mejor comprensión de los sistemas de autor. ¿QUÉ ES EL “PARADIGMA O METÁFORA DE AUTOR”? Se conocepor esta expresión técnica, a la metodología por la cual el sistema de autor lleva cabo sus funciones y tareas. Para entendernos, puede ser útil un ejemplo muy conocido: el sistema Windows, funciona sobre la metáfora principal de un «Escritorio» sobre el cual situamos las distintas carpetas y documentos con que trabajamos y que podemos abrir, modificar, guardar etc. y en cierta manera, no relacionamos con el programa aceptando de antemano esta convención. Entre los sistemas de autor hay muchos “paradigmas” plasmados en la práctica en programas concretos, a continuación vemos sólo los principales: • Paradigma de escritura (“scripting”),el método de autor más próximo a la forma de la programación tradicional. Como en un lenguaje convencional, se especifican todos y cada uno de los elementos multimedia (por nombre de fichero), las secuencias, sincronización, etc. Generalmente, un lenguaje orientado a objeto es el centro del sistema. Su principal inconveniente es que exigen un largo tiempo de desarrollo, pero, y ésta es su mayor ventaja, alcanzan el máximo grado de interactividad posible. • Sistemas de autor basados en fichas (“card-based”) Los SA basados en la ficha están muy extendidos, y esto es debido a ser uno de los primeros sistemas en aparecer en el mercado, de la mano de Apple Macintosh, y el instrumento con el que se han construido muchas de las aplicaciones más importantes.. Con este tipo de herramienta, los programas se construyen a partir de unidades básicas llamadas «fichas». Se dibujan con un editor gráfico y tienen varias propiedades asociados a ellas. La “pila” (stack) o conjunto de fichas relacionadas puede examinarse (“navegarse”) de varias maneras: secuencialmente, es decir, por página tras página, por búsqueda de términos (al modo de las bases de datos habituales) o por medio de enlaces hipertexto embebidos (asociación entre fichas relacionadas). • Paradigma de control de flujo/icónico (iconic/flow control) Con un SA de este tipo, el programador o diseñador dibuja un diagrama de flujo con la secuencia de acciones deseada, mediante el uso de iconos. (Son, esencialmente, lenguajes intérpretes simbólicos de muy alto nivel) Se basan en una Paleta de Iconos, que contiene las AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
52
posibles funciones/interacciones de un programa, y la Línea de Flujo, que muestra el enlace o secuencia entre iconos. Funcionalmente son muy sofisticados, para permitir la interacción con el usuario, el sonido y la animación Son la solución más adecuada para el desarrollo rápido de “prototipos” o proyectos que requieran cortos tiempos de desarrollo. Los ejemplos más destacados son: Authorware e Icon Author. Procesadores hipertexto (“hyper-wordprocessors”) Se inspiran en el modelo del procesador de texto y le añaden una funcionalidad hipertexto. Programar con ellos implica, generalmente, gráficos y texto formateado, pero también añaden herramientas de navegación y enlaces para crear una red de información. Un ejemplo destacado de este enfoque es el programa Cuide, muy extendido en los ámbitos académicos ingleses. ¿PoR QUÉO PARA QUÉ NECESITO UNA HERRAMIENTA ASÍ? Las ventajas de la adopción de estos programas como instrumento de trabajo por parte de un profesor son, en mi opinión, múltiples y evidentes. Además del ahorro de tiempo de desarrollo y la menor formación técnica necesaria antes mencionadas, hay que destacar otras razones como: — La necesaria actualización de los métodos pedagógicos para adaptamos, tanto individual como institucionalmente, a las necesidades educativas de la Sociedad de la Información. La mayor valoración profesional del profesor con destrezas tecnológicas frente al “analfabeto informático” — Las mejoras en la calidad de la enseñanza, ya que permiten un mayor grado de efectividad en la comunicación de contenidos, versatilidad horaria y independencia física del aula o centro formativo, liberación de las funciones más rutinarias relacionadas con la transmisión de información. — Mayores posibilidades de trabajo en colaboración y posibles nuevas fuentes de ingresos (otras formas de edición, nuevos productos o aplicaciones). ¿PUEDO YO (REALMENTE) CREAR UN MULTIMED¡A CON MIS CONOC¡MIENTOS INFORMÁTICOS Y TÉCNICOS ACTUALES? Lógicamente, y a pesar de lo anteriormente expuesto, la creación de un multimedia sigue requiriendo un esfuerzo considerable. En primer lugar, es necesario un período de formación en el uso de la herramienta, el tiempo y la energía necesarios para adiestrarse varían dependiendo de las características individuales de cada aprendiz (sus conocimientos y formación previa) y de la complejidad del programa elegido. En segundo lugar, el desarrollo del producto conlíeva, a pesar de los avances logrados, importantes inversiones de tiempo y dinero, que también pueden variar dependiendo de la amplitud del contenido (crear una lección o desarrollar un curso completo, por ejemplo) y la cantidad y formato de los medios a utilizar (si se emplea sólo texto y gráficos o se hace un uso completo de las capacidades multimedia incluyendo además sonido, música y vídeo en movimiento). PERSPECTIVAS DE FUTURO Los Sistemas de autor, pese al tono optimista y exento de componentes negativos de esta comunicación, son herramientas en continua evolución y mejora. Algunos aspectos que se mejorarán con el tiempo son: • El uso de la información multimedia, que consume mucho espacio de memoria de almacenamiento y requiere de sistemas de compresión potentes y redes de transmisión de alta velocidad (redes digitales de Banda Ancha) para obtener en el caso de la imagen en movimiento una calidad similar a la actual televisión. • La gestión de periféricos cada vez más numerosos y sofisticados se
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
53
hará de una forma integrada, más rápida y efectiva, incluyendo avances en el interfaz de usuario que permitan la interacción mediante voz. • Ampliación de los contenidos mediante juegos y simulaciones. En el primero de los casos, como forma de aprendizaje básica en los primeros ciclos de formación, con gran atractivo y motivación por su apariencia externa y el planteamiento de un desafío al estudiante. En el segundo caso, como vía para el conocimiento especializado que requiera sofisticados equipos o laboratorios inaccesibles para muchos centros educativos. • Aplicación de Sistemas Expertos y el desarrollo de los Tutores Inteligentes, capaces de detectar las causas de los errores del aprendiz, sugerir los métodos para corregirlos y hacerlo de una forma individualizada y adaptativa • Es necesario un desarrollo pedagógico paralelo al desarrollo informático, que permita la aplicación de nuevos métodos y estrategias educativas para aprovechar al máximo los nuevos instrumentos y sus capacidades para enseñar. Entre los más conocidos y empleados destacan: HOT POPATOES, Versión 6, es un paquete de informática qye incluye 6 aplicaciones para crear ejercicios interactivos: cricigramas, ejercicios de huecos, ejercicios de ordenar o de relacionar elementos, ejercicios de respuesta breve o de elección múltiple, etc. Link para aprender:
CD RAYUELA Instituto Cervantes, 2004. Se trata de una herramienta pensada específicamente para los profesores de lengua. Comprende 21 programas para la creación de distintos tipos de ejercicios. Está inspirado en los pasatiempos interactivos de la sección de Pasatiempos de Rayuela del Centro Virtual de Cervantes destinada a la enseñanza del español como lengua extranjera.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
54
CLIC v. 3.0. Se trata de una plataforma para la realización de actividades educativas.
JCLIC, Francesc Busquets. Subdireccion General de Tecnologías de la Información, es un entorno que premite crear, realizar y evaluar diferentes tipos de actividades educativas multimedia que pueden ser integrados en un proyecto o secuencia de actividades. Está inspirado en el progama Clic. Es un proyecto de software libre. ESTE UTILITARIO SE HARA UN PROYECTO, VAYAN PENSANDO.
TALLER DE SISTEMAS AUTOR 1.- DEFINA SISTEMAS AUTOR 2.- ESCRIBA LAS PRINCIPALES VENTAJAS DE LOS SA 3.- LLENE LA SIGUIENTE MATRIZ SOBRE LAS FUNCIONES FUNCIONES Procesador de texto Gestor de BD Programas de edición de video Programas de edición y generación de audio Programas de dibujo Programas de animación
COMO
4.- ESCRIBA CUAL ES EL CRITERIO MAS HABITUAL PARA LA UTILIZACION DE LOS SA 5.- REALICE UN MAPA CONCEPTUAL SOBRE PARADIGMA O METAFORA DE AUTOR 6.- HAGA LOS MAPAS SEMANTICOS SOBRE LOS PARADIGMAS DE LOS SA 7.- HAGA UN ENSAYO SOBRE PORQUE SE NECESITA UNA HERRAMIENTA DE SA. (10 LINEAS) 8.- ESCRIBA LAS PERPECTIVAS DE FUTURO DE LOS SA AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
55
INTERFAZ GRAFICA ESTANDAR INTRODUCCION AL SISTEMA X-WINDOWS El sistema X-Window (atención al singular: X-Window) o simplemente ``las X'', es un interfaz gráfico de usuario estándar en las máquinas UNIX; se trata de un potente entorno que soporta todo tipo de aplicaciones. Dentro del sistema de ventanas X-Window, puede tener a la vez varias terminales en la pantalla, cada una con su sesión propia. A menudo se usa un dispositivo señalador, como un ratón, aunque en teoría se puede trabajar sin él. Se han escrito específicamente para las X muchas aplicaciones, entre ellas juegos, utilidades para gráficos y para programación. y las X hacen de su sistema una estación de trabajo de toda confianza. Con una red TCP/IP, su máquina puede visualizar aplicaciones que se estén ejecutando en otra máquina. El sistema de ventanas X-Window se desarrolló originariamente en el Massachussets Institute of Technology (MIT) y es de libre distribución. Muchas empresas, por su parte, han distribuido ampliaciones propietarias al sistema X-Window. La versión de las X para es XFree86, una versión libremente distribuible de X11R6. XFree86 soporta una amplia variedad de tarjetas de vídeo VGA, Súper VGA, y tarjetas aceleradoras y 3D. XFree86 es una distribución completa del software X-Window, y contiene lo que en terminología de las X se llama el servidor, además de muchas aplicaciones, utilidades, bibliotecas para el programador y documentación. Entre las aplicaciones X estándar se incluye xterm, un emulador de terminal que se usa para la mayor parte de aplicaciones basadas en texto que se ejecutan dentro de una ventana, xdm, que gestiona las sesiones (los 'logins'), xclock, que muestra un reloj sencillo, xman, un lector de páginas de manual basado en las X, y xless. Las aplicaciones para X-Window son muchas; tantas, de hecho, que son demasiadas para nombrarlas aquí, pero entre ellas se cuentan hojas de cálculo, procesadores de texto, aplicaciones para gráficos y navegadores de internet como el Netscape Navigator. Muchas otras aplicaciones se pueden conseguir aparte. En teoría, cualquier aplicación escrita para las X compila sin problemas bajo . El interfaz del sistema X-Window está controlado en gran medida por el gestor de ventanas. Este amigable programa se encarga de situar las ventanas y el interfaz de usuario que las mueve y las cambia de tamaño, minimiza las ventanas en iconos, y controla la apariencia de los marcos de las ventanas, entre otras tareas. XFree86 incluye twm, el clásico gestor de ventanas del MIT, pero también gestores avanzados como el Open Look Virtual Window Manager (olvwm). Es popular entre los usuarios de UNIX el fvwm, un gestor de ventanas compacto que requiere menos de la mitad de memoria que el twm. Proporciona apariencia tridimensional para las ventanas y un escritorio virtual. El usuario mueve el ratón hasta el borde de la ventana, y el escritorio se desplaza como si fuera mucho más grande de lo que en realidad es. Fvwm es muy configurable y permite acceso a sus funciones tanto desde el teclado como desde el ratón. Muchas distribuciones de han usado fvwm como su gestor de ventanas estándar. Una versión de fvwm llamada fvwm95-2 ofrece el aspecto del sistema de ventanas Microsoft Windows.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
56
DEFINICIÓN X Window System (en español sistema de ventanas X) es un software que fue desarrollado a mediados de los años 1980 en el MIT(INSTITUTO DE MASSACHUSETTS) para dotar de una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un usuario y una o más computadoras haciendo transparente la red para éste. Generalmente se refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el encargado de mostrar la información gráfica de forma totalmente independiente del sistema operativo. X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba simultáneamente la capacidad de procesamiento de un mismo computador trabajando en tiempo compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para dibujar la pantalla y aceptar la entrada del usuario. Debido a la ubicuidad del soporte para el software X en Unix, es usado en los computadores personales incluso cuando no hay necesidad del tiempo compartido. El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red. Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal gráfico virtual. El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo. permite tener clientes X ejecutándose en un potente servidor UNIX mientras los resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo funcionando. CONCEPTOS BASICOS El display puede definirse como una o más pantallas y sus dispositivos de entrada (teclado y dispositivo apuntador, como el raton). En principio sólo se suele disponer de un display (el display 0, ya que estos van numerados) y una pantalla (la 0). Los displays son sistemas de visualización de mapas de bits (también llamados bitmaps). Un mapa de bits es una imagen formada por pixels (puntos con un valor numérico asociado que representan un color en nuestro display), y el display es un dispositivo manejador de estos bloques de gráficos (formados por la unidades elementales de los gráficos 2d, los pixels). Cada posición en pantalla puede determinarse a partir de 2 valores numéricos que representan las coordenadas del pixel (por ejemplo, (0,0) es la esquina superior izquierda de la pantalla y (1023,767) sería la esquina inferior derecha en un display de una anchura y altura de 1024x768 pixels de resolución. Estos pixels son almacenados en una porción de memoria denominada memoria de vídeo, donde, explicado de una manera simplista (aunque en las tarjetas de vídeo que existen desde hace algún tiempo es así) cada pixel es representando por medio de un valor
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
57
numérico que representa el color del mismo, seguidos todos ellos de una manera lineal (aunque también en las tarjetas más antiguas se usaban planos de bits diferentes). La relación entre un valor de pixel y el color asignado a este color (por ejemplo valor 0=color negro, 1=azul, etc.), es conocida como mapa de colores (colormap), y puede ser de 2 tipos: de tipo tabla, como en los modos de 16 y 256 colores, donde se dispone de una tabla de tripletes RGB (paleta) que especifica a qué color corresponde cada valor numérico, o de relación directa, como ocurre en los modos sin paleta donde cada color se construye a partir de las componentes RGB del color deseado y colocándo estas componentes en el lugar correcto dentro de la videomemoria, de forma que representen el color buscado. Una ventana es un recuadro o área generalmente cuadrada en la pantalla donde generalmente cada programa produce su salida (de texto, gráfica, etc.). Gracias al Window Manager las ventanas pueden ser movidas, se pueden cerrar, modificar su tamaño, o, como hace el gestor AfterStep, se pueden tomar capturas de la misma. La ventana activa en cada momento (sobre la que recae el foco del usuario) se diferencia de las demás porque la barra de título de la misma tiene diferente color o forma que las que no estan activas (el concepto de ventanas esta muy extendido actualmente debido a la "copia" que del Mac hizo Microsoft Windows en su tiempo, en contra de lo que cree mucha gente nombrando a Windows como el S.O. origen de los entornos gráficos). Los recursos son objetos almacenados en forma de información de diverso tipo en los servidores (recursos del servidor), identificados por lo que se conoce como identificadores de recursos. Ejemplos de recursos son las fuentes de letra, los mapas de bits (gráficos, iconos o pixmaps), los colormaps o mapas de colores, o los cursores. La ventaja de que sea el servidor quien almacena los recursos es que el cliente no debe preocuparse del almacenamiento de los mismos, ni tampoco deben ser enviados por la red, ya que el programa se ejecuta en la máquina servidora, con lo que el tamaño de los clientes en memoria es menor y no necesitan estar obteniendo continuamente información de la red de transmisión. Cuando el cliente le pide al servidor que cree una ventana, éste le devuelve el cliente un entero identificador de esa ventana, valor numérico que utilizará el cliente después para referir cualquier operación (de dibujo, por ejemplo) sobre dicha ventana. Por otra parte, las propiedades de un recurso indican las características concretas de un recurso, de tal modo que al hablar de las propiedades de una ventana se puede hablar de su anchura, altura, posición o color de fondo. Por otra parte, un cursor es el símbolo gráfico (como el cursor en forma de X en X Window) que muestra la posición actual del dispositivo apuntador, así como la información de su tamaño y forma, y una fuente es un recurso que almacena información de cada fuente de letras (con la que se puede escribir información textual en una pantalla gráfica), de tal modo que es posible modificar el tipo de letra de nuestra aplicación seleccionando para la misma un nuevo identificador de fuente. En principio también serán necesarios conocimientos básicos de programación en C o C++ para seguir el curso y los ejemplos del mismo, aunque el nivel requerido no será muy elevado ya que se tratará de una introducción a las X y a su metodología de trabajo y programación.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
58
DISEÑO X usa el modelo cliente-servidor: un servidor X se comunica con varios programas cliente. El servidor acepta los pedidos para la salida gráfica (ventanas) y devuelve la entrada del usuario (desde el teclado, del ratón, o de la pantalla táctil). El servidor puede funcionar así:
una aplicación exhibiendo hacia una ventana de otro sistema de visualización un programa del sistema controlando la salida vídeo de una PC una pieza de hardware dedicada
Esta terminología de cliente servidor - el terminal de usuario siendo el servidor y las aplicaciones siendo los clientes - a menudo confunde a nuevos usuarios de X, porque los términos parecen invertidos. Pero X toma la perspectiva de la aplicación, en vez de la del usuario final: X proporciona la exhibición por pantalla y los servicios de entrada/salida a las aplicaciones, así que es un servidor; las aplicaciones usan estos servicios, por lo tanto son los clientes. El protocolo de comunicaciones entre el servidor y el cliente opera transparente a la red: el cliente y el servidor pueden ejecutarse en la misma o en diferentes máquinas, posiblemente con diferentes arquitecturas y sistemas operativos. Un cliente y un servidor pueden incluso comunicarse con seguridad sobre Internet haciendo una conexión de túnel sobre una sesión cifrada de la red. Un cliente X puede emular un servidor X proporcionando servicios de exhibición a otros clientes. Esto es conocido como "X nesting" (anidado X). Los clientes de código abierto tales como Xnest y Xephyr soportan el X nesting. Para utilizar un programa de cliente X sobre una máquina remota, el usuario hace lo siguiente:
En la máquina local, abrir una ventana de terminal usar telnet o ssh para conectarse con la máquina remota solicitar el servicio local de pantalla/entrada (ej., export DISPLAY=[user's machine]:0 si no se está usando SSH con X tunneling activado)
El cliente X remoto entonces hará una conexión al servidor X local del usuario, proporcionando la exhibición por pantalla y la entrada. Alternativamente, la máquina local puede ejecutar un pequeño programa que se conecte con la máquina remota y comience la aplicación cliente. Ejemplos prácticos de clientes remotos incluyen:
administrando una máquina remota gráficamente corriendo una simulación de cómputo intensivo en una máquina Unix remota y mostrando los resultados por pantalla en una de escritorio Windows ejecutar software gráfico en varias máquinas al mismo tiempo, controlados por una sola pantalla, teclado y ratón.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
59
PRINCIPIOS En 1984, Bob Scheifler y Jim Gettys establecieron los tempranos principios de X:
No añadan nueva funcionalidad a menos que un implementador no pueda completar una aplicación real sin ella. Es tan importante decidir qué no es el sistema, como decidir qué es. No respondan a las necesidades de todo el mundo; en lugar de eso, hagan el sistema extensible para que las necesidades adicionales puedan cubrirse en una manera compatible ascendente. La única cosa peor que generalizar a partir de un ejemplo es generalizar a partir de ningún ejemplo en absoluto. Si un problema no se entiende totalmente, probablemente es mejor no proporcionar ninguna solución en absoluto. Si ustedes pueden conseguir el 90 por ciento del efecto deseado para el 10 por ciento del trabajo, utilicen la solución más simple. Aíslen la complejidad tanto cuanto sea posible. Proporcionen un mecanismo en vez de una política. En particular, pongan la interfaz de política en las manos de los clientes.
VENTANAS Lo que es usualmente llamado "ventana" en la mayoría de las interfaces gráficas de usuarios, en el X Window System se llama "ventana de nivel superior" (top-level window). El término ventana también es usado para denotar las ventanas que descansan dentro de otra ventana, es decir, subventanas de una ventana padre. Los elementos gráficos tales como los botones, menúes, iconos, etc. pueden ser creados usando subventanas. Un cliente puede solicitar la creación de una ventana. Más precisamente, puede solicitar la creación de una subventana para una ventana existente. Como resultado, las ventanas creadas por los clientes se arreglan en forma de un árbol (una jerarquía). La raíz de este árbol es la ventana raíz, que es una ventana especial creada automáticamente por el servidor en el arranque. Todas las otras ventanas son directa o indirectamente subventanas de la ventana raíz. Las ventanas de nivel superior son las subventanas directas de la ventana raíz. Visiblemente, la ventana raíz es tan grande como la pantalla, y descansa detrás del resto de las ventanas. Sin embargo la ventana raíz puede ser más grande que la pantalla, en este caso el usuario puede desplazarse alrededor del área visible. No se garantiza que el contenido de una ventana siempre sea preservado en el tiempo. Particularmente, el contenido de la ventana puede ser destruido cuando la ventana es movida, redimensionada, cubierta por otras ventanas, y en general, hecha no visible total o parcialmente. En particular, el contenido es perdido si el servidor X no está manteniendo un almacenamiento de respaldo del contenido de la ventana. El cliente puede solicitar memoria de respaldo para que una ventana sea mantenida, pero no hay obligación para que el servidor lo haga. Por lo tanto, los clientes no pueden asumir que el almacenamiento de respaldo sea mantenido. Si una parte visible de una ventana tiene un contenido sin especificar, un evento es enviado para notificar al cliente que el contenido de la ventana tiene que ser dibujado otra vez.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
60
Cada ventana tiene un conjunto asociado de atributos, tales como la geometría de la ventana (tamaño y posición), la imagen de fondo, si la memoria de respaldo para ella se ha pedido o no, etc. El protocolo incluye las peticiones necesarias para que un cliente pueda inspeccionar y cambiar los atributos de una ventana. Las ventanas pueden ser de InputOutput (entrada-salida) o de InputOnly (solo-entrada). Las ventanas que pueden ser mostradas en la pantalla y son usadas para dibujar contenido son de la primera clase. La segunda clase de ventanas nunca son mostradas en la pantalla; son usadas solo para recibir la entrada. PIXMAP Y DRAWABLES Un pixmap es una región de memoria que puede ser usada para dibujo (drawing) de contenido. A diferencia de las ventanas, los pixmaps no se muestran automáticamente en la pantalla. Sin embargo, el contenido de un pixmap (o una parte de él) puede ser transferido a una ventana y viceversa. Esto permite técnicas tales como double buffering. La mayoría de las operaciones gráficas que se pueden hacer en ventanas, también se pueden hacer en pixmaps. Las ventanas y los pixmaps son colectivamente llamados drawables (dibujables), y sus contenidos de datos residen en el servidor. Sin embargo, un cliente puede solicitar que el contenido de un drwable sea transferido del servidor al cliente o viceversa. Los contextos gráficos y las fuentes El cliente puede pedir un número de operaciones gráficas, tales como limpiar un área, copiar un área en otra, dibujar puntos, líneas, rectángulos, y texto. A menos que se diga lo contrario, todas las operaciones son posibles en todos los drawables, tanto en las ventanas como en los pixmaps. La mayoría de los pedidos de operaciones gráficas incluyen un contexto gráfico, que es una estructura que contiene los parámetros de las operaciones gráficas. Un contexto gráfico incluye el color del primero plano, el color del fondo, la fuente del texto, y otros parámetros gráficos. Cuando se pide una operación gráfica, el cliente incluye un contexto gráfico. No todos los parámetros del contexto gráfico afectan a la operación: por ejemplo, la fuente no tiene efecto al dibujar una línea. El protocolo base especifica el uso de las fuentes del lado del servidor.6 Tales fuentes son almacenadas como archivos, y el servidor tiene acceso directamente vía el sistema de archivos local o vía la red desde otro programa llamado servidor de fuente. Los clientes pueden pedir la lista de fuentes disponibles al servidor y pueden solicitar que una fuente sea cargada (si ya no lo está) o descargarla del servidor (si no es usada por otros clientes). Un cliente puede pedir la información de carácter general sobre una fuente (por ejemplo, la "subida" (ascent) de la fuente) y el espacio que una específica secuencia de caracteres (string) toma cuando es dibujada con una fuente determinada. LOS RECURSOS Y LOS IDENTIFICADORES Todos los datos sobre ventanas, pixmaps, fuentes, etc., son almacenados en el servidor. El cliente conoce los identificadores de estos objetos - números enteros que usa como nombres
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
61
para ellos al interactuar con el servidor. Por ejemplo, si un cliente desea que sea creada una ventana, solicita al servidor crear una ventana con un identificador dado. El identificador puede ser usado posteriormente por el cliente para pedir, por ejemplo, que una secuencia de caracteres sea dibujada en la ventana. Los objetos siguientes residen en el servidor y son conocidos por el cliente vía un identificador numérico:
Window Pixmap Font Colormap (una tabla de colores, descrita abajo) Graphic context
Estos objetos se llaman recursos. Cuando un cliente pide la creación de uno de tales recursos, también especifica un identificador para el mismo. Por ejemplo, para crear una nueva ventana, el cliente especifica tanto los atributos de la ventana (padre, anchura, altura, etc.) así como también el identificador a asociar con la ventana. Los identificadores son números enteros de 32 bits con sus tres bits más significativos iguales a cero. Cada cliente tiene su propio conjunto de identificadores que puede usar para crear nuevos recursos. Este conjunto es especificado por el servidor como dos números enteros incluidos en el paquete de aceptación (el paquete que envía al cliente para informarle que la conexión es aceptada). Los clientes eligen los identificadores que están en este conjunto de tal manera que no coincidan: dos objetos entre ventanas, pixmaps, fuentes, colormaps, y contextos gráficos, no pueden tener el mismo identificador. Una vez que se ha creado un recurso, su identificador es utilizado por el cliente para pedir operaciones sobre él al servidor. Algunas operaciones afectan al recurso dado (por ejemplo, peticiones de mover ventanas); otros piden datos del recurso almacenados en el servidor (por ejemplo, pedidos para saber las propiedades de las ventanas). Los identificadores son únicos para el servidor, no sólo para al cliente; por ejemplo, no hay dos ventanas que tengan el mismo identificador, incluso si son creadas por dos clientes diferentes. Un cliente puede accesar a cualquier objeto dado su identificador. En particular, también puede tener acceso a los recursos creados por cualquier otro cliente, incluso si sus identificadores están fuera del conjunto de identificadores que puede crear. Como resultado, dos clientes conectados con el mismo servidor pueden usar el mismo identificador para referirse al mismo recurso. Por ejemplo, si un cliente crea una ventana con identificador 0x1e00021 y pasa este número a otra aplicación (vía cualquier medio disponible, por ejemplo almacenando este número en un archivo que es también accesible a la otra aplicación), la otra aplicación puede operar en la misma ventana. Esta posibilidad es explotada, por ejemplo, por la versión X Window de Ghostview: este programa crea una subventana, almacenando su identificador en una variable de entorno, y llama Ghostscript, el cual dibuja el contenido del archivo PostScript para mostrarlo en esta ventana.9 Los recursos normalmente se destruyen cuando el cliente que los creó cierra la conexión con el servidor. Sin embargo, antes de cerrar la conexión, un cliente puede solicitar al servidor no destruirlos.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
62
Eventos Los eventos son paquetes enviados por el servidor a un cliente para comunicar que ha sucedido algo en lo que el cliente puede estar interesado. Por ejemplo, un evento es enviado cuando el usuario pulsa una tecla o hace click con el botón del ratón. Los eventos no sólo son usados para la entrada: por ejemplo, los eventos son enviados para indicar la creación de nuevas subventanas en una ventana dada. Cada evento es relativo a una ventana. Por ejemplo, si el usuario hace click cuando el puntero del ratón está en una ventana, el evento será relativo a esa ventana. El paquete del evento contiene el identificador de esa ventana. Un cliente puede solicitar al servidor que envíe un evento a otro cliente; esto es usado para la comunicación entre los clientes. Tal evento es generado, por ejemplo, cuando un cliente solicita el texto que actualmente está seleccionado: este evento es enviado al cliente que está actualmente manejando la ventana que tiene la selección. El evento Expose (exposición) es enviado cuando se hace visible un área de una ventana cuyo contenido se ha destruido. El contenido de una ventana puede ser destruido en algunas condiciones, por ejemplo, si la ventana es cubierta y el servidor no está manteniendo un almacenamiento de respaldo. El servidor genera un evento Expose para notificar al cliente que una parte de la ventana tiene que ser redibujada. La mayoría de los tipos de eventos son enviados solamente si el cliente previamente manifestó un interés en ellos. Esto es porque los clientes pueden estar interesados solamente en una cierta clase de eventos. Por ejemplo, un cliente puede estar interesado en eventos relacionados con el teclado pero no en eventos relacionados con el ratón. Sin embargo, algunos tipos de eventos son enviados a los clientes incluso si no los han pedido específicamente. Ajustando un atributo de una ventana, los clientes especifican qué tipos de eventos quieren que se les envíen. Por ejemplo, para redibujar una ventana cuando su contenido se ha destruido, un cliente debe recibir los eventos Expose, que le informan que la ventana necesita ser redibujada otra vez. Sin embargo, al cliente se le enviarán los eventos Expose solamente si el cliente ha manifestado previamente su interés en estos eventos, que es hecho apropiadamente ajustando el atributo de máscara del evento de la ventana. Diferentes clientes pueden pedir eventos en la misma ventana. Pueden incluso ajustar diferentes máscaras de evento en la misma ventana. Por ejemplo, un cliente puede solamente pedir eventos del teclado en una ventana mientras que otro cliente pide solamente eventos del ratón en la misma ventana. Esto es posible porque, para cada ventana, el servidor mantiene una máscara de evento separada por cada cliente. Sin embargo, hay algunos tipos de eventos que pueden ser seleccionados solamente por un cliente a la vez para cada ventana. En particular, los eventos que reportan los click del botón del ratón y algunos cambios relacionados al manejo de la ventana. El programa xev muestra los eventos relativos a una ventana. En particular, xev -id WID pide todos los eventos posibles relativos a la ventana del identificador WID y los imprime.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
63
Los colores En el nivel del protocolo, un color es representado por un entero sin signo de 32 bits, llamado un pixelvalue (valor del pixel). Los elementos siguientes afectan la representación de los colores: 1. la profundidad de color 2. el colormap (mapa de color), el cual es una tabla conteniendo los valores de intensidad de los colores primarios rojo, verde y azul 3. el visual type (tipo visual), que especifica cómo es usada la tabla para representar colores En el caso más fácil, el colormap es una tabla conteniendo un triple RGB en cada fila. Un pixelvalue x representa el color contenido en la fila x de la tabla. Si el cliente puede cambiar las entradas en el colormap, esta representación es identificada por la clase visual PseudoColor. La clase visual StaticColor (color estático) es similar, pero el cliente no puede cambiar las entradas en el colormap. Hay un total de seis clases visuales posibles, cada una identificando una manera diferente para representar un triple RGB con un pixelvalue. PseudoColor y StaticColor son dos. El GrayScale (escala de gris) y StaticGray (gris estático) son otras dos, diferenciándose de las anteriores porque solamente son usadas tonalidades de gris. Las dos clases visuales que quedan difieren de las de arriba porque dividen los pixelvalues en tres partes y usan tres tablas separadas para la intensidad del color rojo, verde y azul. De acuerdo a esta representación de color, un pixelvalue se convierte en un triple RGB como sigue: 1. el pixelvalue es visto como una secuencia de bits 2. esta secuencia está dividida en tres partes 3. cada una de estas tres partes de bits se ve como un número entero y es usado como un índice para encontrar un valor en una de tres tablas separadas Este mecanismo requiere que el colormap sea compuesto de tres tablas separadas, una para cada color primario. El resultado de la conversión sigue siendo un triple de valores de intensidad. Las clases visuales usando esta representación son el DirectColor (color directo) y el TrueColor (color verdadero), diferenciándose en si el cliente puede cambiar o no los colormaps. Para representar colores con los pixelvalues, todos estos seis mecanismos requieren algunos parámetros adicionales para trabajar. Estos parámetros se recogen en un visual type (tipo virtual), que contiene una clase visual y otros parámetros de la representación de colores. Cada servidor tiene un conjunto fijo de visualtypes, cada uno asociado a un identificador numérico. Estos identificadores son enteros sin signo de 32 bits, pero no son necesariamente diferentes de los identificadores de recursos o de átomos. Cuando la conexión de un cliente es aceptada, el paquete de aceptación enviado por el servidor contiene una secuencia de bloques, cada uno conteniendo información sobre una simple exhibición en pantalla. Para cada exhibición, el bloque relativo contiene una lista de otros bloques, cada uno relativo a una profundidad de color específica que es soportada por la
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
64
exhibición en pantalla. Para cada profundidad soportada, esta lista contiene una lista de visualtypes. Como resultado, cada exhibición es asociada con un número de posibles profundidades, y cada profundidad de cada exhibición es asociada con un número de posibles tipos visuales. Un tipo visual dado puede ser usado para más exhibiciones y para diferentes profundidades. Para cada tipo visual, el paquete de aceptación contiene tanto su identificador como los parámetros reales que contiene (visual classs, etc). los clientes almacenan esta información, puesto que no pueden pedirla después. Por otra parte, los clientes no pueden cambiar o crear nuevos tipos visuales. Los pedidos para la creación de una nueva ventana incluyen la profundidad y el identificador del tipo visual a usar para representar los colores de esta ventana. Los Colormaps son usados sin importar si el hardware que controla la pantalla (ej., una tarjeta gráfica), usa una paleta de colores, la cual es una tabla que también es usada para la representación de colores. Los servidores usan los colormaps incluso si el hardware no está usando una paleta de colores. Cuando el hardware usa las paletas de colores, sólo un número limitado de colormaps pueden ser instalados. Particularmente, un colormap está instalado cuando el hardware muestra colores de acuerdo al mismo. Un cliente puede solicitar el servidor instalar un colormap. Sin embargo, esto puede requerir la desinstalación de otro colormap: el efecto es que las ventanas usando el colormap desinstalado no serán mostradas con el color correcto, un efecto llamado como color flashing o tecnicolor. Este problema puede ser solucionado usando los colormaps estándar, que son colormaps con una asociación predecible entre los pixelvalues y los colores. Gracias a esta característica, los colormaps estándar pueden ser usados por varias aplicaciones. La creación de colormaps es regulada por la convención ICCCM. Los colormaps estándar son regulados por el ICCCM y por la especificación Xlib. Una parte del sistema X Color System (Sistema de Color X) es el X Color Management System (xcms) (Sistema de Manejo de Color X). Este sistema fue introducido con el X11R6 Release 5 en 1991. Este sistema consiste en varias características adicionales en xlib, encontradas en la serie de funciones Xcms*. Este sistema define los esquemas de color independientes del dispositivo que se pueden convertir en sistemas RGB dependientes del dispositivo. El sistema consiste en las funciones Xcms* del xlib como también la X Device Color Characterization Convention (XDCCC) que describe cómo convertir los varios sistemas de color independientes del dispositivo en sistemas de color RGB dependientes del dispositivo. Este sistema soporta los sistemas de color CIE XYZ, xyY, L *u*v y L *a*b también como el TekHVC Átomos Los átomos son enteros de 32 bits representando strings. Los diseñadores del protocolo introdujeron los átomos porque representan strings en un tamaño corto y fijo:10 mientras que un string puede ser arbitrariamente largo, un átomo es siempre un entero de 32 bits. La brevedad del átomo fue explotada asignando por mandato su uso en las clases de paquetes que son probables de ser enviados muchas veces con los mismos strings; esto resulta en un uso más eficiente de la red. El de tamaño fijo de los átomos fue explotado especificando un de tamaño fijo para los eventos, nombrado 32 bytes: los paquetes de tamaño fijo pueden contener átomos, mientras que no pueden contener strings largos.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
65
Precisamente, los átomos son identificadores de strings almacenados en el servidor. Son similares a los identificadores de los recursos (Windows, Pixmaps, etc.) pero se diferencian de ellos de dos maneras. Primero, los identificadores de átomos son elegidos por el servidor, no por el cliente. En otras palabras, cuando un cliente solicita la creación de un nuevo átomo, éste solamente envía el servidor el string a ser almacenado, no su identificador; este identificador es elegido por el servidor y devuelto como contestación al cliente. La segunda diferencia importante entre los recursos y los átomos es que los átomos no están asociados a los clientes. Una vez que se han creado, un átomo sobrevive hasta que el servidor termine o se resetée (éste no es el comportamiento por defecto de los recursos). Los átomos son identificadores y son por lo tanto únicos. Sin embargo, un átomo y un identificador de recurso pueden coincidir. El string asociado con un átomo es llamado el nombre del átomo. El nombre de un átomo no puede ser cambiado después de la creación, y ninguno de dos átomos pueden tener el mismo nombre. Como resultado, el nombre de un átomo es comúnmente usado para indicar al átomo: "El átomo ABCD" significa, más precisamente, "el átomo cuyo string asociado es ABCD", o "el átomo cuyo nombre es ABC". Un cliente puede solicitar la creación de un nuevo átomo y puede solicitar para el átomo (el identificador) de un string dado. Algunos átomos están predefinidos (creado por el servidor con un identificador y string dados). Los átomos son usados para un número de propósitos, sobre todo relacionados con la comunicación entre diversos clientes conectados con el mismo servidor. En particular, son usados en asociación con las propiedades de las ventanas, que son descritas más abajo. La lista de todos los átomos que residiendo en un servidor puede ser impresa usando el programa xlsatoms. En particular, este programa imprime cada átomo (el identificador, es decir, un número) con su nombre (su string asociado). Propiedades Cada ventana tiene un conjunto predefinido de atributos y un conjunto de propiedades, todos almacenados en el servidor y accesible a los clientes por medio solicitudes apropiadas. Los atributos son datos acerca de una ventana, como su tamaño, posición, color de fondo, etc. Las propiedades son piezas arbitrarias de datos atados a una ventana. Al contrario de los atributos, las propiedades no tiene ningún significado a nivel del protocolo base de X Window. Un cliente puede almacenar datos arbitrarios en una propiedad de una ventana. Las propiedades son usadas sobre todo para la comunicación cliente a cliente. Una propiedad es caracterizada por un nombre, un tipo, y un valor. Las propiedades son similares a las variables en lenguajes de programación imperativos, en que un cliente puede crear una nueva propiedad con un nombre y un tipo dados y almacenar un valor en él. Las propiedades están asociadas a las ventanas: dos propiedades con el mismo nombre pueden existir en dos diferentes ventanas mientras tengan diferentes tipos y valores. El nombre, el tipo, y el valor de una propiedad son strings; más precisamente, son átomos, es decir, string almacenadas en el servidor y accesibles a los clientes vía identificadores. Una aplicación de cliente puede acceder a una propiedad dada usando el identificador del átomo que contiene el nombre de la propiedad.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
66
Las propiedades son usadas sobre todo para la comunicación inter-cliente. Por ejemplo, la propiedad llamada WM_NAME (la propiedad nombrada por el átomo cuya secuencia asociada es “WM_NAME”) es usada para almacenar el nombre de las ventanas. Los manejadores de ventana típicamente leen esta propiedad para exhibir el nombre de las ventanas en su barra de título. PROGRAMACION EN XWINDOW A mis estudiantes les deseo suerte, tienen que analizar, reflexionar y re-escribir los programas presentados y experimentar cambios. 2.1 Un programa X simple #include /* A */ #include #include main() { Display *display; /* B */ Window ventana; display = XOpenDisplay( NULL ); /* C */ ventana = XCreateSimpleWindow(display, RootWindow( display, 0 ), /* D */ 50, 50, 500, 400, 2, 0, 1 ); XMapWindow( display, ventana ); /* E */ XFlush( display ); /* F */ getchar(); /* G */ } EXPLICACION Del PROGRAMA POR CADA LETRA A.-incluye los ficheros de cabecera necesarios para usar la Xlib. En ellos se definen estructuras, macros y constantes. B.-declara las variables de los tipos necesarios para las llamadas a la Xlib. C.-contruye la conexion entre el programa (el cliente) y el servidor especificado. D.-crea una ventana. E.-mapea la ventana. Esto es necesario porque una ventana creada no es visible hasta que no se mapea. F.-vacia el buffer de peticiones del cliente para que se transmitan al servidor. G.-espera a que se pulse una tecla. Cuando el programa termina, se ejecuta automaticamente el procedimiento de cierre y la ventana desaparece. EJEMPLO 2 CON INTRODUCCION Ficheros de cabecera de la Xlib AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
67
X11/Xlib.h=Define estructuras y macros usados en muchas llamadas a la Xlib. X11/X.h=Define constantes usadas en muchas llamadas a la Xlib. X11/Xutil.h=Define constantes y estructuras usadas junto con los gestores de ventanas X. X11/Xutil.h=está incluido en X11/Xlib.h por lo que no es necesario incluirlo explícitamente. Como compilar, enlazar y ejecutar Para compilar un programa cuyo fichero fuente sea xprog.c el comando es el siguiente: cc -o xprog xprog.c -lX11 y para ejecutarlo xprog Siempre hay que usar la biblioteca 'usr/lib/libX11.a' Abrir el display El sistema X Window esta construido sobre el modelo cliente-servidor para funcionar en un entorno de trabajo en red. Antes de que el programa de aplicacion empiece a enviar sus peticiones al servidor, hay que decidir con que servidor se va a comunicar. Los siguientes son terminos clave para especificar un servidor: El host es un ordenador en la red. El display tiene un significado diferente del usual; en el sistema X Window, un display es una unidad que incluye uno o mas de los siguientes objetos: pantalla, teclado y/o un dispositivo de señalamiento, tal como un raton. Asi que display significa casi lo mismo que estacion de trabajo. La pantalla es una pantalla que pertenece a un display (o estacion de trabajo). Es necesario distinguir entre una pantalla y un display en el mundo del sistema X Window. Un host puede tener mas de un display. Cada display puede identificarse mediante un numero de display o numero de servidor de display. Un display puede tener mas de una pantalla. Cada pantalla puede identificarse por un numero de pantalla. En la mayoria de los casos cada host tiene un display y una pantalla. El servidor es el software que gestiona un display. Un servidor puede manejar solo un display. El servidor tambien se llama servidor de display porque la relacion entre un servidor y un display es 1:1. Para establecer una conexion entre un programa de aplicacion y un servidor de display hay que usar la llamada XOpenDisplay. Llamada Xlib: XOpenDisplay Display *XOpenDisplay( char *nombreDisplay ) El nombreDisplay es una cadena con el formato: nombreHost:numero.numeroPantalla. El 'nombreHost' es el nombre del host en el que reside el servidor. El 'numero' es el numero del display, y el 'numeroPantalla' es el numero de la pantalla. La conexion con el display se hace entre un cliente y un servidor de display (o un display), no entre un cliente y una pantalla; por eso, el numero de pantalla puede omitirse, tomandose la pantalla cero por defecto, por ejemplo: host3:0.2 se usaria para conectar el servidor de display 0 del host3 con la pantalla 2. host2:1 se
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
68
usaria oara conectar el servidor de display 1 del host2 con la pantalla por defecto, la 0. El 'nombreDisplay' puede ser NULL, en cuyo caso el valor de 'nombreDisplay' se reemplaza por la cadena almacenada en la variable de entorno DISPLAY. Cuando la conexion se ha establecido con exito, la llamada a XOpenDisplay devuelve un puntero a una estructura Display, en la que el servidor envia una gran cantidad de informacion sobre el display. Obtener informacion sobre el Display Para obtener informacion sobre el display conectado o sobre el servidor de display a partir de la estructura devuelta por XOpenDisplay se pueden usar macros especiales en C o sus correspondientes funciones equivalentes en otros lenguajes. Macros y sus correspondientes funciones La sintaxis incluye las macros y sus correspondientes funciones. En C pueden usarse ambas versiones, en otros lenguajes solo se pueden usar las funciones. Para saber que vendedor proporciona el servidor pueden usarse: ServerVendor(display ) char *XServerVendor( Display *display ) Para conocer el tamaño de la pantalla: DisplayWidth( display, numeroPantalla ) DisplayHeight( display, numeroPantalla ) int XDisplayWidth( Display *display, int numeroPantalla ) int XDisplayHeight( Display *display, int numeroPantalla ) Para conocer los valores de pixel para el blanco y el negro: WhitePixel( display, numeroPantalla ) BlackPixel( display, numeroPantalla ) estos valores pueden usarse para especificar los colores de las ventanas o de los graficos. Para conocer el numero de la pantalla por defecto (normalmente 0): DefaultScreen( display ) int XDefaultScreen( Display *display ) Para conocer el ID de la ventana raiz por defecto en la pantalla por defecto: DefaultRootWindow( display )
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
69
Para conocer el ID de la ventana raiz por defecto en la pantalla especificada: RootWindow( display, numeroPantalla ) LAB: Obtener informacion sobre el display Escribir un programa que haga lo siguiente: Construir la conexion con el display Obtener el numero de pantalla por defecto Obtener el fabricante que proporciona el servidor Obtener la siguiente informacion de la pantalla por defecto La anchura de la pantalla La altura de la pantalla El valor de pixel para blanco El valor de pixel para negro Cerrando el display Para cerrar la conexion con el display se usa la siguiente funcion: XCloseDisplay( Display *display ) XCloseDisplay cierra la conexion con el servidor de display especificado y destruye todas las ventanas, todos los IDs de los recursos creados por el programa. Este procedimiento de cierre de conexion puede cambiarse mediante XSetCloseDownMode. XCloseDisplay se llama automaticamente cuando el programa termina. LAB: solución #include #include #include main() { Display *d; char *vendedor; int pantalla, anchura, altura; unsigned long blanco, negro; d = XOpenDisplay( NULL ); pantalla = DefaultScreen( d ); vendedor = ServerVendor( d ); anchura = DisplayWidth( d, pantalla ); altura = DisplayHeight( d, pantalla ); blanco = WhitePixel( d, pantalla ); negro = BlackPixel( d, pantalla ); printf( '= %s', vendedor ); printf( '= %d', pantalla ); printf( '= %d', anchura ); printf( '= %d', altura ); printf( '= %u', blanco ); printf( '= %u', negro ); printf( '); }
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
70
TALLER DE XWINDOWS
1.- Escriba 5 Ideas Principales de la Introducción a X-Windows 2.- Realice un mapa conceptual de la defición del Sistema X-Windows 3.- Realice una matriz sobre el concepto de Básico de X-Windows 4.- Que diseño utiliza X-Windows 5.- Como funciona el servidor de X-Windows 6.- Que se debe de hacer para utilizar un programa de cliente X-Windows es una máquina remota? 7.- Escriba los ejemplos practicos del cliente remoto 8.- Escriba 2 ideas principales de X-Windows 9.- Básicamente que son vectores 10.- Escriba la definición de recursos e identificadores 11.- Realice un mapa semántico de eventos 12.- Escriba 2 ideas principales de propiedades
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
71
DISEÑO DE PANTALLAS PARA SERVICIOS MULTIMEDIA Conceptos básicos de Diseño de Pantalla El diseño es mucho más que el embellecimiento de la parte exterior de las cosas. El diseño, se puede decir, es solo una parte de un proceso de hacer que los objetos o cosas sean atractivas, usables, asequibles. El Diseño es un proceso de creación visual con un propósito comunicativo. Un buen diseño es la mejor expresión visual de la escencia de "algo", bien sea un mensaje o un producto. Para hacerlo fiel y eficaz, el diseñador debe buscar la mejor forma de que ese "ALGO" sea conformado, usado, distribuido y relacionado a su ambiente. Esta creación deberá estética y funcionalmente reflejar el gusto de su época. Lenguaje Visual Es la base de creación en diseño. Es el seguimiento de unas reglas o conceptos en cuanto a la conformación visual. Sus leyes no son obvias. En el diseño de interfaces, el lenguaje visual es la utilización de un conjunto de imágenes y objetos gráficos (iconos, ventanas, tipografía, imágenes, fotografías, ilustraciones, textos, videos, animaciones, menus, etc) para representar la información y acciones disponibles en la interfaz. Los objetos que se integran en la Interfaz Gráfica de Usuario (GUI), se disponen en el plano llamado pantalla de manera ordenada siguiendo conceptos de diseño básico como pueden ser:
Elementos conceptuales Elementos Visuales Elementos Relacionales Elementos Prácticos Conceptuales: Son los que realmente no están en el plano, pero se pueden deducir: 1. 2. 3. 4.
Punto: Por ejemplo, una flor roja en un jardín de donde predomine el amarillo. Línea: Una fotografía arquitectónica las refleja. Plano: Una área de cualquier forma geométrica coloreada. Volumen: Objetos que tengan profundidad volumétrica.
Visuales: 1. Forma: Todo lo que pueda ser visto, tiene forma 2. Medida: Todo lo que se ve tiene una medida (pixeles en el caso de la pantalla) 3. Color: Existe toda una teoría aplicable. Primarios, secundarios, teciarios, neutros, tonos, luminosidad, etc. También existe una teoría de esquemas de color: Frios, cálidos, análogos, opuestos, adyacentes, 4. Textura: Atrae el sentido del tacto o la vista. Una fotografía de varias ventanas puede ser una textura. Relacionales: Nos ubican dentro del espacio y pueden ser sentidos aunque no literalmente como la gravedad y el espacio. Otros más obvios, pueden ser percibidos claramente como la dirección y la posición.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
72
1. 2. 3. 4.
Dirección: Varios rectángulos ordenados en fila denotarían una dirección a seguir Posición: Arriba, abajo, derecha, izquierda, etc Espacio: Los espacios vacíos son muy apreciados por los diseñadores de interfaces Gravedad: Es una sensación sicológica. Transfiere sensaciones de pesadez, liviandad, estabilidad, etc. Prácticos: Subyacen en el contenido y los alcances de un determinado diseño. 1. Representación: Realista o abstracta, una representación pretende mostrar la naturaleza de las cosas en un plano. 2. Significado: El diseño transporta un mensaje. 3. Función: Se hace presente cuando el diseño tiene un determinado propósito. Todos los elementos visuales están enmarcados dentro de una Pantalla. La Pantalla no es solamente el dispositivo electrónico del computador o aparato electrónico, puede considerarse también como pantalla a una tela donde se proyecte una imagen, un marco de un lienzo, una hoja de papel. SERVICIOS MULTIMEDIA Introducción a los servicios de Alojamiento y gestión de material multimedia La web 2.0 ha introducido una enorme variedad tanto en recursos multimedia, como en temáticas y como no en educación. El explosivo crecimiento de este tipo de recursos multimedia es debido sobre todo a que los internautas son los creadores del contenido, gracias a herramientas de sencillo manejo. Debido al crecimiento de estas herramientas multimedia se nos hace necesaria para los cursos modalidad e-learning. Vamos a utilizar Flickr, Slideshare y Youtube, que pueden ser utilizados directamente como enlaces a direcciones web externas. Estos recursos para el proceso de Enseñanza-aprendizaje se irá diseñando a lo largo del curso dependiendo de los temas que se vayan realizando y se utilizaran como: enlace de interés, ampliación de conocimientos, desarrollo de una actividad o tarea, apoyo para un trabajo de investigación individual o grupal, recursos para un foro de debate, etc. EJEMPLO DE SERVICIOS MULTIMEDIA. FLICKR. INTRODUCCIÓN Flickr es posiblemente el sitio más popular para alojar y compartir fotografías en internet es un buen ejemplo de los servicios de la Web 2.0. Su popularidad está basada básicamente en sus herramientas para la organización de las fotografías, etiquetado y navegación por temas. Fue desarrollada por Ludicorp en el año 2004, en 2008 incorporo la posibilidad de subir vídeos de pequeño tamaño (90 segundo y 150 Mb como máximo). CREACIÓN DE UNA CUENTA EN FLICKR 1. Entrar en www.flickr.com y pulsamos crear tu cuenta. 2. Si tenemos cuenta en yahoo introducimos usuario y contraseña, si no estamos dados de alta pulsamos abajo del todo en registadme. 3. A continuación rellenamos los datos que aparecen en el formulario. 4. Nos saldrá una pantalla confirmando que hemos realizado bien los pasos y pulsamos en continuar para comenzar a utilizar Flickr. 5. Nos salen dos opciones: o crear una cuenta nueva con nuestra ID de Yahoo o vincularla con una cuenta previamente creada en Flickr. 6. Una vez dentro nos da por primera vez tres opciones: cargar nuestra primera foto, leer las normas de la comunidad o bien explorar Flickr. CARGANDO NUESTRAS PRIMERAS FOTOS Tras pulsar sobre Carga tu primera foto o vídeo, tendremos que realizar dos sencillos pasos: AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
73
1. Elegir nuestra foto. De nuestro ordenador y darle opciones de privacidad, para confirmar las fotos subidas pulsamos en el botón Subir fotos. 2. Agregar una descripción, podremos añadir títulos, descripciones y etiquetas, también etiquetas comunes varias fotos. También podemos crear un nuevo álbum desde aquí. PRINCIPALES CARACTERÍSTICAS DE FLICKR A.-SUBIDA DE FOTOS AVANZADA Podemos subir fotografías a través de la página web de carga, correo electrónico, con un software llamado Uploadr o bien con programas externos como Flickr. Si vamos a subir gran cantidad de fotos es recomendable descargar Flikr Upload. Para descargar el software basta con entrar en www.flickr.com/tools y descarguemos el software. Lo instalamos y ya podemos subir directamente las fotos a Flickr. B.- EDICIÓN DE FOTOGRAFÍAS Asociado a Flickr, existe también un servicio llamado Picnik mediante el cual podremos editar las fotos de una forma sencilla. C.- ORGANIZACIÓN DE LAS FOTOGRAFÍAS, En Flickr disponemos de 3 niveles de organización: 1. Sets o albums: grupos de fotos o vídeos que podemos organizar para un tema. 2. Colecciones: Agrupaciones de álbumes organizados en torno a temas. 3. Organizar: Podemos crear tanto álbumes como colecciones de álbumes. D. GRUPOS Localización de grupos sobre una determinada temática determinada que nos interese, y con los que podamos compartir fotos o vídeos.Existen 3 tipos de grupos: públicos, públicos con invitación y privados. Otra característica peculiar de los grupos, es que incluyen un mural para compartir fotos y vídeos, así como un panel de debates. Para localizar grupos de nuestro interés, basta con pulsar sobre el menú Grupos, y a continuación pulsar sobre Buscar un grupo. E.- OTROS SERVICIOS Flickr tiene otros servicios interesantes que iremos descubriendo. Uno muy útil es la localización de nuestras fotografías en un mapa mundial, pulsando sobre el menú mapa, elegir el nivel de privacidad y comenzar a utilizarlo. Arrastrar nuestras fotografías a la zona del mapa deseada para que queden asociadas al mapa. Otra de las utilidades es la creación de notas y comentarios en nuestras fotos, que irán apareciendo a medida que pulsemos sobre una zona irán apareciendo. La utilización de los canales RSS para estar conectado a las fotografías de un determinado grupo o usuario, fotos en un blog etc. SLIDESHARE Slideshare es el servicio más utilizado para el alojamiento de presentaciones de Powerpoint, OpenOffice o PDF en la web. Podemos utilizarlo tanto para localizar presentaciones, como para subir y compartir presentaciones en la web. ALTA EN SLIDESHARE Desde la web principal de Slideshare pulsamos sobre el enlace Signup para crear nuestra cuenta. A continuación debemos rellenar el formulario para crearnos la cuenta, tras pulsar sobre Join now accedemos a otro formulario que tenemos que rellenar. Ya estaríamos dados de alta, pulsamos sobre Home y ahora aparece nuestro nombre de usuario. SUBIR UNA PRESENTACIÓN Pulsamos sobre el enlace Upload, y desde las opciones que nos salen, pulsar sobre el botón Browse and select files… Desde esta página se nos informa de que podemos: compartir de forma pública o privada, subir como máximo 100 MB, se soportan formatos ppt, pps, y pot (powerpoint) y pdf y odp (OpenOffice), subir documentos y hojas de cálculo con formatos doc, rtf, xls (microsoft), odt y ods (OpenOffice) y PDF. Una vez seleccionada la presentación y la hemos subido, nos aparecerán una serie de opciones en las que indicar: título, etiquetas, categoría para nuestra presentación, nivel de privacidad ( todos, solo yo o mis contactos), descripción de la presentación, permitir o no que se descargue la presentación. Para ver las presentaciones bastaría con seleccionar de la barra superior el botón My Slidespace y a continuación AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
74
Slideshows. Para ver la presentación ya subida bastaría con pulsar sobre ella e ir avanzando con los botones de control para ir pasando las distintas diapositivas. CONFIGURACIÓN DE NUESTRO PERFIL Pulsamos sobre el botón My Slidespace y a continuación la opción Edit Profile, accederemos a un entorno en el que podremos personalizar las siguientes opciones: información personal, localización, fotografía, cambio de contraseña, configuración de las notificaciones por correo e idioma y licencia que tendrán por defecto nuestras presentaciones. BÚSQUEDA DE DIAPOSITIVAS Y GESTIÓN DE FAVORITOS Una de las mayores utilidades de Slideshare es la de poder localizar presentaciones por temática. Existen 3 formas principales de localizar diapositivas de nuestro interés: 1. En la casilla Buscar. Introducimos el término y pulsamos Search. 2. Búsquedas por etiquetas. 3. Búsquedas por categorías. Pulsando sobre browse, accederemos a las diferentes categorías clasificadas. Podemos añadir las presentaciones a Favorite y podemos añadirle etiquetas para así podemos organizar nuestros favoritos, podemos localizar las presentaciones relacionadas con la que estamos viendo en related slideshows. A medida que guardamos nuestras presentaciones se clasifican en nuestra sección de Favoritos dentro de nuestro Slidespace. COMPARTIENDO PRESENTACIONES CON OTROS SERVICIOS Una de las mayores ventajas de Slideshare, es que tenemos muchas posibilidades a la hora de integrar sus presentaciones en otros servicios, poder descargarlas y ofrecerlas por ejemplo en nuestros cursos en Moodle. Para integrar las presentaciones que localicemos en otro tipo de servicios, deberemos copiar el código Embed, también podríamos utilizar el código Embed específico para wordpress. YOUTUBE INTRODUCCIÓN Es el mayor sitio existente en la web para compartir vídeos. Existen ya muchos servicios de este tipo como google video, blinkx, dailymotion etc. Youtube fue creado en 2005 por tres trabajadores de Paypal y comprado en 2006 por Google, está basado en la tecnologia adobe flas video. La interfaz de youtube está disponible en 12 idiomas, y soporta formatos de vídeo como wmv, avi, mov, mpeg, divx, flv, ogg, 3gp. ALTA EN YOUTUBE 1. Accedemos a www.youtube.com o es.youtube.com y pulsamos sobre registrarse en el que debemos rellenar un formulario con nuestros datos. 2. Si hemos rellenado bien el formulario se nos enviara un correo electrónico para confirmar el alta. 3. Tras pulsar sobre el enlace del mensaje, ya tenemos acceso a nuestra página principal de youtube. EDICIÓN DE NUESTRO PERFIL Pulsamos sobre el botón cuenta en la parte superior derecha de la ventana principal y tendremos acceso a todas las opciones para personalizar el entorno y acceder a los diferentes servicios de Youtube: suscripciones, personalizar página principal, gestión de nuestros vídeos, bandeja de entrada con mensajes, vídeos o comentarios, acceso a canales, gestión de nuestros contactos y suscriptores, gestión de grupos, gestión de herramientas de datos y rendimiento, herramientas de financiación, configuración de nuestra cuenta. Para acceder al perfil personal pulsamos directamente en nuestro nombre de usuario en la parte superior derecha y accederíamos a: vídeolog o vídeoblog, favoritos, suscriptores, amigos. SUBIR VÍDEOS En general los vídeos que subamos deben ser no superiores a los 1024 Mb y una duración menor de 10 minutos, se tarda entre 1 y 5 minutos por Mb que subimos. 1. Para subir vídeos, pulsamos en Subir en la esquina superior derecha AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
75
2. Se nos mostrará un formulario para indicar aspectos sobre el vídeo: información, opciones de emisión, opciones de mapas y flechas, opciones para compartir. 3. Tras rellenar esos datos, seleccionamos el vídeo y a comenzar a subirlo. 4. Una vez subido nos aparecerá la confirmación de que el vídeo se ha subido sin problemas. También se nos mostrará el código del vídeo por si queremos insertarlo en un servicio externo. Desde el apartado Mis vídeos, podríamos ver ahora cómo se van subiendo todos nuestros vídeos. BÚSQUEDA DE VÍDEOS Y GESTIÓN DE FAVORITOS A. BÚSQUEDA DE VÍDEOS Lo aconsejable para realizar una búsqueda con detalle es pulsar sobre Opciones avanzadas para que nos aparezcan unos formularios donde indicar diversas opciones: con todas las palabras, con la frase exacta, ubicación, duración etc. Una vez pulsamos sobre Buscar, nos aparecerá una relación de vídeos que podemos ir viendo pulsando sobre ellos. B. GESTIÓN DE FAVORITOS Una vez localizado un vídeo que nos interese, podemos añadirlo a nuestra lista de favoritos pulsando sobre el enlace Favoritos. También podríamos añadirlo a alguna de las listas de reproducción que hayamos creado previamente para que poco a poco los vayamos clasificando. Se puede gestionar desde nuestro perfil personal en la sección Mis vídeos. COMPARTIENDO VÍDEOS CON OTROS SERVICIOS Una de las opciones más interesantes de Youtube, es que podemos integrar los vídeos en otros servicios: páginas web personales, blogs y nuestros cursos desarrollados en Moodle. 1. Accedemos al vídeo y seleccionamos o bien la URL o bien el código. 2. También podríamos personalizar la apariencia de nuestro vídeo, pulsando sobre el icono de Personalizar se nos abrirán varias opciones: incluir vídeos relacionados o no, el color del borde y controles, mostrar o no un borde. Copiamos el código que aparece en la casilla Insertar. SUSCRIPCIÓN EN CANALES DE VIDEOS Otra característica muy útil de Youtube para estar informados sobre una determinada temática, es suscribirnos a los canales de vídeos. Podemos suscribirnos a un canal de dos formas: 1. Pulsando el botón Suscribir que aparece cuando estamos visualizando un vídeo en la parte superior derecha. 2. Seleccionando la opción Canales en el buscador y a continuación indicar el término por el que queremos buscar el canal. Una vez que accedamos a el podemos suscribirnos, pulsando como en el ejemplo anterior en Suscribir.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
76
TALLER DE DISEÑO Y SERVICIO MULTIMEDIA
1.- REALICE UN MAPA CONCEPTUAL DE DISEÑO DE PANTALLA 2.- ESCRIBA UN ENSAYO DE 4 LINEAS SOBRE LENGUAJE VISUAL 3.- ESCRIBA LOS OBJETOS QUE INTEGRAN LA GUI, SIGUIENDO LOS CONCEPTOS DE DISEÑO BASICO 4.- ESCRIBA OTROS EJEMPLOS DE LOS ELEMENTOS CONCEPTUALES QUE SE PUEDEN DEDUCIR EN UNA PANTALLA MULTIMEDIA PUNTO.LINEA.PLANO VOLUMEN.5.- DIBUJE UNA PANTALLA Y ESCRIBA LOS ELEMENTOS VISUALES DE LA MISMA. 6.- DIBUJE UNA PANTALLA UTILIZANDO LOS ELEMENTOS RELACIONALES 7.- DIBUJE UNA PANTALLA Y ESCRIBA TODAS LAS PARTES QUE SE HA ESTUDIADO. 8.- TIENEN UNA SEMANA PARA SUBIR UN TRABAJO MULTIMEDIA EN CUALQUIER GESTOR QUE SE ENTREGO, Y UN TEMA RELACIONADO CON LA COMUNIDAD DE USTEDES. SUERTE MIS APRECIADOS ESTUDIANTES
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
77
CONTROL DE CALIDAD DE LOS SERVICIOS DE PRESENTACIÓN GENERALIDADES SOBRE LA CALIDAD DEL SOFTWARE La calidad del software, la obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad. Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. Existen algunos requisitos implícitos o expectativas que a menudo no se mencionan, o se mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que también pueden implicar una falta de calidad. La política establecida debe estar sustentada sobre tres principios básicos: tecnológico, administrativo y ergonómico. El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software. El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software. El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado. La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación. A partir del siguiente gráfico se observa la interrelación existente entre la Gestión de la Calidad, el Aseguramiento de la Calidad y el Control de la Calidad.
La gestión de la calidad Gestión de la calidad: "Aspectos de la función de gestión que determinan y aplican la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la gestión de la calidad se observa:
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
78
Gestión de la calidad de software (ISO 9000): Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad Política de calidad (ISO 9000): Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección.
El aseguramiento de la calidad Ante todo se debe conocer: Aseguramiento de la calidad: "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad". Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla. Hay quienes prefieren decir garantía de calidad en vez de aseguramiento. La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar confianza en que el producto tiene calidad. El aseguramiento de calidad del software está presente en:
Métodos y herramientas de análisis, diseño, programación y prueba. Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software. Estrategias de prueba multiescala. Control de la documentación del software y de los cambios realizados. Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos). Mecanismos de medida (métricas). Registro de auditorias y realización de informes.
Las actividades para el aseguramiento de calidad del software se detallan en:
Métricas de software para el control del proyecto. Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección). La gestión de la configuración del software.
Algunos métodos del aseguramiento:
Revisiones técnicas y de gestión (su objetivo es la evaluación). Inspección (su objetivo es la verificación). ¿Estamos construyendo el producto correcto?.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
79
Pruebas (su objetivo es la validación). ¿Estamos construyendo el producto correctamente?. Auditorias (su objetivo es la confirmación del cumplimiento).
El control de la calidad Se debe conocer: Control de calidad: "Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio". Control de la calidad del software: Técnicas y actividades de carácter operativo, utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida. El control de la calidad del software está centrado en dos objetivos fundamentales: Mantener bajo control un proceso. Eliminar las causas de los defectos en las diferentes fases del ciclo de vida. En general, se puede decir que el control de la calidad del software son las actividades para evaluar la calidad de los productos desarrollados. ¿Qué es un sistema de gestión de la calidad? Sistema de gestión de la calidad: "Estructura de la organización, responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a término la gestión de calidad". Un sistema de gestión de la calidad es la forma en la que una empresa o institución dirige y controla todas las actividades que están asociadas a la calidad. Las partes que componen el sistema de gestión son:
Estructura organizativa: departamento de calidad o responsable de la dirección de la empresa. Cómo se planifica la calidad. Los procesos de la organización. Recursos que la organización aplica a la calidad. Documentación que se utiliza.
Que una empresa tenga implantado un sistema de gestión de la calidad, sólo quiere decir que esa empresa gestiona la calidad de sus productos y servicios de una forma ordenada, planificada y controlada. Las normas de producto son diferentes a las normas de sistemas de gestión de la calidad. Una norma de producto puede ser el marcado CE, la marca N de producto homologado por AENOR, la marca GS de TÜV Product, y nos indican las características mínimas que el producto cumple en materia de seguridad. Normas de sistemas de gestión las hay de calidad (ISO 9001), de medioambiente (ISO 14001), del sector de automoción (ISO/TS 16949) y de seguridad (OSHAS). Las ventajas de implantar un sistema de gestión de la calidad son las siguientes:
Aumento de beneficios.
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
80
Aumento del número de clientes. Motivación del personal. Fidelidad de los clientes. Organización del trabajo. Mejora de las relaciones con los clientes. Reducción de costes debidos a la mala calidad. Aumento de la cuota de mercado.
Principios de la gestión de la calidad según ISO 9000: 2000 Los ocho principios de la gestión de la calidad identificados para lograr los objetivos de la calidad, según "ISO 9000:2000 Sistemas de Gestión de la Calidad. Fundamentos y vocabulario." son: 1. Enfoque al cliente. Las organizaciones dependen de sus clientes y por la tanto deberían comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las expectativas de los clientes. 2. Liderazgo. Los líderes establecen la unidad de propósito y la orientación de la organización. Ellos deberían crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organización. 3. Participación del personal. El personal, a todos los niveles, es la esencia de una organización y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organización. 4. Enfoque basado en procesos. Un resultado deseado se alcanza más eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso. 5. Enfoque de sistema hacia la gestión. Identificar, entender y gestionar los procesos interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una organización en el logro de sus objetivos. 6. Mejora continua. La mejora continua del desempeño global de la organización debería ser un objetivo permanente de ésta. 7. Enfoque basado en hechos para la toma de decisiones. Las decisiones eficaces se basan en el análisis de los datos y la información. 8. Relación mutuamente beneficiosa con el proveedor. Una organización y sus proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta la capacidad de ambos para crear valor. FACTORES DE CALIDAD DE SOFTWARE CORRECION.- Es la capacidad de los productos software para realizar con exactitud las tareas expresadas en su especificación. ROBUSTEZ.- Es la capacidad de los productos software de reaccionar apropiadamente ante condiciones excepcionales (indica el correcto flujo de ejecución del código) EFICIENCIA.- Es la capacidad del software para hacer un buen uso de los recursos que manipula PORTABILIDAD.- Es la facilidad con que un sistema software puede ser migrado entre diferentes plataformas hardware o software. INTEGRIDAD.- Es la característica de un sistema de ser capaz de proteger sus diferentes componentes contra los procesos o elementos que no tengan derecho de acceso a los mismos. FACILIDAD DE USO.- Es la facilidad con la que el usuario puede interactuar con un sistema software AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
81
VERIFICABILIDAD.- Es la facilidad de verificación de corrección de un software. Que tan sencillo es la realización de pruebas que garanticen la funcionalidad del sistema COMPATIBILIDAD.- Es la facilidad de combinar diferentes elementos con el fin de ejecutar una labor en conjunto EXTENSIBILIDAD.- Es la facilidad de adaptar los productos software a los cambios de su especificación REUTILIZACIÓN.- Es la capacidad de los productos software para funcionar como bloques básicos de la construcción de diferentes aplicaciones
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
82
TALLER DE CONTROL DE CALIDAD DE LOS SERVICIOS DE PRESENTACIÓN 1.- Realice un realizar un mapa mental de la calidad del software 2.- Llene la siguiente matriz
REQUISITOS DEL SOFTWARE Metodologías Expectativas
3.- Realice un mapa mental sobre los principios básicos de la calidad del software 4.- Escriba 2 ideas principales de la gestión de calidad. 5.- Escriba en donde está presente el aseguramiento de calidad del software 6.- Escribas donde se detallan las actividades para el aseguramiento 7.- Escriba los métodos del aseguramiento 8.- Realice un mapa mental sobre El control de calidad 9.- Escriba la definición de gestión de calidad. 10.- Escriba las partes que componen el sistema de gestión 11.- Escriba las ventajas de implantar un sistema de gestión de calidad 12.- Realice una matriz con los 8 principios de la calidad ISO 9000:2000 13.- Realice una matriz sobre los factores de la calidad del software
AREA TÉCNICA PROFESIONAL REMIGIO GEO GOMEZ GUERRERO
83