Διεπαφές και τεχνολογίες. Οι κύριες τεχνολογίες για την υλοποίηση διεπαφών είναι: Μαζική

  • OOP
  • Την περασμένη Δευτέρα είχα την τύχη να πάρω μια συνέντευξη ως Senior Developer .Net σε μια διεθνή εταιρεία. Κατά τη διάρκεια της συνέντευξης, μου ζητήθηκε να κάνω ένα τεστ όπου μια σειρά από ερωτήσεις αφορούσαν το .Net. Ειδικότερα, σε μία από τις ερωτήσεις ήταν απαραίτητο να αξιολογηθούν (αληθές/λάθος) ορισμένες δηλώσεις, μεταξύ των οποίων ήταν οι ακόλουθες:

    Στο .Net, οποιοσδήποτε πίνακας στοιχείων, όπως το int, υλοποιεί το IList από προεπιλογή, επιτρέποντάς του να χρησιμοποιηθεί ως συλλογή σε μια πρόταση foreach.

    Γρήγορα απαντώντας αρνητικά σε αυτή την ερώτηση και γράφοντας χωριστά στο περιθώριο. ότι το foreach απαιτεί μια εφαρμογή όχι του IList, αλλά του IEnumerable, προχώρησα στην επόμενη ερώτηση. Ωστόσο, στο δρόμο για το σπίτι με βασάνιζε η ερώτηση: η συστοιχία εξακολουθεί να εφαρμόζει αυτήν τη διεπαφή ή όχι;

    Σχετικά με το IList, θυμήθηκα αόριστα ότι αυτή η διεπαφή μου δίνει μια ιδιότητα IEnumerable, έναν δείκτη και μια ιδιότητα Count που περιέχει τον αριθμό των στοιχείων της συλλογής, καθώς και μερικές ιδιότητες που χρησιμοποιούνται σπάνια, όπως το IsFixedCollection(). Ο πίνακας έχει μια ιδιότητα Length για το μέγεθός του και το Count in IEnumerable είναι μια μέθοδος επέκτασης από το LINQ, η οποία δεν θα ήταν δυνατή εάν η μέθοδος υλοποιούνταν σε μια κλάση. Έτσι, αποδείχθηκε ότι η συστοιχία δεν μπορούσε να εφαρμόσει τη διεπαφή IList, αλλά κάποιο αόριστο συναίσθημα με στοίχειωσε. Έτσι το απόγευμα μετά τη συνέντευξη, αποφάσισα να κάνω λίγη έρευνα.

    Σύστημα κλάσης.Πίνακας

    Επειδή δεν είχα εγκαταστήσει το Reflector.Net, έγραψα απλώς ένα σύντομο πρόγραμμα σε C# για να μάθω τι είδους διεπαφές υλοποιούνται από έναν ακέραιο πίνακα.

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

    Ακολουθεί η πλήρης λίστα των ληφθέντων διεπαφών από το παράθυρο της κονσόλας:

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

    Ετσι, ένας πίνακας στο .Net εξακολουθεί να υλοποιεί τη διεπαφή IList και τη γενικευμένη έκδοσή του IList<> .

    Για να λάβω πιο ολοκληρωμένες πληροφορίες, έφτιαξα ένα διάγραμμα της κλάσης System.Array.

    Το λάθος μου τράβηξε αμέσως το μάτι μου: Το Count δεν ήταν ιδιοκτησία του IList, αλλά του ICollection, της προηγούμενης διεπαφής στην αλυσίδα κληρονομικότητας. Ωστόσο, ο ίδιος ο πίνακας δεν είχε πλέον τέτοια ιδιότητα, ούτε πολλές από τις άλλες ιδιότητες της διεπαφής IList, αν και οι άλλες ιδιότητες της διεπαφής, IsFixedSize και IsReadOnly, υλοποιήθηκαν. Πώς είναι ακόμη δυνατό αυτό;

    Όλα μπαίνουν αμέσως στη θέση τους όταν θυμάστε ότι στο C# μπορείτε να εφαρμόσετε διεπαφές όχι μόνο
    σιωπηρά, αλλά και ρητά. Ήξερα για αυτή τη δυνατότητα από σχολικά βιβλία, τα οποία έδωσαν ένα παράδειγμα τέτοιας εφαρμογής σε μια περίπτωση. όταν η βασική κλάση περιέχει ήδη μια μέθοδο με το ίδιο όνομα με τη μέθοδο διεπαφής. Είδα αυτή τη δυνατότητα και στο ReSharper. Ωστόσο, μέχρι τώρα δεν έχω αντιμετωπίσει άμεσα την ανάγκη να υλοποιήσω ρητά τις διεπαφές στα δικά μου έργα.

    Σύγκριση ρητής και σιωπηρής υλοποίησης διεπαφών

    Ας συγκρίνουμε αυτούς τους δύο τύπους υλοποιήσεων διεπαφής:.
    Κριτήρια
    Σιωπηρή υλοποίηση
    Ρητή εφαρμογή
    Βασική σύνταξη
    διεπαφή ITest ( void DoTest(); ) δημόσια κλάση ImplicitTest: ITtest ( public void DoTest() ( ) )
    διεπαφή ITest ( void DoTest(); ) δημόσια κλάση ExplicitTest: ITtest ( void ITest.DoTest() ( ) )
    Ορατότητα
    Η σιωπηρή υλοποίηση ήταν πάντα δημόσια, επομένως οι μέθοδοι και οι ιδιότητες μπορούν να έχουν άμεση πρόσβαση.
    var imp = new ImplicitTest(); imp.DoTest();
    Η ρητή υλοποίηση είναι πάντα ιδιωτική.
    Για να αποκτήσετε πρόσβαση στην υλοποίηση, πρέπει να μεταφέρετε την παρουσία κλάσης στη διεπαφή (upcast σε διεπαφή).
    var exp = new ExplicitTest(); ((ITtest)exp).DoTest();
    Πολυμορφία
    Η σιωπηρή υλοποίηση μιας διεπαφής μπορεί να είναι εικονική, γεγονός που επιτρέπει την επανεγγραφή αυτής της υλοποίησης σε κλάσεις καταγωγής.
    Η ρητή υλοποίηση είναι πάντα στατική. Δεν μπορεί να παρακαμφθεί (παράκαμψη) ή να αποκλειστεί (νέο) σε κλάσεις καταγωγής. Σημείωση 1
    Αφηρημένη τάξη και υλοποίηση
    Μια σιωπηρή υλοποίηση μπορεί να είναι αφηρημένη και να υλοποιηθεί μόνο σε μια κλάση καταγωγής.
    Μια ρητή υλοποίηση δεν μπορεί να είναι αφηρημένη, αλλά η ίδια η κλάση μπορεί να έχει άλλες αφηρημένες μεθόδους και να είναι αφηρημένη η ίδια. Σημείωση 2

    Σημειώσεις:
    Σημείωση 1 - Όπως σωστά σημειώθηκε στα σχόλια, η υλοποίηση μπορεί να παρακαμφθεί με επαναλαμβανόμενη ρητή υλοποίηση της διεπαφής στην κλάση descendant (δείτε το πρώτο σχόλιο του άρθρου).

    Σημείωση 2 - Ένα από τα ιστολόγια δηλώνει ότι μια τάξη από μόνη της δεν μπορεί να είναι αφηρημένη. Ίσως αυτό να ίσχυε για ορισμένες από τις προηγούμενες εκδόσεις του μεταγλωττιστή· στα πειράματά μου, μπορούσα να εφαρμόσω τη διεπαφή ρητά σε μια αφηρημένη τάξη χωρίς κανένα πρόβλημα.

    Γιατί χρειαζόμαστε ρητή υλοποίηση διεπαφών;

    Η ρητή υλοποίηση διεπαφής, σύμφωνα με το MSDN, είναι απαραίτητη όταν πολλαπλές διεπαφές που υλοποιούνται από μια κλάση έχουν μια μέθοδο με την ίδια υπογραφή. Αυτό το πρόβλημα είναι γενικά γνωστό στον αγγλόφωνο κόσμο με το ανατριχιαστικό όνομα "θανατηφόρο διαμάντι του θανάτου", το οποίο μεταφράζεται στα ρωσικά ως "το πρόβλημα του διαμαντιού". Εδώ είναι ένα παράδειγμα μιας τέτοιας κατάστασης:

    /* Λίστα 1 */ διεπαφή IJogger ( void Run(); ) διεπαφή ISkier ( void Run(); ) δημόσια κλάση Αθλητής: ISkier, IJogger ( public void Run() ( Console.WriteLine("Είμαι αθλητής, σκιέρ ή Τζόγκερ;");))

    Παρεμπιπτόντως, αυτό το παράδειγμα είναι σωστός κώδικας σε C#, δηλαδή μεταγλωττίζει και εκτελείται (σωστά), ενώ η μέθοδος Run() είναι και μέθοδος της ίδιας της κλάσης και υλοποίηση έως και δύο διεπαφών. Με αυτόν τον τρόπο μπορούμε να έχουμε μία υλοποίηση για διαφορετικές διεπαφές και για την ίδια την κλάση. Μπορείτε να το ελέγξετε με τον ακόλουθο κώδικα:

    /* Λίστα 2 */ var sp = new Athlete(); sp.Run(); (sp ως ISkier).Run(); (sp ως IJogger).Run();

    Το αποτέλεσμα της εκτέλεσης αυτού του κώδικα θα είναι "Είμαι αθλητής, σκιέρ ή τζόγκερ;", εκτυπώθηκε στην κονσόλα τρεις φορές.

    Εδώ μπορούμε να χρησιμοποιήσουμε ρητή υλοποίηση διεπαφής για να διαχωρίσουμε και τις τρεις περιπτώσεις:

    /* Καταχώριση 3 */ δημόσια κλάση Sportsman ( δημόσιο εικονικό void Run() ( Console.WriteLine("I am a Sportsman"); ) ) δημόσια κατηγορία Αθλητής: Sportsman, ISkier, IJogger ( δημόσια παράκαμψη void Run() (Κονσόλα. WriteLine("Είμαι αθλητής"); ) void ISkier.Run() ( Console.WriteLine("I am a Skier"); ) void IJogger.Run() ( Console.WriteLine("I am a Jogger"); ) )

    Σε αυτήν την περίπτωση, κατά την εκτέλεση του κώδικα από τη Λίστα 2, θα δούμε τρεις γραμμές στην κονσόλα, «Είμαι αθλητής», "Είμαι σκιέρ"Και "Είμαι Jogger".

    Πλεονεκτήματα και μειονεκτήματα των διαφορετικών υλοποιήσεων διεπαφής

    Ορατότητα υλοποίησης και επιλεκτική υλοποίηση
    Όπως έχει ήδη φανεί παραπάνω, μια σιωπηρή υλοποίηση δεν διαφέρει συντακτικά από μια μέθοδο κανονικής κλάσης (και εάν αυτή η μέθοδος έχει ήδη οριστεί στην κλάση ancestor, τότε σε αυτήν τη σύνταξη η μέθοδος θα είναι κρυμμένη στον απόγονο και ο κώδικας θα είναι μεταγλωττίστηκε χωρίς προβλήματα προειδοποίηση μεταγλωττιστή σχετικά με την απόκρυψη της μεθόδου.). Επιπλέον, είναι δυνατή η επιλεκτική εφαρμογή μεμονωμένων μεθόδων μιας διεπαφής, είτε ρητά είτε σιωπηρά:

    /* Λίστα 4 */ δημόσια κλάση Κώδικας ( public void Run() ( Console.WriteLine("I am a class method"); ) ) διεπαφή ICommand ( void Run(); void Execute(); ) public class CodeCommand: Code , ICommand ( // εφαρμογή μεθόδου σιωπηρής διεπαφής // => δημόσια υλοποίηση // έμμεση βασική μέθοδος απόκρυψη (προειδοποίηση εδώ) δημόσιο κενό Run() ( base.Run(); ) // υλοποίηση μεθόδου ρητής διεπαφής // => ιδιωτικό υλοποίηση void ICommand.Execute() () )

    Αυτό επιτρέπει σε υλοποιήσεις μεμονωμένων μεθόδων διεπαφής να χρησιμοποιούνται ως εγγενείς μέθοδοι της κλάσης και είναι προσβάσιμες, για παράδειγμα, μέσω του IntelliSense, σε αντίθεση με τη ρητή υλοποίηση μεθόδων, οι οποίες είναι ιδιωτικές και ορατές μόνο μετά τη μετάδοση στην αντίστοιχη διεπαφή.

    Από την άλλη πλευρά, η δυνατότητα εφαρμογής μεθόδων ιδιωτικά σας επιτρέπει να αποκρύψετε μια σειρά από μεθόδους διεπαφής ενώ την εφαρμόζετε πλήρως. Επιστρέφοντας στο πρώτο μας παράδειγμα με πίνακες στο .Net, μπορείτε να δείτε ότι ο πίνακας κρύβει, για παράδειγμα, την υλοποίηση της ιδιότητας Count της διεπαφής ICollection, εκθέτοντας αυτήν την ιδιότητα με το όνομα Length (πιθανώς αυτή είναι μια προσπάθεια διατήρησης της συμβατότητας με C++ STL και Java). Έτσι, μπορούμε να αποκρύψουμε ορισμένες μεθόδους της εφαρμοσμένης διεπαφής και να μην αποκρύψουμε (=δημοσιεύσουμε) άλλες.

    Το πρόβλημα εδώ, ωστόσο, είναι ότι σε πολλές περιπτώσεις είναι εντελώς αδύνατο να μαντέψει κανείς ποιες διεπαφές υλοποιούνται «σιωπηρά» από μια κλάση, καθώς ούτε οι μέθοδοι ούτε οι ιδιότητες αυτών των διεπαφών είναι ορατές στο IntelliSense (το παράδειγμα του System.Array είναι επίσης διδακτικό εδώ). Ο μόνος τρόπος για τον εντοπισμό τέτοιων υλοποιήσεων είναι η χρήση της αντανάκλασης, για παράδειγμα χρησιμοποιώντας το Object Browser στο Visual Studio.

    Ανακατασκευή διεπαφής
    Δεδομένου ότι η σιωπηρή (δημόσια) υλοποίηση μιας διεπαφής δεν διαφέρει από την υλοποίηση μιας δημόσιας μεθόδου μιας κλάσης, στην περίπτωση της ανακατασκευής της διεπαφής και της αφαίρεσης οποιασδήποτε δημόσιας μεθόδου από αυτήν (για παράδειγμα, όταν συνδυάζεται η Run() και η Execute () μέθοδοι από την παραπάνω διεπαφή ICommand σε μία μέθοδο Εκτέλεση( )) σε όλες τις σιωπηρές υλοποιήσεις, η μέθοδος θα παραμείνει ανοιχτή πρόσβαση, η οποία πολύ πιθανόν θα πρέπει να υποστηρίζεται ακόμη και μετά την ανακατασκευή, καθώς αυτή η δημόσια μέθοδος μπορεί να έχει ήδη διάφορες εξαρτήσεις σε άλλες εξαρτήματα του συστήματος. Ως αποτέλεσμα αυτού, θα παραβιαστεί η αρχή προγραμματισμού «κατά διεπαφές, όχι υλοποιήσεις», καθώς οι εξαρτήσεις θα είναι ήδη μεταξύ συγκεκριμένων (και σε διαφορετικές κλάσεις, πιθανώς διαφορετικές) υλοποιήσεις της προηγούμενης μεθόδου διεπαφής.

    /* Καταχώριση 5 */ διεπαφή IFingers ( void Thumb(); void IndexFinger(); // μια απαρχαιωμένη μέθοδος διεπαφής // void MiddleFinger(); ) δημόσια κλάση HumanPalm: IFingers ( public void Thumb() () public void IndexFinger( ) () // εδώ είναι μια "κρεμαστή" δημόσια μέθοδος public void MiddleFinger() () ) δημόσια κλάση AnthropoidHand: IFingers ( void IFingers.Thumb() () void IFingers.IndexFinger() () // εδώ το σφάλμα μεταγλώττισης void IFingers.MiddleFinger() () )

    Στην περίπτωση ιδιωτικής υλοποίησης διεπαφών, όλες οι κλάσεις με ρητή υλοποίηση μιας μεθόδου που δεν υπάρχει πλέον απλώς θα σταματήσουν να μεταγλωττίζονται, αλλά αφού αφαιρέσουμε την υλοποίηση που έχει καταστεί περιττή (ή την αναδιαμόρφωση σε μια νέα μέθοδο), δεν θα έχουμε μια «επιπλέον» δημόσια μέθοδος που δεν συνδέεται με καμία διεπαφή. Φυσικά, μπορεί να είναι απαραίτητο να αναπαραχθούν οι εξαρτήσεις από την ίδια τη διεπαφή, αλλά τουλάχιστον εδώ δεν θα υπάρχει παραβίαση της αρχής «πρόγραμμα προς διεπαφές, όχι υλοποιήσεις».

    Όσον αφορά τις ιδιότητες, οι ιδιότητες διεπαφής (ιδιότητες) που εφαρμόζονται σιωπηρά σάς επιτρέπουν να έχετε πρόσβαση σε αυτές μέσω μεθόδων πρόσβασης (getter και setter) τόσο εξωτερικά όσο και απευθείας από την ίδια την κλάση, γεγονός που μπορεί να οδηγήσει σε περιττά αποτελέσματα (για παράδειγμα, περιττή επικύρωση δεδομένων κατά τις ιδιότητες αρχικοποίησης) .

    /* Λίστα 6 */ διεπαφή IPProperty ( int Amount ( get; set; ) ) δημόσια κλάση ClassWithProperty: IPProperty ( // σιωπηρή υλοποίηση, δημόσια δημόσια int Amount ( get; set; ) public ClassWithProperty() ( // εσωτερική επίκληση του δημόσιος ρυθμιστής Ποσό = 1000; ) ) δημόσια κλάση ClassWithExplicitProperty: IProperty ( // ρητή υλοποίηση, ιδιωτική int IPProperty. Ποσό ( get; set; ) public ClassWithExplicitProperty() ( // εσωτερική επίκληση δεν είναι δυνατή εδώ // σφάλμα μεταγλώττισης 1000;))

    Όταν εφαρμόζετε ρητά ιδιότητες διεπαφής, αυτές οι ιδιότητες παραμένουν ιδιωτικές και για να αποκτήσετε πρόσβαση πρέπει να ακολουθήσετε τη "μακριά" διαδρομή και να δηλώσετε ένα πρόσθετο ιδιωτικό πεδίο μέσω του οποίου πραγματοποιείται η προετοιμασία. Αυτό έχει ως αποτέλεσμα καθαρότερο κώδικα όπου τα αξεσουάρ ιδιοκτησίας χρησιμοποιούνται μόνο για εξωτερική πρόσβαση.

    Χρησιμοποιώντας ρητή πληκτρολόγηση τοπικών μεταβλητών και πεδίων κλάσης
    Στην περίπτωση της ρητής υλοποίησης διεπαφών, πρέπει να υποδείξουμε ρητά ότι δεν εργαζόμαστε με μια παρουσία μιας κλάσης, αλλά με μια παρουσία μιας διεπαφής. Έτσι, για παράδειγμα, καθίσταται αδύνατη η χρήση συμπερασμάτων τύπου και η δήλωση τοπικών μεταβλητών στη C# χρησιμοποιώντας τη λέξη υπηρεσίας var. Αντίθετα, πρέπει να χρησιμοποιήσουμε μια ρητή δήλωση του τύπου διεπαφής κατά τη δήλωση τοπικών μεταβλητών, καθώς και στην υπογραφή της μεθόδου και στα πεδία κλάσης.

    Έτσι, από τη μία πλευρά, φαίνεται ότι κάνουμε τον κώδικα κάπως λιγότερο ευέλικτο (για παράδειγμα, το ReSharper από προεπιλογή προτείνει πάντα τη χρήση δήλωσης με var αν είναι δυνατόν), αλλά αποφεύγουμε πιθανά προβλήματα που σχετίζονται με τη σύνδεση σε μια συγκεκριμένη υλοποίηση καθώς το σύστημα μεγαλώνει και τον κωδικό όγκου του. Αυτό το σημείο μπορεί να φαίνεται αμφιλεγόμενο σε πολλούς, αλλά στην περίπτωση που πολλά άτομα εργάζονται σε ένα έργο, ακόμη και σε διαφορετικά μέρη του κόσμου, η χρήση ρητής πληκτρολόγησης μπορεί να είναι πολύ χρήσιμη, καθώς αυξάνει την αναγνωσιμότητα του κώδικα και μειώνει το κόστος της διατήρησής του.

    Όπως κάθε τεχνική συσκευή, ένας υπολογιστής ανταλλάσσει πληροφορίες με ένα άτομο μέσω ενός συνόλου ορισμένων κανόνων που είναι υποχρεωτικοί τόσο για το μηχάνημα όσο και για το άτομο. Αυτοί οι κανόνες ονομάζονται διεπαφή στη βιβλιογραφία υπολογιστών. Η διεπαφή μπορεί να είναι κατανοητή ή ακατανόητη, φιλική ή όχι. Πολλά επίθετα ισχύουν για αυτό. Αλλά ένα πράγμα είναι σταθερό: υπάρχει και δεν μπορείς να το ξεφύγεις.

    Διεπαφή- αυτοί είναι οι κανόνες για την αλληλεπίδραση μεταξύ του λειτουργικού συστήματος και των χρηστών, καθώς και γειτονικά επίπεδα στο δίκτυο υπολογιστών. Η τεχνολογία της επικοινωνίας ανθρώπου-υπολογιστή εξαρτάται από τη διεπαφή.

    Διεπαφή- Αυτό είναι, πρώτα απ 'όλα, ένα σύνολο κανόνων. Όπως κάθε κανόνας, μπορούν να γενικευτούν, να συλλεχθούν σε έναν «κώδικα» και να ομαδοποιηθούν σύμφωνα με ένα κοινό χαρακτηριστικό. Έτσι, καταλήξαμε στην έννοια του «τύπου διεπαφής» ως συνδυασμό παρόμοιων τρόπων αλληλεπίδρασης μεταξύ ανθρώπων και υπολογιστών. Μπορούμε να προτείνουμε την ακόλουθη σχηματική ταξινόμηση διαφόρων διεπαφών επικοινωνίας ανθρώπου-υπολογιστή (Εικ. 1.).

    Τεχνολογία παρτίδας.Ιστορικά, αυτός ο τύπος τεχνολογίας εμφανίστηκε πρώτος. Υπήρχε ήδη στις μηχανές ρελέ των Sues και Zuse (Γερμανία, 1937). Η ιδέα του είναι απλή: μια ακολουθία συμβόλων παρέχεται στην είσοδο του υπολογιστή, στην οποία, σύμφωνα με ορισμένους κανόνες, υποδεικνύεται η σειρά των προγραμμάτων που ξεκινούν για εκτέλεση. Μετά την εκτέλεση του επόμενου προγράμματος, εκκινείται το επόμενο και ούτω καθεξής. Το μηχάνημα, σύμφωνα με ορισμένους κανόνες, βρίσκει εντολές και δεδομένα για τον εαυτό του. Αυτή η ακολουθία μπορεί να είναι, για παράδειγμα, μια διάτρητη χαρτοταινία, μια στοίβα από διάτρητες κάρτες ή μια ακολουθία πατήματος των πλήκτρων μιας ηλεκτρικής γραφομηχανής (τύπου CONSUL). Το μηχάνημα εξάγει επίσης τα μηνύματά του σε μια διάτρηση, μια αλφαριθμητική μονάδα εκτύπωσης (ADP) ή μια κορδέλα γραφομηχανής.

    Ένα τέτοιο μηχάνημα είναι ένα «μαύρο κουτί» (ακριβέστερα, ένα «λευκό ντουλάπι»), στο οποίο παρέχονται συνεχώς πληροφορίες και το οποίο επίσης «ενημερώνει» συνεχώς τον κόσμο για την κατάστασή του. Ένα άτομο εδώ έχει μικρή επιρροή στη λειτουργία του μηχανήματος - μπορεί μόνο να διακόψει τη λειτουργία του μηχανήματος, να αλλάξει το πρόγραμμα και να ξεκινήσει ξανά τον υπολογιστή. Στη συνέχεια, όταν τα μηχανήματα έγιναν πιο ισχυρά και μπορούσαν να εξυπηρετήσουν πολλούς χρήστες ταυτόχρονα, οι χρήστες περίμεναν για πάντα όπως: "Έστειλα δεδομένα στο μηχάνημα. Περιμένω να απαντήσει. Και θα ανταποκριθεί καθόλου;" - έγινε, για να το θέσω ήπια, βαρετό. Επιπλέον, τα κέντρα υπολογιστών, ακολουθώντας τις εφημερίδες, έχουν γίνει ο δεύτερος σημαντικός «παραγωγός» απορριμμάτων χαρτιού. Επομένως, με την εμφάνιση των αλφαριθμητικών οθονών, ξεκίνησε η εποχή της πραγματικά φιλικής προς τον χρήστη τεχνολογίας - της γραμμής εντολών.

    Διεπαφή εντολών.

    Η διεπαφή εντολών ονομάζεται έτσι επειδή σε αυτόν τον τύπο διεπαφής ένα άτομο δίνει «εντολές» στον υπολογιστή και ο υπολογιστής τις εκτελεί και δίνει το αποτέλεσμα στο άτομο. Η διεπαφή εντολών υλοποιείται με τη μορφή τεχνολογίας παρτίδας και τεχνολογίας γραμμής εντολών.


    Με αυτήν την τεχνολογία, ένα πληκτρολόγιο είναι ο μόνος τρόπος εισαγωγής πληροφοριών από ένα άτομο σε έναν υπολογιστή και ο υπολογιστής εμφανίζει πληροφορίες στο άτομο χρησιμοποιώντας μια αλφαριθμητική οθόνη (οθόνη). Αυτός ο συνδυασμός (οθόνη + πληκτρολόγιο) έφτασε να ονομάζεται τερματικό ή κονσόλα.

    Οι εντολές πληκτρολογούνται στη γραμμή εντολών. Η γραμμή εντολών είναι ένα σύμβολο προτροπής και ένα ορθογώνιο που αναβοσβήνει - ένας δρομέας. Όταν πατάτε ένα πλήκτρο, τα σύμβολα εμφανίζονται στη θέση του δρομέα και ο ίδιος ο κέρσορας μετακινείται προς τα δεξιά. Η εντολή τελειώνει πατώντας το πλήκτρο Enter (ή Return), το οποίο στη συνέχεια μετακινείται στην αρχή της επόμενης γραμμής. Από αυτή τη θέση ο υπολογιστής εμφανίζει τα αποτελέσματα της εργασίας του στην οθόνη. Στη συνέχεια η διαδικασία επαναλαμβάνεται.

    Η τεχνολογία γραμμής εντολών έχει ήδη λειτουργήσει σε μονόχρωμες αλφαριθμητικές οθόνες. Δεδομένου ότι ήταν δυνατή η εισαγωγή μόνο γραμμάτων, αριθμών και σημείων στίξης, τα τεχνικά χαρακτηριστικά της οθόνης δεν ήταν σημαντικά. Ένας δέκτης τηλεόρασης και ακόμη και ένας σωλήνας παλμογράφου θα μπορούσε να χρησιμοποιηθεί ως οθόνη.

    Και οι δύο αυτές τεχνολογίες υλοποιούνται με τη μορφή διεπαφής εντολών - οι εντολές δίνονται στο μηχάνημα ως είσοδος και, όπως ήταν, "ανταποκρίνεται" σε αυτές.

    Τα αρχεία κειμένου έγιναν ο κυρίαρχος τύπος αρχείων κατά την εργασία με τη διεπαφή εντολών - αυτά και μόνο αυτά μπορούσαν να δημιουργηθούν χρησιμοποιώντας το πληκτρολόγιο. Η εποχή που χρησιμοποιήθηκε ευρύτερα η διεπαφή της γραμμής εντολών ήταν η εμφάνιση του λειτουργικού συστήματος UNIX και η εμφάνιση των πρώτων προσωπικών υπολογιστών οκτώ bit με το λειτουργικό σύστημα CP/M πολλαπλών πλατφορμών.

    Διεπαφή WIMP(Παράθυρο - παράθυρο, Εικόνα - εικόνα, Μενού - μενού, Δείκτης - δείκτης). Ένα χαρακτηριστικό γνώρισμα αυτού του τύπου διεπαφής είναι ότι ο διάλογος με τον χρήστη δεν διεξάγεται χρησιμοποιώντας εντολές, αλλά χρησιμοποιώντας γραφικές εικόνες - μενού, παράθυρα και άλλα στοιχεία. Αν και δίνονται εντολές στο μηχάνημα σε αυτή τη διεπαφή, αυτό γίνεται «έμμεσα», μέσω γραφικών εικόνων. Η ιδέα μιας γραφικής διεπαφής ξεκίνησε στα μέσα της δεκαετίας του '70, όταν αναπτύχθηκε η έννοια της οπτικής διεπαφής στο Ερευνητικό Κέντρο Xerox Palo Alto (PARC). Απαραίτητη προϋπόθεση για τη γραφική διεπαφή ήταν η μείωση του χρόνου αντίδρασης του υπολογιστή σε μια εντολή, η αύξηση της ποσότητας μνήμης RAM, καθώς και η ανάπτυξη της τεχνικής βάσης των υπολογιστών. Η βάση υλικού της ιδέας, φυσικά, ήταν η εμφάνιση αλφαριθμητικών οθονών σε υπολογιστές και αυτές οι οθόνες είχαν ήδη τέτοια εφέ όπως «τρεμόπαιγμα» χαρακτήρων, αντιστροφή χρώματος (αλλαγή του περιγράμματος των λευκών χαρακτήρων σε μαύρο φόντο προς τα πίσω, δηλαδή μαύρους χαρακτήρες σε λευκό φόντο ), υπογραμμίζοντας χαρακτήρες. Αυτά τα εφέ δεν επεκτάθηκαν σε ολόκληρη την οθόνη, αλλά μόνο σε έναν ή περισσότερους χαρακτήρες. Το επόμενο βήμα ήταν να δημιουργήσετε μια έγχρωμη οθόνη που θα επέτρεπε την εμφάνιση, μαζί με αυτά τα εφέ, χαρακτήρων σε 16 χρώματα σε φόντο με μια παλέτα (δηλαδή, ένα σύνολο χρωμάτων) 8 χρωμάτων. Μετά την εμφάνιση των οθονών γραφικών, με τη δυνατότητα εμφάνισης οποιωνδήποτε γραφικών εικόνων με τη μορφή πολλών κουκκίδων σε μια οθόνη διαφορετικών χρωμάτων, δεν υπήρχαν όρια στη φαντασία στη χρήση της οθόνης! Το πρώτο σύστημα με γραφική διεπαφή, το 8010 Star Information System του ομίλου PARC, εμφανίστηκε έτσι τέσσερις μήνες πριν από την κυκλοφορία του πρώτου υπολογιστή της IBM το 1981. Αρχικά, η οπτική διεπαφή χρησιμοποιήθηκε μόνο σε προγράμματα. Σταδιακά, άρχισε να μεταβαίνει σε λειτουργικά συστήματα, τα οποία χρησιμοποιήθηκαν πρώτα σε υπολογιστές Atari και Apple Macintosh και στη συνέχεια σε υπολογιστές συμβατούς με την IBM.

    Από παλαιότερη εποχή, και επίσης επηρεασμένη από αυτές τις έννοιες, υπήρχε μια διαδικασία ενοποίησης της χρήσης του πληκτρολογίου και του ποντικιού από τα προγράμματα εφαρμογών. Η συγχώνευση αυτών των δύο τάσεων οδήγησε στη δημιουργία μιας διεπαφής χρήστη με την οποία, με ελάχιστο χρόνο και χρήματα που δαπανώνται για την επανεκπαίδευση του προσωπικού, μπορείτε να εργαστείτε με οποιοδήποτε προϊόν λογισμικού. Αυτό το μέρος είναι αφιερωμένο σε μια περιγραφή αυτής της διεπαφής, κοινή για όλες τις εφαρμογές και τα λειτουργικά συστήματα.

    Η γραφική διεπαφή χρήστη έχει περάσει από δύο στάδια κατά την ανάπτυξή της και υλοποιείται σε δύο επίπεδα τεχνολογίας: μια απλή γραφική διεπαφή και μια «καθαρή» διεπαφή WIMP.

    Στην πρώτη φάση, το GUI έμοιαζε πολύ με την τεχνολογία της γραμμής εντολών. Οι διαφορές από την τεχνολογία της γραμμής εντολών ήταν οι εξής:

    Ú Κατά την εμφάνιση χαρακτήρων, επιτρεπόταν η επισήμανση ορισμένων χαρακτήρων με χρώμα, αντίστροφη εικόνα, υπογράμμιση και τρεμόπαιγμα. Χάρη σε αυτό, η εκφραστικότητα της εικόνας έχει αυξηθεί.

    Ú Ανάλογα με τη συγκεκριμένη υλοποίηση της γραφικής διεπαφής, ο κέρσορας μπορεί να εμφανίζεται όχι μόνο ως ένα ορθογώνιο που τρεμοπαίζει, αλλά και ως μια περιοχή που καλύπτει πολλούς χαρακτήρες και ακόμη και μέρος της οθόνης. Αυτή η επιλεγμένη περιοχή διαφέρει από άλλα, μη επιλεγμένα μέρη (συνήθως από χρώμα).

    Ú Πατώντας το πλήκτρο Enter δεν εκτελείται πάντα η εντολή και μετακινείται στην επόμενη γραμμή. Η αντίδραση στο πάτημα οποιουδήποτε πλήκτρου εξαρτάται σε μεγάλο βαθμό από το πού βρισκόταν ο κέρσορας στην οθόνη.

    Ú Εκτός από το πλήκτρο Enter, τα "γκρίζα" πλήκτρα ελέγχου του δρομέα χρησιμοποιούνται όλο και περισσότερο στο πληκτρολόγιο (δείτε την ενότητα στο πληκτρολόγιο στο τεύχος 3 αυτής της σειράς.)

    Ú Ήδη σε αυτήν την έκδοση της γραφικής διεπαφής, άρχισαν να χρησιμοποιούνται χειριστές (όπως ποντίκι, trackball κ.λπ. - βλέπε Εικόνα A.4.) Κατέστησαν δυνατή τη γρήγορη επιλογή του επιθυμητού τμήματος της οθόνης και τη μετακίνηση του δρομέα .

    Συνοψίζοντας, μπορούμε να αναφέρουμε τα ακόλουθα διακριτικά χαρακτηριστικά αυτής της διεπαφής:

    Ú Επιλογή περιοχών της οθόνης.

    Ú Επαναπροσδιορίστε τα πλήκτρα του πληκτρολογίου ανάλογα με το περιβάλλον.

    Ú Χρησιμοποιώντας χειριστές και γκρι πλήκτρα πληκτρολογίου για τον έλεγχο του δρομέα.

    Ú Ευρεία χρήση έγχρωμων οθονών.

    Η εμφάνιση αυτού του τύπου διεπαφής συμπίπτει με την ευρεία χρήση του λειτουργικού συστήματος MS-DOS. Ήταν αυτή που εισήγαγε αυτή τη διεπαφή στις μάζες, χάρη στην οποία η δεκαετία του '80 χαρακτηρίστηκε από τη βελτίωση αυτού του τύπου διεπαφής, βελτιώνοντας τα χαρακτηριστικά της εμφάνισης χαρακτήρων και άλλων παραμέτρων οθόνης.

    Ένα τυπικό παράδειγμα χρήσης αυτού του τύπου διεπαφής είναι το κέλυφος αρχείων Nortron Commander και το πρόγραμμα επεξεργασίας κειμένου Multi-Edit. Και οι επεξεργαστές κειμένου Lexicon, ChiWriter και ο επεξεργαστής κειμένου Microsoft Word for Dos είναι παραδείγματα του πώς αυτή η διεπαφή έχει ξεπεράσει τον εαυτό της.

    Το δεύτερο στάδιο στην ανάπτυξη της γραφικής διεπαφής ήταν η «καθαρή» διεπαφή WIMP. Αυτός ο υποτύπος διεπαφής χαρακτηρίζεται από τα ακόλουθα χαρακτηριστικά:

    Ú Όλη η εργασία με προγράμματα, αρχεία και έγγραφα πραγματοποιείται σε παράθυρα - ορισμένα μέρη της οθόνης περιγράφονται από ένα πλαίσιο.

    Ú Όλα τα προγράμματα, τα αρχεία, τα έγγραφα, οι συσκευές και άλλα αντικείμενα παρουσιάζονται με τη μορφή εικονιδίων. Όταν ανοίγουν, τα εικονίδια μετατρέπονται σε παράθυρα.

    Ú Όλες οι ενέργειες με αντικείμενα εκτελούνται χρησιμοποιώντας το μενού. Αν και το μενού εμφανίστηκε στο πρώτο στάδιο της ανάπτυξης της γραφικής διεπαφής, δεν είχε κυρίαρχο ρόλο σε αυτό, αλλά χρησίμευε μόνο ως προσθήκη στη γραμμή εντολών. Σε μια καθαρή διεπαφή WIMP, το μενού γίνεται το κύριο στοιχείο ελέγχου.

    Ú Εκτεταμένη χρήση χειριστών για την κατάδειξη αντικειμένων. Η συσκευή κατάδειξης παύει να είναι απλώς ένα παιχνίδι - μια προσθήκη στο πληκτρολόγιο, αλλά γίνεται το κύριο στοιχείο ελέγχου. Χρησιμοποιώντας έναν χειριστή, δείχνουν σε οποιαδήποτε περιοχή της οθόνης, του παραθύρου ή του εικονιδίου, το επιλέγουν και μόνο στη συνέχεια τα ελέγχουν μέσω του μενού ή χρησιμοποιώντας άλλες τεχνολογίες.

    Θα πρέπει να σημειωθεί ότι το WIMP απαιτεί έγχρωμη οθόνη ράστερ υψηλής ανάλυσης και συσκευή κατάδειξης για την υλοποίησή του. Επίσης, τα προγράμματα που προσανατολίζονται σε αυτόν τον τύπο διεπαφής θέτουν αυξημένες απαιτήσεις για την απόδοση του υπολογιστή, τη χωρητικότητα μνήμης του, το εύρος ζώνης του διαύλου κ.λπ. Ωστόσο, αυτός ο τύπος διεπαφής είναι ο πιο εύκολος στην εκμάθηση και διαισθητικός. Επομένως, τώρα η διεπαφή WIMP έχει γίνει ένα de facto πρότυπο.

    Ένα εντυπωσιακό παράδειγμα προγραμμάτων με γραφική διεπαφή είναι το λειτουργικό σύστημα Microsoft Windows.

    ΜΕΤΑΞΙ- διεπαφή (Λόγος - ομιλία, Εικόνα - εικόνα, Γλώσσα - γλώσσα, Γνώση - γνώση). Αυτός ο τύπος διεπαφής είναι πιο κοντά στη συνηθισμένη, ανθρώπινη μορφή επικοινωνίας. Στο πλαίσιο αυτής της διεπαφής υπάρχει μια κανονική «συνομιλία» μεταξύ ενός ατόμου και ενός υπολογιστή. Ταυτόχρονα, ο υπολογιστής βρίσκει εντολές για τον εαυτό του αναλύοντας την ανθρώπινη ομιλία και βρίσκοντας φράσεις κλειδιά σε αυτήν. Επίσης, μετατρέπει το αποτέλεσμα της εκτέλεσης εντολών σε μορφή αναγνώσιμη από τον άνθρωπο. Αυτός ο τύπος διεπαφής είναι ο πιο απαιτητικός σε πόρους υλικού υπολογιστή και επομένως χρησιμοποιείται κυρίως για στρατιωτικούς σκοπούς.

    Από τα μέσα της δεκαετίας του '90, μετά την εμφάνιση φθηνών καρτών ήχου και την ευρεία χρήση των τεχνολογιών αναγνώρισης ομιλίας, εμφανίστηκε η λεγόμενη διεπαφή SILK "τεχνολογίας ομιλίας". Με αυτή την τεχνολογία, οι εντολές δίνονται φωνητικά προφέροντας ειδικές δεσμευμένες λέξεις - εντολές.

    Οι λέξεις πρέπει να προφέρονται καθαρά, με τον ίδιο ρυθμό. Απαιτείται μια παύση μεταξύ των λέξεων. Λόγω της υπανάπτυξης του αλγορίθμου αναγνώρισης ομιλίας, τέτοια συστήματα απαιτούν ατομικό προ-συντονισμό για κάθε συγκεκριμένο χρήστη.

    Η τεχνολογία "Speech" είναι η απλούστερη υλοποίηση της διεπαφής SILK.

    Βιομετρική τεχνολογία ("Διεπαφή Mimic.")

    Αυτή η τεχνολογία εμφανίστηκε στα τέλη της δεκαετίας του 90 του 20ου αιώνα και εξακολουθεί να αναπτύσσεται κατά τη στιγμή της συγγραφής. Για τον έλεγχο του υπολογιστή, χρησιμοποιούνται η έκφραση του προσώπου ενός ατόμου, η κατεύθυνση του βλέμματός του, το μέγεθος της κόρης και άλλα σημάδια. Για την αναγνώριση του χρήστη, χρησιμοποιείται ένα μοτίβο της ίριδας των ματιών του, δακτυλικά αποτυπώματα και άλλες μοναδικές πληροφορίες. Οι εικόνες διαβάζονται από μια ψηφιακή βιντεοκάμερα και στη συνέχεια εξάγονται εντολές από αυτήν την εικόνα χρησιμοποιώντας ειδικά προγράμματα αναγνώρισης μοτίβων. Αυτή η τεχνολογία είναι πιθανό να βρει τη θέση της σε προϊόντα λογισμικού και εφαρμογές όπου είναι σημαντικό να εντοπιστεί με ακρίβεια ο χρήστης του υπολογιστή.

    Τύποι διεπαφών

    Μια διεπαφή είναι, πρώτα απ 'όλα, ένα σύνολο κανόνων. Όπως κάθε κανόνας, μπορούν να γενικευτούν, να συλλεχθούν σε έναν «κώδικα» και να ομαδοποιηθούν σύμφωνα με ένα κοινό χαρακτηριστικό. Έτσι, καταλήξαμε στην έννοια του «τύπου διεπαφής» ως συνδυασμό παρόμοιων τρόπων αλληλεπίδρασης μεταξύ ανθρώπων και υπολογιστών. Εν συντομία, μπορούμε να προτείνουμε την ακόλουθη σχηματική ταξινόμηση διαφόρων διεπαφών επικοινωνίας ανθρώπου-υπολογιστή.

    Οι σύγχρονοι τύποι διεπαφών είναι:

    1) Διεπαφή εντολών. Η διεπαφή εντολών ονομάζεται έτσι επειδή σε αυτόν τον τύπο διεπαφής ένα άτομο δίνει «εντολές» στον υπολογιστή και ο υπολογιστής τις εκτελεί και δίνει το αποτέλεσμα στο άτομο. Η διεπαφή εντολών υλοποιείται με τη μορφή τεχνολογίας παρτίδας και τεχνολογίας γραμμής εντολών.

    2) WIMP - interface (Παράθυρο - παράθυρο, Εικόνα - εικόνα, Μενού - μενού, Δείκτης - δείκτης). Ένα χαρακτηριστικό γνώρισμα αυτού του τύπου διεπαφής είναι ότι ο διάλογος με τον χρήστη δεν διεξάγεται χρησιμοποιώντας εντολές, αλλά χρησιμοποιώντας γραφικές εικόνες - μενού, παράθυρα και άλλα στοιχεία. Αν και δίνονται εντολές στο μηχάνημα σε αυτή τη διεπαφή, αυτό γίνεται «έμμεσα», μέσω γραφικών εικόνων. Αυτός ο τύπος διεπαφής υλοποιείται σε δύο επίπεδα τεχνολογίας: μια απλή γραφική διεπαφή και μια «καθαρή» διεπαφή WIMP.

    3) SILK - interface (Λόγος - λόγος, Εικόνα - εικόνα, Γλώσσα - γλώσσα, Γνώση - γνώση). Αυτός ο τύπος διεπαφής είναι πιο κοντά στη συνηθισμένη, ανθρώπινη μορφή επικοινωνίας. Στο πλαίσιο αυτής της διεπαφής υπάρχει μια κανονική «συνομιλία» μεταξύ ενός ατόμου και ενός υπολογιστή. Ταυτόχρονα, ο υπολογιστής βρίσκει εντολές για τον εαυτό του αναλύοντας την ανθρώπινη ομιλία και βρίσκοντας φράσεις κλειδιά σε αυτήν. Επίσης, μετατρέπει το αποτέλεσμα της εκτέλεσης εντολών σε μορφή αναγνώσιμη από τον άνθρωπο. Αυτός ο τύπος διεπαφής είναι ο πιο απαιτητικός σε πόρους υλικού υπολογιστή και επομένως χρησιμοποιείται κυρίως για στρατιωτικούς σκοπούς.

    Διεπαφή εντολών

    Τεχνολογία παρτίδας. Ιστορικά, αυτός ο τύπος τεχνολογίας εμφανίστηκε πρώτος. Υπήρχε ήδη στις μηχανές ρελέ των Sues και Zuse (Γερμανία, 1937). Η ιδέα του είναι απλή: μια ακολουθία συμβόλων παρέχεται στην είσοδο του υπολογιστή, στην οποία, σύμφωνα με ορισμένους κανόνες, υποδεικνύεται η σειρά των προγραμμάτων που ξεκινούν για εκτέλεση. Μετά την εκτέλεση του επόμενου προγράμματος, εκκινείται το επόμενο και ούτω καθεξής. Το μηχάνημα, σύμφωνα με ορισμένους κανόνες, βρίσκει εντολές και δεδομένα για τον εαυτό του. Αυτή η ακολουθία μπορεί να είναι, για παράδειγμα, μια διάτρητη χαρτοταινία, μια στοίβα από διάτρητες κάρτες ή μια ακολουθία πατήματος των πλήκτρων μιας ηλεκτρικής γραφομηχανής (τύπου CONSUL). Το μηχάνημα εξάγει επίσης τα μηνύματά του σε μια διάτρηση, μια αλφαριθμητική μονάδα εκτύπωσης (ADP) ή μια κορδέλα γραφομηχανής. Ένα τέτοιο μηχάνημα είναι ένα «μαύρο κουτί» (ακριβέστερα, ένα «λευκό ντουλάπι»), στο οποίο παρέχονται συνεχώς πληροφορίες και το οποίο επίσης «ενημερώνει» συνεχώς τον κόσμο για την κατάστασή του (βλ. Εικόνα 1). Ένα άτομο εδώ έχει μικρή επιρροή σχετικά με τη λειτουργία του μηχανήματος - μπορεί μόνο να σταματήσει το μηχάνημα, να αλλάξει το πρόγραμμα και να ξεκινήσει ξανά τον υπολογιστή. Στη συνέχεια, όταν τα μηχανήματα έγιναν πιο ισχυρά και μπορούσαν να εξυπηρετήσουν πολλούς χρήστες ταυτόχρονα, η αιώνια αναμονή των χρηστών όπως: "Έστειλα δεδομένα στο μηχάνημα. Περιμένω να απαντήσει. Και θα ανταποκριθεί καθόλου;" - έγινε , για να το θέσω ήπια, βαρετό. Επιπλέον, τα κέντρα υπολογιστών, ακολουθώντας τις εφημερίδες, έχουν γίνει ο δεύτερος σημαντικός «παραγωγός» απορριμμάτων χαρτιού. Επομένως, με την εμφάνιση των αλφαριθμητικών οθονών, ξεκίνησε η εποχή της πραγματικά φιλικής προς τον χρήστη τεχνολογίας - της γραμμής εντολών.

    Εικ.2. Άποψη ενός mainframe υπολογιστή της σειράς EC

    Τεχνολογία γραμμής εντολών. Με αυτήν την τεχνολογία, ένα πληκτρολόγιο είναι ο μόνος τρόπος εισαγωγής πληροφοριών από ένα άτομο σε έναν υπολογιστή και ο υπολογιστής εμφανίζει πληροφορίες στο άτομο χρησιμοποιώντας μια αλφαριθμητική οθόνη (οθόνη). Αυτός ο συνδυασμός (οθόνη + πληκτρολόγιο) έφτασε να ονομάζεται τερματικό ή κονσόλα. Οι εντολές πληκτρολογούνται στη γραμμή εντολών. Η γραμμή εντολών είναι ένα σύμβολο προτροπής και ένα ορθογώνιο που αναβοσβήνει - ένας δρομέας. Όταν πατάτε ένα πλήκτρο, τα σύμβολα εμφανίζονται στη θέση του δρομέα και ο ίδιος ο κέρσορας μετακινείται προς τα δεξιά. Αυτό μοιάζει πολύ με την πληκτρολόγηση μιας εντολής σε μια γραφομηχανή. Ωστόσο, σε αντίθεση με αυτό, τα γράμματα εμφανίζονται στην οθόνη και όχι σε χαρτί και ένας λανθασμένα πληκτρολογημένος χαρακτήρας μπορεί να διαγραφεί. Η εντολή ολοκληρώνεται πατώντας το πλήκτρο Enter (ή Return) και στη συνέχεια μετακινείται στην αρχή της επόμενης γραμμής. Από αυτή τη θέση ο υπολογιστής εμφανίζει τα αποτελέσματα της εργασίας του στην οθόνη. Στη συνέχεια η διαδικασία επαναλαμβάνεται. Η τεχνολογία γραμμής εντολών έχει ήδη λειτουργήσει σε μονόχρωμες αλφαριθμητικές οθόνες. Δεδομένου ότι ήταν δυνατή η εισαγωγή μόνο γραμμάτων, αριθμών και σημείων στίξης, τα τεχνικά χαρακτηριστικά της οθόνης δεν ήταν σημαντικά. Ένας δέκτης τηλεόρασης και ακόμη και ένας σωλήνας παλμογράφου θα μπορούσε να χρησιμοποιηθεί ως οθόνη.

    Και οι δύο αυτές τεχνολογίες υλοποιούνται με τη μορφή διεπαφής εντολών - οι εντολές δίνονται στο μηχάνημα ως είσοδος και, όπως ήταν, "ανταποκρίνεται" σε αυτές.

    Τα αρχεία κειμένου έγιναν ο κυρίαρχος τύπος αρχείων κατά την εργασία με τη διεπαφή εντολών - αυτά και μόνο αυτά μπορούσαν να δημιουργηθούν χρησιμοποιώντας το πληκτρολόγιο. Η εποχή που χρησιμοποιήθηκε ευρύτερα η διεπαφή γραμμής εντολών ήταν η εμφάνιση του λειτουργικού συστήματος UNIX και η εμφάνιση των πρώτων προσωπικών υπολογιστών οκτώ bit με το λειτουργικό σύστημα πολλαπλών πλατφορμών CP/M.

    GUI

    Πώς και πότε εμφανίστηκε η γραφική διεπαφή; Η ιδέα του ξεκίνησε στα μέσα της δεκαετίας του '70, όταν αναπτύχθηκε η ιδέα της οπτικής διεπαφής στο Ερευνητικό Κέντρο Xerox Palo Alto (PARC). Απαραίτητη προϋπόθεση για τη γραφική διεπαφή ήταν η μείωση του χρόνου αντίδρασης του υπολογιστή σε μια εντολή, η αύξηση της ποσότητας μνήμης RAM, καθώς και η ανάπτυξη της τεχνικής βάσης των υπολογιστών. Η βάση υλικού της ιδέας, φυσικά, ήταν η εμφάνιση αλφαριθμητικών οθονών σε υπολογιστές και αυτές οι οθόνες είχαν ήδη τέτοια εφέ όπως «τρεμόπαιγμα» χαρακτήρων, αντιστροφή χρώματος (αλλαγή του περιγράμματος των λευκών χαρακτήρων σε μαύρο φόντο προς τα πίσω, δηλαδή μαύρους χαρακτήρες σε λευκό φόντο ), υπογραμμίζοντας χαρακτήρες. Αυτά τα εφέ δεν επεκτάθηκαν σε ολόκληρη την οθόνη, αλλά μόνο σε έναν ή περισσότερους χαρακτήρες. Το επόμενο βήμα ήταν να δημιουργήσετε μια έγχρωμη οθόνη που θα επέτρεπε την εμφάνιση, μαζί με αυτά τα εφέ, χαρακτήρων σε 16 χρώματα σε φόντο με μια παλέτα (δηλαδή, ένα σύνολο χρωμάτων) 8 χρωμάτων. Μετά την εμφάνιση των οθονών γραφικών, με τη δυνατότητα εμφάνισης οποιωνδήποτε γραφικών εικόνων με τη μορφή πολλών κουκκίδων σε μια οθόνη διαφορετικών χρωμάτων, δεν υπήρχαν όρια στη φαντασία στη χρήση της οθόνης! Το πρώτο σύστημα με γραφική διεπαφή, το 8010 Star Information System του ομίλου PARC, εμφανίστηκε έτσι τέσσερις μήνες πριν από την κυκλοφορία του πρώτου υπολογιστή της IBM το 1981. Αρχικά, η οπτική διεπαφή χρησιμοποιήθηκε μόνο σε προγράμματα. Σταδιακά, άρχισε να μεταβαίνει σε λειτουργικά συστήματα, τα οποία χρησιμοποιήθηκαν πρώτα σε υπολογιστές Atari και Apple Macintosh και στη συνέχεια σε υπολογιστές συμβατούς με την IBM.

    Από παλαιότερη εποχή, και επίσης επηρεασμένη από αυτές τις έννοιες, υπήρχε μια διαδικασία ενοποίησης της χρήσης του πληκτρολογίου και του ποντικιού από τα προγράμματα εφαρμογών. Η συγχώνευση αυτών των δύο τάσεων οδήγησε στη δημιουργία μιας διεπαφής χρήστη με την οποία, με ελάχιστο χρόνο και χρήματα που δαπανώνται για την επανεκπαίδευση του προσωπικού, μπορείτε να εργαστείτε με οποιοδήποτε προϊόν λογισμικού. Αυτό το μέρος είναι αφιερωμένο σε μια περιγραφή αυτής της διεπαφής, κοινή για όλες τις εφαρμογές και τα λειτουργικά συστήματα.

    Απλό GUI

    Στην πρώτη φάση, το GUI έμοιαζε πολύ με την τεχνολογία της γραμμής εντολών. Οι διαφορές από την τεχνολογία της γραμμής εντολών ήταν οι εξής:

    1. Κατά την εμφάνιση χαρακτήρων, επιτρεπόταν η επισήμανση ορισμένων χαρακτήρων με χρώμα, αντίστροφη εικόνα, υπογράμμιση και τρεμόπαιγμα. Χάρη σε αυτό, η εκφραστικότητα της εικόνας έχει αυξηθεί.

    2. Ανάλογα με τη συγκεκριμένη υλοποίηση της γραφικής διεπαφής, ο κέρσορας μπορεί να εμφανίζεται όχι μόνο ως ένα ορθογώνιο που τρεμοπαίζει, αλλά και ως μια περιοχή που καλύπτει πολλούς χαρακτήρες και ακόμη και μέρος της οθόνης. Αυτή η επιλεγμένη περιοχή διαφέρει από άλλα, μη επιλεγμένα μέρη (συνήθως από χρώμα).

    3. Πατώντας το πλήκτρο Enter δεν εκτελείται πάντα η εντολή και μετακινείται στην επόμενη γραμμή. Η αντίδραση στο πάτημα οποιουδήποτε πλήκτρου εξαρτάται σε μεγάλο βαθμό από το πού βρισκόταν ο κέρσορας στην οθόνη.

    4. Εκτός από το πλήκτρο Enter, τα «γκρίζα» πλήκτρα ελέγχου του δρομέα χρησιμοποιούνται όλο και περισσότερο στο πληκτρολόγιο.

    5. Ήδη σε αυτήν την έκδοση της γραφικής διεπαφής, άρχισαν να χρησιμοποιούνται χειριστές (όπως ποντίκι, trackball, κ.λπ. - βλ. Εικ. 3) Κατέστησαν δυνατή τη γρήγορη επιλογή του επιθυμητού τμήματος της οθόνης και τη μετακίνηση του δρομέα .

    Εικ.3. Χειριστές

    Για να συνοψίσουμε, μπορούμε να αναφέρουμε τα ακόλουθα διακριτικά χαρακτηριστικά αυτής της διεπαφής.

    1) Επιλογή περιοχών της οθόνης.

    2) Επαναπροσδιορισμός των πλήκτρων του πληκτρολογίου ανάλογα με το περιβάλλον.

    3) Χρησιμοποιώντας χειριστές και γκρι πλήκτρα πληκτρολογίου για τον έλεγχο του δρομέα.

    4) Ευρεία χρήση έγχρωμων οθονών.

    Η εμφάνιση αυτού του τύπου διεπαφής συμπίπτει με την ευρεία χρήση του λειτουργικού συστήματος MS-DOS. Ήταν αυτή που εισήγαγε αυτή τη διεπαφή στις μάζες, χάρη στην οποία η δεκαετία του '80 χαρακτηρίστηκε από τη βελτίωση αυτού του τύπου διεπαφής, βελτιώνοντας τα χαρακτηριστικά της εμφάνισης χαρακτήρων και άλλων παραμέτρων οθόνης.

    Ένα τυπικό παράδειγμα χρήσης αυτού του τύπου διεπαφής είναι το κέλυφος αρχείων Nortron Commander (δείτε τα κελύφη αρχείων παρακάτω) και το πρόγραμμα επεξεργασίας κειμένου Multi-Edit. Και οι επεξεργαστές κειμένου Lexicon, ChiWriter και ο επεξεργαστής κειμένου Microsoft Word for Dos είναι παραδείγματα του πώς αυτή η διεπαφή έχει ξεπεράσει τον εαυτό της.

    Διεπαφή WIMP

    Το δεύτερο στάδιο στην ανάπτυξη της γραφικής διεπαφής ήταν η «καθαρή» διεπαφή WIMP. Αυτός ο υποτύπος διεπαφής χαρακτηρίζεται από τα ακόλουθα χαρακτηριστικά.

    1. Όλη η εργασία με προγράμματα, αρχεία και έγγραφα γίνεται σε παράθυρα - ορισμένα μέρη της οθόνης που περιγράφονται από ένα πλαίσιο.

    2. Όλα τα προγράμματα, τα αρχεία, τα έγγραφα, οι συσκευές και άλλα αντικείμενα παρουσιάζονται με τη μορφή εικονιδίων. Όταν ανοίγουν, τα εικονίδια μετατρέπονται σε παράθυρα.

    3. Όλες οι ενέργειες με αντικείμενα εκτελούνται χρησιμοποιώντας το μενού. Αν και το μενού εμφανίστηκε στο πρώτο στάδιο της ανάπτυξης της γραφικής διεπαφής, δεν είχε κυρίαρχο ρόλο σε αυτό, αλλά χρησίμευε μόνο ως προσθήκη στη γραμμή εντολών. Σε μια καθαρή διεπαφή WIMP, το μενού γίνεται το κύριο στοιχείο ελέγχου.

    4. Εκτεταμένη χρήση χειριστικών για να δείχνει αντικείμενα. Η συσκευή κατάδειξης παύει να είναι απλώς ένα παιχνίδι - μια προσθήκη στο πληκτρολόγιο, αλλά γίνεται το κύριο στοιχείο ελέγχου. Χρησιμοποιώντας έναν χειριστή, ΣΗΜΕΙΩΝΟΥΝ σε οποιαδήποτε περιοχή της οθόνης, του παραθύρου ή του εικονιδίου, το ΕΠΙΛΕΓΟΥΝ και μόνο μετά τα ελέγχουν μέσω του μενού ή χρησιμοποιώντας άλλες τεχνολογίες.

    Θα πρέπει να σημειωθεί ότι το WIMP απαιτεί έγχρωμη οθόνη ράστερ υψηλής ανάλυσης και συσκευή κατάδειξης για την υλοποίησή του. Επίσης, τα προγράμματα που προσανατολίζονται σε αυτόν τον τύπο διεπαφής θέτουν αυξημένες απαιτήσεις για την απόδοση του υπολογιστή, τη χωρητικότητα μνήμης του, το εύρος ζώνης του διαύλου κ.λπ. Ωστόσο, αυτός ο τύπος διεπαφής είναι ο πιο εύκολος στην εκμάθηση και διαισθητικός. Επομένως, τώρα η διεπαφή WIMP έχει γίνει ένα de facto πρότυπο.

    Ένα εντυπωσιακό παράδειγμα προγραμμάτων με γραφική διεπαφή είναι το λειτουργικό σύστημα Microsoft Windows.

    Τεχνολογία ομιλίας

    Από τα μέσα της δεκαετίας του '90, μετά την εμφάνιση φθηνών καρτών ήχου και την ευρεία χρήση των τεχνολογιών αναγνώρισης ομιλίας, εμφανίστηκε η λεγόμενη διεπαφή SILK "τεχνολογίας ομιλίας". Με αυτή την τεχνολογία, οι εντολές δίνονται φωνητικά προφέροντας ειδικές δεσμευμένες λέξεις - εντολές. Οι κύριες τέτοιες ομάδες (σύμφωνα με τους κανόνες του συστήματος Gorynych) είναι:

    "Relax" - απενεργοποιεί τη διεπαφή ομιλίας.

    "Open" - αλλάζει στη λειτουργία κλήσης ενός συγκεκριμένου προγράμματος. Το όνομα του προγράμματος καλείται στην επόμενη λέξη.

    "Θα υπαγορεύσω" - αλλάζει από τη λειτουργία εντολής στη λειτουργία φωνητικής πληκτρολόγησης.

    "Λειτουργία εντολών" - επιστρέψτε στη λειτουργία φωνητικών εντολών.

    Και κάποιοι άλλοι.

    Οι λέξεις πρέπει να προφέρονται καθαρά, με τον ίδιο ρυθμό. Απαιτείται μια παύση μεταξύ των λέξεων. Λόγω της υπανάπτυξης του αλγορίθμου αναγνώρισης ομιλίας, τέτοια συστήματα απαιτούν ατομικό προ-συντονισμό για κάθε συγκεκριμένο χρήστη.

    Η τεχνολογία "Speech" είναι η απλούστερη υλοποίηση της διεπαφής SILK.

    1. Πληροφορίεςσυστήματα στα οικονομικά (30)

      Περίληψη >> Οικονομικά

      ... πληροφορίες 6 1.3. Ταξινόμηση πληροφορίεςτεχνολογίες 9 1.5. Στάδια ανάπτυξης πληροφορίες συστήματα... ολότητα σκεύη, εξαρτήματακεφάλαια... ενημερωτικήτεχνολογίες. Ένα παράδειγμα τέτοιου κριτηρίου θα ήταν έθιμο διεπαφή ... 3.5. Λογισμικόεγκαταστάσεις...

    2. Πληροφορίεςτεχνολογίες στη διαχείριση (5)

      Περίληψη >> Κράτος και νόμος

      11 2.1 Λογισμικόδιάταξη 15... πληροφορίεςτεχνολογίες. Εννοια " ενημερωτικήτεχνολογία" μπορεί να οριστεί ως ένα σύνολο λογισμικού- σκεύη, εξαρτήματακεφάλαια και συστήματα... δημιουργία και υποστήριξη έθιμο διεπαφέςγια διάφορες κατηγορίες...

    3. Πληροφορίεςτεχνολογίες ελέγχου (10)

      Διάλεξη >> Επιστήμη Υπολογιστών

      Τύπος έθιμο διεπαφήαυτοματοποιημένη ενημερωτικήοι τεχνολογίες μοιράζονται... γραφεία οργανώνουν εξειδικευμένα προγραμματικά-σκεύη, εξαρτήματασυγκρότημα –... Σύστηματηλεδιάσκεψη, email, κ.λπ.) προς την παγκοσμιοποίηση πληροφορίεςτεχνολογία...

    ΔΙΑΛΕΞΗ 23-24

    Θέμα 3.2 Ανάπτυξη διεπαφών χρήστη

    1. Τύποι διεπαφών χρήστη και στάδια ανάπτυξής τους.

    2. Ψυχοφυσικά χαρακτηριστικά ενός ατόμου που σχετίζονται με την αντίληψη, την απομνημόνευση και την επεξεργασία πληροφοριών.

    3. Μοντέλα διεπαφής χρήστη και λογισμικού.

    4. Ταξινομήσεις διαλόγων και γενικές αρχές ανάπτυξής τους.

    5. Βασικά στοιχεία γραφικών διεπαφών χρήστη.

    6. Υλοποίηση διαλόγων σε γραφικό περιβάλλον χρήστη.

    7. Διεπαφές χρήστη άμεσου χειρισμού και ο σχεδιασμός τους.

    8. Έξυπνα στοιχεία διεπαφών χρήστη.

    Στα πρώτα στάδια της ανάπτυξης της υπολογιστικής τεχνολογίας, η διεπαφή χρήστη θεωρήθηκε ως μέσο επικοινωνίας μεταξύ ενός ατόμου και του λειτουργικού συστήματος και ήταν αρκετά πρωτόγονη.

    Με την εμφάνιση του διαδραστικού λογισμικού, άρχισαν να χρησιμοποιούνται ειδικές διεπαφές χρήστη. Επί του παρόντος, το κύριο πρόβλημα είναι η ανάπτυξη διαδραστικών διεπαφών για πολύπλοκα προϊόντα λογισμικού που έχουν σχεδιαστεί για χρήση από μη επαγγελματίες χρήστες.

    1. Τύποι διεπαφών χρήστη και στάδια ανάπτυξής τους

    Διεπαφή χρήστη– ένα σύνολο λογισμικού και υλικού που διασφαλίζει την αλληλεπίδραση του χρήστη με έναν υπολογιστή. Βάση αλληλεπίδρασης– διάλογοι.

    Διάλογος– ρυθμιζόμενη ανταλλαγή πληροφοριών μεταξύ ενός ατόμου και ενός υπολογιστή, που πραγματοποιείται σε πραγματικό χρόνο και στοχεύει στην από κοινού επίλυση ενός συγκεκριμένου προβλήματος: ανταλλαγή πληροφοριών και συντονισμός ενεργειών. Κάθε συνομιλία αποτελείται από ξεχωριστές διεργασίες εισόδου/εξόδου που παρέχουν φυσικά επικοινωνία μεταξύ του χρήστη και του υπολογιστή.

    Η ανταλλαγή πληροφοριών πραγματοποιείται με τη μετάδοση μηνυμάτων και σημάτων ελέγχου.

    Μήνυμα– μια πληροφορία που συμμετέχει σε ανταλλαγή διαλόγου.

    Τύποι μηνυμάτων:

    Εισαγωγή μηνυμάτων που παράγονται από ένα άτομο που χρησιμοποιεί μέσα εισαγωγής: πληκτρολόγιο, χειριστές (ποντίκι, κ.λπ.).

    Εξαγωγή μηνυμάτων που παράγονται από υπολογιστή με τη μορφή κειμένων, ήχων ή/και εικόνων και εμφανίζονται στον χρήστη σε οθόνη οθόνης ή άλλες συσκευές εξόδου πληροφοριών.

    Ο χρήστης δημιουργεί μηνύματα όπως:

    Αίτηση για πληροφορίες,

    Αίτημα για βοήθεια,

    Ζητήστε μια λειτουργία ή λειτουργία,

    Εισαγωγή ή αλλαγή πληροφοριών

    Επιλογή πεδίου πλαισίου.

    Λαμβάνει ως απάντηση:

    Συμβουλές ή βοήθεια,

    Μορφή λέξης– ένα κομμάτι κειμένου ανάμεσα σε δύο παρακείμενα κενά ή σημεία στίξης.

    Μορφολογική ανάλυση -επεξεργασία μορφών λέξης χωρίς σύνδεση με το πλαίσιο.

    Διαδικαστικό - περιλαμβάνει τον προσδιορισμό ενός στελέχους στην τρέχουσα μορφή λέξης, ο οποίος στη συνέχεια προσδιορίζεται.

    Μετά την αναγνώριση των μορφών λέξεων, πραγματοποιείται συντακτική ανάλυση του μηνύματος, με βάση τα αποτελέσματα της οποίας προσδιορίζεται η συντακτική του δομή, δηλ. αναλύεται μια πρόταση.

    Μια διεπαφή που υλοποιεί μια φραστική μορφή διαλόγου πρέπει: να μετατρέπει μηνύματα από μια φόρμα φυσικής γλώσσας σε μια εσωτερική φόρμα αναπαράστασης και πίσω, να εκτελεί ανάλυση και σύνθεση μηνυμάτων χρήστη και συστήματος, να παρακολουθεί και να θυμάται το ολοκληρωμένο μέρος του διαλόγου.

    Ελαττώματαφραστική μορφή:

    Υψηλό κόστος πόρων.

    Καμία εγγύηση για ξεκάθαρη ερμηνεία της διατύπωσης.

    Η ανάγκη εισαγωγής μεγάλων, γραμματικά σωστών φράσεων.

    Αξιοπρέπειαφραστική μορφή – ελεύθερη επικοινωνία με το σύστημα.

    Έντυπο οδηγίας - χρήση εντολών (οδηγίες) μια ειδικά σχεδιασμένη επίσημη γλώσσα.

    Ομάδα– μια πρόταση αυτής της γλώσσας που περιγράφει συνδυασμένα δεδομένα που περιλαμβάνει το αναγνωριστικό της διαδικασίας που ξεκινά και, προαιρετικά, δεδομένα για αυτήν.

    Η εντολή μπορεί να εισαχθεί:

    Ως γραμμή κειμένου σε ειδικά σχεδιασμένη μορφή (εντολές MS DOS στη γραμμή εντολών).

    Πατώντας συγκεκριμένο συνδυασμό πλήκτρων (συνδυασμοί «γρήγορης πρόσβασης» για εφαρμογές Windows).

    Με χειρισμό του ποντικιού («σύροντας» εικονίδια).

    Συνδυασμός της δεύτερης και της τρίτης μεθόδου.

    Πλεονεκτήματαέντυπο οδηγίας:

    Μικρή ποσότητα πληροφοριών εισόδου.

    Ευελιξία – η δυνατότητα επιλογής μιας λειτουργίας περιορίζεται από το σύνολο των έγκυρων εντολών.

    Εστίαση στον διάλογο που βασίζεται στον χρήστη.

    Χρήση ελάχιστης περιοχής οθόνης ή μη χρήση της καθόλου.

    Δυνατότητα συνδυασμού με άλλες μορφές.

    Ελαττώματαέντυπο οδηγίας:

    Η εικονική απουσία προτροπών στην οθόνη, η οποία απαιτεί απομνημόνευση των εντολών που έχουν εισαχθεί και της σύνταξής τους.

    Σχεδόν πλήρης απουσία ανατροφοδότησης σχετικά με την κατάσταση των διαδικασιών που έχουν ξεκινήσει.

    Η ανάγκη για δεξιότητες εισαγωγής πληροφοριών κειμένου ή χειρισμού ενός ποντικιού.

    Έλλειψη προσαρμογής χρήστη.

    Η φόρμα της οδηγίας είναι βολική για τον επαγγελματία χρήστη που συνήθως θυμάται γρήγορα τη σύνταξη των συχνά χρησιμοποιούμενων εντολών ή συνδυασμών πλήκτρων. Τα πλεονεκτήματα της φόρμας (ευελιξία και καλά προσωρινά χαρακτηριστικά) είναι ιδιαίτερα εμφανή σε αυτή την περίπτωση.

    Πίνακας μορφής – ο χρήστης επιλέγει μια απάντηση από αυτές που προτείνει το πρόγραμμα. Η γλώσσα διαλόγου έχει την απλούστερη σύνταξη και ξεκάθαρη σημασιολογία, η οποία είναι αρκετά εύκολη στην εφαρμογή. Η φόρμα είναι φιλική προς το χρήστη, καθώς η επιλογή είναι πάντα πιο εύκολη, κάτι που είναι απαραίτητο για έναν μη επαγγελματία χρήστη. Αυτή η φόρμα μπορεί να χρησιμοποιηθεί εάν το σύνολο των πιθανών απαντήσεων σε μια συγκεκριμένη ερώτηση είναι πεπερασμένο. Εάν ο αριθμός των πιθανών απαντήσεων είναι μεγάλος (πάνω από 20), τότε η χρήση μιας φόρμας πίνακα μπορεί να μην είναι κατάλληλη.

    Πλεονεκτήματακαι σε μορφή πίνακα:

    Διαθεσιμότητα μιας υπόδειξης.

    Μείωση του αριθμού των σφαλμάτων εισαγωγής: ο χρήστης δεν εισάγει πληροφορίες, αλλά τις υποδεικνύει.

    Μειωμένος χρόνος εκπαίδευσης χρηστών.

    Δυνατότητα συνδυασμού με άλλες μορφές.

    Σε ορισμένες περιπτώσεις, με δυνατότητα διαμόρφωσης από το χρήστη.

    Ελαττώματαμορφή πίνακα:

    Απαιτούνται δεξιότητες πλοήγησης στην οθόνη.

    Χρήση σχετικά μεγάλης περιοχής οθόνης για την εμφάνιση οπτικών στοιχείων.

    Η εντατική χρήση των πόρων του υπολογιστή σχετίζεται με την ανάγκη συνεχούς ενημέρωσης των πληροφοριών στην οθόνη.

    Τα είδη και οι μορφές διαλόγου επιλέγονται ανεξάρτητα το ένα από το άλλο: οποιαδήποτε μορφή ισχύει και για τους δύο τύπους διαλόγων.

    Σύγχρονος- διάλογοι που εμφανίζονται κατά την κανονική λειτουργία του λογισμικού.

    Ασύγχρονη– διάλογοι που προκύπτουν με πρωτοβουλία του συστήματος ή του χρήστη όταν παραβιάζεται το σενάριο της κανονικής διαδικασίας. Χρησιμοποιούνται για την έκδοση μηνυμάτων έκτακτης ανάγκης από το σύστημα ή τον χρήστη.

    Ανάπτυξη διαλόγων.Στάδια σχεδιασμού και υλοποίησης διαλόγων:

    Καθορισμός του συνόλου των απαιτούμενων διαλόγων, των κύριων μηνυμάτων τους και των πιθανών σεναρίων – σχεδίασης αφηρημένοι διάλογοι;

    Προσδιορισμός του τύπου και της μορφής κάθε διαλόγου, καθώς και της σύνταξης και της σημασιολογίας των γλωσσών που χρησιμοποιούνται - σχεδιασμός συγκεκριμένους διαλόγους;

    Επιλογή πρωτογενών και δευτερευουσών συσκευών και σχεδιασμός διεργασιών εισόδου/εξόδου για κάθε διάλογο, καθώς και διευκρίνιση των μηνυμάτων που μεταδίδονται - σχεδιασμός τεχνικούς διαλόγους.

    Η βάση των αφηρημένων διαλόγων είναι η ιδεολογία της τεχνολογικής διαδικασίας για την οποία προορίζεται να αυτοματοποιηθεί το προϊόν λογισμικού.

    Εκτός από σενάρια που χρησιμοποιούν διαγράμματα κατάστασης διεπαφήςή γραφήματα διαλόγου.

    Γράφημα διαλόγου– ένα κατευθυνόμενο σταθμισμένο γράφημα, κάθε κορυφή του οποίου σχετίζεται με μια συγκεκριμένη εικόνα στην οθόνη ( πλαίσιο) ή μια συγκεκριμένη κατάσταση διαλόγου, που χαρακτηρίζεται από ένα σύνολο ενεργειών που είναι διαθέσιμες στον χρήστη. Τα τόξα που προέρχονται από τις κορυφές δείχνουν πιθανές αλλαγές κατάστασης όταν ο χρήστης εκτελεί συγκεκριμένες ενέργειες. Τα τόξα που προέρχονται από τις κορυφές δείχνουν πιθανές αλλαγές κατάστασης όταν ο χρήστης εκτελεί συγκεκριμένες ενέργειες. Τα βάρη τόξου υποδεικνύουν τις συνθήκες μετάβασης από κατάσταση σε κατάσταση και τις λειτουργίες που πραγματοποιήθηκαν κατά τη μετάβαση.

    Κάθε διαδρομή στο γράφημα αντιστοιχεί σε μια πιθανή επιλογή διαλόγου.


    Εικόνα 3 – Αφηρημένα γραφήματα διαλόγου:

    α – διάλογος που ελέγχεται από το σύστημα. β – διάλογος ελεγχόμενος από τον χρήστη

    5. Βασικά στοιχεία γραφικών διεπαφών χρήστη

    Οι γραφικές διεπαφές χρήστη υποστηρίζονται από τα λειτουργικά συστήματα Windows, Apple Macintosh, OS/2, κ.λπ. Για τέτοιες διεπαφές, έχουν αναπτυχθεί σύνολα τυπικών στοιχείων αλληλεπίδρασης χρήστη για κάθε λειτουργικό σύστημα.

    Οι διεπαφές κατασκευάζονται με χρήση τεχνολογίας WIMP: W – Windows (παράθυρα), I – Εικονίδια (εικονίδια), M – Ποντίκι (ποντίκι), P – Αναδυόμενα (αναδυόμενα ή αναπτυσσόμενα μενού). Τα κύρια στοιχεία των γραφικών διεπαφών: παράθυρα, εικονίδια, στοιχεία εισόδου/εξόδου και το ποντίκι, το οποίο χρησιμοποιείται ως συσκευή κατάδειξης και συσκευή για άμεσο χειρισμό αντικειμένων στην οθόνη.

    Παράθυρο.Παράθυρο -μια ορθογώνια, οριοθετημένη περιοχή της φυσικής οθόνης. Το παράθυρο μπορεί να αλλάξει μέγεθος και θέση εντός της οθόνης.

    Κύρια παράθυρα (παράθυρα εφαρμογών).

    Παιδικά ή δευτερεύοντα παράθυρα.

    Παράθυρα διαλόγου.

    Παράθυρα πληροφοριών;

    Παράθυρα μενού.

    Παράθυρο εφαρμογήςΤα Windows περιέχουν: ένα πλαίσιο που οριοθετεί την περιοχή εργασίας του παραθύρου, μια γραμμή τίτλου με ένα κουμπί μενού συστήματος και κουμπιά προβολής και εξόδου παραθύρου, μια γραμμή μενού, ένα μενού εικονιδίων (γραμμή εργαλείων), οριζόντιες και κάθετες γραμμές κύλισης και μια γραμμή κατάστασης.

    Παιδικό παράθυροΤα Windows χρησιμοποιούνται σε διεπαφές προγραμματισμού πολλαπλών εγγράφων (MDI). Αυτό το παράθυρο δεν περιέχει μενού. Στη γραμμή τίτλου υπάρχει ένα ειδικό όνομα που προσδιορίζει το έγγραφο ή το αρχείο που σχετίζεται με αυτό. Τα εικονίδια όλων των παιδικών παραθύρων είναι τα ίδια.

    Παράθυρο διαλόγουΤα Windows χρησιμοποιούνται για την προβολή και τη ρύθμιση διαφόρων τρόπων λειτουργίας, απαιτούμενων παραμέτρων ή άλλων πληροφοριών.

    Γραμμή τίτλου με κουμπί μενού συστήματος.

    Στοιχεία που επιτρέπουν στο χρήστη να εισαγάγει ή να επιλέξει μια απάντηση.

    Βοηθητικά στοιχεία που παρέχουν μια υπόδειξη (ένα πλαίσιο προβολής ή ένα κουμπί βοήθειας).

    Το μέγεθος του παραθύρου δεν μπορεί να αλλάξει μέγεθος, αλλά μπορεί να μετακινηθεί στην οθόνη.

    Παράθυρα πληροφοριώνδύο είδη:

    Παράθυρα μηνυμάτων.

    Βοήθεια windows.

    Τα παράθυρα μηνυμάτων περιέχουν: έναν τίτλο με κουμπί μενού συστήματος, κείμενο μηνύματος, ένα ή περισσότερα κουμπιά αντίδρασης χρήστη (Ναι, Όχι, Ακύρωση).

    Παράθυρο βοήθειαςπεριέχει: μενού, γραμμές κύλισης, περιοχή πληροφοριών, παρόμοια με ένα παράθυρο εφαρμογής, αλλά έχει έναν εξαιρετικά εξειδικευμένο σκοπό.

    Παράθυρα μενούΤα Windows χρησιμοποιούνται ως ανοίγματα ιεραρχικών πινάκων μενού ή ως μενού περιβάλλοντος.

    Κάθε γραμμή του παραθύρου μενού μπορεί να αντιστοιχεί σε:

    Ομάδα;

    Μενού του επόμενου επιπέδου, το οποίο παρέχεται από το βέλος.

    Παράθυρο διαλόγου, το οποίο υποδεικνύεται με τρεις τελείες.

    Προστέθηκε ένδειξη πλήκτρων συντόμευσης.

    Εικονογράμματα.Ένα εικονίδιο είναι ένα μικρό παράθυρο με μια γραφική εικόνα που αντικατοπτρίζει τα περιεχόμενα του buffer με το οποίο σχετίζεται.

    Τύποι εικονογραμμάτων:

    Λογισμικό που σχετίζεται με το σχετικό πρόγραμμα.

    Εικονίδια παιδικών παραθύρων που παρέχουν πρόσβαση σε διάφορα έγγραφα.

    Τα εικονίδια της γραμμής εργαλείων αντιγράφουν την πρόσβαση στις αντίστοιχες λειτουργίες μέσω του μενού, παρέχοντας γρήγορη πρόσβαση.

    Εικονίδια αντικειμένων για άμεσο χειρισμό αντικειμένων.

    Άμεση χειραγώγηση εικόνας. Άμεσος χειρισμός εικόνας –Αυτή είναι η δυνατότητα αντικατάστασης μιας εντολής για να επηρεάσει ένα αντικείμενο με μια φυσική ενέργεια στη διεπαφή, που πραγματοποιείται χρησιμοποιώντας το ποντίκι. Σε αυτήν την περίπτωση, οποιαδήποτε περιοχή της οθόνης θεωρείται προορισμός, ο οποίος μπορεί να ενεργοποιηθεί μετακινώντας τον κέρσορα και πατώντας το κουμπί του ποντικιού.

    Ανάλογα με την αντίδραση στην κρούση, διακρίνονται οι τύποι αποδεκτών:

    Ένδειξη και επιλογή (επέκταση εικονιδίων, προσδιορισμός του ενεργού παραθύρου).

    Κουμπιά στην οθόνη και «συρόμενα» εμπόδια (εκτέλεση κυκλικά επαναλαμβανόμενων ενεργειών (εκτέλεση ορισμένων λειτουργιών ή σχεδίασης, υπονοείται κατά την ενεργοποίηση μιας συγκεκριμένης περιοχής της οθόνης - ένα κουμπί)).

    Δυναμικό οπτικό σήμα -αλλαγή της εικόνας στην οθόνη (δρομέας του ποντικιού κατά την εκτέλεση συγκεκριμένων λειτουργιών, αλλαγή της εικόνας ενός κουμπιού).

    Στοιχεία εισόδου/εξόδου. Οι διεπαφές περιλαμβάνουν πολλά μενού: ένα κύριο ή "αναπτυσσόμενο" ιεραρχικό μενού, εικονογραφικά μενού (γραμμές εργαλείων) και μενού περιβάλλοντος για διαφορετικές καταστάσεις. Οποιοδήποτε από τα καθορισμένα μενού είναι ένα στοιχείο εισόδου-εξόδου που υλοποιεί έναν διάλογο με τον χρήστη χρησιμοποιώντας μια φόρμα πίνακα.

    Ένα ιεραρχικό μενού χρησιμοποιείται για την οργάνωση των λειτουργιών που εκτελούνται από το λογισμικό, εάν ο αριθμός τους υπερβαίνει αυτούς που προτείνει η IBM) και για να παρέχει στο χρήστη μια επισκόπηση αυτών. Οι γραμμές εργαλείων και τα μενού περιβάλλοντος χρησιμοποιούνται για να παρέχουν γρήγορη πρόσβαση σε εντολές που χρησιμοποιούνται συχνά, επιτρέποντας στον χρήστη να πλοηγείται σχετικά ελεύθερα.

    Άλλες μορφές εισόδου/εξόδου:

    Φράση,

    Πινακοειδής,

    Μικτός.

    6. Υλοποίηση διαλόγων σε γραφικό περιβάλλον χρήστη

    Διάλογοι και των δύο τύπων:

    Ελεγχόμενη από τον χρήστη

    Ελεγχόμενο σύστημα.

    Υλοποίηση διαλόγων ελεγχόμενων από τον χρήστη.Για την υλοποίηση, χρησιμοποιούνται διάφοροι τύποι μενού:

    Κύριος,

    Γραμμές εργαλείων,

    Συμφραζόμενα και βασισμένα σε κουμπιά.

    Ως εναλλακτική λύση στο μενού, συνιστάται η χρήση μιας μορφής διαλόγου με οδηγίες, που εκχωρούν ορισμένους συνδυασμούς πλήκτρων στις κύριες εντολές. Συνιστάται να παρέχεται η δυνατότητα ελέγχου του μενού με πληκτρολόγιο εάν ο χρήστης αφιερώνει τον περισσότερο χρόνο εργάζεται με το σύστημα εισάγοντας κείμενο ή δεδομένα, δηλαδή αλληλεπιδρώντας με το πληκτρολόγιο.

    Μενού.Το μενού έχει σχεδιαστεί με βάση τα γραφήματα διαλόγου του λογισμικού που αναπτύσσεται. Εάν ο αριθμός των λειτουργιών δεν υπερβαίνει τις 5, τότε συνήθως χρησιμοποιούνται κουμπιά. Εάν ο αριθμός των λειτουργιών δεν είναι μεγαλύτερος από 9-10, τότε είναι ένα μενού ενός επιπέδου. Εάν ο αριθμός των λειτουργιών είναι μεγαλύτερος από 10, τότε χρησιμοποιείται ένα "αναπτυσσόμενο" ιεραρχικό μενού δύο επιπέδων.

    Πτυσώμενο μενού. Το πρώτο επίπεδο του ιεραρχικού μενού πρέπει να περιέχει τα ονόματα των κύριων ομάδων λειτουργιών.

    Παραδοσιακά (συνήθως σε προγράμματα επεξεργασίας κειμένου και γραφικών):

    1. Αρχείο στοιχείου,

    2. στοιχείο Επεξεργασία,

    3. Προβολή αντικειμένου,

    Το τελευταίο στοιχείο είναι Βοήθεια.

    Ο αριθμός των επιπέδων του ιεραρχικού μενού δεν πρέπει να υπερβαίνει τα 2-3 (δύσκολο στην αναζήτηση). Ο αριθμός των λειτουργιών σε ένα παράθυρο δεν πρέπει να υπερβαίνει τις 7-8 λειτουργίες.

    Εάν ο αριθμός των πράξεων υπερβαίνει τις 70-80. Οι προγραμματιστές του Microsoft Word πρότειναν προσαρμοστικόςιεραρχικό μενού, όπου το περιεχόμενο του παραθύρου μενού δεύτερου επιπέδου αλλάζει συνεχώς, εμφανίζοντας μόνο εκείνες τις λειτουργίες που χρησιμοποιεί ο χρήστης. Εάν ο χρήστης δεν βρει την επιθυμητή λειτουργία, τότε μετά από λίγα δευτερόλεπτα ή όταν πατήσει ένα ειδικό κουμπί, το Word εμφανίζει ολόκληρο το παράθυρο μενού.

    7 Διεπαφές χρήστη άμεσου χειρισμού και ο σχεδιασμός τους

    Η δυνατότητα άμεσου χειρισμού που παρέχεται από τις διεπαφές WIMP επιτρέπει την ανάπτυξη αντικειμενοστρεφών διεπαφών άμεσου χειρισμού για εφαρμογές.

    Οι διεπαφές χρησιμοποιούν μια κατευθυντική μορφή διαλόγου: μια εντολή εισάγεται όταν εκτελούνται ορισμένες ενέργειες με το εικονίδιο αντικειμένου με το ποντίκι. Τα κύρια στοιχεία αυτών των διεπαφών είναι: μεταφορές, αντικείμενα, αναπαραστάσεις αντικειμένων και τεχνολογίες Drag and Drop.

    Μεταφορές. Μεταφορές- διανοητική μεταφορά ιδιοτήτων ή χαρακτηριστικών ενός αντικειμένου σε ένα άλλο, κάπως παρόμοια με το πρώτο. Η χρήση μεταφορών σε διεπαφές περιλαμβάνει την ενεργοποίηση της υπάρχουσας εμπειρίας του χρήστη.

    Η διεπαφή άμεσης χειραγώγησης θα πρέπει να παρέχει στον χρήστη ένα περιβάλλον που περιέχει οικεία στοιχεία που ο χρήστης έχει συναντήσει περισσότερες από μία φορές σε επαγγελματικές δραστηριότητες ή στην καθημερινή ζωή και να του παρέχει τη δυνατότητα να χειρίζεται μεμονωμένα αντικείμενα. (Μεταφορά "Πετώντας τα σκουπίδια" - για τη διαγραφή αρχείων).

    Παρόμοια στοιχεία θα πρέπει να συμπεριφέρονται με παρόμοιο τρόπο, τα στοιχεία που επισημαίνονται με το ίδιο χρώμα πρέπει να έχουν μια συγκεκριμένη σχέση μεταξύ τους.

    Συνιστάται να μην κάνετε τις εικόνες πολύ ρεαλιστικές, ώστε να μην εξαπατήσετε τις προσδοκίες του χρήστη.

    Μεταφορές και κινούμενα σχέδια. Κατά την εφαρμογή μεταφορών, ένας αυξανόμενος ρόλος δίνεται στα πολυμέσα, κυρίως στα κινούμενα σχέδια. Χρησιμοποιώντας κινούμενα σχέδια, μπορείτε όχι μόνο να διασκεδάσετε τον χρήστη, αλλά και να τον «προετοιμάστε» για μια αλλαγή στα καρέ, μειώνοντας τον χρόνο που απαιτείται για την προσαρμογή σε μια αλλαγμένη κατάσταση.

    https://pandia.ru/text/78/247/images/image005_68.gif">Ένα πρόγραμμα που υλοποιεί κινούμενες διεπαφές δεν είναι ποτέ αδρανές, αφού ενώ περιμένει ο χρήστης να εισάγει μια εντολή, συνεχίζει να εμφανίζει τα αντίστοιχα καρέ. Τέτοια προγράμματα βασίζονται σε προγραμματισμός χρόνου. Σε αντίθεση με τον προγραμματισμό συμβάντων, που σας επιτρέπει να συσχετίσετε την εικόνα στην οθόνη με εξωτερικά και εσωτερικά συμβάντα του συστήματος, ο προγραμματισμός χρόνου σάς επιτρέπει να αλλάξετε την προβαλλόμενη σειρά πλαισίωνανάλογα με την κατάσταση των προσομοιωμένων διαδικασιών και των ενεργειών του χρήστη.

    Άμεσος χειρισμός αντικειμένων διεπαφής και αναπαραστάσεις τους.

    Οι τρεις κύριοι τύποι αντικειμένων διεπαφής άμεσου χειρισμού είναι:

    Αντικείμενα δεδομένων

    αντικείμενα κοντέινερ,

    Αντικείμενα της συσκευής.

    Αντικείμενα δεδομένωνπαρέχει στον χρήστη πληροφορίες (κείμενα, εικόνες, υπολογιστικά φύλλα, μουσική, βίντεο). Μέσα στο λειτουργικό σύστημα, τέτοια αντικείμενα αντιστοιχούν σε εφαρμογές που εκκινούνται όταν ανοίγει το αντικείμενο.

    Τα αντικείμενα κοντέινερ μπορούν να χειριστούν τα εσωτερικά τους αντικείμενα, συμπεριλαμβανομένων άλλων κοντέινερ (να τα αντιγράψουν ή να τα ταξινομήσουν με οποιαδήποτε σειρά). Τα τυπικά δοχεία περιλαμβάνουν φακέλους και καλάθια. Όταν ανοίγει ένα κοντέινερ, εμφανίζονται τα στοιχεία που αποθηκεύει και μπορούν να χρησιμοποιηθούν. Τα στοιχεία μπορούν να υποδεικνύονται με εικονογράμματα ή να παρουσιάζονται σε μορφή πίνακα.

    Αντικείμενα της συσκευήςαντιπροσωπεύουν συσκευές που υπάρχουν στον πραγματικό κόσμο: τηλέφωνα, φαξ, εκτυπωτές κ.λπ. χρησιμοποιούνται για να αναφέρονται σε αυτές τις συσκευές στον αφηρημένο κόσμο της διεπαφής. Όταν επεκτείνετε ένα τέτοιο αντικείμενο, μπορείτε να δείτε τις ρυθμίσεις του.

    Κάθε αντικείμενο αντιστοιχεί σε ένα παράθυρο. Στην αρχική κατάσταση, αυτό το παράθυρο αντιπροσωπεύεται από ένα εικονίδιο, αλλά εάν είναι απαραίτητο, μπορείτε να το ανοίξετε και να εκτελέσετε τις απαιτούμενες λειτουργίες, για παράδειγμα, ρυθμίσεις αντικειμένου. Όταν ανοίγει ένα παράθυρο αντικειμένου, μπορεί να περιέχει μενού και γραμμές εργαλείων. Το εικονίδιο πρέπει να αντιστοιχεί σε ένα μενού περιβάλλοντος που περιέχει μια λίστα λειτουργιών στο αντικείμενο.

    Το όνομα του εικονιδίου σχηματίζεται διαφορετικά για κάθε τύπο αντικειμένου. Στα εικονίδια των αντικειμένων δεδομένων δίνονται ονόματα που αντιστοιχούν στα ονόματα των αποθηκευμένων δεδομένων και ο τύπος δεδομένων κωδικοποιείται από το ίδιο το εικονίδιο. Το όνομα ενός εικονιδίου κοντέινερ ή ενός εικονιδίου συσκευής προσδιορίζει το ίδιο το αντικείμενο και επομένως είναι ανεξάρτητο από το περιεχόμενο.

    Η διάκριση μεταξύ τύπων αντικειμένων είναι υπό όρους, καθώς το ίδιο αντικείμενο σε διαφορετικές καταστάσεις μπορεί να συμπεριφέρεται σαν αντικείμενο δεδομένων, σαν αντικείμενο συσκευής, σαν αντικείμενο κοντέινερ (ο εκτυπωτής είναι αντικείμενο συσκευής, μπορεί να έχει ιδιότητες το αντικείμενο κοντέινερ μπορεί να περιέχει αντικείμενα δεδομένων σε η ουρά εκτύπωσης, αναπαράσταση με τη μορφή εικονιδίου, παράθυρο ουράς εκτύπωσης, παράθυρο ρυθμίσεων, συνιστάται να αναφέρετε το όνομα της αναπαράστασης στον τίτλο του παραθύρου του αντικειμένου).

    ΤεχνολογίαΣέρνωκαιΠτώση. Βασικές αρχές άμεσου χειρισμού, όπως περιγράφονται στον Οδηγό Σχεδίασης Διεπαφής Χρήστη της IBM:

    Το αποτέλεσμα της μετακίνησης ενός αντικειμένου πρέπει να ανταποκρίνεται στις προσδοκίες του χρήστη.

    Οι χρήστες δεν πρέπει να χάνουν απροσδόκητα πληροφορίες.

    Ο χρήστης θα πρέπει να μπορεί να αναιρέσει μια εσφαλμένη ενέργεια.

    Αρχική επισήμανση - χρησιμοποιείται ως ανατροφοδότηση προς τον χρήστη για να τον ενημερώσει ότι το αντικείμενο έχει καταγραφεί· στα Windows, η επισήμανση χρησιμοποιείται για αυτόν τον σκοπό.

    Οπτικοποίηση κίνησης - χρησιμοποιείται για τον προσδιορισμό της δράσης που εκτελείται.

    Επιλογή στόχου - χρησιμοποιείται για τον προσδιορισμό του προορισμού, δείχνοντας έτσι πού θα "πέσει" το αντικείμενο εάν απελευθερωθεί την τρέχουσα χρονική στιγμή.

    Οπτικοποίηση δράσης - χρησιμοποιείται για να υποδείξει το χρόνο αναμονής για την ολοκλήρωση μιας λειτουργίας· συνήθως, για το σκοπό αυτό χρησιμοποιείται κινούμενη εικόνα ή αλλαγή του σχήματος του δρομέα σε "κλεψύδρα".

    Υπάρχουν δύο τύποι προορισμών: ο ένας δέχεται το αντικείμενο και ο άλλος ένα αντίγραφό του (Ο χρήστης "πετά" το έγγραφο στα "σκουπίδια" - το ίδιο το έγγραφο καταστρέφεται και εάν σταλεί στον εκτυπωτή, τότε αντίγραφο του εγγράφου μεταφέρεται).

    Σχεδιασμός διεπαφών άμεσου χειρισμού. Ο σχεδιασμός πραγματοποιείται με βάση γραφήματα διαλόγου που έχουν αναπτυχθεί για συγκεκριμένο λογισμικό και περιλαμβάνει τις ακόλουθες διαδικασίες:

    Σχηματισμός σύνολο αντικειμένων τομέα, το οποίο θα πρέπει να παρουσιάζεται στην οθόνη και σε αυτήν την περίπτωση, δεν χρησιμοποιούνται ως βάση οι περιπτώσεις χρήσης, αλλά ένα εννοιολογικό μοντέλο της θεματικής περιοχής.

    Ανάλυση αντικείμενα, ορίζοντας τα τύπουςΚαι υποβολές, καθώς και μια λίστα λειτουργιών με αυτά τα αντικείμενα.

    Διευκρίνιση αλληλεπιδράσεις αντικειμένωνκαι κατασκευή μήτρας άμεση χειραγώγηση;

    Ορισμός οπτικές αναπαραστάσειςαντικείμενα?

    Ανάπτυξη μενού παραθύρου αντικειμένουΚαι μενού περιβάλλοντος;

    Δημιουργία πρωτότυποδιεπαφή;

    Δοκιμή για Ευκολία στη χρήση.

    8 Έξυπνα στοιχεία διεπαφής χρήστη

    Στοιχεία διεπαφής χρήστη: Master, Advisor, Agent. Έχουν γίνει πολλές προσπάθειες για τη δημιουργία μιας κοινωνικοποιημένης διεπαφής χρήστη. Η βάση μιας τέτοιας διεπαφής είναι η ιδέα της δημιουργίας μιας εξατομικευμένης διεπαφής, δηλαδή «έχοντας προσωπικότητα». Προγράμματα ψυχαγωγίας όπως το Cats and Dogs, που εφαρμόζουν τη σύνθετη συμπεριφορά των κατοικίδιων σε διαφορετικές καταστάσεις, δείχνουν ότι τεχνικά αυτό είναι ένα απολύτως επιλύσιμο πρόβλημα.

    Σύμβουλοι. Είναι μια μορφή υπόδειξης. Μπορείτε να προσπελάσετε από το μενού βοήθειας, τη γραμμή εντολών του παραθύρου ή από ένα αναδυόμενο μενού. Οι σύμβουλοι βοηθούν τους χρήστες να εκτελούν συγκεκριμένες εργασίες.

    Masters.Το πρόγραμμα οδηγού χρησιμοποιείται για την εκτέλεση κοινών εργασιών που σπάνια εκτελούνται από μεμονωμένο χρήστη (εγκατάσταση προγραμμάτων ή υλικού). Η εκτέλεση τέτοιων ενεργειών απαιτεί από τον χρήστη να λάβει πολύπλοκες αλληλένδετες αποφάσεις, η σειρά των οποίων υπαγορεύεται από το πρόγραμμα οδηγών. Οι Intelligent Wizards είναι σε θέση να επιδεικνύουν σε κάθε βήμα του παραθύρου προβολής τα αποτελέσματα των απαντήσεων του χρήστη σε προηγούμενες ερωτήσεις, βοηθώντας τον τελευταίο να πλοηγηθεί στην κατάσταση.

    Ο οδηγός υλοποιεί ένα σενάριο διαλόγου διαδοχικού ή δέντρου. Συνιστάται η χρήση του για την επίλυση καλά δομημένων, διαδοχικών προβλημάτων.

    Σε αυτή την περίπτωση είναι απαραίτητο:

    Παρέχετε στον χρήστη την ευκαιρία να επιστρέψει στο προηγούμενο βήμα.

    Προβλέπετε τη δυνατότητα ακύρωσης της εργασίας του Δασκάλου·

    Αριθμήστε τα βήματα και ενημερώστε τον χρήστη τον αριθμό των Κύριων βημάτων, ειδικά εάν υπάρχουν περισσότερα από τρία τέτοια βήματα.

    Εξηγήστε κάθε βήμα στον χρήστη.

    Εάν είναι δυνατόν, δείξτε τα αποτελέσματα των ήδη ολοκληρωμένων εργασιών σε κάθε βήμα.

    Πράκτορες λογισμικού. Χρησιμοποιείται για την εκτέλεση εργασιών ρουτίνας. Οι κύριες λειτουργίες των Assistant Agents είναι: παρατήρηση, αναζήτηση, διαχείριση. Υπάρχουν:

    προγράμματα πρακτόρων που έχουν ρυθμιστεί για την εκτέλεση καθορισμένων εργασιών.

    προγράμματα πρακτόρων που μπορούν να μάθουν (καταγράφοντας τις ενέργειες του χρήστη (όπως ένα μαγνητόφωνο)).

    ^

    Ταξινόμηση διεπαφής


    Δηλαδή, μια διεπαφή είναι ένα σύνολο κανόνων. Όπως κάθε κανόνας, μπορούν να γενικευτούν, να συλλεχθούν σε έναν «κώδικα» και να ομαδοποιηθούν σύμφωνα με ένα κοινό χαρακτηριστικό. Έτσι, καταλήξαμε στην ιδέα " τύπος διεπαφής" ως συνδυασμός παρόμοιων τρόπων αλληλεπίδρασης μεταξύ ανθρώπων και υπολογιστών. Μπορούμε να προτείνουμε την ακόλουθη σχηματική ταξινόμηση διαφόρων διεπαφών επικοινωνίας ανθρώπου-υπολογιστή.

    ^ Οι σύγχρονοι τύποι διεπαφών είναι:

    1) Διεπαφή εντολών.Η διεπαφή εντολών ονομάζεται έτσι επειδή σε αυτόν τον τύπο διεπαφής ένα άτομο δίνει «εντολές» στον υπολογιστή και ο υπολογιστής τις εκτελεί και δίνει το αποτέλεσμα στο άτομο. Η διεπαφή εντολών υλοποιείται με τη μορφή τεχνολογίας παρτίδας και τεχνολογίας γραμμής εντολών.

    2) ^ WIMP - διεπαφή(Παράθυρο - παράθυρο, Εικόνα - εικόνα, Μενού - μενού, Δείκτης - δείκτης). Ένα χαρακτηριστικό γνώρισμα αυτού του τύπου διεπαφής είναι ότι ο διάλογος με τον χρήστη δεν διεξάγεται χρησιμοποιώντας εντολές, αλλά χρησιμοποιώντας γραφικές εικόνες - μενού, παράθυρα και άλλα στοιχεία. Αν και δίνονται εντολές στο μηχάνημα σε αυτή τη διεπαφή, αυτό γίνεται «έμμεσα», μέσω γραφικών εικόνων. Αυτός ο τύπος διεπαφής υλοποιείται σε δύο επίπεδα τεχνολογίας: μια απλή γραφική διεπαφή και μια «καθαρή» διεπαφή WIMP.

    3) ^ SILK - διεπαφή(Λόγος – λόγος, Εικόνα – εικόνα, Γλώσσα – γλώσσα, Γνώση – γνώση). Αυτός ο τύπος διεπαφής είναι πιο κοντά στη συνηθισμένη, ανθρώπινη μορφή επικοινωνίας. Στο πλαίσιο αυτής της διεπαφής υπάρχει μια κανονική «συνομιλία» μεταξύ ενός ατόμου και ενός υπολογιστή. Ταυτόχρονα, ο υπολογιστής βρίσκει εντολές για τον εαυτό του αναλύοντας την ανθρώπινη ομιλία και βρίσκοντας φράσεις κλειδιά σε αυτήν. Επίσης, μετατρέπει το αποτέλεσμα της εκτέλεσης εντολών σε μορφή αναγνώσιμη από τον άνθρωπο. Αυτός ο τύπος διεπαφής είναι ο πιο απαιτητικός σε πόρους υλικού υπολογιστή και επομένως χρησιμοποιείται κυρίως για στρατιωτικούς σκοπούς.

    ^ 1. Δημόσια διεπαφή - βασίζεται σε σημασιολογικά δίκτυα.

    Στα επόμενα κεφάλαια θα μάθετε περισσότερα για αυτούς τους τύπους διεπαφών.
    ^

    Τεχνολογία παρτίδας


    Ιστορικά, αυτός ο τύπος τεχνολογίας εμφανίστηκε πρώτος. Υπήρχε ήδη στις μηχανές ρελέ των Sues και Zuse (Γερμανία, 1937).

    Η ιδέα είναι απλή : παρέχεται μια ακολουθία συμβόλων στην είσοδο του υπολογιστή, στην οποία, σύμφωνα με ορισμένους κανόνες, υποδεικνύεται η σειρά των προγραμμάτων που ξεκινούν για εκτέλεση. Μετά την εκτέλεση του επόμενου προγράμματος, εκκινείται το επόμενο και ούτω καθεξής. Το μηχάνημα, σύμφωνα με ορισμένους κανόνες, βρίσκει εντολές και δεδομένα για τον εαυτό του. Αυτή η ακολουθία μπορεί να είναι, για παράδειγμα, μια διάτρητη χαρτοταινία, μια στοίβα από διάτρητες κάρτες ή μια ακολουθία πατήματος των πλήκτρων μιας ηλεκτρικής γραφομηχανής (τύπου CONSUL). Το μηχάνημα εξάγει επίσης τα μηνύματά του σε μια διάτρηση, μια αλφαριθμητική μονάδα εκτύπωσης (ADP) ή μια κορδέλα γραφομηχανής.

    Με την εμφάνιση των αλφαριθμητικών οθονών, ξεκίνησε η εποχή της πραγματικά φιλικής προς τον χρήστη τεχνολογίας - της γραμμής εντολών.
    ^

    Τεχνολογία γραμμής εντολών.


    Με αυτήν την τεχνολογία, ένα πληκτρολόγιο είναι ο μόνος τρόπος εισαγωγής πληροφοριών από ένα άτομο σε έναν υπολογιστή και ο υπολογιστής εμφανίζει πληροφορίες στο άτομο χρησιμοποιώντας μια αλφαριθμητική οθόνη (οθόνη). Αυτός ο συνδυασμός (οθόνη + πληκτρολόγιο) έφτασε να ονομάζεται τερματικό ή κονσόλα.

    Οι εντολές πληκτρολογούνται στη γραμμή εντολών. Η γραμμή εντολών είναι ένα σύμβολο προτροπής και ένα ορθογώνιο που αναβοσβήνει - Όταν πατάτε ένα πλήκτρο, εμφανίζονται σύμβολα στη θέση του δρομέα και ο ίδιος ο κέρσορας μετακινείται προς τα δεξιά. Αυτό μοιάζει πολύ με την πληκτρολόγηση μιας εντολής σε μια γραφομηχανή. Ωστόσο, σε αντίθεση με αυτό, τα γράμματα εμφανίζονται στην οθόνη και όχι σε χαρτί και ένας λανθασμένα πληκτρολογημένος χαρακτήρας μπορεί να διαγραφεί. Η εντολή τελειώνει πατώντας το πλήκτρο Enter (ή Return), το οποίο στη συνέχεια μετακινείται στην αρχή της επόμενης γραμμής. Από αυτή τη θέση ο υπολογιστής εμφανίζει τα αποτελέσματα της εργασίας του στην οθόνη. Στη συνέχεια η διαδικασία επαναλαμβάνεται.

    Η τεχνολογία γραμμής εντολών έχει ήδη λειτουργήσει σε μονόχρωμες αλφαριθμητικές οθόνες. Δεδομένου ότι ήταν δυνατή η εισαγωγή μόνο γραμμάτων, αριθμών και σημείων στίξης, τα τεχνικά χαρακτηριστικά της οθόνης δεν ήταν σημαντικά. Ένας δέκτης τηλεόρασης και ακόμη και ένας σωλήνας παλμογράφου θα μπορούσε να χρησιμοποιηθεί ως οθόνη.

    Τα αρχεία κειμένου έγιναν ο κυρίαρχος τύπος αρχείων κατά την εργασία με τη διεπαφή εντολών - αυτά και μόνο αυτά μπορούσαν να δημιουργηθούν χρησιμοποιώντας το πληκτρολόγιο.
    ^

    GUI


    Πώς και πότε εμφανίστηκε η γραφική διεπαφή;

    Η ιδέα του ξεκίνησε στα μέσα της δεκαετίας του '70, όταν αναπτύχθηκε η ιδέα της οπτικής διεπαφής στο Ερευνητικό Κέντρο Xerox Palo Alto (PARC). Απαραίτητη προϋπόθεση για τη γραφική διεπαφή ήταν η μείωση του χρόνου αντίδρασης του υπολογιστή σε μια εντολή, η αύξηση της ποσότητας μνήμης RAM, καθώς και η ανάπτυξη της τεχνικής βάσης των υπολογιστών. Η βάση υλικού της ιδέας, φυσικά, ήταν η εμφάνιση αλφαριθμητικών οθονών σε υπολογιστές και αυτές οι οθόνες είχαν ήδη τέτοια εφέ όπως «τρεμόπαιγμα» χαρακτήρων, αντιστροφή χρώματος (αλλαγή του περιγράμματος των λευκών χαρακτήρων σε μαύρο φόντο προς τα πίσω, δηλαδή μαύρους χαρακτήρες σε λευκό φόντο ), υπογραμμίζοντας χαρακτήρες. Αυτά τα εφέ δεν επεκτάθηκαν σε ολόκληρη την οθόνη, αλλά μόνο σε έναν ή περισσότερους χαρακτήρες.

    Το επόμενο βήμα ήταν να δημιουργήσετε μια έγχρωμη οθόνη που θα επέτρεπε την εμφάνιση, μαζί με αυτά τα εφέ, χαρακτήρων σε 16 χρώματα σε φόντο με μια παλέτα (δηλαδή, ένα σύνολο χρωμάτων) 8 χρωμάτων. Μετά την εμφάνιση των οθονών γραφικών, με τη δυνατότητα εμφάνισης οποιωνδήποτε γραφικών εικόνων με τη μορφή πολλών κουκκίδων σε μια οθόνη διαφορετικών χρωμάτων, δεν υπήρχαν όρια στη φαντασία στη χρήση της οθόνης! Το πρώτο σύστημα με γραφική διεπαφή, το 8010 Star Information System του ομίλου PARC, εμφανίστηκε έτσι τέσσερις μήνες πριν από την κυκλοφορία του πρώτου υπολογιστή της IBM το 1981. Αρχικά, η οπτική διεπαφή χρησιμοποιήθηκε μόνο σε προγράμματα. Σταδιακά, άρχισε να μεταβαίνει σε λειτουργικά συστήματα που χρησιμοποιούνται πρώτα σε υπολογιστές Atari και Apple Macintosh και στη συνέχεια σε υπολογιστές συμβατούς με την IBM.

    Από παλαιότερη εποχή, και επίσης επηρεασμένη από αυτές τις έννοιες, υπήρχε μια διαδικασία ενοποίησης της χρήσης του πληκτρολογίου και του ποντικιού από τα προγράμματα εφαρμογών. Η συγχώνευση αυτών των δύο τάσεων οδήγησε στη δημιουργία μιας διεπαφής χρήστη με την οποία, με ελάχιστο χρόνο και χρήματα που δαπανώνται για την επανεκπαίδευση του προσωπικού, μπορείτε να εργαστείτε με οποιοδήποτε προϊόν λογισμικού. Αυτό το μέρος είναι αφιερωμένο σε μια περιγραφή αυτής της διεπαφής, κοινή για όλες τις εφαρμογές και τα λειτουργικά συστήματα.

    Το γραφικό περιβάλλον χρήστη έχει περάσει από δύο στάδια κατά την ανάπτυξή του. Η εξέλιξη της γραφικής διεπαφής από το 1974 έως σήμερα θα συζητηθεί παρακάτω.
    ^

    Απλή γραφική διεπαφή.


    Στην πρώτη φάση, το GUI έμοιαζε πολύ με την τεχνολογία της γραμμής εντολών. Οι διαφορές από την τεχνολογία της γραμμής εντολών ήταν οι εξής.

    Α) Κατά την εμφάνιση χαρακτήρων, ήταν δυνατή η επισήμανση ορισμένων χαρακτήρων με χρώμα, αντίστροφη εικόνα, υπογράμμιση και τρεμόπαιγμα. Χάρη σε αυτό, η εκφραστικότητα της εικόνας έχει αυξηθεί.

    Β) Ανάλογα με τη συγκεκριμένη υλοποίηση της γραφικής διεπαφής, ο κέρσορας μπορεί να αντιπροσωπεύεται όχι μόνο από ένα ορθογώνιο που τρεμοπαίζει, αλλά και από κάποια περιοχή που καλύπτει πολλούς χαρακτήρες και ακόμη και μέρος της οθόνης. Αυτή η επιλεγμένη περιοχή διαφέρει από άλλα, μη επιλεγμένα μέρη (συνήθως από χρώμα).

    Γ) Πατώντας το πλήκτρο Enter δεν εκτελείται πάντα η εντολή και μετακινείται στην επόμενη γραμμή. Η αντίδραση στο πάτημα οποιουδήποτε πλήκτρου εξαρτάται σε μεγάλο βαθμό από το πού βρισκόταν ο κέρσορας στην οθόνη.

    Δ) Εκτός από το πλήκτρο Enter, τα γκρι πλήκτρα κέρσορα γίνονται όλο και πιο κοινά στο πληκτρολόγιο (δείτε την ενότητα πληκτρολογίου στο Τεύχος 3 αυτής της σειράς.)

    Ε) Ήδη σε αυτήν την έκδοση της γραφικής διεπαφής, άρχισαν να χρησιμοποιούνται χειριστές (όπως ποντίκι, trackball κ.λπ. - βλ. Εικόνα A.4.) Κατέστησαν δυνατή τη γρήγορη επιλογή του επιθυμητού τμήματος της οθόνης και τη μετακίνηση του δρομέας.

    Ρύζι. Α.4. Χειριστές

    Για να συνοψίσουμε, μπορούμε να αναφέρουμε τα ακόλουθα διακριτικά χαρακτηριστικά αυτής της διεπαφής.

    1) Επιλογή περιοχών της οθόνης.

    2) Επαναπροσδιορισμός των πλήκτρων του πληκτρολογίου ανάλογα με το περιβάλλον.

    3) Χρησιμοποιώντας χειριστές και γκρι πλήκτρα πληκτρολογίου για τον έλεγχο του δρομέα.

    4) Ευρεία χρήση έγχρωμων οθονών.

    Η εμφάνιση αυτού του τύπου διεπαφής συμπίπτει με την ευρεία χρήση του λειτουργικού συστήματος MS-DOS. Ήταν αυτή που εισήγαγε αυτή τη διεπαφή στις μάζες, χάρη στην οποία η δεκαετία του '80 χαρακτηρίστηκε από τη βελτίωση αυτού του τύπου διεπαφής, βελτιώνοντας τα χαρακτηριστικά της εμφάνισης χαρακτήρων και άλλων παραμέτρων οθόνης.

    Ένα τυπικό παράδειγμα χρήσης αυτού του τύπου διεπαφής είναι το κέλυφος αρχείων Nortron Commander (δείτε τα κελύφη αρχείων παρακάτω) και το πρόγραμμα επεξεργασίας κειμένου Multi-Edit. Και οι επεξεργαστές κειμένου Lexicon, ChiWriter και ο επεξεργαστής κειμένου Microsoft Word for Dos είναι παραδείγματα του πώς αυτή η διεπαφή έχει ξεπεράσει τον εαυτό της.