Quality and Experience Integration within Model-Driven User Interface Development

Two disciplines, Software Engineering and Human Computer Interaction, are directly involved in the development software quality products. Between them a semantic gap has been identified because the work by using different concepts, methodologies, languages and tools. This thesis disser-tation wants to contribute in reducing that semantic gap, making easier the design of quality software applications from the final user point of view that uses them. To do so, it uses as principal resources the consideration of experience and the characterization of quality, and it includes both re-sources at every development stage of a software product, especially at the first ones.
The historic evolution of Software Engineering is described by a trend towards industrialization. In this sense, Model Driven Architecture (MDA) from OMG is one of the most relevant examples within that trend. In this approach implementation tasks are supposed to be replaced with design tasks, where models reinforce themselves, not just a simple documenta-tion, but as a generative tool. Quality in Software Engineering is especially interesting in mantainment facilities, and the main techniques to achieve them aim at fostering the cohesion and reducing coupling.
At the same time, Human Computer Interaction (HCI) offers as its main contribution the set of techniques included within the term User Centred Design (UCD). Furthermore, HCI is especially focused in user interfaces and quality. Quality is centred in usability, or quality of use, that user in-terfaces can offer. Since 90's decade, the contributions more relevant in HCI community, in user interfaces development field, is model-based de-sign. The lack of a quality model centred on usability, and the disparity in the criteria in the way they are systematically treated and considered intro-duces a great challenge to HCI community.
Starting from identifying the context where we are involved, previously described, and taking into account the main goal of this dissertation: re-duce the semantic gap between Software Engineering and Human Com-puter Interaction, the following subgoals have been pursued:

-Characterize the usability of a software product. To achieve this goal the available international standards, and those criteria we found to be enough representative according to the quality we want to model have been used. As a result, this dissertation introduces a quality model centred in usability, based in standards, developed using ergonomic quality criteria and related to experience and metrics.

-Characterize experience. This work proposes using pattern concept. Because we are focused in user interfaces, interaction patterns became the main reference to consider quality in interaction. The main flaw of interaction patterns is that traditionally they are aimed just at docu-mentation. According to the identified trends, this thesis offers an ad-ditional dimension generative to experience in interaction documented by using patterns. Interaction patterns can be related to a model de-scribed by using the notations most widely used, regardless of its ori-gin (UML, CTT and UIDLs).

-Quality and Experience Integration within a unique framework. Once quality and experience have been characterized, relationships between them are established and a proposal integrating theory and practice for quality user interface development centred in usability is presented. This is a model-driven environment and uses the UsiXML language to store, reuse and learn the models (experience).

-This PhD thesis implements also a software tool called IDEALXML, a model-based user interface development environment using usiXML. The CASE tool offers two facilities: On the one hand, it is an edi-tor/management of patterns of any type (interaction, collaboration, de-sign, etc.) which stores using the PLML format; and on the other hand it is a development environment that assists software engineers with pattern-based experience in which usability is considered.

-The framework proposed and its integration with other proposals de-veloped within projects of European collaboration (SIMILAR net-work), in which we are involved together with different European re-search groups, makes that the outcomes of this PhD thesis can be integrated with other research proposals and assure the future continu-ity of I+D+i tasks.

The main conclusions derived from the research activity developed dur-ing these last years and which has concluded with this PhD thesis are that the main challenge, nowadays and in the near future, is to fulfil the exist-ing semantic gap between requirements elicitation and design activities. This gap coincides with the one existing between Software Engineering and Human-Computer Interaction and it is the one that directly redound in the quality of the software products developed. Experience availability de-termines the quality of software products, and most of such experience can be modelled and thus, can be learned, disseminated, shared, reused and en-riched. At the same time, most of the quality offered by any software product depends on the correct requirements elicitation at the very begin-
ning of the development process, in the earlier phases. On the contrary, its subsequent achievement results much more difficult, or even unviable.
Ph.D. thesis
University of Castilla-La Mancha, Albacete, Spain, 13 October 2005
2005