Sistema De Evaluación De La Calidad De Los Componentes Web Centrado En El Usuarios Final

Total Page:16

File Type:pdf, Size:1020Kb

Sistema De Evaluación De La Calidad De Los Componentes Web Centrado En El Usuarios Final Máster Universitario en Ingeniería Informática Universidad Politécnica de Madrid Escuela Técnica Superior de Ingenieros Informáticos TRABAJO FIN DE MÁSTER SISTEMA DE EVALUACIÓN DE LA CALIDAD DE LOS COMPONENTES WEB CENTRADO EN LOS USUARIOS FINALES Autor: Miguel Ortega Moreno Director: Genoveva López Gómez MADRID, JUNIO 2018 Agradecimientos Gracias a David y Genoveva por darme la oportunidad de trabajar con ellos y guiarme a lo largo de este tiempo. A mis compañeros del grupo de trabajo que en cierto modo forman parte de todo el proceso llevado a cabo. A amigos y compañeros de viaje en esta etapa, por conseguir que los días de estudio se convirtieran en momento para el recuerdo. A Sandra por acompañarme de la mano en los buenos y malos momentos. Y en especial a mi familia por enseñarme que todo objetivo se puede conseguir con esfuerzo y sacrificio. Gracias. Contenido Introducción y Objetivos............................................................................................................ 1 1.1 Contexto del proyecto.................................................................................................. 2 1.2 Objetivos...................................................................................................................... 2 Estado de la cuestión.................................................................................................................. 5 2.1 Web Components......................................................................................................... 5 2.1.1 Shadow DOM....................................................................................................... 7 2.1.2 Template ............................................................................................................... 8 2.1.3 Imports ................................................................................................................. 8 2.1.4 Custom Elements................................................................................................ 10 2.1.5 Frameworks........................................................................................................ 12 2.2 Estándares de calidad web tradicionales ................................................................... 17 2.2.1 ISO/IEC 9126..................................................................................................... 18 2.2.2 ISO/IEC 25010................................................................................................... 20 2.2.3 Web Quality Model (WQM) .............................................................................. 23 2.3 Guías y herramientas para el desarrollo software...................................................... 24 2.3.1 WCAG................................................................................................................ 24 2.3.2 A11Y .................................................................................................................. 25 2.3.3 Escomplex .......................................................................................................... 26 Automatización de la medición de calidad .............................................................................. 29 3.1 Estudio de métricas asociadas a los Web Components ............................................. 30 3.2 Desarrollo de componentes ....................................................................................... 42 3.2.1 Versionado de los componentes ......................................................................... 53 3.3 Implementación de la plataforma de integración ...................................................... 55 3.3.1 Estructura de la plataforma ................................................................................ 56 3.4 Servicio automático de gestión de escenarios ........................................................... 63 3.5 Herramientas para la medición de calidad................................................................. 67 3.6 Modelo predictivo de la calidad ................................................................................ 71 Resultados ................................................................................................................................ 75 4.1 Descripción de la muestra de estudio ........................................................................ 75 4.2 Resultados del análisis de las opiniones de los usuarios ........................................... 76 Conclusiones y Líneas Futuras................................................................................................. 87 5.1 Conclusiones.............................................................................................................. 87 5.2 Líneas Futuras............................................................................................................ 88 Bilbliografía ............................................................................................................................. 91 Anexo ....................................................................................................................................... 95 I. Guion empleado de las entrevistas ................................................................................ 95 II. Mapa jerárquico de las métricas ................................................................................ 96 III. Categorías de la métrica de accesibilidad.................................................................. 96 IV. Preguntas realizadas a los usuarios sobre los componentes ...................................... 97 V. Estudio estadístico de la descripción de los datos......................................................... 98 i Índice de Figuras Figura 1. Estructura de shadow DOM........................................................................................ 7 Figura 2. Mapa de links de un documento HTML..................................................................... 9 Figura 3. Compatibilidad de Polymer[12].................................................................................. 12 Figura 4. Estructura de una aplicación de Angular 2[20] ........................................................... 16 Figura 5. Estructura de la ISO 9126......................................................................................... 19 Figura 6. Estructura de la ISO 25010[27] .................................................................................. 20 Figura 7. Cubo de las dimensiones del WQM.......................................................................... 23 Figura 8. Gráfico de referencias a las métricas por los expertos.............................................. 32 Figura 9. Soporte de los navegadores a custom elements[44].................................................... 41 Figura 10. Estilo del componente (izquierda) vs estilo de la aplicación (derecha).................. 43 Figura 11. Flujo de peticiones del componente de Google+.................................................... 44 Figura 12. Componente desarrollado (izquierda). Post en Facebook (derecha) ...................... 45 Figura 13. Flujo de peticiones del component de Twitter ........................................................ 47 Figura 14. Componente desarrollado (izquierda). Estilo de la página de Twitter (derecha).... 47 Figura 15. Componente de Finanzas ........................................................................................ 48 Figura 16. Componente para buscar empresas en bolsa........................................................... 48 Figura 17. Flujo de peticiones del componente de Finanzas.................................................... 49 Figura 18. Componente de Tráfico........................................................................................... 50 Figura 19. Flujo de peticiones del componente de tráfico ....................................................... 50 Figura 20. Componente de tiempo ........................................................................................... 51 Figura 21. Componente de Reddit (izquierda). Web de Reddit (derecha) ............................... 52 Figura 22. Flujo de peticiones del componente de Reddit ....................................................... 52 Figura 23. Estructura de la aplicación de lado cliente.............................................................. 57 Figura 24. Arquitectura del back-end....................................................................................... 63 Figura 25. Página HTLM con elresumen de los valores obtenidos ......................................... 71 Figura 26. Distribución del cross-validation con k igual a 5 ................................................... 73 Figura 27. Regresión lineal (rojo), regresión polinomial de grado 2 (azul) y 3 (amarillo)...... 74 Figura 28. Histograma de los atributos de los datos ................................................................ 77 Figura 29. Gráfico de dispersión de los datos e histograma (diagonal) ................................... 78 iii Índice de Tablas Tabla 1. Evalaluación de los riegos según el nivel de complejidad ......................................... 35 Tabla 2. Mapa de equivalencias entre normas de WCAG y A11Y .......................................... 68 Tabla 3. Tabla de correlación con la variable Reputation ........................................................ 78 Tabla 4. Ecuación general de la regresión lineal.....................................................................
Recommended publications
  • Detecting and Exploiting Misexposed Components of Android Applications
    POLITECNICO DI TORINO Corso di Laurea in Ingegneria Informatica Tesi di Laurea Magistrale Detecting and exploiting misexposed components of Android applications Relatori prof. Antonio Lioy prof. Ugo Buy Francesco Pinci December 2018 To my parents, my sister, and my relatives, who have been my supporters throughout my entire journey, always believing in me, and providing me with continous encouragement. This accomplishment would not have been possible without them. Thank you. Summary Smartphones and tablets have become an essential element in our everyday lives. Everyone use these devices to send messages, make phone calls, make payments, manage appointments and surf the web. All these use cases imply that they have access to and collect user sensitive information at every moment. This has attracted the attention of attackers, who started targetting them. The attraction is demon- strated by the continuous increase in the sophistication and number of malware that has mobile devices as the target [1][2]. The Android project is an open-source software which can be downloaded and studied by anyone. Its openness has allowed, during the years, an intensive in- spection and testing by developers and researches. This led Google to constantly updating its product with new functionalities as well as with bug fixes. Various types of attacks have targetted the Android software but all of them have been mitigated with the introduction of new security mechanisms and extra prevention methods. Starting from September 2018, 16 major versions of the OS have been realized, reducing incredibly the attack surface exposed by the system. The application ecosystem developed by the Android project is a key factor for the incredible popularity of the mobile devices manufactured and sold with the OS.
    [Show full text]
  • Realizing Elastic Design Principles for User Exploration in Bayesian Analysis
    Realizing Elastic Design Principles for User Exploration in Bayesian Analysis Master’s Thesis submitted to the Media Computing Group Prof. Dr. Jan Borchers Computer Science Department RWTH Aachen University by Devashish Jasani Thesis advisor: Prof. Dr. Jan Borchers Second examiner: Dr. Matthias Kaiser, SAP SE Registration date: 01.07.2016 Submission date: 13.02.2017 Eidesstattliche Versicherung ___________________________ ___________________________ Name, Vorname Matrikelnummer Ich versichere hiermit an Eides Statt, dass ich die vorliegende Arbeit/Bachelorarbeit/ Masterarbeit* mit dem Titel __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ selbständig und ohne unzulässige fremde Hilfe erbracht habe. Ich habe keine anderen als die angegebenen Quellen und Hilfsmittel benutzt. Für den Fall, dass die Arbeit zusätzlich auf einem Datenträger eingereicht wird, erkläre ich, dass die schriftliche und die elektronische Form vollständig übereinstimmen. Die Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. ___________________________ ___________________________ Ort, Datum Unterschrift *Nichtzutreffendes bitte streichen Belehrung: § 156 StGB: Falsche Versicherung an Eides Statt Wer vor einer zur Abnahme einer Versicherung an Eides Statt zuständigen Behörde eine solche Versicherung falsch abgibt oder unter Berufung auf eine solche Versicherung
    [Show full text]
  • Liquid Web Applications
    Liquid Web Applications Design and Implementation of the Decentralized Cross-Device Web Doctoral Dissertation submitted to the Faculty of Informatics of the Università della Svizzera Italiana in partial fulfillment of the requirements for the degree of Doctor of Philosophy presented by Andrea Gallidabino under the supervision of Prof. Cesare Pautasso June 2020 Dissertation Committee Prof. Maristella Matera Politecnico di Milano, Italy Prof. Tommi Mikkonen University of Helsinki, Finland Prof. Marc Langheinrich Università della Svizzera italiana, Lugano, Switzerland Prof. Michele Lanza Università della Svizzera italiana, Lugano, Switzerland Dissertation accepted on 25 June 2020 Research Advisor PhD Program Director Prof. Cesare Pautasso Prof. Dr. Walter Binder, Prof. Dr. Silvia Santini i I certify that except where due acknowledgement has been given, the work presented in this thesis is that of the author alone; the work has not been submit- ted previously, in whole or in part, to qualify for any other academic award; and the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program. Andrea Gallidabino Lugano, 25 June 2020 ii Learn this lesson, that to be self-contented is to be vile and ignorant, and to aspire is better than to be blindly and impotently happy. Edwin A. Abbott iii iv Abstract Web applications are traditionally designed having in mind a server-centric ar- chitecture, whereby the whole persistent data, dynamic state and logic of the application are stored and running on a Web server. The clients running in the Web browsers traditionally render only pre-computed views fetched from the server.
    [Show full text]
  • Building the Polargrid Portal Using Web 2.0 and Opensocial
    Building the PolarGrid Portal Using Web 2.0 and OpenSocial Zhenhua Guo, Raminderjeet Singh, Marlon Pierce Community Grids Laboratory, Pervasive Technology Institute Indiana University, Bloomington 2719 East 10th Street, Bloomington, Indiana 47408 {zhguo, ramifnu, marpierc}@indiana.edu ABSTRACT service gateway are still useful, it is time to revisit some of the Science requires collaboration. In this paper, we investigate the software and standards used to actually build gateways. Two feasibility of coupling current social networking techniques to important candidates are the Google Gadget component model science gateways to provide a scientific collaboration model. We and the REST service development style for building gateways. are particularly interested in the integration of local and third Gadgets are attractive for three reasons. First, they are much party services, since we believe the latter provide more long-term easier to write than portlets and are to some degree framework- sustainability than gateway-provided service instances alone. Our agnostic. Second, they can be integrated into both iGoogle prototype use case for this study is the PolarGrid portal, in which (Google’s Start Page portal) and user-developed containers. we combine typical science portal functionality with widely used Finally, gadgets are actually a subset of the OpenSocial collaboration tools. Our goal is to determine the feasibility of specification [5], which enables developers to provide social rapidly developing a collaborative science gateway that networking capabilities. Standardization is useful but more incorporates third-party collaborative services with more typical importantly one can plug directly into pre-existing social networks science gateway capabilities. We specifically investigate Google with millions of users without trying to establish a new network Gadget, OpenSocial, and related standards.
    [Show full text]
  • On the Security of Single Sign-On
    On the Security of Single Sign-On Vladislav Mladenov (Place of birth: Pleven/Bulgaria) [email protected] 30th June 2017 Ruhr-University Bochum Horst G¨ortz Institute for IT-Security Chair for Network and Data Security Dissertation zur Erlangung des Grades eines Doktor-Ingenieurs der Fakult¨atf¨urElektrotechnik und Informationstechnik an der Ruhr-Universit¨atBochum First Supervisor: Prof. Dr. rer. nat. J¨org Schwenk Second Supervisor: Prof. Dr.-Ing. Felix Freiling www.nds.rub.de Abstract Single Sign-On (SSO) is a concept of delegated authentication, where an End- User authenticates only once at a central entity called Identity Provider (IdP) and afterwards logs in at multiple Service Providers (SPs) without reauthenti- cation. For this purpose, the IdP issues an authentication token, which is sent to the SP and must be verified. There exist different SSO protocols, which are implemented as open source libraries or integrated in commercial products. Google, Facebook, Microsoft and PayPal belong to the most popular SSO IdPs. This thesis provides a comprehensive security evaluation of the most popular and widely deployed SSO protocols: OpenID Connect, OpenID, and SAML. A starting point for this research is the development of a new concept called malicious IdP, where a maliciously acting IdP is used to attack SSO. Generic attack classes are developed and categorized according to the requirements, goals, and impact. These attack classes are adapted to different SSO proto- cols, which lead to the discovery of security critical vulnerabilities in Software- as-a-Service Cloud Providers, eCommerce products, web-based news portals, Content-Management systems, and open source implementations.
    [Show full text]
  • The Android Platform Security Model∗
    The Android Platform Security Model∗ RENÉ MAYRHOFER, Google and Johannes Kepler University Linz JEFFREY VANDER STOEP, Google CHAD BRUBAKER, Google NICK KRALEVICH, Google Android is the most widely deployed end-user focused operating system. With its growing set of use cases encompassing communication, navigation, media consumption, entertainment, finance, health, and access to sensors, actuators, cameras, or microphones, its underlying security model needs to address a host of practical threats in a wide variety of scenarios while being useful to non-security experts. The model needs to strike a difficult balance between security, privacy, and usability for end users, assurances for app developers, and system performance under tight hardware constraints. While many of the underlying design principles have implicitly informed the overall system architecture, access control mechanisms, and mitigation techniques, the Android security model has previously not been formally published. This paper aims to both document the abstract model and discuss its implications. Based on a definition of the threat model and Android ecosystem context in which it operates, we analyze how the different security measures in past and current Android implementations work together to mitigate these threats. There are some special cases in applying the security model, and we discuss such deliberate deviations from the abstract model. CCS Concepts: • Security and privacy → Software and application security; Domain-specific security and privacy architectures; Operating systems security; • Human-centered computing → Ubiquitous and mobile devices. Additional Key Words and Phrases: Android, security, operating system, informal model 1 INTRODUCTION Android is, at the time of this writing, the most widely deployed end-user operating system.
    [Show full text]
  • Preview Polymer Tutorial (PDF Version)
    Polymer About the Tutorial Polymer.js is a JavaScript library created by Google that allows reusing the HTML elements for building applications with components. This tutorial covers most of the topics required for a basic understanding of Polymer.js and to get a feel of how it works. Audience This tutorial is designed for software programmers who want to learn the basics of Polymer.js and its programming concepts in a simple and easy way. This tutorial will give you enough understanding on the components of Polymer.js with suitable examples. Prerequisites Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, Document Object Model (DOM) and any text editor. As we are going to develop web-based application using Polymer.js, it will be good the readers have understanding on how internet and web-based applications work. Copyright & Disclaimer Copyright 2017 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i Polymer Table of Contents About the Tutorial ...................................................................................................................................
    [Show full text]
  • Building Ionic Apps
    4-6 JUNE, 2019 | WARSAW AUGUST 13-14, 2019 | SYDNEY AUGUST 20-21, 2019 | SINGAPORE Gain an intelligent edge in Enterprise IT and software development OCTOBER 1-2, 2019 | LAS VEGAS SAVE THE DATES DEVTALK - What’s New for Android ‘O’ and the impact on Zebra developers Darryn Campbell, Software Architect, Zebra Technologies 17th October 2018 DevTalk Agenda • Brief overview of GMS Restricted • A feature exclusive to Zebra devices introduced in Android Oreo for SD660 based devices • Changes in Android Oreo affecting enterprise Developers What is GMS Restricted? • Restricted? How?: • “Restricts” the capabilities of the device, no GMS apps available • “Restricts” the device from communicating with Google, potentially enhancing privacy • All GMS Applications disabled (e.g. Play Store, Chrome, GMail, Maps etc) • Alternative / 3rd party applications used. • AOSP equivalent app for keyboard automatically switched to. • All GMS services disabled • Automatic opt-out of Google analytics data collection & location services • Doze mode is disabled (to match AOSP behavior) • NO data leaves the device from GMS apps & services or the platform Demo: Putting a device into a Restricted State Before After Changes in Oreo affecting enterprise developers Overview – Trends over time Running in Job Scheduler Doze mode Doze “on the go” Background Machine learning the restrictions for intelligent background restrictions Notifications Quick settings Long press to Direct reply & Notification Enhanced & notification access options bundled channels & messaging shade
    [Show full text]
  • Market Reconstruction 2.0: Visualization at Scale
    Market Reconstruction 2.0: Visualization at Scale Neil Palmer, Justine Chen, Sam Sinha, Filipe Araujo, Michael Grinthal, Fawad Rafi - FIS {neil.palmer; justine.chen; sam.sinha; filipe.araujo; michael.grinthal; fawad.rafi}@fisglobal.com Abstract This paper describes the front-end architecture for a large-scale securities transaction surveillance and forensics platform capable of supporting the ingestion, linkage and analysis of granular U.S. equity and equity options market events spanning multi-year periods. One component of this platform is a regulatory user interface (UI) that facilitates the navigation and visualization of the entire universe of U.S. market events, expected to grow to a size of 35 petabytes (PB) in seven years. Various aspects of the front end’s construction, architectural design and UI and user experience (UX) approaches are detailed, including the key benefits and drawbacks of the chosen architecture and technology stack. 1 Introduction FISTM developed the Market Reconstruction Platform (MRP)1 using Google Cloud Dataflow and Google Cloud Bigtable as tools in processing and indexing highly granular market data events, ultimately publishing the results into a Google BigQuery dataset for visualization and analytics.2 This last step afforded the UI team an opportunity to design an interface with analytical capabilities that will allow the audience of the platform to visualize the correlation of nearly 35 PB of U.S. equity and equity options data. Visualization of this dataset is effectively the last mile – the culmination point of vigorous number crunching by 3,500 nodes in Google’s Cloud, all working together to link disparate events to the order of billions.3 Ultimately, here is where the responsibility lies in providing regulators access to an ocean of trade data in a manner that is simple, intuitive and responsive.
    [Show full text]
  • Polymer Web Development Duration: 3 Days Price: € 1750
    www.spiraltrain.nl Polymer Web Development Duration: 3 days Price: € 1750 Audience Polymer Web Development The course Polymer Web Development is intended for Web Developers Open Schedule who want to use the newest version of the Polymer JavaScript Framework in developing elements for modern single-page Web Applications. Prerequisites Course Polymer Web Development A good knowledge of JavaScript and JavaScript programming experience and is required to participate in the Polymer Web Development course. Realization Training Polymer Web Development The theory is treated on the basis of presentations. The concepts are illustrated with demos. The theory is interspersed with exercises. The course times are from 9.30 to 16.30. Certification Polymer Web Development The participants receive an official certificate Polymer Web Development after successful completion of the course. Content Course Polymer Web Development In the course Polymer Web Development participants learn to use the Polymer JavaScript Framework when developing modern single page Web Applications. Web Components Polymer is an open source JavaScript library for building web applications based on Web Components. Modern design principles are implemented in a separate Material Design project. Polymer Fundamentals Polymer is not a complete framework for building web applications such as Angular, but instead emphasizes reusable Web Components. Polymer Core Library While Angular has APIs for things like services, routing and server communication, Polymer offers these things as Web Components in the core library. These Web Components are not bound to Polymer but can be used like lego blocks in other web application frameworks. Shadow en Shady DOM The course starts with the installation of Polymer and with an intro about the fundamental concepts that play a role in Web Component specifications such as HTML Templates, HTMLImports, Shadow and Shady DOM.
    [Show full text]
  • Autocomplete with Api Request Android
    Autocomplete With Api Request Android unquietedPiled and forkedWalden Micah usually stuck deterring her septarium his stanchers screaks annexes woken blamefullyand necessitates or dabbed clean. remittently Is Shaw andmammonistic dutifully, how when disinterested Arne gimme is salaciously?Stanley? If autoplastic or The first step for this section of the tutorial is to retrieve the dependencies for Room as well as Lifecycle extensions. That request with autocomplete on how does not supported through it via google places of information about! Customizable vector maps autocomplete request for android app remains one. Get API Key name Android-GoogleCloud Application restrictions Android apps Restrict herself to your Android apps Add Item Package Name. In with api request? Google places api example javascript Fitness Plus. The feature is enabled by default. Jsonplaceholder is not want it gives us know its child views should enhance this request with autocomplete api. Google also started to require all API calls to use a valid API key, which has to be linked to a Google Cloud Platform account. Chrome also ensures that chain and android! Click name to glass the alternate site. Google places autocomplete swift github Welcome to distribute site. Please upgrade your request with many local business insider tells google developer may be requested during transit and view and. Google Chrome Privacy Whitepaper. Did you request with autocomplete requests and device variable instead of apis and in a new session will roll out as password and selection. See obtaining google autocomplete requests or android oreo devices for autocompleting a map on your name shown below retrofit is based apps that your device could improve and.
    [Show full text]
  • Making Privacy a Fundamental Component of Web Resources
    Making Privacy a Fundamental Component of Web Resources Thomas Duebendorfer (Google Switzerland GmbH), Christoph Renner (Google Switzerland GmbH/ETH Zurich), Tyrone Grandison (IBM), Michael Maximilien (IBM), Mark Weitzel (IBM) We present a social network inspired and access control list based sharing model for web resources. We have specified it as an extension for OpenSocial 1.0 and implemented a proof of concept in Orkut as well as a mobile social photo sharing application using it. The paper explains important design decisions and how the model can be leveraged to make privacy a core component and enabler for sharing resources on the web and beyond using capabilities of mobile devices. maintains and supports the trust fabric, which 1. INTRODUCTION is a core assumption for these systems. This Based on prior work that focused on making fabric allows these companies to execute their privacy a fundamental building block for social business strategy, despite it being potentially networks [1-3], we propose APIs and damaging to their users - who are the infrastructure enhancements to the Web. providers of their business value. At the heart These modifications ensure that the disclosure of the issue, there is a conflict of interest intent of the creator of every Web resource is between social network users and social known prior to those resources being network platform owners. The platform owners rendered by a Web client. Our upgrades also want the right to unconditionally use all the take into consideration backward-compatibility information given or generated by the users; with current Web protocols and components. while those users may desire specific data use under specific conditions.
    [Show full text]