Types d'interfaces utilisateur. Développement des technologies de l'information

L'interaction d'un opérateur avec un ordinateur est une partie importante du processus de calcul dans la résolution de divers problèmes appliqués, à la fois scientifiques et industriels. Création de programmes dans le domaine de l'organisation des relations de marché lors de la création de sites d'information pour diverses organisations et entreprises, lors de la création de programmes de gestion des processus de production, de comptabilité des produits et de leur vente, de gestion de la qualité, et même avec une tâche telle que le tri des e-mails par une secrétaire, il est nécessaire de développer une interaction conviviale avec l'ordinateur.

Concevoir- un processus itératif par lequel les exigences du PS sont traduites en représentations techniques du PS. Habituellement, il y a deux étapes dans la conception : la conception préliminaire et la conception détaillée. La conception préliminaire forme des abstractions au niveau architectural, la conception détaillée affine ces abstractions. De plus, dans de nombreux cas, la conception d'interface est distinguée, dont le but est de former une interface utilisateur graphique (GUI). Le schéma des liens d'information du processus de conception est illustré à la fig.

Définition des interfaces.

En tout, interfaces (interface) – c'est un ensemble de principes logiques et physiques d'interaction entre les composants des moyens techniques d'un système informatique (SC), c'est-à-dire un ensemble de règles d'algorithmes et d'accords temporaires pour l'échange de données entre les composants du CS (système logique interface), ainsi qu'un ensemble de caractéristiques physiques, mécaniques et fonctionnelles des moyens de connexion mettant en œuvre cette interaction (interface physique).

Interface souvent appelés outils techniques et logiciels qui implémentent l'interface entre les appareils et les nœuds de l'avion.

L'interface s'étend à tous les moyens logiques et physiques d'interaction du système informatique avec l'environnement extérieur, par exemple, avec le système d'exploitation, avec l'opérateur, etc.

Types d'interfaces

Les interfaces se distinguent par des caractéristiques telles que la structure des connexions, la méthode de connexion et de transmission des données, les principes de contrôle et de synchronisation.

    Interface en machine - un système de communication et des moyens d'interfacer les nœuds et les blocs d'un ordinateur entre eux. L'interface dans la machine est un ensemble de lignes de communication électriques (fils), de circuits d'interface avec des composants informatiques, de protocoles (algorithmes) de transmission et de conversion de signaux.

Il existe deux options d'organisation dans l'interface machine :

Interface multi-connexion, dans laquelle chaque unité PC est connectée à d'autres unités par ses fils locaux ;

Une interface de liaison unique dans laquelle toutes les unités PC sont connectées les unes aux autres via un bus commun ou système.

2. Interface externe - système de communication de l'unité centrale avec les périphériques de l'ordinateur ou avec d'autres ordinateurs

Ici, vous pouvez également distinguer plusieurs types d'interface externe :

Interface de périphériques connectés via des bus d'E/S (ISA, EISA, VLB, PCI, AGP, USB IEEE 1384 SCSI, etc.) ;

Une interface réseau, telle qu'un réseau poste à poste ou client-serveur avec des topologies en étoile, en anneau ou en bus.

3. Interface homme-machine ou interface homme-ordinateur ou interface utilisateur - c'est la manière dont vous effectuez une tâche à l'aide de n'importe quel moyen (n'importe quel programme), à ​​savoir les actions que vous effectuez et ce que vous obtenez en retour.

Une interface est à dimension humaine si elle répond aux besoins de la personne et tient compte de ses faiblesses.

Interface machines - une partie de l'interface implémentée dans la machine (sa partie matérielle et logicielle) utilisant les capacités de la technologie informatique.

La partie humaine de l'interface - c'est une partie de l'interface mise en place par une personne, en tenant compte de ses capacités, ses faiblesses, ses habitudes, sa capacité d'apprentissage et d'autres facteurs.

Les interfaces les plus courantes sont définies par des normes nationales et internationales.

Dans ce qui suit, seule l'interface utilisateur sera considérée.

Classification des interfaces utilisateur

Comme mentionné ci-dessus, une interface est avant tout un ensemble de règles qui peuvent être combinées selon la similitude des façons dont une personne interagit avec un ordinateur.

Il existe trois types d'interfaces utilisateur : les interfaces de commande, WIMP et SILK.

L'interaction des interfaces répertoriées avec les systèmes d'exploitation et les technologies est illustrée à la figure 1 :

Riz. 1. Interaction des interfaces utilisateur de leurs technologies et systèmes d'exploitation.

1. Interface de commande, dans lequel l'interaction d'une personne avec un ordinateur s'effectue en donnant des commandes à l'ordinateur qu'il exécute et donne le résultat à l'utilisateur. L'interface de commande peut être implémentée en tant que technologie batch et technologie de ligne de commande. Actuellement, la technologie par lots n'est pratiquement pas utilisée et la technologie de la ligne de commande peut être utilisée comme moyen de communication de secours entre une personne et un ordinateur.

Technologie de paquets.

Historiquement, ce type de technologie est apparu d'abord sur les ordinateurs électromécaniques de K. Zuse, G. Aikin, puis sur les ordinateurs électroniques d'Eckert et Mouchli, sur les ordinateurs domestiques de Lebedev, Brusentsov, sur l'ordinateur IBM-360, sur le Ordinateur EC, et ainsi de suite. Son idée est simple et consiste dans le fait que l'entrée de l'ordinateur est une séquence de programmes bourrés, par exemple, sur des cartes perforées, et une séquence de symboles qui déterminent l'ordre dans lequel ces programmes sont exécutés. L'homme ici a peu d'influence sur le fonctionnement de la machine. Il ne peut que suspendre le fonctionnement de la machine, modifier le programme et redémarrer l'ordinateur.

technologie de ligne de commande.

Avec cette technologie, le clavier est utilisé comme méthode de saisie d'informations par l'opérateur dans l'ordinateur, et l'ordinateur affiche des informations à la personne à l'aide d'un écran alphanumérique (moniteur). La combinaison moniteur-clavier est devenue connue sous le nom de terminal ou de console. Les commandes sont saisies dans la ligne de commande, qui est un symbole d'invitation et un curseur clignotant, tandis que les caractères saisis peuvent être effacés et modifiés. En appuyant sur la touche Entrée, l'ordinateur accepte la commande et commence à l'exécuter. Après être passé au début de la ligne suivante, l'ordinateur affiche les résultats de son travail sur le moniteur. L'interface de commande la plus courante était dans le système d'exploitation MS DOS.

2. OOMU (fenêtre, image, menu, pointeur)MAUVIETTE (la fenêtre, image, menu, aiguille) - interfaces. Une caractéristique de cette interface est que le dialogue de l'utilisateur avec l'ordinateur s'effectue non pas à l'aide de la ligne de commande, mais à l'aide de fenêtres, d'icônes de menu, de curseur et d'autres éléments. Bien que des commandes soient données à la machine dans cette interface, cela se fait par le biais d'images graphiques.

L'idée d'une interface graphique est née au milieu des années 1970 au Xerox Palo Alto Research Center (PARC). La condition préalable à l'interface graphique était une diminution du temps de réponse de l'ordinateur à une commande, une augmentation de la quantité de RAM, ainsi que le développement de la base d'éléments, des caractéristiques techniques des ordinateurs et, en particulier, des moniteurs. Avec l'avènement des écrans graphiques avec la possibilité d'afficher des images graphiques de différentes couleurs, l'interface graphique est devenue une partie intégrante de tous les ordinateurs. Peu à peu, le processus d'unification de l'utilisation du clavier et de la souris par les programmes d'application a eu lieu. La confluence de ces deux tendances a conduit à la création d'une telle interface utilisateur, à l'aide de laquelle, avec un temps et un coût minimaux pour la formation du personnel, vous pouvez travailler avec n'importe quelle application logicielle.

Ce type d'interface est implémenté à deux niveaux :

Interface graphique simple ;

WINP complet - interface.

Interface graphique simple , qui à la première étape était très similaire à la technologie de ligne de commande avec les différences suivantes :

Lors de l'affichage de caractères afin d'augmenter l'expressivité de l'image, il était permis de mettre en surbrillance certains des caractères avec la couleur, l'image inversée, le soulignement et le scintillement ;

Le curseur pourrait être représenté par une zone mise en évidence en couleur et couvrant plusieurs caractères et même une partie de l'écran ;

La réaction à l'appui sur n'importe quelle touche est devenue largement dépendante de la partie dans laquelle se trouve le curseur.

En plus des touches de curseur fréquemment utilisées, des manipulateurs tels qu'une souris, une boule de commande, etc. ont commencé à être utilisés, ce qui a permis de sélectionner rapidement la zone souhaitée de l'écran et de déplacer le curseur;

Utilisation généralisée des moniteurs couleur.

L'apparition d'une interface graphique simple coïncide avec l'utilisation généralisée du système d'exploitation MS DOS. Un exemple typique de son utilisation est le shell de fichiers Norton Commander et les éditeurs de texte MaltiEdit, ChiWriter, Microsoft Word pour DOS, Lexicon, etc.

Plein MAUVIETTE -interface , était la deuxième étape du développement de l'interface graphique, qui se caractérise par les caractéristiques suivantes :

Tout travail avec des programmes, des fichiers et des documents s'effectue dans Windows ;

Les programmes, fichiers, documents, périphériques et autres objets sont représentés sous forme d'icônes (icônes), qui se transforment en fenêtres lorsqu'elles sont ouvertes ;

Toutes les actions avec des objets sont effectuées à l'aide du menu, qui devient l'élément de contrôle principal ;

Le manipulateur agit comme le principal moyen de contrôle.

Il convient de noter que l'interface WIMP nécessite pour sa mise en œuvre une exigence accrue en termes de performances de l'ordinateur, la quantité de sa mémoire, un affichage couleur raster de haute qualité des logiciels orientés vers ce type d'interface. Actuellement, l'interface WIMP est devenue la norme de facto et le système d'exploitation Microsoft Windows en est devenu un représentant éminent.

3. ROYAZ (parole, image, langage, savoir)SOIE (parole, image, Langue, connaissances) - interfaces. Cette interface est la plus proche de la forme de communication humaine habituelle. Au sein de cette interface, il y a une conversation normale entre une personne et un ordinateur. En même temps, l'ordinateur trouve des commandes pour lui-même en analysant la parole humaine et en y trouvant des phrases clés. Il convertit également les résultats de l'exécution de la commande sous une forme lisible par l'homme. Ce type d'interface nécessite des coûts matériels importants, par conséquent, il est en cours de développement et d'amélioration et n'est actuellement utilisé qu'à des fins militaires.

L'interface SILK pour la communication homme-machine utilise :

technologie vocale;

Technologie biométrique (interface mimique);

Interface sémantique (publique).

Technologie vocale est apparu au milieu des années 90 après l'introduction de cartes son bon marché et l'utilisation généralisée des technologies de reconnaissance vocale. Avec cette technologie, les commandes sont données à la voix en prononçant des mots standard spéciaux (commandes), qui doivent être prononcés clairement, au même rythme avec des pauses obligatoires entre les mots. Considérant que les algorithmes de reconnaissance vocale ne sont pas suffisamment développés, une pré-configuration individuelle du système informatique pour un utilisateur spécifique est nécessaire. Il s'agit de l'implémentation la plus simple de l'interface SILK.

Technologie biométrique (« Mimic Interface ») est né à la fin des années 1990 et est actuellement en cours de développement. Pour contrôler l'ordinateur, l'expression faciale, la direction du regard, la taille de la pupille et d'autres signes d'une personne sont utilisés. Pour identifier l'utilisateur, le motif de l'iris de ses yeux, ses empreintes digitales et d'autres informations uniques lues à partir d'un appareil photo numérique sont utilisées, puis des commandes sont extraites de cette image à l'aide d'un programme de reconnaissance de formes.

Interface sémantique (publique) a émergé à la fin des années 70 du XXe siècle, avec le développement de l'intelligence artificielle. On peut difficilement l'appeler un type d'interface indépendant, car il comprend une interface de ligne de commande et des interfaces graphiques, vocales et mimiques. Sa principale caractéristique est l'absence de commandes lors de la communication avec un ordinateur. La requête est formée en langage naturel, sous forme de texte et d'images associés. En fait, il s'agit d'une simulation d'interaction humaine avec un ordinateur. Actuellement utilisé à des fins militaires. Une telle interface est essentielle dans un environnement de combat aérien.

"Mécanisme de transmission" - Le résultat de la leçon. Technologie 3 classe. Formation à la conception de divers modèles techniques avec un mécanisme d'entraînement. Engrenage croisé - lorsque les roues tournent dans des directions différentes. Types d'engrenages : 1 - courroie ; 2 - chaîne; 3 - vitesse. Produits avec engrenage : convoyeur, grue, broyeur. La partie principale de la conception du broyeur est le mécanisme de transmission.

"Interfaces informatiques" - Interface utilisateur. Logiciel. Programmes de services. Ordinateur personnel en tant que système. fourni par le système d'exploitation de l'ordinateur. Spécifiez les entrées et les sorties. interface matérielle. Interface matériel-logiciel. Système opérateur. Fichiers texte. Programmes système. Interface matériel-logiciel - l'interaction du matériel informatique et des logiciels.

"Technologies en classe" - Les formes d'organisation peuvent être différentes : cours, groupe, individuel, binôme. Les méthodes actives et interactives sont utilisées par moi de la 5e à la 11e année. Types de technologies : Technologie d'apprentissage centré sur l'élève. Technologie d'apprentissage développemental. Technologie de l'apprentissage centré sur l'élève Projet de technologie de recherche.

"Technologies éducatives à l'école" - Laboratoire des problèmes non résolus. Appui méthodologique aux projets créatifs des établissements d'enseignement et des enseignants. Technologies du jeu. Croissance de l'indicateur d'utilisation des TIC dans le processus éducatif. Diffusion de l'expérience pédagogique avancée. Réduire le nombre de répéteurs. La croissance des compétences des enseignants, l'impact sur la qualité de la leçon.

"Classe de technologie 6 - 7 - 8" - Comment mesure-t-on l'énergie électrique ? Quelle mesure détermine la taille du produit d'épaule ? Que signifiait, selon les idées populaires, le commencement de toute vie ? Quelle partie entraîne toutes les pièces de travail de la machine à coudre ? Matière première pour fabriquer un carrosse pour Cendrillon. Quelle est la fonction des rainures sur la lame de l'aiguille ?

"Sections de technologie" - Et nous avons des perles brillantes - Beauté inhabituelle. Sujet - Technologie. Le patchwork est connu depuis longtemps dans de nombreux pays. Fêtes et rituels nationaux, vêtements nationaux. Ils parlent des traditions des différents peuples, des fêtes nationales et des rituels. Après la cuisson des beignets, laisser refroidir légèrement, frotter avec de l'ail écrasé.

  • POO
  • Lundi dernier, j'ai eu la chance d'obtenir un entretien pour un développeur .Net senior dans une entreprise internationale. Au cours de l'entretien, on m'a proposé de passer un test, où un certain nombre de questions étaient liées à .Net. En particulier, dans l'une des questions, il était nécessaire d'évaluer (vrai / faux) un certain nombre d'affirmations, parmi lesquelles les suivantes :

    Dans .Net, tout tableau d'éléments, tel que int, implémente IList par défaut, ce qui lui permet d'être utilisé comme une collection dans une instruction foreach.

    Répondre rapidement à cette question par la négative et ajouter séparément les marges. que foreach nécessite une implémentation non pas de IList mais de IEnumerable, je suis passé à la question suivante. Cependant, sur le chemin du retour, j'ai été tourmenté par la question : la baie implémente-t-elle toujours cette interface ou non ?

    À propos de IList, je me suis vaguement souvenu que cette interface me donne un IEnumerable, un indexeur et une propriété Count contenant le nombre d'éléments de la collection, ainsi que quelques propriétés rarement utilisées, telles que IsFixedCollection(). Un tableau a une propriété Length pour sa taille, et IEnumerable's Count est une méthode d'extension de LINQ, ce qui ne serait pas possible si cette méthode était implémentée dans la classe. Ainsi, il s'est avéré que le tableau ne pouvait pas implémenter l'interface IList, mais un sentiment vague m'a hanté. Par conséquent, le soir après l'entretien, j'ai décidé de faire une petite recherche.

    Classe System.Array

    Comme je n'avais pas installé Reflector.Net, je viens d'écrire un court programme C # pour savoir quelles interfaces sont implémentées par un tableau d'entiers.

    Var v = nouveau entier ( 1, 2, 3 ); var t = v.GetType(); var je = t.GetInterfaces(); foreach(var tp in i) Console.WriteLine(tp.Name);

    Voici la liste complète des interfaces reçues depuis la fenêtre de la console :

    ICloneable IList ICollection IEnumerable IStructuralComparable IStructuralEquatable IList`1 ICollection`1 IEnumerable`1 IReadOnlyList`1 IReadOnlyCollection`1

    De cette façon, un tableau dans .Net implémente toujours l'interface IList et sa version générique IList<> .

    Pour obtenir des informations plus complètes, j'ai construit un diagramme de la classe System.Array.

    Mon erreur a immédiatement attiré mon attention : Count n'était pas une propriété de IList, mais de ICollection, l'interface précédente dans la chaîne d'héritage. Cependant, le tableau lui-même n'avait plus une telle propriété, pas plus que la plupart des autres propriétés de l'interface IList, bien que les autres propriétés de cette interface, IsFixedSize et IsReadOnly, aient été implémentées. Comment est-ce possible?

    Tout se met immédiatement en place lorsque vous vous souvenez qu'en C #, vous pouvez implémenter des interfaces non seulement
    implicitement (implicite), mais aussi explicitement (explicite). Je connaissais cette possibilité grâce aux manuels, où un exemple d'une telle mise en œuvre dans un cas était donné. lorsque la classe de base contient déjà une méthode portant le même nom que la méthode d'interface. J'ai également vu cette possibilité dans ReSharper. Cependant, jusqu'à présent, je n'ai pas directement rencontré le besoin d'implémenter explicitement des interfaces dans mes propres projets.

    Comparaison de l'implémentation explicite et implicite des interfaces

    Comparons ces deux types d'implémentations d'interface :
    Critère
    Implémentation implicite
    Implémentation explicite
    Syntaxe de base
    interface ITest ( void DoTest(); ) classe publique ImplicitTest: ITest ( public void DoTest() ( ) )
    interface ITest ( void DoTest(); ) public class ExplicitTest: ITest ( void ITest.DoTest() ( ) )
    Visibilité
    L'implémentation implicite a toujours été publique, de sorte que les méthodes et les propriétés sont accessibles directement.
    var imp = new ImplicitTest(); imp.DoTest();
    L'implémentation explicite est toujours privée.
    Pour accéder à l'implémentation, vous devez convertir l'instance de classe en interface (upcast en interface).
    varexp = nouveau TestExplicit(); ((ITest)exp).DoTest();
    Polymorphie
    Une implémentation d'interface implicite peut être virtuelle (virtual), ce qui permet de réécrire cette implémentation dans des classes descendantes.
    Une implémentation explicite est toujours statique. Il ne peut pas être remplacé ou remplacé (nouveau) dans les classes descendantes. Noter. une
    Classe abstraite et implémentation
    Une implémentation implicite peut être abstraite et implémentée uniquement dans une classe descendante.
    Une implémentation explicite ne peut pas être abstraite, mais la classe elle-même peut avoir d'autres méthodes abstraites et être elle-même abstraite. Noter. 2

    Remarques:
    Noter. 1 - Comme indiqué à juste titre dans les commentaires, l'implémentation peut être remplacée par une implémentation ré-explicite de l'interface dans la classe descendante (voir le premier commentaire de l'article).

    Noter. 2 - L'un des blogs déclare qu'une classe elle-même ne peut pas être abstraite. C'était peut-être vrai pour certaines des versions précédentes du compilateur ; dans mes expériences, j'ai pu implémenter l'interface explicitement dans une classe abstraite sans aucun problème.

    Pourquoi la mise en œuvre explicite des interfaces est nécessaire

    L'implémentation explicite d'une interface, selon MSDN, est requise lorsque plusieurs interfaces implémentées par une classe ont une méthode avec la même signature. Ce problème est généralement connu dans le monde anglophone sous le nom glaçant de "diamant mortel de la mort", qui se traduit en russe par "le problème du diamant". Voici un exemple d'une telle situation :

    /* Listing 1 */ interface IJogger ( void Run(); ) interface ISkier ( void Run(); ) public class Athlete: ISkier, IJogger ( public void Run() ( Console.WriteLine("Suis-je un athlète, un skieur ou Joggeur ?"); ) )

    Soit dit en passant, cet exemple est un code correct en C #, c'est-à-dire qu'il compile et s'exécute (correctement), tandis que la méthode Run () est à la fois une méthode de la classe elle-même et une implémentation de jusqu'à deux interfaces. Ainsi, nous pouvons avoir une implémentation pour différentes interfaces et pour la classe elle-même. Vous pouvez vérifier cela avec le code suivant :

    /* Liste 2 */ var sp = new Athlète(); sp.Run(); (sp comme Iskier).Run(); (sp comme IJogger).Run();

    Le résultat de l'exécution de ce code sera "Suis-je un athlète, un skieur ou un joggeur ?", imprimé trois fois sur la console.

    C'est là que nous pouvons utiliser une implémentation d'interface explicite pour séparer les trois cas :

    /* Liste 3 */ public class Sportsman ( public virtual void Run() ( Console.WriteLine("I am a Sportsman"); ) ) public class Athlete: Sportsman, ISkier, IJogger ( public override void Run() ( Console. WriteLine("Je suis un athlète"); ) void ISkier.Run() ( Console.WriteLine("Je suis un skieur"); ) void IJogger.Run() ( Console.WriteLine("Je suis un joggeur"); ) )

    Dans ce cas, lors de l'exécution du code du Listing 2, nous verrons trois lignes dans la console, "Je suis un athlète", "Je suis un skieur" et "Je suis un Joggeur".

    Avantages et inconvénients des différentes implémentations d'interface

    Visibilité de la mise en œuvre et mise en œuvre sélective
    Comme déjà montré ci-dessus, l'implémentation implicite ne diffère pas syntaxiquement d'une méthode de classe régulière (de plus, si cette méthode a déjà été définie dans la classe ancêtre, alors dans cette syntaxe la méthode sera cachée dans l'enfant et le code sera compilé sans problèmes d'avertissement du compilateur c sur le masquage de méthode.). De plus, il est possible d'implémenter sélectivement des méthodes individuelles d'une interface à la fois explicitement et implicitement :

    /* Listing 4 */ public class Code ( public void Run() ( Console.WriteLine("Je suis une méthode de classe"); ) ) interface ICommand ( void Run(); void Execute(); ) public class CodeCommand : Code , ICommand ( // implémentation implicite de la méthode d'interface // => implémentation publique // masquage implicite de la méthode de classe de base (avertissement ici) public void Run() ( base.Run(); ) // implémentation explicite de la méthode d'interface // => privé implémentation void ICommand.Execute() () )

    Cela vous permet d'utiliser les implémentations de méthodes d'interface individuelles en tant que méthodes natives de la classe et elles sont disponibles, par exemple, via IntelliSense, contrairement à l'implémentation explicite de méthodes privées et visibles uniquement après la conversion vers l'interface correspondante.

    D'autre part, la possibilité d'implémentation privée des méthodes vous permet de masquer un certain nombre de méthodes d'interface, tout en les implémentant entièrement. En revenant à notre tout premier exemple avec des tableaux dans .Net, vous pouvez voir qu'un tableau cache, par exemple, l'implémentation de la propriété Count de l'interface ICollection en exposant cette propriété sous le nom Length (probablement une tentative de maintenir la compatibilité avec C++ STL et Java). Ainsi, nous pouvons masquer des méthodes individuelles de l'interface implémentée et ne pas masquer (= rendre publiques) les autres.

    Ici, cependant, il y a un tel problème que dans de nombreux cas, il est complètement impossible de deviner quelles interfaces sont implicitement implémentées par la classe, puisque ni les méthodes ni les propriétés de ces interfaces ne sont visibles dans IntelliSense (l'exemple avec System.Array est aussi indicatif ici). La seule façon d'identifier de telles implémentations consiste à utiliser la réflexion, comme avec le navigateur d'objets dans Visual Studio.

    Refonte de l'interface
    Étant donné que l'implémentation implicite (publique) de l'interface ne diffère pas de l'implémentation de la méthode publique de la classe, dans le cas de la refactorisation de l'interface et de la suppression de toute méthode publique (par exemple, lors de la combinaison de Run() et Execute () de l'interface ICommand ci-dessus en une seule Run( )) dans toutes les implémentations implicites, il y aura une méthode avec accès public, qui, très probablement, devra être prise en charge même après la refactorisation, car cette méthode publique peut déjà avoir différents dépendances dans d'autres composants du système. En conséquence, le principe de programmation "contre des interfaces, pas des implémentations" sera violé, puisque les dépendances seront déjà entre des implémentations spécifiques (et dans différentes classes, bien sûr, différentes) de l'ancienne méthode d'interface.

    /* Listing 5 */ interface IFingers ( void Thumb(); void IndexFinger(); // une méthode d'interface obsolète // void MiddleFinger(); ) public class HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // voici une méthode publique "pendante" public void MiddleFinger() () ) public class AntropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // ici l'erreur du compilateur void IFingers.MiddleFinger() () )

    Dans le cas d'une implémentation privée d'interfaces, toutes les classes avec une implémentation explicite d'une méthode qui n'existe plus arrêteront simplement de compiler, cependant, après avoir supprimé l'implémentation devenue inutile (ou refactorisée dans une nouvelle méthode), nous allons ne pas avoir de méthode publique "supplémentaire" qui n'est liée à aucune interface. Bien sûr, une refactorisation des dépendances sur l'interface elle-même peut être nécessaire, mais ici, au moins, il n'y aura pas de violation du principe « du programme aux interfaces, pas aux implémentations ».

    En ce qui concerne les propriétés, les propriétés d'interface implémentées implicitement (propriétés) vous permettent d'y accéder via des méthodes d'accès (getter et setter) à la fois de l'extérieur et directement de la classe elle-même, ce qui peut entraîner des effets inutiles (par exemple, une validation inutile des données lors de propriétés d'initialisation).

    /* Listing 6 */ interface IProperty ( int Amount ( get; set; ) ) public class ClassWithProperty: IProperty ( // implémentation implicite, public public int Amount ( get; set; ) public ClassWithProperty() ( // invocation interne de la public setter Amount = 1000; ) ) public class ClassWithExplicitProperty: IProperty ( // implémentation explicite, private int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // invocation interne impossible // erreur du compilateur ici Amount = 1000 ;) )

    Avec l'implémentation explicite des propriétés d'interface, ces propriétés restent privées, et pour l'accès, vous devez parcourir le chemin "long" et déclarer un champ privé supplémentaire à travers lequel l'initialisation se produit. Cela se traduit par un code plus propre lorsque les accesseurs de propriété ne sont utilisés que pour un accès externe.

    Utilisation du typage explicite des variables locales et des champs de classe
    Dans le cas d'une implémentation explicite d'interfaces, nous devons indiquer explicitement que nous ne travaillons pas avec une instance d'une classe, mais avec une instance d'une interface. Ainsi, par exemple, il devient impossible d'utiliser l'inférence de type et de déclarer des variables locales en C# à l'aide du mot-clé var. Au lieu de cela, nous devons utiliser une déclaration de type d'interface explicite lors de la déclaration des variables locales, ainsi que dans les signatures de méthode et les champs de classe.

    Ainsi, d'une part, nous rendons en quelque sorte le code un peu moins flexible (par exemple, ReSharper par défaut suggère toujours d'utiliser une déclaration avec var si possible), mais nous évitons les problèmes potentiels associés à la liaison à une implémentation spécifique à mesure que le système se développe et son code de volume. Ce point peut sembler controversé pour beaucoup, mais dans le cas où plusieurs personnes travaillent sur un projet, et même dans différentes parties du monde, l'utilisation du typage explicite peut être très utile, car elle augmente la lisibilité du code et réduit le coût de son soutien.

    CONFÉRENCE 23-24

    Rubrique 3.2 Conception d'interfaces utilisateur

    1. Types d'interfaces utilisateur et étapes de leur développement.

    2. Caractéristiques psychophysiques d'une personne associées à la perception, à la mémorisation et au traitement de l'information.

    3. Modèles d'interface utilisateur et logiciel.

    4. Classifications des dialogues et principes généraux pour leur développement.

    5. Principaux composants des interfaces utilisateur graphiques.

    6. Implémentation de boîtes de dialogue dans une interface utilisateur graphique.

    7. Interfaces utilisateur pour la manipulation directe et leur conception.

    8. Éléments intelligents des interfaces utilisateur.

    Aux premiers stades du développement de la technologie informatique, l'interface utilisateur était considérée comme un moyen de communication humaine avec le système d'exploitation et était assez primitive.

    Avec l'avènement des logiciels interactifs, des interfaces utilisateur spéciales ont commencé à être utilisées. Actuellement, le principal problème est le développement d'interfaces interactives pour des produits logiciels complexes destinés à être utilisés par des utilisateurs non professionnels.

    1. Types d'interfaces utilisateur et étapes de leur développement

    Interface utilisateur- un ensemble de logiciels et de matériel qui permet à l'utilisateur d'interagir avec un ordinateur. Base d'interaction- dialogues.

    Dialogue- échange régulé d'informations entre une personne et un ordinateur, effectué en temps réel et visant à résoudre ensemble un problème précis : échange d'informations et coordination d'actions. Chaque boîte de dialogue consiste en des processus d'entrée-sortie distincts qui assurent physiquement la communication entre l'utilisateur et l'ordinateur.

    L'échange d'informations s'effectue par la transmission de messages et de signaux de commande.

    Message– une information impliquée dans l'échange de dialogue.

    Types de messages :

    Messages d'entrée qui sont générés par une personne utilisant des moyens d'entrée : clavier, manipulateurs (souris, etc.) ;

    Messages de sortie qui sont générés par un ordinateur sous la forme de textes, de signaux audio et/ou d'images et affichés à l'utilisateur sur un écran de moniteur ou d'autres dispositifs de sortie d'informations.

    L'utilisateur génère des messages tels que :

    Demande d'information,

    demande d'aide,

    Demande d'opération ou de fonctionnalité,

    saisir ou modifier des informations,

    Sélection du champ de trame.

    Reçoit en réponse :

    Conseils ou aide

    forme lexicale- un morceau de texte entre deux espaces adjacents ou des signes de ponctuation.

    Analyse morphologique - traitement des formes de mots hors contexte.

    Procédural - implique la mise en évidence de la racine dans la forme actuelle du mot, qui est ensuite identifiée.

    Après la reconnaissance des formes de mots, l'analyse syntaxique du message est effectuée, dont les résultats déterminent sa structure syntaxique, c'est-à-dire que la phrase est analysée.

    Une interface qui implémente la forme phrasale d'un dialogue doit : convertir les messages d'une forme de langage naturel en une représentation interne et vice versa, analyser et synthétiser les messages utilisateur et système, suivre et mémoriser la partie passée du dialogue.

    Défauts forme phrastique :

    Coûts élevés des ressources ;

    Aucune garantie d'interprétation sans ambiguïté du libellé ;

    La nécessité de saisir de longues phrases grammaticalement correctes.

    Dignité forme phrasale - communication libre avec le système.

    formulaire de directive - utilisation de commandes (directives) langage formel spécialement conçu.

    Équipe est une phrase de ce langage décrivant les données combinées, qui comprend l'identifiant du processus initié et, si nécessaire, des données pour celui-ci.

    La commande peut être saisie :

    Sous forme de chaîne de texte, format spécialement conçu (commandes MS DOS sur la ligne de commande);

    En appuyant sur une combinaison de touches (combinaisons "d'accès rapide" des applications Windows);

    En manipulant la souris (« glisser-déposer » des icônes) ;

    Une combinaison des deuxième et troisième méthodes.

    Avantages forme directive :

    Petite quantité d'informations d'entrée ;

    Flexibilité - la possibilité de sélectionner une opération est limitée par l'ensemble des commandes valides ;

    Orientation vers un dialogue axé sur l'utilisateur ;

    Utiliser la zone d'écran minimale ou ne pas l'utiliser du tout ;

    Possibilité de combiner avec d'autres formes.

    Défauts forme directive :

    La quasi-absence d'invites à l'écran, qui oblige à mémoriser les commandes saisies et leur syntaxe ;

    Absence presque totale de retour d'information sur l'état des processus initiés ;

    Le besoin de compétences pour saisir des informations textuelles ou manipuler la souris ;

    Manque de personnalisation de l'utilisateur.

    La forme directive est pratique pour l'utilisateur professionnel, qui se souvient généralement rapidement de la syntaxe des commandes ou des combinaisons de touches fréquemment utilisées. Les avantages de la forme (souplesse et bonnes caractéristiques temporelles) sont particulièrement prononcés dans ce cas.

    forme tabulaire - l'utilisateur sélectionne une réponse parmi celles proposées par le programme. Le langage de dialogue a la syntaxe la plus simple et une sémantique sans ambiguïté, ce qui est assez facile à mettre en œuvre. Le formulaire est convivial, car il est toujours plus facile de choisir, ce qui est essentiel pour un utilisateur non professionnel. Ce formulaire peut être utilisé si l'ensemble des réponses possibles à une question particulière est fini. Si le nombre de réponses possibles est important (plus de 20), l'utilisation d'un formulaire tabulaire peut ne pas être appropriée.

    Vertus et sous forme de tableau :

    La présence d'un indice ;

    Réduction du nombre d'erreurs de saisie : l'utilisateur ne saisit pas d'informations, mais pointe dessus ;

    Réduction du temps de formation des utilisateurs ;

    Possibilité de combiner avec d'autres formes;

    Dans certains cas, la possibilité de personnaliser l'utilisateur.

    Défauts forme tabulaire :

    Le besoin de compétences en navigation à l'écran ;

    Utilisation d'une zone d'écran relativement grande pour afficher les composants visuels ;

    Utilisation intensive des ressources informatiques associée à la nécessité de mettre constamment à jour les informations à l'écran.

    Les types et les formes de dialogue sont choisis indépendamment les uns des autres : toute forme est applicable pour les deux types de dialogues.

    Synchrone- les dialogues qui se produisent pendant le fonctionnement normal du logiciel.

    Asynchrone- des dialogues qui apparaissent à l'initiative du système ou de l'utilisateur lorsque le scénario du processus normal est violé. Ils sont utilisés pour émettre des messages d'urgence du système ou de l'utilisateur.

    Développement de dialogues.Étapes de conception et de mise en œuvre des dialogues :

    Détermination de l'ensemble des dialogues requis, de leurs principaux messages et des scénarios possibles - conception dialogues abstraits;

    Détermination du type et de la forme de chaque dialogue, ainsi que de la syntaxe et de la sémantique des langages utilisés - conception dialogues spécifiques;

    Sélection des dispositifs principaux et supplémentaires et conception des processus d'entrée-sortie pour chaque dialogue, ainsi que clarification des messages transmis - conception dialogues techniques.

    La base des dialogues abstraits est l'idéologie du processus technologique, pour l'automatisation duquel le produit logiciel est destiné.

    En plus des scripts, utilisez diagrammes d'état d'interface ou graphiques de dialogue.

    Graphique de dialogue est un graphe pondéré orienté, dont chaque sommet est associé à une image spécifique à l'écran ( Cadre) ou un certain état de la boîte de dialogue, caractérisé par un ensemble d'actions disponibles pour l'utilisateur. Les arcs émanant des sommets montrent les changements d'état possibles lorsque l'utilisateur effectue les actions spécifiées. Les arcs émanant des sommets montrent les changements d'état possibles lorsque l'utilisateur effectue les actions spécifiées. Les poids des arcs indiquent les conditions de transition d'un état à l'autre et les opérations effectuées lors de la transition.

    Chaque itinéraire sur le graphique correspond à une option de dialogue possible.


    Figure 3 - Graphiques du dialogue abstrait :

    a - un dialogue contrôlé par le système ; b - boîte de dialogue contrôlée par l'utilisateur

    5. Composants de base des interfaces utilisateur graphiques

    Les interfaces utilisateur graphiques sont prises en charge par Windows, Apple Macintosh, OS/2, etc. Pour de telles interfaces, des ensembles de composants d'interface utilisateur standard ont été développés pour chaque système d'exploitation.

    Les interfaces sont construites à l'aide de la technologie WIMP : W - Windows (fenêtres), I - Icons (icônes), M - Mouse (souris), P - Pop-up (menus contextuels ou déroulants). Les principaux éléments des interfaces graphiques sont les fenêtres, les icônes, les composants d'entrée-sortie et la souris, qui est utilisée comme dispositif de pointage et dispositif de manipulation directe des objets à l'écran.

    Fenêtre.Fenêtre - une zone rectangulaire encadrée de l'écran physique. Une fenêtre peut changer de taille et de position dans l'écran.

    Fenêtres principales (fenêtres d'application) ;

    Fenêtres enfants ou sous-fenêtres ;

    Fenêtres de dialogue ;

    Fenêtres d'information ;

    Fenêtres de menus.

    Fenêtre de candidature Windows contient : un cadre qui délimite la zone de travail de la fenêtre, une barre de titre avec un bouton de menu système et des boutons permettant de sélectionner l'affichage et la sortie de la fenêtre, une barre de menus, un menu d'icônes (barre d'outils), des barres de défilement horizontales et verticales , et une barre d'état.

    fenêtre enfant Windows est utilisé dans plusieurs interfaces de programmation de documents (MDI). Cette fenêtre ne contient pas de menu. Dans la barre de titre, un nom spécial qui identifie le document ou le fichier associé. Les icônes de toutes les fenêtres enfants sont les mêmes.

    Fenêtre de dialogue Windows est utilisé pour afficher et définir divers modes de fonctionnement, les paramètres requis ou d'autres informations.

    Barre de titre avec bouton de menu système ;

    Composants qui permettent à l'utilisateur d'entrer ou de sélectionner une réponse ;

    Composants auxiliaires qui fournissent une info-bulle (fenêtre ou bouton d'aide).

    La fenêtre n'est pas redimensionnable, mais elle peut être déplacée sur l'écran.

    Fenêtres d'information deux types:

    Fenêtres de messages ;

    Fenêtres d'aide.

    Les fenêtres de message contiennent : un titre avec un bouton de menu système, un texte de message, un ou plusieurs boutons de réaction de l'utilisateur (Oui, Non, Annuler).

    Fenêtre d'aide contient : menu, barres de défilement, zone d'information, similaire à la fenêtre de l'application, mais a un objectif hautement spécialisé.

    Fenêtres de menus Windows est utilisé comme ouverture de panneaux de menus hiérarchiques ou comme menus contextuels.

    Chaque ligne de la fenêtre du menu peut correspondre à :

    Équipe;

    Menu du niveau suivant, qui est fourni par la flèche ;

    Une boîte de dialogue, indiquée par trois points.

    Ajout d'une indication des touches de raccourci.

    Pictogrammes. Une icône est une petite fenêtre avec un graphique affichant le contenu du tampon auquel elle est associée.

    Types de pictogrammes :

    Logiciel associé au programme respectif ;

    Icônes de fenêtres filles donnant accès à divers documents ;

    Les icônes de la barre d'outils dupliquent l'accès aux fonctions correspondantes via le menu, offrant leur accès rapide ;

    Icônes d'objet, pour la manipulation directe d'objets.

    Manipulation directe des images. Manipulation directe d'images - c'est la possibilité de remplacer la commande d'action sur un objet par une action physique dans l'interface, réalisée à l'aide de la souris. Dans ce cas, n'importe quelle zone de l'écran est considérée comme le destinataire, qui peut être activé en déplaçant le curseur et en appuyant sur le bouton de la souris.

    Selon la réaction à l'impact, on distingue les types de destinataires :

    Indication et sélection (déploiement des icônes, définition de la fenêtre active) ;

    Boutons à l'écran et barrières "coulissantes" (exécution ou actions répétées cycliquement (exécution de certaines opérations ou dessin, implicite lorsqu'une certaine zone de l'écran est activée - boutons)).

    Signal visuel dynamique - changer l'image à l'écran (curseur de la souris lors de l'exécution d'opérations spécifiques, changer l'image du bouton).

    Composants d'E/S. Les interfaces comprennent plusieurs menus : le menu hiérarchique principal ou "déroulant", des menus d'icônes (barres d'outils) et des menus contextuels pour différentes situations. Chacun des menus indiqués est un composant d'entrée-sortie qui met en œuvre un dialogue avec l'utilisateur à l'aide d'une forme tabulaire.

    Un menu hiérarchique permet d'organiser les opérations effectuées par le logiciel, s'il y en a plus que celles recommandées par IBM, et d'en donner une vue d'ensemble à l'utilisateur. Les barres d'outils et les menus contextuels sont utilisés pour fournir un accès rapide aux commandes fréquemment utilisées, permettant à l'utilisateur de naviguer relativement librement.

    Autres formes d'E/S :

    phrase,

    tabulaire,

    Mixte.

    6. Implémentation de dialogues dans une interface utilisateur graphique

    Dialogues des deux types :

    contrôlé par l'utilisateur,

    Système contrôlé.

    Implémentation de dialogues pilotés par l'utilisateur. Pour la mise en œuvre, un menu de différents types est utilisé :

    De base,

    barres d'outils,

    Contextuel et bouton.

    Comme alternative au menu, il est conseillé d'utiliser la forme directive du dialogue, en associant les principales commandes à certaines combinaisons de touches. Il est conseillé de prévoir la possibilité de contrôler le menu par le clavier, si la plupart du temps l'utilisateur saisit du texte ou des données avec le système, c'est-à-dire interagit avec le clavier.

    Menu. Les menus sont conçus sur la base des graphiques de dialogue du logiciel en cours de développement. Si le nombre d'opérations ne dépasse pas 5, les boutons sont généralement utilisés. Si le nombre d'opérations n'est pas supérieur à 9-10, il s'agit d'un menu à un seul niveau. Si le nombre d'opérations est supérieur à 10, un menu déroulant hiérarchique à deux niveaux est utilisé.

    Menu déroulant. Le premier niveau du menu hiérarchique doit contenir les noms des principaux groupes d'opérations.

    Traditionnellement (généralement dans les éditeurs de texte et d'image) :

    1. fichier d'article,

    2. élément Modifier,

    3. Type d'article,

    dernier paragraphe Aide.

    Le nombre de niveaux du menu hiérarchique ne doit pas dépasser 2-3 (difficile à trouver). Le nombre d'opérations dans la fenêtre ne doit pas dépasser 7-8 opérations.

    Si le nombre d'opérations dépasse 70-80. Les développeurs de Microsoft Word ont suggéré adaptatif menu hiérarchique, où le contenu de la fenêtre du menu de second niveau change constamment, affichant uniquement les opérations utilisées par l'utilisateur. Si l'utilisateur ne trouve pas l'opération souhaitée, après quelques secondes ou en appuyant sur un bouton spécial, Word affiche la fenêtre de menu dans son intégralité.

    7 Interfaces utilisateur de manipulation directe et leur conception

    La capacité de manipulation directe fournie par les interfaces WIMP permet le développement d'interfaces de manipulation directe orientées objet pour les applications.

    Les interfaces utilisent la forme directive du dialogue : la commande est saisie lorsque certaines actions sont effectuées avec l'icône de l'objet avec la souris. Les principaux éléments de ces interfaces sont : les métaphores, les objets, les représentations d'objets et les technologies Drag and Drop (« drag and drop »).

    Métaphores. Métaphores- un transfert mental des propriétés ou des caractéristiques d'un objet à un autre, quelque chose de similaire au premier. L'utilisation de métaphores dans les interfaces implique l'activation de l'expérience de l'utilisateur.

    L'interface de manipulation directe doit fournir à l'utilisateur un environnement contenant des éléments familiers que l'utilisateur a rencontrés plus d'une fois dans des activités professionnelles ou dans la vie quotidienne, et lui permettre de manipuler des objets individuels. (La métaphore « Garbage Throwing » sert à supprimer des fichiers).

    Les éléments similaires doivent se comporter de manière similaire, les éléments mis en évidence dans la même couleur doivent être dans une certaine relation les uns avec les autres.

    Il est conseillé de ne pas rendre les images trop réalistes, afin de ne pas tromper les attentes de l'utilisateur.

    Métaphores et animation. Dans la mise en œuvre des métaphores, une place croissante est donnée au multimédia, principalement à l'animation. En utilisant l'animation, vous pouvez non seulement divertir l'utilisateur, mais aussi le «préparer» au changement d'images, réduisant ainsi le temps nécessaire pour s'adapter à la situation modifiée.

    https://pandia.ru/text/78/247/images/image005_68.gif">Un programme qui implémente des interfaces d'animation n'est jamais inactif, car en attendant la commande de l'utilisateur, il continue d'afficher les images correspondantes. De tels programmes sont basé sur programmation temporaire. Contrairement à la programmation événementielle, qui permet d'associer l'image à l'écran à des événements externes et internes au système, la programmation temporelle permet de modifier l'image projetée séquences d'images en fonction de l'état des processus simulés et des actions de l'utilisateur.

    Objets d'interface de manipulation directe et leurs représentations.

    Les trois principaux types d'objets d'interface de manipulation directe sont :

    objets de données,

    objets conteneurs,

    Objets périphériques.

    Objets de données fournir à l'utilisateur des informations (textes, images, tableurs, musiques, vidéos). Au sein du système d'exploitation, ces objets correspondent à des applications qui s'exécutent lorsque l'objet est développé.

    Les objets conteneurs peuvent manipuler leurs objets internes, y compris d'autres conteneurs (les copier ou les trier dans n'importe quel ordre). Les conteneurs typiques incluent les dossiers, les paniers. Lorsqu'un conteneur est ouvert, les composants qu'il enregistre sont affichés et il devient possible de les manipuler. Les composants peuvent être identifiés par des icônes ou présentés dans un tableau.

    Objets de l'appareil représentent des appareils qui existent dans le monde réel : téléphones, télécopieurs, imprimantes, etc. ils sont utilisés pour désigner ces appareils dans le monde abstrait de l'interface. Lorsque vous développez un tel objet, vous pouvez voir ses paramètres.

    Chaque objet correspond à une fenêtre. Dans l'état initial, cette fenêtre est représentée par une icône, mais si nécessaire, vous pouvez l'ouvrir et effectuer les opérations requises, telles que les paramètres d'objet. La fenêtre d'objet à l'état développé peut contenir des menus et des barres d'outils. L'icône doit correspondre au menu contextuel contenant la liste des opérations sur l'objet.

    Le nom de l'icône est formé différemment pour chaque type d'objet. Les icônes des objets de données reçoivent des noms correspondant aux noms des données stockées, et le type de données est codé par l'icône elle-même. Le nom d'une icône de conteneur ou d'une icône de périphérique fait référence à l'objet lui-même et est donc indépendant du contenu.

    La différence entre les types d'objets est conditionnelle, car le même objet dans différentes situations peut se comporter soit comme un objet de données, soit comme un objet périphérique, soit comme un objet conteneur (une imprimante est un objet périphérique, elle peut avoir des propriétés objet conteneur , peut contenir des objets de données dans la file d'attente d'impression ; représentation sous forme d'icône, fenêtre de file d'attente d'impression, fenêtre de paramètres ; il est conseillé d'indiquer le nom de la représentation dans le titre de la fenêtre d'objet).

    TechnologieGlisseretGoutte. Les principes de base de la manipulation directe, tels que décrits dans le Guide de conception de l'interface utilisateur IBM :

    Le résultat du déplacement d'un objet doit correspondre aux attentes de l'utilisateur ;

    Les utilisateurs ne doivent pas soudainement perdre des informations ;

    L'utilisateur doit pouvoir annuler la mauvaise action.

    Sélection initiale - utilisée comme rétroaction à l'utilisateur pour l'informer que l'objet est capturé, sous Windows, la mise en surbrillance est utilisée à cette fin ;

    Visualisation du mouvement - utilisée pour identifier l'action en cours d'exécution ;

    Sélection de la cible - utilisée pour identifier la destination, montrant ainsi où l'objet "tombera" s'il est relâché à l'heure actuelle ;

    Visualisation d'action - utilisée pour indiquer le temps d'attente pour l'achèvement de l'opération, généralement une animation ou la modification de la forme du curseur en "sablier" est utilisée à cette fin.

    Il existe deux types de destinations : l'une accepte un objet et l'autre une copie de celui-ci (l'utilisateur "jette" le document dans la "corbeille" - le document lui-même est détruit, et s'il est envoyé à l'imprimante, alors une copie du document est transmise).

    Conception d'interfaces de manipulation directe. La conception est basée sur des graphiques de dialogue développés pour un logiciel spécifique et comprend les procédures suivantes :

    Formation ensembles d'objets de domaine, qui doivent être présentés à l'écran, et dans ce cas, non pas des cas d'utilisation, mais un modèle conceptuel du domaine sont utilisés comme base ;

    Une analyse objets, en les définissant les types et représentations, ainsi qu'une liste d'opérations avec ces objets ;

    Clarification interactions d'objet et construire une matrice manipulation directe;

    Définition représentations visuelles objets;

    Développement menu de la fenêtre d'objets et menus contextuels;

    Création prototype interface;

    Tester pour Facilité d'utilisation.

    8 éléments d'interface utilisateur intelligents

    Eléments des interfaces utilisateur : Master, Advisor, Agent. De nombreuses tentatives ont été faites pour créer une interface utilisateur socialisée. Une telle interface repose sur l'idée de créer une interface personnalisée, c'est-à-dire "ayant de la personnalité". Les programmes de divertissement tels que Cats (chats) et Dogs (chiens) qui mettent en œuvre le comportement complexe des animaux de compagnie dans différentes situations montrent qu'il s'agit techniquement d'une tâche entièrement résoluble.

    conseillers. Ils se présentent sous la forme d'indices. Ils sont accessibles depuis le menu d'aide, la ligne de commande de la fenêtre ou depuis le menu contextuel. Les conseillers guident les utilisateurs à travers des tâches spécifiques.

    Maîtrise. Le programme assistant est utilisé pour effectuer des tâches courantes mais rarement exécutées par un utilisateur individuel (installation de programmes ou de matériel). L'exécution de telles actions nécessite que l'utilisateur prenne des décisions complexes interdépendantes, dont la séquence est dictée par le programme de l'assistant. Les assistants intelligents sont capables d'afficher les résultats des réponses de l'utilisateur aux questions précédentes dans la fenêtre de visualisation à chaque étape, aidant ce dernier à naviguer dans la situation.

    L'assistant implémente un script de dialogue séquentiel ou arborescent. Il est conseillé de l'utiliser pour résoudre des tâches séquentielles bien structurées.

    Dans ce cas, il faut :

    Fournir à l'utilisateur la possibilité de revenir à l'étape précédente ;

    Prévoir la possibilité d'annuler le travail de l'assistant ;

    Numérotez les étapes et indiquez à l'utilisateur le nombre d'étapes dans l'assistant, surtout s'il y en a plus de trois ;

    Expliquez à l'utilisateur chaque étape ;

    Si possible, démontrez le résultat des opérations déjà effectuées à chaque étape.

    Agents logiciels. Utilisé pour les travaux courants. Les principales fonctions des Agents-Helpers sont : l'observation, la recherche, le contrôle. Distinguer:

    programmes d'agent configurés pour effectuer des tâches spécifiées ;

    programmes agents capables d'apprendre (fixer les actions de l'utilisateur (comme un magnétophone)).

    Comme tout appareil technique, un ordinateur échange des informations avec une personne à travers un ensemble de certaines règles qui sont obligatoires à la fois pour la machine et pour la personne. Ces règles sont appelées interfaces dans la littérature informatique. L'interface doit être claire et incompréhensible, conviviale et non. De nombreux adjectifs vont avec. Mais dans l'un, il est constant: il est, et vous ne pouvez vous éloigner de lui nulle part.

    Interface- ce sont les règles d'interaction du système d'exploitation avec les utilisateurs, ainsi que les niveaux voisins du réseau informatique. La technologie de communication entre une personne et un ordinateur dépend de l'interface.

    Interface C'est avant tout un ensemble de règles. Comme toute règle, elles peuvent être généralisées, rassemblées dans un « code », regroupées selon un trait commun. En fait, nous sommes arrivés au concept de "type d'interface" comme une combinaison de la similitude des façons dont les humains et les ordinateurs interagissent. Nous pouvons proposer la classification schématique suivante des différentes interfaces de communication entre une personne et un ordinateur (Fig. 1.).

    Technologie de paquets. Historiquement, ce type de technologie est apparu en premier. Il existait déjà sur les machines relais de Sues et Zuse (Allemagne, 1937). Son idée est simple : l'entrée de l'ordinateur est une séquence de caractères dans laquelle, selon certaines règles, la séquence des programmes lancés pour exécution est indiquée. Après l'exécution du programme suivant, le suivant est lancé, et ainsi de suite. La machine, selon certaines règles, trouve des commandes et des données pour elle-même. Cette séquence peut être, par exemple, une bande perforée, une pile de cartes perforées, une séquence d'appuis sur les touches d'une machine à écrire électrique (telle que CONSUL). La machine délivre également ses messages sur un perforateur, une imprimante alphanumérique (ATsPU), une bande de machine à écrire.

    Une telle machine est une "boîte noire" (plus précisément, une "armoire blanche"), dans laquelle des informations sont constamment introduites et qui "informe" également en permanence le monde de son état. Une personne ici a peu d'influence sur le fonctionnement de la machine - elle ne peut que suspendre le fonctionnement de la machine, modifier le programme et redémarrer l'ordinateur. Par la suite, lorsque les machines sont devenues plus puissantes et ont pu servir plusieurs utilisateurs à la fois, l'éternelle attente de l'utilisateur du genre : "J'ai envoyé les données à la machine. J'attends qu'elle réponde. Et va-t-elle répondre du tout ?" - il est devenu, c'est un euphémisme, nécessaire de manger. De plus, les centres informatiques, après les journaux, sont devenus le deuxième « producteur » de vieux papiers. Pour cette raison, avec l'avènement des écrans alphanumériques, l'ère d'une technologie vraiment conviviale, la ligne de commande, a commencé.

    interface de commande.

    L'interface de commande est généralement appelée ainsi car dans ce type d'interface, une personne donne des "commandes" à l'ordinateur, et l'ordinateur les exécute et donne le résultat à la personne. L'interface de commande est implémentée sous forme de technologie batch et de technologie de ligne de commande.

    Avec cette technologie, le clavier est le seul moyen de saisir des informations d'une personne à un ordinateur, et l'ordinateur fournit des informations à une personne à l'aide d'un écran alphanumérique (moniteur). Cette combinaison (écran + clavier) est devenue connue sous le nom de terminal ou console.

    Les commandes sont tapées sur la ligne de commande. La ligne de commande est un symbole d'invite et un rectangle clignotant - le curseur.
    Hébergé sur ref.rf
    Lorsqu'une touche est enfoncée, des caractères apparaissent à la position du curseur et le curseur lui-même se déplace vers la droite. La commande est terminée en appuyant sur la touche Entrée (ou Retour.) Après cela, la transition vers le début de la ligne suivante est effectuée. C'est à partir de cette position que l'ordinateur affiche les résultats de son travail sur le moniteur. Ensuite, le processus est répété.

    La technologie de ligne de commande fonctionnait déjà sur les écrans alphanumériques monochromes. Seuls des lettres, des chiffres et des signes de ponctuation étant autorisés, les caractéristiques techniques de l'affichage n'étaient pas significatives. Un récepteur de télévision et même un tube d'oscilloscope pourraient être utilisés comme moniteur.

    Ces deux technologies sont mises en œuvre sous la forme d'une interface de commande - les machines sont introduites dans l'entrée de la commande et celle-ci, pour ainsi dire, leur "répond".

    Les fichiers texte sont devenus le type de fichiers prédominant lors de l'utilisation de l'interface de commande - eux et eux seuls pouvaient être créés à l'aide du clavier. L'utilisation la plus répandue de l'interface de ligne de commande est l'émergence du système d'exploitation UNIX et l'apparition des premiers ordinateurs personnels à huit bits avec le système d'exploitation multiplateforme CP/M.

    Interface WIMP(Fenêtre - fenêtre, Image - image, Menu - menu, Pointeur - pointeur). Une caractéristique de ce type d'interface est que le dialogue avec l'utilisateur ne s'effectue pas à l'aide de commandes, mais à l'aide d'images graphiques - menus, fenêtres et autres éléments. Bien que les commandes de la machine soient données dans cette interface, cela se fait "indirectement", à travers des images graphiques. L'idée d'une interface graphique est née au milieu des années 1970, lorsque le concept d'une interface visuelle a été développé au Xerox Palo Alto Research Center (PARC). La condition préalable à l'interface graphique était une diminution du temps de réponse de l'ordinateur à une commande, une augmentation de la quantité de RAM, ainsi que le développement de la base technique des ordinateurs. La base matérielle du concept, bien sûr, était l'apparition d'affichages alphanumériques sur les ordinateurs, et ces affichages avaient déjà des effets tels que le "scintillement" des caractères, l'inversion des couleurs (inversion du style des caractères blancs sur fond noir, c'est-à-dire, caractères noirs sur fond blanc ), caractères de soulignement. Ces effets ne s'étendaient pas à tout l'écran, mais seulement à un ou plusieurs personnages. L'étape suivante a été la création d'un affichage couleur qui permet, en plus de ces effets, des symboles en 16 couleurs sur un fond avec une palette (c'est-à-dire un jeu de couleurs) de 8 couleurs. Après l'avènement des écrans graphiques, avec la possibilité d'afficher n'importe quelles images graphiques sous la forme de nombreux points sur un écran de différentes couleurs, l'imagination n'a plus de limites dans l'utilisation de l'écran ! Le premier système GUI de PARC, le 8010 Star Information System, est ainsi apparu quatre mois avant la sortie du premier ordinateur IBM en 1981. Initialement, l'interface visuelle n'était utilisée que dans les programmes. Progressivement, il a commencé à passer aux systèmes d'exploitation utilisés d'abord sur les ordinateurs Atari et Apple Macintosh, puis sur les ordinateurs compatibles IBM.

    Depuis une époque antérieure, et influencé également par ces concepts, il y a eu un processus d'unification dans l'utilisation du clavier et de la souris par les programmes d'application. La fusion de ces deux tendances a conduit à la création de l'interface utilisateur, à l'aide de laquelle, avec un minimum de temps et d'argent consacré au recyclage du personnel, vous pouvez travailler avec n'importe quel produit logiciel. La description de cette interface, commune à toutes les applications et systèmes d'exploitation, fait l'objet de cette partie.

    L'interface utilisateur graphique au cours de son développement est passée par deux étapes et est implémentée à deux niveaux de technologie : une interface graphique simple et une interface WIMP "pure".

    À la première étape, l'interface graphique était très similaire à la technologie de la ligne de commande. Les différences par rapport à la technologie de ligne de commande étaient les suivantes :

    Ú Lors de l'affichage des symboles, il était permis de mettre en surbrillance certains des symboles avec la couleur, l'image inversée, le soulignement et le clignotement. Grâce à cela, l'expressivité de l'image a augmenté.

    Ú Compte tenu de la dépendance à une implémentation spécifique de l'interface graphique, le curseur peut être représenté non seulement par un rectangle scintillant, mais également par une zone couvrant plusieurs caractères et même une partie de l'écran. Cette zone sélectionnée est différente des autres parties non sélectionnées (généralement par la couleur).

    Ú L'appui sur la touche Entrée n'exécute pas toujours la commande et ne passe pas à la ligne suivante. La réponse à la pression d'une touche dépend en grande partie de la partie de l'écran sur laquelle se trouvait le curseur.

    Ú En plus de la touche Entrée, les touches grises du curseur sont de plus en plus utilisées sur le clavier (voir la section clavier dans le numéro 3 de cette série.)

    Ú Déjà dans cette édition de l'interface graphique, des manipulateurs ont commencé à être utilisés (tels qu'une souris, une boule de commande, etc. - voir Figure A.4.) Οʜᴎ vous permettait de sélectionner rapidement la partie souhaitée de l'écran et de déplacer le curseur.

    En résumé, nous pouvons donner les caractéristiques distinctives suivantes de cette interface :

    Ú Mettez en surbrillance des zones de l'écran.

    Ú Redéfinir les touches du clavier en fonction du contexte.

    Ú Utiliser les manipulateurs et les touches grises du clavier pour contrôler le curseur.

    Ú Utilisation intensive d'écrans couleur.

    L'apparition de ce type d'interface coïncide avec l'utilisation généralisée du système d'exploitation MS-DOS. C'est elle qui a présenté cette interface au grand public, grâce à laquelle les années 80 ont été marquées par l'amélioration de ce type d'interface, l'amélioration des caractéristiques d'affichage des caractères et d'autres paramètres du moniteur.

    Un exemple typique d'utilisation de ce type d'interface est le shell de fichiers Nortron Commander et l'éditeur de texte Multi-Edit. Et les éditeurs de texte Lexicon, ChiWriter et le traitement de texte Microsoft Word for Dos sont un exemple de la façon dont cette interface s'est surpassée.

    La deuxième étape du développement de l'interface graphique a été l'interface "pure" WIMP. Cette sous-espèce de l'interface se caractérise par les caractéristiques suivantes :

    Ú Tout travail avec des programmes, des fichiers et des documents s'effectue dans des fenêtres - certaines parties de l'écran délimitées par un cadre.

    Ú Tous les programmes, fichiers, documents, périphériques et autres objets sont représentés sous forme d'icônes - icônes. Lorsqu'elles sont ouvertes, les icônes se transforment en fenêtres.

    Ú Toutes les actions avec des objets sont mises en œuvre à l'aide du menu. Bien que le menu soit apparu au premier stade du développement de l'interface graphique, il n'y avait pas de signification dominante, mais servait uniquement d'ajout à la ligne de commande. Dans une interface WIMP pure, le menu devient l'élément de contrôle principal.

    Ú Utilisation intensive de manipulateurs pour pointer des objets. Le manipulateur cesse d'être juste un jouet - un ajout au clavier, mais devient l'élément de contrôle principal. Avec l'aide du manipulateur, ils pointent vers n'importe quelle zone de l'écran, des fenêtres ou des icônes, la sélectionnent, et alors seulement, via le menu ou en utilisant d'autres technologies, ils les contrôlent.

    Il convient de noter que WIMP nécessite un affichage raster couleur haute résolution et un manipulateur pour sa mise en œuvre.
    Hébergé sur ref.rf
    De plus, les programmes axés sur ce type d'interface imposent des exigences accrues sur les performances de l'ordinateur, la taille de la mémoire, la bande passante du bus, etc. En même temps, ce type d'interface est le plus facile à apprendre et intuitif. Pour cette raison, l'interface WIMP est maintenant devenue la norme de facto.

    Un exemple frappant de programmes avec une interface graphique est le système d'exploitation Microsoft Windows.

    SOIE- interface (Parole - parole, Image - image, Langage - langage, Savoir - savoir). Ce type d'interface est le plus proche de la forme de communication humaine habituelle. Dans le cadre de cette interface, il y a une "conversation" normale entre une personne et un ordinateur. En même temps, l'ordinateur trouve des commandes pour lui-même en analysant la parole humaine et en y trouvant des phrases clés. Il convertit également le résultat de l'exécution de la commande sous une forme lisible par l'homme. Ce type d'interface est le plus exigeant en ressources matérielles d'un ordinateur, et à cet égard, il est principalement utilisé à des fins militaires.

    Depuis le milieu des années 90, après l'apparition de cartes son bon marché et l'utilisation généralisée des technologies de reconnaissance vocale, la soi-disant "technologie vocale" de l'interface SILK est apparue. Avec cette technologie, les commandes sont données vocalement en prononçant des mots réservés spéciaux - commandes.

    Les mots doivent être prononcés clairement, au même rythme. Il y a une pause entre les mots. En raison du sous-développement de l'algorithme de reconnaissance vocale, de tels systèmes nécessitent une pré-configuration individuelle pour chaque utilisateur spécifique.

    La technologie "parole" est l'implémentation la plus simple de l'interface SILK.

    Technologie biométrique (« Mimic Interface ».)

    Cette technologie est née à la fin des années 1990 et est toujours en cours de développement au moment d'écrire ces lignes. Pour contrôler l'ordinateur, l'expression faciale d'une personne, la direction de son regard, la taille de la pupille et d'autres signes sont utilisés. Pour identifier l'utilisateur, le motif de l'iris de ses yeux, ses empreintes digitales et d'autres informations uniques sont utilisés. Les images sont lues à partir d'une caméra vidéo numérique, puis des commandes sont extraites de cette image à l'aide de programmes spéciaux de reconnaissance d'images. Cette technologie est susceptible de prendre sa place dans les produits logiciels et les applications où il est important d'identifier avec précision un utilisateur d'ordinateur.

    mob_info