USABILIDAD E APLICACIO ES BASADAS E GRID COMPUTI G

Tamaño: px
Comenzar la demostración a partir de la página:

Download "USABILIDAD E APLICACIO ES BASADAS E GRID COMPUTI G"

Transcripción

1 PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INFORMÁTICA USABILIDAD E APLICACIO ES BASADAS E GRID COMPUTI G DA AE LILIA A HAYVAR STRASSER GO ZALO DA IEL TAPIA ALDEA INFORME FINAL DEL PROYECTO PARA OPTAR AL TÍTULO PROFESIONAL DE INGENIERO CIVIL EN INFORMÁTICA JULIO, 2010

2 Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática USABILIDAD E APLICACIO ES BASADAS E GRID COMPUTI G Danae Liliana Hayvar Strasser Gonzalo Daniel Tapia Aldea Profesor Guía: Cristian Rusu Profesor Co-referente: Silvana Roncagliolo De La Horra Carrera: Ingeniería Civil en Informática Julio, 2010

3 Dedicatoria Dedicado a nuestros seres más queridos, por su amor, esfuerzo y apoyo. i

4 Resumen Grid Computing es una tecnología relativamente nueva de computación distribuida, que se basa en compartir distintos tipos de recursos computacionales localizados en diversos lugares geográficos, siendo esto transparente para el usuario, de modo de lograr la ilusión de un único supercomputador. Esta tecnología está aún en proceso de maduración y, debido a este proceso, sus usuarios ya no son sólo personas altamente experimentadas, lo que plantea la necesidad de establecer una metodología que permita evaluar la usabilidad de aplicaciones basadas en Grid Computing, para que sus usuarios puedan lograr usarlas de manera eficiente. En el presente trabajo se muestra una propuesta de heurísticas de evaluación para poder llevar a la práctica el concepto de usabilidad al ámbito de las aplicaciones basadas en Grid Computing. Palabras Clave: Grid Computing, Heurísticas, Evaluación de Usabilidad. Abstract Grid computing is a relatively new distributed computing technology, based on sharing different types of computational resources located in different geographic locations, this being transparent to the user, so as to achieve the illusion of a single supercomputer. This technology is still maturing and its users are becoming less experienced, which raises the need to establish a methodology for evaluating the usability of Grid Computing based applications, to enable its users to work more efficiently. In this document we present a proposal of a set of heuristics in order to put into practice the concept of usability to the field of Grid Computing based applications. Keywords: Grid Computing, Heuristics, Usability Evaluation. ii

5 Índice Resumen Glosario de Términos Lista de Abreviaturas o Siglas Lista de Figuras Lista de Tablas ii vii viii ix xii 1 Introducción Usabilidad en Aplicaciones Grid Computing Objetivos del Proyecto Objetivo General Objetivos Específicos Metodología de Trabajo Discusión Bibliográfica Marco Teórico Grid Computing Concepto Grid Computing Características Básicas Arquitecturas Similares a Grid Computing Beneficios y Limitantes Áreas de Aplicación Proyectos Científicos Evolución Tipos de Grid Usuarios de Grid Computing Caracterización General de los Usuarios Tipos de Usuarios Metodología de Trabajo de los Usuarios Entrenamiento iii

6 2.2 Aplicaciones Basadas en Grid Computing Arquitectura Requerimientos Organización Virtual Seguridad Interfaces Envío de Tareas Monitoreo Visualización Portales Casos de Estudio Caso de Estudio: Aplicación GreenView v Caso de Estudio: Aplicación GreenLand v Usabilidad Usabilidad de Productos Software Atributos de Usabilidad Paradigmas de Usabilidad Principios de Usabilidad Evaluación de Usabilidad Métodos de Evaluación de Usabilidad Propuesta de Heurísticas de Evaluación de Usabilidad Usabilidad de Aplicaciones Grid Computing Propuesta de Heurísticas para Grid Computing Proceso de Desarrollo de las Heurísticas Iteraciones Estructura de Presentación de las Heurísticas Claridad Uso de Metáforas Simplicidad Retroalimentación Consistencia Atajos para Funcionalidades iv

7 3.4.7 Reducir Carga de Memoria Explorabilidad Control sobre Acciones Prevención de Errores Ayuda para Recuperación de Errores Documentación de Ayuda Mapeo de las Heurísticas para Grid Computing Resumen de las Heurísticas Validación de las Heurísticas Propuestas Evaluaciones Heurísticas a GreenView Evaluación Utilizando Heurísticas de Nielsen Evaluación Utilizando Heurísticas para Grid Computing Comparación de Resultados Problemas Encontrados sólo con Heurísticas de Nielsen Problemas Encontrados sólo con Heurísticas Grid Computing Cantidad de Problemas Encontrados por Heurística Pruebas de Usabilidad a GreenView Evaluaciones Heurísticas a GreenLand Evaluación Utilizando Heurísticas de Nielsen Evaluación Utilizando Heurísticas para Grid Computing Comparación de Resultados Problemas Encontrados sólo con Heurísticas de Nielsen Problemas Encontrados sólo con Heurísticas Grid Computing Cantidad de Problemas Encontrados por Heurística Comparación Final de Evaluaciones Heurísticas Pruebas de Usabilidad a GreenLand Comparación Final de Pruebas de Usabilidad Grid Computing como Plataforma de Colaboración Intercultural Checklist para Evaluación de Usabilidad de Aplicaciones Científicas Grid Computing Propósito Creación y Alcances Modo de Utilización v

8 5.4 Checklist Conclusiones Referencias Anexos A: Evaluación Heurística GreenView v3.1 utilizando Heurísticas de ielsen B: Evaluación Heurística GreenView v3.1 utilizando Heurísticas Grid Computing C: Acuerdo de Confidencialidad D: Cuestionario Pre-Test GreenView v E: Listado de Tareas GreenView v F: Cuestionario Post-Test GreenView v G: Evaluación Heurística GreenLand v1.2 utilizando Heurísticas de ielsen H: Evaluación Heurística GreenLand v1.2 utilizando Heurísticas Grid Computing I: Instrucciones de la prueba GreenLand v J: Cuestionario Pre-Test GreenLand v K: Listado de Tareas GreenLand v L: Cuestionario Post-Test GreenLand v vi

9 Glosario de Términos Grid Computing: Tecnología que permite interconectar recursos computacionales distribuidos para compartir sus capacidades, dando la apariencia de un único supercomputador. Gross Primary Production: Tasa a la cual los productores de un ecosistema capturan y almacenan cierta cantidad de energía química en la forma de biomasa a lo largo de cierto período de tiempo. Job: Tarea a procesar por una infraestructura Grid Computing. Job Description Language: Lenguaje utilizado para especificar el funcionamiento de una tarea a procesar por una infraestructura Grid Computing. Open Grid Service Infrastructure: Conjunto de especificaciones WSDL que definen interfaces estándares. Middleware: Software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Virtual Organization: Conjunto de usuarios u organizaciones que comparten los recursos en una misma infraestructura Grid Computing. Web Service Description Language: Documento XML para describir Web Services como un conjunto de puntos comunicados por mensajes. vii

10 Lista de Abreviaturas o Siglas API : Application Programming Interface. ESIP : Environment Oriented Satellite Data Processing Platform. EVI : Enhanced Vegetation Index. FAFNER : Factoring via Network-Enabled Recursion. FLOPS : Floating Point Operations Per Second. GANGA : Grid Application Information Gathering and Accessing Framework. GCE : Grid Computing Environment. GEMI : Global Environmental Management Initiative. GPDS : Grid Projects and Deployments System. GPP : Gross Primary Production. HPC : High Performance Computing. HTC : High Throughput Computing. IPVI : Infrared Percentage Vegetation Index. JDL : Job Description Language. LHC : Large Hadron Collider. MCS : My Condor Submit. MPP : Massive Parallel Processing. NDVI : Normalized Difference Vegetation Index. NMI : NSF Middleware Iniciative. OGSA : Open Grid Services Architecture. OGSI : Open Grid Services Infrastructure. SAVI : Soil-Adjusted Vegetation Index. SDG : Scientific Data Grid. SMP : Symmetric Multi Processing. UHCS : University Health Care System. VO : Virtual Organization. WSDL : Web Service Description Language. viii

11 Lista de Figuras Figura 2.1 Representación Gráfica del Concepto de Grid Computing Figura 2.2 Organización Virtual Figura 2.3 Arquitecturas Distribuidas Relacionadas con Grid Computing Figura 2.4 Costo Relativo por Gigaflop para Grid Computing y para HPC Tradicional Figura 2.5 Simulaciones del Movimiento de Millones de Átomos de Hielo y Agua Figura 2.6 Simulación del Flujo de Sangre en el Cerebro, parte del Interactive European Grid Figura 2.7 Access Grid Figura 2.8 Intersecciones entre los Tipos de Grids Figura 2.9 Metodología de Trabajo de los Usuarios Figura 2.10 Arquitectura de Grid Computing Figura 2.11 Envío de Tareas mediante Línea de Comandos Figura 2.12 Envío de Tareas en GANGA Figura 2.13 Envío de Tareas en GridBLAST Figura 2.14 Ejemplo de Script a Enviar Figura 2.15 Interfaz de Monitoreo de Tareas Figura 2.16 Monitoreo de Tareas en Azure Grid Figura 2.17 Modelo Molecular Dinámico a Gran Escala, eminerals Project Figura 2.18 Simulación de Efectos por Desechos Radiactivos, eminerals Project Figura 2.19 Herramienta de Visualización, GLUT Viewer (VIZ) Figura 2.20 Portal de World Community Grid Figura 2.21 Portal de TeraGrid Figura 2.22 Interfaz de Portal, eminerals Project Figura 2.23Arquitectura GreenView Figura 2.24Interfaz GreenView para Ingresar Archivos para GPP Computing Figura 2.25 Interfaz GreenView Selección de Ubicación Figura 2.26 Interfaz GreenView Selección de Ubicación (Satelital) Figura 2.27 Interfaz GreenView Visualización de Resultados Figura 2.28 Transformación de una Imagen Satelital en Mapas Temáticos Figura 2.29 Arquitectura GreenLand Figura 2.30 Interfaz GreenLand para Seleccionar Ubicación ix

12 Figura 2.31 Interfaz GreenLand de Carga de Imágenes Satelitales Figura 2.32 Interfaz GreenLand de Selección de Índices Figura 2.33 Interfaz GreenLand de Visualización de Estado de Procesamiento Figura 2.34 Interfaz GreenLand de Visualización de Subtareas Figura 2.35 Interfaz GreenLand de Búsqueda de Tareas Figura 3.1 Opción Coarse Image Resolution Figura 3.2 Visualización de Subtareas en Aplicación GreenLand Figura 3.3 Visualización de Resultados en Aplicación GreenLand Figura 3.4 Interfaz GPP Computing GreenView Figura 3.5 Inicio de Procesamiento Figura 3.6 Opción Map search de GreenView Figura 3.7 Barra de Progreso de Ligandfit Figura 3.8 Pestañas en GreenView Figura 3.9 Cuadro View Processing Status Figura 3.10 Error por Ingresar Caracteres No Numéricos Figura 3.11 Opción Add Images Figura 3.12 Error por Formato Indecuado Figura 3.13 Mensaje Error Figura 3.14 Mensaje Error Retrieving Nodes Information! Figura 3.15 Manual de Usuario Online de Aplicación GreenView Figura 4.1 Gráfico de la Cantidad de Problemas Encontrados por cada Heurística (Nielsen) Figura 4.2 Gráfico de la Cantidad de Problemas Encontrados por cada Heurística (Grid Computing) 87 Figura 4.3 Gráfico del Porcentaje de Problemas Encontrados por cada Heurística en GreenView Figura 4.4 Gráfico de la Cantidad de Problemas Encontrados por cada Heurística en GreenView Figura 4.5 Gráfico de la Facilidad de Navegación Figura 4.6 Gráfico de la Claridad en Disposición de Funcionalidades Figura 4.7 Gráfico de la Claridad en la Retroalimentación Figura 4.8 Gráfico de la Claridad de Interfaz Gráfica Figura 4.9 Gráfico de la Ayuda Contextual Figura 4.10 Gráfico de la Facilidad de Utilizar el Manual Online Figura 4.11 Gráfico del Cumplimento de las Tareas Figura 4.12 Gráfico del Porcentaje de Problemas Encontrados por cada Heurística en GreenLand x

13 Figura 4.13 Gráfico de la Cantidad de Problemas Encontrados por cada Heurística en GreenLand Figura 4.14 Gráfico de Comparación de la Cantidad de Problemas Encontrados Figura 4.15 Gráfico de Comparación de la Cantidad de Problemas Críticos Encontrados Figura 4.16 Gráfico de la Facilidad de Navegación Figura 4.17 Gráfico de la Claridad en la Disposición de Funcionalidades Figura 4.18 Gráfico de la Claridad en la Retroalimentación Figura 4.19 Gráfico de la Claridad de Interfaz Gráfica Figura 4.20 Gráfico de la Ayuda Contextual Figura 4.21 Gráfico de Éxito en las Tareas de GreenView Figura 4.22 Gráfico de Éxito en las Tareas de GreenLand xi

14 Lista de Tablas Tabla 2.1 Tipos de Usuarios de Grid Computing Tabla 3.1 Mapeo entre las Heurísticas para Grid Computing y las Heurísticas de Nielsen Tabla 3.2 Resumen de las Heurísticas Tabla 4.1 Participantes de la Evaluación Heurística a GreenView (Heurísticas de Nielsen) Tabla 4.2 Heurísticas de Nielsen para Evaluar la Usabilidad de un Sistema Tabla 4.3 Escala de Severidad y Frecuencia Tabla 4.4 Listado de los Ocho Problemas más Críticos (Heurísticas de Nielsen) Tabla 4.5 Principios Incumplidos en GreenView (Heurísticas de Nielsen) Tabla 4.6 Participantes de la Evaluación Heurística a GreenView (Heurísticas Grid Computing) Tabla 4.7 Listado de los Ocho Problemas más Críticos (Heurísticas Grid Computing) Tabla 4.8 Principios Incumplidos en GreenView (Heurísticas Grid Computing) Tabla 4.9 Listado de Problemas Encontrados sólo con Heurísticas de Nielsen Tabla 4.10 Listado de Problemas Encontrados sólo con Heurísticas Grid Computing Tabla 4.11 Mapeo entre la Cantidad de Problemas Encontrados con cada Heurística Tabla 4.12 Perfiles de Usuarios Participantes en Prueba de Usabilidad Tabla 4.13 Listado Resumen de Tareas para la Prueba con Usuarios Tabla 4.14 Resumen de los Resultados de las Tareas Realizadas Tabla 4.15 Listado de Problemas Corroborados y Desestimados por Prueba Tabla 4.16 Participantes de la Evaluación Heurística a GreenLand (Heurísticas de Nielsen) Tabla 4.17 Listado de los Ocho problemas más Críticos (Heurísticas de Nielsen) Tabla Principios Incumplidos en GreenLand (Heurísticas de Nielsen) Tabla 4.19 Participantes de la Evaluación Heurística a GreenLand (Heurísticas Grid Computing) Tabla 4.20 Listado de los Ocho Problemas más Críticos (Heurísticas Grid Computing) Tabla 4.21 Principios Incumplidos en GreenLand (Heurísticas Grid Computing) Tabla 4.22 Listado de Problemas Encontrados sólo con Heurísticas de Nielsen Tabla 4.23 Listado de Problemas Encontrados sólo con Heurísticas de Grid Computing Tabla 4.24 Mapeo entre la Cantidad de Problemas Encontrados con cada Heurística Tabla 4.25 Perfiles de Usuarios Participantes en Prueba de Usabilidad Tabla 4.26 Listado Resumen de Tareas para la Prueba con Usuarios Tabla 4.27 Resumen de los Resultados de las Tareas Realizadas Tabla 5.1 Checklist de Problemas xii

15 1 Introducción Grid Computing es una tecnología emergente que permite interconectar recursos computacionales distribuidos para compartir sus capacidades. Las grids (redes) computacionales son infraestructuras que proveen a sus usuarios acceso a recursos de numerosas localizaciones diferentes. Estos recursos incluyen capacidad de almacenamiento, poder de cómputo, control sobre herramientas tales como sensores, herramientas de visualización, aplicaciones y otros. Mediante una grid, alguien sentado frente a un computador puede utilizar las capacidades combinadas de cientos o miles de computadores que componen la grid, proveyendo a los investigadores un poder extra para realizar progresos más rápidos en su trabajo. Lo anterior permite la utilización de aplicaciones que hacen un uso intensivo de recursos a un costo más bajo que el que conllevaría la adquisición de un supercomputador, gracias a las economías de escala. Además, en muchos casos el procesamiento y computación de los datos es tan grande que no puede ser realizado por un solo supercomputador. En estos casos, y si se trata de un proyecto que se va a mantener en el tiempo, y no de un trabajo puntual de corta duración, utilizar un sistema Grid Computing puede ser una excelente opción. Por otro lado, se tiene que uno de los principales atributos de los sistemas software es la usabilidad. Resulta ser un aspecto crítico en el desarrollo de sistemas que se puedan declarar exitosos, ya que el hecho de que un sistema sea usable implica que permite a sus usuarios trabajar de manera eficaz, eficiente y que utilizar la aplicación resulte satisfactorio. En el contexto de las aplicaciones basadas en Grid Computing, y por efecto de la masificación y maduración de esta tecnología, se puede observar que sus usuarios ya no sólo son científicos o personas técnicamente avanzadas, sino que están pasando a ser usuarios menos experimentados, lo que hace aun más importante estudiar la usabilidad de este tipo de aplicaciones. Considerando la importancia que tiene la usabilidad en el éxito de una aplicación, es que este proyecto se abocará al estudio de la usabilidad en aplicaciones científicas, en ambientes basados en Grid Computing. Para ello se presenta una propuesta de heurísticas de evaluación, para poder llevar a la práctica la aplicación del concepto de usabilidad al ámbito de las aplicaciones basadas en Grid Computing. 1.1 Usabilidad en Aplicaciones Grid Computing Grid Computing es una nueva tecnología de computación distribuida, basada en el uso coordinado de distintos tipos de recursos computacionales de un número indeterminado de equipos, los cuales no están necesariamente en un mismo lugar geográfico, siendo esto ocultado al usuario y permitiendo, así, tratar este conjunto de recursos como si se tratara de un único supercomputador, de forma transparente. 1

16 En la actualidad existen numerosos proyectos a nivel mundial que hacen uso de la infraestructura grid, donde gran parte de los casos han sido llevados a cabo con fines de investigación o científicos. Relativos a estos proyectos existen igualmente numerosos estudios, enfocados, ya sea a la tecnología distribuida en sí, a los resultados obtenidos, o a los aspectos económicos o comerciales. A pesar de los cuantiosos estudios descritos, la mayor parte de la investigación llevada a cabo hasta el momento se ha enfocado en el desarrollo de aplicaciones Grid Computing desde un punto de vista más técnico que centrado en el usuario, siendo escasos los estudios relacionados a este importante aspecto de una aplicación. Siendo Grid Computing una tecnología emergente, se hace especialmente importante estudiar el aspecto de la usabilidad, ya que, como nueva tecnología, presenta el desafío de estudiar si acaso el concepto de usabilidad sigue siendo válido, cuáles son las dimensiones de la nueva usabilidad, cómo ésta puede ser medida y cómo desarrollar para obtener una mejor usabilidad. 1.2 Objetivos del Proyecto A continuación se definirá el objetivo general del proyecto y los objetivos específicos que marcan los hitos del proyecto Objetivo General Establecer y validar un conjunto de heurísticas de evaluación de la usabilidad para aplicaciones científicas en entornos Grid Computing Objetivos Específicos Analizar la tecnología Grid Computing y sus características, arquitectura y elementos. Analizar atributos, reglas, principios y métodos de evaluación de usabilidad. Establecer heurísticas para la evaluación de usabilidad en entornos Grid Computing. Validar el conjunto de heurísticas propuestas, a partir de evaluaciones heurísticas y pruebas de usabilidad para los casos de estudio. 2

17 1.3 Metodología de Trabajo La investigación consta de una metodología de trabajo para poder fundamentar la validez científica de su desarrollo, donde el procedimiento para lograr el propósito de establecer los patrones de usabilidad se fundamentó en la descripción de un proceso cualitativo [Hernández et al., 2006]. 1) Especificación de la problemática en cuestión: a) Descripción del contexto y motivación de la investigación. b) Análisis y estudio de estado actual y relaciones sobre los elementos de la investigación. c) Definición de la problemática en cuestión. 2) Formulación de objetivos y solución del problema: a) Determinación de objetivos generales y específicos. b) Diseño de una solución sistemática que permita establecer heurísticas para la evaluación de usabilidad de aplicaciones basadas en Grid Computing. 3) Verificación de la solución: a) Aplicación de las actividades correspondientes a la solución definida. b) Validación de los resultados obtenidos mediante la solución definida. 4) Conclusiones de resultados finales: a) Conclusiones sobre el trabajo realizado. b) Conclusiones sobre trabajos futuros. 1.4 Discusión Bibliográfica A tener un enfoque dirigido hacia el usuario es a lo que apunta la usabilidad. Se intenta, de este modo, conocer sus necesidades y objetivos. A partir de esto, se quiere lograr llegar a un producto que le resulte, al mismo, fácil de aprender, de usar y que le produzca satisfacción al momento de utilizarlo. Actualmente, se ha conseguido dar mucha más importancia de lo que se solía dar a este aspecto, lo cual ha conllevado un gran número de ventajas relacionadas con los productos software. Al hablar de usabilidad no puede dejar de mencionarse al que bien podría llamarse el padre de la usabilidad: Jakob Nielsen. Este ingeniero de interfaces, que obtuvo el doctorado en 3

18 diseño de interfaces de usuario y ciencias de la computación en la Universidad Técnica de Dinamarca, comenzó detectando falencias asociadas a la usabilidad en la Web ya en No es sino hasta 1997, sin embargo, que su trayectoria comienza realmente, al escribir dos artículos acerca de cómo preparar los textos para la Web. Éstos se basaban principalmente en la simplicidad y el sentido común. Existe además, por supuesto, una amplia y diversa bibliografía asociada a la usabilidad, gracias a cuyos autores se ha logrado enriquecer aún más el conocimiento a nivel internacional acerca de la usabilidad y sus alcances. Por otra parte, integrando el concepto de Grid Computing, se hace necesario nombrar a Ian Foster, quien es director del Instituto de Computación Arthur Holly Compton, Profesor Distinguido de Ciencias de la Computación en el Argon Institute y la Universidad de Chicago, y es llamado el innovador de la tecnología de Grid Computing. Si bien en 1998 ya había publicado una definición de este concepto junto con Carl Kesselman, ésta fue evolucionando, hasta que en 2002 publicó una completa definición de lo que es Grid Computing, en su artículo llamado What is the Grid? A three point checklist. A partir de este punto se puede encontrar extensa bibliografía referente a Grid Computing, la cual sigue aumentando y enriqueciéndose constantemente, y a partir de la cual se ha podido realizar la investigación, a la par con la bibliografía asociada a usabilidad, que en su conjunto han constituido importantes herramientas para realizar este trabajo. 4

19 2 Marco Teórico 2.1 Grid Computing Concepto Grid Computing Grid Computing es un nueva tecnología de computación distribuida, que se basa en el uso coordinado de distintos tipos de recursos computacionales de un número indeterminado de equipos, los cuales no están necesariamente en un mismo lugar geográfico, lo que es ocultado al usuario, permitiendo así tratar este conjunto de recursos como un único supercomputador, de forma transparente. Esta emergente tecnología permite interconectar diversos recursos computacionales para compartir sus capacidades. Las grids computacionales, como infraestructura, proveen a sus usuarios acceso a recursos de muchas localizaciones diferentes, tal como Internet permite acceso a información. Estos recursos incluyen capacidad de almacenamiento, poder de cómputo, control sobre herramientas tales como sensores, herramientas de visualización, aplicaciones y otros. Mediante una grid, alguien sentado frente a su computador puede utilizar las capacidades combinadas de cientos o miles de computadores que componen la grid, proveyendo a los investigadores un poder extra para realizar progresos más rápidos en su trabajo. Esta idea se representa en la figura 2.1. INSTRUMENTOS SATELITALES ALMACENAMIENTO APLICACIONES INSTRUMENTOS CIENTIFICOS SERVIDORES SUPERCOMPUTADORES CLUSTERS Figura 2.1: Representación gráfica del concepto de Grid Computing. 5

20 El objetivo de Grid Computing es facilitar la integración de estos recursos computacionales para la aplicación de este gran poder concentrado para resolver problemas que, generalmente, requieren un gran número de ciclos de procesamiento, almacenamiento de grandes cantidades de datos o acceso a los mismos. Éstos se encuentran, generalmente, localizados de manera distante, o administrados por diferentes organizaciones y el acceso a equipamiento especializado es de difícil disponibilidad. Esta tecnología también se utiliza para la colaboración interorganizacional de sus usuarios. Actualmente, esta colaboración entre instituciones se puede apreciar mayormente entre universidades, laboratorios de investigación o empresas que se asocien para formar una grid. Grid Computing corresponde a un nuevo campo en la computación distribuida, cuya idea básica de compartir recursos proviene de los conceptos de clustering existentes en los años 70. Como concepto, fue originalmente concebido a mediados de los años 90, pero su despegue ha ocurrido posteriormente al año 2000, tras la formalización de su concepto por parte de Ian Foster en The Anatomy of the Grid: Enabling Scalable Virtual Organizations. Esta tecnología permite utilizar de forma coordinada todo tipo de recursos que pueden estar muy dispersos geográficamente, incluso en distintos continentes, sin embargo su característica diferenciadora respecto a otros tipos de computación distribuida es que estos recursos no están sujetos a un control centralizado, ya que provienen de múltiples organizaciones que tienen sus propias administraciones. Aquí surge el concepto de Organización Virtual (figura 2.2), que corresponde a una organización conformada por todas las instituciones que participan en una determinada grid, la cual posee virtualmente todos los recursos que cada una de las partes desea compartir [Foster, 2002]. ORGANIZACIÓN B ORGANIZACIÓN A ORGANIZACIÓN C ORGANIZACIÓN VIRTUAL Figura 2.2: Organización virtual. 6

21 Las grids computacionales utilizan redes para interconectar los recursos de múltiples computadores provenientes de diversas organizaciones. Para ocultar la complejidad inherente a la tarea de coordinar recursos provenientes de ambientes heterogéneos, la grid se vale del middleware, conectando de manera transparente los usuarios con los recursos. Así, los usuarios de una grid tienen disponibles los recursos que necesitan, sin importar de dónde éstos provengan, dando la impresión de que se tratara de un único gran sistema. El tamaño de una grid puede variar ampliamente, existiendo desde grids pequeñas, formadas por algunos servidores de una organización, hasta enormes grids internacionales, formadas por la colaboración de múltiples instituciones, tales como universidades, centros de investigación o empresas, llegando a tener cientos de miles de nodos. Además, existe otra acepción al término Grid Computing que vale la pena mencionar, ya que tiene una importante diferencia con la anterior. Ésta señala que Grid Computing permite reunir los recursos de computadores caseros mientras éstos no están siendo utilizados. Es decir, utiliza su capacidad de procesamiento no aprovechada para brindarla a algún proyecto que requiera del uso intensivo de procesamiento. Esto también es llamado, a veces, Volunteer Computing (Computación Voluntaria), porque no ofrece ningún beneficio directo a los miembros colaboradores, sino sólo a quien recoge los recursos. Debido a que no existe una única definición oficial aceptada de Grid Computing, sino más bien múltiples descripciones sobre en qué consiste, a lo largo de este trabajo se hablará de Grid Computing como el concepto mencionado en un principio, debido a que es el más comúnmente empleado Características Básicas Las grids están definidas por un conjunto de características básicas, incluyendo aquellas que son comunes a todos los sistemas informáticos y, más específicamente, a los sistemas distribuidos. Es posible profundizar el entendimiento de Grid Computing teniendo un mayor conocimiento acerca de sus características. Éstas permiten visualizar de mejor manera sus aristas. Las características generales de un ambiente grid, descritas a continuación, permiten definir un ambiente grid básico. Estas características son hechas posibles por la forma en que los recursos componentes son implementados y usados en un GCE. Transparencia / Abstracción Una grid ofrece una capa de abstracción, proporcionada por el middleware, para integrar diferentes dominios de administración, plataformas y políticas heterogéneas. El nivel de abstracción proporcionado por un ambiente Grid Computing permite aplicaciones que no pueden ser creadas con otro tipo de infraestructuras, ya que provee 7

22 métodos para reducir dependencias locales para la compartición de recursos. Esto le brinda un potencial excepcional para abstraer sin límites funcionalidades a partir de la infraestructura y recursos que subyacen [Travostino et al, 2006]. Compartición de Recursos La misma capacidad de abstracción mencionada permite una compartición a gran escala de recursos entre múltiples nodos distribuidos. Esta compartición coordinada y colaboración son la base de Grid Computing, extendiendo las posibilidades de otros sistemas, tales como los clusters. Los recursos de una grid pertenecen a diferentes organizaciones, las cuales permiten a otras utilizarlos, logrando así mayor eficiencia y reducción de costos. Flexibilidad Los ambientes grid no suelen ser diseñados como jerarquías rígidas de funciones en capas. Más bien consisten en colecciones de funcionalidades modulares que pueden ser reensambladas, basadas en requerimientos dinámicamente cambiantes [Travostino et al, 2006]. Grid Computing posee una flexibilidad inherente tanto en el sentido de microprogramación, como también en la administración de los recursos, es decir, que el usuario tenga una estimación y control sobre éstos. Esta gran flexibilidad viene dada principalmente por dos elementos: la asignación de los recursos y la gestión del flujo de trabajo, los que son llevados a cabo, en gran medida, por software middleware especializado, que gestiona las peticiones y recursos dentro de frameworks de flujos de trabajo. Las grid permiten llevar a cabo procesos planificados y/o asignaciones de recursos dinámicas en tiempo real. Las grids pueden ser usadas para soportar ambientes que requieren una sofisticada orquestación de procesos de flujo de trabajo. Administración y Control Descentralizado Una característica muy importante es que su arquitectura permite la gestión y control descentralizado de sus recursos, haciendo posible que múltiples servicios sean invocados independientemente de procesos que requieran la intervención por parte de procesos centralizados. Ésta es una característica especialmente diferenciadora, ya que la descentralización va más allá de un sentido físico, alcanzando un nivel de separación administrativa. 8

23 Escalabilidad Los ambientes Grid Computing son particularmente escalables. Una infrastructura grid se puede implementar localmente para una empresa u organización privada, o bien, distribuida a través de extensas regiones geográficas. Esto hace posible agregar, en cualquier momento, recursos o miembros a la organización virtual en la medida que sean necesarios, lógicamente, sin que exista una reducción del rendimiento a causa de esto [Bote-Lorenzo et al., 2004]. Alto Rendimiento Las infraestructuras propias de Grid Computing pueden proveer servicios de rendimiento extremadamente alto, al agregar múltiples recursos. La compartición transparente de una cantidad teóricamente ilimitada de nodos permite prestaciones incluso más altas que las del supercomputador más rápido y, comparativamente, a un costo bajo. Generalización Las grids pueden ser muy generalizadas y pueden extenderse a muchos tipos de ambientes y dispositivos. Personalización Una infraestructura grid puede ser personalizada para cumplir con los requerimientos altamente especializados y condiciones de sus usuarios y para albergar diversos tipos de recursos. Heterogeneidad Una infraestructura grid alberga tanto recursos software como recursos hardware, que pueden ser muy variados, tales como sistemas operativos, tipos de datos, archivos, o instrumentos científicos como microscopios, sensores satelitales, sensores meteorológicos, o los variados tipos de redes que los interconectan Arquitecturas Similares a Grid Computing Existen múltiples arquitecturas que, al igual que Grid Computing, permiten mejorar las capacidades de procesamiento o almacenamiento para sistemas. A continuación se mencionarán algunas arquitecturas que presentan similitudes con Grid Computing, así como también se destacarán sus diferencias. 9

24 Cluster Cluster es un término genérico para llamar a una colección de computadores usados simultáneamente para llevar a cabo una determinada tarea, proporcionando de esta forma, claras ventajas en disponibilidad y capacidad de escalamiento. Existen dos conceptos asociados al de escalabilidad: escalabilidad vertical y escalabilidad horizontal. La escalabilidad vertical consiste en aumentar las capacidades de un equipo, formando un sistema poderoso. La escalabilidad horizontal, por otra parte, implica el uso de muchas máquinas interconectadas, teniendo así la posibilidad de utilizar máquinas más pequeñas de menor costo para lograr los resultados de un sistema poderoso. Se puede apreciar que una infraestructura grid es similar a un cluster, permitiendo reunir recursos computacionales, sin embargo, el parecido no va más allá, ya que los clusters generalmente necesitan de proximidad física entre los componentes que lo constituyen y homogeneidad operativa. En cambio, los nodos de una grid pueden estar geográficamente distribuidos y ser heterogéneos. Una grid, en sí, es un tipo de cluster más evolucionado, permitiendo superar los problemas de ubicación geográfica de sus nodos. Es más, una infraestructura grid puede contar con múltiples clusters y otros sistemas como parte de sus recursos. Internet Se puede mencionar a Internet, ya que comparte algunos aspectos con Grid Computing. Por ejemplo, al utilizar Internet se oculta la complejidad, permitiendo el uso compartido de información, sin embargo, en el caso de Grid Computing no sólo se permite la comunicación y compartición de información, sino que, además, la de múltiples recursos, tales como la capacidad de procesamiento y almacenamiento, además de permitir un mayor grado de colaboración. Existen ciertas arquitecturas que cabe mencionar, debido a algunas similitudes que presentan con respecto a Grid Computing, ya que obtienen ventajas en la capacidad de procesamiento mediante el uso de múltiples procesadores ejecutándose en paralelo para llevar a cabo una tarea. Procesamiento Paralelo Masivo (MPP Massive Parallel Processing) Es un término usado para referirse a un sistema computacional con muchas unidades aritméticas independientes o microprocesadores enteros que pueden correr en paralelo. Un MPP puede constar de cientos o miles de estas unidades conectadas entre sí para formar un solo gran computador. 10

25 Multi Procesamiento Simétrico (SMP Symmetric Multi Processing) Ésta es una arquitectura que consiste en un computador multiprocesador, donde dos o más procesadores idénticos se pueden conectar a una sola memoria principal compartida, brindando una mayor capacidad de procesamiento. En la figura 2.3 se puede ver una comparativa del grado de centralización. Se comienza desde SMP, siendo el ejemplo más centralizado de los presentados, llegando finalmente a Internet, completamente descentralizado. Grid Computing, a pesar de tener una administración descentralizada, está limitada por el control de la organización virtual. Centralización Descentralización SMP MPP Cluster Grid Computing Internet High Performance Computing High Throughput Computing Figura 2.3: Arquitecturas distribuidas relacionadas con Grid Computing. Estas arquitecturas se pueden clasificar como: Computación de Alto Rendimiento (HPC High Performance Computing): Estos sistemas son usados para realizar computaciones numéricas complejas. Su rendimiento es medido en FLOPS (Floating point Operations Per Second). Grid Computing puede ser considerado como HPC, estimando su rendimiento en FLOPS, como se mencionó. Existen ejemplos de grids tales como BOINC y Holding@Home que alcanzan 1.8 y 5 Petaflops respectivamente. Haciendo una comparación con estos valores, se puede hablar de Cray XT Jaguar, el supercomputador MPP más rápido de la actualidad, el cual opera a 1,64 Petaflops. Este sistema, a pesar de poseer procesadores AMD 11

26 Opteron de cuatro núcleos y 362 Terabytes de memoria primaria, no alcanza el rendimiento de tales grids. Computación de Alto Throughput (HTC High Throughput Computing): Consiste en el uso de muchos recursos computacionales por largos periodos de tiempo para cumplir con una tarea. Permite aumentar el número de ejecuciones por unidad de tiempo. Es por esto que su rendimiento se mide en términos de trabajos realizados por segundo o FLOPY. Su aplicación se ve en la física de alta energía o en la bioinformática Beneficios y Limitantes Hablar de ventajas o desventajas puede considerarse relativo, pues dependiendo de qué aspectos se tomen en cuenta va a variar lo que se puede catalogar como ventajoso o no ventajoso, por ejemplo, dependerá de la tecnología con la que se la compare o del uso para el que se desee destinar la grid. Es debido a lo anterior que se mencionarán algunos beneficios relativos que puede brindar el uso de Grid Computing y algunas limitantes que pueden surgir con su aplicación o hacer inadecuado su uso. A continuación se presentan algunos beneficios a considerar. Administración Descentralizada Permite dominios administrativos independientes. Cada organización puede suscribirse a la grid y contribuir al sistema con sus recursos sin perder control administrativo. Asimismo, puede retirarse de la grid de estimarlo conveniente. Buena Relación Costo/Rendimiento Hace posible la computación de alto rendimiento (HPC) a un costo más accesible. Mediante la compartición de recursos, cada miembro de la grid posee un supercomputador virtual, incluso con capacidades inalcanzables por un solo supercomputador normal, dependiendo de la grid, y esto, a un costo mucho menor. Los ahorros provienen, por una parte, de los requerimientos más bajos de infraestructura hardware y acondicionamiento asociado a los data centers, tal como electricidad, aire acondicionado, etc. Por otro lado, existen menores costos operacionales en comparación con HPC tradicional, generando una economía del 73% [Abbas, 2003]. En la figura 2.4 se puede ver un gráfico que muestra una comparación entre el costo relativo de Grid Computing y HPC tradicional. 12

27 Figura 2.4: Costo relativo por Gigaflop para Grid Computing y para HPC tradicional. Compartición Grid Computing permite compartir datos, capacidad de procesamiento, capacidad de almacenamiento, información de recursos y hardware especializado, como sensores, telescopios, microscopios o satélites, por nombrar algunos. Integración de Sistemas y Recursos Heterogéneos Relacionado con lo anterior, para soportar esta heterogeneidad, Grid Computing está basado en protocolos abiertos y estándares, para permitir una interconexión y colaboración entre sus miembros, sin importar incluso de qué lugar geográfico u organización provengan sus recursos. Adaptación a Fallos Un sistema grid puede y debe adaptarse a la pérdida de recursos o fallos inesperados ya que no posee un punto débil central. Si un nodo de la grid estuviese realizando algún procesamiento y ocurriera algún fallo, este trabajo se traspasaría a otro nodo, siendo esto, normalmente, transparente para el usuario. Esto brinda el beneficio de una mayor disponibilidad, permitiendo la continuidad de tareas vitales, como ocurre por ejemplo con la red hospitalaria UHCS y su banco de datos cardiológicos [IBM Corporation, 2007]. o Obsolescencia Un ambiente grid nunca se vuelve obsoleto, ya que puede, fácilmente, asimilar nuevos recursos o reemplazar antiguos y adaptarse para proveer nuevas características o servicios. Grid Computing es una tecnología escalable, lo que significa que no está limitado a una determinada implementación. 13

28 Alto Rendimiento y Balanceo Las grids pueden proveer servicios de un rendimiento extremadamente alto, combinando el poder de múltiples recursos pertenecientes a diferentes nodos, permitiendo a su vez un balanceo de la carga a través de estos nodos. Por otro lado, algunas limitantes de la utilización de Grid Computing son: Ancho de Banda de las Conexiones entre odos Haciendo una comparación entre Grid Computing y MPP (Massive Parallel Processing) se tiene que los nodos constituyentes de un sistema MPP están conectados por un bus de alta velocidad, capaz de mover gigas de datos por segundo. En cambio una infraestructura grid puede, en el mejor de los casos, estar formada por una red interna de alta velocidad, pero más comúnmente los nodos se comunican a través de redes externas o Internet resultando, en cualquier caso, en una velocidad de transferencia de datos mucho menor. A pesar de esto, muchos de los usos de Grid Computing, involucran un procesamiento independiente de tareas en sus nodos integrantes, reduciendo así, la cantidad de transferencias de datos entre nodos y, por lo tanto, la gravedad de este problema Áreas de Aplicación Anteriormente, se mencionaron las ventajas que presenta la utilización de Grid Computing. Éstas permiten que Grid Computing se haga presente en aplicaciones de muy diversas áreas qué, sin embargo, tienen ciertos aspectos en común: requieren un gran poder de procesamiento y/o grandes capacidades de almacenamiento. Esto puede verse principalmente en el área científica, donde experimentos, simulaciones o investigaciones necesitan un poder mayor al entregado por un súper computador o incluso al que ofrecen los clusters de una organización. Sin embargo, Grid Computing no está limitado a esta área, también es posible ver su aplicación en las artes y arquitectura, en la creación de animaciones 3D, renderizado de imágenes o creación de ambientes virtuales. Además, está presente en el área del comercio y finanzas, por medio de aplicaciones de gestión de riesgos, simulación de mercados para predecir el futuro de éstos y en el manejo de las relaciones con clientes. Incluso en el ámbito educacional es posible ver aplicaciones Grid Computing, mediante el uso colaborativo de herramientas entre distintas instituciones. 14

29 Proyectos Científicos Química y Biología En el área de la química, toxicología, genética y biología son amplias las aplicaciones de Grid Computing. Estas actividades generan cantidades de datos cada vez mayores, por lo que necesitan una infraestructura escalable, flexible y de grandes prestaciones. Se realizan investigaciones en nanotecnología, además de complejas simulaciones moleculares, como el cálculo de afinidad de enlace para Proteasa HIV-1. En la figura 2.5 se presentan simulaciones moleculares del movimiento de un enorme número de moléculas. Figura 2.5: Simulaciones del movimiento de millones de átomos de hielo (izquierda) y agua (derecha). Salud En el ámbito de la salud, la tecnología grid ha sido usada para descubrir alguna cura para el virus H5N1 (Gripe Aviar), simulando las reacciones de más de compuestos químicos con el virus en búsqueda de alguno que pudiese combatirlo. Esto permite desarrollar curas en sólo semanas, lo que normalmente tardaría años, brindando una mayor capacidad para enfrentar nuevas enfermedades [Breton et al., 2008]. En general, Grid Computing está jugando un papel cada vez más importante en la industria farmacológica, en empresas tales como Novartis [Peitsch, 2005]. Otros ejemplos del uso de Grid Computing en esta misma área de las simulaciones han sido las variadas simulaciones del comportamiento del cuerpo humano, por ejemplo, acerca del flujo de sangre en el cerebro (figura 2.6), para poder tratar más eficazmente los derrames cerebrales. 15

30 Figura 2.6: Simulación de flujo de sangre en el cerebro, parte del Interactive European Grid. La capacidad de almacenamiento escalable también ha brindado beneficios en el área de la medicina, permitiendo que los médicos cuenten con una enorme base de datos de imágenes para ofrecer mejores diagnósticos y tratamientos [IBM Corporation, 2007]. Ecología y Ciencias de la Tierra Gracias a Grid Computing se favorece el uso de imágenes obtenidas por múltiples satélites para hacer un seguimiento de los niveles de ozono, realizar estudios de la superficie terrestre, predecir la ocurrencia o comportamiento de terremotos, huracanes u otros desastres naturales. Astronomía En el ámbito de la astronomía, la tecnología Grid Computing ayuda en la búsqueda y análisis de datos recolectados del espacio mediante telescopios para tener un mejor entendimiento del universo. Esto involucra cantidades de datos a niveles de terabytes al día, cifras que resultan difíciles de manejar por sistemas comunes. Física Los miembros de la comunidad investigadora en física de alta energía (High-Energy Physics) fueron de los primeros usuarios en adoptar la tecnología Grid Computing en la búsqueda de la respuesta al origen del universo. Esto, debido a los grandes volúmenes de información recopilada por múltiples instrumentos localizados en diversos países, como por ejemplo el LHC (Large Hydron Collíder). Además, ellos deben colaborar con otros colegas alrededor del mundo. 16

31 2.1.6 Evolución Grid Computing es una tecnología relativamente nueva, que se encuentra aún en desarrollo y evolución. A continuación se presentarán brevemente algunos de los eventos más importantes que han ocurrido en torno a su avance. Los orígenes se remontan a los llamados ambientes de metacomputing, a principio de los años 90, en lo que se podría llamar la primera generación de Grid Computing. Se origina con los esfuerzos de conectar centros de investigación de Estados Unidos. A su vez, esto inspiró el desarrollo de proyectos tales como FAFNER (factorización de números grandes) e I-WAY (enlazamiento de supercomputadores distantes) a mediados de los 90. Posteriormente, impulsado por los proyectos realizados previamente, se llevó a cabo el taller Construyendo una Grid Computacional en Éste fue el primer acercamiento directo al concepto de Grid Computing actual. Luego, en 1998 se estableció el Global Grid Forum. En la segunda generación se sucedieron importantes cambios, ya que surgieron intenciones de poseer una infraestructura común para aplicaciones Grid Computing, lo que sería la base de las capacidades de compartición actuales. Dentro de este marco es que surge Globus Toolkit, una herramienta cuyo desarrollo abre las puertas hacia la aparición de un protocolo estándar para la comunicación distribuida. La tercera generación se enfocó en extender el modelo para permitir el ensamblado flexible de los recursos de una grid, al mostrar la funcionalidad a través de interfaces estándares. Por ejemplo, con la creación del OGSA, el protocolo estándar existente actualmente Tipos de Grid Como se vio anteriormente, existen diferentes aplicaciones para la tecnología Grid Computing, algunos de estos usos requieren un uso intensivo de procesador, mientras otros requieren almacenamiento masivo, o bien ambas cosas. De acuerdo al tipo de recursos que utilizan principalmente, las grids se pueden encasillar en diferentes tipos. Entre los principales tipos de grids se pueden nombrar las de cómputo, de datos, de servicios y de equipamiento. A continuación se verá en mayor detalle en qué consiste cada uno. Grid de Cómputo (Computing Grid) Este tipo de grid está diseñada para proveer tanta capacidad de cómputo como sea posible. Usualmente este tipo de ambientes provee servicios de envío, monitoreo y gestión de 17

32 tareas. Una grid de servicios de cómputo se encarga de proveer servicios seguros, para ejecutar tareas aprovechando la capacidad distribuida. Generalmente, este tipo de grids es utilizado en la simulación de situaciones complejas, como es el caso de modelamientos y simulaciones moleculares. Grid de Datos (Data Grid) Por otro lado, esta clase de grids permite la gestión y compartición de enormes cantidades de datos distribuidos. Su labor es gestionar el almacenamiento físico de los datos, las políticas de acceso a los datos y aspectos de seguridad de los datos almacenados. Proveen almacenamiento escalable, replicación y la ilusión de una gran base de datos, la cual realmente está distribuida en los nodos. Esto es usado por físicos de alta energía, como por ejemplo los científicos del LHC (Large Hidron Collider), donde se generan del orden de terabytes de datos al día, o por los distintos satélites, que capturan y envían gigabytes de datos por segundo. Un ejemplo es SDG (Scientific Data Grid). Grid de Servicios (Service Grid) o Grid de Acceso (Access Grid) Una grid de este tipo provee servicios que no están contemplados para una sola máquina. Ésta vendría siendo su labor: proveer acceso a software y librerías remotas de forma transparente. Conecta usuarios y aplicaciones en grupos de trabajo colaborativos (figura 2.7) y permite interacción en tiempo real entre usuarios y aplicaciones a través de un lugar de trabajo virtual. Esto, gracias a la tecnología de Web Services. Figura 2.7: Access Grid. En este tipo de grids están incluidos sistemas grid multimedia, colaborativos y ondemand, como por ejemplo JMAST Sharing Tool. 18

33 Grid de Servicios de Información (Information Services Grid): Éstas están preocupadas de la extracción y presentación de datos en el uso de servicios computacionales, de datos o aplicación. Los detalles de bajo nivel manejados por esta grid son la forma en que la información es representada, almacenada, compartida y mantenida. Grid de Servicios de Conocimiento (Knowledge Services Grid): Ellas, por otro lado, están preocupadas de la forma en que el conocimiento es adquirido, usado, devuelto, publicado y mantenido para asistir a los usuarios en conseguir sus objetivos particulares. Una aplicación de este tipo de grids es, en aplicaciones de datamining, para crear automáticamente nuevo conocimiento [Doyle, 2006]. Grid de Equipamiento (Equipment Grid) Este tipo de grid está asociada a algún tipo de equipo de no fácil disponibilidad, ya sea por su alto costo, dispersa ubicación geográfica u otro tipo de dificultad. Entre algunos de los equipos que se pueden compartir se encuentran instrumentos satelitales, telescopios, fuentes de fotones avanzadas, etc. Estos equipos son accesados y controlados remotamente gracias a software provisto en la grid [Linderoth, 2007]. Cada una es diseñada para sus usos específicos, sin embargo, esta forma de clasificación no es excluyente, se pueden encontrar, generalmente, ubicadas en las intersecciones de estos tipos, como se muestra en la figura 2.8. A continuación se puede ver en mayor detalle en qué consiste cada uno de estos tipos de grids. Otras Clasificaciones La clasificación vista previamente es la principal forma de caracterizar una grid. Sin embargo, existen otras formas de subdividir el tipo de grid en cuestión [Travostino et al., 2006]. Dependiendo de su Privacidad Se tienen, por un lado, grids públicas, las que son accesibles por cualquier individuo y, por otro, grids privadas, las que requieren pertenecer a la comunidad de la grid para poder acceder previa autentificación. 19

34 Grid de Cómputo Grid de Datos Grid de Servicios Grid de Equipamiento Figura 2.8: Intersecciones entre los tipos de grids. Respecto a la Distribución Geográfica de sus odos Existen tanto grids regionales como globales. Las primeras están desplegadas en un área geográfica limitada, como por ejemplo, un país. Las grids globales, por otra parte, tal como su nombre lo indica, son accesibles desde cualquier parte del mundo. Respecto a la Especificidad Por una parte, se encuentran las grids genéricas, que proveen un conjunto de recursos para que los individuos que tienen acceso a éstos puedan disponer de ellos para cualquier uso, proveyendo múltiples servicios escalables para soportar requerimientos continuamente cambiantes. Por otra parte, se tienen las grids específicas, diseñadas para realizar una labor concreta, concentrando sus esfuerzos para cumplir una determinada investigación. 20

35 2.1.8 Usuarios de Grid Computing Actualmente el uso de grid está en manos de expertos e investigadores, tal como lo estuvo Internet en sus comienzos y hasta el año 1994, antes de que su uso comenzara a masificarse gracias a los navegadores como Netscape o Mosaic, que mediante sus interfaces gráficas hicieron más simple e intuitiva la tarea de navegar. Haciendo una analogía con lo anterior, se podría decir que es por esto que los usuarios de Grid Computing que se han podido caracterizar, por el momento, resultan bastante técnicos, sin embargo, sirven para el propósito de presentar unos perfiles preliminares de los usuarios bajo las categorías de investigadores y científicos existentes actualmente y en el futuro en Grid Computing Caracterización General de los Usuarios En general, los usuarios de aplicaciones científicas, las cuales son el objeto del presente trabajo, se sienten cómodos usando líneas de comando y herramientas shell. A pesar de que están dispuestos a usar portales e interfaces gráficas para ciertas herramientas específicas, no desean que la mayor parte de su trabajo esté contenido dentro de una sola interfaz gráfica pre hecha. Lo que desean, en cambio, es tener el control completo sobre sus aplicaciones. Incluso si no han participado en el desarrollo de sus aplicaciones, desean tener la habilidad de modificarlas en menor o mayor medida si así lo requieren. En definitiva, lo que para estos usuarios resulta relevante es poder mantener el control sobre lo que están haciendo, tener libertad y flexibilidad en sus aplicaciones Tipos de Usuarios A continuación se presenta un listado con perfiles de usuarios existentes o que se espera que vayan surgiendo [Norman, 2006]. Usuario Final de Servicios SEU (Service End-User): Es un usuario que tiene muy poca o nula experiencia computacional y sólo se encarga de suministrar datos o ejecutar consultas. Usuario Final de Servicios Ejecutador SEUX (Service End User Execute): Es un usuario que posee algunos conocimientos en codificación de scripts para enviar tareas a procesar. Se encarga de suministrar datos, ejecutar consultas y ejecutar, además código o scripts que haya escrito. No necesariamente sabe escribir scripts complejos, pero es capaz de adaptar scripts para cumplir sus necesidades. 21

36 Usuario Poderoso Agnóstico de odo de Recurso PUA (Power User Agnostic of Grid Resource ode): Este tipo de usuario posee un alto grado de experiencia computacional, desarrolla aplicaciones y suministra datos, pero no le es relevante en qué nodos de la grid se realiza el procesamiento. Usuario Poderoso PUS (Power User Requiring Specific Grid Resource odes): Es un usuario que posee mayor expertise que PUA y es, además, sysadmin. Su diferencia con PUA es que tiene conocimientos y requerimientos respecto a desde qué nodos provienen los recursos utilizados. PUDS (Power User Developing a Service): Este usuario tiene alta experiencia y desarrolla expertise como proveedor de servicios. SP (Service Provider): Posee expertise en autorización y, posiblemente, en gestión de identidad. Grid-Sys (Infrastructure Sysadmin): Este usuario realiza gestión de sistemas en los nodos de la grid. Posee expertise en seguridad y en gestión de infraestructura. La evolución que se espera en los actores de Grid Computing es que la proporción de usuarios con conocimientos avanzados vaya disminuyendo, dando paso a un mayor número de usuarios que posean menor experiencia técnica computacional, que utilicen la grid principalmente para gestionar datos, lo que probablemente será hecho mediante portales Web. La tabla presentada a continuación (tabla 2.1) resume los tipos de usuarios, su experiencia computacional, el riesgo de seguridad asociado a ellos y una proporción de cuántos usuarios hay actualmente y cuántos se piensa que existirán en un futuro cercano. 22

37 Tabla 2.1: Tipos de Usuarios de Grid Computing Tipo de Usuario Experiencia Riesgo Seguridad Proporción Actual/Futura SEU Baja / nula Bajo Baja Alta SEUX Baja Moderado Baja Media PUA Alta Moderado Media Baja/Media PUS Alta Alto Alta Baja PUDS Alta Alto Baja Baja SP Alta Moderado Baja/Media Baja Grid-Sys Alta Moderado Alta Baja De la tabla 2.1 se puede ver la evolución hacia usuarios con menos conocimientos técnicos, sobretodo usuarios SEU, con bajos o nulos conocimientos técnicos. De ahí la importancia de desarrollar aplicaciones Grid Computing más usables Metodología de Trabajo de los Usuarios Es importante mencionar la forma en que algunos científicos trabajaban previamente, al momento de realizar procesamientos para sus investigaciones y cómo lo hacen hoy en día con las infraestructuras de clustering o Grid Computing. Aunque no se puede generalizar completamente, el describir esta situación puede brindar una noción de cómo se lleva a cabo el trabajo de los usuarios. Anteriormente, el científico preparaba archivos de datos de entrada, scripts de tareas (jobs) y la aplicación misma, modificándola, si fuera necesario, para algún estudio particular. Luego, transfería estos archivos al recurso computacional usado para ejecutar el job y accedía al recurso. A continuación, se compilaba la aplicación, si es que no existía un ejecutable, y el job se ingresaba a la cola respectiva. Un tiempo después el científico volvía a ingresar al sistema a monitorear el estado del job. Finalmente, cuando el job se había completado, el científico transfería los datos de vuelta a su computador local, típicamente un computador de escritorio común, para realizar un análisis posterior [Walker et al., 2008]. Trabajando mediante Grid Computing, esta forma de trabajo se ha modificado (figura 2.9), permitiendo el procesamiento de miles de jobs por parte de algún investigador. Sin embargo, esto sigue siendo sólo posible para los que tengan los conocimientos y habilidades para escribir complejos scripts. 23

38 1. Preparación de Entradas: El científico prepara los archivos de datos de entrada y scripts de trabajos (jobs). 2. Suministro de Jobs: Transfiere estos archivos a la grid. Los scripts de jobs se suministran a la grid desde el computador personal del científico, con los jobs encargándose de la metaplanificación, transferencia de datos entre el recurso de cómputo y los repositorios y la recolección automática de metadata. 3. Monitoreo Local: El usuario monitorea el progreso de los jobs desde su propio computador. 4. Visualización Local: Cuando las tareas se han completado, el científico puede ver los archivos de salida mediante herramientas XML desde su computador y rescatar los resultados desde la base de datos de metadata. Figura 2.9: Metodología de trabajo de los usuarios Entrenamiento A la mayoría de los usuarios de Grid Computing, científicos en diversas áreas, no les es familiar el ambiente distribuido grid. A los un poco más experimentados, tampoco les es necesariamente familiar el particular acceso a los recursos de cada grid. Por esto, es conveniente que los usuarios de esta tecnología sean educados y entrenados en su uso. 24

39 Para realizar esto, se puede recurrir tanto a una buena documentación, que ofrezca una visión teórica del tema, como igualmente a actividades de entrenamiento en persona o en línea para brindar más fluidez en el manejo de las aplicaciones, tanto para los usuarios como para los administradores de sistemas [Travostino et al., 2006]. Desde los inicios de Grid Computing, a la documentación se le ha brindado una baja prioridad, probablemente debido al rápido ritmo en que se han ido sucediendo los cambios, lo que significa un mayor esfuerzo en mantener actualizado el material [Doyle, 2006]. Se puede observar que, sin embargo, en los últimos años se han ido incrementando los esfuerzos en documentación. 2.2 Aplicaciones Basadas en Grid Computing Arquitectura Grid Computing opera sobre una arquitectura de capas, que tiene como base a las redes que conectan a los recursos. Estas redes y recursos son muy heterogéneos y pueden sufrir una alta tasa de fallos pero esto no es visible al usuario gracias a la capa de middleware. La capa de middleware ofrece servicios básicos de seguridad, gestión de recursos y datos, y acceso uniforme. Como ejemplos de middleware se tienen: Globus, glite, UNICORE y GRIA. Finalmente, sobre el middleware existe una capa de aplicación que alberga a todas las aplicaciones o interfaces a los servicios que posea el sistema. La arquitectura basada en cuatro capas se presenta en la figura 2.10: Requerimientos En general, las aplicaciones basadas en Grid Computing, por más diversos que sean sus propósitos, poseen algunos elementos esenciales. Estos elementos determinan algunos aspectos a considerar al momento de desarrollar tales aplicaciones. Independencia y Transparencia de Hardware Una aplicación de Grid Computing está desarrollada para ser utilizada por múltiples organizaciones en distintos países. Estas organizaciones pueden ser universidades, centros de investigación, empresas u otras, las cuales poseen su equipamiento que puede ir desde equipos de escritorio a supercomputadores, pasando por clusters de servidores además de cualquier tipo de instrumentación científica. 25

40 Figura 2.10: Arquitectura de Grid Computing. Todo este Hardware que soporta la grid está oculto por una capa de middleware que se encarga de transparentar las diferencias entre ellos. Por lo que, para una aplicación Grid Computing, no debe importar en qué máquina va a correr, ya que, en el fondo, está corriendo simplemente en base a los recursos que posee la grid. Mecanismos estándares Para que una grid ofrezca calidad de servicio es necesario que posea mecanismos estándares y uniformes. Es así como existen diversas entidades que apuntan en este sentido, entre las que se pueden nombrar: OGSA (Open Grid Services Architecture) Globus Toolkit NMI (NSF Middleware Iniciative) GPDS (Grid Projects and Deployments System) Global Grid Forum. 26

41 2.2.3 Organización Virtual Hay que mencionar, en primer lugar, que para que un usuario potencial pueda tener acceso a los recursos de una grid, antes debe obtener un certificado y postular para ser miembro de una clase especial de organización. En uno de los primeros artículos que formalizan el concepto de Grid Computing el año 2001, Anatomía de una Grid, Ian Foster introduce un nuevo concepto relacionado a la forma en que se organizan los individuos que pertenecen a una Grid [Foster et al., 2001]. Este concepto es el de Organización Virtual (Virtual Organization), la cual consiste en una serie de individuos y/o instituciones definidos por unas reglas de compartición que regulan a los proveedores de recursos y consumidores, definiendo clara y cuidadosamente qué es compartido, quién está habilitado para compartir y las condiciones bajo las cuales la compartición ocurre. Esto está enfocado al objetivo de lograr la apariencia de una única gran máquina accesible por los miembros de la organización virtual, con los mismos recursos que ellos han aportado. Algunos ejemplos de organizaciones virtuales son: proveedores de servicios de aplicación, proveedores de servicios de almacenamiento, proveedores de ciclos o los miembros de una gran colaboración internacional de físicos de alta energía. Las organizaciones virtuales difieren ampliamente en su propósito, ámbito, actividades, número y tipo de participantes, duración, estructura, comunidad y sociología, sin embargo se puede considerar un conjunto de preocupaciones y requerimientos comunes, tales como: Relaciones de compartición altamente flexibles. Altos y sofisticados niveles de control respecto a cómo los recursos son usados. Compartición de recursos muy variados, que van desde archivos, aplicaciones y datos, hasta sensores y redes. Diversos modos de uso, desde usuarios simples hasta multiusuarios y desde sensible al rendimiento hasta sensible al costo. Un hecho importante a recalcar es que la compartición de recursos es condicional. Es decir, el dueño de un determinado recurso lo hace disponible a los demás, bajo su decisión, sujeto a las restricciones de cuándo, dónde y qué puede hacerse con el recurso. Tal como los proveedores de recursos ponen restricciones al uso de recursos, igualmente los consumidores pueden poner restricciones a los recursos con los que están preparados a trabajar. Por ejemplo, un miembro de una organización virtual puede aceptar sólo recursos 27

42 computacionales certificados como seguros, lo que implica tener mecanismos para cumplir con tal política, como autenticaciones para establecer la identidad de quienes piden recursos, o autorizaciones para determinar si una operación es consistente con las relaciones de compartición permitidas. Las relaciones de compartición pueden cambiar dinámicamente a lo largo del tiempo en diferentes aspectos: en términos de los recursos involucrados en la compartición, los accesos permitidos o los participantes que tienen acceso a los recursos. Para el control de los individuos que son miembros de una organización virtual se definen políticas que regulan el acceso a los recursos, ya que no se maneja una lista explícita con los miembros. Un mismo recurso se puede utilizar de diversas maneras, dependiendo de los objetivos de la compartición del recurso o de las restricciones puestas a la compartición del recurso. Por ejemplo, un computador perteneciente a una grid de cómputo va a proveer ciclos de cómputo, o si el mismo equipo se utilizara en una grid de servicios, tal vez se encargaría de proporcionar acceso a alguna determinada aplicación. Como puede existir una falta de conocimiento a priori respecto a cómo un recurso va a ser utilizado en una grid, se pueden poner condiciones en el uso de estos recursos, tales como métricas de rendimiento, expectativas o calidad de servicio. Las organizaciones virtuales permiten que grupos de organizaciones y/o individuos dispares puedan compartir sus recursos de una manera controlada, para que los miembros puedan colaborar entre sí para conseguir sus metas individuales o comunes Seguridad Se estima que Grid Computing no será ampliamente usado hasta que pueda ser seguro en términos de acceso, comunicación, y tenga encriptación disponible. A este problema técnico se le ha dedicado mucha atención, pero no suficiente investigación como se necesita. Aunque se sabe que se necesita una infraestructura de seguridad, ésta no funcionará si no se tiene acuerdo de todos los sitios en la grid. Al hablar de clusters nos encontramos con mecanismos de seguridad estándar, tales como cuentas Unix estándar, contraseñas, y otros controles de administración. Estos mecanismos, sin embargo, no escalan a ambientes controlados por distintas organizaciones, por lo tanto, para Grid Computing se deben idear nuevos mecanismos de seguridad que también provean de un nivel apropiado de acceso y control, pero de modo distribuido. El Globus Toolkit provee software para comunicación segura, autenticación y autorización en el contexto de Grid Computing. Un concepto central en esta tecnología es el de credencial PKI, la cual consiste en un certificado y su correspondiente clave privada. Estas credenciales permiten a los sistemas ser seguros sobre una base interorganizacional y se 28

43 requieren tanto para usuarios como para recursos en grids con seguridad Globus Toolkit. En términos de PKI, usuarios y recursos se consideran entidades finales, por lo que los certificados asociados a ellos son llamados certificados de entidad final o EEC (end-entity certificates), constituyendo la mayoría de los certificados involucrados en la creación de una implementación de PKI. Estos certificados consisten en tres partes: Un conjunto de metadata (datos que describen otros datos), tales como la identidad del dueño del par de claves y el tiempo de vida del par de claves. La clave pública correspondiente a la parte de clave privada de la credencial. Una firma digital generada usando la clave privada del emisor. La firma une los metadatos a la clave pública. El emisor de certificados o CA (certificate authority) verifica la identidad de la persona que está pidiendo el certificado y asigna una identidad apropiada al certificado, la que puede variar de configuración a configuración. Algunos CA pueden, por ejemplo, requerir solicitantes a aplicar al CA en persona y llevar a cabo verificaciones de antecedentes extensos. Mientras que otros simplemente emitirán certificados basados solamente en contenido de un sencillo formulario Web proporcionado por el solicitante. Hasta ahora se ha descrito una PKI bastante genérica. El Globus Toolkit difiere de otros en que éste introduce el certificado proxy (de aquí en adelante proxy). Un proxy es aquél que es generado a partir de un EEC y actúa como un representante de la identidad de tal certificado. En otras palabras, actúa como un proxy para el certificado emitido, un concepto similar al de los proxies en el contexto de votación. Esto tiene varias ventajas: Ya no es necesario usar la clave privada asociada al certificado. La clave del EEC generalmente se almacena de un modo más seguro (por ejemplo, almacenamiento protegido por password) y así la recuperación de automatizar se vuelve difícil. En otras palabras, usar certificado proxy provee capacidad de simple sign-on. El tiempo de vida del proxy puede ser breve. Esto reduce la exposición a que la clave privada asociada al proxy pueda verse comprometida. Los certificados proxy proveen de un mecanismo para crear certificados que contienen sólo un subconjunto de los derechos garantizados a la identidad representada por el certificado. Notamos que la tecnología de certificados proxy se refiere a convertir un RFC en el grupo de trabajo IETF PKIX. Para adquirir un certificado, primero se debe determinar qué autoridades de certificados están disponibles. En general, se tienen tres opciones para obtener certificados: CAs no comerciales, CAs comerciales, y certificados hágalo-usted-mismo. Existen muchos CAs no comerciales, los cuales, en general, son muy simples. 29

44 Los CAs comerciales, tales como Verisign, podrían no ser viables por razones económicas, especialmente cuando el número de personas y recursos involucrados es grande. La última opción, hacer la propia CA, podría ser apropiada si se necesita una CA con capacidades básicas, por ejemplo, SimpleCA. Cabe mencionar que, antes de seleccionar una CA se debe evaluar cuidadosamente cada requerimiento de seguridad, de interoperabilidad y de tipo legal que se pueda tener. Además, es importante mencionar que la grid completa debe usar la misma CA. 2.3 Interfaces En esta sección se presentarán algunas interfaces de usuario comunes a aplicaciones basadas en Grid Computing. A pesar de que estas interfaces no son una regla, es posible encontrarlas en diversas aplicaciones, por lo que se verán por separado para ver en mayor detalle en qué consisten Envío de Tareas Para poder acceder a los recursos disponibles en una infraestructura Grid Computing se requiere de alguna forma de indicarle a la grid qué se desea procesar, qué recursos se necesitan para llevar a cabo el procesamiento y otros parámetros necesarios para el trabajo particular en cuestión. Este procedimiento se denomina job submission (envío de tareas). La manera más básica de darle a conocer a la grid esta información es a través de una simple línea de comandos (figura 2.11), sin embargo según Bruin [Bruin, 2006] no es realista pedirle a los usuarios que aprendan un cierto tipo de comandos específicos como los comandos Globus Job Submission, ya que probablemente los usuarios terminen simplemente utilizando comandos batch comunes. Figura 2.11: Envío de tareas mediante línea de comandos. 30

45 Como se explicó anteriormente en la sección metodología de trabajo de los usuarios de Grid Computing, una forma más simple y común de trabajar en un GCE, es en la que los usuarios preparan sus archivos script que contienen información necesaria para realizar el procesamiento y luego cargan estos archivos en la grid. En las figuras 2.12 y 2.13 se pueden ver ejemplos de diferentes módulos de envío de tareas en base a la carga de archivos y selección de parámetros en forma grafica. Figura 2.12: Envío de tareas en GANGA. Otro ejemplo es My Condor Submit (MCS), el cual es un programa en Perl que permite al usuario enviar una tarea a una infraestructura grid. Su funcionamiento, en general, consiste en que el usuario debe proveer un archivo simple que contenga las directivas. Las instrucciones contenidas en este archivo serán las que controlarán el proceso de ejecución y, dependiendo de la disponibilidad y la política de planificación, se le asignarán recursos. Mediante la creación de este archivo el usuario puede controlar: Habilidad para nominar un numero de recursos grid, esto es, metaplanificación. Proveer la información de tipos de recursos (ej.: número de procesadores). Seleccionar ubicación de los datos. Hacer que el job recolecte automáticamente metadata desde el archivo XML de salida. 31

46 Figura 2.13: Envío de tareas en GridBLAST. En la figura 2.14 se puede apreciar el formato de un script. A pesar de ser más sencillo que una línea de comandos, no es completamente intuitivo ya que es necesario aprender la forma de crear el archivo. El formato de este archivo puede variar de acuerdo al software middleware utilizado, dificultando aun más las cosas para el usuario. 32

47 Figura 2.14: Ejemplo de script a enviar Monitoreo Como se señaló en la sección una etapa importante de la forma de trabajo de los usuarios de Grid Computing es el monitoreo del estado de procesamiento de las tareas por parte del usuario. Esto se realiza localmente desde el computador del usuario e implica que el usuario debe conocer tanto el estado de procesamiento de su tarea global como el de las subtareas que la componen. En caso de ser usuarios finales comunes no interesa conocer el estado completo de la grid, sino sólo el estado de sus propias tareas, pero para casos de usuarios con mayores conocimientos pueden llegar a interesar los nodos específicos en los que se realiza el procesamiento. En las figuras 2.15 y 2.16 se presentan ejemplos de interfaces gráficas en que se monitorea el estado de las tareas pendientes indicando con colores su estado de procesamiento. 33

48 Figura 2.15: Interfaz de monitoreo de tareas. Figura 2.16: Monitoreo de tareas en Azure Grid. 34

49 2.3.3 Visualización Tal como se ha mencionado, existe una gran heterogeneidad en las herramientas usadas en Grid Computing y claramente la visualización no se escapa de éste patrón, ya que existen múltiples herramientas de visualización, cada una con sus propios beneficios. son: Algunos ejemplos de software de visualización utilizados en ambientes Grid Computing AVS GLUT Viewer IRIS Explorer MATLAB OpenDX VTK Rtrt Simian Volumizer Existe una infinidad de simulaciones que son posibles de generar para las distintas áreas en las que está involucrado Grid Computing (figuras 2.17, 2.18), donde cada una puede utilizar distintas herramientas de visualización. No se puede esperar que cada uno de los usuarios sea experto o siquiera que tenga conocimientos básicos en cada una de las aplicaciones (figura 2.19), incluso cuando alguna sea la ideal para alguna determinada tarea, ya que éstas no son estándar. Es por esto que se debería ofrecer el poder de ella a cada uno de los usuarios potenciales de una herramienta de visualización. Los usuarios sólo deberían aprender acerca de una interfaz y tener los beneficios de las características ofrecidas por un amplio rango de aplicaciones [Riding, 2008]. Figura 2.17: Modelo molecular dinámico a gran escala, eminerals Project. 35

50 Figura 2.18: Simulación de efectos por desechos radiactivos, eminerals Project. Figura 2.19: Herramienta de visualización, GLUT Viewer (VIZ) Portales La idea detrás del concepto de un Portal Grid es que exista un único punto de acceso a través del cual los usuarios puedan tener acceso al amplio conjunto de servicios provistos, utilizando algún medio estándar, como por ejemplo un navegador o una PDA [Hagemeier et al., 2008]. Las interfaces de Portal integran los servicios ofrecidos por una infraestructura Grid Computing. Cada servicio de Portlet está compuesto por uno o más servicios de la grid. Un ejemplo del desarrollo de un Portal Grid, son los Portlets del proyecto GridLab [Novotny et al., 2001]. 36

51 A continuación se presentan algunos portales representativos pertenecientes a comunidades libres (figuras 2.20, 2.21, 2.22). Figura 2.20: Portal de World Community Grid. 37

52 Figura 2.21: Portal de TeraGrid. 38

53 Figura 2.22: Interfaz de portal, eminerals Project. 2.4 Casos de Estudio Caso de Estudio: Aplicación GreenView v3.1 GreenView es una aplicación ambiental dedicada al refinamiento de parámetros de superficie y vegetación en imágenes satelitales en la región Sudeste de Europa, la cual está basada en la plataforma orientada a servicios para procesamiento de datos satelitales ESIP y utiliza los servicios de gprocess. El objetivo de la aplicación GreenView es utilizar las mediciones satelitales de alta resolución para realizar numerosos estudios relacionados con el clima, modelamientos de la contaminación y el impacto que los espacios urbanos tienen sobre la vegetación. Para esto, GreenView cuenta con las siguientes herramientas a la versión 3.1. Una de las herramientas que posee GreenView es GPP Computing. Calcular la GPP (Gross Primary Production) permite saber la cantidad total de carbono absorbido por la vegetación a través de fotosíntesis, la cual es una información muy importante para predecir el efecto invernadero y las fluctuaciones climáticas. Anteriormente era posible realizar este cálculo mediante una técnica llamada Covarianza de Eddy, sin embargo esta técnica está limitada a mediciones de campo. Por otra parte, gracias al algoritmo basado en un modelo de 39

54 ecosistema BIOME-BGC, es posible realizar estas mediciones a mayor escala utilizando GreenView [Meszaros et al., 2008]. Otra herramienta proporcionada por GreenView es Coarse to Fine, que permite realizar interpolaciones de pixeles para lograr una imagen más detallada a partir de otra de menor resolución [Gorgan et al., 2009]. Esto se hace mediante diversos algoritmos que generan los puntos faltantes en base a los que los rodean. Finalmente, se tiene la herramienta Fine to Coarse, que hace lo opuesto a la anterior, generando una imagen más pequeña a partir de una imagen de alta resolución, haciéndola así más manejable. Arquitectura A continuación se presenta un diagrama que muestra la arquitectura de la plataforma ESIP, sobre la cual se encuentra la aplicación GreenView (figura 2.23). Los datos son obtenidos del satélite MODIS (MODerate resolution Imaging Sounder), de archivos.hdf de la NASA, de archivos de restricciones, normal y spinup. La infraestructura Grid consiste en los recursos disponibles para llevar a cabo la ejecución de las tareas. Entre ellos se tienen 100 Servidores, estaciones de trabajo, etc. La plataforma ESIP brinda una plataforma común para utilizar los recursos y servicios provistos por la infraestructura anteriormente mencionada. Figura 2.23: Arquitectura GreenView. 40

55 Interfaces La interfaz gráfica de usuario de GreenView es una interfaz Web que presenta las tres herramientas ya mencionadas: Fine to Coarse, Coarse to Fine y GPP Computing. Esta interfaz permite al usuario buscar e ingresar archivos de entrada (figura 2.24), elegir los intervalos de tiempo en caso de que se desee ver una evolución en la temperatura (figura 2.25) y mapas para la selección de la ubicación geográfica de interés, permitiendo zoom y localización por coordenadas (figura 2.26). Además, tiene una pantalla donde se puede ver el estado de las tareas y se pueden descargar los archivos con los resultados (figura 2.27). Figura 2.24: Interfaz GreenView para ingresar archivos para GPP Computing. 41

56 Figura 2.25: Interfaz GreenView selección de ubicación. Figura 2.26: Interfaz GreenView selección de ubicación (satelital). 42

57 Figura 2.27: Interfaz GreenView visualización de resultados. En el documento GreenView - Metodología de desarrollo de aplicación [Stefanut, 2009] se presenta un lineamiento general respecto a la creación de la interfaz de usuario de la aplicación grid. Estos lineamientos concuerdan con los aspectos vistos anteriormente. La interfaz gráfica de la aplicación debería ser fácil de usar para usuarios no técnicos. No debería restringir, en la medida de lo posible, las operaciones disponibles en la grid. Está vinculada con el nivel orientado a aplicación a través de las API disponible. La interfaz puede ser una aplicación de escritorio o una aplicación Web. Usuarios no técnicos pueden definir su propio PDG. Ofrecer capacidades de navegación para instanciación de PDG. Permitir personalización de la interfaz Caso de Estudio: Aplicación GreenLand v1.2 GreenLand es una aplicación ambiental basada en la tecnología Grid Computing dedicada al análisis de imágenes satelitales Landsat en la región Sudeste de Europa, la cual está basada en la plataforma orientada a servicios para procesamiento de datos satelitales ESIP y utiliza los servicios de gprocess. 43

58 Mediante esta aplicación es posible procesar imágenes satelitales para obtener mapas temáticos, los cuales contienen información sobre la distribución de elementos específicos en la naturaleza (tierra, agua, aire, vegetación, etc.). La clasificación se basa en una serie de índices de vegetación tales como NDVI, EVI, IPVI, SAVI y GEMI, los cuales se explican a continuación. En primer lugar, el Índice de Vegetación en Diferencias ormalizadas (NDVI) constituye una buena medida de la actividad fisiológica de las plantas. Todas las plantas realizan una serie de actividades fisiológicas, todas ellas dependientes del proceso de fotosíntesis, tales como percepción de la luz, movimiento de agua desde el suelo, fuerzas mecánicas, entre otras [Salisbury et al., 1994]. En segundo lugar, se tiene el Índice de Vegetación Extendido (EVI) que está diseñado para optimizar la señal de vegetación con una sensibilidad mejorada en regiones de alta biomasa. En estas regiones se presentan dos problemas: interferencia del humo producido por incendios y saturación por exceso de vegetación, por lo que este índice reduce los efectos de estos inconvenientes. En términos simples lo que este índice muestra es la cantidad de hojas y el tamaño de las hojas. Valores bajos de este índice muestran zonas de baja vegetación como mares o ríos (zonas acuáticas) y valores altos muestran zonas de alta vegetación, como bosques lluviosos. En tercer lugar, el Índice de Vegetación de Porcentaje Infrarrojo (IPVI) permite mejorar la velocidad del cálculo al eliminar cierto rango de la señal. Está basado en el índice NDVI y son similares, pero al eliminar el efecto del rojo se consigue una mayor eficiencia. En cuarto lugar, está el Índice Global de Monitoreo Ambiental (GEMI), el cual es usado para minimizar la influencia atmosférica en el proceso de clasificación, esto se intenta lograr construyendo una base de datos de correcciones atmosféricas para el índice. Finalmente, está el Índice de Vegetación Ajustado para Tierra (SAVI) que permite lograr una mejor segmentación de elementos. Esto se logra al minimizar los efectos del suelo. Para ello se utiliza un factor de corrección del brillo del suelo, lo que compensa las condiciones de reflejo del suelo en zonas áridas. En la figura 2.28 se muestra una representación de la funcionalidad principal de la aplicación GreenLand. El usuario puede ingresar una imagen satelital específica y el sistema entrega una o más imágenes satelitales coloreadas de forma de simbolizar los resultados según los distintos índices de vegetación que se explicaron. 44

59 Figura 2.28: Transformación de una imagen satelital en mapas temáticos. Arquitectura GreenLand trabaja sobre la misma arquitectura que GreenView, es decir, sobre la Plataforma ESIP como middleware (figura 2.29). La infraestructura grid consiste en los recursos disponibles para llevar a cabo la ejecución de las tareas. Entre ellos se tienen 100 Servidores, estaciones de trabajo, etc. La plataforma ESIP brinda una plataforma común para utilizar los recursos y servicios provistos por la infraestructura anteriormente mencionada. Figura 2.29: Arquitectura GreenLand. 45

60 Interfaces La interfaz de usuario de GreenLand es una interfaz Web que contiene los elementos básicos mencionados anteriormente, que suelen estar presentes en aplicaciones Grid Computing como son el envío de tareas, el monitoreo de procesamiento y la visualización de resultados. La interfaz de la pantalla principal (figura 2.30) está organizada en dos pestañas horizontales: input data selection y processing status. La primera permite seleccionar y cargar la información a procesar, tales como imágenes y la segunda permite monitorear el estado de las tareas, ver los resultados online y descargar imágenes. La pestaña de Input data selección, a su vez, contiene tres pestañas verticales que representan distintos tipos de información necesaria para llevar a cabo el envío de la tarea. Estas pestañas permiten ingresar información respecto a la localización, seleccionar índices de vegetación y enviar la tarea. Figura 2.30: Interfaz GreenLand para seleccionar ubicación. La pantalla de carga de imágenes permite subir las imágenes que la aplicación utilizará para generar los mapas temáticos (figura 2.31). Cabe destacar que las imágenes permitidas para la carga son sólo imágenes satelitales generadas por el satélite Landsat, ya que éstas contienen metadata especial en cada pixel, desde donde es posible extraer los valores necesarios para el procesamiento y la generación de estos mapas temáticos. 46

61 Figura 2.31: Interfaz GreenLand de carga de imágenes satelitales. La pantalla de selección de índices de vegetación (figura 2.32) permite elegir una o más imágenes del listado y seleccionar índices de vegetación para generar sus mapas temáticos respectivos. La aplicación trae por defecto seis imágenes de Rumania, sin embargo, a través de la pantalla de carga de imágenes se pueden ingresar imágenes nuevas. Figura 2.32: Interfaz GreenLand de selección de índices. Por otra parte, la pestaña de processing status permite ver y buscar procesos que se están ejecutando. Al ingresar a esta pantalla por primera vez aparece un mensaje indicando que no hay procesos activos (figura 2.33), pero, al enviar una tarea, ésta aparecerá en pantalla, indicando sus subtareas y otro tipo de información relevante (figura 2.34). 47

62 Figura 2.33: Interfaz GreenLand de visualización de estado de procesamiento. Figura 2.34: Interfaz GreenLand de visualización de subtareas. Para buscar algún proceso (figura 2.35) es necesario activar una pantalla desplegable en la cual se ingresa la información para realizar la búsqueda. Posteriormente en esa misma pantalla aparecerán los resultados. Figura 2.35: Interfaz GreenLand de búsqueda de tareas. 48

63 2.5 Usabilidad Usabilidad de Productos Software Según la norma ISO 9241 la usabilidad es la medida en que un producto puede ser usado por usuarios específicos para conseguir objetivos específicos con efectividad, eficiencia y satisfacción en un contexto de uso particular. La usabilidad mide la calidad de la experiencia de un usuario cuando interactúa con un producto o sistema, ya sea sitio Web, aplicación software, tecnología móvil, o cualquier dispositivo operado por un usuario [ISO, 1998]. El concepto de usabilidad ha ido adquiriendo a lo largo de los años la importancia que merece, ya que es un tema fundamental en el diseño, pues conlleva la buena llegada del sistema al usuario. Es por esta razón que en este capítulo se presentarán aspectos importantes del concepto de usabilidad, como lo son los atributos de usabilidad, los paradigmas y principios de usabilidad y los métodos de evaluación de usabilidad Atributos de Usabilidad Siendo la usabilidad un aspecto tan importante a considerar en el desarrollo de un sistema, es necesario contar con alguna forma de medir el nivel de usabilidad de éste. Sin embargo, la usabilidad no es una propiedad unidimensional de la interfaz, sino que es una combinación de factores. A continuación se presentan los cinco atributos de la usabilidad [Rusu, 2010]: Aprendizaje: Se busca que el sistema sea sencillo de aprender, en especial para usuarios novatos, es decir, que no tengan experiencia con el sistema y, en algunas ocasiones, incluso ninguna experiencia con sistemas en general. Este atributo consiste en ver qué tan rápido puede aprender a realizar suficientemente bien tareas básicas un usuario que nunca antes había visto la interfaz. Eficiencia: Se busca que un usuario que ya haya aprendido el funcionamiento de un sistema, posteriormente logre altos niveles de productividad. Es importante que un usuario que ya posea experiencia con el sistema pueda hacer un uso eficiente del sistema realizando sus tareas comunes. Memorización: Se busca que el sistema sea fácil de recordar en funcionalidad, para que usuarios que durante cierto tiempo no lo hayan utilizado, al retomar el sistema lo hagan con normalidad. Si un usuario ha usado el sistema antes, debería recordar lo suficiente para usarlo efectivamente y no tener que aprender a usarlo nuevamente. 49

64 Errores: Se busca que el sistema tenga una tasa de errores baja y, de ocurrir éstos, los usuarios se puedan recuperar rápidamente de ellos. Además, no deben ocurrir errores catastróficos, y no deberían ocurrir errores con mucha frecuencia ni de mucha severidad. Satisfacción Subjetiva: Se busca que los usuarios se sientan satisfechos al usar el sistema. Es decir, que el sistema resulte agradable de usar, ameno, etc. Al preguntarle su opinión respecto al sistema a un usuario que lo ha probado, se espera que su percepción acerca del mismo sea positiva, que le haya gustado Paradigmas de Usabilidad Los paradigmas de usabilidad o reglas de usabilidad permiten establecer la filosofía de diseño centrado en el usuario y ayudan a dar una dirección general para lograr esto. A continuación se presentan los cinco principales paradigmas de usabilidad [Rusu, 2010]. 1. Acceso: El sistema debería ser usable, sin la necesidad de contar con ayudas o instrucciones para un usuario que tenga experiencia o conocimientos en el dominio o temática del sistema, aunque no los tenga sobre el sistema mismo. 2. Eficacia: El sistema no debería impedir o interferir en el uso eficiente, por parte de un usuario que tiene previos conocimientos y experiencia del sistema mismo. 3. Progresión: El sistema debería facilitar el desarrollo continuo de conocimientos, facilidades y habilidades. Además, debería acomodarse al cambio progresivo en el uso, a medida que el usuario va ganando experiencia con el sistema. 4. Soporte: El sistema debería soportar el trabajo real que el usuario intenta realizar, haciendo su labor más fácil, simple, rápida o de manera más entretenida, al hacer posible nuevas acciones. 5. Contexto: El sistema deberá situarse en condiciones reales y en el ambiente del contexto operacional dentro del cual será desplegado y utilizado. 50

65 2.5.4 Principios de Usabilidad Debido a que los paradigmas pueden resultar muy generales para enfrentar problemas prácticos, surgen los principios de usabilidad. Los principios nos ofrecen direcciones específicas para resolver problemas concretos de usabilidad, otorgando un mapa de la dirección a tomar ante tales casos [Rusu, 2010]. A continuación se presentan los cinco principales paradigmas de usabilidad. 1. Estructura: La interfaz de usuario debe organizarse siguiendo un propósito, de formas significativas y útiles, basadas en modelos claros y consistentes, que sean reconocibles por los usuarios. Ubicando juntas cosas relacionadas o separadas cosas sin relación. Diferenciando cosas asímiles y haciendo que cosas similares se parezcan entre sí. 2. Simplicidad: Se debe hacer que las tareas comunes y simples sean sencillas de llevar a cabo por el usuario mediante la interfaz de usuario, comunicándolas de manera clara y simple, en un lenguaje común al usuario, incluyendo atajos asociados a procedimientos más largos. Hay que tener en cuenta que el hablar de simplicidad no significa que todo debe ser simple, pues un exceso de simplicidad tiene sus riesgos desde el punto de vista de la estructura. 3. Visibilidad: Se deben mantener visibles todas las opciones, recursos o materiales necesarios para desarrollar una tarea determinada sin distraer al usuario con información redundante o innecesaria. Es decir, se deben tener las opciones necesarias para que el usuario realice una tarea y no sobrecargar la interfaz de elementos, alternativas e información que tiendan a confundirlo. 4. Retroalimentación: Se debe mantener informado al usuario sobre acciones o interpretaciones, cambios de estado, errores o excepciones que son relevantes y de interés para el usuario, a través de un lenguaje familiar para el mismo, que sea claro, conciso y sin ambigüedades. 5. Tolerancia: Se debe ser flexible y tolerante, reduciendo el costo a los usuarios de cometer errores o hacer un mal uso al permitir acciones de deshacer y rehacer mientras se previenen errores, donde sea posible, tolerando múltiples entradas y secuencias de acción. 6. Reutilización: Se deben reutilizar componentes y comportamientos externos e internos, manteniendo la consistencia con su propósito. Esto, para que el usuario reduzca la necesidad de tener que volver a pensar o recordar diferentes acciones u opciones. Además, esto permite reducir la programación de diferentes interfaces innecesarias. 51

66 Principios de Usabilidad Existe un conjunto de diez principios básicos de usabilidad utilizados para realizar una Evaluación Heurística, estos son: 1. Visibilidad del estado del sistema: El sistema debe, por un lado, mantener informado a los usuarios sobre qué es lo que el sistema mismo está haciendo, es decir, mostrar su estado; y, por otra parte, debe haber algún mecanismo que brinde retroalimentación de forma permanente y que actúe en un tiempo razonable ante las acciones que el usuario realice. 2. Similitud entre el sistema y el mundo real: Se deben seguir las convenciones del mundo real, para que el sistema sea familiar para el usuario. El sistema debe hablar el lenguaje del usuario, es decir, utilizar palabras, frases y conceptos que cumplan con esto. Además se espera que la información aparezca en un orden lógico y natural. 3. Control por parte del usuario y libertad: Los usuarios frecuentemente cometen errores al realizar acciones en el sistema, por lo que deben contar con salidas de emergencia que estén claramente señalizadas, para que el usuario pueda abandonar expeditamente el estado en que se encuentra. Es conveniente usar las opciones deshacer y rehacer. 4. Consistencia y cumplimiento de estándares: Se debe seguir las convenciones que se adoptan y mantenerlas en el sistema, esto se refiere a que las palabras utilizadas, situaciones o acciones realizadas signifiquen o lleven a cabo las mismas acciones. 5. Prevención de errores: Es importante llevar a cabo un diseño cuidadoso para prevenir la ocurrencia de errores por parte de los usuarios. Por ejemplo, es preferible presentar opciones en un menú que tener que escribir algo. 6. Flexibilidad y eficiencia de uso: Hacer visibles objetos, acciones y opciones. El usuario no tiene por qué recordar información de una parte del diálogo con el sistema en otra parte. Las instrucciones de uso del sistema deben estar visibles o fácilmente localizables cuando proceda. 7. Reconocimiento más que memoria: Se debe reducir la necesidad del usuario de tener que recordar cómo llevar a cabo acciones mediante objetos u opciones. Los aceleradores o accesos directos, pueden hacer más rápida la interacción para un usuario experto sin afectar a un usuario novato, de tal forma que el sistema sea útil para los dos tipos de usuarios. 52

67 8. Estética y diseño minimalista: Los diálogos entre sistema y usuarios no deben contener información irrelevante o raramente necesitada que confunda al usuario. Cada unidad de información extra en un diálogo compite con las unidades relevantes de información y disminuye su visibilidad relativa. 9. Ayuda en reconocimiento, diagnóstico, y recuperación de errores: Los mensajes de error deben expresarse en un lenguaje claro para el usuario, se debe indicar con precisión el problema y sugerir algún tipo de solución ante el error Evaluación de Usabilidad La evaluación de usabilidad es de gran importancia para determinar si un sistema cumple con las expectativas de los usuarios, midiendo una serie de factores que determinan el nivel de usabilidad, o qué tan usable es un sistema de software. Además de esto, las evaluaciones de usabilidad permiten detectar problemas que no se habían considerado al momento del diseño, por lo que brinda una ayuda si se quiere corregir deficiencias, ya que muchos problemas pueden surgir por un uso del sistema, por parte del usuario, que no había sido considerado Métodos de Evaluación de Usabilidad Existen variados métodos de evaluación de usabilidad de sistemas de software y se pueden clasificar de diferentes formas. Algunos métodos consideran al usuario, éstos se realizan a partir de estudios empíricos, los cuales consisten en experimentos donde los usuarios realizan tareas predeterminadas con el software a ser evaluado. Estos estudios suelen ser muy costosos en dinero y tiempo. Otros métodos no consideran al usuario, son los llamados métodos de inspección en donde los evaluadores realizan una revisión a las interfaces del usuario para predecir futuros problemas de usabilidad con el software. Son métodos más económicos [Nielsen, 1993]. A continuación se verán en mayor detalle los métodos de evaluación agrupados en dos categorías: Técnicas de inspección Técnicas de test 53

68 Técnicas de Inspección Las técnicas de inspección son llevadas a cabo por expertos, donde no es necesaria la participación de los usuarios. Estas técnicas se caracterizan por considerar un conjunto de reglas basadas en el juicio de los expertos con respecto a la interfaz de usuario. Son técnicas de alternativa a los métodos formales, ya que permiten reducir el costo, debido a la infraestructura necesaria para realizarlas. Estos métodos parecen pensados a ser aplicados en etapas finales del ciclo de vida de desarrollo, cuando el producto se encuentra próximo a la entrega o ya se encuentra terminado. Estos, sin embargo, se pueden considerar en etapas tempranas del desarrollo [Schneiderman, 1998]. Entre las técnicas más importantes están: Evaluación Heurística Paseo cognitivo Evaluación Heurística: La Evaluación Heurística es una técnica de inspección que consiste en hacer una verificación, por parte de expertos, de que cada elemento propuesto de la interfaz de usuario en el diseño sigue los principios de usabilidad establecidos. Se llama Evaluación Heurística debido a que es guiada por un conjunto de principios o reglas generales heurísticas para el buen diseño de interfaces de usuario. Es una de las mejores técnicas de inspección utilizadas, debido a la excelente relación calidad/costo. Detecta aproximadamente, en forma individual por cada evaluador, el 35% de los defectos de usabilidad, porcentaje que, una vez agrupado, mejora debido a que los evaluadores descubrirán problemas diferentes. Es necesario que una Evaluación Heurística sea realizada por expertos, debido a que es difícil que una persona común pueda encontrar todos los problemas de usabilidad en una interfaz a partir de principios establecidos originalmente. El número de evaluadores necesarios para realizar esta técnica va de tres a cinco, siendo cinco el óptimo para realizar la evaluación y encontrar la mayoría de los problemas de usabilidad, aunque igualmente se podrían utilizar más evaluadores con el beneficio de encontrar más errores pero con costos que se elevarían demasiado. Paseo Cognitivo: El Paseo Cognitivo, al igual que la Evaluación Heurística, no se realiza con usuarios presentes, sino que está orientada a las tareas, centrándose en el aprendizaje basado en el modelo humano de aprendizaje exploratorio. Este método permite encontrar problemas orientados a las tareas. Además permite definir los objetivos y lo que asume el usuario. Sus problemas son: que consume bastante tiempo, requiere evaluadores experimentados y necesita la definición de una metodología orientada a las tareas, lo cual es aplicable sólo a problemas de fácil aprendizaje. 54

69 Técnicas de Test Las pruebas de usabilidad son pruebas empíricas de diseño de interfaces con la participación de usuarios representativos. Las pruebas de usabilidad permiten obtener información mientras se utiliza el sistema o posterior a su uso, para ello cuenta con distintos métodos. Entre las técnicas más importantes están: Pruebas de papel y lápiz Pensamiento en voz alta Pruebas de Papel y Lápiz: Estas pruebas de usuario nos muestran, a través de papel, aspectos relacionados con la interfaz y permiten responder consultas relacionadas a ella. Para los desarrolladores es una buena herramienta ya que cuenta con retroalimentación de forma inmediata. Pensamiento en voz alta: En estas pruebas a los usuarios se les consulta y ellos responden directamente mientras desarrollan sus tareas. Así, es posible encontrar un gran número de problemas. 55

70 3 Propuesta de Heurísticas de Evaluación de Usabilidad 3.1 Usabilidad de Aplicaciones Grid Computing Al hablar de usabilidad en aplicaciones basadas en Grid Computing surge el problema de la multiplicidad de tipos, experiencias y motivaciones de los usuarios que harán uso de una infraestructura Grid Computing. El tema de qué es usable depende aquí de las características de la comunidad para la cual la infraestructura está siendo desarrollada. Se da el caso de que muchos de los científicos que utilizan actualmente la tecnología Grid Computing son de un nivel muy avanzado y, en general, estos científicos se sienten más cómodos utilizando herramientas shell que interfaces gráficas. Esta situación ocurre debido a que así los usuarios logran tener un mayor grado de control sobre sus aplicaciones. Es más, a muchos no les agrada que algunas herramientas estén restringidas a una interfaz grafica o Web, ya que sienten que su trabajo se limita [Walker et al., 2008]. Sin embargo se pueden observar diversos niveles de experiencia y conocimientos que pueden tener los usuarios de Grid Computing, actualmente con una tendencia a un incremento de los usuarios menos técnicos. Todas estos aspectos hacen que sea necesario estudiar la usabilidad en aplicaciones basadas en Grid Computing, de modo de ver qué elementos resulta necesario considerar para tener sistemas Grid Computing usables. 3.2 Propuesta de Heurísticas para Grid Computing En el capítulo 2 se revisaron los conceptos básicos acerca de la tecnología Grid Computing y sus aplicaciones. Este conocimiento de las especiales características de Grid Computing resulta necesario para tener las bases sobre las cuales proponer heurísticas. Durante el proceso de recolección de material bibliográfico se hizo igualmente una búsqueda de casos de estudio para trabajar. A pesar de la existencia de numerosos proyectos alrededor del mundo que están basados en la tecnología Grid Computing, se han seleccionado GreenView y GreenLand como casos de estudio. Ambas, aplicaciones Grid Computing del ámbito científico a las cuales se tiene acceso. Como se señaló anteriormente, el objetivo general de este trabajo es determinar un conjunto de heurísticas, para su aplicación en la evaluación de aplicaciones basadas en la tecnología Grid Computing. Es así como en esta sección se muestran en detalle las heurísticas propuestas. Durante su existencia, Grid Computing ha ido evolucionado desde pantallas de comandos hacia portales e interfaces Web, por lo que resulta bastante directo interpretar los principios de usabilidad desde esta perspectiva, ya que probablemente éste será su futuro. 56

71 Sobre la base de algunos principios de usabilidad existentes, heurísticas para la evaluación de usabilidad y la investigación realizada acerca de la tecnología Grid Computing y sus características, se han establecido un conjunto de heurísticas, que permitirán la evaluación de aplicaciones basadas en Grid Computing de tipo científico. 3.3 Proceso de Desarrollo de las Heurísticas Al comenzar el proceso de desarrollo de las heurísticas surgió la problemática de que, dada la gran cantidad de listados de heurísticas que existen, resulta difícil saber hasta qué punto una heurística es mejor que otra y cómo construir una lista optima de heurísticas de usabilidad. Para aclarar esta interrogante se consideró la investigación realizada por Nielsen acerca de la capacidad explicativa de las heurísticas [Nielsen, 1994]. Este aspecto resulta muy importante, ya que determina la capacidad de la heurística de explicar los problemas en base a su descripción y, por lo tanto, encontrar un mayor número de problemas. Los resultados de la investigación mencionada influenciaron los nombres y descripciones de algunas de las heurísticas propuestas en este trabajo, ya que éstas demostraron ser más efectivas que otras. La descripción de las heurísticas se ha refinado de forma tal que éstas sean lo más entendibles que sea posible. Para ello se ha utilizado como modelo principal de referencia las heurísticas de Nielsen, debido, principalmente, a que son ampliamente conocidas, lo que hace más fácil la adopción de las nuevas heurísticas propuestas Iteraciones Como parte del proceso de desarrollo y validación de estas heurísticas se han llevado a cabo tres iteraciones durante las cuales se han realizado cambios en las heurísticas. Esto, para poder cumplir con las necesidades que se observaron en las evaluaciones heurísticas y pruebas realizadas. La primera iteración considera el desarrollo de una Evaluación Heurística piloto en que se observó la necesidad de eliminar una de las heurísticas preliminares. Esta heurística llevaba por nombre Eficiencia, pero se consideró que su utilidad no justificaba su existencia, ya que otras dos de las heurísticas presentes eran capaces de abarcar los problemas que esta heurística pretendía detectar. Por una parte, la heurística H1, Claridad, está orientada a ofrecer claridad a los usuarios de modo que éstos sepan cómo realizar sus tareas y, por otra parte, la heurística H6, Atajos para Funcionalidades, está enfocada en lograr la eficiencia del trabajo de los usuarios expertos. 57

72 La segunda iteración contempla los resultados de la primera Evaluación Heurística formal y finalmente la tercera iteración se desprende de los resultados de las pruebas de usabilidad con usuarios. Estas dos últimas iteraciones no resultaron en la creación o eliminación de otras heurísticas, pero sí permitieron realizar cambios en la explicación de éstas, así como también permitieron realizar otras observaciones sobre aspectos prácticos asociados a la utilización de una aplicación Grid Computing. 3.4 Estructura de Presentación de las Heurísticas A continuación se presentarán las heurísticas que se han desarrollado como parte de este proyecto. Para este propósito se seguirá un formato de presentación estándar, lo que hace más fácil el entendimiento de estas heurísticas. El siguiente es el formato de presentación de las heurísticas para Grid Computing: ID, ombre y Definición: En primer lugar se presenta la heurística incluyendo su identificador, denominación y su definición. Explicación: Luego se presenta una explicación de la heurística, profundizando en mayor detalle en el significado de ésta. Se explica a qué se refiere la heurística para entender de mejor manera a qué problemas apunta. Aquí se referencian heurísticas desarrolladas por otros autores a las cuales se les puede comparar. Ejemplos: Posteriormente se presentan algunos ejemplos que muestran a qué clase de problemas apunta la heurística en cuestión. Es decir, los ejemplos muestran casos en que la heurística no se ha cumplido. Estos ejemplos se presentarán en forma de capturas de pantalla de algunas aplicaciones Grid Computing que caen en estos problemas. En ciertos casos, se presentan igualmente ejemplos positivos que muestran casos en que se ha cumplido correctamente el principio. Beneficios: A continuación se mencionan los beneficios que se espera alcanzar con el cumplimiento de la heurística referida. Problemas Anticipados: Finalmente se anticipan problemas que se puede suponer que ocurrirían debido al mal entendimiento y/o inapropiada aplicación de la heurística al llevar a cabo evaluaciones heurísticas. 58

73 3.4.1 Claridad H1. Una aplicación Grid Computing debe ser fácil de entender visualmente, usando tanto elementos gráficos, textos, como también un lenguaje claro. Explicación Esta heurística apunta a que la interfaz debe ser clara en su forma de presentar la información, de manera que el usuario no se confunda con los elementos, con el lenguaje o con textos confusos. La idea es que un usuario novato no tenga una sensación de inseguridad al manejar el sistema, lo que puede ocurrir si éste no está seguro sobre a qué se refiere el sistema con algún determinado elemento. Esto permite que el sistema sea, además, más intuitivo y fácil de seguir. Ejemplos Ejemplo 1: En la aplicación GreenView, en su módulo Fine tu Coarse, se presenta la opción Coarse image resolution (figura 3.1), la cual es bastante poco clara respecto a lo que se debe hacer, por lo que el usuario debe suponer que cierto valor va a modificar la imagen en alguna proporción. Figura 3.1: Opción Coarse image resolution. Ejemplo 2: En la aplicación GreenLand, en su interfaz para visualizar los resultados, se presenta un listado de subprocesos donde, para cada subproceso, se muestra una descripción (figura 3.2), sin embargo, esta descripción es muy compleja para usuarios comunes, por lo que no aporta información de utilidad. Figura 3.2: Visualización de subtareas en aplicación GreenLand. 59

74 Beneficios Mejor aprendizaje: El contar con una interfaz que presenta claramente la información permite que los usuarios novatos comprendan de mejor manera el funcionamiento de la aplicación. Mejor transmisión de la información: Presentar la información con claridad permite transmitirla con mayor rapidez y precisión. El usuario no pierde tiempo tratando de entender mensaje complejos o elementos de los que no sabe su uso. Sistema más intuitivo: Cuando una interfaz presenta claridad es más fácil para un usuario novato entender el objetivo del sistema. Problemas Anticipados o confundir claridad con exceso de explicaciones: Se debe tener cuidado de no sobre explicar cada funcionalidad o elemento, sino que tratar de hacer lo más claros posibles los elementos presentes en la interfaz, sobretodo elementos que son de naturaleza compleja por tratarse de aplicaciones científicas Uso de Metáforas H2. Una aplicación Grid Computing debe usar metáforas apropiadas de manera que las acciones posibles resulten naturales de comprender para el usuario, mediante imágenes y el uso de objetos familiares y reconocibles. Explicación Esta heurística se refiere a que se deben usar metáforas del mundo real, de manera que éstas resulten familiares para el usuario y sea capaz de reconocer intuitivamente los elementos de la interfaz, evitando así, tener que recurrir a explicaciones para dar a entender alguna acción posible de realizar. Como señala Tognazzini, las buenas metáforas son historias que crean imágenes mentales, evocan lo familiar, pero generalmente con un nuevo punto de vista. Se debe escoger aquellas metáforas que permitan al usuario comprender los detalles del modelo conceptual [Tognazzini, 1992]. Esta heurística requiere el entendimiento del usuario, por lo que es necesario hacer la distinción entre si se trata de una aplicación Grid Computing genérica o especializada. Esto, ya que una aplicación especializada será utilizada por usuarios de una misma área, teniendo todos conocimientos similares y un esquema mental similar para entender metáforas más específicas a su área. Por el contrario, si se trata de una aplicación genérica, probablemente sea utilizada por usuarios de áreas no relacionadas. Siendo, en este caso, muy importante usar metáforas más generales, que a cualquier usuario le resulten familiares. 60

75 Para cumplir con esto, se debe entender qué elementos pueden resultar familiares a los usuarios [Nielsen, 1993], un aspecto complejo en un área tan diversa como Grid Computing donde se involucran personas de áreas de estudio distintas, países distintos, etc. Más aún, en Grid Computing se ven involucrados aspectos culturales en la elección de metáforas, ya que sus usuarios pueden ser de países muy diferentes culturalmente. Por esto, una metáfora puede no significar lo mismo para un usuario que para otro. Esto significa que las metáforas no deberían ser exclusivas a una cultura particular, ya que una aplicación Grid Computing puede ser usada por usuarios de diferentes regiones del mundo, con sus propias culturas, distintas entre sí. Ejemplos Ejemplo 1: En la aplicación GreenLand, en interfaz de visualización de resultados se hace uso de un ícono particular (figura 3.3). Este ícono i representa generalmente información o, en ocasiones, ayuda. En este caso, sin embargo, se intenta representar la visualización de una imagen. Figura 3.3: Visualización de resultados en aplicación GreenLand. Beneficios Mejor aprendizaje: El contar con una interfaz que presenta metáforas permite que los usuarios novatos relacionen inmediatamente algún elemento de la interfaz con su función. Problemas Anticipados Exceso de metáforas: El uso excesivo de metáforas puede conducir a errores de dependencia por parte de los usuarios, es decir, que se vuelvan demasiado dependientes de la necesidad de usar imágenes familiares, perdiendo la capacidad de razonar e ir descubriendo por sí mismos las funciones. 61

76 3.4.3 Simplicidad H3. Una aplicación Grid Computing debe proporcionar la información necesaria para completar las tareas del usuario de una forma concisa, sin recargarlo con información irrelevante o inútil. Explicación Este principio se refiere a permitirle al usuario realizar las tareas comunes de una manera simple, es decir, proporcionar acciones fáciles de entender y de llevar a cabo. La idea es que las tareas que un usuario considera que son simples, sean representadas de igual forma en la interfaz. Se debe identificar la información necesaria a mostrar, eliminando la irrelevante. Se debe proporcionar, así, sólo la información necesaria, para no confundir al usuario. Se deben hacer visibles las alternativas que el usuario necesita para realizar la tarea, sin caer en la necesidad de recargar al usuario con demasiada información o alternativas. Ejemplos Ejemplo 1: En la interfaz de calibración de parámetros de GreenView existe una gran cantidad de elementos que la hacen muy difícil de leer y entender (figura 3.4). Existen numerosos botones de gran tamaño y texto explicativo a su lado, cuando esto podría presentarse, más simplemente, en la forma de ayuda contextual. Figura 3.4: Interfaz GPP Computing GreenView. 62

77 Beneficios Optimización del trabajo: Optimiza el trabajo al permitir al usuario no perder el tiempo en detalles visuales de la interfaz que no aportan a su trabajo. Mejoramiento de experiencia de usar el sistema: Mejora la experiencia del usuario, al permitir una práctica más agradable, no agobiante. Mejor estética: Interfaces simples suelen verse más elegantes y estéticamente más agradables. Problemas Anticipados o confundir simplicidad con falta de contenido: No se debe confundir simplicidad con falta de contenido y de funcionalidad. No se debe caer en limitar al usuario por tener interfaces demasiado simples y restringidas, con pocos elementos Retroalimentación H4. Una aplicación Grid Computing debe mantener informado al usuario sobre el avance de sus tareas, indicando tanto el estado del sistema, como el de sus tareas, tanto en los diferentes nodos como en la tarea global. El sistema debe contar además con algún mecanismo apropiado que entregue retroalimentación respecto a las acciones que el usuario realice, indicando al menos que se dio inicio a la acción pedida. Explicación En un ambiente Grid Computing es frecuente que se desee ejecutar tareas de una gran complejidad. Estas tares son descompuestas en partes más pequeñas, que son procesadas en diferentes nodos de la infraestructura grid. Por eso es importante que el sistema mantenga informado al usuario sobre el avance y el estado del procesamiento tanto en los diferentes nodos como en la tarea global. El sistema debe contar además con algún mecanismo que entregue retroalimentación respecto a las acciones que el usuario realice, ya que, en general, los procesamientos en Grid Computing son extensos, del orden de minutos. Por lo que el sistema debe, al menos, indicar que se dio inicio a la acción pedida. La retroalimentación se refiere al hecho de mantener informado al usuario sobre el estado del sistema y lo que está ocurriendo, en un lenguaje claro y conciso, que sea familiar al usuario. La interfaz debe informar sobre: acciones, cambios de estado, errores, excepciones y cómo las entradas han sido interpretadas por el sistema. Como señala Schneiderman, por cada acción del usuario debería existir algún tipo de retroalimentación. Para acciones frecuentes y menores la respuesta puede ser sencilla, mientras que para acciones infrecuentes y mayores la respuesta debería ser más sustancial [Schneiderman, 1998]. 63

78 Además, como señala Nielsen en sus Heurísticas, el sistema debería permitir a los usuarios saber qué está ocurriendo, usando una retroalimentación apropiada y dentro de un tiempo razonable. Si un proceso requiere que el usuario deba necesariamente esperar, una retroalimentación oportuna es fundamental. Igualmente, es importante el tipo de retroalimentación. Una barra de progreso es más útil que un reloj animado que gira indicando que se debe esperar, ya que la barra permite estimar cuánto tiempo debe esperar el usuario [Nan, 2005]. Ejemplos Ejemplo 1: En la aplicación GreenView, al iniciar un procesamiento aparece un reloj con su minutero girando. Esto ocurre por un par de segundos, pero podría extenderse por varios minutos u horas, de haber una conexión lenta u algún otro problema. Por esto, se considera que usar un reloj que gira sin fin no es una buena forma de retroalimentación (figura 3.5). Figura 3.5: Inicio de procesamiento. A continuación se presentan dos ejemplos de incumplimiento y cumplimiento de la heurística, respectivamente. Ejemplo 2: La interfaz de la aplicación GreenView permite realizar la búsqueda de una ubicación en el mapa. Existe, sin embargo, el problema de que siempre aparece el mensaje Looking up address, aunque no existan resultados. Debido a esto, el usuario puede quedarse mucho tiempo esperando una respuesta (figura 3.6). Figura 3.6: Opcion Map search de GreenView. Ejemplo 3: La aplicación Ligandfit presenta una barra de progreso indicando el porcentaje total de ejecución de la tarea requerida por el usuario (figura 3.7). 64

79 Beneficios Figura 3.7: Barra de progreso de Ligandfit. Mejor organización: El saber el estado del sistema, de los nodos pertenecientes a una infraestructura grid y de las tareas permite al usuario tomar mejores decisiones respecto a su trabajo. Reducir espera: Indicar que se dio inicio a una acción pedida por el usuario evita que el usuario espere algún tipo de resultado. Problemas Anticipados Exceso de retroalimentación: Un exceso de retroalimentación puede ser molesto si ésta no es completamente necesaria, por lo que debe ser posible desactivar los avisos de retroalimentación que no se consideren absolutamente necesarios Consistencia H5. Una aplicación Grid Computing debe ser consistente en la utilización de lenguaje y conceptos involucrados en este tipo de aplicaciones. Las formas de ingreso de datos y la presentación de los resultados deben ser estándar. Además se deben agrupar los datos y elementos presentados en pantalla de forma consistente. Explicación Se refiere a reutilizar componentes y comportamientos, internos y externos, manteniendo la consistencia. De este modo se reduce la necesidad de los usuarios de memorizar y se pueden crear sistemas más consistentes y económicos. La consistencia aplica tanto en términos de lenguaje, apariencia, ubicación o conducta. En situaciones similares, se deberían usar las mismas secuencias para realizar los procedimientos, además de usar igual terminología en menús, cuadros de mensajes o comandos [Schneiderman, 1998]. 65

80 Si la presentación, navegación o respuestas del sistema son muy diferentes en distintas partes de la aplicación, esto significa un mayor trabajo para el usuario. Además, como señala la ISO se debería presentar la misma información de la misma manera dentro de la aplicación. Ejemplos Ejemplo 1: Se tiene el caso de aplicaciones como GANGA que utilizan interfaces completamente distintas para enviar tareas y visualizar la información. Beneficios Mejor aprendizaje: El contar con una interfaz que presenta consistentemente la información permite que los usuarios novatos comprendan de mejor manera el funcionamiento de la aplicación. Problemas Anticipados Interfaces planas: La búsqueda excesiva de consistencia puede promover interfaces demasiado estáticas, sin elementos llamativos o, peor aún, sin elementos diferenciadores que ayuden a la claridad de la interfaz Atajos para Funcionalidades H6. Una aplicación Grid Computing debe ofrecer atajos, abreviaciones, teclas de accesibilidad o líneas de comando, de manera de agilizar el trabajo de usuarios expertos. Explicación Esta heurística apunta al hecho de que a medida que la experiencia de los usuarios aumenta, también aumenta su deseo por realizar sus tareas de una forma más rápida, reduciendo el número de pasos necesarios para llevar a cabo su tarea. Debido a lo anterior, es que se hace necesario contar con abreviaciones, teclas de función y comandos conocidos para apoyar el trabajo de usuarios que van adquiriendo mayor experiencia y, por supuesto, para usuarios que ya son expertos. Es así como, según Schneiderman, el uso de facilidades de tipo atajo son muy útiles para usuarios expertos [Schneiderman, 1998]. Ejemplos Ejemplo 1: En el caso de la aplicación GreenView, no se cuenta con estas medidas. No existen atajos de tipo comandos o teclas de función, por lo que un usuario avanzado debe realizar el mismo largo proceso que un novato. 66

81 Beneficios Agilizar trabajo: El contar con métodos de atajo permite que los usuarios avanzados puedan realizar sus tareas de forma más rápida. Problemas Anticipados Desorientación: Crear demasiados atajos puede causar confusión en usuarios novatos, que por error o curiosidad pueden utilizarlos y encontrarse con resultados inesperados Reducir Carga de Memoria H7. Una aplicación Grid Computing debe ofrecer un manejo por comandos conocidos que estén siempre disponibles. Además se debe mantener elementos, funciones y opciones visibles para no tener que memorizar su ubicación o estado. Explicación Se debe considerar que los seres humanos poseen limitaciones de memoria en el corto plazo, por lo que su capacidad de procesar y retener mucha información implica un mayor esfuerzo para éstos [Schneiderman, 1998]. Una aplicación Grid Computing suele ser suficientemente compleja de por sí, con una gran cantidad de elementos y variables a considerar por el usuario. Es por esto que se deben mantener siempre visible los elementos en cuestión, de manera que el usuario no tenga que estar recordando esa clase de cosas. La información, entonces, se debe mantener en pantalla de manera de que el usuario no necesite tener que memorizarla. Para esto se puede utilizar navegación tipo pestañas, para volver a una pestaña previa y contar con la información requerida. Ejemplos Ejemplo 1: Como ejemplo de cumplimiento positivo de este principio se puede mencionar la aplicación GreenView, que ofrece una navegación por pestañas (figura 3.8), permitiendo navegar entre ellas fácilmente. Figura 3.8: Pestañas en GreenView. 67

82 Beneficios Optimización del trabajo: Optimiza el trabajo al permitir al usuario no tener que memorizar información reciente y poder enfocarse en su trabajo. Mejoramiento de experiencia de usar sistema: Mejora la experiencia del usuario, al reducir el esfuerzo de memorización temporal. Problemas Anticipados Problemas de navegación: Usuarios no acostumbrados a pestañas pueden desorientarse o no saber utilizarlas Explorabilidad H8. Se debe procurar reducir al máximo la navegación entre pantallas diferentes y ofrecer la mínima imprescindible para realizar una tarea de forma clara y natural. Explicación Se debe procurar reducir la navegación entre pantallas diferentes al máximo y ofrecer la mínima imprescindible de forma clara y natural. Es decir, evitarle al usuario la sensación de que no sabe dónde está o dónde va a ir a parar con una acción. Esto, debido a que la mayoría de los usuarios no pueden mantener mapas mentales complejos. Si tienen que hacerlo, se cansarán o se perderán. Es por esta razón que se debe tratar de que parezca que el usuario está siempre en el mismo sitio, con la información apareciéndosele a medida que avanza. Esto provoca en el usuario una sensación de seguridad y control. Ejemplos Ejemplo 1: Como ejemplo de cumplimiento de este principio se puede mencionar la aplicación GreenLand, que ofrece una navegación por pestañas verticales, permitiendo ir avanzando en los pasos de una tarea, aparentemente, dentro de la misma interfaz. Beneficios Mejor uso del tiempo: El tener que navegar por una cantidad excesiva de pantallas distintas para llevar a cabo una tarea requiere utilizar una mayor cantidad de tiempo. Esto, debido tanto al tiempo mismo del cambio de pantalla, como al tiempo que el usuario requiere para visualizar la nueva interfaz. Reducción de la memoria temporal: Claramente, el tener menos pantallas reduce la necesidad de memorizar rutas para acceder a funcionalidades o elementos de interfaz. 68

83 Problemas Anticipados Sobrecarga: Se puede caer en tener demasiada información reunida en pocas pantallas Control sobre Acciones H9. Una aplicación Grid Computing debe ofrecer al usuario la posibilidad de cancelar una tarea o un proceso que haya iniciado, así como también debe permitir deshacer acciones o cambios realizados. Explicación Esta heurística se refiere a considerar flexibilidad y tolerancia, bajando el costo de realizar acciones erróneas. Esto significa que se debe permitir deshacer y rehacer las acciones para no restringir ni estresar al usuario con la idea de que no puede equivocarse. Para esto se deben interpretar de manera prudente las acciones y saber manejar entradas o acciones inesperadas. Se deben manejar excepciones de manera de soportar errores del usuario, en tanto que éstos no sean errores de gravedad. Ejemplos Ejemplo 1: En GreenView, una vez iniciado un procesamiento, no se puede cancelar inmediatamente, se debe esperar que termine de cargar la tarea. Beneficios Reduce la ansiedad: El ofrecer la posibilidad de deshacer cambios libera al usuario de la presión de no poder cometer errores [Schneiderman, 1998]. Alienta la exploración: El hecho que el usuario sepa que las acciones se pueden deshacer alienta la exploración de opciones desconocidas para él [Schneiderman, 1998]. Problemas Anticipados Descuido: Puede causar que los usuarios realicen un trabajo descuidado por la confianza de que todo se puede deshacer. 69

84 Prevención de Errores H10. Se debe evitar que los usuarios lleven a cabo acciones que puedan conducir a un error, así como también se debe evitar crear confusión en el usuario que lo lleve a cometer errores. Para evitar esto el sistema debe guiar al usuario en el desarrollo de su trabajo. Explicación Como se ha mencionado anteriormente, en una aplicación basada en Grid Computing se realizan tareas que generalmente consumen una gran cantidad de tiempo y recursos. De ahí que resulta especialmente importante evitar errores que causen la perdida de éstos. Esto implica que se debe evitar que los usuarios realicen acciones en el sistema que conducirán con seguridad a un error, como por ejemplo, ingresos no debidamente validados. En caso de que para una entrada sólo sean válidos archivos con un formato especial, no se debe permitir al usuario cargar archivos con otro formato. Además se debe indicar claramente cuál es el tipo de archivos permitido. En caso de que para una entrada sólo sean válidos valores numéricos, no se debe permitir al usuario ingresar otro tipo de caracteres. Por otra parte, se debe evitar crear confusión en el usuario con ambigüedades u otros elementos que lo induzcan a cometer errores. Es decir, se debe dejar en claro cómo realizar las tareas. Si es posible, es recomendable guiar al usuario en sus tareas comunes, de manera que los pasos estén establecidos y el usuario sólo deba ir ingresando sus datos. Finalmente cabe mencionar que se debe evitar, especialmente, la ocurrencia de errores catastróficos, que puedan llegar a causar una pérdida total del trabajo realizado. Ejemplos Ejemplo 1: En el ejemplo, Processing ID es un valor numérico que corresponde al código de una tarea ejecutándose en la grid, sin embargo el cuadro permite también escribir caracteres alfabéticos. Como es de esperar, el mensaje de error indica que Processing ID contiene caracteres alfabéticos en lugar de dígitos (figuras 3.9, 3.10). Figura 3.9: Cuadro View processing status. 70

85 Figura 3.10: Error por ingresar caracteres no numéricos. Ejemplo 2: En el ejemplo, la opción Add images permite agregar cualquier tipo de archivo sin problemas. Al intentar subir un archivo mediante la opción Upload file(s) se presenta un mensaje de error indicando que el archivo cargado no contiene la metadata requerida, ya que no es del formato adecuado (figuras 3.11, 3.12). Figura 3.11: Opción Add images. 71

86 Figura 3.12: Error por formato inadecuado. Beneficios Evita la pérdida de tiempo: Generalmente la ejecución de tareas en una aplicación Grid Computing involucra procesamientos largos, del orden de varios minutos u horas, por lo que la ocurrencia de un error que implique algún daño en el trabajo realizado hasta ese momento causará una pérdida considerable de tiempo. Evita la pérdida de recursos: Las tareas pueden consumir una gran cantidad de recursos, por lo que, de ocurrir un error que cause la pérdida del trabajo realizado, se habrán utilizado todos estos recursos en vano. Problemas Anticipados Pérdida de libertad y control: Un problema que puede surgir es que el sistema limite una acción incorrecta por parte del usuario, pero sin indicar oportunamente por qué no le fue permitido realizar tal acción y cuál sería la manera correcta de efectuar la tarea deseada. 72

87 Ayuda para Recuperación de Errores H11. Ante la ocurrencia de un error, el sistema debe presentar un mensaje correspondiente indicando la causa claramente y, especialmente, debe apuntar a la solución de éste. Explicación Esta heurística es sobre cómo ayudar al usuario a recuperarse de un problema. Por lo que señalar que ha ocurrido un error no resulta suficiente, ya que no aporta en nada a la labor. Cualquier tipo de guía es mejor que nada, pero lo más recomendable es un mensaje que sea breve pero claro. Si se comete un error, el sistema debería poder reconocer esta situación para ofrecer al usuario un mensaje simple, indicando claramente el problema que ha ocurrido. Sin embargo, es importante considerar que en Grid Computing se maneja una gran variedad de recursos diferentes, por lo que al usuario, más que saber qué ha ocurrido, le interesará saber de qué forma recuperarse de este error, por lo que es importante señalar o sugerir un camino de solución. Tal como señala Schneiderman, si se llega a cometer un error, el sistema debe ser capaz de detectar este error y, a partir de esto, ofrecer mecanismos simples y comprensibles para manejar el error en cuestión. [Schneiderman, 1998]. Ejemplos Ejemplo 1: A continuación se presentan algunos ejemplos de errores en la aplicación GreenView cuyos mensajes no indican claramente la causa ni ayudan a la solución del problema (figuras 3.13, 3.14). Figura 3.13: Mensaje error. 73

88 Figura 3.14: Mensaje Error retrieving nodes information!. Beneficios Apoyo a la solución de errores: Básicamente a lo que apunta la heurística es a que el usuario reciba la ayuda necesaria para sobreponerse a los errores. Sensación de seguridad: Si el usuario sabe que puede ser guiado o apoyado para solucionar los problemas va a tener más confianza para trabajar con el sistema. Problemas Anticipados Sobrecarga de mensajes: Si el sistema entrega mensajes de error muy elaborados ante cualquier problema menor esto podría resultar molesto para el usuario, quien probablemente intentará desactivar la ayuda, o simplemente se cansará de la aplicación. 74

89 Documentación de Ayuda H12. Una aplicación Grid Computing debe proveer una buena documentación online, fácil de localizar, fácil de entender y completa, así como también ayuda contextual y glosarios de términos para usuarios novatos. Explicación Una aplicación Grid Computing puede ser utilizada por personas de diferentes países, trabajando en múltiples áreas de investigación, que hablen, posiblemente, en distintos idiomas y que además utilicen diferentes lenguajes técnicos. Por esto es necesario que una aplicación Grid Computing provea una buena documentación online o ayuda contextual, ya que es muy probable que ciertos usuarios no conozcan ciertos conceptos o parte del lenguaje de las aplicaciones científicas. Muy probablemente, la complejidad de una aplicación Grid Computing científica ameritará un manual de referencia e instrucciones de uso, pero esto no sustituye la necesidad de contar con ayuda contextual, para ir aclarando en el momento las dudas o problemas que puedan ir surgiendo. La documentación de que se habla aquí debe ser clara, concisa y diseñada para responder las preguntas que un usuario pueda tener respecto a la aplicación. Para funcionalidades de la aplicación que sean claramente complejas y requieran una explicación, se debe ofrecer la ayuda en ese mismo lugar y momento, para evitar que el usuario pierda tiempo buscando ayuda. Ejemplos Ejemplo 1: En el caso de la aplicación GreenView, se ofrece un manual de usuario en versiones online y descargable, sin embargo, este manual posee múltiples falencias. En primer lugar, es bastante superficial, que no es lo mismo que decir que es conciso (figura 3.15), además, no posee índice ni buscador y es demasiado breve. 75

90 Figura 3.15: Manual de usuario online de aplicación GreenView. Beneficios Sensación de seguridad: El contar con una buena documentación permite que los usuarios tengan mayor confianza en el uso de la aplicación. 3.5 Mapeo de las Heurísticas para Grid Computing En esta sección se muestra la relación que existe entre las heurísticas propuestas y las heurísticas de Nielsen. A continuación se presenta el mapeo entre estas heurísticas (tabla 3.1). Las heurísticas H1 y H2 de Grid Computing particularizan la heurística N2 para ambientes Grid Computing, ya que enfatizan la importancia de contar con interfaces claras y metáforas apropiadas en sistemas complejos y de tan variados usos como éstos. La heurística H3 de Grid Computing alude a la heurística N8 de Nielsen pero remarcando la importancia de la simplicidad en un ambiente intrínsecamente complejo como lo es Grid Computing, sobretodo en el área científica donde se llevan a cabo tareas de alta complejidad por parte de los usuarios. La heurística H4, de retroalimentación, apunta a la heurística N1 pero recalca la necesidad de una buena retroalimentación debido a la naturaleza propia de las tareas que se ejecutan en este ambiente, las cuales pueden tardar tiempos mucho mayores en comparación a otros sistemas. 76

91 Tabla 3.1: Mapeo entre las Heurísticas para Grid Computing y las Heurísticas de Nielsen Heurísticas Grid Computing ID Definición ID Definición H1 H2 Claridad Uso de Metáforas N2 Heurística de ielsen asociada Concordancia entre el sistema y el mundo real H3 Simplicidad N8 Estética y diseño minimalista H4 Retroalimentación N1 Visibilidad del estado del sistema H5 Consistencia N4 Consistencia y estándares H6 Atajos para Funcionalidades N7 Flexibilidad y eficiencia de uso H7 Reducir Carga de Memoria N6 Reconocer mejor que recordar H8 H9 Explorabilidad Control sobre Acciones N3 Control y libertad del usuario H10 Prevención de Errores N5 Prevención de errores H11 Ayuda para Recuperación de Errores N9 Ayuda al usuario a reconocer, diagnosticar y recuperarse de errores H12 Documentación de Ayuda N10 Ayuda y documentación La heurística H5 hace referencia a la heurística H4 de consistencia, pero en el contexto de aplicaciones Grid Computing con sus necesidades propias de consistencia. La heurística H6 especifica a la heurística N7 en términos de la necesidad de un uso eficiente mediante atajos para evitar procedimientos engorrosos, en una ya compleja metodología de trabajo por parte de los usuarios científicos en aplicaciones Grid Computing. La heurística H7 particulariza a la heurística N6 de Nielsen en términos de las características y la complejidad de las aplicaciones Grid Computing, destacando la importancia de mantener elementos visibles y no obligar al usuario a memorizar demasiada información de alta complejidad. Las heurísticas H8 y H9 igualmente particularizan a la heurística N3, basándose en la naturaleza del trabajo que se realiza en un ambiente Grid Computing, donde es imperativo tener el control del sistema La heurística H10 hace referencia a la heurística N5 en el contexto de una aplicación Grid Computing, donde un error puede tener costos muy altos en términos de tiempo y recursos, por lo que se debe procurar evitarlos. La heurística H11 pone en el contexto de aplicaciones Grid Computing a la heurística N9, enfatizando en la importancia de ayudar al usuario a recuperarse de errores, tarea que puede ser especialmente difícil en un ambiente Grid Computing. 77

92 Finalmente, la heurística H12 hace mención, al igual que la heurística N10, a la necesidad de contar con documentación de ayuda, pero destacando la necesidad de contar con ayuda online, debido a la complejidad de las tareas o conceptos involucrados. 3.6 Resumen de las Heurísticas A continuación se presenta un listado (tabla 3.2) con un resumen de las doce heurísticas que se han propuesto con su descripción, clasificadas en tres grupos: las relacionadas al diseño y estética, las relacionadas a la navegación y las relacionadas a la ayuda. Tabla 3.2: Resumen de las Heurísticas ID Principio Descripción Relacionadas al Diseño y Estética H1 Claridad Una aplicación Grid Computing debe ser fácil de entender visualmente, usando tanto elementos como textos y un lenguaje claro. H2 H3 H4 H5 Uso de Metáforas Simplicidad Retroalimentación Consistencia Una aplicación Grid Computing debe usar metáforas apropiadas de manera que las acciones resulten naturales de comprender para el usuario, mediante imágenes y el uso de objetos familiares y reconocibles. Una aplicación Grid Computing debe proporcionar la información necesaria para completar las tareas del usuario de una forma concisa, sin recargarlo con información irrelevante o inútil. Una aplicación Grid Computing debe mantener informado al usuario sobre el avance de sus tareas, indicando tanto el estado global del sistema, como el de sus tareas, tanto en los diferentes nodos como en la tarea global. El sistema debe contar, además, con algún mecanismo apropiado que entregue retroalimentación respecto a las acciones que el usuario realice. Se debe indicar, al menos, que se dio inicio a la acción pedida. Una aplicación Grid Computing debe ser consistente en la utilización de lenguaje y conceptos involucrados en una aplicación basada en Grid Computing. Las formas de ingreso de datos y la presentación de los resultados deben ser estándar. Además, se deben agrupar los datos y elementos presentados en pantalla de forma consistente. 78

93 ID Principio Descripción Relacionadas a la avegación H6 H7 H8 H9 H10 H11 H12 Atajos para Funcionalidades Reducir Carga de Memoria Explorabilidad Control sobre acciones Prevención de Errores Ayuda para Recuperación de Errores Documentación de Ayuda Una aplicación Grid Computing debe ofrecer atajos, abreviaciones, teclas de accesibilidad o líneas de comando de manera de agilizar el trabajo de usuarios expertos. Una aplicación Grid Computing debe ofrecer un manejo por comandos conocidos que estén siempre disponibles. Además se debe mantener elementos, funciones y opciones visibles para no tener que memorizar su ubicación o estado. Se debe procurar reducir al máximo la navegación entre pantallas diferentes y ofrecer la mínima imprescindible para realizar una tarea de forma clara y natural. Una aplicación Grid Computing debe ofrecer al usuario la posibilidad de cancelar una tarea o un proceso que haya iniciado. Así como también debe permitir deshacer acciones o cambios realizados. Relacionadas a la ayuda Se debe evitar que los usuarios lleven a cabo acciones que puedan conducir a un error, así como también se debe evitar crear confusión en el usuario que lo pueda llevar a cometer errores. Para evitar esto el sistema debe guiar al usuario en el desarrollo de su trabajo. Ante la ocurrencia de un error, el sistema debe presentar un mensaje correspondiente, indicando claramente la causa y, especialmente, debe apuntar a la solución de éste. Una aplicación Grid Computing debe proveer una buena documentación online, fácil de localizar, fácil de entender y completa; así como ayuda contextual y glosarios de términos para usuarios novatos. 79

94 4 Validación de las Heurísticas Propuestas 4.1 Evaluaciones Heurísticas a GreenView Para comenzar con el proceso de validación se decidió analizar el comportamiento de las heurísticas propuestas realizando dos evaluaciones heurísticas al primer caso de estudio: la aplicación GreenView v3.1. En primer lugar, se realizó una Evaluación Heurística utilizando las ampliamente conocidas heurísticas de Nielsen y luego se repitió el procedimiento utilizando las heurísticas propuestas para aplicaciones Grid Computing. El objetivo de esto no es evaluar la usabilidad de la aplicación, sino observar qué clase de problemas se detectan con las heurísticas de Nielsen y con las heurísticas para Grid Computing, para descubrir si es posible encontrar problemas relevantes mediante las heurísticas para Grid Computing que no sean considerados por las heurísticas de Nielsen. Lo anterior implica que los resultados mismos, es decir, los problemas encontrados no tienen tanta importancia como la comparación entre los resultados obtenidos con las heurísticas de Nielsen y con las especialmente desarrolladas pensando en ambientes Grid Computing Evaluación Utilizando Heurísticas de ielsen Perfil de los Evaluadores Se conformó un grupo de evaluadores que sólo utilizó las heurísticas de Nielsen para realizar la evaluación. El perfil de los miembros de este grupo se resume en la tabla 4.1. Cabe mencionar que al momento de la realización de la Evaluación Heurística, todos los participantes habían realizado al menos otras cuatro evaluaciones heurísticas a sitios web dentro de un periodo no superior a un año y todos habían cursado la asignatura Human Computer Interaction dictada en la Escuela de Ingeniería Informática de la Pontificia Universidad Católica de Valparaíso. Tabla 4.1: Participantes de la Evaluación Heurística a GreenView (Heurísticas de Nielsen) ombre Carrera Conocimiento de Grid Computing úmero de evaluaciones heurísticas Manuel López Ing. Civil Informática Nula 8 Leonor Leiva Ing. Civil Informática Baja 6 José Molina Ing. Civil Informática Nula 4 Sergio Pérez Ing. Ejec. Informática Baja 8 80

95 Método de la Evaluación Heurística Cada evaluador desarrolló una lista de problemas en base a las heurísticas de Nielsen. Estos problemas luego fueron reunidos de modo de tener una única lista de problemas y a los problemas de esta lista les fueron asignados valores de severidad y frecuencia a criterio de cada evaluador. A continuación, se presentan las diez heurísticas que utilizaron los evaluadores de este grupo (tabla 4.2). Posteriormente se presenta un resumen de los resultados obtenidos en las evaluaciones con estas heurísticas. En el Anexo A se presentan en mayor detalle los resultados obtenidos. Tabla 4.2: Heurísticas de Nielsen para Evaluar la Usabilidad de un Sistema Heurísticas de ielsen A. Visibilidad del estado del sistema B. Concordancia entre el sistema y el mundo real C. Control y libertad del usuario D. Consistencia y estándares E. Prevención de errores F. Reconocer mejor que recordar G. Flexibilidad y eficiencia de uso H. Estética y diseño minimalista I. Ayuda al usuario a reconocer, diagnosticar y recuperarse de errores J. Ayuda y documentación Los evaluadores calificaron los problemas encontrados según su severidad y frecuencia de acuerdo a la siguiente tabla (tabla 4.3), sumando estos valores para obtener finalmente la criticidad. 81

96 Tabla 4.3: Escala de Severidad y Frecuencia ota Severidad Frecuencia 4 Problema catastrófico > 90% 3 Problema mayor 51% a 90% 2 Problema menor 11% a 50% 1 Problema cosmético 1% a 10% 0 No es un problema < 1% Resultados de la Evaluación En la tabla 4.4 se presenta una lista con los ocho problemas más críticos descubiertos por los evaluadores con las heurísticas de Nielsen. Esta tabla muestra los valores promedio de severidad, frecuencia y criticidad, ordenados por criticidad. En el anexo A se presentan en mayor detalle los resultados obtenidos. Tabla 4.4: Listado de los Ocho Problemas más Críticos (Heurísticas de Nielsen) Promedio ID Problema Severidad Frecuencia Criticidad 6 Mensajes de error poco explicativos Exceso de elementos en ventanas No se previene el ingreso de valores no permitidos Parece que todos los botones fueran igual de importantes Sólo en inglés No hay botones deshacer o cancelar No se sabe si sistema está procesando Al buscar ubicaciones inexistentes sistema se queda indefinidamente buscando

97 En la tabla 4.5 se presenta un listado de las heurísticas de Nielsen y los problemas encontrados que las incumplen. Tabla 4.5: Principios Incumplidos en GreenView (Heurísticas de Nielsen) ID Principio Problemas que incumplen el principio Total de problemas N1 Visibilidad del estado del sistema P5, P12 2 N2 Correspondencia entre el sistema y el mundo real P7 1 N3 Control y libertad del usuario P4 1 N4 Consistencia y estándares P2 1 N5 Prevención de errores P8, P9 2 N6 Reconocer mejor que recordar - 0 N7 Flexibilidad y eficiencia de uso - 0 N8 Estética y diseño minimalista P1, P10, P11 3 N9 Ayuda al usuario a reconocer, diagnosticar y recuperarse de errores P6 1 N10 Ayuda y documentación P3 1 Se puede apreciar que la heurística que permitió encontrar más problemas es la de Estética y diseño minimalista (N8) y, por el contrario, las heurísticas que menos problemas detectaron fueron Reconocer mejor que recordar y Flexibilidad y eficiencia de uso (N6 y N7 respectivamente). En general, se observa una distribución bastante pareja de problemas, sin embargo el 70% de las heurísticas encontró uno o ningún problema, lo que es bastante bajo. En la figura 4.1 se aprecia gráficamente la cantidad de problemas encontrados por cada una de las heurísticas de Nielsen según la tabla

98 Figura 4.1: Gráfico de la cantidad de problemas encontrados por cada heurística (Nielsen) Evaluación Utilizando Heurísticas para Grid Computing Perfil de los Evaluadores En este caso se conformó un grupo de evaluadores que sólo utilizaría las heurísticas Grid Computing para realizar la evaluación. El perfil de los miembros de este grupo se resume en la tabla 4.6. Cabe mencionar que al momento de la realización de la Evaluación Heurística, todos los participantes habían realizado al menos otras tres evaluaciones heurísticas a sitios web en un tiempo no superior a un año y todos habían participado en las asignaturas Human Computer Interaction y/o Ingeniería Web, dictadas en la Escuela de Ingeniería Informática de la Pontificia Universidad Católica de Valparaíso. 84

99 Tabla 4.6: Participantes de la Evaluación Heurística a GreenView (Heurísticas Grid Computing) ombre Carrera Conocimiento de Grid Computing úmero de evaluaciones heurísticas Marcela Cortez Ing. Civil Informática Nula 6 Alan Cuevas Ing. Civil Informática Nula 3 Pablo Gatica Ing. Civil Informática Nula 3 Eduardo León Ing. Civil Informática Nula 4 Método de la Evaluación Heurística Cada evaluador desarrolló una lista de problemas siguiendo el mismo método presentado en la sección 4.1.1, pero esta vez en base a las heurísticas Grid Computing (tabla 3.2). Resultados de la Evaluación En la tabla 4.7 se presenta una lista con los ocho problemas más críticos descubiertos por los evaluadores con las heurísticas Grid Computing. Esta tabla muestra los valores promedio de severidad, frecuencia y criticidad, ordenados por criticidad. En el Anexo B se presentan en mayor detalle los resultados obtenidos. Tabla 4.7: Listado de los Ocho Problemas más Críticos (Heurísticas Grid Computing) Promedio ID Problema Severidad Frecuencia Criticidad 9 No hay una secuencia explícita para que el usuario realice procedimientos complejos Mensajes de error no ofrecen solución Ayuda contextual insuficiente Mensajes de error poco explicativos Manual demasiado confuso No hay atajos Aplicación sólo en inglés No se indica el formato que deben tener los archivos de GPP Computing

100 En la tabla 4.8 se aprecia la cantidad de problemas encontrados por cada una de las heurísticas Grid Computing. Se puede observar que la cantidad de problemas estuvo bastante distribuida, sin embargo no se encontraron problemas con las heurísticas H3 (simplicidad) y H7 (reducir carga de memoria). Tabla 4.8: Principios Incumplidos en GreenView (Heurísticas Grid Computing) ID Principio Problemas que incumplen el principio Total de problemas H1 Claridad P1, P2, P7 3 H2 Uso de Metáforas P11 1 H3 Simplicidad - 0 H4 Retroalimentación P5, P12 2 H5 Consistencia P13 1 H6 Atajos para funcionalidades P10 1 H7 Reducir carga de Memoria - 0 H8 Explorabilidad P9 1 H9 Control sobre acciones P4 1 H10 Prevención de errores P8, P14, P15 3 H11 Ayuda para Recuperación de Errores P6, P16 2 H12 Documentación de Ayuda P3, P17 2 Posteriormente, con las pruebas con usuarios se comprobará la relevancia de este tipo de problemas, para determinar si es necesario incorporar nuevas heurísticas o corregir las actuales. Se puede ver que las heurísticas que permitieron encontrar más problemas son las de Claridad y Prevención de errores (H1 y H10 respectivamente) y, por el contrario, las heurísticas que menos problemas detectaron fueron Simplicidad y Reducir carga de memoria (H3 y H7 respectivamente). En general, se observa una distribución menos pareja que con las heurísticas de Nielsen, pero en este caso con el 58% de las heurísticas se encontró uno o ningún problema, lo que significa un mejor resultado, dado que no resulta positivo que los problemas se concentren en 86

101 pocas heurísticas, pues podría implicar que las demás heurísticas están mal formuladas o no están resultando útiles. En la figura 4.2 se aprecia gráficamente la cantidad de problemas encontrados por cada una de las heurísticas Grid Computing según la tabla 4.8. Figura 4.2: Gráfico de la cantidad de problemas encontrados por cada heurística (Grid Computing). 87

102 4.1.3 Comparación de Resultados En esta sección se establecerán algunas comparaciones de los resultados obtenidos mediante las evaluaciones heurísticas anteriormente detalladas. En la figura 4.3 se puede observar que, a pesar de que se encuentra un cierto número de problemas con ambos conjuntos de heurísticas (38%), existe un significativo número de problemas que sólo fueron detectados por las heurísticas Grid Computing (41%). El restante 21% de problemas que sólo fueron encontrados con las heurísticas de Nielsen serán analizados en más detalle para evaluar su importancia. Figura 4.3: Gráfico del porcentaje de problemas encontrados por cada heurística en GreenView. A continuación se presentan los problemas encontrados sólo con las heurísticas de Nielsen o sólo con las heurísticas Grid Computing. La importancia de esta comparación es que permite tener una base para determinar si es necesario incorporar nuevas heurísticas que detecten problemas omitidos, o si es necesario corregir alguna heurística. 88

103 Problemas Encontrados sólo con Heurísticas de ielsen En la tabla 4.9 aparecen problemas encontrados sólo mediante las heurísticas de Nielsen. Se puede observar que los problemas más críticos encontrados son de Estética y diseño minimalista (exceso de elementos, botones iguales) y de Prevención de errores (ingreso de valores no permitidos). Un problema que llama la atención es que el sistema es poco intuitivo para un usuario novato, sin embargo, este problema no obtuvo una frecuencia muy alta. El resto de los problemas, a pesar de no haber sido directamente encontrados mediante las heurísticas Grid Computing, es asociado a otro sí encontrado, por lo que no serán considerados. Tabla 4.9: Listado de Problemas Encontrados sólo con Heurísticas de Nielsen Promedio ID Problema S F C 1 Exceso de elementos en ventanas No se previene el ingreso de valores no permitidos Parece que todos los botones fueran igual de importantes Al buscar ubicaciones inexistentes sistema se queda indefinidamente buscando Ayuda oculta para novatos Sistema resulta poco intuitivo Análisis de Problemas P1 Exceso de elementos en ventanas (Estética y diseño minimalista): Existe un exceso de elementos en ciertas ventanas, como por ejemplo GPP Computing. Estos elementos consisten tanto en botones y etiquetas poco representativas como en textos ininteligibles. Este problema puede ser importante en un ambiente Grid Computing de por sí complejo. P9 o se previene el ingreso de valores no permitidos (Prevención de errores): El usuario puede buscar la ID de una tarea ingresando letras, pero sólo es válido buscar tareas por ID numérico. Esto puede implicar pérdida de tiempo o confusión para el usuario. P10 Parece que todos los botones fueran igual de importantes (Estética y diseño minimalista): Todos los botones son del mismo estilo y tamaño, no quedando claro para el usuario cuáles botones permiten realizar operaciones críticas o cuáles permiten sólo operaciones menores. 89

104 P12 Al buscar ubicaciones inexistentes sistema se queda indefinidamente buscando (Visibilidad del estado del sistema): Cuando un usuario ingresa una ubicación que el sistema no encuentra, no existe una respuesta adecuada. Sólo se muestra un mensaje de que se está aún buscando, lo que hace creer al usuario que va obtener algún resultado cuando en realidad no será así. P3 Ayuda oculta para novatos (Ayuda y documentación): La ayuda para los usuarios no se encuentra a simple vista, ya que es necesario ingresar a una de las múltiples pestañas y posteriormente buscar un pequeño link para ingresar a un manual online, el cual es la única ayuda disponible. P11 Sistema resulta poco intuitivo (Estética y diseño minimalista): A juicio de los evaluadores el sistema es poco intuitivo, ya que no entendían el objetivo de la aplicación y, por lo tanto, no comprendían las funcionalidades. Respecto a esto es necesario considerar que los evaluadores poseen conocimientos bajos sobre Grid Computing y el dominio de la aplicación. Análisis de Severidad De los seis problemas encontrados sólo con las heurísticas de Nielsen, mencionados en la tabla 4.9, ninguno presenta una severidad mayor que 3, alcanzando el valor 2.75 sólo tres de los problemas. Calculando un promedio de la severidad de los seis problemas se obtiene un valor de 2.08 y promediando los cinco problemas con severidad más alta se obtiene un valor de severidad de De los valores mencionados ninguno alcanza a clasificarse como problema mayor, sino que se clasifica como problema menor según la escala presentada en la tabla 4.3, ya que para clasificarse como problema mayor un problema, éste debe tener un valor de severidad igual o mayor que Problemas Encontrados sólo con Heurísticas Grid Computing En la tabla 4.10 aparecen problemas encontrados sólo mediante las heurísticas Grid Computing. Se puede observar que el problema más crítico encontrado es que no existe una secuencia explícita que el usuario pueda seguir para completar tareas complejas. Otro problema considerado crítico es que los mensajes de error no aportan indicios de una posible solución. 90

105 Tabla 4.10: Listado de Problemas Encontrados sólo con Heurísticas Grid Computing Promedio ID Problema S F C 9 16 No hay una secuencia explícita para que el usuario realice una tarea, no guía procedimientos Mensajes de error no ofrecen solución Ayuda contextual insuficiente Manual demasiado confuso No hay atajos No se indica el formato que deben tener los archivos de GPP Computing Faltan metáforas en GPP Computing No se especifican o ejemplifican valores válidos para Coarse image resolution El reloj que aparece durante el procesamiento no es animado, dando la apariencia de que el sistema se ha pegado No hay ayuda La barra de progreso no indica gráficamente el progreso Análisis de Problemas P9 o hay una secuencia explícita para que el usuario realice una tarea, no guía procedimientos (Explorabilidad): En la aplicación existen funcionalidades básicas y repetitivas que son propias de un ambiente Grid Computing, como el envío de una tarea o la visualización de resultados. Aquí, sin embargo, no se guía al usuario para que lleve a cabo estos procedimientos, haciendo tediosas hasta las tareas más simples. P16 Mensajes de error no ofrecen solución (Ayuda para Recuperación de Errores): Ciertos mensajes de error no ofrecen ningún tipo de ayuda acerca de cómo solucionar el problema. Esto puede ser crítico en aplicaciones complejas, como en este caso. P17 Ayuda contextual insuficiente (Documentación de Ayuda): Todos los botones son del mismo estilo y tamaño, no quedando claro para el usuario cuáles botones permiten realizar operaciones de importancia o cuáles permiten sólo operaciones menores. 91

106 P1 Manual demasiado confuso (Claridad): El manual de usuario online no posee tabla de contenidos, índice o buscador, por lo que el usuario debe leer el manual completo en búsqueda de alguna ayuda. Esto resulta especialmente negativo en un sistema Grid Computing complejo. P10 o hay atajos (Atajos para Funcionalidades): No existen formas abreviadas para realizar las tareas, lo que significa que aún usuarios experimentados deben realizar los pasos de la misma forma que los novatos. P15 o se indica el formato que deben tener los archivos de GPP Computing (Prevención de Errores): En la sección GPP Computing no se indica el formato de los archivos de configuración, lo que puede generar problemas en el sistema. P11 Faltan metáforas en GPP Computing (Uso de Metáforas): Siendo GPP un concepto poco común debiese existir algún tipo de metáfora o explicación para entender qué hacer con una determinada funcionalidad. P14 o se especifican o ejemplifican valores válidos para Coarse image resolution (Prevención de Errores): Al no indicar los valores válidos para la función se pueden generar errores. Para operaciones poco comunes o sensibles por su importancia para la tarea se debiese indicar algún ejemplo de entrada válida. P15 o se indica el formato que deben tener los archivos de GPP Computing (Prevención de Errores): Al igual que en el problema P14 se deberían indicar los tipos de archivo válidos para evitar errores. P13 El reloj que aparece durante el procesamiento no es animado, dando la apariencia de que el sistema se ha pegado. (Consistencia): A pesar de que un cursor tipo reloj no es conveniente como medio de retroalimentación, ya que ofrece poca información, si se llegara a utilizar, éste debería ser animado, para que quede claro al usuario que el sistema está haciendo un procesamiento. P3 o hay ayuda. (Documentación de Ayuda): No existe ayuda, sólo un manual de usuario muy breve, por lo que, ante problemas en alguna funcionalidad, el usuario no tiene otra opción que buscar ayuda en el manual respecto a dicha funcionalidad. P12 La barra de progreso no indica gráficamente el progreso (Retroalimentación): A pesar de que existe una barra de progreso, ésta no es gráfica, sino numérica. Esta incongruencia puede generar problemas de visibilidad en el usuario. Análisis de Severidad De los once problemas encontrados sólo con las heurísticas para Grid Computing, mencionados en la tabla 4.10, cuatro presentan una severidad mayor que 3, alcanzando tres de los problemas un valor de

107 Calculando un promedio de la severidad de los once problemas se obtiene un valor de 2.66 y promediando los cinco problemas con severidad más alta se obtiene un valor de severidad de 3.1. De los valores mencionados cuatro alcanzan a clasificarse como problema mayor según la escala presentada en la tabla 4.3, lo que implica un mejor resultado que el obtenido con las heurísticas de Nielsen, ya que se encontraron más problemas de alta severidad Cantidad de Problemas Encontrados por Heurística En la tabla 4.11 se presenta una comparativa entre la cantidad de problemas encontrados con cada heurística Grid Computing y los encontrados con las heurísticas de Nielsen asociadas. Tabla 4.11: Mapeo entre la Cantidad de Problemas Encontrados con cada Heurística Heurísticas Grid Computing Heurística de ielsen asociada ID umero de Problemas ID umero de Problemas H1 3 H2 1 N2 1 H3 0 N8 3 H4 2 N1 2 H5 1 N4 1 H6 1 N7 0 H7 0 N6 0 H8 1 H9 1 N3 1 H10 3 N5 2 H11 2 N9 1 H12 2 N10 1 Total 17 Total 12 Una situación a destacar es la que ocurre con las heurísticas Grid Computing H1 y H2 que en conjunto reúnen cuatro problemas, mientras que con la heurística de Nielsen asociada (N2) sólo se encontró un problema, sin embargo con la heurística Grid Computing H3 no se encontró ningún problema, contra los tres problemas que se encontraron con la heurística de Nielsen asociada N8. Las heurísticas H8 y H9, que son una especificación de la heurística N3 de Nielsen, reúnen dos problemas, es decir un problema más que la cantidad encontrada con la heurística de Nielsen. Esta diferencia es tan estrecha que no permite sacar conclusiones definitivas. 93

108 En la figura 4.4 se presenta un gráfico que permite observar más detalladamente la cantidad de problemas encontrados tanto con las heurísticas Grid Computing (azul) como con las de Nielsen (rojo). Figura 4.4: Gráfico de la cantidad de problemas encontrados por cada heurística en GreenView. 4.2 Pruebas de Usabilidad a GreenView Como parte de la validación de las heurísticas propuestas se consideró necesario realizar una prueba de usabilidad con usuarios a la aplicación GreenView v3.1. El listado de tareas se desarrolló, por lo tanto, a partir de los problemas encontrados en las Evaluaciones Heurísticas llevadas a cabo a esta aplicación. 94

109 Propósito El objetivo de esta prueba es, en primer lugar, establecer si los problemas detectados mediante las heurísticas propuestas en la Evaluación Heurística respectiva son relevantes. Además, se consideró útil observar la ocurrencia de problemas recurrentes en la realización de tareas típicas en un ambiente Grid Computing, tales como envío de jobs, visualización de resultados y monitoreo de procesamiento. El diseño de la prueba, junto al listado de tareas completo y los cuestionarios pre-test y post-test respectivos se encuentran en los anexos C, D, E, F. Perfiles de Usuarios Los participantes fueron clasificados en dos grupos de acuerdo a su nivel de conocimientos acerca de Grid Computing, siguiendo la idea de las evaluaciones heurísticas. Tabla 4.12: Perfiles de Usuarios Participantes en Prueba de Usabilidad Grupo Usuarios novatos Usuarios expertos Descripción Usuarios que no han interactuado antes con la aplicación GreenView ni tienen conocimientos significativos sobre Grid Computing. Usuarios instruidos en los conceptos básicos de Grid Computing y conocen el objetivo y funcionalidades de la aplicación GreenView Como se señala en la tabla 4.12 los usuarios que se consideraron expertos son capacitados en los conceptos de Grid Computing, como así también tienen conocimientos en las funcionalidades de la aplicación GreenView v3.1. Cabe mencionar que los usuarios reales de la aplicación GreenView no son necesariamente informáticos, ni especialistas en Grid Computing, sino que expertos en el dominio de las ciencias de la tierra y ambiente, por lo que estos conocimientos se alejan de lo que los usuarios de prueba puedan poseer o adquirir para efectos de esta prueba. Por esta razón se consideró que no es posible contar con un grupo de usuarios de prueba que pudiera ser considerado experto en este ámbito. Fue así como se decidió realizar una prueba sólo con un grupo de usuarios considerados novatos, ya que el escenario de prueba era suficientemente realista para ellos. 95

110 Listado de Tareas A continuación se presenta un listado resumen de las tareas que llevaron a cabo los usuarios de la prueba (tabla 4.13). Esto es sólo para efectos de comprender de forma general en qué consistirá cada tarea. El listado original completo que utilizaron los usuarios se encuentra en el Anexo E. Tabla 4.13: Listado Resumen de Tareas para la Prueba con Usuarios Tarea 1 Ingresar a la aplicación web 2 Navegar por la aplicación 3 Enviar una tarea específica 4 Ver el estado de procesamiento de una tarea específica 5 Encontrar ayuda sobre una función Resultados de la Prueba A continuación se presenta una tabla que resume los resultados de la prueba (tabla 4.14). Cabe señalar que completar las tareas resultó, en general muy difícil para los usuarios. La primera tarea fue completada con éxito por todos, aunque tres usuarios estuvieron bastante cerca del límite de tiempo. A pesar de ser una tarea relativamente simple, los tiempos de carga de la aplicación hacen que el usuario cometa errores de tipeo. La segunda tarea fue completada con éxito por todos los usuarios, aunque el usuario 1 tuvo ciertas dificultades para desplazarse por las distintas pestañas. Esta tarea dejó en evidencia que el sistema de pestañas no está bien logrado, ya que no todos los usuarios consideran estas pestañas como tales. La tercera tarea, que es una tarea básica en un ambiente Grid Computing, fue completada sólo por dos usuarios y ampliamente fuera de tiempo. La principal razón de error fue la incomprensión de mensajes de error en idioma rumano. La cuarta tarea fue completada con éxito por sólo dos usuarios. A pesar de que todos los usuarios consideraron que la pudieron llevar a cabo, tres lo hicieron incorrectamente ya que no lograron monitorear el estado de procesamiento de una tarea, sino que simplemente vieron un listado de tareas en procesamiento. 96

111 La quinta tarea fue completada con éxito por tres usuarios, aunque con bastantes problemas, ya que los tres usuarios que lograron completar la tarea tuvieron que recorrer todo el manual al no existir un índice o la opción de búsqueda por palabras clave. Tabla 4.14: Resumen de los Resultados de las Tareas Realizadas Tarea Estado Usuario 1 Usuario 2 Usuario 3 Usuario 4 Usuario Tiempo 53 seg. 34 seg. 57 seg. 59 seg. 44 seg. Éxito sí sí sí sí sí Tiempo 2 min. 15 seg. 3 min. 47 seg. 3 min. 51 seg. 2 min. 5 seg. 2 min 33 seg. Éxito sí sí sí sí sí Tiempo 4 min. 20 seg. 8 min. 12 seg. 9 min. 17 seg. 10 min. 45 seg. 6 min. 25 seg. Éxito no sí sí no no Tiempo 20 seg. 42 seg. 37 seg. 25 seg. 53 seg. Éxito no sí no no sí Tiempo 2 min. 27 seg. 1 min. 27 seg. 2 min. 53 seg. 1 min. 40 seg. 3 min. Éxito no sí no sí sí Cuestionarios Post-Test Luego de terminada la prueba los usuarios fueron consultados respecto a una serie de asuntos asociados a los problemas detectados. A continuación se presenta un conjunto de gráficos que resumen los resultados de estas consultas. En primer lugar, se les consultó a los usuarios por la facilidad de navegar por la aplicación, siendo las respuestas muy variadas, sin embargo se puede apreciar que el 60% de los usuarios tuvo una respuesta más bien positiva (figura 4.5). 97

112 Figura 4.5: Gráfico de la facilidad de navegación. En segundo lugar, se les consultó a los usuarios por la claridad en la disposición de las funcionalidades de la aplicación. En este caso los resultados fueron claramente negativos (figura 4.6). Un 60% consideró que las funcionalidades no están bien ubicadas y el resto tuvo una opinión neutral. Figura 4.6: Gráfico de la claridad en disposición de funcionalidades. Claramente la retroalimentación es un aspecto importante, por lo que no sorprende que un 80% de los usuarios consultados sintiera que sus problemas fueron en gran medida causados por la pobre retroalimentación respecto a los errores que surgían (figura 4.7). Esto es esperable, ya que existen mensajes en idioma rumano, poco útiles o en código, lo que en definitiva al usuario no le permitió aclarar dudas ni solucionar sus problemas. 98

113 Figura 4.7: Gráfico de la claridad en la retroalimentación. El único problema detectado por las heurísticas de Nielsen y no por las heurísticas Grid Computing hace referencia a la claridad de la interfaz gráfica. En base a esto, los usuarios fueron consultados acerca de su impresión sobre la claridad de la interfaz gráfica. Contrario a lo esperable, los usuarios estuvieron de acuerdo en que la interfaz gráfica es clara, como se puede apreciar en la figura 4.8. Figura 4.8: Gráfico de la claridad de interfaz gráfica. Los usuarios fueron también consultados por la existencia de ayuda contextual, manifestándose, el 60% de éstos, muy en desacuerdo con la afirmación. Lo que se ve reflejado en la figura

114 Figura 4.9: Gráfico de la ayuda contextual. Los usuarios fueron también consultados por la facilidad de encontrar y utilizar el manual online. La variedad en las respuestas se puede atribuir a que todos los usuarios encontraron el manual muy fácilmente, pero luego les fue muy difícil encontrar la información (figura 4.10). Figura 4.10: Gráfico de la facilidad de utilizar el manual online. Sólo uno de los usuarios pudo completar con éxito el listado de tareas, mientras que dos usuarios tuvieron ciertos problemas y otros dos tuvieron muchos problemas (figura 4.11). Cabe destacar que dos de las tareas que causaron el mayor número de problemas son pruebas típicas de un ambiente Grid Computing, como lo son el envió de tareas y el monitoreo del estado de procesamiento, por lo que esto es de especial gravedad. 100

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

Arquitectura: Clusters

Arquitectura: Clusters Universidad Simón Bolívar Arquitectura: Clusters Integrantes: - Aquilino Pinto - Alejandra Preciado Definición Conjuntos o conglomerados de computadoras construidos mediante la utilización de hardware

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

I INTRODUCCIÓN. 1.1 Objetivos

I INTRODUCCIÓN. 1.1 Objetivos I INTRODUCCIÓN 1.1 Objetivos En el mundo de la informática, la auditoría no siempre es aplicada en todos las empresas, en algunos de los casos son aplicadas por ser impuestas por alguna entidad reguladora,

Más detalles

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) OFERTAS TECNOLÓGICAS 1) GESTIÓN ORGANIZACIONAL Y LOGÍSTICA INTEGRADA: TÉCNICAS Y SISTEMAS DE INFORMACIÓN 2) GESTIÓN

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor Infraestructura Tecnológica Sesión 5: Arquitectura cliente-servidor Contextualización Dentro de los sistemas de comunicación que funcionan por medio de Internet podemos contemplar la arquitectura cliente-servidor.

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

CAPÍTULO I. Sistemas de Control Distribuido (SCD). 1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables

Más detalles

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

1.2 Alcance. 1.3 Definición del problema

1.2 Alcance. 1.3 Definición del problema 1. INTRODUCCIÓN El avance de Internet y las comunicaciones de los últimos años ha provocado un interés creciente por el desarrollo de propuestas metodológicas que ofrezcan un marco de referencia adecuado

Más detalles

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente. Investigar Qué es un IIS? Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para Windows

Más detalles

http://www.manavell.com info@manavell.com

http://www.manavell.com info@manavell.com http://www.manavell.com info@manavell.com Antes que nada le agradecemos su interés en nuestros servicios. Nuestro interés es poder ayudar a su organización a tener una presencia online segura, profesional

Más detalles

ING. YURI RODRIGUEZ ALVA

ING. YURI RODRIGUEZ ALVA Historia y evolución de las Aplicaciones. Acerca de Cloud Computing o Computación para la Nube. Tipos de Aplicaciones para la Nube. Ventajas y desventajas de Cloud Computing Uso y Aplicaciones de Cloud

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Comunicación: Herramientas Informáticas de Apoyo a la Educación: Experiencias. Autor: Ing. Hernán Mariño hernanmarino@uca.edu.ar

Comunicación: Herramientas Informáticas de Apoyo a la Educación: Experiencias. Autor: Ing. Hernán Mariño hernanmarino@uca.edu.ar Comunicación: Herramientas Informáticas de Apoyo a la Educación: Experiencias. Autor: Ing. Hernán Mariño hernanmarino@uca.edu.ar Pontificia Universidad Católica Argentina Facultad de Ciencias Fisicomatemáticas

Más detalles

Unidad III. Software para la administración de proyectos.

Unidad III. Software para la administración de proyectos. Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS Administración Nacional de Universidad de la República Educación Pública Facultad de Ingenieria CF Res..0.07 Consejo Directivo Central Consejo Directivo Central Res..05.07 Res. 17.0.07 TECNÓLOGO EN INFORMÁTICA

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

Capítulo 1 Introducción

Capítulo 1 Introducción Capítulo 1 Introducción Dentro de los muchos campos que abarca la universidad para la investigación científica, se encuentra el de los Sistemas de Información Geográfica (SIG). Para ello, cuenta con el

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

Estructura de Computadores I Arquitectura de los MMOFPS

Estructura de Computadores I Arquitectura de los MMOFPS UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA Estructura de Computadores I Arquitectura de los MMOFPS Integrantes: Luis Castro Valentina Yévenes RESUMEN Los MMOG (Massively Multiplayer Online Game), son juegos

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Guía Metodológica para el diseño de procesos de negocio

Guía Metodológica para el diseño de procesos de negocio Guía Metodológica para el diseño de procesos de negocio La guía desarrollada para apoyar TBA, se diseñó con base en las metodologías existentes para el desarrollo BPM, principalmente en aquellas que soportan

Más detalles

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual Área Académica: Licenciatura Sistemas Computacionales Materia: Gestión de Proyectos Profesor: Lic. Virginia Arguelles Pascual Periodo: Julio-Diciembre Tema: El proceso de software y métricas del proyecto.

Más detalles

Alcoa ALCOA AUTOMATIZA EL CONTROL DE SUS PROCESOS DE PLANTA CON LAS SOLUCIONES DE WONDERWARE

Alcoa ALCOA AUTOMATIZA EL CONTROL DE SUS PROCESOS DE PLANTA CON LAS SOLUCIONES DE WONDERWARE SIDERURGIA Siderurgia Alcoa ALCOA AUTOMATIZA EL CONTROL DE SUS PROCESOS DE PLANTA CON LAS SOLUCIONES DE WONDERWARE Gracias a la tecnología de Wonderware, Alcoa ha conseguido alinear los objetivos comerciales

Más detalles

2.1 Clasificación de los sistemas de Producción.

2.1 Clasificación de los sistemas de Producción. ADMINISTRACION DE OPERACIONES Sesión 2: La Administración de operaciones II Objetivo específico 1: El alumno conocerá la clasificación de los sistemas de producción, los sistemas avanzados de manufactura

Más detalles

Estrategia de Cómputo en la Nube. Servicios en la Nube

Estrategia de Cómputo en la Nube. Servicios en la Nube Estrategia de Cómputo en la Nube Servicios en la Nube Computación para la Nube? Tecnología informática por la que se proporcionan software y servicios a través de la Internet. El nombre Cloud Computing

Más detalles

Servicios avanzados de supercomputación para la ciència y la ingeniería

Servicios avanzados de supercomputación para la ciència y la ingeniería Servicios avanzados de supercomputación para la ciència y la ingeniería Servicios avanzados de supercomputación para la ciència y la ingeniería HPCNow! provee a sus clientes de la tecnología y soluciones

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias Capítulo 5: Pruebas y evaluación del sistema 5.1 Definición de pruebas para la aplicación A continuación se muestran una serie de pruebas propuestas para evaluar varias características importantes del

Más detalles

Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz.

Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz. Presentación Multipedidos es un sistema de ventas on-line que permite gestionar pedidos por internet en tiempo real de manera económica, simple y eficaz. El sistema está pensado para empresas que deseen

Más detalles

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad Infraestructura Tecnológica Sesión 12: Niveles de confiabilidad Contextualización La confianza es un factor determinante y muy importante, con ésta se pueden dar o rechazar peticiones de negocio, amistad

Más detalles

La Pirámide de Solución de TriActive TRICENTER

La Pirámide de Solución de TriActive TRICENTER Información sobre el Producto de TriActive: Página 1 Documento Informativo La Administración de Sistemas Hecha Simple La Pirámide de Solución de TriActive TRICENTER Información sobre las Soluciones de

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 1 de 12 Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 3 Bienvenida. 4 Objetivos. 5 Interacciones de Negocios

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc.

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc. Página 1 BUSCADORES EN INTERNET Internet es una red de redes informáticas distribuidas por todo el mundo que intercambian información entre sí mediante protocolos 1 TCP/IP. Puede imaginarse Internet como

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

Administración del conocimiento y aprendizaje organizacional.

Administración del conocimiento y aprendizaje organizacional. Capítulo 2 Administración del conocimiento y aprendizaje organizacional. 2.1 La Importancia Del Aprendizaje En Las Organizaciones El aprendizaje ha sido una de las grandes necesidades básicas del ser humano,

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Otra característica del e-learning es que el alumno no se encuentra atado a las habilidades y capacidades del instructor

Otra característica del e-learning es que el alumno no se encuentra atado a las habilidades y capacidades del instructor Ventajas del e-learning Autor: Lic. Juan Ignacio Accogli Director del Portal www.e-ntelequia.com E-mail: ignacio@e-ntelequia.com La educación moderna se ha visto favorecida en los últimos años con la aparición

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Guía de los cursos. Equipo docente:

Guía de los cursos. Equipo docente: Guía de los cursos Equipo docente: Dra. Bertha Patricia Legorreta Cortés Dr. Eduardo Habacúc López Acevedo Introducción Las organizaciones internacionales, las administraciones públicas y privadas así

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

CAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos

CAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos 65 CAPITULO 3 DISEÑO 3.1. DISEÑO El diseño del software es el proceso que permite traducir los requisitos analizados de un sistema en una representación del software. 66 Diseño procedural Diseño de la

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

Más detalles

Sistema de Información Integrada del Área Social

Sistema de Información Integrada del Área Social Sistema de Información Integrada del Área Social Resumen de Requerimientos Técnicos 22 de Diciembre de 2008 Página 1 de 5 Contenido 1 Generalidades... 3 2 Alcance y objetivos... 4 3 Arquitectura de referencia

Más detalles

Sistemas Operativos Windows 2000

Sistemas Operativos Windows 2000 Sistemas Operativos Contenido Descripción general 1 Funciones del sistema operativo 2 Características de 3 Versiones de 6 Sistemas Operativos i Notas para el instructor Este módulo proporciona a los estudiantes

Más detalles

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN GESTIÓN DE PROYECTOS CON PLANNER AVC APOYO VIRTUAL PARA EL CONOCIMIENTO GESTIÓN DE PROYECTOS CON PLANNER Planner es una poderosa herramienta de software

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

GENERALIDADES DE BASES DE DATOS

GENERALIDADES DE BASES DE DATOS GENERALIDADES DE BASES DE DATOS A fin de evitar que idénticos datos se encuentren repetidos en múltiples archivos, parece necesario que los comunes se almacenen en un archivo único y que este archivo sea

Más detalles

IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA

IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA V REUNIÓN DE AUDITORES INTERNOS DE BANCA CENTRAL 8 AL 11 DE NOVIEMBRE DE 1999 LIMA - PERÚ IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA Claudio Urrutia Cea Jefe de Auditoría BANCO CENTRAL DE CHILE

Más detalles

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales

VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS. Estructura de Cargos y Competencias Institucionales VICERRECTORÍA DE ADMINISTRACIÓN Y ASUNTOS ECONÓMICOS DIRECCIÓN DE DESARROLLO DE PERSONAS Estructura de Cargos y Competencias Institucionales Campus San Juan Pablo II Presentación La Universidad Católica

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000 1 INTRODUCCIÓN Dos de los objetivos más importantes en la revisión de la serie de normas ISO 9000 han sido: desarrollar un grupo simple de normas que sean igualmente aplicables a las pequeñas, a las medianas

Más detalles

Emprendiendo negocios juntos

Emprendiendo negocios juntos Emprendiendo negocios juntos Definiendo Cloud Computing Un modelo que permite de manera muy sencilla el acceso a una red de recursos informáticos, los cuales con poco esfuerzo son configurables por el

Más detalles

E-PROCUREMENT PARA FACILITAR LA INTEGRACIÓN EN LA SUPPLY CHAIN

E-PROCUREMENT PARA FACILITAR LA INTEGRACIÓN EN LA SUPPLY CHAIN E-PROCUREMENT PARA FACILITAR LA INTEGRACIÓN EN LA SUPPLY CHAIN Con cada vez mayores presiones de la competencia, cada vez más las empresas utilizan las adquisiciones electrónicas (eprocurement) en un intento

Más detalles

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con

Más detalles

Sistema de SaaS (Software as a Service) para centros educativos

Sistema de SaaS (Software as a Service) para centros educativos Sistema de SaaS (Software as a Service) para centros educativos Definiciones preliminares: Qué es SaaS? SaaS (1) es un modelo de distribución del software que permite a los usuarios el acceso al mismo

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

GESTIÓN DE COMPETENCIAS CLAVE EN LAS ORGANIZACIONES DEL TERCER SECTOR

GESTIÓN DE COMPETENCIAS CLAVE EN LAS ORGANIZACIONES DEL TERCER SECTOR Presentación EL PUNTO DE PARTIDA DE LA PUBLICACIÓN El seminario de Competencias clave en las organizaciones del tercer sector social Su objetivo era: identificar competencias clave de las organizaciones

Más detalles

CAPITULO I EL PROBLEMA

CAPITULO I EL PROBLEMA CAPITULO I EL PROBLEMA CAPITULO I El PROBLEMA Este capítulo refleja todo lo referente a la descripción dela problemática existente, definido en forma concreta y explicita a través del planteamiento del

Más detalles

Análisis de aplicación: Virtual Machine Manager

Análisis de aplicación: Virtual Machine Manager Análisis de aplicación: Virtual Machine Manager Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

http://www.statum.biz http://www.statum.info http://www.statum.org

http://www.statum.biz http://www.statum.info http://www.statum.org ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia Manuel.Cabanelas@statum.biz http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A

Más detalles

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades A veces me preguntan acerca de las diferencias entre muchos tipos de servicios de hospedaje web, y pensé que traería muchos

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52) LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52) LENGUAJES DE PROGRAMACIÓN WEB (PHP, HTML5) 1 Sesión No. 1 Nombre: Arquitectura Objetivo: Conocer cómo funciona y se planifica una aplicación web Contextualización

Más detalles

El gasto total elegible de la BBPP, Centro de Supercomputación es de 3.172.033,11. La ayuda FEDER, es el 80%, 2.537.626,48

El gasto total elegible de la BBPP, Centro de Supercomputación es de 3.172.033,11. La ayuda FEDER, es el 80%, 2.537.626,48 Otra buena práctica de actuación cofinanciada es la presentada por la Dirección General de Telecomunicaciones de la Junta de Castilla y León consistente en las actuaciones realizadas en la Fundación Centro

Más detalles

INTERNET Y WEB (4º ESO)

INTERNET Y WEB (4º ESO) INTERNET Y WEB (4º ESO) 1. CLASIFICACIÓN DE LAS REDES Internet se define comúnmente como la Red de redes, o la Red global. En cualquier caso, puede considerarse como la unión de entidades más pequeñas

Más detalles

Sistemas de información

Sistemas de información Sistemas de información Es un conjunto integrado de componentes que almacenan, recolectan y procesan datos, para la entrega de la información, el conocimiento y los productos digitales. Las empresas comerciales

Más detalles

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa Código del programa: PEMDE Programa Experto en MANEJO DE DATOS CON EXCEL Modalidad: Virtual Descripción del programa 1 Presentación del programa Justificación Microsoft Excel es la herramienta de manejo

Más detalles

Guía de Apoyo Project Professional

Guía de Apoyo Project Professional Guía de Apoyo Project Professional Contenido INTRODUCCIÓN... 3 CAPITULO I: ELEMENTOS INICIALES DE PROJECT PROFESSIONAL... 4 Descripción de Entorno de trabajo... 4 Opciones de personalización de Project

Más detalles