Contribution to the Engineering of User Interfaces
Contribution à l'ingénierie des interfaces homme-machine
Résumé
User interfaces (UI) pervade our daily lives. To do office tasks, to pilot an airliner, to write programs, UIs are the tangible vectors that enable users to interact with software systems. The development of UIs involves multiple roles. Designers and ergonomists are in charge of the design and evaluation of UIs from a strict human factor viewpoint. They use concepts and theories established by the Human-Computer Interaction (HCI) community. Software engineers develop, validate, maintain UIs using software engineering techniques. UI engineering is an interdisciplinary field that cross-cuts these two roles and their underlying domains, HCI and software engineering.
This thesis details the contributions I develop during the last decade in the filed of UI engineering. I develop this thesis through two research axes.
In the first axis I detail new UI engineering concepts. These concepts follow the same leitmotiv: engineering UIs is a specific problem that requires specific abstractions. These abstractions thus go beyond the classical object-oriented abstractions provided by the current programming languages to provide abstractions that focus on UI concerns.
In the second axis I focus on domain-specific languages (DSL). DSLs are specific user interfaces that stand between domain experts and their engineering problems. As for any UI, engineering DSLs must make use of HCI concepts at different levels.
I then propose three research perspectives that highlight the importance of working on UI engineering to support the increasingly interactivity of software systems.
Les interfaces homme-machine (IHM) sont omniprésentes dans notre vie quotidienne. Pour effectuer des tâches de bureau, piloter un avion de ligne, écrire des programmes, les IHM sont les vecteurs tangibles permettant aux utilisateurs d'interagir avec les logiciels. Le développement d'IHM implique différents rôles. Les designers et ergonomes sont responsables de la conception et de l'évaluation des IHM d'un point de vue strictement facteur humain. Ils utilisent des concepts et des théories établis par la communauté Interaction Homme-Machine. Les ingénieurs en logiciel développent, valident et maintiennent des IHM à l'aide de techniques de génie logiciel. L'ingénierie des IHM est un domaine interdisciplinaire qui recoupe ces deux rôles et leurs domaines sous-jacents, l'interaction homme-machine et le génie logiciel.
Cette thèse détaille les contributions que j'ai développées au cours de la dernière décennie dans le domaine de l'ingénierie des IHM. Je développe cette thèse à travers deux axes de recherche.
Dans le premier axe, je détaille de nouveaux concepts d'ingénierie des IHM. Ces concepts suivent le même leitmotiv : l'ingénierie des IHM est un problème spécifique qui nécessite des abstractions particulières. Ces abstractions vont donc au-delà des abstractions orientées-objet classiques fournies par les langages de programmation actuels pour fournir des abstractions qui se concentrent sur les préoccupations des IHM.
Dans le deuxième axe, je me concentre sur les langages dédiés (DSL -- domain-specific language). Les DSL peuvent être vus comme un type d'IHM. Comme pour toute IHM, l'ingénierie des DSL doit utiliser des concepts d'interaction homme-machine à différents niveaux.
Je propose ensuite trois perspectives de recherche qui soulignent l'importance de travailler sur l'ingénierie des IHM pour gérer l'interactivité croissante des logiciels.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...