Tesis:
Investigación y caracterización de modelos de calidad de componentes web
- Autor: MARTÍNEZ-ORTIZ, Andrés-Leonardo
- Título: Investigación y caracterización de modelos de calidad de componentes web
- Fecha: 2020
- Materia: Sin materia definida
- Escuela: FACULTAD DE INFORMATICA
- Departamentos: AEROTECNIA
- Acceso electrónico: http://oa.upm.es/65879/
- Director/a 1º: LOPEZ GOMEZ, Genoveva
- Director/a 2º: LIZCANO CASAS, David
- Resumen: Las tecnologías web son el pilar del desarrollo de Internet, haciendo de la red una de las mayores contribuciones a la innovación social, económica y cultural, y sin duda también tecnológica, de la historia de la humanidad. Desde la introducción en 1991 del protocolo http [1] y el lenguaje de etiquetado html [2], seguidos muy pronto de las primeras aplicaciones web, la tecnología ha facilitado el desarrollo y validación de novedosas propuestas. Estas no solo han trasladado a la red ideas preexistentes, sino que han creado toda una plétora de nuevas formas de uso y, lo que es más importante desde el punto de vista de la ingeniería del software, nuevos modelos de desarrollo de la tecnología. Siguiendo una aproximación ágil, y aun a costa de introducir deuda técnica, la propuesta y evaluación de nuevos productos web se ha priorizado, convirtiendo el “release soon, release often”, el desarrollo en ecosistemas abiertos y la distribución en repositorios públicos bajo licenciamiento libre, en los principios que rigen la innovación y el desarrollo web, y que lo sitúa en muchos aspectos en extremos alejados de la ingeniería del software más convencional. A lo largo de las dos últimas décadas se ha producido un acercamiento entre ambas posturas: por un lado, la investigación dentro del campo de la ingeniería del software ha proporcionado un mejor entendimiento de las técnicas ágiles y los ecosistemas de desarrollo abierto, recibiendo el reconocimiento y la adopción por parte de la industria; por otro, la labor llevada a cabo por el World Wide Web Consurtium (W3C) [3], coordinando el esfuerzo conjunto de empresas, academia y otros agentes del mundo de Internet como la Fundación Mozilla [4], ha conducido, entre otras cosas, a la estandarización de ECMAScript [5], aportaciones destacadas de la industria como TypeScript [6], o la introducción de tecnologías como los componentes web [7], donde resulta clara la influencia de paradigmas adoptados desde hace décadas en el mundo de la ingeniería del software. Los componentes, de reciente introducción, mejoran la cohesión y el acoplamiento de los elementos declarativos (html), lógicos (JavaScript) y de estilo (css) de las aplicaciones web, facilitando su reusabilidad y distribución. No obstante, la proliferación de librerías de componentes web distribuidas en repositorios públicos ha visto limitada su adopción por parte de la industria debido a la ausencia de modelos que permitan evaluar las características de calidad de producto y calidad en uso de acuerdo con los estándares al uso. La ausencia de garantía de calidad es tal, que gran parte de la industria limita o incluso prohíbe el uso repositorios de componentes tan populares como Github [8], Bower [9] o Npm [10]. Esta tesis aporta como novedad el desarrollo de un modelo de calidad de componentes web resultado del uso de técnicas mixtas que combinan investigación cualitativa y cuantitativa y que, aplicadas a la calidad software, introducen elementos de valoración objetiva y reproducibles en la definición de modelos, la validación de métricas software, estáticas (intrínsecas) y dinámicas (extrínsecas), y la evaluación de la cobertura que estas proporcionan de las características de calidad de producto y calidad de uso definidas en el estándar ISO/IEC 25000 [11]. La primera contribución introduce un paradigma de investigación mixta [12] aplicado al ámbito de los modelos de calidad software, para, a continuación, adaptarlo al caso particular de los componentes web. La combinación de técnicas de investigación cualitativa permite acotar los elementos de valoración subjetiva siempre presentes en los modelos de calidad, produciendo instrumentos de validación cuantitativa, requisito ineludible en el desarrollo de software moderno y que, desbordando el ámbito académico, impactará de manera significativa en los escenarios industriales de desarrollo de aplicaciones web. Como segunda contribución, se presentan un conjunto de técnicas que, mejorando el Método Delphi [13], permiten una mayor comprensión analítica de los procesos de formación de consenso entre expertos, y que facilitan los métodos cualitativos para el desarrollo y validación de un modelo de calidad de componentes web. Fruto de esta aproximación se presentan técnicas obtenidas de valoración analítica del nivel de cobertura de características de calidad de producto y calidad en uso por parte de métricas intrínsecas y extrínsecas, el análisis diferencial entre iteraciones y la técnica que denominamos de conglomerados de Kendall y que permite la caracterización de los procesos de formación de consenso, categorizando los contextos posibles de aplicación alternativa de los modelos de calidad. Como tercera contribución, se presenta el modelo de calidad de componentes web obtenido mediante las técnicas ya mencionadas. La importancia del modelo reside en varios puntos: por un lado, se trata de un modelo que, sustanciado a partir de la experiencia de expertos web, ofrece cobertura en términos de métricas de las características de calidad contempladas por el estándar ISO/IEC 25000 y, por tanto, en este sentido introduce la calidad de los componentes web en un lenguaje reconocido por la industria. Por otro, las métricas identificadas permiten el análisis automatizado de componentes web alojados en repositorios públicos que, traducidos en umbrales (benchmarks) de calidad, facilitarán sin duda la adopción a nivel masivo. Por último, la cuarta contribución la constituye el desarrollo de un entorno de evaluación experimental que emplea algunas de las métricas de cobertura señaladas, para llevar a cabo procesos de validación automatizada de componentes web. La plataforma, utilizada en un proceso experimental con usuarios reales, ha permitido obtener evidencia estadística cuantitativa que relaciona la calidad percibida por usuario final con la evaluación realizada a partir de la aplicación de las métricas. Esta parte final aborda la evaluación cuantitativa, completando el proceso de investigación mixto, y sienta las bases de plataformas de evaluación automatizada de componentes web. En resumen, las contribuciones realizadas por esta tesis validan la idoneidad de las técnicas mixtas de investigación aplicadas al dominio de la calidad software, refutan la imposibilidad de conectar estándares de calidad con aproximaciones ágiles y presentan las bases para facilitar la adopción de tecnología desarrollada en ecosistemas abiertos. ----------ABSTRACT---------- Web technologies are the mainstay of Internet development, making the network one of the greatest contributions to social, economic and cultural, but certainly also technological, innovation in human history. Since the introduction of the http [1] protocol and the html [2] mark-up language in 1991, soon followed by the first web applications, the technology has facilitated the development and validation of novel products and online services. These have not only transferred pre-existing ideas to the network but have created a whole plethora of new ways of use, and what is more important from the point of view of software engineering, new models of technology development. Following an agile approach, and even at the cost of introducing technical debt, the proposal and evaluation of new web products has been prioritized, turning “release soon, release often”, development into open ecosystems and distribution into public repositories under free licensing. , in the principles that govern innovation and web development, and that places it in many aspects at extremes far from the most conventional software engineering. Over the past two decades, there has been an approach between both positions: on the one hand, research within the field of software engineering has provided a better understanding of agile techniques and open development ecosystems, receiving recognition and adoption by the industry; on the other, the work carried out by the World Wide Web Consortium (W3C) [3], coordinating the joint effort of companies, academia and other agents in the world of the Internet such as the Mozilla Foundation [4], has led, among other things, to the standardization of ECMAScript [5], outstanding contributions from the industry such as TypeScript [6] or the introduction of technologies such as web components [7], where the influence of paradigms adopted for decades in the world of software engineering is clear. The recently introduced components improve the cohesion and coupling of declarative (html), logical (JavaScript) and style (css) elements of web applications, facilitating their reusability and distribution. However, the proliferation of web component libraries distributed in public repositories has limited their adoption by the industry due to the absence of models that allow evaluating the characteristics of product quality and quality in use according to standards use. The lack of quality assurance is to such an extent that much of the industry limits or even prohibits the use of such popular component repositories as Github [8], Bower [9] or Npm [10]. This thesis contributes as a novelty the development of a quality model of web components resulting from the use of mixed techniques that combine qualitative and quantitative research, and that applied to software quality, introduce objective and reproducible evaluation elements in the definition of models, the validation of software metrics, static (intrinsic) and dynamic (extrinsic), and the evaluation of the coverage they provide of the characteristics of product quality and quality of use included in the ISO / IEC 25000 standard [11]. The first contribution introduces a mixed research paradigm [12] applied to the field of software quality models, and then adapts it to the particular case of web components. The combination of qualitative research techniques allows to limit the elements of subjective assessment always present in quality models, producing quantitative validation instruments, an inescapable requirement in the development of modern software and that, exceeding the academic field, will significantly impact on industrial scenarios of web application development. As a second contribution, a set of techniques are presented that, improving the Delphi Method [13], allow a greater analytical understanding of the consensus-building processes among experts, and that facilitate qualitative techniques for the development and validation of a model of quality of web components. As a result of this approach, techniques obtained from analytical assessment of the level of coverage of product quality characteristics and quality in use by intrinsic and extrinsic metrics, the differential analysis between iterations and the technique that we call Kendall conglomerates are presented, allowing the characterization of consensus-building processes, categorizing the possible contexts of alternative application of quality models. As a third contribution, the web component quality model obtained using the aforementioned techniques is presented. The importance of the model lies in several points: on the one hand, it is a model that, based on the experience of web experts, offers coverage in terms of metrics of the quality characteristics contemplated by the ISO / IEC 25000 standard, and therefore in this sense it introduces the quality of web components in a language recognized by the industry. On the other hand, the identified metrics allow the automated analysis of web components hosted in public repositories, which translated into quality benchmarks, will undoubtedly facilitate mass adoption. Finally, the fourth contribution is the development of an experimental evaluation environment that uses some of the coverage metrics indicated, to carry out automated validation processes for web components. The platform, used in an experimental process with real users, has made it possible to obtain quantitative statistical evidence that relates the quality perceived by the end user with the evaluation made from the application of the metrics. This final part addresses quantitative evaluation, completing the mixed research process, and lays the foundation for automated web component evaluation platforms. In summary, the contributions made by this thesis validate the suitability of mixed research techniques applied to the domain of software quality, refute the impossibility of connecting quality standards with agile approaches and present the bases to facilitate the adoption of technology developed in ecosystems open.