Browsing by Subject "Interfaces"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
- PublicationOpen AccessMejora de la calidad del software y de la experiencia del usuario a través de las interfaces humano-máquina(2014-09-12) Mateo Navarro, Pedro Luis; Martínez Pérez, Gregorio; Sevilla Ruiz, Diego; Facultad de InformáticaEsta tesis doctoral plantea dos enfoques diferentes para conseguir la calidad del software a través del análisis de la interacción usuario-sistema. Bloque 1: Por una parte se evalúa la calidad de los componentes de la interacción (i.e., entrada y salida) por separado. Los métodos que siguen este enfoque pueden centrar todo su potencial en conseguir la calidad de uno de los componentes de la interacción, y como consecuencia mejorar la calidad general del software. Bloque 2: Por otra parte evaluamos la calidad de la interacción como un todo. Los métodos que siguen este enfoque se centran en conseguir la calidad de todo el proceso, y no de las partes que lo componen, manteniendo así la “totalidad” del proceso de interacción, lo que nos permite analizar las relaciones causa-efecto que se producen entre las acciones del usuario y las del sistema. Al hilo de estos dos enfoques, esta tesis doctoral plantea cuatro grandes objetivos de investigación divididos en estos dos bloques. El Objetivo G1.1 busca un framework de pruebas que permita el desarrollo de herramientas para validar la respuesta de un software, que permita la automatización de aquellas pruebas GUI que normalmente son realizadas a mano y permitir la simulación de las acciones de un experto humano, implementando así un proceso de pruebas real, fiable y robusto. También se busca facilitar la integración de estas herramientas en desarrollos de diferentes tipos. Como solución se propone OHT, una arquitectura abierta y adaptable para el desarrollo de herramientas de pruebas GUI y que puede ser adaptada a diferentes entornos de ejecución. El Objetivo G1.2 busca una alternativa ligera y de fácil integración para validar las entradas proporcionadas por los usuarios en una GUI. Esos datos deben ajustarse a unos requisitos, los cuales deberían poder ser escritos en diferentes lenguajes de especificación dependiendo de las necesidades de cada proyecto. El proceso de verificación debe ser interactivo para facilitar el trabajo de los desarrolladores durante el desarrollo del software, así como la interacción de los usuarios durante su uso. Como solución se propone S-DAVER, un framework de verificación en tiempo real que permite verificar las entradas al mismo tiempo que el usuario utiliza la aplicación. El Objetivo G2.1 busca una forma de describir la interacción multimodal entre el usuario y el sistema para permitir su instrumentación y evaluación. Esta descripción tiene que ser genérica y debe permitir la comparación entre diferentes registros independientemente del contexto en el que fueron obtenidos. También se debería conservar la naturaleza dinámica del proceso de interacción. Como solución se presenta PALADIN, un modelo runtime que engloba parámetros destinados a describir qué ocurre en el proceso de interacción y así permitir la evaluación de la usabilidad del sistema. El Objetivo G2.2 busca permitir la evaluación de las experiencias de los usuarios (QoE) en entornos móviles. Por una parte debe proporcionarse una forma genérica de describir el contexto que rodea a los usuarios y al sistema. Por otra parte es necesario capturar los juicios subjetivos de los usuarios sobre el proceso de interacción. Se busca un criterio común para evaluar la QoE de los usuarios. Como solución se presenta CARIM, un modelo runtime que describe la interacción usuario-sistema, el contexto en el que ésta se produce y la percepción de calidad de los usuarios. Las herramientas y modelos desarrollados en esta tesis doctoral han sido integrados en los procesos internos de SAES (la empresas de desarrollo software con la que colaboramos) así como en diferentes experimentos con usuarios reales, demostrando por tanto que estos métodos están en la vanguardia de la investigación científica y están preparados para ser aplicados en la industria. This PhD thesis addresses two different approaches to achieve quality of a software through the analysis of user-system interaction. Block 1: On the one hand, the quality of the different components of interaction (i.e., input, output, and context) can be achieved separately. The main advantage of this approach is that proposed tools and methods can focus their efforts on achieving the quality of a single component of interaction and, as a consequence, the quality of the entire software is enhanced. Block 2: On the other hand, interaction can be assessed as a whole, as a single flow of actions from the user to the system and vice versa. In this approach the main advantage is that methods try to achieve the quality of the "whole thing" and not of the parts compounding it. This approach keeps the totality of the interaction process and enables the analysis of those cause-effect relationships between the actions of the user and the system. Four main research goals are outlined and structured into the two aforementioned blocks. Goal 1.1 suggests to find a framework to support the development of testing tools aimed at validating the software response. It involves supporting the automation of GUI testing processes that are often performed manually, as well as allowing the simulation of a human tester to implement testing in a real, reliable, and robust context. Ease the integration of these tools into applications of a different nature was a goal as well. This PhD thesis proposes OHT. The OHT (Open HMI Tester) framework provides an open and adaptable architecture for the development of GUI testing tools. Goal 1.2 aims at finding a lightweight and easy-to-integrate solution for implementing input data verification processes into GUI developments. The user input must be valid and conform to the data requirements, which should be written using a verification language chosen by the developers. This solution should be interactive to ease the work of developers, testers, and users during the whole life-cycle of a software. This PhD thesis proposes S-DAVER (Script-based DAta VERification), a runtime verification framework that validates input data while the user is interacting with the software. Goal 2.1 suggests to find a generic description of multimodal interaction to support its instrumentation and assessment. This description has to capture the dynamic nature of the interaction between the user and the system. Furthermore, the comparison between different interaction records should be allowed, regardless of the execution context from which they were previously recorded. This thesis proposes PALADIN (Practice-oriented Analysis and Description of Multimodal Interaction), a runtime model arranging a set of parameters which are used to quantify the interaction between the user and the system in multimodal systems. Goal 2.2 aims at providing a framework to support the assessment of user experiences in mobile scenarios. Such a framework has to include a generic and dynamic description of the surrounding context of interaction, as well as a set of metrics to capture users impressions about interaction. As a result, this framework should provide unified criteria for the assessment of systems usability and QoE in different mobile and non-mobile scenarios. This thesis proposes CARIM. CARIM (Context-Aware and Ratings Interaction Model) is a runtime model describing the interaction between the user and the system, its context, and the perceived quality of users. The tools and models designed and implemented in this PhD thesis have been used for practical applications within SAES (the software company with which we colaborate) as well as in different experiments conducted with real users, thus demonstrating that the proposed methods are at the forefront of scientific research and ready for industrial application.
- PublicationOpen AccessModernización dirigida o modelos de interfaces gráficas de usuario(2015-01-16) Sánchez Ramón, Óscar; García Molina, Jesús J.; Sánchez Cuadrado, Jesús; Facultad de InformáticaSon numerosas las empresas que se enfrentan actualmente a la modernización de los sistemas heredados (legacy systems) que fueron desarrollados con entornos RAD (Rapid Application Development), con el objetivo de beneficiarse de las nuevas plataformas y tecnologías. Como parte de estos sistemas, las interfaces gráficas de usuario (GUIs, Graphical User Interfaces) son una parte importante, dado que es lo que los usuarios ven y manipulan. En las modernizaciones de GUIs de aplicaciones creadas con entornos RAD los desarrolladores deben tratar con dos problemas no triviales. El primero consiste en que el layout de la GUI (esto es, la organización espacial de los controles en las ventanas de la aplicación), se define implícitamente por las coordenadas que definen las posiciones de los controles. Sin embargo, para sacar provecho de las características que ofrecen las tecnologías actuales de GUIs se hace necesario un modelo de layout explícito de alto nivel. El segundo problema es que los desarrolladores tienen que tratar con el código de los manejadores de eventos que con frecuencia mezclan diferentes aspectos la aplicación, como la presentación y la lógica de negocio. Además, afrontar la migración de la GUI de un sistema heredado, esto es, programar de nuevo la interfaz es costoso para las empresas. Esta tesis pretende abordar estos problemas por medio de una arquitectura de Desarrollo de Software Dirigido por Modelos (DSDM) que automatice la migración de la interfaz de de aplicaciones creadas con entornos RAD. Para tratar con el primer problema proponemos un enfoque que descubre el layout que está implícito en las coordenadas de los controles. La idea subyacente consiste en trasladar el sistema de posicionamiento basado en coordenadas a una representación basada en relaciones entre controles, y entonces usar esta representación para inferir el layout en términos de gestores de layout (layout managers). Hemos desarrollado dos versiones de este enfoque: una solución voraz y otra más sofisticada basada en un algoritmo exploratorio. Con el objeto de tratar con el segundo problema hemos creado un enfoque de ingeniería inversa que analiza los manejadores de eventos de las aplicaciones creadas con entornos RAD. En nuestra solución, el código de los manejadores de eventos se transforma en una representación intermedia que captura el comportamiento de alto nivel del código. Esta representación facilita la separación de aspectos. En particular nos ha permitido separar los aspectos arquitecturales del código original e identificar las interacciones existentes entre los controles. Todos los modelos generados en el proceso de ingeniería inversa se han integrado en un modelo de Interfaz de Usuario Concreta que representa los diferentes aspectos que abarca una GUI. Tanto las dos propuestas de inferencia del layout como el análisis de los manejadores de eventos han sido testeados con aplicaciones reales que fueron desarrolladas en Oracle Forms. La versión del algoritmo de inferencia exploratorio fue adicionalmente testeada con esbozos (wireframes) de la interfaz, lo que demuestra la utilidad de la solución de inferencia del layout en escenarios distintos a la migración. ABSTRACT Businesses are more and more modernising the legacy systems they developed with Rapid Application Development (RAD) environments, so that they can benefit from new platforms and technologies. As a part of these systems, Graphical User Interfaces (GUIs) pose an important concern, since they are what users actually see and manipulate. When facing the modernization of GUIs of applications developed with RAD environments, developers must deal with two non-trivial issues. The first issue is that the GUI layout is implicitly provided by the position of the GUI elements (i.e. coordinates). However, taking advantage of current features of GUI technologies often requires an explicit, high-level layout model. The second issue is that developers must deal with event handling code that typically mixes concerns such as GUI and business logic. In addition, tackling a manual migration of the GUI of a legacy system, i.e., re-programming the GUI, is time-consuming and costly for businesses. This thesis is intended to address these issues by means of an MDE architecture that automates the migration of the GUI of applications created with RAD environments. To deal with the first issue we propose an approach to discover the layout that is implicit in widget coordinates. The underlying idea is to move from a coordinate-based positioning system to a representation based on relative positions among widgets, and then use this representation to infer the layout in terms of layout managers. Two versions of this approach has been developed: a greedy solution and a more sophisticated solution based on an exploratory algorithm. To deal with the second issue we have devised a reverse engineering approach to analyse event handlers of RAD-based applications. In our solution, event handling code is transformed into an intermediate representation that captures the high-level behaviour of the code. From this representation, separation of concerns is facilitated. Particularly it has allowed us to achieve the separation of architectural concerns from the original code, and the identification of interactions among widgets. All the generated models in the reverse engineering process have been integrated into a Concrete User Interface (CUI) model that represents the different aspects that are embraced by a GUI. The two layout inference proposals and the event handler analysis have been tested with real applications that were developed in Oracle Forms. The exploratory version of the layout inference approach was in addition tested with wireframes, which pose a different context in which the layout inference problem is also useful.