Interfaces 17 by O1taKo9

VIEWS: 2 PAGES: 18

									                                  Chapitre 19

                            Interfaces utilisateur


1 Introduction aux interfaces utilisateur
      1.1 Modèles cognitifs pour la description de l'interaction homme-ordinateur
      1.2 Métaphores pour la description de l'interaction entre utilisateur et
      ordinateur

2 Ergonomie des interfaces utilisateur
     2.1 Objectifs de la conception d'une interface utilisateur
     2.2 Classes d'utilisateurs
     2.3 Styles d'interaction
     2.4 Interfaces orientées à la manipulation directe

3 Modèles d'architecture pour applications interactives
    3.1 Le modèle en couche OSI
    3.2 Le modèle à niveaux
    3.3 Le modèle Seeheim
    3.4 Les modèles orientés-objets
    3.5 Le modèle multi-agent
    3.6 Le modèle MVC
    3.7 Le modèle PAC

4 Outils de construction d'interfaces
     4.1 Les boîtes à outils
     4.2 Systèmes génériques
     4.3 Systèmes de gestion d'interfaces utilisateur (SGIUs)

5 Interfaces homme-SGBD
      5.1 Les langages de manipulation des interfaces classiques
      5.2 Intégration de la représentation perceptible et de la manipulation

6 Ergonomie des interfaces homme-SGBD
     6.1 La modélisation des données
     6.2 Architecture logicielle d'une interface homme-SGBD
     6.3 Principes pour les interfaces homme-SGBD

7 Interfaces pour les systèmes de base de données avancées

                                          1
                                          Chapitre 19

                                  Interfaces utilisateur

1.     Introduction aux interfaces utilisateur
Une application interactive communique en temps réel avec un utilisateur humain. Les échanges
sont effectués par l'intermédiaire d'une interface, qui prend en charge:
- communication avec l'application informatique;
- communication avec l'utilisateur humain;
- traduction entre le monde de l'application et celui de l'utilisateur.

Les concepteurs d'interfaces cherchent de produire une représentation perceptible du système qui
soit la plus proche possible à la représentation mentale de l'utilisateur.

La conception et le développement d'une interface dérive d'un travail d'analyse et synthèse entre
deux approches:
• approche cognitive: dans cette approche, l'interaction homme-application est vue comme
   l'ensemble des phénomènes physiques et cognitifs qui participent à la réalisation des tâches
   informatisées;
• approche informatique: l'interaction est vue comme un assemblage de composants logiciels et
   matériels qui permet l'accomplissement de tâches avec le concours d'un ordinateur.

1.1    Modèles cognitifs pour la description de l'interaction homme-ordinateur

Plusieurs modèles cognitifs ont été proposés pour décrire l'interaction entre utilisateur et ordinateur.
Nous allons examiner plus en détail deux parmi ces modèles, le modèle du processeur humain
(Card 83) et la théorie de l'action (Norman 86).

Dans le modèle du processeur humain, l'individu est présenté comme un système de traitement
d'informations régi par un ensemble de règles. Le processeur humain comprend trois sous-systèmes,
sensoriel, moteur et cognitif, chacun disposant d'une mémoire et d'un processeur. La mémoire du
système cognitif comprend une mémoire à court terme (contentant les informations en cours de
manipulation) et une mémoire à long terme (contenant les informations permanentes).
Les performances d'une mémoire ou d'un processeur sont caractérisées par des paramètres
constituant des indications intéressantes qui permettent d'adapter l'interface en fonction des
performances de l'utilisateur. Ce paramètres ne permettent que d'évaluer les performances
mesurables de l'individu, sans apporter des indications sur les modèles de représentation et
raisonnement mis en œuvre.
Ce modèle est suffisamment formel pour être utilisé par les informaticiens; cependant, il offre une
modélisation trop simplifiée et trop réductrice.

Selon la théorie de l'action, un individu agit selon des modèles mentaux, élaborés par l'individu
même et évoluant avec l'expérience. Dans un processus de communication interpersonnelle, les
individus confrontent et adaptent leurs représentations mentales. Dans le cas d'une interface
homme-application, la communication met en jeu:
- l'utilisateur,

                                                   2
- et l'interface (production d'une représentation perceptible (image) du système à partir de laquelle
l'utilisateur adapte sa représentation.
Le concepteur doit réduire le décalage entre les modèles mentaux de l'utilisateur et l'image produite.
Ce décalage concerne la mise en correspondance (voir...)




                                                  3
1.2    Métaphores pour la description de l'interaction entre utilisateur et ordinateur

Deux métaphores ont été utilisées pour décrire les interactions des utilisateurs avec l'ordinateur:

• monde conversationnel: l'utilisateur décrit l'action qu'il veut accomplir, normalement en
  utilisant un langage de commande. Ce genre de dialogue est appelé dialogue séquentiel.
• monde modèle: l'utilisateur montre l'action qu'il veut accomplir par la saisie et la manipulation
  de représentations visuelles des objets. Ce genre de style d'interaction est décrit par le paradigme
  de manipulation directe. A ce paradigme est associé un style de dialogue appelé dialogue à
  plusieurs fils: c'est un concept orienté à la tâche qui décrit la multiplicité des chemins
  disponibles pour l'utilisateur à un moment quelconque durant l'interaction.



Les dialogues entre utilisateur et ordinateur peuvent être classifiés en trois groupes:
• dialogue séquentiel: le système présente le travail de l'utilisateur une tâche à la fois;
• dialogue asynchrone: plusieurs tâches (fils) sont disponibles à l'utilisateur au même instant. Le
   dialogue est asynchrone dans le sens que l'enchaînement de chaque tâche est indépendant des
   autres. Presque à tout moment, l'utilisateur peut commencer une tache, ensuite commencer une
   autre et enfin retourner à la précédente. Ce genre de dialogue est appelé aussi dialogue basé sur
   les événements, car les actions de l'utilisateur qui déclenchent les séquences de dialogue sont
   considérées comme des événements d'entrée.
• dialogue concurrent: c'est un dialogue à plusieurs fils où plus qu'une tâche peut être exécutée
   simultanément. Pendant l'exécution d'une tâche, une autre peut être démarrée en concurrence.


2.     Ergonomie des interfaces utilisateur

2.1    Objectifs de la conception d'une interface utilisateur

Le premier objectif est la détermination de la fonctionnalité nécessaire, c'est-à-dire les tâches et les
sous-tâches du projet; il faut résoudre surtout les problèmes entraînés par les tâches liées aux
situations exceptionnelles. Il faut trouver le juste milieu entre fonctionnalité excessive et
fonctionnalité pas adéquate.
Le deuxième objectif est d'assurer au système une fiabilité suffisante: le logiciel et le matériel
doivent assurer une facilité d'entretien et un bon niveau de performances; de plus la fiabilité, la
sécurité et l'intégrité doivent être assurées.
Le dernier objectif est la planification des échéances et des budgets.

La conception d'une interface doit tenir en compte les utilisateurs auxquels cette interface est
adressée; les objectifs doivent évaluer:
       • temps pour l'apprentissage;
       • vitesse des performances;
       • taux des fautes des utilisateurs;
       • satisfaction subjective;
       • mémorisation dans le temps des éléments appris.


2.2    Classes d'utilisateurs



                                                   4
La prise en compte des utilisateurs d'une interface est fondamentale du point de vue de l'ergonomie.
La classification des utilisateurs est basée sur leurs connaissances syntaxiques et sémantiques des
tâches qu'ils doivent accomplir. Les connaissances syntaxiques concernent les détails dépendants
du système, comme par exemple la syntaxe des langages utilisés pour interagir avec un langage de
commandes. Les problèmes principaux sont: la variation de la syntaxe de système à système, le
manque d'une connaissance structurée et le temps d'apprentissage. Les connaissances sémantiques
(voir!!!!)
Nous pouvons distinguer trois classes d'utilisateurs d'une interface:

• Novices: ils n'ont pas de connaissances syntaxiques; les connaissances sémantiques de
  l'ordinateur et des tâches sont très limitées. Le vocabulaire à disposition de ces utilisateurs doit
  être réduit, les tâches doivent être peu nombreuses et simples, les messages d'erreur
  compréhensibles et un nombre suffisant de manuels et de tutoriaux doit être disponible.

• Occasionnels: ils ont des bonnes connaissances sémantiques du domaine, mais leurs
  connaissances syntaxiques sont pauvres. Ils peuvent être aidés par une structure d'interaction
  simple, des messages significatifs, des interactions fréquentes et des fonctions d'aide en ligne.

• Spécialistes: ils ont besoin de temps de réponse rapides, un feedback rapide et des instruments
  pour accélérer la saisie des données et des commandes.

Si un système s'adresse à plus qu'une classe d'utilisateurs, il devrait être structuré selon différents
niveaux d'apprentissage: pour les novices, les objets manipulables et les actions disponibles doivent
être réduits à un sous-ensemble minimale. Cette structure à plusieurs niveaux peut être étendue
aussi aux manuels, les fonctions d'aide, les messages et les tutoriaux.


2.3     Styles d'interaction

2.3.1     Menus

Ce style d'interaction est conseillé quand le nombre de commandes dépasse la capacité mémoire à
court terme des utilisateurs. L'utilisateur choisit dans une liste d'options l'objet plus adapté pour la
tâche. Si la terminologie et la signification des objets dans la liste sont claires, les utilisateurs
peuvent accomplir leur tâche avec peu d'apprentissage. L'avantage principal est la structuration
claire du processus de décision, car seulement un nombre limité de choix est présenté à la fois. Ce
style d'interaction est approprié pour des utilisateurs novices et occasionnels; il peut être mal adapté
aux utilisateurs expérimentés car les menus sont à l'initiative de l'ordinateur et le dialogue est plutôt
lourd.


2.3.2     Formulaires

Ce style d'interaction est utilisé principalement pour saisir des données. Un formulaire donne une
représentation visuelle structurée des données. Le temps d'apprentissage est plutôt modeste, car
l'utilisateur doit seulement connaître les valeurs permises et les méthodes d'entrée des données. Ce
style d'interaction est à l'initiative de l'ordinateur, mais l'utilisateur peut saisir plusieurs réponses
dans un ordre quelconque. Les formulaires sont plus appropriés pour les utilisateurs occasionnels
(avec connaissances du domaine) et spécialistes.



                                                   5
2.3.3     Langages de commande

Ils permettent d'exprimer vite des commandes complexes. Par contre, les erreurs sont très
fréquentes, un long temps d'apprentissage est nécessaire pour apprendre la syntaxe du langage et la
mémorisation est difficile. Ce style d'interaction est intéressant pour des utilisateur spécialistes qui
aiment maîtriser l'interaction avec l'ordinateur et avoir une expression plus rapide de l'interaction.


2.3.4     Langages naturels

Ils requièrent peu d'apprentissage; l'interface impose à l'utilisateur un dialogue de type
question/réponse. Ce type d'interaction est adapté à un utilisateur expert dans le domaine
d'application et occasionnel. La mise au point de ce style d'interaction demande encore beaucoup
d'efforts de la part des chercheurs et des développeurs de systèmes.


2.3.5     Manipulation directe

Les caractéristiques fondamentales de ce style d'interaction sont:

• visibilité des objets et des actions d'intérêt;
• actions rapides, incrémentales et réversibles;
• substitution de la syntaxe des langages de commande par des actions physiques: la saisie des
  commandes par le clavier et les choix par menus sont remplacés par des déplacements de la
  souris;
• apprentissage "à niveaux" du système: l'utilisateur peut commencer avec une connaissance
  minimale, qu'il augmente progressivement.

Les systèmes basés sur la manipulation directe ont les avantages suivants:

• les novices peuvent apprendre les fonctionnalités de base rapidement, normalement en suivant
  une démonstration du système par un utilisateur plus expert;
• les experts peuvent définir un grand ensemble de tâches (définition de nouvelles fonctions, etc.);
• les utilisateurs occasionnels peuvent apprendre les concepts opérationnels;
• l'utilisateur peut observer directement le résultat sur l'objet d'intérêt et il peut juger si une action
  l'amène aux objectifs désirés.

Dans ce style d'interaction la syntaxe et la sémantique sont simplifiées. En effet, la syntaxe est
réduite aux actions physiques accomplies par l'utilisateur. La sémantique des concepts de
l'ordinateur est réduite, car les tâches ne doivent pas être décomposées dans plusieurs commandes
avec une syntaxe complexe. De plus, chaque action produit un résultat compréhensible et visible
tout de suite: cela signifie que les actions se trouvent dans le domaine des tâches à haut niveau.

Toutefois, il y a toujours quelques problèmes avec les interfaces basées sur la manipulation directe:

• l'utilisation des structures graphiques est intéressante pour l'utilisateur, mais il peut avoir besoin
  d'un effort additionnel pour apprendre les règles de représentation;
• quelque fois la signification des composants de la représentation n'est pas trop claire pour
  l'utilisateur;
• il n'est pas toujours clair quelles sont les actions permises sur un objet;
• on peut aussi avoir des problèmes d'espace sur l'écran.

                                                    6
2.4     Interfaces orientées à la manipulation directe

On parle à ce propos de interfaces WIMP (Windows, Icons, Menus and Pointing Devices): ce
sont des interfaces basées sur l'utilisation de fenêtres, icônes, menus et dispositifs d'entrée comme la
souris.

2.4.1     Fenêtres

L'écran peut être divisé en plusieurs sous-écrans (fenêtres), dont chacun peut afficher des objets
différents. Le nombre de fenêtres est limité par l'espace sur écran et en mémoire. Les fenêtres
peuvent être superposées ou contigues: l'utilisation de l'un ou l'autre style est influencé par plusieurs
facteurs:
• résolution de l'écran (nombre de pixels);
• différents styles peuvent être utiliser pour indiquer si les ensembles d'informations ou de
   processus sont différents ou pas (par exemple, fenêtres superposées pour afficher des
   informations ou des processus différents et fenêtres contigues pour afficher les mêmes
   informations);
• les fenêtres contigues assurent la visibilité de toutes les fenêtres, mais il y a des problèmes pour
   une présentation claire dans une petite zone.

Les opérations fondamentales qui peuvent être accomplies sur les fenêtres concernent la
manipulation (déplacement et modification des dimensions des fenêtres), la sélection (sélection,
ouverture et fermeture d'une fenêtre) et le scrolling.


2.4.2     Icônes

Ce sont des représentations graphiques des objets qui peuvent être manipulés par l'utilisateur;
souvent ces représentations sont des petites images identifiées par un nom. Les icônes peuvent être
utiles pour des actions simples et familières. Parfois, la signification d'une icône peut être ambiguë
si l'utilisateur n'a pas des indications sur le contexte. De plus, le nombre d'icônes qui peuvent être
définies sans ambiguités est plutôt limité.


2.4.3     Menus

Dans les interfaces WIMP toutes les informations et les commandes disponibles ne doivent pas être
affichées en permanence. Cela signifie qu'aussi le menus doivent être affichés seulement quand il
est nécessaire. Nous pouvons distinguer entre deux types de menus:
• menus pop-up: ils sont affichés quand l'utilisateur clique sur l'écran avec la souris. L'utilisateur
    n'a pas besoin de déplacer le curseur pour voir les options disponibles.
• menus pull-down: ils sont affichés en déplaçant le curseur sur une barre de menu, qui contient
    un ensemble de titres. Quand l'utilisateur clique sur un titre, un menu est affiché. Des raccourcis
    peuvent être associés aux éléments des menus.



3.      Modèles d'architecture pour applications interactives


                                                   7
L'objectif d'une interface homme-application est de faire communiquer, dans les meilleures
conditions possibles une application informatique et un utilisateur humain. L'interface doit traduire
la représentation formelle de l'application en une représentation perceptible par l'utilisateur, et
interpréter les manipulations de l'utilisateur pour les communiquer à l'application. Ce chapitre est
consacré à la description des architectures logicielles d'interface proposées par les concepteurs
d'interfaces utilisateur.


3.1    Le modèle en couches OSI

Ce modèle reprend le principe du modèle de communication ISO:

                                                Application




                                                  c ont rôleur de
                                                      dialogue

                                               primit ive s E/S

                                             t er minal virt uel

                                              unité logique




                                               Utilisateur


Le contrôleur de dialogue gère la cohérence entre le monde abstrait de l'application et l'univers de
l'interface.
Les primitives de entrée/sortie sont des primitives d'affichage et désignation (E/S abstraites).
Le terminal virtuel gère le partage du terminal physique entre plusieurs applications
indépendantes.
L'unité logique adapte les E/S selon le matériel utilisé.

Ce modèle présente des caractéristiques fondamentales telles que:
- répartition sur machines différentes;
- concurrence: possibilité de communiquer avec plusieurs applications en simultané;
- compatibilité: permet de réutiliser les logiciels et systèmes existants;
- collaboration: dialogue multi-utilisateur;
- portabilité: sur une autre machine, sous un autre système d'exploitation.


3.2    Le modèle à niveaux

Les langages de communication utilisateur-système et système utilisateur sont structurés en quatre
niveaux:
• niveau conceptuel: correspond au modèle utilisateur de l'application. Il définit les classes
   d'objets (ex. lignes de texte et fichiers) , les relations entre ces classes d'objets (ex. un fichier est
   une suite de lignes de texte) et les opérations sur ces classes d'objets.


                                                        8
• niveau sémantique: spécifie le détail des fonctionnalités, à savoir les informations nécessaires
  aux opérations sur les objets, la gestion des erreurs sémantiques et les résultats de chaque
  opération. A ce niveau l'intérêt est focalisé sur la signification des objets et les opérations sur ces
  objets.
• niveau syntaxique: définit la séquence des entrées/sorties. Pour les entrées, la séquence est faite
  par une grammaire qui permet les règles de construction à partir des mots. La syntaxe des sorties
  inclut l'organisation de l'affichage graphique des objets en deux or trois dimensions.
• niveau lexical: spécifie comment les composants des entrées/sorties sont composés à partir des
  primitives de base. Pour les entrées le lexique définit le vocabulaire avec lequel sont formés les
  commandes, textes, cordonnées, alors que le lexique des sorties est défini par les attributs
  d'affichage des objets: couleur, fontes, taille des objets, par exemple.


3.3       Le modèle Seeheim

L'idée centrale de cet approche est la séparation rigoureuse entre l'interface et l'application. Ce
modèle comporte trois modules distincts, chacun jouant un rôle bien déterminé.

                          Int e rf ace ave c          Contr ôle ur de
Applic ation                                                                      Pr ése nt ation
                           l'applicat ion                dialogue


•     La Présentation gère la présentation et l'affichage des objets ainsi que les manipulations de
      l'utilisateur; a ce niveau la gestion est purement lexicale;
•     le Contrôleur de dialogue est un médiateur qui contrôle la syntaxe des requêtes saisies par
      l'utilisateur et appelle les fonctions correspondantes de l'application.
•     l'Interface avec l'application assure le lien entre l'application et le module de contrôle de
      dialogue en faisant appel aux procédures de l'application;

Les avantages de cet approche sont:

•     les problèmes de l'application et de l'interface peuvent être isolés et traités séparément;
•     l'application et l'interface peuvent évoluer indépendamment;
•     l'interface peut être partagée par différentes applications.


3.4       Les modèles orientés-objet

Le premier aspect intéressant de ces modèles est l'autonomie: l'objet est vu comme une boîte noire
réagissant aux messages qu'elle reçoit suivant un protocole prédéfini. L'objet a donc une existence
propre, indépendante de son environnement: l'interface peut être construite de façon incrémentale.
Un autre aspect intéressant des modèles orientés-objet est la factorisation: les objets présentant les
mêmes caractéristiques sont regroupés par la notion de classe, elle-même étendue par les notions de
méta-classe, d'héritage et de surcharge. Des comportements similaires peuvent ainsi être regroupés
et réutilisés dans différentes interfaces.


3.5       Le modèle multi-agent




                                                      9
Ce modèle structures un système interactif dans une collection d'agents spécialisés qui produisent et
réagissent aux événements. L'utilisateur est parmi ces agents. Un agent peut être vu comme un
système complet pour le traitement de l'information:
• il reçoit et il transmet des événements;
• il a une mémoire pour retenir un état;
• il a un processeur pour traiter les événements et mettre à jour son état.

Un agent définit l'unité de modularité: il est possible de modifier son comportement sans avoir à
toucher le reste de l'interface. De plus, un agent peut être le support pour un dialogue à plusieurs
fils: on peut associer un agent à chaque fil de l'activité d'un utilisateur. Cela est possible car chaque
agent retient un état; si l'activité est trop complexe, on peut utiliser une collection d'agents en
coopération.


3.6    Le modèle MVC

Ce modèle est basé sur Smalltalk; trois classes principales sont regroupées dans le modèle MVC:
• Model (Modèle): cette classe est une représentation abstraite d'un objet avec un ensemble de
   fonctions;
• View (Vue): cette classe permet d'afficher cet objet à partir du modèle;
• Controller (Contrôleur): permet de gérer les actions de l'utilisateur sur une vue.
La cohérence du système est assurée par la communication des trois objets par un mécanisme de
messages. Les avantages du modèle résident dans la séparation de l'affichage, de la gestion des
événements utilisateur et de la représentation interne des objets manipulés.


3.7    Le modèle PAC

Ce modèle structure une application interactive en trois composantes distinctes:
• Présentation: définit le comportement des entrées/sorties de l'application par des objets
   interactifs de présentation;
• Abstraction: définit les fonctionnalités sémantiques de l'application;
• Contrôle: maintient la cohérence entre l'Abstraction et la Présentation.

PAC est un modèle cohérent et récursif: il s'applique même aux objets interactifs qui sont
décomposables en d'autres objets.


4.     Outils de construction d'interfaces
4.1    Les boîtes à outils

Une boîte à outils est une bibliothèque de primitives prêtes à l'utilisation pour la construction
d'interfaces utilisateur. Il y a deux catégories de primitives:
• gestion du poste de travail: définissent un terminal abstrait qui rend transparentes les
    caractéristiques physiques de la station. On peut avoir des abstractions graphiques simples
    (surface d'affichage) ou construites (icône, fenêtre), des abstractions textuelles (police de
    caractères) ou concernant la gestion des événements;
• gestion de dialogue: sont basées sur les services du poste de travail et proposent plusieurs
    objets de présentation élémentaires (boutons) ou complexes (barres de défilement, menus, etc.)


                                                   10
Certaines boîtes à outils réunissent la gestion du poste de travail et celle du dialogue (exemple:
Toolbox de Macintosh); par contre, dans l'environnement XWindow, les services sont regroupés en
deux bibliothèques (Xlib pour les primitives de base et Xt pour la gestion du dialogue).

Une boîte à outils présente les avantages suivants:
- extensibilité (possibilité d'ajouter de nouvelles primitives);
- souplesse d'utilisation;
- grande portabilité des applications interactives;
- définition d'un style d'interaction commun à plusieurs systèmes interactifs.

Les inconvénients de cet approche sont les suivants:
- mauvaise décomposition modulaire;
- difficulté d'apprentissage (c'est au programmeur de choisir le primitives adéquates et les liens
entre ces primitives);
- problèmes dans la portabilité des logiciels interactifs (existence de plusieurs boîtes à outils sur le
marché);
- duplication d'efforts.


4.2    Systèmes génériques

Un système générique ou squelette d'application est un assemblage logiciel réutilisable et
extensible pour la génération des interfaces utilisateur. Les développeurs peuvent consacrer plus de
temps à la sémantique qu'à la présentation (prise en charge par le système). Une squelette se
compose d'un module contrôleur réutilisable (il acquiert et traite les événements) et d'un module
de présentation réutilisable. Exemples: APEX (APplication EXtensible), GROW (GRaphical
Object Workbench), Serpent, MacApp.

Les avantages des systèmes génériques sont:
- architecture logicielle qui facilite la tâche du programmeur et le processus de construction des
interfaces;
- facilité d'assemblage des composants logiciels;
- niveau d'abstraction plus haut que les boîtes à outils;
- possibilité d'intégrer des nouvelles abstractions dans la squelette;
- réduction du coût du développement.

Toutefois, il y a toujours quelques inconvénients:
- niveau d'abstraction encore bas (nécessité de modifier les primitives pour répondre à des besoins
particuliers);
- limitation des applications à interfacer;
- protocole application-interface peu performant et limité;
- manque d'intégration de services ergonomiques (aides, gestion des erreurs, etc.).


4.3    Systèmes de gestion d'interfaces utilisateur (SGIUs)

Un SGIU est un ensemble d'outils logiciels pour la conception, l'implémentation, l'exécution et
l'évaluation des interfaces utilisateurs. Un SGIU permet à un concepteur d'interfaces utilisateur de
spécifier son interface dans un langage à haut niveau. Le SGIU transforme ces spécifications en des
objets de l'interface et il gère ces objets et le dialogue avec l'application.


                                                  11
De différents catégories d'individus sont concernés par l'utilisation d'un SGIU:
• concepteur du SGIU;
• concepteur de l'interface utilisateur: c'est la personne qui utilise un SGIU pendant la phase de
conception;
• concepteur de l'application: c'est le concepteur du programme qui communique avec le SGIU;
• utilisateur: c'est la personne qui utilise l'interface.

Pour un concepteur, les interfaces générées par un SGIU doivent être homogènes, séparant la
sémantique de la présentation, donnant des supports pour la prise en compte des différentes
catégories d'utilisateurs, doivent donner du feedback lexical, syntaxique et sémantique, doivent être
facilement modifiables et réutilisables.

Pour un utilisateur, ces interfaces doivent être homogènes dans différents domaines, avec des
supports d'aide, d'assistance et d'apprentissage, et avec de mécanismes d'accès à des fonctionnalités
supplémentaires.


L'architecture type d'un SGIU se compose d'un langage de spécification d'interfaces, d'un
interpréteur ou compilateur de spécifications (génération d'une forme exécutable) et d'un noyau
d'exécution qui peut être un système générique (squelette d'application). Une interface est spécifiée
par le langage proposé par le SGIU. Ensuite, le système génère une forme interne exécutable. A
partir de cette forme exécutable (stockée dans un fichier), du noyau de base, de l'application
(fonctionnalités sémantiques) et d'un mécanisme de liaison entre ces différents composants, le
système produit l'application interactive finale.

                                                                                        Concepteur
                                                                                        d'inter face




                                                                           Spécifications de
                                                                          l' interface par un
                                                                                lang ag e ou
                                                                            inter activement



                            Concepteur                                        Anal yse et
                            d'appl ication                                    compil ation



                                                                          Forme executable
                   Appl ication              Noyau d'exécution              de l' interface




                                               li ai son entr e
                                                les modul es




                         Appl ication             noyau              présentation


                                        Application int eract iv e


                                                           12
Aujourd'hui on a de plus en plus besoin de SGIUs qui génèrent des interfaces basées sur la
manipulation directe. Pour répondre a ces besoins, les SGIUs sont de plus en plus complexes à
concevoir et difficiles à utiliser. Un choix s'impose entre les SGIUs faciles à l'utilisation, mais qui
produisent des interfaces conventionnelles et les SGIUs complexes et difficiles à utiliser, mais qui
produisent des interfaces plus avancées.

Les avantages des SGIUs peuvent être résumés dans les points suivants:
- encouragement pour le développement et la réutilisation des interfaces utilisateur;
- gain de temps dû à la correction des erreurs et l'aide automatique;
- cohérence entre différentes applications;
- production de logiciels faciles à utiliser et à apprendre;
- consistance des interfaces;
- prototypage rapide;
- test et évaluation des interfaces auprès des utilisateurs finaux.

Malgré les avantages qui présentent les SGIUs, un certain nombre d'inconvénients sont à noter:
- difficulté d'utilisation (apprentissage des langages de spécification);
- nombre réduit de fonctionnalité;
- restriction du domaine des application supportées;
- restriction du parallélisme;
- restriction des fonctions dépendantes du contexte;
- personnalisation de l'interface limitée;
- transfert des données inexistant ou limité entre applications;
- problèmes de portabilité et de disponibilité des SGIUs dans plusieurs environnements différents;
- difficulté de construction des SGIUs produisant des interfaces consistantes et homogènes;
- manque de supports et outils d'évaluation des interfaces;
- difficulté de séparer totalement l'interface utilisateur de l'application au niveau de
l'implémentation;
- manque de structuration (donc de lisibilité) des langages de spécification des SGIUs;
- peu de SGIUs sont indépendantes du style;
- peu de bon SGIUs qui sont commercialisés.


5.     Interfaces Homme-SGBD
Une interface homme-SGBD offre comme services:
• production d'une représentation perceptible des données de la base (extraites par le SGBD) sur
  un poste de travail;
• répercussion sur la base (par le SGBD) et sur la représentation perceptible des actions de
  l'utilisateur (par des outils physiques et logiciels définis par l'interface).

Nous avons deux types d'interfaces:
• interfaces qui séparent la représentation des données de leur manipulation: la représentation des
  données est confiée à des utilitaires comme les générateurs de rapports ou d'écrans. La
  manipulation est faite par un langage spécifique;
• interfaces intégrant la présentation et la manipulation des données.


5.1    Les langages de manipulation des interfaces classiques


                                                  13
Les langages de manipulation pour les interfaces classiques peuvent être classifiés selon trois
catégories: les langages textuels, les langages à base de menus et les langages naturels.

Les langages textuels sont définis par une syntaxe similaire à celle des langages procéduraux de
type Pascal et ils utilisent un ensemble de mots-clés à connotation sémantique.
Ces langages peuvent être classifiés comme:
- algébriques: les requêtes sont exprimées à l'aide d'opérations dont les opérandes sont des
   relations (exemple: SQL);
- prédicatifs: utilisent la logique des prédicats pour extraire l'ensemble des n-uplets souhaités
   (exemple: QUEL de INGRES).

Les langages à base de menus découpent le processus de manipulation en différentes étapes. A
chaque étape est proposée une liste de choix possibles à l'utilisateur; en fin de processus, la requête
correspondante est envoyée au SGBD (exemple: CAMPUS).

Certains systèmes proposent des interfaces de manipulation de données capables d'interpréter et de
traduire une requête exprimée en langue naturelle (exemples: Rendez-vous, Saphir, Lapin). Ce
genre de systèmes présente plusieurs difficultés:
        - spécifications complexes,
        - non-exhaustivité,
        - relative rigidité d'expression, etc.
Les systèmes existants sont en général définis pour un champs d'application bien déterminé et
partiellement ajustables à d'autres domaines.


5.2    Intégration de la représentation perceptible et de la manipulation

Les interfaces basées sur la manipulation directe proposent de manipuler les données en agissant sur
leur représentation perceptible.

• Les langages graphiques: Ces langages permettent de manipuler les données de la base au
  travers de la visualisation de leur schéma (exemples: QBE, GUIDE, CUPID).
  Deux idées principales sont mises en œuvre:
  - la manipulation des données se fait au travers de la représentation de leur schéma sur l'écran de
  visualisation;
  - la représentation perceptible utilise un langage de communication visuel bidimensionnel: les
  données sont affichées sous forme textuelle dans des tableaux à deux dimensions.

• Les formulaires: Le formulaire est un support de représentation de l'information couramment
  utilisé pour communiquer. Il a été utilisé dans des interfaces homme-SGBD pour représenter et
  manipuler les données de la base. Dans OBE il permet de spécifier une structure particulière
  pour un ensemble de données extraites de la base; dans FADS et IAF, le formulaire est utilisé
  comme unité conceptuelle d'échange entre le SGBD et l'interface.

• Représentations et manipulations spatiales: (Utilisées exemples sur SDMS, ISIS, ZOO)



6.     Ergonomie des interfaces homme-SGBD
6.1    La modélisation des données

                                                  14
Une partie des difficultés rencontrés par l'utilisateur est due à une trop grande discordance entre la
représentation proposée et la représentation mentale. Cette représentation est caractérisée par:

• aspects sémantiques: en fonction de la signification, l'utilisateur relie une nouvelle donnée à ce
  qu'il connait déjà. Cela signifie qu'il met en œuvre des stratégies différentes selon la signification
  de la donnée;
• structuration des données: l'utilisateur transforme les éléments d'information en unités plus
  larges. Ce mécanisme a une influence sur la compréhension du problème à résoudre.

Les utilisateurs sont capables de découvrir des relations sémantiques entre les données; toutes les
structures organisationnelles sont connues sous apprentissage. De plus, les performances sont
sensiblement meilleures lorsqu'une structuration est associée aux données. Il faut tenir en compte
que les utilisateurs ont des difficultés à insérer une donnée dans une structure inappropriée.

Conséquences:

• la structure des données doit se conformer aux relations sémantiques;
• une représentation unique de la structure de la base ne peut être envisageable;
• l'utilisateur doit pouvoir disposer d'un ensemble de constructeurs pour exprimer les relations
  structurelles entre les données;
• les performances sont accrues si l'utilisateur dispose du schéma de la base de données.


6.2    Architecture logicielle d'une interface homme-SGBD

Un SGBD conserve et retrouve des données volumineuses, utilisées pour de nombreuses
applications; les données sont conservées sous une forme indépendante de toute utilisation
particulière. Par contre, l'utilisation des données suppose un contexte précis, une description des
informations adaptée à l'activité: l'utilisateur fait une représentation mentale des données.

Nous avons besoin d'une communication entre le SGBD, qui s'appuie sur un modèle de données, et
l'utilisateur, qui s'appuie sur l'espace de perception de la communication humaine, réduit par les
dispositifs d'entrée-sortie.

L'interface traduit donc les échanges entre le SGBD et l'utilisateur: c'est une troisième entité séparée
du SGBD. Une bonne interface doit fournir:
• sur le plan perceptif, la production d'une représentation perceptible compréhensible et
   manipulable par l'utilisateur (avec l'aide de menus, fenêtres, du paradigme de manipulation
   directe);
• sur le plan conceptuel, la production d'une représentation des données adaptée à l'activité de
   l'utilisateur.


6.3    Principes pour les interfaces homme-SGBD

Nous allons discuter les caractéristiques principales d'une interface visuelle pour les SGBD.

• Manipulation directe: ce paradigme d'interaction (cf. ...) est devenu le standard pour les
  stations de travail qui utilisent un système de multifenêtrage et une souris.


                                                  15
• Absence de contraintes dans les choix de l'utilisateur: les utilisateurs ne devraient pas être
  obligés de suivre un chemin prédéfini pendant leurs interactions avec le système. Si une
  opération n'est pas atomique, les utilisateurs doivent avoir la possibilité de la commencer et
  passer à une autre action sans être obligés d'avoir complété la première (paradigme de
  manipulation directe). De plus, un utilisateur ne devrait pas être obligé d'accomplir un ensemble
  d'actions dans une séquence prédéfinie.

• Représentations graphiques appropriées: (......)

• Plusieurs profiles d'utilisateurs:



7.     Interfaces pour les systèmes de bases de données avancées
Problèmes

Les problèmes dérivent de au moins trois sources:
- les tâches accomplies par les utilisateurs des bases de données avancées (BDA);
- le profil des utilisateurs auxquels s'adresse l'interface;
- la complexité du système même.

Les tâches de l'utilisateur peuvent être décrites en termes de deux aspects complémentaires:
• accès et modification de l'état de la BDA: cet aspect comprend toutes les manipulations sur la
   BDA, telles que création et modification d'un schéma, saisie et modification des données,
   balayage du schéma et des données, expression de requêtes. Dans la pratique, ces tâches seraient
   librement entrelacées si le système permettait cette façon de travailler, mais la plupart des
   systèmes ne le font pas;
• exprimer des entrées pour la BDA et compréhendre les sorties de la BDA: cet aspect concerne
   l'échange d'information entre l'utilisateur humain et l'ordinateur. La communication utilisateur-
   système implique la transmission des commandes utilisateur à la BDA; la communication
   système-utilisateur a rapport avec la façon adopté par la BDA pour communiquer l'information.

Profil de l'utilisateur

Les aspects pertinents du profile d'un utilisateur concernent sa connaissance dans au moins quatre
domaines:
- le domaine de l'application en question et comment il est exprimé dans le schéma utilisé;
- le périphériques de sortie utilisées par l'interface;
- la BDA même: son modèle de données, etc.
- l'interface existante: les moyens de communication utilisés, le degré de complétude, etc.

Complexité de la BDA

Les interfaces pour des BDA basées sur un modèle des données pauvre du point de vue sémantique
sont plus simples que celles pour des systèmes basées sur des modèles sémantiquement riches. La
comparaison et l'évaluation des interfaces doit tenir en compte le modèle de données utilisé.

Solutions pour les interfaces des BDAs



                                                16
Le problème des interfaces aux BDAs est essentiellement le problème de combler la lacune entre
les modèles mentaux des utilisateurs du procès d'interaction et l'information qui peut être
représentée dans la BDA d'un côté, et de l'autre côté, les modèles imposés par le système, y compris
l'interface et la BDA sous-jacente.
Il y a quatre catégories d'interfaces qui peuvent être utilisées:
• interfaces basées sur le langage naturel: ces interfaces devraient permettre aux utilisateurs de
    travailler avec la BDA sans aucun apprentissage. Dans ce cas, les utilisateurs peuvent ignorer les
    modèles (de l'interaction et de la représentation de la connaissance) du système et compter sur
    leurs propres conceptions, car l'interface fera le travail de traduction entre les deux ensembles de
    modèles;
• interfaces graphiques basées sur la manipulation directe: l'utilisateur doit connaître et obéir aux
    modèles du système, mais l'interface est conçue de façon que l'apprentissage soit minimale et la
    charge cognitive pendant l'utilisation soit petite;
• interfaces basées sur les langages textuels de commande: l'utilisateur doit avoir une bonne
    connaissance des modèles du système et, en plus, l'interface même ne donne aucun soutien pour
    l'utilisateur, qui doit passer un long temps d'apprentissage, tout en ayant une charge cognitive
    très lourde pendant l'utilisation du système;
• combinaison d'une partie ou des toutes ces techniques.


Interfaces basées sur la manipulation directe

Examinons de plus près les fonctionnalités qui doivent être fournies par les interfaces basées sur la
manipulation directe.
Une des activités principales qui doivent être fournies par l'interface est le browsing (balayage).
Cela est une condition préalable importante pour exprimer des requêtes. Dans une BDA, il y a deux
niveaux de balayage:
• balayage du schéma: inspection de la structure de la BDA, affichée sous forme d'un diagramme
   graphique qui peut être manipulé directement par la souris;
• balayage des données: il remplace certain types de requêtes, en utilisant une table dans des
   fenêtres scrollables.

La complexité des modèles sémantiques des données porte à des extensions des opérations de
balayage:
- balayage des hiérarchies dans le schéma;
- inspection des règles et des contraintes.

La phase suivante c'est de fournir une interface pour la formulation des requêtes. Un système
graphique pour l'expression des requêtes devrait fournir les opérations élémentaires suivantes:
projection, agrégation, jointure, sélection (avec les opérateurs logiques et/ou/non) et les
quantificateurs. Cela peut être obtenu par un langage de requêtes avec une syntaxe bidimensionnelle
(définie de façon formelle), où la structure des requêtes peut être changé par manipulation directe.

Une représentation graphique du schéma conceptuel peut être utilisé comme base pour exprimer des
requêtes sur la base de données correspondante. Un schéma conceptuel graphique aide l'utilisateur à
se rappeler et comprendre la structure conceptuelle de l'univers du discours: de cette façon
l'utilisateur travaille seulement au niveau conceptuel. Il utilise le schéma conceptuel pour étudier le
contenu conceptuel de l'univers du discours ou pour avoir un point de référence dans l'expression
des requêtes sur la base de données sous-jacente.



                                                  17
La formulation graphique d'une requête devrait être faite avec un effort minimal (au moins pour les
situations les plus simples): dans les cas les plus simples, l'utilisateur clique directement sur l'objet
d'intérêt. L'utilisation du diagramme correspondant au schéma conceptuel aide à la
compréhensibilité et à la lisibilité des requêtes exprimées par l'utilisateur. L'un des buts des
interfaces graphiques pour une BDA est de faire comprendre le système à l'utilisateur et donc
améliorer le possibilités de l'utilisateur d'interagir avec l'application.

Ensuite, l'interface devrait fournir des outils pour la modification de la base de données, notamment
la mise à jour des données et la mise à jour du schéma. D'autres fonctionnalités intéressantes sont:
- contrôle syntaxique/de validité des requêtes avant de l'exécuter;
- mémorisation des requêtes pour les réutiliser après;
- échange (switching) entre sous-tâches différentes.


Interfaces basées sur le langage naturel

Ce genre d'interfaces sont utilisées surtout pour exprimer des requêtes sur une base de données. La
traduction d'une requête écrite en langage naturel n'est pas triviale; le système doit accomplir les
tâches suivantes:
• analyse lexicale des composants de la phrase;
• découverte des relations significatives entre les mots importants du point de vue sémantique à
   l'intérieur de la phrase (cela nécessite une analyse syntaxique et l'utilisation de restrictions);
• gestion des expressions imprécises, incomplètes, et d'autres phénomènes complexes du langage.

Les deux premières problèmes ne peuvent pas être résolus sans limiter la liberté de l'utilisateur dans
la formulation des ses requêtes; de plus, l'ensemble des concepts est limité par le fait que le système
stocke de informations sur une situation bien précise.




                                                   18

								
To top