Arten von Benutzerschnittstellen. Entwicklung von Informationstechnologien

Die Interaktion eines Bedieners mit einem Computer ist ein wichtiger Teil des Berechnungsprozesses bei der Lösung verschiedener angewandter Probleme, sowohl in der Wissenschaft als auch in der Industrie. Erstellung von Programmen im Bereich der Organisation von Marktbeziehungen bei der Erstellung von Informationsseiten für verschiedene Organisationen und Unternehmen, bei der Erstellung von Programmen zur Verwaltung von Produktionsprozessen, zur Abrechnung von Produkten und deren Verkauf, zum Qualitätsmanagement und sogar zum Sortieren von E-Mails nach eine Sekretärin, ist es erforderlich, eine benutzerfreundliche Interaktion mit dem Computer zu entwickeln.

Entwurf- ein iterativer Prozess, durch den die Anforderungen an die PS in technische Darstellungen der PS übersetzt werden. Normalerweise gibt es zwei Phasen des Entwurfs: den Vorentwurf und den Feinentwurf. Der vorläufige Entwurf bildet Abstraktionen auf architektonischer Ebene, der detaillierte Entwurf verfeinert diese Abstraktionen. Darüber hinaus wird in vielen Fällen das Interface-Design unterschieden, dessen Zweck es ist, eine grafische Benutzeroberfläche (GUI) zu bilden. Das Schema der Informationsverknüpfungen des Designprozesses ist in Abb. 1 dargestellt.

Schnittstellendefinition.

Im Allgemeinen, Schnittstelle (Schnittstelle) – Es ist ein Satz von logischen und physikalischen Prinzipien der Interaktion zwischen den Komponenten der technischen Mittel eines Computersystems (CS), d.h. ein Satz von Regeln für Algorithmen und temporäre Vereinbarungen für den Austausch von Daten zwischen den Komponenten des CS (logisch Schnittstelle) sowie eine Reihe physikalischer, mechanischer und funktionaler Eigenschaften der Verbindungsmittel, die eine solche Interaktion implementieren (physikalische Schnittstelle).

Schnittstelle oft als technische und Software-Tools bezeichnet, die die Schnittstelle zwischen Geräten und Flugzeugknoten implementieren.

Die Schnittstelle erstreckt sich auf alle logischen und physikalischen Interaktionsmittel des Computersystems mit der externen Umgebung, beispielsweise mit dem Betriebssystem, mit dem Bediener usw.

Schnittstellentypen

Schnittstellen zeichnen sich durch Merkmale wie die Struktur der Verbindungen, die Methode zum Verbinden und Übertragen von Daten, die Prinzipien der Steuerung und Synchronisierung aus.

    In-Maschine-Schnittstelle - ein Kommunikationssystem und ein Mittel, um Knoten und Blöcke eines Computers miteinander zu verbinden. Die maschineninterne Schnittstelle ist ein Satz elektrischer Kommunikationsleitungen (Drähte), Schnittstellenschaltungen mit Computerkomponenten, Protokolle (Algorithmen) für die Signalübertragung und -umwandlung.

Es gibt zwei Möglichkeiten, innerhalb der Maschinenoberfläche zu organisieren:

Mehrfachverbindungsschnittstelle, bei der jede PC-Einheit über ihre lokalen Drähte mit anderen Einheiten verbunden ist;

Eine Single-Link-Schnittstelle, bei der alle PC-Einheiten über einen gemeinsamen oder Systembus miteinander verbunden sind.

2. Externe Schnittstelle - Kommunikationssystem der Systemeinheit mit Peripheriegeräten des Computers oder mit anderen Computern

Auch hier kann man mehrere Arten von externen Schnittstellen unterscheiden:

Schnittstelle von per I/O-Bus angeschlossenen Peripheriegeräten (ISA, EISA, VLB, PCI, AGP, USB IEEE 1384 SCSI, etc.);

Eine Netzwerkschnittstelle, z. B. ein Peer-to-Peer- oder Client-Server-Netzwerk mit Stern-, Ring- oder Bustopologien.

3. Mensch-Maschine-Schnittstelle oder Mensch-Computer-Schnittstelle oder Benutzerschnittstelle - das ist die Art und Weise, wie Sie mit Hilfe beliebiger Mittel (jedes Programms) eine Aufgabe ausführen, nämlich die Aktionen, die Sie ausführen, und das, was Sie dafür erhalten.

Eine Schnittstelle ist menschenorientiert, wenn sie den Bedürfnissen der Person entspricht und ihre Schwächen berücksichtigt.

Maschinenschnittstelle - Teil der in der Maschine implementierten Schnittstelle (ihr Hardware- und Softwareteil) unter Verwendung der Möglichkeiten der Computertechnologie.

Der menschliche Teil der Schnittstelle - Dies ist ein Teil der von einer Person implementierten Schnittstelle unter Berücksichtigung ihrer Fähigkeiten, Schwächen, Gewohnheiten, Lernfähigkeit und anderer Faktoren.

Die gängigsten Schnittstellen sind durch nationale und internationale Standards definiert.

Im Folgenden wird nur die Benutzeroberfläche betrachtet.

Klassifizierung von Benutzeroberflächen

Wie oben erwähnt, ist eine Schnittstelle in erster Linie ein Satz von Regeln, die je nach Ähnlichkeit der Art und Weise, wie eine Person mit einem Computer interagiert, kombiniert werden können.

Es gibt drei Arten von Benutzerschnittstellen: Befehls-, WIMP- und SILK-Schnittstellen.

Das Zusammenspiel der aufgeführten Schnittstellen mit Betriebssystemen und Technologien ist in Abbildung 1 dargestellt:

Reis. 1. Interaktion von Benutzeroberflächen ihrer Technologien und Betriebssysteme.

1. Befehlsschnittstelle, bei dem die Interaktion einer Person mit einem Computer ausgeführt wird, indem Befehle an den Computer gegeben werden, die dieser ausführt und das Ergebnis an den Benutzer weitergibt. Die Kommandoschnittstelle kann als Batch-Technologie und Kommandozeilen-Technologie implementiert werden. Derzeit wird die Batch-Technologie praktisch nicht verwendet, und die Befehlszeilentechnologie kann als Backup-Methode für die Kommunikation zwischen einer Person und einem Computer gefunden werden.

Pakettechnologie.

Historisch gesehen erschien diese Art von Technologie zuerst auf den elektromechanischen Computern von K. Zuse, G. Aikin und dann auf den elektronischen Computern von Eckert und Mouchli, auf den Haushaltscomputern von Lebedev, Brusentsov, auf dem IBM-360-Computer, auf dem EC-Computer und so weiter. Seine Idee ist einfach und besteht darin, dass die Eingabe des Computers eine Folge von Programmen ist, die beispielsweise auf Lochkarten gestopft sind, und eine Folge von Symbolen, die die Reihenfolge bestimmen, in der diese Programme ausgeführt werden. Der Mann hat hier wenig Einfluss auf die Bedienung der Maschine. Er kann nur den Betrieb der Maschine unterbrechen, das Programm ändern und den Computer neu starten.

Befehlszeilentechnologie.

Bei dieser Technologie wird die Tastatur als Methode zur Eingabe von Informationen durch den Bediener in den Computer verwendet, und der Computer zeigt der Person Informationen unter Verwendung einer alphanumerischen Anzeige (Monitor) an. Die Monitor-Tastatur-Kombination wurde als Terminal oder Konsole bekannt. Befehle werden in die Befehlszeile eingegeben, die ein Einladungssymbol und ein blinkender Cursor ist, während die eingegebenen Zeichen gelöscht und bearbeitet werden können. Durch Drücken der Eingabetaste akzeptiert der Computer den Befehl und beginnt mit der Ausführung. Nach dem Wechsel zum Anfang der nächsten Zeile zeigt der Computer die Ergebnisse seiner Arbeit auf dem Monitor an. Die gebräuchlichste Befehlsschnittstelle war das Betriebssystem MS DOS.

2. OOMU (Fenster, Bild, Menü, Zeiger)WIMP (Fenster, Bild, Speisekarte, Zeiger) - Schnittstelle. Ein charakteristisches Merkmal dieser Schnittstelle ist, dass der Dialog des Benutzers mit dem Computer nicht über die Befehlszeile, sondern über Fenster, Menüsymbole, Cursor und andere Elemente geführt wird. Obwohl in dieser Schnittstelle Befehle an die Maschine gegeben werden, erfolgt dies über grafische Bilder.

Die Idee einer grafischen Oberfläche entstand Mitte der 1970er Jahre im Xerox Palo Alto Research Center (PARC). Voraussetzung für die grafische Benutzeroberfläche war eine Verkürzung der Reaktionszeit des Computers auf einen Befehl, eine Erhöhung des Arbeitsspeichers sowie die Entwicklung der Elementbasis, der technischen Eigenschaften von Computern und insbesondere von Monitoren. Mit dem Aufkommen von Grafikdisplays mit der Fähigkeit, beliebige Grafikbilder in verschiedenen Farben anzuzeigen, ist die grafische Schnittstelle zu einem integralen Bestandteil aller Computer geworden. Allmählich fand der Prozess der Vereinheitlichung in der Verwendung von Tastatur und Maus durch Anwendungsprogramme statt. Der Zusammenfluss dieser beiden Trends hat zur Schaffung einer solchen Benutzeroberfläche geführt, mit deren Hilfe Sie mit minimalem Zeit- und Kostenaufwand für die Umschulung des Personals mit jeder Softwareanwendung arbeiten können.

Diese Art von Schnittstelle ist auf zwei Ebenen implementiert:

Einfache grafische Oberfläche;

Vollständige WINP - Schnittstelle.

Einfache GUI , die in der ersten Phase der Befehlszeilentechnologie sehr ähnlich war, mit den folgenden Unterschieden:

Beim Anzeigen von Zeichen, um die Ausdruckskraft des Bildes zu erhöhen, war es erlaubt, einige der Zeichen mit Farbe, inversem Bild, Unterstreichung und Flimmern hervorzuheben;

Der Cursor könnte durch einen farbig hervorgehobenen Bereich dargestellt werden, der mehrere Zeichen und sogar einen Teil des Bildschirms abdeckt;

Die Reaktion auf das Drücken einer beliebigen Taste ist weitgehend davon abhängig geworden, in welchem ​​Teil sich der Cursor befindet.

Zusätzlich zu den häufig verwendeten Cursortasten wurden Manipulatoren wie Maus, Trackball usw. verwendet, mit denen der gewünschte Bereich des Bildschirms schnell ausgewählt und der Cursor bewegt werden konnte.

Weit verbreitete Verwendung von Farbmonitoren.

Das Erscheinungsbild einer einfachen grafischen Oberfläche fällt mit der weit verbreiteten Verwendung des Betriebssystems MS DOS zusammen. Ein typisches Beispiel für seine Verwendung ist die Norton Commander-Datei-Shell und die Texteditoren MaltiEdit, ChiWriter, Microsoft Word für DOS, Lexicon usw.

Voll WIMP -Schnittstelle , war die zweite Stufe in der Entwicklung der grafischen Oberfläche, die sich durch folgende Merkmale auszeichnet:

Alle Arbeiten mit Programmen, Dateien und Dokumenten finden in Windows statt;

Programme, Dateien, Dokumente, Geräte und andere Objekte werden als Symbole (Icons) dargestellt, die sich beim Öffnen in Fenster verwandeln;

Alle Aktionen mit Objekten werden über das Menü ausgeführt, das zum Hauptbedienelement wird;

Der Manipulator fungiert als Hauptsteuerungsmittel.

Es ist zu beachten, dass die WIMP-Schnittstelle zu ihrer Implementierung einen erhöhten Bedarf an Computerleistung, der Größe ihres Speichers, einer hochwertigen Rasterfarbanzeige einer auf diese Art von Schnittstelle ausgerichteten Software erfordert. Derzeit hat sich die WIMP-Schnittstelle zum De-facto-Standard entwickelt, und das Microsoft Windows-Betriebssystem hat sich zu einem prominenten Vertreter davon entwickelt.

3. ROYAZ (Rede, Bild, Sprache, Wissen)SEIDE (Rede, Bild, Sprache, Wissen) - Schnittstelle. Diese Schnittstelle kommt der üblichen menschlichen Form der Kommunikation am nächsten. Innerhalb dieser Schnittstelle findet eine normale Konversation zwischen einer Person und einem Computer statt. Gleichzeitig findet der Computer Befehle für sich selbst, indem er die menschliche Sprache analysiert und Schlüsselsätze darin findet. Es wandelt auch die Ergebnisse der Befehlsausführung in eine für Menschen lesbare Form um. Diese Art von Schnittstelle erfordert hohe Hardwarekosten, daher wird sie entwickelt und verbessert und wird derzeit nur für militärische Zwecke verwendet.

SILK-Schnittstelle für Mensch-Maschine-Kommunikation verwendet:

Sprachtechnologie;

Biometrische Technologie (Mimik-Schnittstelle);

Semantische (öffentliche) Schnittstelle.

Sprachtechnologie erschien Mitte der 90er Jahre nach der Einführung kostengünstiger Soundkarten und dem weit verbreiteten Einsatz von Spracherkennungstechnologien. Bei dieser Technologie werden Befehle per Sprache gegeben, indem spezielle Standardwörter (Befehle), die klar ausgesprochen werden müssen, im gleichen Tempo mit obligatorischen Pausen zwischen den Wörtern ausgesprochen werden. Da die Spracherkennungsalgorithmen noch nicht ausreichend entwickelt sind, ist eine individuelle Vorkonfiguration des Computersystems für einen bestimmten Benutzer erforderlich. Dies ist die einfachste Implementierung der SILK-Schnittstelle.

Biometrische Technologie ("Mimic Interface") entstand in den späten 1990er Jahren und befindet sich derzeit in der Entwicklung. Zur Steuerung des Computers werden Gesichtsausdruck, Blickrichtung, Pupillengröße und andere Merkmale einer Person herangezogen. Um den Benutzer zu identifizieren, werden das Muster seiner Iris, Fingerabdrücke und andere eindeutige Informationen, die von einer Digitalkamera gelesen werden, verwendet, und dann werden Befehle aus diesem Bild unter Verwendung eines Mustererkennungsprogramms extrahiert.

Semantische (öffentliche) Schnittstelle entstand in den späten 70er Jahren des zwanzigsten Jahrhunderts mit der Entwicklung der künstlichen Intelligenz. Es kann kaum als eigenständige Art von Schnittstelle bezeichnet werden, da es eine Befehlszeilenschnittstelle sowie grafische, sprachliche und mimische Schnittstellen umfasst. Sein Hauptmerkmal ist das Fehlen von Befehlen bei der Kommunikation mit einem Computer. Die Anfrage wird in natürlicher Sprache in Form von zugehörigem Text und Bildern gebildet. Tatsächlich ist dies eine Simulation der menschlichen Interaktion mit einem Computer. Derzeit für militärische Zwecke genutzt. Eine solche Schnittstelle ist in einer Luftkampfumgebung wesentlich.

"Übertragungsmechanismus" - Das Ergebnis der Lektion. Technik 3 Klasse. Ausbildung in der Konstruktion verschiedener technischer Modelle mit mechanischem Antrieb. Kreuzgang - wenn sich die Räder in verschiedene Richtungen drehen. Arten von Zahnrädern: 1 - Riemen; 2 - Kette; 3 - Gang. Produkte mit Getriebe: Förderband, Kran, Mühle. Der Hauptteil des Mühlendesigns ist der Übertragungsmechanismus.

"Computerschnittstellen" - Benutzerschnittstelle. Software. Serviceprogramme. Personal Computer als System. bereitgestellt durch das Betriebssystem des Computers. Geben Sie Ein- und Ausgänge an. Hardware-Schnittstelle. Hardware-Software-Schnittstelle. Operationssystem. Textdateien. Systemprogramme. Hardware-Software-Schnittstelle - das Zusammenspiel von Computerhardware und -software.

"Technologien im Klassenzimmer" - Organisationsformen können unterschiedlich sein: Unterricht, Gruppe, Einzelperson, Paar. Aktive und interaktive Methoden werden von mir von der 5. bis zur 11. Klasse eingesetzt. Arten von Technologien: Technologie des schülerzentrierten Lernens. Technologie des Entwicklungslernens. Technologie des schülerzentrierten Lernens Projektforschungstechnologie.

"Bildungstechnologien in der Schule" - Labor ungelöster Probleme. Methodische Unterstützung für kreative Projekte von Bildungseinrichtungen und Lehrkräften. Spieltechnologien. Wachstum des Indikators für den IKT-Einsatz im Bildungsprozess. Verbreitung fortgeschrittener pädagogischer Erfahrungen. Reduzierung der Repeater-Anzahl. Das Wachstum der Fähigkeiten der Lehrer, die Auswirkungen auf die Qualität des Unterrichts.

"Technik 6 - 7 - 8 Klasse" - Wie wird elektrische Energie gemessen? Welches Maß bestimmt die Größe des Schulterprodukts? Was bedeutete nach gängiger Vorstellung der Anfang allen Lebens? Welches Teil treibt alle Arbeitsteile der Nähmaschine an? Rohmaterial für die Herstellung einer Kutsche für Cinderella. Welche Funktion haben die Rillen am Nadelblatt?

"Abschnitte der Technologie" - Und wir haben aus Brillanten - Ungewöhnliche Schönheit. Thema - Technologie. Patchwork ist vielen Nationen seit langem bekannt. Nationale Feiertage und Rituale, nationale Kleidung. Sie sprechen über die Traditionen verschiedener Völker, nationale Feiertage und Rituale. Nach dem Backen Donuts leicht abkühlen lassen, mit zerdrücktem Knoblauch einreiben.

  • Hoppla
  • Letzten Montag hatte ich das Glück, ein Vorstellungsgespräch für einen Senior .Net Developer in einem internationalen Unternehmen zu bekommen. Während des Vorstellungsgesprächs wurde mir angeboten, einen Test zu absolvieren, bei dem sich einige Fragen auf .Net bezogen. Insbesondere in einer der Fragen war es notwendig, eine Reihe von Aussagen zu bewerten (richtig / falsch), darunter die folgenden:

    In .Net implementiert jedes Array von Elementen, z. B. int, standardmäßig IList, sodass es als Sammlung in einer foreach-Anweisung verwendet werden kann.

    Diese Frage schnell verneinen und die Ränder separat hinzufügen. dass für jeden eine Implementierung nicht von IList, sondern von IEnumerable erforderlich ist, bin ich zur nächsten Frage übergegangen. Auf dem Heimweg quälte mich jedoch die Frage: Implementiert das Array diese Schnittstelle noch oder nicht?

    Bei IList erinnerte ich mich vage daran, dass diese Schnittstelle mir einen IEnumerable, einen Indexer und eine Count-Eigenschaft mit der Anzahl der Elemente in der Sammlung sowie einige selten verwendete Eigenschaften wie IsFixedCollection () gibt. Ein Array hat eine Length-Eigenschaft für seine Größe, und IEnumerables Count ist eine Erweiterungsmethode von LINQ, was nicht möglich wäre, wenn diese Methode in der Klasse implementiert wäre. So stellte sich heraus, dass das Array die IList-Schnittstelle nicht implementieren konnte, aber ein vages Gefühl verfolgte mich. Daher beschloss ich am Abend nach dem Interview, ein wenig zu recherchieren.

    System.Array-Klasse

    Da ich Reflector.Net nicht installiert hatte, habe ich einfach ein kurzes C#-Programm geschrieben, um herauszufinden, welche Schnittstellen durch ein Integer-Array implementiert werden.

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

    Hier ist die vollständige Liste der empfangenen Schnittstellen aus dem Konsolenfenster:

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

    Auf diese Weise, Ein Array in .Net implementiert immer noch die IList-Schnittstelle und ihre generische Version IList<> .

    Um vollständigere Informationen zu erhalten, habe ich ein Diagramm der System.Array-Klasse erstellt.

    Mein Fehler ist mir sofort aufgefallen: Count war keine Eigenschaft von IList, sondern von ICollection, der vorherigen Schnittstelle in der Vererbungskette. Das Array selbst hatte jedoch keine solche Eigenschaft mehr, ebenso wenig wie viele der anderen Eigenschaften der IList-Schnittstelle, obwohl die anderen Eigenschaften dieser Schnittstelle, IsFixedSize und IsReadOnly, implementiert wurden. Wie ist das überhaupt möglich?

    Alles ergibt sich sofort, wenn man bedenkt, dass man in C# nicht nur Schnittstellen implementieren kann
    implizit (implizit), aber auch explizit (explizit). Ich kannte diese Möglichkeit aus Lehrbüchern, wo ein Beispiel für eine solche Umsetzung in einem Fall gegeben wurde. wenn die Basisklasse bereits eine Methode mit demselben Namen wie die Schnittstellenmethode enthält. Ich habe diese Möglichkeit auch in ReSharper gesehen. Allerdings bin ich bisher nicht direkt auf die Notwendigkeit gestoßen, Schnittstellen in meinen eigenen Projekten explizit zu implementieren.

    Vergleich der expliziten und impliziten Implementierung von Schnittstellen

    Vergleichen wir diese beiden Arten von Schnittstellenimplementierungen:
    Kriterien
    Implizite Implementierung
    Explizite Implementierung
    Grundlegende Syntax
    Schnittstelle ITest ( void DoTest(); ) öffentliche Klasse ImplicitTest: ITest ( public void DoTest() ( ) )
    Schnittstelle ITest ( void DoTest(); ) öffentliche Klasse ExplicitTest: ITest ( void ITest.DoTest() ( ) )
    Sichtweite
    Die implizite Implementierung war schon immer öffentlich, sodass auf Methoden und Eigenschaften direkt zugegriffen werden kann.
    var imp = new ImplicitTest(); imp.DoTest();
    Die explizite Implementierung ist immer privat.
    Um auf die Implementierung zuzugreifen, müssen Sie die Klasseninstanz in die Schnittstelle umwandeln (upcast to interface).
    varexp = new ExplicitTest(); ((ITest)exp).DoTest();
    Polymorphie
    Eine implizite Schnittstellenimplementierung kann virtuell (virtuell) sein, wodurch Sie diese Implementierung in untergeordneten Klassen umschreiben können.
    Eine explizite Implementierung ist immer statisch. Es kann in untergeordneten Klassen nicht überschrieben oder überschrieben (neu) werden. Notiz. eines
    Abstrakte Klasse und Implementierung
    Eine implizite Implementierung kann abstrakt sein und nur in einer untergeordneten Klasse implementiert werden.
    Eine explizite Implementierung kann nicht abstrakt sein, aber die Klasse selbst kann andere abstrakte Methoden haben und selbst abstrakt sein. Notiz. 2

    Anmerkungen:
    Notiz. 1 - Wie in den Kommentaren zu Recht angemerkt, kann die Implementierung durch eine erneute explizite Implementierung der Schnittstelle in der Nachkommenklasse überschrieben werden (siehe den ersten Kommentar zum Artikel).

    Notiz. 2 - Einer der Blogs besagt, dass eine Klasse selbst nicht abstrakt sein kann. Vielleicht galt das für einige der vorherigen Versionen des Compilers, in meinen Experimenten konnte ich das Interface ohne Probleme explizit in einer abstrakten Klasse implementieren.

    Warum die explizite Implementierung von Schnittstellen notwendig ist

    Die explizite Implementierung einer Schnittstelle ist laut MSDN erforderlich, wenn mehrere von einer Klasse implementierte Schnittstellen eine Methode mit derselben Signatur haben. Dieses Problem ist im englischsprachigen Raum allgemein unter dem erschreckenden Namen „deadly diamond of death“ bekannt, was ins Russische übersetzt „the diamond problem“ bedeutet. Hier ist ein Beispiel für eine solche Situation:

    /* Listing 1 */ interface IJogger ( void Run(); ) interface ISkier ( void Run(); ) public class Athlete: ISkier, IJogger ( public void Run() ( Console.WriteLine("Bin ich ein Athlet, Skifahrer oder Jogger?"); ) )

    Übrigens ist dieses Beispiel korrekter Code in C#, d. h. er wird (korrekt) kompiliert und ausgeführt, während die Run()-Methode sowohl eine Methode der Klasse selbst als auch eine Implementierung von bis zu zwei Schnittstellen ist. Somit können wir eine Implementierung für verschiedene Schnittstellen und für die Klasse selbst haben. Sie können dies mit dem folgenden Code überprüfen:

    /* Listing 2 */ var sp = new Athlete(); sp.Run(); (sp wie ISkier).Run(); (sp wie IJogger).Run();

    Das Ergebnis der Ausführung dieses Codes wird sein "Bin ich Sportler, Skifahrer oder Jogger?", dreimal auf der Konsole ausgegeben.

    Hier können wir eine explizite Schnittstellenimplementierung verwenden, um alle drei Fälle zu trennen:

    /* Listing 3 */ öffentliche Klasse Sportsman ( public virtual void Run() ( Console.WriteLine("I am a Sportsman"); ) ) öffentliche Klasse Athlet: Sportsman, ISkier, IJogger ( public override void Run() ( Console. WriteLine("Ich bin ein Athlet"); ) void ISkier.Run() ( Console.WriteLine("Ich bin ein Skifahrer"); ) void IJogger.Run() ( Console.WriteLine("Ich bin ein Jogger"); ) )

    In diesem Fall sehen wir beim Ausführen des Codes aus Listing 2 drei Zeilen in der Konsole, "Ich bin ein Athlet", „Ich bin Skifahrer“ und "Ich bin ein Jogger".

    Vor- und Nachteile verschiedener Schnittstellenimplementierungen

    Umsetzungssichtbarkeit und selektive Umsetzung
    Wie oben bereits gezeigt, unterscheidet sich die implizite Implementierung syntaktisch nicht von einer regulären Klassenmethode (außerdem, wenn diese Methode bereits in der Vorgängerklasse definiert wurde, dann wird in dieser Syntax die Methode im Kind versteckt und der Code kompiliert ohne Probleme c-Compiler warnt vor dem Verbergen von Methoden.). Darüber hinaus ist es möglich, einzelne Methoden einer Schnittstelle sowohl explizit als auch implizit selektiv zu implementieren:

    /* Listing 4 */ public class Code ( public void Run() ( Console.WriteLine("I am a class method"); ) ) interface ICommand ( void Run(); void Execute(); ) public class CodeCommand: Code , ICommand ( // Implementierung der impliziten Schnittstellenmethode // => öffentliche Implementierung // Ausblenden der impliziten Basisklassenmethode (Warnung hier) public void Run() ( base.Run(); ) // explizite Implementierung der Schnittstellenmethode // => private Implementierung void ICommand.Execute() () )

    Dadurch können Sie die Implementierungen einzelner Schnittstellenmethoden als native Methoden der Klasse verwenden und sie sind beispielsweise über IntelliSense verfügbar, im Gegensatz zur expliziten Implementierung von Methoden, die privat und erst nach dem Casting in die entsprechende Schnittstelle sichtbar sind.

    Andererseits ermöglicht Ihnen die Möglichkeit der privaten Implementierung von Methoden, eine Reihe von Schnittstellenmethoden zu verbergen, während Sie sie vollständig implementieren. Zurück zu unserem allerersten Beispiel mit Arrays in .Net können Sie sehen, dass ein Array beispielsweise die Implementierung der Count-Eigenschaft der ICollection-Schnittstelle verbirgt, indem diese Eigenschaft unter dem Namen Length verfügbar gemacht wird (wahrscheinlich ein Versuch, die Kompatibilität mit C++ STL und Java). Somit können wir einzelne Methoden der implementierten Schnittstelle ausblenden und andere nicht ausblenden (=öffentlich machen).

    Hier gibt es jedoch ein solches Problem, dass in vielen Fällen völlig unmöglich zu erraten ist, welche Schnittstellen implizit von der Klasse implementiert werden, da weder die Methoden noch die Eigenschaften dieser Schnittstellen in IntelliSense sichtbar sind (das Beispiel mit System.Array ist auch hier bezeichnend). Die einzige Möglichkeit, solche Implementierungen zu identifizieren, besteht in der Verwendung von Reflektion, z. B. mit dem Objektkatalog in Visual Studio.

    Schnittstellen-Refaktorisierung
    Da sich die implizite (öffentliche) Implementierung der Schnittstelle nicht von der Implementierung der öffentlichen Methode der Klasse unterscheidet, wird im Fall des Refactorings der Schnittstelle und des Entfernens einer öffentlichen Methode daraus (z. B. beim Kombinieren von Run() und Execute ()-Methoden aus der obigen ICommand-Schnittstelle in eine Run()) in allen impliziten Implementierungen gibt es eine Methode mit öffentlichem Zugriff, die sehr wahrscheinlich auch nach dem Refactoring unterstützt werden muss, da diese öffentliche Methode möglicherweise bereits eine andere hat Abhängigkeiten in anderen Komponenten des Systems. Dadurch wird der Grundsatz der Programmierung „gegen Schnittstellen, nicht gegen Implementierungen“ verletzt, da die Abhängigkeiten bereits zwischen bestimmten (und in verschiedenen Klassen sicherlich verschiedenen) Implementierungen der früheren Schnittstellenmethode bestehen.

    /* Listing 5 */ Schnittstelle IFingers ( void Thumb(); void IndexFinger(); // eine veraltete Schnittstellenmethode // void MiddleFinger(); ) public class HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // hier ist eine "baumelnde" öffentliche Methode public void MiddleFinger() () ) public class AntropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // hier der Compiler-Fehler void IFingers.MiddleFinger() () )

    Im Falle einer privaten Implementierung von Schnittstellen werden alle Klassen mit einer expliziten Implementierung einer Methode, die nicht mehr existiert, einfach aufhören zu kompilieren, wir werden es jedoch tun, nachdem wir die unnötig gewordene Implementierung entfernt (oder sie in eine neue Methode umgestaltet haben). keine „zusätzliche“ öffentliche Methode haben, die an keine Schnittstelle gebunden ist. Natürlich kann ein Refactoring von Abhängigkeiten von der Schnittstelle selbst erforderlich sein, aber zumindest hier wird nicht gegen das Prinzip „Programm zu Schnittstellen, nicht zu Implementierungen“ verstoßen.

    Die implizit implementierten Schnittstelleneigenschaften (Properties) ermöglichen Ihnen den Zugriff auf Eigenschaften über Accessor-Methoden (Getter und Setter) sowohl von außen als auch direkt von der Klasse selbst, was zu unnötigen Effekten führen kann (z. B. zu unnötiger Datenvalidierung während Initialisierungseigenschaften).

    /* Listing 6 */ interface IProperty ( int Amount ( get; set; ) ) public class ClassWithProperty ( // implizite Implementierung, public public int Amount ( get; set; ) public ClassWithProperty() ( // interner Aufruf der public setter Amount = 1000; ) ) public class ClassWithExplicitProperty: IProperty ( // explizite Implementierung, private int IProperty.Amount ( get; set; ) public ClassWithExplicitProperty() ( // interner Aufruf ist nicht möglich // Compilerfehler hier Amount = 1000;) )

    Bei expliziter Implementierung von Schnittstelleneigenschaften bleiben diese Eigenschaften privat, und für den Zugriff müssen Sie den „langen“ Weg gehen und ein zusätzliches privates Feld deklarieren, über das die Initialisierung erfolgt. Dies führt zu einem saubereren Code, wenn Eigenschaftsaccessoren nur für den externen Zugriff verwendet werden.

    Verwenden der expliziten Typisierung von lokalen Variablen und Klassenfeldern
    Bei der expliziten Implementierung von Interfaces müssen wir ausdrücklich darauf hinweisen, dass wir nicht mit einer Instanz einer Klasse, sondern mit einer Instanz eines Interfaces arbeiten. So wird es beispielsweise unmöglich, den Typrückschluss zu verwenden und lokale Variablen in C# mit dem Schlüsselwort var zu deklarieren. Stattdessen müssen wir beim Deklarieren lokaler Variablen sowie in Methodensignaturen und Klassenfeldern eine explizite Deklaration des Schnittstellentyps verwenden.

    So machen wir einerseits den Code etwas weniger flexibel (ReSharper schlägt beispielsweise standardmäßig immer vor, wenn möglich eine Deklaration mit var zu verwenden), aber wir vermeiden potenzielle Probleme im Zusammenhang mit der Bindung an eine bestimmte Implementierung, wenn das System wächst und seinen Volumencode. Dieser Punkt mag vielen umstritten erscheinen, aber wenn mehrere Personen an einem Projekt arbeiten, und sogar in verschiedenen Teilen der Welt, kann die Verwendung expliziter Typisierung sehr nützlich sein, da sie die Lesbarkeit des Codes erhöht und die Kosten reduziert seine Unterstützung.

    VORTRAG 23-24

    Thema 3.2 Entwerfen von Benutzerschnittstellen

    1. Arten von Benutzerschnittstellen und Stadien ihrer Entwicklung.

    2. Psychophysische Merkmale einer Person, die mit der Wahrnehmung, Speicherung und Verarbeitung von Informationen verbunden sind.

    3. Benutzer- und Softwareschnittstellenmodelle.

    4. Klassifikationen von Dialogen und allgemeine Prinzipien für ihre Entwicklung.

    5. Hauptkomponenten grafischer Benutzeroberflächen.

    6. Implementierung von Dialogen in einer grafischen Benutzeroberfläche.

    7. Benutzerschnittstellen zur direkten Manipulation und deren Gestaltung.

    8. Intelligente Elemente von Benutzerschnittstellen.

    In den frühen Stadien der Entwicklung der Computertechnologie galt die Benutzerschnittstelle als Mittel zur menschlichen Kommunikation mit dem Betriebssystem und war recht primitiv.

    Mit dem Aufkommen interaktiver Software wurden spezielle Benutzerschnittstellen verwendet. Derzeit besteht das Hauptproblem in der Entwicklung interaktiver Schnittstellen für komplexe Softwareprodukte, die für die Verwendung durch nicht-professionelle Benutzer bestimmt sind.

    1. Arten von Benutzerschnittstellen und Stadien ihrer Entwicklung

    Benutzeroberfläche- eine Reihe von Software und Hardware, die eine Benutzerinteraktion mit einem Computer ermöglicht. Grundlage der Interaktion- Dialoge.

    Dialog- geregelter Informationsaustausch zwischen einer Person und einem Computer, der in Echtzeit durchgeführt wird und auf die gemeinsame Lösung eines bestimmten Problems abzielt: Informationsaustausch und Koordinierung von Aktionen. Jeder Dialog besteht aus getrennten Eingabe-Ausgabe-Prozessen, die eine physische Kommunikation zwischen dem Benutzer und dem Computer bereitstellen.

    Der Informationsaustausch erfolgt durch die Übermittlung von Nachrichten und Steuersignalen.

    Nachricht– eine am Dialogaustausch beteiligte Information.

    Arten von Nachrichten:

    Eingabenachrichten, die von einer Person unter Verwendung von Eingabemitteln erzeugt werden: Tastatur, Manipulatoren (Maus usw.);

    Nachrichten ausgeben, die von einem Computer in Form von Texten, Tonsignalen und/oder Bildern generiert und dem Benutzer auf einem Bildschirm oder anderen Informationsausgabegeräten angezeigt werden.

    Der Benutzer generiert Nachrichten wie:

    Informationsanfrage,

    Hilfeanforderung,

    Bedienungs- oder Funktionsanfrage,

    Eingabe oder Änderung von Informationen,

    Rahmenfeldauswahl.

    Erhält als Antwort:

    Tipps oder Hilfe

    Wortform- ein Textstück zwischen zwei benachbarten Leerzeichen oder Satzzeichen.

    Morphologische Analyse - Verarbeitung von Wortformen aus dem Zusammenhang.

    Prozedural - beinhaltet das Hervorheben des Wortstamms in der aktuellen Wortform, die dann identifiziert wird.

    Nach der Erkennung von Wortformen wird die syntaktische Analyse der Nachricht durchgeführt, deren Ergebnisse ihre syntaktische Struktur bestimmen, d. h. der Satz wird analysiert.

    Eine Schnittstelle, die die Phrasenform eines Dialogs implementiert, muss: Nachrichten von einer natürlichen Sprachform in eine interne Darstellung umwandeln und umgekehrt, Benutzer- und Systemnachrichten analysieren und synthetisieren, den abgelaufenen Teil des Dialogs verfolgen und sich daran erinnern.

    Mängel Phrasenform:

    Große Ressourcenkosten;

    Keine Gewähr für eine eindeutige Auslegung des Wortlauts;

    Die Notwendigkeit, lange grammatikalisch korrekte Sätze einzugeben.

    Würde Phrasalform - freie Kommunikation mit dem System.

    Richtlinienform - Verwendung von Befehlen (Anweisungen) speziell gestaltete Formensprache.

    Mannschaft ist ein Satz dieser Sprache, der die kombinierten Daten beschreibt, die den Identifikator des initiierten Prozesses und ggf. Daten dazu enthalten.

    Der Befehl kann eingegeben werden:

    Als Textfolge, speziell entworfenes Format (MS-DOS-Befehle auf der Befehlszeile);

    Durch Drücken einer Tastenkombination (Kombinationen des "Schnellzugriffs" von Windows-Anwendungen);

    Durch Manipulieren der Maus („Drag and Drop“ von Symbolen);

    Eine Kombination der zweiten und dritten Methode.

    Vorteile Weisungsform:

    Kleine Menge an Eingabeinformationen;

    Flexibilität – die Möglichkeit, eine Operation auszuwählen, ist durch den Satz gültiger Befehle begrenzt;

    Orientierung an einem nutzergesteuerten Dialog;

    Verwendung der minimalen Bildschirmfläche oder gar keine Verwendung;

    Fähigkeit, mit anderen Formen zu kombinieren.

    Mängel Weisungsform:

    Das virtuelle Fehlen von Eingabeaufforderungen auf dem Bildschirm, was das Auswendiglernen der eingegebenen Befehle und ihrer Syntax erfordert;

    Nahezu vollständiges Fehlen von Rückmeldungen zum Status initiierter Prozesse;

    Die Notwendigkeit von Fähigkeiten zur Eingabe von Textinformationen oder zur Manipulation der Maus;

    Fehlende Benutzeranpassung.

    Das Anweisungsformular ist praktisch für den professionellen Benutzer, der sich normalerweise schnell an die Syntax häufig verwendeter Befehle oder Tastenkombinationen erinnert. Die Vorteile der Form (Flexibilität und gute zeitliche Eigenschaften) kommen hier besonders zur Geltung.

    tabellarische Form - Der Benutzer wählt eine Antwort aus den vom Programm angebotenen aus. Die Dialogsprache hat einfachste Syntax und eindeutige Semantik, die recht einfach zu implementieren ist. Das Formular ist benutzerfreundlich, da es immer einfacher zu wählen ist, was für einen nicht professionellen Benutzer unerlässlich ist. Dieses Formular kann verwendet werden, wenn die Menge möglicher Antworten auf eine bestimmte Frage endlich ist. Wenn die Anzahl der möglichen Antworten groß ist (mehr als 20), ist die Verwendung einer tabellarischen Form möglicherweise nicht angemessen.

    Tugenden und in tabellarischer Form:

    Das Vorhandensein eines Hinweises;

    Verringerung der Anzahl von Eingabefehlern: Der Benutzer gibt keine Informationen ein, sondern zeigt darauf;

    Reduzierte Schulungszeit für Benutzer;

    Fähigkeit, mit anderen Formen zu kombinieren;

    In einigen Fällen die Möglichkeit, den Benutzer anzupassen.

    Mängel Tabellenform:

    Die Notwendigkeit von Fähigkeiten zur Bildschirmnavigation;

    Verwenden einer relativ großen Bildschirmfläche zum Anzeigen visueller Komponenten;

    Intensive Nutzung von Computerressourcen verbunden mit der Notwendigkeit, Informationen auf dem Bildschirm ständig zu aktualisieren.

    Arten und Formen des Dialogs werden unabhängig voneinander gewählt: Für beide Arten von Dialogen ist jede Form anwendbar.

    Synchron- Dialoge, die während des normalen Betriebs der Software auftreten.

    Asynchron- Dialoge, die auf Initiative des Systems oder des Benutzers erscheinen, wenn das Szenario des normalen Prozesses verletzt wird. Sie werden verwendet, um Notfallmeldungen vom System oder Benutzer auszugeben.

    Entwicklung von Dialogen. Phasen der Gestaltung und Umsetzung von Dialogen:

    Bestimmung des Satzes erforderlicher Dialoge, ihrer Hauptbotschaften und möglicher Szenarien - Design abstrakte Dialoge;

    Bestimmung der Art und Form jedes Dialogs sowie der Syntax und Semantik der verwendeten Sprachen - Design spezifische Dialoge;

    Auswahl von Haupt- und Zusatzgeräten und Gestaltung von Input-Output-Prozessen für jeden Dialog, sowie Klärung übermittelter Botschaften - Gestaltung technische Dialoge.

    Grundlage abstrakter Dialoge ist die Ideologie des technologischen Prozesses, für dessen Automatisierung das Softwareprodukt bestimmt ist.

    Verwenden Sie zusätzlich zu Skripten Schnittstellenzustandsdiagramme oder Dialoggraphen.

    Dialogdiagramm ist ein gerichteter gewichteter Graph, bei dem jeder Scheitelpunkt einem bestimmten Bild auf dem Bildschirm zugeordnet ist ( rahmen) oder ein bestimmter Status des Dialogs, der durch eine Reihe von Aktionen gekennzeichnet ist, die dem Benutzer zur Verfügung stehen. Die von den Eckpunkten ausgehenden Bögen zeigen die möglichen Zustandsänderungen, wenn der Benutzer die angegebenen Aktionen ausführt. Die von den Eckpunkten ausgehenden Bögen zeigen die möglichen Zustandsänderungen, wenn der Benutzer die angegebenen Aktionen ausführt. Die Gewichtungen der Bögen geben die Bedingungen für Übergänge von Zustand zu Zustand und die während des Übergangs durchgeführten Operationen an.

    Jede Route in der Grafik entspricht einer möglichen Dialogoption.


    Abbildung 3 - Diagramme des abstrakten Dialogs:

    a - ein vom System gesteuerter Dialog; b - Benutzergesteuerter Dialog

    5. Grundlegende Komponenten grafischer Benutzeroberflächen

    Grafische Benutzerschnittstellen werden von Windows, Apple Macintosh, OS/2 usw. unterstützt. Für solche Schnittstellen wurden Sätze von Standard-Bfür jedes Betriebssystem entwickelt.

    Schnittstellen werden mit WIMP-Technologie erstellt: W - Windows (Windows), I - Icons (Icons), M - Mouse (Maus), P - Pop-up (Popup- oder Dropdown-Menüs). Die Hauptelemente grafischer Schnittstellen sind Fenster, Symbole, Eingabe-Ausgabe-Komponenten und die Maus, die als Zeigegerät und als Gerät zum direkten Manipulieren von Objekten auf dem Bildschirm verwendet wird.

    Fenster.Fenster - ein rechteckiger Bereich des physischen Bildschirms. Ein Fenster kann Größe und Position innerhalb des Bildschirms ändern.

    Hauptfenster (Anwendungsfenster);

    untergeordnete oder untergeordnete Fenster;

    Dialogfenster;

    Informationsfenster;

    Menüfenster.

    Anwendungsfenster Windows enthält: einen Rahmen, der den Arbeitsbereich des Fensters begrenzt, eine Titelleiste mit einer Systemmenüschaltfläche und Schaltflächen zum Auswählen der Fensteransicht und zum Beenden, eine Menüleiste, ein Symbolmenü (Symbolleiste), horizontale und vertikale Bildlaufleisten , und eine Statusleiste.

    Kinderfenster Windows wird in mehreren Document Programming Interfaces (MDI) verwendet. Dieses Fenster enthält kein Menü. In der Titelleiste ein spezieller Name, der das zugeordnete Dokument oder die Datei identifiziert. Die Symbole aller untergeordneten Fenster sind gleich.

    Dialogfenster Windows wird verwendet, um verschiedene Betriebsmodi, erforderliche Einstellungen oder andere Informationen anzuzeigen und einzustellen.

    Titelleiste mit Systemmenü-Schaltfläche;

    Komponenten, die es dem Benutzer ermöglichen, eine Antwort einzugeben oder auszuwählen;

    Hilfskomponenten, die einen Tooltip bereitstellen (Viewbox oder Hilfe-Button).

    Die Größe des Fensters kann nicht geändert, aber auf dem Bildschirm verschoben werden.

    Informationsfenster zwei Arten:

    Nachrichtenfenster;

    Hilfefenster.

    Meldungsfenster enthalten: einen Titel mit einer Systemmenüschaltfläche, einen Meldungstext, eine oder mehrere Benutzerreaktionsschaltflächen (Ja, Nein, Abbrechen).

    Hilfefenster enthält: Menü, Bildlaufleisten, Informationsbereich, ähnlich wie das Anwendungsfenster, hat aber einen sehr speziellen Zweck.

    Menüfenster Windows wird zum Öffnen von hierarchischen Menüfeldern oder als Kontextmenüs verwendet.

    Jede Zeile des Menüfensters kann entsprechen:

    Mannschaft;

    Menü der nächsten Ebene, die durch den Pfeil bereitgestellt wird;

    Ein Dialogfeld, gekennzeichnet durch drei Punkte.

    Anzeige von Tastenkürzeln hinzugefügt.

    Piktogramme. Ein Symbol ist ein kleines Fenster mit einer Grafik, die den Inhalt des Puffers anzeigt, dem es zugeordnet ist.

    Arten von Piktogrammen:

    Dem jeweiligen Programm zugeordnete Software;

    Symbole von untergeordneten Fenstern, die Zugriff auf verschiedene Dokumente bieten;

    Symbolleistensymbole duplizieren den Zugriff auf die entsprechenden Funktionen über das Menü und bieten deren schnellen Zugriff;

    Objektsymbole zur direkten Bearbeitung von Objekten.

    Direkte Bildmanipulation. Direkte Bildbearbeitung - Dies ist die Fähigkeit, den Befehl, auf ein Objekt einzuwirken, durch eine physische Aktion in der Benutzeroberfläche zu ersetzen, die mit Hilfe der Maus ausgeführt wird. Als Adressat gilt in diesem Fall ein beliebiger Bereich des Bildschirms, der durch Bewegen des Cursors und Drücken der Maustaste aktiviert werden kann.

    Je nach Reaktion auf die Auswirkung werden die Arten von Adressaten unterschieden:

    Anzeige und Auswahl (Einsatz von Icons, Definition des aktiven Fensters);

    Schaltflächen auf dem Bildschirm und "gleitende" Barrieren (Durchführen oder zyklisch wiederholte Aktionen (Durchführen bestimmter Operationen oder Zeichnen, impliziert, wenn ein bestimmter Bereich des Bildschirms aktiviert ist - Schaltflächen)).

    Dynamisches optisches Signal -Ändern des Bilds auf dem Bildschirm (Mauszeiger beim Ausführen bestimmter Vorgänge, Ändern des Schaltflächenbilds).

    E/A-Komponenten. Schnittstellen umfassen mehrere Menüs: das hierarchische Haupt- oder "Dropdown"-Menü, Symbolmenüs (Symbolleisten) und Kontextmenüs für verschiedene Situationen. Jedes der angegebenen Menüs ist eine Eingabe-Ausgabe-Komponente, die einen Dialog mit dem Benutzer in Tabellenform implementiert.

    Ein hierarchisches Menü wird verwendet, um die von der Software durchgeführten Operationen zu organisieren (wenn es mehr als IBM Empfehlungen gibt) und dem Benutzer einen Überblick darüber zu geben. Symbolleisten und Kontextmenüs werden verwendet, um einen schnellen Zugriff auf häufig verwendete Befehle bereitzustellen, wodurch der Benutzer relativ frei navigieren kann.

    Andere I/O-Formen:

    Phrase,

    tabellarisch,

    Gemischt.

    6. Implementieren von Dialogen in einer grafischen Benutzeroberfläche

    Dialoge beider Arten:

    benutzergesteuert,

    Systemgesteuert.

    Implementierung von benutzergesteuerten Dialogen. Zur Implementierung wird ein Menü verschiedener Typen verwendet:

    Basic,

    Symbolleisten,

    Kontextabhängig und Schaltfläche.

    Alternativ zum Menü empfiehlt es sich, die Anweisungsform des Dialogs zu verwenden und die Hauptbefehle bestimmten Tastenkombinationen zuzuordnen. Es ist ratsam, die Möglichkeit bereitzustellen, das Menü über die Tastatur zu steuern, wenn der Benutzer die meiste Zeit Text oder Daten mit dem System eingibt, d. h. mit der Tastatur interagiert.

    Speisekarte. Menüs werden basierend auf den Dialoggraphen der zu entwickelnden Software entworfen. Wenn die Anzahl der Betätigungen 5 nicht überschreitet, werden normalerweise Tasten verwendet. Wenn die Anzahl der Operationen nicht mehr als 9-10 beträgt, handelt es sich um ein einstufiges Menü. Wenn die Anzahl der Operationen mehr als 10 beträgt, wird ein hierarchisches Dropdown-Menü mit zwei Ebenen verwendet.

    Dropdown-Menü. Die erste Ebene des hierarchischen Menüs sollte die Namen der Hauptoperationsgruppen enthalten.

    Traditionell (meist in Text- und Bildbearbeitungsprogrammen):

    1. Artikeldatei,

    2. Artikel bearbeiten,

    3. Artikelansicht,

    letzter Absatz Hilfe.

    Die Anzahl der Ebenen des hierarchischen Menüs sollte 2-3 nicht überschreiten (schwer zu finden). Die Anzahl der Operationen im Fenster sollte 7-8 Operationen nicht überschreiten.

    Wenn die Anzahl der Operationen 70-80 übersteigt. Die Entwickler von Microsoft Word schlugen vor adaptiv Hierarchisches Menü, bei dem sich der Inhalt des Menüfensters der zweiten Ebene ständig ändert und nur die Operationen anzeigt, die der Benutzer verwendet. Wenn der Benutzer die gewünschte Operation nicht findet, zeigt Word nach einigen Sekunden oder durch Drücken einer speziellen Schaltfläche das Menüfenster vollständig an.

    7 Benutzerschnittstellen zur direkten Manipulation und ihr Design

    Die durch WIMP-Schnittstellen bereitgestellte Fähigkeit zur direkten Manipulation ermöglicht die Entwicklung objektorientierter Schnittstellen zur direkten Manipulation für Anwendungen.

    Die Schnittstellen verwenden die Anweisungsform des Dialogs: Der Befehl wird eingegeben, wenn bestimmte Aktionen mit dem Symbol des Objekts mit der Maus ausgeführt werden. Die Hauptelemente dieser Schnittstellen sind: Metaphern, Objekte, Darstellungen von Objekten und Drag-and-Drop-Technologien („Drag and Drop“).

    Metaphern. Metaphern- eine mentale Übertragung der Eigenschaften oder Merkmale eines Objekts auf ein anderes, ähnlich dem ersten. Die Verwendung von Metaphern in Schnittstellen beinhaltet die Aktivierung der Benutzererfahrung.

    Die direkte Manipulationsschnittstelle soll dem Benutzer eine Umgebung bieten, die vertraute Elemente enthält, denen der Benutzer mehr als einmal in beruflichen Aktivitäten oder im Alltag begegnet ist, und ihm die Möglichkeit geben, einzelne Objekte zu manipulieren. (Die Metapher „Garbage Throwing“ steht für das Löschen von Dateien).

    Ähnliche Elemente sollen sich ähnlich verhalten, gleichfarbig hervorgehobene Elemente sollen in einem bestimmten Verhältnis zueinander stehen.

    Es ist ratsam, die Bilder nicht zu realistisch zu gestalten, um die Erwartungen des Benutzers nicht zu täuschen.

    Metaphern und Animation. Bei der Umsetzung von Metaphern kommt Multimedia, vor allem Animation, eine immer größere Bedeutung zu. Mithilfe von Animationen können Sie den Benutzer nicht nur unterhalten, sondern ihn auch auf den Wechsel der Frames „vorbereiten“, wodurch die Zeit reduziert wird, die benötigt wird, um sich an die geänderte Situation anzupassen.

    https://pandia.ru/text/78/247/images/image005_68.gif">Ein Programm, das Animationsschnittstellen implementiert, ist niemals untätig, denn während es auf den Befehl des Benutzers wartet, zeigt es weiterhin die entsprechenden Frames an. Solche Programme sind bezogen auf temporäre Programmierung. Im Gegensatz zur Ereignisprogrammierung, bei der Sie das Bild auf dem Bildschirm externen und internen Ereignissen im System zuordnen können, sorgt die zeitliche Programmierung für eine Änderung des Projizierten Frame-Sequenzen abhängig vom Zustand der simulierten Prozesse und Benutzeraktionen.

    Objekte der direkten Manipulationsschnittstelle und ihre Darstellungen.

    Die drei Haupttypen von Schnittstellenobjekten für die direkte Manipulation sind:

    Datenobjekte,

    Containerobjekte,

    Geräteobjekte.

    Datenobjekte dem Nutzer Informationen (Texte, Bilder, Tabellenkalkulationen, Musik, Videos) bereitzustellen. Innerhalb des Betriebssystems entsprechen solche Objekte Anwendungen, die ausgeführt werden, wenn das Objekt erweitert wird.

    Containerobjekte können ihre internen Objekte, einschließlich anderer Container, manipulieren (sie kopieren oder in beliebiger Reihenfolge sortieren). Typische Behältnisse sind Ordner, Körbe. Wenn ein Container geöffnet wird, werden die darin gespeicherten Komponenten angezeigt und es wird möglich, sie zu manipulieren. Komponenten können mit Symbolen identifiziert oder in einer Tabelle dargestellt werden.

    Geräteobjekte stellen Geräte dar, die in der realen Welt existieren: Telefone, Faxgeräte, Drucker usw. Sie werden verwendet, um auf diese Geräte in der abstrakten Welt der Schnittstelle zu verweisen. Wenn Sie ein solches Objekt erweitern, können Sie seine Einstellungen sehen.

    Jedes Objekt entspricht einem Fenster. Im Ausgangszustand wird dieses Fenster durch ein Symbol dargestellt, aber Sie können es bei Bedarf öffnen und die erforderlichen Operationen, wie z. B. Objekteinstellungen, durchführen. Das Objektfenster im erweiterten Zustand kann Menüs und Symbolleisten enthalten. Das Symbol muss dem Kontextmenü entsprechen, das die Liste der Operationen auf dem Objekt enthält.

    Der Name des Symbols wird für jeden Objekttyp unterschiedlich gebildet. Piktogrammen von Datenobjekten werden Namen gegeben, die den Namen der gespeicherten Daten entsprechen, und der Datentyp wird durch das Piktogramm selbst codiert. Der Name eines Container-Icons oder Geräte-Icons bezieht sich auf das Objekt selbst und ist somit unabhängig vom Inhalt.

    Der Unterschied zwischen den Objekttypen ist bedingt, da sich dasselbe Objekt in verschiedenen Situationen entweder als Datenobjekt oder als Geräteobjekt oder als Containerobjekt verhalten kann (ein Drucker ist ein Geräteobjekt, er kann Eigenschaften eines Containerobjekts haben , kann Datenobjekte in der Druckwarteschlange enthalten; Darstellung als Symbol, Druckwarteschlangenfenster, Einstellungsfenster; es ist ratsam, den Namen der Darstellung im Titel des Objektfensters anzugeben).

    TechnologieZiehenundFallen. Die Grundprinzipien der direkten Manipulation, wie im IBM User Interface Design Guide beschrieben:

    Das Ergebnis der Bewegung eines Objekts muss den Erwartungen des Benutzers entsprechen;

    Benutzer sollten nicht plötzlich Informationen verlieren;

    Der Benutzer sollte in der Lage sein, die falsche Aktion rückgängig zu machen.

    Anfängliche Auswahl - wird als Rückmeldung an den Benutzer verwendet, um ihn darüber zu informieren, dass das Objekt erfasst wurde, in Windows wird zu diesem Zweck Hervorhebung verwendet;

    Bewegungsvisualisierung - wird verwendet, um die ausgeführte Aktion zu identifizieren;

    Zielauswahl - wird verwendet, um das Ziel zu identifizieren und zeigt so an, wohin das Objekt "fallen" wird, wenn es zum aktuellen Zeitpunkt losgelassen wird;

    Aktionsvisualisierung - wird verwendet, um die Wartezeit für den Abschluss der Operation anzuzeigen, normalerweise wird zu diesem Zweck eine Animation oder die Änderung der Form des Cursors in eine "Sanduhr" verwendet.

    Es gibt zwei Arten von Zielen: Einer akzeptiert ein Objekt und der andere eine Kopie davon (der Benutzer "wirft" das Dokument in den "Papierkorb" - das Dokument selbst wird zerstört und wenn es dann an den Drucker gesendet wird eine Kopie des Dokuments wird übermittelt).

    Design von direkten Manipulationsschnittstellen. Das Design basiert auf Dialoggraphen, die für spezifische Software entwickelt wurden, und umfasst die folgenden Verfahren:

    Formation Sätze von Domänenobjekten, die auf dem Bildschirm präsentiert werden sollen, wobei hier keine Anwendungsfälle, sondern ein konzeptionelles Modell des Fachgebiets zugrunde gelegt werden;

    Analyse Objekte, sie zu definieren Typen und Darstellungen, sowie eine Liste von Operationen mit diesen Objekten;

    Klärung Objektinteraktionen und Aufbau einer Matrix direkte Manipulation;

    Definition visuelle Darstellungen Gegenstände;

    Entwicklung Menü des Objektfensters und Kontextmenüs;

    Schaffung Prototyp Schnittstelle;

    Prüfung für Benutzerfreundlichkeit.

    8 Intelligente Elemente der Benutzeroberfläche

    Elemente der Benutzerschnittstellen: Master, Advisor, Agent. Es wurden viele Versuche unternommen, eine sozialisierte Benutzerschnittstelle zu schaffen. Einem solchen Interface liegt die Idee zugrunde, ein personalisiertes, also „Persönlichkeit habendes“ Interface zu schaffen. Unterhaltungsprogramme wie Cats (Katzen) und Dogs (Hunde), die das komplexe Verhalten von Haustieren in unterschiedlichen Situationen umsetzen, zeigen, dass dies technisch eine durchaus lösbare Aufgabe ist.

    Berater. Sie haben die Form von Hinweisen. Sie können über das Hilfemenü, die Befehlszeile des Fensters oder über das Popup-Menü aufgerufen werden. Berater führen Benutzer durch bestimmte Aufgaben.

    Meister. Das Assistentenprogramm wird verwendet, um häufige, aber selten ausgeführte Aufgaben eines einzelnen Benutzers auszuführen (Programme oder Hardware installieren). Das Durchführen solcher Aktionen erfordert, dass der Benutzer komplexe zusammenhängende Entscheidungen trifft, deren Abfolge durch das Assistentenprogramm vorgegeben wird. Intelligente Assistenten sind in der Lage, die Ergebnisse der Antworten des Benutzers auf vorherige Fragen bei jedem Schritt im Viewer-Fenster anzuzeigen und ihm dabei zu helfen, sich in der Situation zurechtzufinden.

    Der Assistent implementiert ein sequentielles oder baumartiges Dialogskript. Es empfiehlt sich, es für die Lösung gut strukturierter, sequenzieller Aufgaben zu verwenden.

    In diesem Fall ist es notwendig:

    Geben Sie dem Benutzer die Möglichkeit, zum vorherigen Schritt zurückzukehren;

    Stellen Sie die Möglichkeit bereit, die Arbeit des Assistenten abzubrechen;

    Nummerieren Sie die Schritte und teilen Sie dem Benutzer die Anzahl der Schritte im Master mit, insbesondere wenn es mehr als drei solcher Schritte gibt;

    Erklären Sie dem Benutzer jeden Schritt;

    Demonstrieren Sie nach Möglichkeit das Ergebnis der bereits durchgeführten Operationen bei jedem Schritt.

    Software-Agenten. Wird für Routinearbeiten verwendet. Die Hauptfunktionen von Agenten-Helfern sind: Beobachtung, Suche, Kontrolle. Unterscheiden:

    Agentenprogramme, die zum Ausführen bestimmter Aufgaben konfiguriert sind;

    Agentenprogramme, die lernfähig sind (die Aktionen des Benutzers korrigieren (wie ein Tonbandgerät)).

    Wie jedes technische Gerät tauscht ein Computer Informationen mit einer Person durch eine Reihe bestimmter Regeln aus, die sowohl für die Maschine als auch für die Person verbindlich sind. Diese Regeln werden in der Computerliteratur Schnittstellen genannt. Die Schnittstelle sollte klar und unverständlich sein, freundlich und nicht. Viele Adjektive passen dazu. Aber in einem ist er konstant: Er ist es, und man kann ihm nirgendwo entkommen.

    Schnittstelle- Dies sind die Regeln für die Interaktion des Betriebssystems mit Benutzern sowie benachbarten Ebenen im Computernetzwerk. Die Technologie der Kommunikation zwischen einer Person und einem Computer hängt von der Schnittstelle ab.

    Schnittstelle Es ist zunächst einmal ein Regelwerk. Wie alle Regeln können sie verallgemeinert, zu einem „Code“ zusammengefasst und nach einem gemeinsamen Merkmal gruppiert werden. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, kamen wir zum Konzept des „Schnittstellentyps“ als Kombination der Ähnlichkeit der Art und Weise, wie Menschen und Computer interagieren. Wir können die folgende schematische Klassifizierung verschiedener Schnittstellen für die Kommunikation zwischen einer Person und einem Computer vorschlagen (Abb. 1.).

    Pakettechnologie. Historisch gesehen tauchte diese Art von Technologie zuerst auf. Es existierte bereits auf den Staffelmaschinen von Sues und Zuse (Deutschland, 1937). Seine Idee ist einfach: Die Eingabe des Computers ist eine Zeichenfolge, in der nach bestimmten Regeln die Reihenfolge der zur Ausführung gestarteten Programme angegeben ist. Nach der Ausführung des nächsten Programms wird das nächste gestartet und so weiter. Die Maschine findet nach bestimmten Regeln Befehle und Daten für sich. Diese Abfolge kann beispielsweise ein Lochstreifen, ein Lochkartenstapel, eine Tastenfolge einer elektrischen Schreibmaschine (zB CONSUL) sein. Die Maschine gibt ihre Nachrichten auch auf einem Perforator, einem alphanumerischen Drucker (ATsPU), einem Schreibmaschinenband aus.

    Eine solche Maschine ist eine „Black Box“ (genauer gesagt ein „weißer Schrank“), in die ständig Informationen eingespeist werden und die auch ständig die Welt über ihren Zustand „informiert“. Eine Person hat hier wenig Einfluss auf den Betrieb der Maschine – sie kann nur den Betrieb der Maschine unterbrechen, das Programm ändern und den Computer neu starten. Später, als die Maschinen leistungsfähiger wurden und mehrere Benutzer gleichzeitig bedienen konnten, das ewige Warten des Benutzers wie: "Ich habe Daten an die Maschine gesendet. Ich warte darauf, dass sie antwortet. Und wird sie überhaupt antworten?" - es wurde, gelinde gesagt, notwendig zu essen. Zudem sind Rechenzentren nach den Zeitungen zum zweitgrößten „Produzenten“ von Altpapier geworden. Aus diesem Grund begann mit dem Aufkommen alphanumerischer Displays die Ära einer wirklich benutzerfreundlichen Technologie, der Kommandozeile.

    Befehlsschnittstelle.

    Die Befehlsschnittstelle wird normalerweise so genannt, weil bei dieser Art von Schnittstelle eine Person "Befehle" an den Computer gibt und der Computer sie ausführt und das Ergebnis an die Person weitergibt. Die Kommandoschnittstelle ist als Batch-Technologie und Kommandozeilen-Technologie implementiert.

    Bei dieser Technologie dient die Tastatur als einzige Möglichkeit, Informationen von einer Person in einen Computer einzugeben, und der Computer gibt Informationen an eine Person unter Verwendung einer alphanumerischen Anzeige (Monitor) aus. Diese Kombination (Monitor + Tastatur) wurde als Terminal oder Konsole bekannt.

    Befehle werden in der Befehlszeile eingegeben. Die Befehlszeile ist ein Eingabeaufforderungssymbol und ein blinkendes Rechteck - der Cursor.
    Gehostet auf ref.rf
    Wenn eine Taste gedrückt wird, erscheinen Zeichen an der Cursorposition und der Cursor selbst bewegt sich nach rechts. Der Befehl wird durch Drücken der Eingabetaste (bzw. Return.) beendet, danach erfolgt der Übergang zum Anfang der nächsten Zeile. Aus dieser Position zeigt der Computer die Ergebnisse seiner Arbeit auf dem Monitor an. Dann wird der Vorgang wiederholt.

    Die Befehlszeilentechnologie funktionierte bereits auf monochromen alphanumerischen Displays. Da nur Buchstaben, Zahlen und Satzzeichen eingegeben werden durften, seien die technischen Eigenschaften des Displays nicht von Bedeutung. Als Monitor könnte ein Fernsehempfänger und sogar eine Oszilloskopröhre verwendet werden.

    Beide Technologien werden in Form einer Befehlsschnittstelle implementiert - Maschinen werden in die Eingabe des Befehls eingespeist und "antworten" sozusagen darauf.

    Textdateien wurden zum vorherrschenden Dateityp bei der Arbeit mit der Befehlsschnittstelle - sie und nur sie konnten mit der Tastatur erstellt werden. Die am weitesten verbreitete Verwendung der Befehlszeilenschnittstelle ist das Aufkommen des UNIX-Betriebssystems und das Erscheinen der ersten Acht-Bit-Personalcomputer mit dem Multiplattform-Betriebssystem CP/M.

    WIMP-Schnittstelle(Fenster - Fenster, Bild - Bild, Menü - Menü, Zeiger - Zeiger). Ein charakteristisches Merkmal dieser Art von Schnittstelle ist, dass der Dialog mit dem Benutzer nicht mit Hilfe von Befehlen, sondern mit Hilfe von grafischen Bildern - Menüs, Fenstern und anderen Elementen - geführt wird. Obwohl Maschinenbefehle in dieser Schnittstelle gegeben werden, geschieht dies "indirekt", durch grafische Bilder. Die Idee einer grafischen Benutzeroberfläche entstand Mitte der 1970er Jahre, als am Xerox Palo Alto Research Center (PARC) das Konzept einer visuellen Benutzeroberfläche entwickelt wurde. Voraussetzung für die grafische Oberfläche war eine Verkürzung der Reaktionszeit des Computers auf einen Befehl, eine Erhöhung des Arbeitsspeichers sowie die Entwicklung der technischen Basis von Computern. Die Hardware-Basis des Konzepts war natürlich das Erscheinen alphanumerischer Displays auf Computern, und diese Displays hatten bereits solche Effekte wie "Flimmern" von Zeichen, Farbinversion (Umkehrung des Stils von weißen Zeichen auf schwarzem Hintergrund, d.h. schwarze Schrift auf weißem Grund ), unterstrichene Schriftzeichen. Diese Effekte erstreckten sich nicht auf den gesamten Bildschirm, sondern nur auf einen oder mehrere Charaktere. Der nächste Schritt war die Erstellung eines Farbdisplays, das neben diesen Effekten Symbole in 16 Farben auf einem Hintergrund mit einer Palette (dh einem Farbsatz) von 8 Farben ermöglicht. Nach dem Aufkommen der Grafikdisplays, mit der Möglichkeit, beliebige Grafikbilder in Form vieler Punkte auf einem Bildschirm in verschiedenen Farben darzustellen, sind der Fantasie bei der Nutzung des Bildschirms keine Grenzen gesetzt! Das erste GUI-System von PARC, das 8010 Star Information System, erschien somit vier Monate vor der Veröffentlichung des ersten IBM-Computers im Jahr 1981. Anfänglich wurde die visuelle Schnittstelle nur in Programmen verwendet. Allmählich wechselte er zu den Betriebssystemen, die zuerst auf Atari- und Apple Macintosh-Computern und dann auf IBM-kompatiblen Computern verwendet wurden.

    Seit früherer Zeit, und auch beeinflusst von diesen Konzepten, gab es einen Prozess der Vereinheitlichung in der Verwendung von Tastatur und Maus durch Anwendungsprogramme. Die Verschmelzung dieser beiden Trends hat zur Schaffung der Benutzeroberfläche geführt, mit deren Hilfe Sie mit minimalem Zeit- und Geldaufwand für die Umschulung von Mitarbeitern mit jedem Softwareprodukt arbeiten können. Die Beschreibung dieser allen Anwendungen und Betriebssystemen gemeinsamen Schnittstelle ist Gegenstand dieses Teils.

    Die grafische Benutzeroberfläche hat während ihrer Entwicklung zwei Phasen durchlaufen und ist auf zwei Technologieebenen implementiert: einer einfachen grafischen Oberfläche und einer "reinen" WIMP-Oberfläche.

    In der ersten Phase war die grafische Oberfläche der Befehlszeilentechnologie sehr ähnlich. Die Unterschiede zur Kommandozeilentechnologie waren wie folgt:

    Ú Beim Anzeigen von Symbolen war es erlaubt, einige der Symbole farbig, invertiert, unterstrichen und blinkend hervorzuheben. Dadurch hat die Ausdruckskraft des Bildes zugenommen.

    Ú Aufgrund der Abhängigkeit von einer bestimmten Implementierung der grafischen Oberfläche kann der Cursor nicht nur durch ein flackerndes Rechteck dargestellt werden, sondern auch durch einen Bereich, der mehrere Zeichen und sogar einen Teil des Bildschirms umfasst. Dieser ausgewählte Bereich unterscheidet sich von anderen nicht ausgewählten Teilen (normalerweise durch Farbe).

    Ú Das Drücken der Eingabetaste führt nicht immer den Befehl aus und springt zur nächsten Zeile. Die Reaktion auf das Drücken einer beliebigen Taste hängt weitgehend davon ab, auf welchem ​​Teil des Bildschirms sich der Cursor befand.

    Ú Auf der Tastatur werden neben der Enter-Taste zunehmend auch die grauen Cursor-Tasten verwendet (siehe Tastatur-Kapitel in Heft 3 dieser Serie.)

    Ú Bereits in dieser Ausgabe der grafischen Benutzeroberfläche wurden Manipulatoren verwendet (wie Maus, Trackball usw. - siehe Abbildung A.4.) Οʜᴎ ermöglichte es Ihnen, schnell den gewünschten Teil des Bildschirms auszuwählen und den Cursor zu bewegen.

    Zusammenfassend können wir die folgenden Besonderheiten dieser Schnittstelle nennen:

    Ú Markieren Sie Bereiche des Bildschirms.

    Ú Tastaturtasten basierend auf Kontext neu definieren.

    Ú Verwendung von Manipulatoren und grauen Tastaturtasten zur Steuerung des Cursors.

    Ú Extensiver Einsatz von Farbmonitoren.

    Das Erscheinungsbild dieser Art von Schnittstelle fällt mit der weit verbreiteten Verwendung des MS-DOS-Betriebssystems zusammen. Sie war es, die diese Schnittstelle der Masse vorstellte, dank der die 80er Jahre von der Verbesserung dieser Art von Schnittstelle, der Verbesserung der Zeichenanzeigeeigenschaften und anderer Monitorparameter geprägt waren.

    Ein typisches Beispiel für die Verwendung dieser Art von Schnittstelle ist die Nortron Commander-Datei-Shell und der Multi-Edit-Texteditor. Und die Texteditoren Lexicon, ChiWriter und die Textverarbeitung Microsoft Word for Dos sind ein Beispiel dafür, wie sich diese Schnittstelle selbst übertroffen hat.

    Die zweite Stufe in der Entwicklung der grafischen Oberfläche stellte die „reine“ WIMP-Oberfläche dar. Diese Unterart der Oberfläche zeichnet sich durch folgende Merkmale aus:

    Ú Die gesamte Arbeit mit Programmen, Dateien und Dokumenten findet in Fenstern statt – bestimmte Teile des Bildschirms sind durch einen Rahmen umrandet.

    Ú Alle Programme, Dateien, Dokumente, Geräte und andere Objekte werden als Symbole dargestellt - Icons. Beim Öffnen verwandeln sich die Symbole in Fenster.

    Ú Alle Aktionen mit Objekten werden über das Menü durchgeführt. Obwohl das Menü in der ersten Phase der Entwicklung der grafischen Oberfläche erschien, hatte es keine dominante Bedeutung, sondern diente nur als Ergänzung zur Befehlszeile. In einer reinen WIMP-Oberfläche wird das Menü zum Hauptbedienelement.

    Ú Umfangreiche Verwendung von Manipulatoren, um auf Objekte zu zeigen. Der Manipulator ist nicht mehr nur ein Spielzeug - eine Ergänzung zur Tastatur, sondern wird zum Hauptsteuerelement. Mit Hilfe des Manipulators zeigen sie auf einen beliebigen Bereich des Bildschirms, Fensters oder Symbols, wählen ihn aus und steuern ihn erst dann über das Menü oder mithilfe anderer Technologien.

    Zu beachten ist, dass WIMP zu seiner Implementierung ein hochauflösendes Farbrasterdisplay und einen Manipulator benötigt.
    Gehostet auf ref.rf
    Außerdem stellen Programme, die sich auf diese Art von Schnittstelle konzentrieren, erhöhte Anforderungen an die Computerleistung, Speichergröße, Busbandbreite usw. Gleichzeitig ist diese Art von Benutzeroberfläche am einfachsten zu erlernen und intuitiv. Aus diesem Grund hat sich die WIMP-Schnittstelle mittlerweile zum De-facto-Standard entwickelt.

    Ein markantes Beispiel für Programme mit einer grafischen Oberfläche ist das Betriebssystem Microsoft Windows.

    SEIDE- Schnittstelle (Sprache - Sprache, Bild - Bild, Sprache - Sprache, Knowlege - Wissen). Diese Art der Schnittstelle kommt der üblichen, menschlichen Form der Kommunikation am nächsten. Im Rahmen dieser Schnittstelle findet ein normales "Gespräch" zwischen Mensch und Computer statt. Gleichzeitig findet der Computer Befehle für sich selbst, indem er die menschliche Sprache analysiert und Schlüsselsätze darin findet. Es wandelt auch das Ergebnis der Befehlsausführung in eine für Menschen lesbare Form um. Diese Art von Schnittstelle ist die anspruchsvollste für die Hardwareressourcen eines Computers und wird in dieser Hinsicht hauptsächlich für militärische Zwecke verwendet.

    Seit Mitte der 90er Jahre, nach dem Erscheinen kostengünstiger Soundkarten und dem weit verbreiteten Einsatz von Spracherkennungstechnologien, ist die sogenannte "Sprachtechnologie" der SILK-Schnittstelle erschienen. Mit dieser Technologie werden Befehle per Sprache gegeben, indem spezielle reservierte Wörter ausgesprochen werden - Befehle.

    Wörter sollten klar und im gleichen Tempo ausgesprochen werden. Es gibt eine Pause zwischen den Wörtern. Aufgrund der Unterentwicklung des Spracherkennungsalgorithmus erfordern solche Systeme eine individuelle Vorkonfiguration für jeden spezifischen Benutzer.

    Die "Sprach"-Technologie ist die einfachste Implementierung der SILK-Schnittstelle.

    Biometrische Technologie ("Mimic Interface").

    Diese Technologie entstand in den späten 1990er Jahren und befindet sich zum Zeitpunkt der Erstellung dieses Artikels noch in der Entwicklung. Zur Steuerung des Computers werden der Gesichtsausdruck einer Person, die Blickrichtung, die Pupillengröße und andere Zeichen verwendet. Um den Benutzer zu identifizieren, werden das Muster der Iris seiner Augen, Fingerabdrücke und andere eindeutige Informationen verwendet. Bilder werden von einer digitalen Videokamera gelesen und dann werden aus diesem Bild mit speziellen Bilderkennungsprogrammen Befehle extrahiert. Diese Technologie wird wahrscheinlich ihren Platz in Softwareprodukten und Anwendungen einnehmen, bei denen es wichtig ist, einen Computerbenutzer genau zu identifizieren.

    mob_info