Story Transcript
Universidad de Colima
A la Secretaria de Relaciones Exteriores del Gobierno Mexicano Por haberme otorgado la beca, con la que realicé mis estudios de Posgrado en este grandioso país. Al personal del Departamento de Intercambio Académico y Becas de la Universidad de Colima Por su especial orientación y ayuda en todo momento. Al personal administrativo de la Facultad de Telemática Por las atenciones brindadas. A los directivos del Centro de Rehabilitación y Educación Especial de Colima Por haberme permitido aplicar este trabajo en su organización. Al M. en C. Armando Román Gallardo Por su orientación para la realización de este proyecto. A la Maestra María Andrade Aréchiga Por su constante apoyo y disposición desde el momento en que llegue a Colima. A mis amigos mexicanos y extranjeros Quienes con su cariño y amistad sincera, han hecho de estos dos años los mejores de mi vida.
A Dios Todopoderoso Por permitirme alcanzar una meta más en mi vida. A mi Querida abuelita Por su amor y dulzura… ¡Siempre estarás en mi mente y en mi corazón! A mis padres Quienes a pesar de estar lejos, no me han abandonado ni un instante… ¡Este logro es para ustedes! A mis hermanas y sobrinos Por ser siempre mi fuente de inspiración y alegría… ¡Les adoro! A Marko Dariel Mi gran amor, por su paciencia, apoyo e inmenso cariño… ¡Te admiro mucho! A la Familia Mercado Palomera Quienes me brindaron todo su amor y ayuda, para que me sintiera como en casa. ¡Los quiero mucho! A la Familia Del Toro Mejía Por haberme abierto las puertas de su corazón y haber sido mi primera familia mexicana… ¡Nunca los olvidaré! A mis queridos hermanos, quienes fueron mis primeros amigos en Colima Lucy, Aarón e Ironelis… ¡Los extrañaré mucho!
1.1
Planteamiento del problema ........................................................................................4
1.2
Objetivo General: ........................................................................................................4
1.3
Objetivos específicos...................................................................................................4
1.4
Justificación .................................................................................................................4
1.5
Delimitación del proyecto ...........................................................................................5
1.6
Metodología del caso de estudio .................................................................................6
1.7
Estructura de la tesis ....................................................................................................7
2.1
Generalidades de la discapacidad visual en el Estado de Colima. ............................11
2.2
Centro de Rehabilitación y Educación Especial (CREE) de Colima. .......................13
2.3
Organigrama del CREE. ............................................................................................16 !
"
3.1
Antecedentes..............................................................................................................21
3.2
Importancia y ventajas del “SCI” en WWW.............................................................26
3.3
Tecnologías y herramientas utilizadas en la creación de la aplicación “SCI”...........29
3.3.1
Arquitectura Hardware y Software....................................................................32
3.3.2
Arquitectura Cliente/Servidor............................................................................33
#
$ '
% & ( )
4.1
Generalidades de la Ingeniería de/l Software. ...........................................................37
4.1.1
Qué es la Ingeniería de/l Software?...................................................................37
4.1.2
Importancia de la Ingeniería de/l Software........................................................38
4.2
Metodología de diseño orientado a objetos: Lenguaje de Modelado Unificado
(UML)....................................................................................................................................38 4.2.1
Generalidades del UML.....................................................................................39
4.2.2
UML como modelado orientado a objetos. .......................................................40
4.2.3
Diagramas del UML. .........................................................................................41
4.2.3.1
Diagrama de Casos de uso.............................................................................42
4.2.3.2
Diagrama de clases. .......................................................................................44
4.2.3.3
Diagrama de secuencia. .................................................................................46
4.2.4 4.3
Herramientas de modelado para el UML. .........................................................47 Metodologías de interacción humano-computadora (HCI), orientada al diseño de una
interfaz para personas con discapacidad visual. ....................................................................49 )
$!
"' *" +( ,
5.1
)
Análisis y diseño del sistema.....................................................................................55
5.1.1
Análisis de requerimientos del usuario..............................................................55
5.1.2
Análisis de los requerimientos del sistema: Definición de las funciones de la
aplicación...........................................................................................................................57 5.1.2.1
Funciones Básicas. ........................................................................................57
5.1.2.2
Funciones de Comunicación..........................................................................58
5.1.3
5.2
Definición de los objetos para la herramienta de comunicación. ......................59
5.1.3.1
Casos de Uso. ................................................................................................60
5.1.3.2
Diagramas de interacción del sistema. ..........................................................68
5.1.3.3
Modelado de clases........................................................................................72
Funcionamiento general del SCI. ..............................................................................74
-
$ . 6.1
%
/
6.1.1
Desarrollo de la evaluación del sistema. ...................................................................85 Prueba Piloto. ....................................................................................................88
6.1.1.1
Los participantes............................................................................................89
6.1.1.2
Localización del ejercicio..............................................................................90
6.1.1.3
Procedimiento del ejercicio. ..........................................................................90
6.1.1.4
Limitaciones en la prueba..............................................................................90
6.1.1.5
Recopilación de la información.....................................................................91
6.2
Análisis de los datos y Resultados.............................................................................92
6.3
Trabajo a futuro. ........................................................................................................93 )
0
" 1
Figura 1. Metodología del caso de estudio. .................................................................................7 Figura 2. Instalaciones del CREE, Colima................................................................................14 Figura 3. Instalaciones del Centro de Tecnología Adaptada del CREE, Colima. .....................15 Figura 4. Organigrama del Centro de Rehabilitación y Educación Especial del estado de Colima, 1998. ............................................................................................................................17 Figura 5. Diagrama de bloques general de un sistema de conversión texto-voz.......................21 Figura 6. Modelo Cliente/Servidor............................................................................................34 Figura 7. Diagrama de casos de uso. .........................................................................................43 Figura 8. Diagrama de clases.....................................................................................................46 Figura 9. Diagrama de casos de uso del SCI. ............................................................................67 Figura 10. Diagrama de secuencia “Enviar mensaje”. ..............................................................68 Figura 11. Diagrama de secuencia “Terminar comunicación”..................................................69 Figura 12. Diagrama de secuencia “terminar sesión”................................................................69 Figura 13. Diagrama de secuencia “iniciar sesión”...................................................................70 Figura 14. Diagrama de secuencia “Iniciar comunicación por búsqueda de contacto”. ...........70 Figura 15. Diagrama de secuencia “Iniciar comunicación por selección de contacto”.............71 Figura 16. Diagrama de clases del SCI......................................................................................74 Figura 17. Interfaz principal del SCI. ........................................................................................76 Figura 18. Interfaz de la lista de usuarios conectados al SCI. ...................................................78 Figura 19. Interfaz de selección y búsqueda de contactos.........................................................78 Figura 20. Ventana de búsqueda personalizada de contactos....................................................78 Figura 21. Esquema general del funcionamiento del SCI. ........................................................80 Figura 22. Diagrama de Distribución del SCI. ..........................................................................81 Figura 23. Usabilidad y metas de las experiencias de los usuarios. ..........................................88
Tabla 1. Estadística que muestra el porcentaje de la población del estado de Colima, que presenta algún tipo de discapacidad. .........................................................................................13 Tabla 2. Ventajas del SCI con respecto a otros sistemas de mensajería instantánea y chat......28 Tabla 3. Diagramas del UML. ...................................................................................................42 Tabla 4. Necesidades específicas de los invidentes del CREE. ...............................................56 Tabla 5. Funciones básicas del SCI. ..........................................................................................58 Tabla 6. Funciones de comunicación del SCI. ..........................................................................59 Tabla 7. Identificación de actores y sus funciones directas dentro del sistema.........................60 Tabla 8. Significado de los atributos del sistema. .....................................................................72 Tabla 9. Operaciones o métodos de las clases del sistema........................................................73
Este proyecto de tesis presenta un caso de estudio en donde se analizó la problemática que tienen los discapacitados visuales de la Organización CREE del Estado de Colima, con respecto a sus requerimientos de comunicación en línea a través de Internet. Para resolver dicha situación se decidió elaborar una herramienta de comunicación especializada (mensajería instantánea) que tuviera la característica de sintetización de voz; es decir, la capacidad de realizar una conversión de texto a voz (Text To Speech) en idioma español. De tal manera, que esta particularidad le brinda a dichos usuarios una guía hablada acerca del funcionamiento completo de la herramienta y de esta forma poder interactuar con personas que compartan características similares o con todo aquel que la considere útil; y así obtener los conocimientos y beneficios que la misma les ofrece. Esta aplicación lleva el nombre de SCI “Sistema de Comunicación para Invidentes” y fue desarrollada en base a una exhaustiva metodología de análisis y diseño orientada a objetos realizada con el lenguaje de modelado unificado UML; el cual es un método para visualizar, especificar, construir y documentar los parámetros que conforman a un sistema. UML fue utilizado para ilustrar la definición detallada de las funciones básicas del sistema y de los objetos que componen la herramienta de comunicación. Finalmente, el análisis de los datos se basó en un método de evaluación de los criterios de usabilidad (System Usability Scale), el cual consiste en un cuestionario previamente definido. Los resultados de este caso de estudio muestran que los invidentes encontraron un alto grado de seguridad en el manejo del sistema, ya que el mismo les resultó fácil de usar. Por otro lado, las respuestas obtenidas a través del cuestionario de evaluación indican que los participantes sí prefieren utilizar este sistema sobre otros, ya que el mismo les ofrece una guía completa del funcionamiento del mismo, lo cual confirma que existe un buen nivel de aceptación de los usuarios entorno a la herramienta. Por último, los resultados reflejan que el grado de utilidad que brinda el sistema es completamente satisfactorio; lo que nos lleva a deducir que el SCI representa una oportunidad de comunicación en línea para la población invidente del CREE.
This thesis presents a case study analyzing the problems faced by the visually impaired people from the CREE in Colima, regarding their online communication needs through Internet. In order to solve this problem, a specialized communication software (instant messenger) has been developed. This software has the feature of voice synthesis, that is to say, the ability of a Text To Speech conversion in Spanish. This feature provides the users with a spoken guide on the functionality of the software, so that it can be used for interaction with people with similar characteristics, or with anyone who finds it useful. The software application is named SCI (Sistema de Comunicación para Invidentes – Communication System for the Blind), and its development followed an Object Oriented methodology using UML, which allows visualizing, specifying, building and documenting a system. UML was used for illustrating the basic functions of the system, and the objects of the communication software. The data gathering and analysis for the case study was based on the System Usability Scale (SUS), consisting on a pre-formatted questionnaire. The results of this case study show that the blind expressed a high degree of comfortableness using the system, which they found easy to use. Similarly, the results showed that the users prefer this system over other similar systems, because it provides a guide of its functionality; with these results, the SCI proved to have a good level of user acceptance amongst the CREE users.
La carencia de alguna de las capacidades físicas de un individuo impide el pleno desarrollo de las diversas actividades que el mismo realiza, esto se traduce en una desventaja para la persona. Debido a esta situación, el presente trabajo es un estudio que expone la problemática que existe en la sociedad invidente de la Organización CREE∗ del Estado de Colima, México, ya que estas personas requieren de un medio de comunicación a través de la red Internet; y actualmente las aplicaciones desarrolladas para personas que presentan discapacidades visuales son de tipo general, además de que es muy limitada su distribución. Conscientes de la progresiva importancia de la información publicada en Internet así como de las dificultades que los usuarios con discapacidad visual encuentran en el acceso a esta información, se ha hecho necesario llevar a cabo estudios acerca de los nuevos conceptos y parámetros de estandarización y accesibilidad que pueden permitir el manejo de diversas aplicaciones y sitios web que contienen información valiosa para todo tipo de usuarios, con el objetivo de conseguir la igualdad de oportunidades y la plena participación de los invidentes en la cultura electrónica. Por lo tanto, al implementar los conocimientos de las telecomunicaciones aunadas a la información (Telemática), un amigable diseño de la interfaz de comunicación especializada apoyada en las nuevas tecnologías de los agentes de sonido o agent ring y los controles ActiveX Text To Speech, unidos con las teorías de interacción humano-computadora, se ha logrado la construcción de un sistema de mensajería instantánea para personas invidentes o con poca capacidad visual, el cual ha sido llamado “Sistema de Comunicación para Invidentes, SCI”. El mismo le brinda a éstas personas la oportunidad de interactuar con otras que se encuentren en diversos lugares y que presenten características similares; o simplemente con aquellas que la consideren útil. Además, este sistema permitirá que dichas personas desarrollen mejor sus habilidades de comunicación e integración en la sociedad actual.
∗
CREE (Centro de Rehabilitación y Educación Especial)
1.1 Planteamiento del problema
La Organización CREE (Centro de Rehabilitación y Educación Especial) del estado de Colima, carece de un medio o interfaz de comunicación a través de Internet, para que los discapacitados visuales puedan interactuar con otras personas a través de la red.
1.2 Objetivo General:
Brindarle a la población con discapacidad visual del CREE una herramienta de comunicación especializada (mensajería instantánea), con capacidad de conversión Text To Speech en idioma español; con miras a expandir la utilización de esta aplicación a poblaciones que compartan características similares.
1.3 Objetivos específicos
Lograr que la herramienta de comunicación sea fácil de utilizar, mediante ayudas que guíen al usuario a su adecuado funcionamiento. Mantener un bajo costo de implementación del sistema. Fomentar la utilización de este tipo de herramientas en la población con discapacidad visual del CREE.
1.4 Justificación El desarrollo de herramientas informáticas para personas que presentan algún tipo de discapacidad, constituye un signo evidente del avance tecnológico existente en esta nueva era; lo cual proporciona mayor autosuficiencia a las personas que tienen capacidades diferentes y que buscan estar actualizadas a través de la información que se encuentra en línea.
!
Dicha población desarrolla mejor otras facultades y sólo necesitan una herramienta de apoyo o de base para lograr sus objetivos y aspiraciones de una manera satisfactoria; de tal manera, que se incremente su formación profesional y su plena incorporación en la sociedad. Por lo tanto, la inquietud por realizar este proyecto surgió debido a que es de suma importancia aportar a la sociedad invidente un medio de comunicación (mensajero instantáneo) a través de Internet; ya que presentar esta debilidad, no implica que sea una limitante para aprender a utilizar la computadora, dispositivos periféricos, software o aplicaciones y por consiguiente la red más importante de información “Internet”. Por último, se considera que la elaboración de esta herramienta permitirá que la sociedad invidente de México y de otros lugares, puedan satisfacer sus necesidades de comunicación en línea; las cuales se ven muy limitadas por la falta de estandarización, accesibilidad y creación de aplicaciones especializadas para dichas personas.
1.5 Delimitación del proyecto
Con el objetivo de que el SCI sea una herramienta de comunicación amigable y eficiente para los usuarios invidentes, la aplicación le brinda a los mismos la ventaja de poder desplazarse y cambiar de ventanas de conversación utilizando las teclas de funciones de F1 a F9; ya que sólo se permite establecer comunicación con nueve contactos a la vez. Sin embargo, este sistema puede ser ampliado y mejorado en proyectos futuros, con respecto al establecimiento de comunicación con un mayor número de usuarios. Por otro lado, como parámetro principal para el desarrollo de este proyecto se especificó que los discapacitados visuales deben poseer conocimientos básicos en informática; y por consiguiente, saber manejar el teclado para que puedan accesar al sistema sin mayor dificultad.
"
1.6 Metodología del caso de estudio
A continuación se muestra un esquema en el que se describe brevemente la metodología aplicada en la investigación.
¿Cuál es la problemática existente en la población invidente del CREE? Carecen de una interfaz de comunicación a través de Internet, para que ellos interactúen con otras personas a través de la red.
Revisión de la literatura Falta de accesibilidad a la información en línea (limitación para los invidentes) Herramientas de síntesis de voz (TTS), como apoyo básico para el desarrollo de la aplicación Teorías HCI y directrices de la W3C, para el diseño de aplicaciones orientadas a personas con discapacidades
Desarrollo del software Diseño e implementación del sistema
#
Evaluación de la Usabilidad Ejercicio básico con la herramienta (prueba piloto) Procedimiento del ejercicio: Observación Cuestionarios
Análisis de los datos (resultados y conclusiones)
Figura 1. Metodología del caso de estudio.
1.7 Estructura de la tesis
La tesis está estructurada en 6 capítulos, los cuales se describen a continuación en forma general: Capítulo I: Introducción, en el se describen los aspectos que definen las características del proyecto como lo son: la problemática existente en el área de estudio, los objetivos, la justificación, alcances o delimitación del proyecto y la metodología aplicada para obtener los resultados esperados; los cuales brindan una mayor comprensión entorno a la investigación realizada. Capítulo II: Generalidades de la discapacidad visual, en donde se encuentra información acerca de la situación actual de la población invidente del Estado de Colima, México; además de una descripción general de las actividades realizadas en el Centro de Rehabilitación y Educación Especial (CREE).
$
Capítulo III: Marco de referencia, en esta sección se encuentran los antecedentes o investigaciones relacionadas al proyecto, los cuales sirven de base para el desarrollo del mismo. Capítulo IV: Generalidades de las metodologías y herramientas utilizadas en la elaboración del Sistema de Comunicación para Invidentes “SCI”, en este capítulo se brinda una breve descripción del funcionamiento del lenguaje de modelado unificado (UML) y de los conceptos básicos de la ingeniería de software; los cuales han sido de gran importancia para el análisis, diseño y construcción del sistema. Capítulo V: Metodología aplicada para el desarrollo de la interfaz gráfica de comunicación “SCI”, en este capítulo se realizó un análisis de los requerimientos del usuario y del sistema; además, de que se muestran y describen cada uno de los diagramas (elaborados en base al UML), que definen el funcionamiento completo del sistema. Capítulo VI: Pruebas y resultados, en el se muestra como se llevó a cabo la aplicación de la prueba piloto, tomando en cuenta parámetros como lo son: características de los participantes, localización y procedimiento del ejercicio, limitaciones encontradas, recopilación de la información y lo más importante el análisis de los datos obtenidos; para finalmente brindar las conclusiones respecto a los objetivos planteados.
%
2.1 Generalidades de la discapacidad visual en el Estado de Colima.
La vista es uno de los sentidos más preciados para quienes lo poseen. A través de los ojos, las personas pueden percibir la realidad y acceder a gran cantidad de información. Quienes no poseen el sentido de la vista deben superar este obstáculo y recurrir a medios alternativos propios, como la agudización natural del resto de sus sentidos o contar con los mecanismos tecnológicos o científicos de apoyo para percibir la realidad” (Rosas Barrientos, 2002). ¿Qué es la discapacidad visual? La discapacidad visual puede ser ceguera o debilidad visual. La ceguera es la ausencia total del sentido de la vista, ya sea por origen congénito o adquirido, este le impide a la persona valerse por sí misma en actividades que requieren exclusivamente de este importante sentido (ídem). “Según la OMS∗, la ceguera es aquella visión menor de 20/400 ó 0.05, considerando siempre el mejor ojo y con la mejor corrección; por otro lado, se considera que existe ceguera legal cuando la visión es menor de 20/200 ó 0.1 en el mejor ojo y con la mejor corrección” (OMS, 2003). La debilidad visual es la reducción significativa del sentido de la vista, que independientemente del tratamiento que se realice, ya sea cirugía o el uso de elementos de apoyo (lentes, lupas, microscopios u otros), sigue limitando a la persona para valerse por sí misma y también puede originarse de forma congénita o de manera adquirida. ¿Cuáles son las Causas? Las deficiencias visuales ya sean parciales o totales pueden ser provocadas por algún accidente, pero a la vez existen numerosas enfermedades que la producen tales como: catarata, glaucoma, leucomas cornéales, retinopatía diabética, retinopatía del prematuro, catarata y
∗
Organización Mundial de la Salud.
&&
glaucoma congénitas, atrofia óptica, distrofia retinal y retinosis pigmentaria, entre otras (Rosas Barrientos, 2002). ¿Se puede prevenir? En muchas ocasiones las medidas de prevención para evitar la existencia de este tipo de anomalías se encuentran en nuestras propias manos como por ejemplo: evitar hasta donde sea posible los accidentes de tránsito, en el trabajo, enfermedades ocupacionales, mantener una adecuada atención durante el período del embarazo, realizar estudios de detección y registro de deficiencias en los recién nacidos; además, del asesoramiento genético y la consulta oftalmológica precoz que se debe aplicar en los casos en donde los antecedentes de las familias indican que son por causas hereditarias (ídem). SITUACIÓN DE LAS PERSONAS CON DISCAPACIDAD EN EL ESTADO DE COLIMA De acuerdo a los resultados obtenidos en el XII Censo de Población y Vivienda 2000, en el Estado de Colima residen 542,627 personas de las cuales 13,022 padecen de algún tipo de discapacidad, lo cual representa el 2.40% de la población total. Aunque la cifra resulta sorprendente, ya que las estimaciones de la Organización Mundial de la Salud hacían prever que el porcentaje fluctuaría entre 7 y 10% de la población total, este es el dato más confiable del que se dispone y a continuación se transcribe su distribución por área de discapacidad (DIF, 2002).
&'
Discapacidad
Cantidad de personas
Porcentaje (%)
VISUAL
3805
29.22%
MOTRIZ
5994
46.03%
AUDITIVA
2009
15.43%
MENTAL
1903
14.61%
DEL LENGUAJE
514
3.95%
OTRA
141
1.08%
Tabla 1. Estadística que muestra el porcentaje de la población del estado de Colima, que presenta algún tipo de discapacidad.
Fuente: (DIF, 2002) Nota: La suma de los distintos tipos de discapacidad puede ser mayor al total por aquella población que presenta más de una discapacidad. Sin embargo, de acuerdo a la información vertida por las veintiséis asociaciones para personas con discapacidad que realizan labores tendientes a la integración social de este grupo en el Estado de Colima,
se puede afirmar que solo 2446 personas con estas características
(18.78%) reciben algún beneficio derivado del proceso asociativo, ya sea por su afiliación directa a alguna organización o porque reciben algún tipo de apoyo (DIF, 2002).
2.2 Centro de Rehabilitación y Educación Especial (CREE) de Colima.
Los Centros de Rehabilitación y Educación Especial, son instituciones que fueron creadas para prestar atención y servicios de incorporación integral médica, educativa y profesional a la población que presente cualquier tipo de discapacidad. La creación se justificó debido al creciente incremento de la invalidez en el estado, factores que afectan la dinámica familiar, social, cultural y laboral entre otros, los cuales repercuten en el desarrollo general del país
&
(Ramos Zepeda, 1985). El CREE Colima inicia labores en Junio de 1979, bajo la dirección de la Doctora Brenda Lorena Amador Gamero, especialista en rehabilitación. La misión de la institución es lograr la reinstalación social y laboral de aquellas personas que por alguna enfermedad o accidente, han disminuido su capacidad física para ejecutar alguna actividad; está dirigido al público en general, sin importar sexo ni edad; pero principalmente a personas con escasos recursos económicos (Ramos Zepeda, 1985).
Figura 2. Instalaciones del CREE, Colima.
La institución CREE de Colima dispone de un departamento llamado “Centro de Tecnología Adaptada”, el cual es un área destinada a brindar a la población con discapacidad y/o necesidades educativas especiales, las herramientas de cómputo necesarias que les permitan una rehabilitación más rápida a través del uso clínico o pedagógico de éstas. Dicho centro se fundó en Octubre de 1998, gracias a un convenio establecido entre el DIF1 nacional y la compañía IBM2. Actualmente se encuentra bajo la coordinación de la Lic. Edna Edith Radillo Peña quien es terapista en comunicación humana (Casian García, 1998) .
1
DIF (Desarrollo Integral de la Familia).
2
En Inglés IBM (International Business Machines Corporation).
&!
Figura 3. Instalaciones del Centro de Tecnología Adaptada del CREE, Colima.
Los objetivos de esta sección son básicamente: respaldar el acceso a niveles superiores de preparación académica utilizando la computadora como herramienta principal de apoyo. con la orientación de un especialista y el manejo de uno o más programas el paciente o alumno tendrá la posibilidad de lograr con mayor eficacia su capacitación y/o rehabilitación. mejorar la interacción de esta población con el mundo que le rodea apoyándose en el manejo de diversos software diseñados y donados al centro por la IBM (ídem). Esta área tiene a su disposición once computadoras IBM, con programas y dispositivos especializados para personas que presentan diversas discapacidades.
Entre ellos se pueden
mencionar: software para lectura de pantallas (Speech Viewer, Jaws Screen Reader), dispositivos periféricos como: teclados tipos Braille, teclado alterno intellikeys, sintetizador de voz dolphin, entre otros. Además, disponen de una red tipo LAN3 con conexión a Internet (Casian García, 1998). Las personas que tienen acceso a esta sección son las provenientes del propio centro, de los centros adscritos a educación especial como los CAM4 y las USAER5, de
3
En inglés LAN (Local Area Network).
4
CAM (Centros de Atención Múltiple).
5
USAER (Unidad de Servicio y Apoyo a las Escuelas Regulares).
&"
los niveles de preescolar y primaria que requieran para su tratamiento el uso de las herramientas de cómputo (ídem).
2.3 Organigrama del CREE.
A continuación se muestra el organigrama del Centro de Rehabilitación y Educación Especial, con el propósito de se conozca de forma general la distribución de los departamentos que conforman a ésta organización; además de que también se encuentran los nombres de las personas que coordinan o dirigen cada uno de dichos departamentos, en caso de que se requiera de algún tipo de información.
Coordinación General Dr. J. Ismael Mariscal
Coord. Técnica Administrativa C.P. Beatriz E. Cisneros Larios
Coord. Técnica de Valoración y Tratamiento
Coord. Técnica de Enseñanza
Dr. Ángel Aguirre Ortíz
Recursos
Coord. de Tratamiento
Programa de
Humanos
Integral
Educación Continua
Recursos
Área Médica y
Escuela para Padres
Financieros
Paramédica
Recursos
Área de Terapia Física
Programas de Apoyo
Materiales Servicios Generales
Área de Terapia
Capacitación
Ocupacional Recapacitación
Área de Terapia de Lenguaje Área de Comunicación Social Área de Ortesis y Prótesis
Unidades Básicas de Rehabilitación
Figura 4. Organigrama del Centro de Rehabilitación y Educación Especial del estado de Colima, 1998.
Fuente: (Ramos Zepeda, 1985)
&$
3.1 Antecedentes.
Se han llevado a cabo proyectos de diversos tipos que incluyen el estudio y aplicación de la conversión texto-voz para su desarrollo, como por ejemplo el proyecto de fin de carrera de Javier Asenjo Alcalde de la Universidad Politécnica de Madrid, que lleva como título desarrollo de un corrector automático de textos sin marcas ortográficas de acentuación, el cual consiste en realizar la conversión automática de un texto a voz sintetizada de la forma más correcta posible, analizando el texto de entrada para determinar la estructura de la sentencia y la composición fonética de cada palabra (procesado lingüístico-prosódico); además de que se tiene que transformar dicha representación lingüística abstracta en voz (procesado acústico) (Alcalde, 2000). Este proceso se puede apreciar de manera representativa en la siguiente gráfica:
Figura 5. Diagrama de bloques general de un sistema de conversión texto-voz. Fuente: (Alcalde, 2000)
En el estudio de la tesis de Asenjo se describen cuatro tipos de métodos para la confección de sistemas con síntesis de voz, pero el desarrollo de dicho proyecto sólo se baso en el sintetizador por formantes y el de concatenación. Los cuatro métodos son los siguientes: Sintetizador por formantes: son una serie de filtros que modelan el tracto vocal, los cuales son accionados por fuentes que simulan las cuerdas vocales. La calidad en la voz sintetizada es menor a pesar de que gozan de una gran difusión. Sintetizador por concatenación de forma de onda: consiste en concatenar unidades pregrabadas para generar nuevas frases, con lo que intentan aumentar la calidad de la
'&
señal generada minimizando el ruido de codificación. La complejidad es alta, pero la calidad obtenida en la voz es muy buena. Sintetizador articulatorio: en éstos se realiza una analogía entre parámetros relativos a los órganos articulatorios y sus movimientos con parámetros circuitales. Pueden proporcionar una alta calidad en la voz sintética pero es muy difícil obtener y controlar parámetros de forma automática en un sintetizador de este tipo. Sintetizador derivados de las técnicas de predicción lineal (LPC): este tipo de sintetizador se basa en el análisis-síntesis, en el que los parámetros que controlan la función de transferencia del filtro que simula el tracto vocal son parámetros LPC (ídem). El trabajo de tesis de Alejandro Casas Guijarro también egresado de la Universidad Politécnica de Madrid consiste en un sistema telefónico multilínea con reconocimiento de voz y acceso a base de datos remota, el cual se basa en la conversión texto-voz ya que su objetivo es sintetizar voz a partir de un texto de entrada; finalmente la voz generada debe ser muy inteligible y tener una entonación natural. La conversión texto-voz de este proyecto se baso en los mismos parámetros que utilizó Asenjo en su tesis (Alcalde, 2000) los cuales son: el proceso lingüístico, prosódico y la síntesis de los sonidos. Se puede observar entonces que los tres procesos fueron de gran importancia para lograr una conversación calidad, ya que si el procesado lingüístico no es el adecuado, el mismo no sería capaz de interpretar abreviaturas, fechas, y distinguir números romanos de otras cantidades numéricas. Por otro lado, el análisis prosódico también debía ser capaz de controlar la acentuación y descomposición silábica de las palabras, ya que existen muchas sílabas sin acento ortográfico pero con acento prosódico, las cuales son características de la lengua castellana (Casas Guijarro, 1997). Según Casas, existen dos formas de realizar la síntesis del sonido, los cuales se describirán a continuación: Sintetizadores paramétricos: son aquellos en los que cada sonido se caracteriza por una serie de parámetros, entre los que se incluyen los relativos o concernientes a el análisis prosódico.
''
Sintetizadores no paramétricos: en este otro tipo de sintetizador el mensaje se genera concatenando unidades de sonido pregrabadas que posteriormente son modificadas para incluir la información prosódica (ídem). Ambos métodos presentan sus ventajas y su particular modo de operación pero Casas basó su sistema en el segundo ya que llegó a la conclusión de que a través de este obtendría una mejor calidad en la voz sintetizada, ya que se trabaja a partir de mensajes pregrabados básicamente. Hoy en día la implementación de sistemas de síntesis de voz en aplicaciones reales es un hecho, gracias a los avances en el campo de la ingeniería electrónica, la computación, entre otros de gran importancia; pero hace algunos años los proyectos basados en síntesis de voz se apoyaban fundamentalmente en los conocimientos del área lingüística, ya que para lograr un óptimo nivel de voz sintetizada, éstos sistemas debían basarse en amplios y correctos conocimientos fonéticos. Por esta razón el diseño y evaluación de aplicaciones de este tipo requería de la colaboración de expertos en temas relacionados con la lingüística y no tanto con aspectos propiamente técnicos. Gran porcentaje de la información que manejamos llega a través de la vista, por ello las personas con ceguera y/o deficiencia visual han tenido que buscar los medios y modos alternativos de acceso a esta, para que la falta de visión no represente más limitaciones de las estrictamente necesarias. Cuando la ceguera es total, el oído y el tacto pasan a ser los principales canales en la recepción de la información, mientras que para las personas con deficiencia visual el resto de visión que poseen es un recurso más a utilizar. En la actualidad la Red Internet es un medio inestimable de acceso a la información para las personas con discapacidad visual, aunque para que estas personas obtengan los beneficios y la accesibilidad que brinda la misma, es necesario lograr la estandarización de los sitios web (Macías & Sánchez, 2002). El enfoque de estandarización se refiere a que por lo general todas las páginas en Internet están actualizando sus formatos y su información cada cierto tiempo; por ejemplo los sitios web de: periódicos, canales de noticias, finanzas, clima, entre otros; tienen que actualizar su información diariamente y de hecho, existen sitios en Internet que cambian su información
'
cada mes y algunas nunca las vuelven a actualizar desde su creación (Molteni, 2001a). Es por este constante cambio que no existe el término estandarización y accesibilidad en la información contenida en la red y mucho menos en los formatos y métodos de acceso a la misma (Marquéz Avendaño, 2004). En este nuevo siglo, las computadoras y su uso cotidiano son algo que no puede pasar inadvertido. Debido a esto, cualquier tecnología que se desarrolle en este ámbito tendrá una importancia relevante en nuestra sociedad, ya que día a día surgen nuevas herramientas, programas y equipos, que nos permiten desarrollar e implementar sistemas, que hagan frente a la problemática y necesidades de todo tipo de usuario (ídem). Actualmente, existen en el mercado muchos dispositivos que apoyan a los discapacitados visuales en el uso y manejo de la computadora como herramienta de aprendizaje, como por ejemplo: máquinas lectoras para ciegos, lupas de pantallas, navegadores de voz, enseñanza asistida por ordenador, terminales parlantes, teclados tipo Braille (Paredes, Palacios, & Rodas, 2002), ratón o mouse para invidentes, entre otros; además, de que se han creado software de diversos tipos para personas que presenten estas características, como por ejemplo programas de: entretenimiento, videojuegos, lectura de pantallas (Screen Readers) (RNIB, 2003), reconocimiento de voz y texto, sitios accesibles para discapacitados visuales como la primera biblioteca hispana para invidentes (http://www.tiflolibros.com.ar/), la Cervantes Virtual (www.cervantesvirtual.com), Manolo.net (Bianchi, 2002) o el curso gratuito de navegación por Internet para ciegos, que ofrece la plataforma virtual de la universidad mexicana ITESM (tec.com.mx) representan aún el principio para lograr obtener la información de difícil acceso (Galo, 2001). Pero aún con estas innovaciones se considera que no se ha aprovechado al máximo los recursos que ofrece la red Internet para apoyar más a los invidentes; ya que se considera que es un descuido de parte de los webmasters la no creación de sitios más estándares porque el hecho de que una persona presente esta discapacidad no le impide beneficiarse de la información y las nuevas tecnologías, a la cual todos tenemos derecho (Macías & Sánchez, 2002). Por otro lado, ya que Internet actualmente es considerada una de las herramientas más importantes de comunicación entre las personas a nivel mundial, es importante que estas personas tengan a su disposición aplicaciones de comunicación especializada; pero la realidad
'!
es que éstos son proyectos que aún se encuentran en vías de desarrollo y las que existen no están disponibles para los usuarios generales (García, Hilera, & Sicilia, 2002). Por lo tanto, este proyecto aborda el área de la comunicación a través de la conversión texto a voz en idioma español, implementado en una interfaz que consiste en un mensajero instantáneo. Esta herramienta ha sido desarrollada para proporcionar a la población con discapacidad visual de la Organización CREE∗ del estado de Colima y a las personas que lo requieran la oportunidad de comunicarse con otras que presenten las mismas dificultades o con cualquier persona que se encuentre en la red. Es importante mencionar que para desarrollar este proyecto se tuvo primero que documentar y evaluar acerca de los software de programación que actualmente existen para construir aplicaciones de conversión de texto-voz, ya que representan la herramienta básica para llevarlo a cabo. Además, se analizaron las metodologías adoptadas por las teorías de Interacción HumanoComputadora y se aplicaron las directrices que describen como realizar el desarrollo de aplicaciones para personas que presentan algún tipo de discapacidad; después se procedió a analizar, diseñar y crear una interfaz de comunicación accesible, eficiente, y amigable para dichos usuarios, el cual fue evaluado mediante una prueba piloto aplicada a la comunidad con discapacidad visual del Centro de Tecnología Adaptada de la Organización CREE del estado de Colima, quienes son los usuarios directos del mismo. El hombre necesita comunicarse por naturaleza, y esto es lo que le ha llevado a buscar nuevas formas de comunicación durante toda su existencia, desde los sistemas Morse pasando por la radio y el teléfono, los cuales en síntesis constituyen el origen de lo que actualmente se conoce como las “autopistas de la información”. Esta esencia comunicativa, junto al constante desarrollo tecnológico, abaratamiento y variedad existente en los equipos informáticos, han aportado grandes ventajas a la humanidad, ya que la computadora, dispositivos periféricos, software o aplicaciones y las redes telemáticas han llegado a formar parte esencial en casi
∗
CREE (Centro de Rehabilitación y Educación Especial)
'"
todos los aspectos de la vida diaria. Esta nueva generación al acceso, manejo, emisión y recepción de todo tipo de información se encuentra inmersa bajo el concepto de HCI∗ (Brull, 1997). La tecnología actual, intenta que dicha interacción del hombre con las máquinas, sea lo más natural posible en el sentido de posibilitar una comunicación oral con las mismas, y así obtener un mayor acercamiento por parte de ambos elementos; lo que no es una tarea demasiado sencilla, cuando nos referimos a personas que no están habituadas a la informática o que ven a esta rama de estudios como algo imposible por su dificultad en el entorno visual (Abascal, 2002). En consecuencia, el sistema especializado SCI∗ se basa en las teorías HCI y en las modernas técnicas de conversión texto-voz, con el objetivo de obtener una comunicación e interacción con diversas personas de manera ordenada, sofisticada y eficiente.
3.2 Importancia y ventajas del “SCI” en WWW.
Al momento de elaborar un software, sistema o sitio web, entre otros; no se debe olvidar contemplar ciertos parámetros que son de vital importancia para que éstos puedan ser utilizados por personas que tengan capacidades diferentes y obtengan los beneficios que éstos ofrecen. Este es el problema que afronta la población con discapacidad, especialmente aquellas con deficiencias visuales; ya que el acceso a la información que se encuentra en Internet se ve limitado por la falta de cuidado en el diseño de las páginas web; ya sea por el desconocimiento de los conceptos y recursos que nos ofrece la estandarización y accesibilidad que deben contener los mismos o tan solo por negligencia de los expertos (García et al., 2002). Por este motivo se ha tratado de reducir en gran medida tal situación, fomentando los conceptos de la alfabetización digital a través del uso de nuevas herramientas de diseño, comunicación y manipulación de todo tipo de información que se encuentra en la red; con el
∗
En inglés HCI (Human-Computer Interaction)
∗
SCI (Sistema de Comunicación para Invidentes).
'#
objetivo de conseguir la igualdad de oportunidades y así alcanzar la plena participación de los invidentes en la cultura electrónica (Macías & Sánchez, 2002). Al analizar todas las dificultades que tienen estas personas para comunicarse y obtener cualquier información a través de Internet, surgió la idea de desarrollar una herramienta de comunicación que les ofreciera la oportunidad de interactuar con otras personas que se encuentren en la red (que padezcan o no de discapacidad visual); de una manera sencilla, clara y amigable que se adapte a sus necesidades. Esta aplicación se denominó SCI∗ y consiste en una interfaz de comunicación orientada a usuarios con discapacidad visual, la cual se basa en la transmisión de información en línea (mensajería instantánea), en donde los datos que el emisor envía de manera escrita a través del canal de comunicación llegan al receptor transformados en voz. Otra problemática que considerar es que a los discapacitados visuales les resulta imposible la utilización de ratones y dispositivos de señalamiento, por esta razón el teclado representa el único medio disponible para dar instrucciones a la computadora; y su uso cotidiano permite adaptarse fácil y rápidamente a su entorno. Además, los teclados de computadora cuentan con un relieve en las teclas F, J y 5; lo cual le permite a estas personas tener un marco de referencia para así incrementar las destrezas en su manejo (Arriola Arciniega, 2003). Basado en estos análisis se decidió utilizar las teclas de función como patrón de diseño para acceder más rápidamente a las principales funciones del sistema de síntesis de voz, ya que de esta manera se ofrece al invidente un camino directo y específico sobre el cual se desenvolverá de forma amigable e independiente en el mismo. Su importancia radica en que el SCI es un sistema especializado, ya que el análisis, diseño y construcción del mismo se ha fundamentado en la utilización de la tecnología de síntesis de voz y como se mencionó anteriormente en el manejo del teclado como herramienta principal de apoyo; con el objeto de facilitar a los invidentes la interacción con la misma y por lo tanto
∗
SCI (Sistema de Comunicación para Invidentes).
'$
con otras personas que presenten las mismas deficiencias. Esta aplicación es de adquisición gratuita y se encuentra en la red Internet para que la persona que la considere útil la descargue en su PC∗ y establezca una fácil comunicación en línea. Por último las aportaciones y beneficios que el SCI ofrece a los invidentes con respecto a otros esfuerzos se muestran en la siguiente tabla: Sistemas de Comunicación utilizados por Invidentes
Costo de
Manejo de la interfaz
adquisición
(a través de:)
Costo estándar de los sistemas de acceso a la interfaz
MSN Messenger [11]
gratuito
Jaws Screen Reader
796.87 USD [9]
Mirc [12]
20 USD
Window Eyes Screen Reader
517.63 USD [9]
Freetel [12]
gratuito
Look Out Screen Reader
115.71 USD [9]
Netscape Messenger [12]
gratuito
Hal Screen Reader
302.88 USD [9]
SCI
gratuito
Sistema de Síntesis de Voz Libre (TTS)
de
(Servicio
costo adaptado
al SCI) [8] Tabla 2. Ventajas del SCI con respecto a otros sistemas de mensajería instantánea y chat.
Como podemos observar el SCI es un sistema basado en la conversión de texto a voz y es de libre adquisición; mientras que los demás sistemas de comunicación a través de Internet también son gratuitos excepto el Mirc el cual es un programa shareware, es decir que se encuentra disponible gratuitamente por un periodo de tiempo limitado y después el usuario debe registrarse (Molteni, 2001b). Pero los inconvenientes fundamentales de la utilización de estas aplicaciones es que las mismas necesitan del apoyo de un software adicional que consiste en un lector de pantalla (Screen Reader), el cual no es muy accesible por su alto costo (RNIB, 2003); mientras que el SCI cuenta con la adaptación de las características de síntesis de voz a
∗
En ingles PC (Personal Computer).
'%
través de los agentes de sonido (sin costo alguno), lo que representa una de las ventajas sobresalientes de dicho sistema (Scott Bell, 2003).
3.3 Tecnologías y herramientas utilizadas en la creación de la aplicación “SCI”.
El desarrollo de la herramienta de comunicación para discapacitados visuales SCI, también se basa en los parámetros de la conversión texto-voz, pero apoyado en los nuevos kits o paquetes de desarrollo que ofrece Microsoft, para la implementación de aplicaciones TTS∗. Al trabajar con esta tecnología la voz sintetizada que se obtiene en el canal de recepción presenta mayor calidad, ya que estas herramientas de programación han sido sofisticadas entorno a aspectos tales como la entonación, expresión de emociones y otros parámetros que proporcionan naturalidad a la voz obtenida. El desarrollo de esta aplicación se ha basado en las siguientes herramientas: “Microsoft Agent Ring”, agentes de sonido y Microsoft ActiveX Controls, Text To Speech, las cuales trabajan bajo el entorno del software de programación Microsoft Visual Basic 6.0. A continuación se describen brevemente las herramientas utilizadas: Microsoft Agent Ring: es un sistema de servicios de herramientas programables que soportan la presentación de caracteres animados interactivos dentro del entorno de Microsoft Windows. Además, proporciona
tecnología
sin
precedentes
para
crear
interfaces
conversacionales innovadoras, tanto para aplicaciones como para sitios Web. Es una herramienta que proporciona una poderosa capacidad de
∗
En inglés TTS (Text To Speech)
'(
interactividad, animación y flexibilidad, brindando además facilidad de desarrollo. Microsoft Agent a través de sus herramientas ofrece una vía más natural para que la gente se comunique con sus computadoras. Este fue diseñado primordialmente para desarrolladores que utilizan lenguajes o ambientes que brindan soporte a interfaces del control de Microsoft actives, éstos incluyen a Microsoft Visual Studio (Scott Bell, 2003). Microsoft ActiveX Controls: las tecnologías ActiveX se han convertido en parte esencial de las aplicaciones y herramientas de Microsoft e incluso ya está siendo introducida en sus sistemas operativos. ActiveX es sólo un objeto COM1 que sigue ciertos estándares en el modo en que interacciona con sus usuarios; esta interacción estandarizada permite que el mismo control sea usado en muchos contextos distintos. En sus inicios fue conocido como tecnología OLE2 la cual fue desarrollada para realizar el intercambio de información centrado en los datos (Vega Martínez, 2000). Es decir, que ActiveX es básicamente una especificación de interfaces entre objetos y utiliza la técnica de contención, la cual consiste en permitir que un objeto se incorpore a otro y exponga cualquiera de las interfaces del objeto contenido como si fueran propias. Por otro lado, una de las ventajas que nos ofrecen éstos controles es que así como un control tiene interfaz gráfica, también tiene interfaz de programación (la cual esta formada por las propiedades, métodos y eventos que lo definen), lo que permite trabajar con el control desde el código de la aplicación que lo utiliza. Los controles ActiveX están escritos como DLLs3, y por ello deben almacenarse en algún tipo de contenedor, no pueden ejecutarse por sí mismos. Actualmente existen muchos contenedores para los ActiveX Controls, pero la herramienta de
1
En inglés COM (Component Object Model)
2
OLE (Object Linking and Embedding)
3
En inglés DLL (Dynamic Link Library), es un archivo que contiene funciones que se pueden llamar desde
aplicaciones, un código externo y de otras Dll. Se utilizan para poder reciclar el código y aislar las diferentes tareas.
)
comunicación “SCI” esta apoyada en el contenedor arquetípico para estos controladores Visual Basic (ídem). De tal manera, estas características contribuyen firmemente a una mayor aceptación por parte del ser humano ante aplicaciones desarrolladas con este tipo de tecnología. Dicha interfaz guía al usuario mediante una serie de instrucciones habladas que facilitan al mismo su interacción con la herramienta, ya que ha sido desarrollada para que sea una aplicación sencilla y amigable para estas personas. La misma permite que se encuentren conectados en línea todas las personas que así lo deseen y cada uno de estos usuarios puede interactuar con nueve de ellos a la vez; pero posteriormente este trabajo puede ser complementado permitiendo la opción de que un número mayor o ilimitado de usuarios accesen a él. Otra delimitación de este proyecto radica en que los usuarios (discapacitados visuales) que utilicen esta interfaz deben tener conocimientos básicos de informática y por consiguiente, saber manejar el teclado para que puedan accesar sin mayor dificultad al sistema operativo de la computadora y por consiguiente, directamente al sistema. En consecuencia, el modo de operación del sistema consiste en lo siguiente: cuando el usuario va a ingresar a la aplicación, automáticamente la interfaz le brinda de forma oral todas las indicaciones de cómo acceder a cada una de las funciones que realiza la misma; entre las cuales se encuentra la opción de conocer la lista de usuarios que se encuentran activos en ese momento; de tal manera que dicho usuario puede seleccionar a la(s) persona(s) con la que desea entablar la comunicación texto-voz presionando la tecla de función F11 y en cuanto escuche el nombre de usuario de la persona en cuestión debe presionar enter; recordando que sólo podrá comunicarse con nueve usuarios a la vez, como método de control inicial en el desarrollo y manejo de esta herramienta. Después de que el emisor selecciona a la persona con la que se desea comunicarse, automáticamente se le activa una ventana en la cual él puede escribir los mensajes que desea enviarle. Dichos mensajes van a llegar de manera escrita y transformados en voz al canal de recepción de la comunicación, y lo mismo sucede con los mensajes que le llegan a la persona que inicialmente era el emisor, el cual en este caso pasa a ser receptor. Otra de las funciones más
&
relevantes de este sistema consiste en la búsqueda personalizada de usuarios, la cual se hace activando la tecla de función F12 y la interfaz le despliega una pequeña ventana de forma automática en la cual puede escribir el nombre de usuario de la persona que desea contactar. Si la persona se encuentra en línea, de inmediato se activará la ventana de conversación con la misma; de otro modo el sistema le comunicará a través de voz y también de forma escrita que dicho usuario no se encuentra en línea en ese momento. En la sección 4.2 se explica detalladamente todo el funcionamiento del sistema con las respectivas pantallas de su interfaz.
3.3.1 Arquitectura Hardware y Software.
Cuando hay que plantearse la arquitectura hardware de un sistema basado en las tecnologías de interacción humano computadora, hay que tener en cuenta varios aspectos importantes: la modularidad del sistema, el coste del sistema, además del uso y aprovechamiento que se vaya a obtener. Solución interfaz: El Sistema de Comunicación para Invidentes (SCI) se encuentra disponible en Internet y contiene el software de comunicación y la información completa sobre el manejo y funcionamiento del mismo; de tal manera, que la herramienta brinda la orientación que permitirá a los usuarios accesar y establecer de forma fácil y práctica la comunicación con las personas que se encuentran activas en ella; con el fin de obtener el mayor aprovechamiento de los recursos que nos ofrece la red Internet a través del sistema de mensajería instantánea, especializado para personas que presentan esta dificultad. Dispositivos Externos: Es un software que se encuentra disponible en la red sin costo alguno y está orientado a sistemas instalables en una computadora de escritorio o portátil, ya sea en el centro de tecnología adaptada del CREE, en su hogar o en donde lo requieran sus usuarios. Las interfaces de la terminal deben permitir la conexión a la red Internet y un sistema de salida de audio, por ejemplo: altavoces o audífonos.
'
Requerimientos mínimos para la instalación del SCI y sus componentes Text To Speech: Sistema operativo: Windows® XP/2000/NT4/Me/9x (en idioma español). Internet Explorer Versión 4.0 o superior. Procesador Pentium - 100 MHz. 16 MB de Memoria RAM. 1 MB de espacio libre para los componentes base de Microsoft Agent Ring∗. 2-4 MB para la instalación del agente o personaje de Microsoft Agent Ring*. 32Kb para la instalación del componente de lenguaje en español (dll)*. 1.6 MB para la instalación del motor Text To Speech para la síntesis de voz*. Tarjeta de sonido compatible con Windows. Bocinas / audífonos.
3.3.2 Arquitectura Cliente/Servidor.
En el mundo de TCP/IP las comunicaciones entre computadoras se rigen por diferentes modelos y para el desarrollo del SCI se utilizó la arquitectura Cliente-Servidor, la cual intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. Dicha tecnología se define como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma. El modelo Cliente-Servidor contiene un conjunto de elementos tanto de software como de hardware, entre los cuales se destacan tres tecnologías a saber: el cliente, el servidor y la red. La máquina cliente (hace una petición) envía un mensaje solicitando un determinado servicio al servidor central (provee el servicio), el cual se encarga de aceptar y procesar los
∗
Estos componentes están incluidos en el archivo de instalación del SCI, por lo tanto el usuario no tiene que
realizar la tarea de búsqueda e instalación de dichos componentes.
requerimientos de dicho cliente, quien es el encargado de recibir el resultado del proceso; y estos dos elementos son unidos por medio de una red de comunicaciones (SEI, 2004).
Figura 6. Modelo Cliente/Servidor. Fuente: (SEI, 2004)
.
!
#
* +
#
!
"
4.1 Generalidades de la Ingeniería de/l Software.
La ingeniería de software es relativamente nueva ya que apareció a principios de los años setenta siendo una disciplina que trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos o desarrollos en Internet, abordando todas las etapas del análisis, diseño y desarrollo de cualquier tipo de sistemas de información (Pressman, 1998). Inicialmente se baso en la aplicación de las técnicas de programación estructurada a dichas fases del ciclo de vida del software y más tarde empezaron a utilizarse tecnologías orientadas a objetos. De manera específica, esta ciencia estaba orientada únicamente a la programación, pero en la actualidad sus tareas son la definición de los parámetros de ingeniería y el diseño detallado de los requisitos del sistema que se desea elaborar. Por lo tanto, los estándares de la ingeniería de software y la madurez de proceso han caracterizado la industria del software como una disciplina madura (ídem).
4.1.1 Qué es la Ingeniería de/l Software??.
La ingeniería de/l software es una disciplina, área de la Informática o Ciencias de la Computación, que brinda las técnicas, herramientas y métodos para desarrollar y mantener software de calidad que tengan la particularidad de resolver problemas de todo tipo (Pressman, 1998). Según (Norris, 1994), la ingeniería de software es una combinación de habilidades técnicas y organizacionales que permiten la creación de un producto de calidad, a partir de lo que el cliente necesite dentro del tiempo y costo requeridos. Es por esto que cada vez más, el desarrollo de sistemas de software se apoya en esta disciplina, ya que está basado en los principios y metodologías necesarias para lograr tales fines.
$
4.1.2 Importancia de la Ingeniería de/l Software.
La importancia de la ingeniería de/l software radica básicamente en mejorar la calidad de los productos y servicios que brindan soluciones a problemas de diversas áreas, por lo tanto, el estudio de esta disciplina constituye el primer nivel para tener el control, estudio, refinamiento y automatización del proceso de desarrollo de software; el cual esta basado en el análisis del ciclo de vida del sistema. Dicho proceso está compuesto por una serie de etapas que comprenden todas las actividades, desde el momento en que surge la idea de crear un nuevo producto software, hasta aquel en que el producto deja definitivamente de ser utilizado por el usuario. Básicamente, la ingeniería de software concierne solo al desarrollo de sistemas o productos de software, con un alto grado de responsabilidad ética, social y profesional (Norris & Rigby, 1994). En síntesis, su importancia esta orientada a la aplicación de un enfoque sistemático, disciplinado y cuantificable con respecto al desarrollo, funcionamiento y mantenimiento del software (Pressman, 1998).
4.2 Metodología de diseño orientado a objetos: Lenguaje de Modelado Unificado (UML).
El análisis del Sistema de Comunicación para Invidentes (SCI) se basó en una moderna metodología de diseño orientado a objetos conocida como UML∗ o Lenguaje Unificado de Modelado, el cual es un lenguaje con una notación estándar internacional formado de una serie de reglas y múltiples elementos gráficos que se combinan para conformar diagramas, permitiendo construir modelos precisos y completos.
∗
En inglés UML (Unified Modeling Language).
%
Por lo tanto, en esta sección se tratan conceptos básicos, características y software propios de esta útil herramienta que han permitido cubrir los requerimientos y especificaciones necesarias para llevar a cabo el modelado del SCI de una manera práctica y sencilla; con el objetivo de brindar al lector una idea más clara acerca de lo que es el UML, la utilidad de sus diagramas al momento de definir la forma de operación de la aplicación y las ventajas ofrecidas por este lenguaje para la elaboración del análisis y diseño de sistemas orientados a objetos.
4.2.1 Generalidades del UML.
UML (Unified Modeling Language) es un lenguaje unificado de modelado gráfico utilizado para visualizar, especificar, construir y documentar los parámetros que conforman a un sistema, por lo tanto es considerado el proveedor de los planos del software. Originalmente fue concebido por la Rational Software Corporation y los tres prominentes metodologistas de la industria de sistemas de información y tecnologías, Grady Booch, James Rumbaugh e Ivar Jacobson (Si Alhir, 1998). Estos jóvenes habían creado sus propias metodologías de análisis y diseño de sistemas orientados a objetos, y a mediados de los años noventa empezaron a intercambiar sus ideas para unificarlas con el objetivo de desarrollar un lenguaje de modelado que proporcionara estabilidad y características con mayor utilidad para los constructores de herramientas (Schumuller, 2000). En el año de 1997 las industrias del software comprobaron que UML cumplía con los propósitos definidos, por lo que conformaron un consorcio para la definición de la versión 1.0 de UML; dichas organizaciones participantes fueron Digital Equipment Corporation (DEC), Hewlett-Packard, Intellicorp, IBM, ICON Computing, Microsoft, Oracle, Rational, Texas Instruments y Unisys. Después de esta colaboración el consorcio presentó el UML 1.0 al Object Management Group (OMG) para su estandarización como lenguaje de modelado estándar y posteriormente surgieron otras versiones hasta el año 1998; por lo tanto, la OMG
(
se encargó de la conservación del UML para su evolución continua (Booch, Rumbaugh, & Jacobson, 1999).
4.2.2 UML como modelado orientado a objetos.
El modelado es una técnica de ingeniería utilizada para visualizar el producto final de un desarrollo, ya sea físico (maqueta para una construcción arquitectónica o de un modelo de auto) o lógico (prototipo de software o aplicación); con el propósito de comprender mejor el sistema que se va a desarrollar y así comunicar las ideas de manera sencilla a todos los participantes. Por lo tanto, UML es considerado un lenguaje de modelado no una metodología, ya que es una notación para expresar las ideas de diseño y análisis orientado a objetos; mientras que un método proporciona solo los lineamientos a seguir para realizar el mismo estudio (Booch et al., 1999). Por otro lado, al desarrollar un software, los modelos pueden ser enfocados de muchas maneras. Entre los más utilizados están la perspectiva algorítmica y la perspectiva orientada a objetos. La perspectiva algorítmica es la forma tradicional de desarrollo de software y consiste en descomponer algoritmos grandes en otros más pequeños, además de que se encarga del control de algunos parámetros; tarea que es ejecutada por los desarrolladores. La desventaja encontrada en este enfoque es que produce sistemas frágiles y difíciles de mantener. Sin embargo, la visión actual en el desarrollo de software es la perspectiva orientada a objetos, la cual ofrece factores que potencian el mantenimiento, extensibilidad y reutilización del mismo, de tal manera que se crean sistemas flexibles y adaptables a cambios futuros (Si Alhir, 1998).
!)
4.2.3 Diagramas del UML.
El Lenguaje Unificado de Modelado no es una simple notación para dibujar diagramas, sino un lenguaje completo que ayuda a capturar la idea de un sistema para comunicarla a sus desarrolladores mediante un conjunto de símbolos, notaciones y diagramas estándares que describen la semántica esencial de lo que estos significan. Además, UML∗ se puede usar para modelar sistemas orientados a objetos, ya sean sistemas de software, hardware y aplicaciones distribuidas basadas en la Web, entre otras (Si Alhir, 1998). Para realizar el análisis y diseño de este tipo de sistemas el UML ofrece nueve diagramas básicos que describen funciones específicas con la finalidad de presentar diversas perspectivas del sistema, lo cual es en síntesis el modelado del mismo. Sin embargo, es importante saber que al momento de modelar un sistema, éste se debe apoyar solamente en los diagramas que se consideren necesarios para estructurarlo y definirlo (Systems, 2002). A continuación, se muestra una tabla que contiene los nueve diagramas del lenguaje unificado de modelado (UML) con una breve descripción de sus funciones: Diagrama de:
Función:
•
Casos de Uso
Modelar los procesos del sistema.
•
Secuencia
Modelar el paso de mensajes entre objetos.
•
Colaboración
Modelar interacciones entre objetos.
•
Estado
Modelar el comportamiento de los objetos en el sistema.
•
Actividad
Modelar el comportamiento de los casos de uso, objetos u operaciones.
•
∗
Clases
Modelar la estructura estática de las clases,
En inglés UML (Unified Modeling Language).
!&
interfaces, colaboraciones y relaciones que definen el sistema. •
Modelar la estructura estática de los objetos
Objetos
en el sistema. •
Distribución o emplazamiento
Modelar la arquitectura física de un sistema.
•
Componentes
Modelar la organización y dependencias entre un conjunto de componentes. Tabla 3. Diagramas del UML.
De los diagramas definidos anteriormente se han utilizado los de casos de uso, de secuencia y los de clases para llevar acabo el modelado del Sistema de Comunicación para Invidentes, ya que a través de estos tres diagramas se pudo expresar y desarrollar cada una de las acciones que ejecuta el actor y el sistema en conjunto.
4.2.3.1 Diagrama de Casos de uso.
Los casos de uso son generalmente el punto de partida del análisis orientado a objetos con UML y se utilizan para describir la vista estática de un sistema. Dicho modelo está formado de actores y casos de uso, en donde los actores representan a una persona, un componente de hardware u otro sistema, que interaccionan con toda la interfaz; por otro lado los casos de uso representan las actividades que el actor (usuario/sistema) va a realizar. Los casos de uso se representan con una elipse y los actores se dibujan como “muñecos de palo” (Schumuller, 2000).
!'
Figura 7. Diagrama de casos de uso.
Básicamente, este tipo de diagrama es una descripción de las acciones de un sistema desde el punto de vista del usuario. Para los desarrolladores ésta es una herramienta valiosa, ya que es una técnica de aciertos y errores para obtener los requerimientos del sistema; de tal manera que, los casos de uso son diagramas que permiten la creación de sistemas que pueden ser utilizados por todo tipo de usuarios y no sólo por expertos en computación (ídem). Todas las actividades realizadas en cada caso de uso se documentan en modo de texto con la siguiente información: nombre del caso de uso, actor (usuario o sistema que ejecuta las acciones), representación gráfica del caso de uso, propósito y descripción detallada (instrucciones) de las funciones realizadas en el escenario (Booch et al., 1999). Por otro lado, los diagramas de casos de uso presentan tres modos de interacción o relación los cuales son: asociación, dependencia o instanciación y generalización. A continuación se explica en que consisten cada uno de ellos (Fowler & Scott , 1999): •
Asociación
Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple. •
Dependencia o Instanciación
Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
!
•
Generalización
Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso () o de Herencia (); en donde el uses se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica; y el extends se utiliza cuando un caso de uso es similar a otro (características). Es importante mencionar que este tipo de relación esta orientado exclusivamente a casos de uso y no a actores (Fowler & Scott , 1999). Nota: para la mayor comprensión del lector se presenta un ejemplo gráfico del desarrollo de un caso particular en el anexo 1.
4.2.3.2 Diagrama de clases.
Es un tipo especial de representación que comparte las propiedades que presentan los diagramas restantes, como por ejemplo: un nombre y un contenido gráfico que es una proyección del modelo; pero a la vez tiene un contenido particular definido por parámetros como lo son un conjunto de clases, interfaces y colaboraciones, así como las relaciones de dependencia, generalización y asociación entre ellas. Además, pueden contener paquetes o subsistemas, los cuales se utilizan para agrupar los elementos de un modelo en partes más grandes. Estos diagramas son los más comunes en el modelado de sistemas orientados objetos y cubren la vista de diseño estática de un sistema (Booch et al., 1999). Gráficamente, un diagrama de clases está formado por unas categorías denominadas clases, las cuales a su vez contienen un grupo de datos que son los atributos y los métodos u operaciones. Los atributos son las características de una clase y éstos pueden ser de tres tipos (Si Alhir, 1998):
!!
♦ public (+,
): indica que el atributo es visible y accesible tanto dentro como fuera
de la clase. ♦ private (-,
): indica que el atributo solo puede ser accesado por sus propios
métodos, es decir solamente desde dentro de la clase. ♦ protected (#,
): indica que el atributo no será accesible desde fuera de la clase,
pero si podrá ser accesado por métodos de la clase (ídem). La función de estos tres tipos de atributos consiste en definir el grado de comunicación y visibilidad de los mismos con el entorno. Por otro lado, los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno y pueden tener las siguientes características (Si Alhir, 1998): ♦ public (+,
): indica que el método es visible y accesible desde todos lados de la
clase. ♦ private (-,
): indica que el método solo puede ser accesado por otros métodos de
la clase. ♦ protected (#,
): indica que el método no será accesible desde fuera de la clase,
pero si por métodos de la clase y de las subclases que se deriven. Después de comprender los conceptos y funcionalidad de los atributos y métodos que conforman a una clase, se puede explicar como se pueden interrelacionar dos o más clases que contienen objetivos y características diferentes. Dicha relación esta definida por la multiplicidad que consiste en una especificación del rango de cardinalidades permitidas que puede asumir una entidad. Es decir, que la multiplicidad señala la cantidad de objetos de una clase que pueden relacionarse con un objeto de una clase asociada, y éstas pueden ser: •
uno o muchos: 1..* (1..n)
•
0 o muchos: 0..* (0..n)
•
número fijo: m (m denota el número).
!"
Nota: UML utiliza un asterisco (*) para representar muchos y los dos puntos (..) representan la letra O, como por ejemplo: “1..*”, esto significa “uno o muchos” (ídem). El símbolo que representa a la clase es un rectángulo dividido en tres áreas, en donde la parte superior contiene el nombre, el área central contiene los atributos y el área inferior las operaciones. Finalmente un diagrama de clases está formado por varios rectángulos de este tipo conectados por líneas que muestran la manera en que las clases se relacionan entre sí (Booch et al., 1999).
Figura 8. Diagrama de clases.
Nota: ver ejemplo en el anexo 2. Por último, los diagramas de clases son importantes porque sirven no sólo para diseñar y documentar modelos estructurales, sino también para construir sistemas aplicando ingeniería directa e inversa (ídem).
4.2.3.3 Diagrama de secuencia.
El diagrama de secuencias también conocido como diagrama de interacción, resalta la ordenación temporal de los mensajes y presenta un conjunto de objetos y relaciones, incluyendo los mensajes que pueden ser enviados entre ellos. Este tipo de esquema cubre la vista dinámica de un sistema (Booch et al., 1999). El diagrama de secuencias consta de objetos representados por rectángulos (que contienen en su interior un nombre subrayado) y mensajes que constan de líneas continuas en forma de
!#
flecha; los cuales en conjunto expresan una secuencia de las actividades que realiza esa sección del sistema (Schumuller, 2000). Nota: en el anexo 3 se encuentra un ejemplo detallado que describe un proceso mediante un diagrama de secuencias. En síntesis, estos diagramas son especialmente importantes en el modelado y organización del comportamiento de un sistema.
4.2.4 Herramientas de modelado para el UML.
Al realizar el análisis y diseño del sistema a través de las técnicas aprendidas con el UML fácilmente se pueden crear los diagramas con ayuda de un papel y lápiz, pero si el usuario requiere modelar sus proyectos en la computadora, le será muy tedioso tener que dibujar todas las líneas, círculos, elipses y rectángulos que definen este tipo de representación en un programa de manejo y edición de imágenes tradicional (Fowler & Scott , 1999). Por esta razón existen diversas herramientas que le pueden ayudar a crear modelos UML, entre los cuales se encuentran los siguientes: Rational Rose Poseidon Visual UML
!$
Rational Rose Rational Rose es la herramienta CASE∗ desarrollada por los creadores de UML (Grady Booch, James Rumbaugh e Ivar Jacobson), que cubre todo el ciclo de vida de un proyecto: concepción y formalización del modelo, construcción de los componentes, transición a los usuarios y certificación de las distintas fases. El navegador UML de Rational Rose nos permite establecer una trazabilidad real entre el modelo (análisis y diseño) y el código ejecutable. Además, facilita el desarrollo de un proceso cooperativo en el que todos los agentes tienen sus propias vistas de información (de casos de uso, lógica, de componentes y de despliegue), pero utilizan un lenguaje común para comprender y comunicar la estructura y la funcionalidad del sistema en construcción (Salinas Caro, 1996). Según (Schumuller, 2000), el software de la Rational Rose Corporation enseña a hacer modelado visual con UML, facilitando la aplicación de un proceso iterativo e incremental a el análisis y diseño. Es por esta razón que se ha utilizado dicha herramienta para modelar todos los diagramas que definen la estructura y comportamiento del sistema de comunicación para invidentes. Poseidon
El consorcio ArgoUML creó a Poseidon como una herramienta de libre distribución basada en los principios del UML. Este software permite: •
la construcción de modelos basados en ingeniería directa e inversa.
•
realizar la generación de documentación utilizando adaptadores (plug-ins) de propósito especial (Fowler & Scott , 1999).
En inglés CASE (Computer Aided Software Engineering).
!%
Básicamente Poseidon es una herramienta utilizada para modelar en UML el análisis y prediseño de sistemas de software, siendo muy utilizado por su flexibilidad y estructura. Por lo tanto, se ajusta a diversos requerimientos de modelado de sistemas. ArgoUML ofrece de forma gratuita la versión 1.5 de Poseidon conocida como “UML Community” a los desarrolladores de software individuales (ídem).
Visual UML
Visual UML es un mecanismo de modelado flexible para crear y administrar todos los tipos de diagramas proporcionados por el lenguaje unificado de modelado, ya que está equipado con las características que definen al UML. Además, se puede utilizar para modelar muchos tipos de sistemas incluyendo bases de datos, sistemas de información, aplicaciones web y sistemas en tiempo real, entre otros. Visual UML facilita la comunicación entre desarrolladores, clientes, analistas y demás personas que intervienen en un proyecto, ya que éste utiliza el práctico lenguaje gráfico UML (Schumuller, 2000). Con este tipo de herramienta, los diagramas pueden ser exportados a todo tipo de formato gráfico para agregarlo en la documentación del proyecto. Sin embargo, la posibilidad de crear listas de requerimientos ayudará a mantener la coherencia a la hora de distribuir el modelado entre diferentes participantes (ídem).
4.3 Metodologías de interacción humano-computadora (HCI), orientada al diseño de una interfaz para personas con discapacidad visual.
En la actualidad nos encontramos en un mundo de constantes cambios de diversas índoles, en este caso nos centraremos en las repercusiones que han dado lugar los avances tecnológicos, ya que éstos permiten llevar a cabo un diseño e interacción de interfaces cada vez más sofisticadas y a la vez más inaccesibles para las personas que presentan algún tipo de
!(
discapacidad. Por tal situación los expertos de la interacción humano-computadora han llegado a la conclusión de que antes de desarrollar un software o página web que esté orientado a la utilización de personas con necesidades especiales, se deben analizar cuáles son sus verdaderos requerimientos, cuáles son las barreras con las que se han encontrado, además de estudiar que técnicas o métodos permiten satisfacer esas necesidades más adecuadamente y finalmente se necesita de la aplicación de metodologías de evaluación de resultados, los cuales permitan corregir errores o inadecuaciones que se hayan producido a lo largo del proceso; de tal manera que se logre una estandarización en el manejo de la información contenida en la red (Abascal, 2002). También se habla de aplicar el concepto de diseño para todos en donde se da plena participación a todos los usuarios desde la concepción de la idea, las primeras fases del diseño del proyecto, hasta la implementación y mantenimiento del mismo; lo que pretende evitar la realización de modificaciones para usuarios con discapacidad. Esta técnica ofrece grandes ventajas pero requiere de una mayor difusión para su aplicación. Por otro lado, la HCI∗ recomienda desarrollar sistemas de interacción para personas con discapacidad, que tengan mayor duración y así puedan ser adaptables a diversos sistemas [Hewett, 2002 #20]. Sin embargo las metodologías HCI se apoyan en las directrices de la iniciativa para la accesibilidad Web W3C (Wold Wide Web Consortium), la cual se encarga de brindar los estándares necesarios para incrementar el grado de accesibilidad a la información contenida en Internet y en diversos software de aplicación, con el objetivo de que las personas con discapacidad visual puedan interpretarla correctamente apoyados con herramientas tales como: navegadores de voz, lector y lupas de pantallas, entre otros; los cuales les permiten desenvolverse dentro de ellos de una manera práctica y sencilla. Para ello el W3C ha creado un grupo de trabajo permanente denominado WAI (Web Accessibility Initiative), el cual muestra una guía rápida de algunos criterios de accesibilidad
∗
En inglés HCI (Human-Computer Interaction).
")
que se deben tomar en cuenta al momento de crear un sitio o aplicación. Dichos criterios son los siguientes (WAI, 2004): Las imágenes, animaciones y mapas de imagen deben contar con textos alternativos que expliquen sus contenidos, de forma que cualquier software de lectura sea capaz de leer la información. Los elementos multimedia deben tener subtítulos, transcripciones de los textos leídos, descripción de vídeos y una versión en el caso de utilizar formatos no accesibles. En los enlaces hipertextuales, el texto debe tener sentido cuando se lea fuera de contexto. En la organización de las páginas se utilizan titulares, listas y una estructura consistente. Los textos deben estar organizados en unidades enteras con sentido, evitando partirlos en varias páginas; además de que deben validarse con programas especializados. Las tablas y gráficos deben tener de manera escrita una explicación resumida de su contenido. Scripts, applets y plug-in ofrecen formas alternativas de acceder al contenido. Los frames deben ser convenientemente etiquetados. Hay que utilizar herramientas para verificar la accesibilidad del sitio o aplicación,
además
de
seguir
http://www.w3.org/TR/WCAG (ídem).
"&
los
lineamientos
definidos
en
)
)
,# !
"
!
"
#
5.1 Análisis y diseño del sistema.
En este capítulo se exponen los parámetros que se consideraron útiles para el óptimo desarrollo de la interfaz SCI, de tal manera que se analizaron los requerimientos de los usuarios y del sistema. En el caso de los usuarios, se hizo un estudio de la problemática específica de la población con discapacidad visual del Centro de Rehabilitación y Educación Especial (CREE), en donde básicamente se pudo observar que la necesidad educativa en cuanto al manejo de la computadora (hardware y software) y dispositivos especiales, ocupa el mayor nivel con respecto a otras necesidades de importancia, ya que de esta manera pueden enfrentar mejor la accesibilidad a niveles académicos superiores; y en el caso del sistema se llevo a cabo un análisis detallado de cada una de las características y funciones desarrolladas para el buen funcionamiento del mismo.
5.1.1 Análisis de requerimientos del usuario.
La ceguera y la baja visión son deficiencias sensoriales que producen discapacidad visual, lo que disminuye en gran medida la capacidad del sujeto para desarrollar actividades propias de una persona no discapacitada, por lo tanto los requerimientos de personas con estas características aumentan cada vez más debido a que los avances tecnológicos brindan mayor seguridad, eficiencia y apoyo a las personas videntes, pero a los invidentes las aísla y limita de una u otra forma; ya que ellos utilizan su memoria para aprender a utilizar la computadora, software o aplicaciones, dispositivos periféricos y navegar en la red Internet, entre otros. La población para este caso de estudio la conforman los discapacitados visuales que asisten al CREE, los cuales suman un total de 43 personas. Todos ellos están afiliados a la Organización de Ciegos Colimenses y acuden a dicho centro de rehabilitación porque el mismo les ofrece la infraestructura y tecnologías necesarias para su desarrollo (Casian García, 1998). Sin embargo, la problemática que afronta el CREE ante los invidentes gira entorno a necesidades educativas, de capacitación y de orientación en el plano social y laboral (ver Tabla 4).
""
!
Necesidades de los
"
#
Porcentaje (%) Metas del Centro de Tecnología
de invidentes
Adaptada del CREE
que reciben
Invidentes
estos servicios Respaldar el acceso a niveles superiores de preparación académica utilizando la
Educación especial
computadora
como
herramienta
principal de apoyo y desarrollar sus
51.16
habilidades con el manejo de diversos software diseñados y donados al centro por la IBM. Con la ayuda de un especialista y el manejo
Capacitación
de
los
programas
recomendados, el paciente o alumno tendrá la posibilidad de lograr con
18.61
mayor eficacia su capacitación y/o rehabilitación. A través de la comunicación obtenida mediante métodos especiales, se debe Orientación
mejorar la interacción del paciente con
(social y
las personas y actividades que lo
laboral)
rodean, para que el mismo pueda
30.23
integrarse plenamente al ámbito social y laboral.
Tabla 4. Necesidades específicas de los invidentes del CREE.
"#
!
"
#
5.1.2 Análisis de los requerimientos del sistema: Definición de las funciones de la aplicación.
Este sistema está elaborado en base al análisis de las funciones básicas y de comunicación que componen a la aplicación, dando por entendido que las funciones básicas se refieren a las acciones que permiten a usuarios que presenten algún tipo de discapacidad visual hacer uso de este medio de conversación de una manera amigable, sencilla y que se ajuste a sus necesidades; por otro lado las funciones de comunicación hacen referencia a los procesos que se requieren para lograr una conectividad eficiente entre dichos usuarios. Las funciones básicas y de comunicación a su vez contienen el parámetro categoría, con la finalidad de hacer más sencilla la explicación del funcionamiento de las secciones relevantes de la interfaz. Para el manejo de ambas funciones la categoría se ha clasificado en dos tipos: directa e indirecta; en donde las funciones de carácter directo corresponden a las acciones que se encuentran visibles y son manejadas por el usuario y las funciones de carácter indirecto son aquellas de las cuales el usuario final no debe tener un pleno conocimiento, es decir, son actividades manipuladas exclusivamente por el sistema. A continuación se detallan las características que definen a las funciones básicas y de comunicación para el pleno desempeño y comprensión del sistema de comunicación para invidentes SCI.
5.1.2.1 Funciones Básicas.
Las funciones básicas son aquellas actividades o tareas que conforman una parte fundamental en el desarrollo del sistema. En la siguiente tabla se muestran dichas funciones y su clasificación con respecto al manejo que el usuario puede tener o no sobre ellas; la
"$
!
"
#
interpretación de la tabla es “El sistema de comunicación para invidentes tiene una función que”: Función
Categoría
Permite introducir un parámetro de identificación para accesar a la Directa aplicación. Ofrece mecanismos de comunicación entre la aplicación cliente- Indirecta servidor. Muestra en pantalla y a través de voz la lista de usuarios que se Indirecta encuentran activos en el sistema. Permite iniciar sesión en el sistema.
Directa
Permite finalizar sesión en el sistema.
Directa
Controla comandos programados.
Indirecta
Tabla 5. Funciones básicas del SCI.
5.1.2.2 Funciones de Comunicación.
Estas funciones ilustran las acciones necesarias para lograr la comunicación entre los usuarios, así como tareas de administración propias del sistema. En la siguiente tabla se indica cuales son tales funciones:
"%
!
"
#
Función
Categoría
Verificar que la identificación o alias del usuario no se repita, para Indirecta poder darlo de alta en la base de datos del sistema. Permitir seleccionar o buscar al usuario con el que se desea entablar Directa la comunicación. Permitir enviar mensajes con conversión TTS.
Directa
Notificar a los usuarios cuando le llegan sus correspondientes Indirecta mensajes. Controlar la E/S de usuarios de la base de datos del sistema.
Indirecta
Controlar el número de ventanas de conversación permitidas por Indirecta usuario. Tabla 6. Funciones de comunicación del SCI.
5.1.3 Definición de los objetos para la herramienta de comunicación.
Al elaborar el análisis y diseño del sistema bajo las bases de UML∗ se parte de la prescripción de un conjunto de notaciones y diagramas estándares para modelar sistemas orientados a objetos, además de describir la semántica esencial de lo que éstos diagramas y símbolos significan. El desarrollo y funcionamiento de este proyecto está definido por los siguientes diagramas: Diagramas de Casos de Uso para modelar los procesos. Diagramas de Interacción para modelar el paso de mensajes entre objetos. Diagramas de Clases para modelar la estructura estática de las clases en el sistema.
∗
UML (Lenguaje de Modelado Unificado)
"(
!
"
#
A continuación se iniciará describiendo el propósito y comportamiento de los casos de uso del sistema y posteriormente se continuará con los diagramas de secuencia y de clases correspondientes.
5.1.3.1 Casos de Uso.
Identificación de actores. Al definir los casos de uso que muestran el funcionamiento del sistema, se deben identificar los actores que intervienen en el manejo de la herramienta junto a las actividades que éstos ejecutan. El actor identificado para este análisis se muestra en la tabla 3: Actor
Funciones que ejecuta Inicia sesiones Termina sesiones Selecciona contactos Busca contactos Envía mensajes Cambia
ventanas
de
conversación Termina comunicaciones Tabla 7. Identificación de actores y sus funciones directas dentro del sistema.
Identificación de casos de uso. Una vez identificado el actor o actores del sistema, se procede a plantear y describir los casos de uso que definen el funcionamiento del mismo.
#)
!
"
#
Caso de Uso: Iniciar sesión Actor: Usuario Representación gráfica: Inicio de sesión
Propósito: Conectarse a la interfaz SCI∗ para empezar a comunicarse con un máximo de nueve personas (contactos) de las que se encuentren en línea en la aplicación. Descripción: El usuario carga la aplicación SCI y le aparece una ventanita de entrada en donde introduce su nombre de usuario o alias, con el que va a estar activo en la misma. El sistema central procede a validar el alias introducido para verificar que no exista ese nombre en la lista de usuarios; en caso de que ya se haya dado de alta ese alias, el sistema le solicitará al usuario que introduzca otro nombre. La información obtenida es almacenada en la lista de usuarios y ésta a su vez le notifica al sistema central que dicho usuario ha sido registrado. Finalmente el usuario recibe un mensaje de voz que le indica que ya se encuentra en línea en la interfaz. Caso de Uso: Iniciar comunicación por selección de contacto Actor: Usuario Representación gráfica: Inicio de Comunicación por selección de contacto
Propósito: De la lista de contactos que se encuentran en línea, el usuario entrante debe seleccionar a la(s) persona(s) con las que desea establecer la comunicación. Descripción: Una vez el usuario ha iniciado su sesión en la aplicación, puede establecer la comunicación en línea con un máximo de nueve personas a la vez. Éste puede seleccionar a la persona con la que desea chatear presionando la tecla de función F11, la cual le permite escuchar la lista de contactos que se encuentran activos en ese momento y la interfaz le notifica al usuario esta información mediante instrucciones guiadas a través de voz. La
∗
SCI (Sistema de Comunicación para Invidentes)
#&
!
"
#
selección se realiza presionando la tecla enter después de escuchar el alias o nombre de usuario respectivo. Nota: Este procedimiento se debe realizar cada vez que se desee entablar la comunicación con un contacto a través del método de selección, sin olvidar que no se puede exceder de nueve ventanas de conversación. El sistema central procede a verificar en la lista de usuarios el alias de la persona entrante para conocer exactamente quien le está solicitando la selección del contacto. Además, de que verifica el contador de usuarios, variable que realiza la misma función explicada en el caso de uso de iniciar comunicación por búsqueda, en donde se almacena el número de ventanas de conversación activas por cada usuario. Por lo tanto, también se manejan las dos opciones (contenidas en un ciclo if then else) basadas en los resultados obtenidos de la verificación del contador de usuarios: a)
Si el contador de usuarios tiene un valor menor o igual a 9 entonces: 1. el sistema le envía un mensaje de voz al usuario entrante, en donde le indica que le ha desplegado en pantalla la lista de contactos que se encuentran en línea en ese momento, además de que el mensaje le proporciona las instrucciones para que realice la selección de la persona con la que desea entablar la conversación. 2. Después de que el usuario selecciona al contacto presionando la tecla enter al escuchar su respectivo alias, el sistema procede a verificarlo en la lista de usuarios, para comprobar que corresponda al mismo y si aún continúa en línea en la aplicación. 3. La variable contador de usuario suma al contacto adherido para llevar el control del número de ventanas de conversación permitido por usuario. Es entonces, cuando el sistema a través de un sonido especial le notifica al contacto de la solicitud de comunicación. 4. Finalmente, el sistema le envía un mensaje de voz al usuario indicándole que el “contacto ha sido agregado y que puede empezar a chatear”.
#'
!
b)
"
#
Si el contador de usuarios tiene un valor mayor a 9 entonces: El sistema le envía al usuario un mensaje de voz indicándole que “excedió el número de contactos permitidos” y sólo podrá entablar comunicación con otra persona hasta que cierre una de las nueve ventanas de conversación que tiene activas.
Caso de Uso: Iniciar comunicación por búsqueda de contacto Actor: Usuario Representación gráfica: Inicio de comunicación por búsqueda de contacto
Propósito: Entablar conversación con un usuario de la lista de usuarios del sistema, el cual será contactado a través de una búsqueda personalizada. Descripción: Una vez el usuario ha iniciado su sesión en la aplicación, puede establecer comunicación con un máximo de nueve contactos. El usuario puede realizar una búsqueda personalizada y directa del contacto con el que desea chatear presionando la tecla de función F12; al momento de ejecutar este comando le aparecerá la interfaz del sistema donde se le solicita que introduzca el nombre de usuario del contacto correspondiente. Después, el sistema central procede a verificar en la base de datos el alias del usuario entrante para conocer exactamente quien le está solicitando la realización de la búsqueda. Además, el sistema central verifica un parámetro muy importante para el óptimo funcionamiento de la aplicación, y es una variable contador que va contando el número de contactos que tiene cada usuario entrante, ya que éste solo puede entablar comunicación con un máximo de nueve personas, como método inicial de adaptación a la herramienta y fácil manejo de la misma por parte de las personas con discapacidad visual. Nota: no obstante, sobre las bases de esta interfaz se pueden ampliar sus utilidades en proyectos futuros.
#
!
"
#
En este proceso se encuentran dos opciones (contenidas en un ciclo if then else) para la realización de la búsqueda de los contactos basado en los resultados obtenidos de la verificación del contador de usuarios: a) Si el contador de usuarios tiene un valor menor o igual a 9 entonces: 1. El sistema le despliega un mensaje de voz al usuario entrante, en donde le solicita introduzca el alias del contacto para iniciar la búsqueda del mismo. 2. El sistema procede a verificar en la base de datos usuario el alias del contacto solicitado, para comprobar si el mismo se encuentra o no en línea en ese momento. Si el contacto se encuentra online: Se activa una variable bandera tipo booleana llamada encontrado y toma el valor de verdadero para indicarle al sistema central que efectivamente el contacto está disponible, y a la vez la variable contador de usuario empieza a sumar al contacto adherido para llevar el control del número de ventanas de conversación permitido por usuario. Es entonces, cuando el sistema le notifica al contacto acerca de la solicitud de comunicación y esto lo realiza a través de un sonido especial. Finalmente, el sistema le envía un mensaje de voz al usuario indicándole que puede iniciar su conversación con el contacto solicitado. Si el contacto no se encuentra online: La variable encontrado toma el valor de falso para indicarle al sistema central que el contacto no está disponible en ese instante, y la variable contador de usuario no modifica su valor porque no se adhirió ninguna ventana de comunicación. Entonces, el sistema le envía un mensaje de voz al usuario indicándole que el contacto
#!
!
"
#
solicitado no fue encontrado en la base de datos y puede iniciar el proceso de búsqueda presionando nuevamente la tecla F12. b) Si el contador de usuarios tiene un valor mayor a 9 entonces: El sistema le envía al usuario un mensaje de voz indicándole que “excedió el número de contactos permitidos”, por lo tanto no podrá comunicarse con otras personas, hasta que cancele la comunicación con alguno de los nueve existentes. Caso de Uso: Terminar comunicación Actor: Usuario Representación gráfica: Terminación de comunicación
Propósito: terminar la conversación con uno o todos los contactos con los que el usuario ha establecido comunicación. Descripción: Para cancelar o terminar la comunicación con sus contactos, el usuario tiene que presionar la tecla escape “Esc” en cada una de las ventanas de conversación activas y también se encuentra la opción de culminar la comunicación a través del botón Salir. El sistema central procede a verificar en la lista de usuarios el alias de la persona entrante para conocer exactamente quien le está solicitando la culminación de la conversación. Además, de que verifica que el comando o tecla presionada por el usuario coincida con la programada para ejecutar ésta acción. Por último, el sistema verifica también el alias del contacto en la lista de usuarios para proceder a cerrar la ventana de conversación activa en la pantalla del usuario que ejecutó el comando y también de la pantalla del contacto; por lo tanto se concluye la comunicación de manera directa en ambos canales de transmisión. Caso de Uso: Terminar sesión Actor: Usuario Representación gráfica: Term inación de sesión
#"
!
"
#
Propósito: Desconectarse de la interfaz de comunicación para invidentes. Descripción: El usuario le indica al sistema que desea culminar su sesión presionando la tecla Escape. El sistema central procede a verificar: a) el nombre de usuario o alias de la persona que ejecutó el comando para eliminarlo de la lista de usuarios. b) si la tecla presionada por el usuario coincide con la designada por el programa para salir por completo de la aplicación. Después de haber verificado éstos parámetros el sistema central procede a eliminar a la persona correspondiente de su lista de usuarios. Caso de Uso: Enviar mensaje Actor: Usuario Representación gráfica:
Enviar mensaje
Propósito: Enviar los mensajes convertidos de texto a voz, a los contactos con los que se ha establecido la comunicación, este proceso se encuentra dentro de los casos de uso “iniciar comunicación”. El sistema verifica el alias del contacto al cual se le van enviar los mensajes en la lista de usuarios, para comprobar que se encuentre en línea en ese momento: a)
En caso afirmativo: el sistema procede a realizar la conversión del mensaje de texto a voz en la terminal de su correspondiente destino.
b)
En caso negativo: se le notifica al usuario inicial que el contacto no se encuentra en línea, por lo tanto, el sistema no enviará el mensaje y por lo tanto no se realizará la conversión TTS1.
1
En inglés TTS (Text To Speech)
##
!
"
#
Por lo tanto, la principal característica de la aplicación es realizar la conversión de texto a voz de la información que se esta enviando en cada uno de los canales de emisión del sistema. Entonces el contacto se dispone a recibir sus correspondientes mensajes de salida y automáticamente el sistema lleva el control de los mensajes enviados y recibidos. Por lo tanto, una vez establecida la comunicación el usuario entrante podrá enviar mensajes a su(s) respectivo(s) contacto(s). Diagrama de casos de uso. Una vez definidos los casos de uso que intervienen en el desarrollo del sistema, se elabora un diagrama general que permite visualizar y evaluar de manera gráfica y sencilla el comportamiento de los actores y los procesos que éstos realizan. El tipo de relación utilizada entre los diferentes casos de uso fue el de generalización con el estereotipo del uses, ya que los casos de usos que intervienen en el funcionamiento y desarrollo del sistema, conservan un conjunto de características que son similares en más de uno de ellos y a la vez no se necesita mantener copiada la descripción de dichas características.
Iniciar comunicación por sel ec ci ón de co nta ct o
Usuario
Iniciar sesión
Terminar comunicación
Iniciar comunicación por búsqueda de contacto
Figura 9. Diagrama de casos de uso del SCI.
#$
Terminar sesión
!
"
#
5.1.3.2 Diagramas de interacción del sistema.
Los diagramas de interacción o de secuencia son elaborados después de definir los casos de uso, los actores y las acciones que conforman el diseño de la aplicación; con el objetivo de identificar las operaciones que el actor externo ejecuta, sin importar como son manejadas y resueltas por el sistema central. Además, muestran gráficamente el curso particular del funcionamiento de todos los procesos que intervienen en el desarrollo del prototipo. A continuación se muestran los diagramas de secuencia de cada caso de uso previamente definido. Nota: Existe un diagrama de secuencia por cada uno de los casos de uso definidos en el sistema; por lo tanto, si se desea analizar paso a paso el funcionamiento de éstos diagramas, vea la descripción del caso de uso correspondiente a cada uno de ellos (sección 5.1.4.1).
SistemaCentral
Entrante : Usuario
:ListaUsuario
:Contacto
enviarMensaje(alias_contacto) verificar(alias_contacto) contacto
verificarDireccion(origen, destino)
recibirMensaje(mensaje_salida) mensaje recibido
mensaje enviado
Figura 10. Diagrama de secuencia “Enviar mensaje”.
#%
ConvertirTTS (mensaje_entrada)
!
"
#
:Sistema Central
Entrante : Usuario
terminarComunicacion(alias_contacto)
:ListaUsuario
verificar(alias_usuario) alias verificarComando()
verificar(alias_contacto) contacto conversación cancelada
Figura 11. Diagrama de secuencia “Terminar comunicación”.
Entrante : Usuario
:Sistema Central
:ListaUsuario
terminarSesion(alias_usuario) verificar(alias_usuario) alias
verificarComando()
eliminar(alias_usuario)
Figura 12. Diagrama de secuencia “terminar sesión”.
#(
!
"
#
:Sistema Central
Entrante : Usuario
:ListaUsuario
iniciarSesion(alias_usuario) validar(alias_usuario)
almacenar(alias_usuario) registrado despliega "Usuario en línea"
Figura 13. Diagrama de secuencia “iniciar sesión”.
:SistemaCentral
Entrante : Usuario
:ListaUsuario
:Contacto
buscaContacto(alias_contacto) verificar(alias_usuario) [si cont_usuario < ó = 9 ]
alias verificarContador(cont_usuario)
despliega "Introducir alias del contacto" alias verificar(alias_contacto) contacto encontrado, cont_usuario = cont + 1 [cuando encontrado = verdadero] contactar(alias_usuario) respuesta despliega "Contacto agregado, puede empezar la comunicación"
[cuando encontrado = falso] despliega "Contacto no encontrado" [si cont_usuario > 9 ] despliega "Excedió el número de contactos permitidos"
Figura 14. Diagrama de secuencia “Iniciar comunicación por búsqueda de contacto”.
$)
!
"
#
:Sistema Central
Entrante : Usuario seleccionaContacto(alias_contacto)
:ListaUsuario
:Contacto
verificar(alias_usuario)
[Si cont_usuario < ó = 9]
alias verificarContador(cont_usuario)
despliega lista de contactos alias verificar(alias_contacto) contacto cont_usuario = cont + 1
contactar(alias _usuario) despliega "Contacto agregado, puede empezar la comunicación"
respuesta
[si cont_usuario > 9] despliega "Excedió el número de contactos permitidos"
Figura 15. Diagrama de secuencia “Iniciar comunicación por selección de contacto”.
$&
!
"
#
5.1.3.3 Modelado de clases.
Las clases están conformadas por los parámetros atributos y métodos u operaciones, que en conjunto intervienen en los procesos de desarrollo del sistema; además de que definen las operaciones que cada clase puede llevar a cabo. La siguiente tabla contiene la información referente a los atributos que han sido definidos en cada una de las clases que describen al sistema de comunicación para invidentes. Atributos.
Atributo alias_usuario
Descripción Identificador único que el usuario necesita para ser referenciado dentro del sistema de comunicación
alias_contacto
Identificador único que el contacto necesita para ser referenciado dentro del sistema de comunicación
Origen
Atributo que define que usuario envía un mensaje
Destino
Atributo que indica que usuario recibe un mensaje
mensaje_entrada
Variable que contiene el mensaje que entra al sistema central, en formato texto
mensaje_salida
Variable que contiene el mensaje que sale del sistema central, en formato texto y voz Tabla 8. Significado de los atributos del sistema.
$'
!
"
#
Métodos u operaciones. En la siguiente tabla se muestran las clases que se encuentran definidas en el sistema, junto con las operaciones o métodos que se realizan en cada una de ellas. Además, los métodos presentan entre paréntesis las variables que se requieren para llevar a cabo tales acciones. Nombre de Clase SistemaCentral
Métodos iniciarSesion(alias_usuario) terminarSesion(alias_usuario) validar(alias_usuario) verificarComando(Keycode) seleccionarContacto(alias_contacto) buscaContacto(alias_contacto) enviarMensaje(mensaje_salida) verificarDireccion(origen, destino) convertirTTS(mensaje_entrada) terminarComunicacion(alias_contacto) verificarContador(cont_usuario)
ListaUsuario
almacenar(alias_usuario) verificar(alias_usuario, alias_contacto) eliminar(alias_usuario)
Contacto
contactar(alias_usuario) recibirMensaje(mensaje_salida) Tabla 9. Operaciones o métodos de las clases del sistema.
Diagrama de clases. Este diagrama contiene tres clases las cuales se han denominado: Contacto, SistemaCentral y ListaUsuario, las cuales en conjunto representan de manera general el funcionamiento interno del SCI y contienen los atributos y operaciones requeridos por cada una de ellas. Los
$
!
"
#
atributos definidos para cada una de las entidades es de tipo private ya que este permite que el atributo solo puede ser accesado por sus propios métodos y las operaciones contienen la característica public, ya que ésta indica que el método u operación es visible y accesible tanto dentro como fuera de la clase. Finalmente la multiplicidad de este diagrama de clases se resume en la siguiente descripción: uno o muchos contactos accesan al sistema central y este a su vez registra una lista de usuarios, la cual contiene a uno o muchos contactos.
Figura 16. Diagrama de clases del SCI.
5.2 Funcionamiento general del SCI.
El sistema de comunicación para invidentes SCI∗ es una herramienta que les permite a usuarios con discapacidades visuales entablar una comunicación en línea (tipo mensajería
∗
SCI (Sistema de Comunicación para Invidentes)
$!
!
"
#
instantánea) con la funcionalidad de conversión TTS∗. Está dirigido a la población invidente de la organización CREE∗ del estado de Colima y en el Centro de Tecnología Adaptada de dicha organización se encuentra un disco de instalación del sistema para que sea utilizado por todas las personas que lo requieran, y a la vez está disponible al público (sin costo alguno) en la dirección electrónica http://alumno.ucol.mx/~al029397. El SCI es una interfaz amigable para este tipo de usuarios ya que fue elaborado después de realizar previos análisis en cuanto a características tales como: las capacidades de desarrollo de los sentidos con los que dispone el individuo, su aprendizaje en el manejo de diversas aplicaciones y dispositivos especializados, además de su comportamiento ante las nuevas tecnologías de comunicación aplicadas en la red Internet. El sistema inicia cuando el usuario abre la interfaz para conectarse, en donde el mismo le solicita a la persona que introduzca un nombre de usuario o alias, con el cual va a aparecer en estado activo (online) en la aplicación. Además, la interfaz proporciona al usuario invidente una ayuda guiada acerca del funcionamiento de la aplicación, la cual consiste en una serie de instrucciones sencillas y prácticas que son transmitidas a través de voz (guía hablada, tal como lo hacen los sistemas por conmutador) y texto, en cada una de las secciones que conforman a la interfaz, para que el usuario sepa como ejecutar las diferentes opciones que ofrece el sistema. Sin embargo, si el usuario no desea continuar en línea puede presionar la tecla “escape” para salir por completo de la aplicación.
∗
En inglés TTS (Text To Speech)
∗
CREE (Centro de Rehabilitación y Educación Especial)
$"
!
"
#
Figura 17. Interfaz principal del SCI.
Para que el usuario entrante establezca la comunicación con sus respectivos contactos, la aplicación ofrece dos maneras de llevarla a cabo, las cuales se representan a continuación: Por Selección Inicio de Comunicación Por Búsqueda El funcionamiento de estos métodos es descrito ampliamente en sus respectivos casos de uso en la sección 5.1.3.1 que contiene la definición de los objetos para la herramienta de comunicación. En el momento en que la comunicación se inicia, el sistema central pasa a ser el actor principal en el funcionamiento del mismo, ya que se encarga de recibir, procesar y enviar los mensajes a sus respectivos destinos. El aspecto más característico de este proyecto consta de procesar la información de entrada, ya que aquí se aplica la conversión TTS∗ a los mensajes que son enviados por el emisor del canal de transmisión. Dichos mensajes se encuentran en formato de texto y llegan convertidos a voz al canal de recepción. Además de ésta funcionalidad de conversión, los mensajes
∗
En inglés TTS (Text To Speech)
$#
!
"
#
también aparecen de manera escrita en la ventana de conversación del usuario final, como método de apoyo a la persona que presente un grado de ceguera parcial. El proceso de conversión de texto a voz es realizado por: El componente DirectX Text To Speech, el cual se puede adaptar a diversos lenguajes de programación. Los sistemas de servicios de herramientas tal como Microsoft Agent Ring. Modernas tecnologías que en conjunto proporcionan una tecnología sin precedentes para crear interfaces conversacionales para aplicaciones y páginas web. Esta herramienta se encarga de validar o verificar que no se dupliquen los nombres de usuarios, para que no se presenten conflictos de identidad en el sistema. Además, administra la entrada y salida (E/S) de usuarios al sistema, controla la cantidad máxima de ventanas de conversación por cada usuario y comunica la entrada de nuevos mensajes. El funcionamiento de ésta aplicación se basa en el empleo de comandos previamente programados, los cuales se refieren a la manera en que el usuario puede ejecutar una acción de manera directa. Básicamente consiste en que al presionar las teclas definidas por el programa, el sistema procederá a realizar tareas específicas. A continuación, se describen los comandos utilizados y su función dentro del mismo: Para que al usuario le resulte práctico entablar la conversación con un contacto específico se le ofrece la opción de conocer la lista de contactos que se encuentran en línea, tan sólo presionando la tecla “F11”. El usuario puede seleccionar de la lista a la persona con la que desea chatear, presionando enter después de escuchar el nombre de usuario (alias) de la persona correspondiente. El sistema también permite realizar búsquedas personalizadas del contacto, introduciendo su correspondiente nombre de usuario (alias) en la interfaz que aparece al presionar la tecla de función “F12”. Nota: El individuo podrá iniciar la comunicación utilizando uno de los dos métodos antes mencionados.
$$
!
"
#
Figura 18. Interfaz de la lista de usuarios
Figura 19. Interfaz de selección y búsqueda de
conectados al SCI.
contactos.
Figura 20. Ventana de búsqueda personalizada de contactos.
Para terminar o cancelar la comunicación con el/los contacto(s), el usuario debe presionar la tecla “escape” y automáticamente ésta ventana va a desaparecer de su pantalla; y al mismo tiempo se va a cerrar en las pantallas de todo usuario que haya estado comunicándose con esta persona. Nota: en la ventana de comunicación también se encuentra el botón Salir, el cual ejecuta la misma acción que la tecla escape.
%$ !
"
#
Para que el usuario cierre su sesión del sistema, solo debe presionar la tecla escape, además de que la pantalla principal del sistema también contiene el botón Salir. Al momento en que el usuario termina su sesión, el sistema le notificará que el mismo se ha desconectado del sistema; de modo tal, que esta funcionalidad representa una reducción de trabajo para cada usuario. Con el objetivo de que el SCI sea una herramienta de comunicación amigable y eficiente para los usuarios invidentes, la aplicación le brinda al usuario la ventaja de poder desplazarse y cambiar de ventanas de conversación utilizando las teclas de funciones de F1 a F9; ya que sólo se permite establecer comunicación con nueve contactos a la vez. Esta característica se activa estando posicionado en una de las ventanas. Las teclas de función a través de un contador van tomando el identificador para cada una de ellas a medida que se va iniciando la comunicación con sus contactos, es decir, que el primer contacto con el que se empieza a comunicar va a tomar la ventana número uno, la cual se puede activar presionando la tecla F1, el segundo toma la ventana F2 y así sucesivamente, hasta la ventana F9 correspondiente al noveno y último contacto con el que se establecerá la comunicación. Sin embargo, este sistema puede ser ampliado y mejorado en proyectos futuros, con respecto al establecimiento de comunicación con un mayor número de usuarios. Finalmente, el funcionamiento general del sistema de comunicación para invidentes se muestra en el siguiente diagrama; en donde se puede observar claramente que las flechas de color lila indican la ruta de conexión al SCI a través de la red Internet. Las flechas punteadas de color vino muestran la ruta que mantiene el flujo de información, la cual consiste en el envío de mensajes escritos que serán convertidos a voz en cada una de las terminales en las que se encuentran conectados los usuarios del sistema; esta última acción se refiere a la conversión TTS que se encuentra representada mediante los círculos punteados que encierran a los actores del mismo.
$(
!
"
#
Figura 21. Esquema general del funcionamiento del SCI.
%)
!
"
#
A continuación se muestra una representación de este esquema, el cual ha sido desarrollado en UML y consiste en un diagrama de distribución o emplazamiento. En el anexo 4 se encuentra una breve descripción del funcionamiento y estructura de este tipo de diagramas.
Figura 22. Diagrama de Distribución del SCI.
%&
*
-
$
$
6.1 Desarrollo de la evaluación del sistema.
Al definir los objetivos que constituyen este caso de estudio vemos la importancia que tiene el concepto de comunicación en todos los aspectos de nuestras vidas; aún más cuando no disponemos de algunas de las facultades vitales para nuestro pleno desarrollo. Por ello, el motivo principal de este desarrollo ha sido ofrecer a la población invidente de la organización CREE del estado de Colima, una herramienta de comunicación amigable y accesible que les permita establecer una conversación en línea con diferentes personas independientemente del lugar donde se encuentren. Para lograr este objetivo se procedió a analizar y evaluar ciertos parámetros que se consideraron relevantes al momento de implementar dicha herramienta, tales como los niveles de aceptación, usabilidad y utilidad, alcanzados en los resultados obtenidos después de aplicar la prueba piloto a los participantes. El software consiste en una interfaz de comunicación (mensajería instantánea) guiada a través de voz, sonido y manejo de las teclas de función, las cuales le permiten al individuo poder interactuar de forma sencilla con la misma. Esta aplicación ha sido denominada Sistema de Comunicación para Invidentes “SCI” y ha sido desarrollado en base a algunos conceptos y características de la interacción humanocomputadora definidas para el diseño de interfaces para discapacitados visuales. Para producir sistemas usables, los especialistas de la interacción humano-computadora (HCI) recomiendan que dichos sistemas, aplicaciones o páginas web, deben apoyarse en las directrices definidas por un concepto clave de esta disciplina como lo es la usabilidad; ya que este método permite entender los factores que determinan cómo la gente opera y usa las tecnologías, desarrollar herramientas y técnicas para garantizar sistemas orientados a las actividades para las que han sido diseñados y a la vez proporciona una interacción eficiente, efectiva y segura para aquellos usuarios que presentan algún tipo de discapacidad. Por tal %"
$
razón, la evaluación del sistema de comunicación para invidentes (SCI) se basó en la aplicación de un estudio de usabilidad sobre los aspectos relativos a la aceptación y utilidad de dicha herramienta ante la población invidente del CREE, lo que permitió recopilar los datos necesarios para que fueran analizados, evaluados y posteriormente proceder a elaborar un reporte de los resultados obtenidos (Nielsen, 2003). La importancia de la usabilidad radica entorno a la problemática que afrontan los usuarios al momento de que quieren manejar una aplicación o página web; ya que según estudios realizados por la User Interface Engineering, Inc., se ha comprobado que alrededor del 60% de las veces que las personas utilizan Internet no pueden encontrar la información que necesitan; lo que ocasiona el desaprovechamiento del tiempo, pérdida de productividad, frustración creciente y notable reducción de visitas y dinero (Usability.gov, 2004). Metas de la Usabilidad. En síntesis, la usabilidad es considerada el medio para asegurar que los productos interactivos sean fáciles de aprender, efectivos para utilizar y agradable para la perspectiva de los usuarios; lo que contribuye a optimizar la interacción y el desenvolvimiento de los usuarios en sus actividades de trabajo, escuela y en su vida diaria. Entre las metas básicas que cumple la usabilidad con respecto a la calidad de interacción de las personas con productos interactivos se encuentran las siguientes (Preece, Rogers, & Sharp, 2002): Efectividad Eficiencia Seguridad Utilidad Fácil de aprender a utilizar Fácil de recordar cómo se utiliza
%#
$
Metas de las experiencias del usuario. La usabilidad es una combinación de factores que afectan la experiencia del usuario con el producto o sistema, por lo tanto el diseño de la interacción de éstos con las personas, se está refiriendo cada vez más a crear sistemas que ofrezcan (ídem): Satisfacción Deleite Diversión Entretenimiento Utilidad Motivación Entorno placentero Soporte a la creatividad Gratificación Satisfacción emocional
%$
$
Diversión Satisfacción
satisfacción
emocional
seguridad
deleite
utilidad
gratificación
Metas de la
eficiencia
efectividad
Usabilidad
Soporte a la
entretenimiento
creatividad
fácil de recordar
fácil de aprender
cómo se utiliza
a utilizar
utilidad
motivación
Entorno placentero
Figura 23. Usabilidad y metas de las experiencias de los usuarios.
Fuente: (Preece et al., 2002). Finalmente, vemos que la usabilidad es un factor estratégico fundamental para lograr obtener el máximo aprovechamiento de los recursos que nos ofrece la evolución tecnológica y la red Internet (ídem).
6.1.1 Prueba Piloto.
La prueba piloto consiste en la realización de una o varias tareas aplicadas al segmento de interés, y en este caso, su propósito es verificar los niveles de aceptación, usabilidad y utilidad que ofrece el sistema. Para obtener los datos a analizar se utilizaron dos métodos de evaluación que fueron la observación y la aplicación de un cuestionario; en donde el primero
%%
$
consistió en ver el comportamiento de los invidentes mientras interactuaban con dicho sistema y después se procedió a entrevistar a los participantes haciendo uso de un cuestionario SUS∗, el cual permite obtener una puntuación fiable sobre el porcentaje de usabilidad que presenta el sistema en cuestión. Esta prueba fue aplicada por la diseñadora del sistema y otro adulto, el cual colaboró en el desarrollo de la aplicación.
6.1.1.1 Los participantes.
Los participantes de este estudio están afiliados a la Organización de Ciegos Colimenses pero reciben apoyo continuo en el CREE; éstos conformaron una muestra de 7 personas, de ambos sexos y con edades entre 20 y 45 años. El grado de escolaridad promedio de los invidentes que participaron en la prueba fue nivel secundaria. Nota: Según (Usability.gov, 2004) el rango típico de participantes en una prueba de usabilidad está entre 5 y 12 personas. Los criterios para seleccionar a los participantes de la prueba se baso en lo siguiente: •
Experiencia en el uso de la computadora: como parámetro principal para el desarrollo de la prueba piloto se especificó que los participantes (discapacitados visuales) deben poseer conocimientos básicos en informática, y por consiguiente, saber manejar el teclado para que puedan accesar al sistema sin mayor dificultad.
•
Disponibilidad de los participantes: de acuerdo a los horarios de trabajo y estudios que tienen dichas personas, se procedió a adaptar la aplicación de la prueba.
∗
En inglés SUS (System Usability Scale).
%(
$
6.1.1.2 Localización del ejercicio.
La prueba piloto se llevó a cabo en el Centro de Tecnología Adaptada del CREE, estado de Colima Esta área ofrece un centro de cómputo equipado con aplicaciones (software) y dispositivos especiales. Actualmente tienen 11 computadoras en red con acceso a Internet.
6.1.1.3 Procedimiento del ejercicio.
El objetivo principal del ejercicio fue probar el nivel de usabilidad que ofrece el sistema, de acuerdo a la perspectiva de cada participante. El ejercicio fue aplicado con la presencia de la terapista encargada del área y tuvo una duración de aproximadamente 45 minutos. La sesión comenzó suministrándoles a los invidentes una breve explicación de las actividades que se pueden realizar con el SCI. Después se procedió a asignarles diversas tareas, entre ellas: acceso y salida del sistema, selección y búsqueda de contactos (entre los que se encontraban online) e intercambiar las ventanas de conversación para poder observar el grado de interacción e identificación con la aplicación.
6.1.1.4 Limitaciones en la prueba.
Una de las principales limitaciones encontradas en este estudio es que de la población total de invidentes del CREE, tan sólo 10 personas saben utilizar bien la computadora, y por falta de disponibilidad de tiempo tan sólo 7 de ellos pudieron asistir a la prueba.
()
$
6.1.1.5 Recopilación de la información.
Observación: el autor/investigador observó que los invidentes realizaron los ejercicios de una manera sencilla, ordenada y casi sin complicaciones; ya que todos los participantes poseen conocimientos básicos en el manejo de la computadora. Cuestionarios: se utilizó el cuestionario definido por la SUS∗ el cual se ajustó al caso de estudio en cuestión. SUS ha demostrado ser una herramienta valiosa para la evaluación, ya que es un sistema robusto y confiable, además de que correlaciona bien sus datos con otros sistemas de medida como por ejemplo el cuestionario utilizado para la evaluación de la calidad de un conjunto software (SUMI) (Brooke, J. 1996). El cuestionario aplicado constaba de 20 preguntas (ver Anexo 6) y para calcular la puntuación del SUS hay que sumar primero las contribuciones de cada pregunta y dividir esta suma entre dos (ya que el análisis se ha dividido en dos partes de 10 preguntas, que en total conforman las 20). La contribución de cada pregunta tendrá un valor entre 0 y 4. Para las preguntas impares, la contribución será la posición de la escala menos 1. Para las preguntas pares, la contribución será 5 menos la posición en la escala. La escala esta clasificada en 5 valores que van desde el parámetro: completo desacuerdo, desacuerdo, neutral, hasta acuerdo y completo acuerdo. Por último, se multiplica la suma de los resultados por 2.5 para obtener el valor global del SUS y dicha puntuación estará entre 0 y 100. El propósito de esta sección es identificar el porcentaje de usabilidad que presenta el sistema ante la perspectiva de cada uno de los participantes de la prueba.
∗
En inglés SUS (System Usability Scale).
(&
$
6.2 Análisis de los datos y Resultados.
El análisis de los datos fue basado en el método cuantitativo y las respuestas obtenidas en la entrevista realizada mediante el cuestionario SUS, reflejan la opinión de los participantes (discapacitados visuales) con respecto a diversos parámetros entorno a las metas y experiencias de la usabilidad que brinda el sistema (ver Anexo 7). Además se muestra una gráfica de pastel que muestra los porcentajes referentes a la utilidad, seguridad y facilidad de uso del sistema (ver Anexo 8). El último análisis efectuado fue para obtener la puntuación SUS para cada uno de los invidentes que participaron en el ejercicio y se procedió a realizar todos los cálculos necesarios para obtener dicha información. Según los datos obtenidos de acuerdo al análisis efectuado durante la prueba piloto, el SCI obtuvo una puntuación SUS de 62.5 para los participantes # 1 y 4, 76.25 para el participante # 2, 53.75 para el participante # 3, 48.75 para el participante # 5, 70 para el participante # 6 y 68.75 para el participante # 7 (ver Anexo 9); lo cual lo sitúa en un nivel de usabilidad aceptable, ya que se obtuvo una buena puntuación SUS para 6 de 7 personas; sin embargo el mismo se puede mejorar. Nota: en el Anexo 10 se muestra un histograma de la puntuación SUS (en base a 100%) obtenida en la prueba piloto.
('
$
6.3 Trabajo a futuro.
Este proyecto brinda tanto a la sociedad con discapacidad visual del CREE, como de otras localidades la oportunidad de poder interactuar con otras personas que presenten las mismas características o no; con el objetivo de que compartan experiencias, conocimientos, diversión, entretenimiento y lo más importante radical en que su mundo social se expanda y no se quede tan limitado como hasta el momento ha sido para estas personas especiales. La primera fase de este proyecto está concluida pero el SCI puede ser complementado con múltiples funciones entre ellas: envío de archivos, interacción con más de nueve personas a la vez, adaptación a otros idiomas, historial de mensajes por cada usuario, adaptación de código fuente a PHP ó ASP y plataforma Linux; entre otros aspectos.
(
2
La accesibilidad es el resultado de acciones conjuntas que se llevan a cabo con el objeto de romper las barreras que impiden a todas las personas, incluyendo las afectadas por algún tipo de discapacidad, que obtengan los beneficios a los cuales todos tenemos derecho. Por esta razón la accesibilidad que ofrecen los servicios bancarios, comerciales, sociales, de diversión y entretenimiento, los sitios web, dispositivos y aplicaciones de computadora y la tecnología en general, definen una mejor calidad de vida para todo individuo; ya que las oportunidades de aprendizaje que esta tendencia está implantando, permite que todos podamos desempeñar nuestros roles en cualquier entorno y circunstancias sin mayores complicaciones. La herramienta SCI es una interfaz de comunicación orientada a usuarios con discapacidad visual, la cual se basa en la transmisión de información en línea (mensajería instantánea), en donde los datos que el emisor envía de manera escrita a través del canal de comunicación llegan al receptor transformados en voz. Su importancia radica en que es un sistema especializado, ya que el análisis, diseño y construcción de esta herramienta se ha fundamentado en las técnicas del UML, los conceptos básicos propuestos por las metodologías HCI, entre otros aspectos de igual relevancia. Lo que ha permitido obtener una aplicación que ofrece una buena interacción de estos usuarios con la misma y por lo tanto con otras personas que presenten o no las mismas debilidades; ya que también puede ser utilizada por un individuo que no sea invidente, porque la interfaz ofrece tanto una guía hablada como escrita de cada una de las funciones que realiza. Finalmente, a lo largo de todo el proceso de desarrollo de este proyecto se analizó cuidadosamente cada uno de los parámetros que se debían tomar en cuenta para lograr alcanzar los objetivos que se definieron inicialmente; de lo cual se pudo concluir que cada uno de dichos objetivos se cumplieron satisfactoriamente. A continuación, se muestra un análisis de los resultados obtenidos: Para lograr el objetivo referente a la facilidad de uso que debe ofrecer la herramienta mediante la utilización de ayudas que guíen adecuadamente al usuario, se procedió a analizar y evaluar ciertos parámetros que se consideraron
($
relevantes al momento de implementar dicha herramienta, tales como los niveles de aceptación, usabilidad y utilidad; los cuales obtuvieron un porcentaje altamente satisfactorio en los resultados de la prueba piloto que se aplicó a los participantes con discapacidad visual de dicho estudio. El segundo objetivo acerca de mantener un bajo costo de implementación del sistema también se logró, ya que el SCI podrá ser adquirido por la población invidente del CREE de manera gratuita; además de que el mismo se encuentra disponible
al
público
en
la
dirección
electrónica
http://alumno.ucol.mx/~al029397. Por último, a través de la evaluación de usabilidad del sistema también se obtuvo una buena puntuación en la escala SUS, con respecto a fomentar e incrementar la utilización de este tipo de herramientas en la población con discapacidad visual del CREE.
Como experiencia personal, el incursionar en este tipo de proyectos ha proporcionado al autor una inmensa experiencia de aprendizaje entorno a como detectar una problemática existente en determinada área de estudio, como resolver la misma y llevar a cabo los correspondientes análisis para lograr alcanzar de manera satisfactoria los objetivos planteados; todo esto apoyado en las innovaciones de la tecnología, las cuales proporcionan los medios y herramientas necesarios para realizar correctamente el trabajo designado y de esta manera enfrentar las situaciones que se nos presentan en nuestra diario vivir.
(%
/
Alcalde, J. A. (2000). Desarrollo de un corrector automático de textos sin marcas ortográficas de acentuación. Unpublished Ingeniería, Universidad Politécnica de Madrid, España. Booch, G., Rumbaugh, J., & Jacobson, I. (1999). El Lenguaje Unificado De Modelado. Madrid: Addison Wesley Iberoamericana. Brooke, J. 1996. SUS: a ‘quick and dirty’ usability scale. In: Jordan, P. W., Thomas, B., Weerdmeester, B. A. & McClelland, I. L. (toim.). Usability Evaluation in Industry. Taylor & Francis, London. s. 189-194. Casas Guijarro, A. (1997). Sistema telefónico multilínea con reconocimiento de voz y acceso a base de datos remota. Unpublished Ingeniería, Universidad Politécnica de Madrid, España. Casian García, M. M. (1998). Centro de Tecnología Adaptada DIF-Colima (3). Colima: Centro de rehabilitación y educación especial. DIF, C. E. C. (2002). Programa nacional para el bienestar y la incorporación al desarrollo de las personas con discapacidad. Colima: Centro de rehabilitación y educación especial. Fowler, M., & Scott , K. (1999). UML Gota a Gota (1a ed.). México: Addison Wesley Longman. Galo, I. (2001). Kit de acceso a Internet para invidentes. Diario de Noticias. Norris, M., & Rigby, P. (1994). Ingeniería de Software Explicada. (1a ed.). México. OMS. (2003). Discapacidad Visual. Oficina de representación para la promoción e integración social para personas con discapacidad del gobierno de la república. Obtenido en la Red Mundial en Mayo de 2003 : http://discapacidad.presidencia.gob.mx/?P=37. Pressman, R. S. (1998). Ingeniería del Software "Un enfoque práctico". (4a ed.). México. Ramos Zepeda, B. A. (1985). Reseña Histórica de la Institución CREE (5). Colima: Centro de rehabilitación y educación especial. Rosas Barrientos, E. (2002). Los derechos humanos de las personas con discapacidad visual. Comisión Nacional de los Derechos Humanos. Obtenido en la Red Mundial el 15 de Mayo de 2003: http://www.google.com.mx/search?q=cache:mHaCGpCZm7gJ:www.cndh.org.mx/Principal/d ocument/derechos/cartillas/DiscapacidadVisual.pdf+informacion+de+ciegos+de+mexico&hl= es&lr=lang_es&ie=UTF-8.
&)&
Salinas Caro, P. (1996, 30 de Octubre de 1996). Tutorial de UML. Dpto. de Ciencias de la Computación de la Universidad de Chile. Obtenido en la Red Mundial el 5 de Diciembre de 2003: http://www.dcc.uchile.cl/~psalinas/uml/introduccion.html. Schumuller, J. (2000). Aprendiendo UML. México: Prentice Hall. Scott Bell, G. (2003, 11 de Mayo de 2003). Microsoft Agent Ring. Microsoft Corporation. Obtenido en la Red Mundial el 10 de Junio de 2003: http://www.msagentring.org/. Si Alhir, S. (1998). UML (1ra ed.). Estados Unidos: O' Reilly & Associates, Inc. Vega Martínez, A. (2000, 12 de Marzo de 2000). ActiveX. Obtenido en la Red Mundial el 17 de Octubre de 2003: http://www.diea.ulpgc.es/users/aurelio/int_equipos/trab9899/activex/activex/Active_X.htm#In tro.
&)'
.
Anexo 1. Gráficamente, un caso de uso se representa como una elipse de borde continuo y el actor es dibujado como un muñeco de palo, ambos elementos incluyen en su parte inferior un nombre que los identifica. En la siguiente figura, se muestra un ejemplo del proceso de lavar ropa en un diagrama de casos de uso UML.
Lavar ropa
Usuario de la lavadora
Figura 1. Diagrama de casos de uso.
Anexo 2. Continuando con el ejemplo anterior, aquí se muestra la notación del UML que captura los atributos del objeto (la marca, el modelo, el número de serie y la capacidad de la lavadora), los cuales son características de la clase lavadora. También, se muestran las operaciones o acciones que puede realizar la lavadora, como lo son agregar la ropa, agregar los detergentes y sacar la ropa; parámetros que en conjunto forman los elementos del símbolo clase lavadora. Lavadora marca modelo numero de serie capacidad agregar ropa() agregar detergente() sacar ropa()
Figura 2. Diagrama de clases.
&)"
Anexo 3. Para concluir con el ejemplo que se ha venido estudiando en los esquemas anteriores, en la siguiente figura se presenta un diagrama de secuencias que captura las interacciones que se realizan a través del tiempo entre el abastecimiento de agua, el proceso del sistema de lavado y el drenaje (representados como rectángulos en la parte superior del diagrama); actividades que se deben realizar para lograr el objetivo de lavar la ropa.
:Manguera de agua
: Usuario de la lavadora
:Máquina de lavado
:Drenaje
Abastecimiento de agua Detener
Abastecimiendo de detergentes y ropa lavar
vaciar agua de lavado Reabastecer de agua Detener
Agregar suavizante enjuagar
vaciar agua de enjuague exprimir agua Detener sistema de lavado
Figura 3. Diagrama de secuencias.
&)#
Anexo 4. El diagrama de distribución o emplazamiento representa la arquitectura física de un sistema informático, mostrando cada equipo y dispositivo en el sistema; además de los componentes que en ellos residen. En síntesis, esta representación muestra la relación entre los componentes de software y hardware. El equipo de cómputo o nodo se representa como un cubo con los componentes individuales dentro de él y también muestra donde se ejecuta cada paquete (Schumuller, 2000).
Nodo
:Componente
Componente
Conexión
Figura 4. Elementos de diagramación.
&)$
Anexo 5. Fragmento de Código Fuente del SCI Private Sub Form_Load() '======================= '===
======================
INICIALIZA A LA VENTANA, Y FORMALIZA LA CONEXION DEL USUARIO AL
SISTEMA DANDOLE '===
LA BIENVENIDA EN EL COMENTARIO DEL AGENTE Y PRESENTANDO LA LISTA DE
lvwUsuarios. '=======================
======================
Conectado = True 'DibujarPanel Picture1 Agent1.Characters.Load "Man", App.Path & "\e-man.acs" Set Man = Agent1.Characters("Man") Man.Show If Conectado = True Then Man.Speak "\Spd=200\ Hola: " & Trim(FrmInicio.txtUsuario.Text) & ". " & _ " Usted se ha conectado al Sistema de Comunicación para Invidentes." & _ " Si desea escuchar la lista de contactos que se encuentran en línea presione F11." & _ " Si desea iniciar una conversación con un contacto presione F12." & _ " Para salir de la aplicación presione Escape." End If End Sub Private Sub cmdSeleccionar_Click() ' '
========
=======
HACE EL RECCORRIDO Y LECTURA DE LA LISTA DE CONTACTOS, PERMITIENDO
SELECCIONAR A ' '
CUALQUIERA DE ELLOS, PARA INICIAR UNA CONVERSACIÓN LeerLista(). ========
=======
'PERO ANTES VALIDA QUE EL CONTADOR DE VENTANAS NO EXCEDA DE 9 (Ventanitas.Count) Dim Form As New FrmPrivado
&)%
If lvwUsuarios.ListCount > 0 Then If Ventanitas.Count < 9 Then If lvwUsuarios.SelectedItem.Text "" Then If lvwUsuarios.SelectedItem.Text NomUsuario Then lvwIP.ListItems(lvwUsuarios.SelectedItem.Index).Text Winsock1.SendData "PV" & NomUsuario & "#" & NomIP & "#" & NoPuerto End If End If Else Man.Speak "\Spd=120\No puede iniciar mas conversaciones, porque ha llegado al máximo de conversaciones permitidas." End If End If End Sub Private Sub LeerLista() Dim i As Double BandL = False Man.Speak "\Spd=120\Ésta es la lista de contactos en línea." Timer1.Enabled = True End Sub Private Sub Timer1_Timer() If BandL = True Then NoUsuario = NoUsuario + 1 If lvwUsuarios.ListItems.Count > 0 And lvwUsuarios.ListItems.Count >= NoUsuario Then Man.Speak "\Spd=120\" & lvwUsuarios.ListItems(NoUsuario).Text DoEvents End If End If If NoUsuario > lvwUsuarios.ListItems.Count Then Timer1.Enabled = False BandL = False End If Else BandL = True End If End Sub '--- ENVIAN AL PROCEDIMIENTO SALIR (ProcSalir), POR BOTON SALIR (cmdSalir), ESCAPE
&)(
'--- (KeyAscii 27) O AL CERRAR LA VENTANA (Form_Unload). '-----------------------
-------------
--------Private Sub cmdSalir_Click() ProcSalir End Sub Private Sub Form_Unload(Cancel As Integer) ProcSalir End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '•••••••••••••••========
=======•••••••••••••••
'••• PROCEDIMIENTO QUE RECIBE RESPUESTAS DEL SERVIDOR (EN LA VAR Recepcion), SEPARA LA '••• CADENA PARA OBTENER EL Comando Y EL Dato. '••• UTILIZA UN Case SOBRE LA VAR Comando Y REALIZA UNA ACCIÓN ESPECIFÍCA. '•••••••••••••••========
=======•••••••••••••••
'INICIALIZA VALORES mrk Cont = 0 Recepcion = "" Winsock1.GetData Recepcion Comando = Mid(Recepcion, 1, InStr(1, Recepcion, "]")) Dato = Mid(Recepcion, InStr(1, Recepcion, "]") + 1) Debug.Print Recepcion Select Case Comando '
Case "[MSG PRIVADO]": Case "[ACTUALIZA CTES]": Dim cadAUX As String cadAUX = (Mid(Dato, 1, InStr(1, Dato, "+") - 1)) Case "[NUEVO CTE]": Conectados.Clear ListarContactos Case "[ACEPTADO]": CteAceptado Case "[CTE FUERA]": Conectados.Clear nombreCont = Mid(Dato, 1, InStr(1, Dato, "-") - 1)
&&)
Dato = Mid(Dato, InStr(1, Dato, "-") + 1) ListarContactos 'poner la lista actualizada Default: End Select End Sub Private Sub Winsock1_SendComplete() BAND = True End Sub Public Sub ListarContactos() Do While Dato "" nombreCont = Mid(Dato, 1, InStr(1, Dato, ",") - 1) Dato = Mid(Dato, InStr(1, Dato, ",") + 1) lvwUsuarios.ListItems.Add , , nombreCont Conectados.AddItem nombreCont Loop End Sub Public Sub CteAceptado() lvwUsuarios.ListItems.Add , , usuario Conectados.AddItem usuario Winsock1.SendData "[NUEVO CTE]" & usuario FrmPrincipal.Caption = FrmPrincipal.Caption & " --" & usuario End Sub Public Sub ProcSalir() '======================= ====================== '===
PROCEDIMIENTO UTILIZADO PARA ABANDONAR Y SALIR DE LA APLICACION.
'======================= ====================== Winsock1.SendData "[SALIR]" & usuario BAND = False While (Not BAND) DoEvents Wend Winsock1.Close End Unload Me End Sub
&&&
Anexo 6. CUESTIONARIO Rellene el círculo correspondiente al valor que considere más apropiado.
1) Cree que le gustaría utilizar con frecuencia este sistema sobre otros? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
2) Encontró el sistema innecesariamente complejo? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
3) El sistema le resultó fácil de utilizar? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
4) Considera que necesitaría del apoyo de un experto para ejecutar el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
5) Encontró las funciones del sistema bien integradas? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
6) Piensa que existe demasiada inconsistencia en el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
&&'
Completo acuerdo
7) Cree que la mayoría de personas invidentes aprenderían muy rápidamente a utilizar el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
8) Encontró el sistema incompleto? Completo desacuerdo
Completo acuerdo
9) Se sintió confiado y seguro al manejar el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
10) Considera que necesita aprender muchas cosas antes de manejar el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
11) Considera que la guía que ofrece el sistema es clara? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
12) Piensa que las teclas de función que manejan las instrucciones del sistema facilitan su utilización? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
13) Encontró que la comunicación establecida con sus contactos fue buena? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
&&
Completo acuerdo
14) Cree que la opción de selección de contactos es mejor que la opción de búsqueda personalizada? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
15) Piensa que el sistema se adapta a sus necesidades de comunicación a través de Internet? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
16) Considera que la voz del agente de sonido es agradable? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
17) Le gustaría poder interactuar con otras personas localizadas en diferentes lugares, a través de este sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
18) Le gustaría que el sistema tuviera más opciones, como por ejemplo el envío de archivos? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
19) Considera que esta herramienta de comunicación beneficiará a la población invidente del CREE? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
Completo acuerdo
20) Considera que es necesario el empleo de un lector de pantallas para utilizar el sistema? Completo desacuerdo
O
O
O
O
O
1
2
3
4
5
&&!
Completo acuerdo
Anexo 7. Tabla 1. Evaluación detallada del cuestionario SUS Respuestas de los Participantes de la Prueba Piloto Preguntas del Cuestionario SUS
acuerdo
Cantidad Total de Personas
4
3
7
2
2
-
7
2
-
3
2
7
3
2
-
2
-
7
-
2
-
4
1
7
-
3
4
-
-
7
-
3
2
2
-
7
-
-
2
5
-
7
-
-
2
-
5
7
-
4
1
-
2
7
-
-
-
4
3
7
-
-
-
3
4
7
-
-
-
3
4
7
-
2
3
2
-
7
Completo
Desacuerdo
Neutral
Acuerdo
-
-
-
1
2
-
desacuerdo
1) Cree que le gustaría utilizar con frecuencia este sistema sobre otros? 2) Encontró el sistema innecesariamente complejo? 3) El sistema le resultó fácil de utilizar? 4) Considera que necesitaría del apoyo de un experto para ejecutar el sistema? 5) Encontró las funciones del sistema bien integradas? 6)
Piensa
que
existe
demasiada
inconsistencia en el sistema?
Completo
7) Cree que la mayoría de personas invidentes aprenderían muy rápidamente a utilizar el sistema? 8) Encontró el sistema incompleto? 9) Se sintió confiado y seguro al manejar el sistema? 10) Considera que necesita aprender muchas cosas antes de manejar el sistema? 11) Considera que la guía que ofrece el sistema es clara? 12) Piensa que las teclas de función que manejan las instrucciones del sistema facilitan su utilización? 13) Encontró que la comunicación establecida con sus contactos fue buena? 14) Cree que la opción de selección de contactos es mejor que la opción de búsqueda personalizada?
&&"
15) Piensa que el sistema se adapta a sus necesidades de comunicación a través de
-
-
-
3
4
7
-
2
2
2
1
7
-
-
-
-
7
7
-
-
-
3
4
7
-
-
-
3
4
7
4
-
2
1
-
7
Internet? 16) Considera que la voz del agente de sonido es agradable? 17) Le gustaría poder interactuar con otras personas localizadas en diferentes lugares, a través de este sistema? 18) Le gustaría que el sistema tuviera más opciones, como por ejemplo el envío de archivos? 19) Considera que esta herramienta de comunicación beneficiará a la población invidente del CREE? 20) Considera que es necesario el empleo de un lector de pantallas para utilizar el sistema?
&
Anexo 8.
29%
42%
Fácil de usar Seguridad
29%
Utilidad
Figura 5 . Gráfica de los porcentajes obtenidos para las Metas de Usabilidad en la prueba piloto.
Anexo 9.
1
62,50
68,75
2 76,25
70,00
3 4 5
48,75
62,50
53,75
6 7
Figura 6. Gráfica que muestra la puntuación SUS (porcentaje en base a 100) obtenida por cada uno de los participantes de la prueba piloto
&&$
Anexo 10.
80,00 70,00
1
60,00
2
Puntuación 50,00 SUS 40,00
3 4
30,00
5
20,00
6
10,00 0,00
7 1
2
3
4
5
6
Participantes
Figura 7. Histograma de la Puntuación SUS (en base a 100%) obtenida en la prueba piloto.
&&%
7
1
Actor: conjunto coherente de roles que juegan los usuarios de los casos de uso cuando interactúan con éstos. Atributo: propiedad con nombre de un clasificador que describe un rango de valores que pueden contener las instancias de la propiedad. Booleano: enumeración cuyos valores son verdadero y falso. Cardinalidad: número de elementos en un conjunto. CASE: se refiere a la ingeniería de software asistida por computadora. En esta rama se incluyen una serie de herramientas, lenguajes y técnicas de programación que permiten la generación de aplicaciones de manera semiautomática. Las herramientas CASE liberan al programador de parte de su trabajo, disminuyen la posibilidad de errores y aumentan la calidad del programa. Ceguera legal: cuando la visión es menor de 20/200 ó 0.1 (en la escala Wecker) en el mejor ojo y con la mejor corrección; o que independientemente de que su visión sea mejor, tiene un campo visual inferior a 20º. El concepto de ceguera legal se encuentra casi unificado en los países occidentales y se refiere a que las personas que tienen una agudeza visual menor al nivel estipulado podrán ser subsidiarios de prestaciones económicas y servicios educativos especiales. Clase: descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Diagrama: representación gráfica de un conjunto de elementos, representado la mayoría de las veces como un grafo conexo de nodos (elementos) y arcos (relaciones). Ejecución: puesta en marcha de un modelo dinámico. Emisor: objeto que envía una instancia de un mensaje a un objeto receptor. HCI (Interacción Humano-Computadora): es una disciplina relacionada con el diseño, evaluación e implementación de sistemas computacionales interactivos que serán utilizados por personas. Estos sistemas son desarrollados basándose en estudios previos concernientes a los principales fenómenos que rodean a dichos usuarios. Ingeniería directa: proceso de transformar un modelo en código a través de una correspondencia con un lenguaje de implementación específico. Ingeniería inversa: proceso de transformación de código en un modelo a través de una correspondencia con un lenguaje de implementación específico.
&'&
Instancia: entidad a la que se puede aplicar un conjunto de operaciones y que tiene un estado que almacena el efecto de las operaciones; es la manifestación concreta de una abstracción. Interacción: comportamiento que comprende un conjunto de mensajes que se intercambian entre un conjunto de objetos, dentro de un contexto particular, para lograr un objetivo. Interfaz: colección de operaciones que se utiliza para especificar un servicio de una clase o un componente. Lector de pantalla: programa utilitario para pronunciar el contenido de la pantalla mediante síntesis de voz. Mensajería instantánea: son programas residentes que están activos y permiten enviar y recibir mensajes en tiempo real, mientras haya conexión a Internet. Método: implementación de una operación. Modelo: simplificación de la realidad, creada para comprender mejor el sistema que se está creando; abstracción semánticamente cerrada de un sistema. Multiplicidad: especificación del rango de cardinalidades permisible que puede asumir un conjunto. Objeto: manifestación concreta de una abstracción; entidad con unos límites bien definidos e identidad que encapsula estado y comportamiento; instancia de una clase. OpenSource: El software opensource se define por la licencia que lo acompaña, que garantiza a cualquier persona el derecho de usar, modificar y redistribuir el código libremente. Operación: implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento. Proceso: flujo de control pesado que puede ejecutarse concurrentemente con otros procesos. Receptor: objeto que maneja una instancia de un mensaje lanzada desde un objeto emisor. Relación: conexión semántica entre elementos. Sistema: conjunto de elementos organizados para lograr un propósito específico y que se describe por un conjunto de modelos. TCP/IP: TCP (Transmission Control Protocol) e IP (Internet Protocol), son un conjunto de protocolos comunes utilizados por todas las computadoras conectadas a Internet, para que las mismas puedan comunicarse entre sí. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware; ya que otros protocolos no permiten el intercambio de información entre medios y tecnologías diferentes. Además ofrece los servicios de conexión
&''
entre los programas llamados y los que llaman, chequeo de errores, control de flujo y capacidad de interrupción. Tipo de datos: tipo cuyos valores no tienen identidad. Los tipos de datos incluyen tipos primitivos predefinidos (tales como números y cadenas de caracteres), así como tipos enumerados (tales como los booleanos). Síntesis de voz o TTS (Text To Speech): los sistemas de síntesis de voz, son aquellos que convierten una entrada escrita en palabras, a una salida pronunciada, simulando el proceso humano de leer en voz alta. Estos sistemas son también conocidos como sistemas de texto a voz (TTS, siglas de las palabras en inglés Text To Speech). UML: Lenguaje Unificado de Modelado, un lenguaje para visualizar, especificar, construir y documentar los artefactos de un sistema con gran cantidad de software. Usabilidad: es el parámetro que mide la calidad de la experiencia obtenida por parte de un usuario, al interactuar con un producto o sistema; ya sea un sitio web, software de aplicación, tecnología móvil o cualquier dispositivo.
&'