Les outils de modélisation d'interfaces

Problématique

La représentation visuelle (schématique) des interactions entre l'utilisateur et la machine permet d'organiser l'accès à toutes les fonctions qui seront proposées par l'interface, facilitant ainsi la phase de conception logicielle. Il n'existe pas, à ce jour, de diagramme "officiel" dans le langage UML (Unified Modeling Langage) propre à la modélisation des IHM. C'est pourquoi nous vous proposons un petit tour d'horizon des modèles et outils pouvant pallier cette absence.


Les modèles

LA MODELISATION DYNAMIQUE SOUS UML

Un comportement = Une réaction. Les diagrammes regroupés dans cette catégorie permettent de modéliser le comportement dynamique du système. On s'intéresse particulièrement à trois d’entre eux :


Le diagramme d’activités fournit une représentation du comportement d’un système en décomposant, de façon fonctionnelle, les traitements et plus particulièrement, les cheminement de flots de contrôle et de flots de données. Ils sont particulièrement adaptés à la description des cas d'utilisation. (Le + : définition assez précise pour pouvoir générer du code)




Le diagramme d’état-transition, qui représente les états possibles des objets d’une classe donnée ainsi que les transitions entre ses états. Il est basé sur les concepts d’état (situation observée à un moment déterminé), transition (passage d’un état à l’autre), évènement (ensemble d’informations pouvant déclencher la transition) et d’activité (action ayant une durée dans le temps). (Le +:définition assez précise pour pouvoir générer du code)


Le diagramme d’interactions offre une vue sur l’ensemble des flux de contrôle du système. Il est réalisé avec le même graphisme que le diagramme d’activité. Chaque élément du diagramme peut ensuite être détaillé à l’aide d’un diagramme de séquence ou d’un diagramme d’activité.




LE SNI (SCHEMA NAVIGATIONNEL D'INTERRACTION)



Le SNI est purement conceptuel. Il est indépendant de la technologie utilisée, du type d'IHM (menu, bouton, toucher) et de tout aspect matériel (clavier, type d'écran, souris, etc.) Il permet une représentation simple et claire de l'enchainement des écrans d'une IHM et peut ainsi etre compris par tous les intervenants du projet.
Conclusion : Ce modèle intègre des éléments facilitant la représentation visuelle des éléments d'interaction présents dans l'interface. Il facilite, dès le début des étapes de conception, la visualisation des classes nécessaires au développement.




LE MODELE DES TACHES

Tâche = Activité. Les modèles de tâches sont des descriptions logiques des activités à réaliser pour atteindre les objectifs des utilisateurs. Ils sont particulièrement utiles à la conception, l’analyse et l’évaluation les applications logicielles interactives. Une tâche est composée d’un but (état à atteindre), d’un dispositif (méthodes, outils, etc. nécessaires à l’atteinte du but), des actions (tâches simples), de tâches (activités nécessaires) et des sous-tâches. Conclusion : l’objectif de ce modèle est de comprendre et évaluer l’utilisabilité d’un système interactif. Pour atteindre son objectif, le modèle peut faire appel à différentes méthodes, dont la “Méthode analytique de description de tâches” (MAD), qui est à l’origine d’outils ciblés (K-MADe, voir ci-dessous) dans le domaine de la modélisation des interactions homme-machine.

Le SNI est purement conceptuel. Il est indépendant de la technologie utilisée, du type d'IHM (menu, bouton, toucher) et de tout aspect matériel (clavier, type d'écran, souris, etc.) Il permet une représentation simple et claire de l'enchainement des écrans d'une IHM et peut ainsi etre compris par tous les intervenants du projet.
Conclusion : Ce modèle intègre des éléments facilitant la représentation visuelle des éléments d'interaction présents dans l'interface. Il facilite, dès le début des étapes de conception, la visualisation des classes nécessaires au développement.


Les outils

MICROSOFT VISIO
Permet la création de diagrammes de façon simple et intuitive. Microsoft Visio permet également la collaboration et la sérisation des données. C'est un logiciel complet qui offre rendu de qualité mais payant et propriétaire, il ne fonctionne que sur MSWindows.

DRAW.IO
Draw.io est un outil de création de diagrammes en ligne. Il est gratuit et offre un large panel de diagrammes. En revanche, il ne génère pas de code.

VISUALSNI
VisualSNI est un éditeur graphique spécifique de SNI sous la forme d'un plugin Eclipse. S'il est seulement disponible sous cet IDE, il est proposé en licence GPL et permet la génération de code.

DIA
Dia est une application permettant de produire le plus large panel de diagrammes. Il est lui aussi proposé en licence GPL et est multiplateforme, mais en revanche il ne permet pas la génération de code.

COMM ET SON OUTIL eCOMM
La notation d'arbre de tâche COMM permet la description de l'interaction de systèmes multi-utilisateurs et multimodaux. Ces descriptions intègrent les dimensions coopératives et collaboratives, ainsi que les dimensions abstraites et concrètes de l'interaction. eCOMM est un logiciel qui supporte la notation COMM dans son ensemble.

K-MAD ET SON OUTIL K-MADe
K-MADe permet de créer, modifier, interroger, et simuler des modèles de tâches. Issu d'une collaboration entre ergonomie et chercheurs en IHM, il a pour but de faciliter la mise en oeuvre d'une approche centrée-utilisateur, basée sur des modèles, pour la conception et l'évaluation ergonomique des applications interactives.

HAMSTERS
HAMSTERS est à la fois une technique de description des tâches et un outil pour utiliser cette technique. Il est inspiré des notations et outils existants desquels il se sert des principaux points forts, et a été développé afin d'en faciliter la maintenance et l'extension.


Microsoft Visio
VisualSNI
Dia

Récapitulatif
Licence proposée Spécifique aux IHM Génération de code
Dia GPL Non Non
Draw.io Gratuit Non Non
Microsoft Visio Payant Non Non
VisualSNI GPL Oui Oui
COMM et son outil eCOMM Gratuit Oui -
K-MAD et son outil K-MADe GPL Oui -
HAMSTERS Gratuit Oui -

Conclusion

Dans le cadre d'une utilisation purement formelle, un logiciel tel que draw.io ou dia qui permettent de réaliser tous types de diagrammes sont suffisants. Si l'on souhaite l'intégrer à l'environnement de développement, il sera intéressant d'utiliser un outil spécifique comme VisualSNI qui, par exemple, permet de générer du code.