Ενισχυτική διδασκαλία Γνωστικά Μοντέλα Αλληλεπίδρασης Χ. Σκουρλάς, cskourlas@teiath.gr 2015-16
Γνωστικά Μοντέλα Αλληλεπίδρασης Σύνοψη: Εστίαση στη μελέτη δύο Γνωστικών Μοντέλων Αλληλεπίδρασης αντιπροσωπευτικών αντίστοιχα του Ιεραρχικού Μοντέλου GOMS και του Γλωσσικού μοντέλου. Αναφορά στα νοητικά μοντέλα Σκοπός: Κατανόηση της σημασίας και της τεχνικής της χρήσης των μοντέλων. Στόχοι: - Κατανόηση βασικών εννοιών μοντέλων αλληλεπίδρασης - Χρήση Μοντέλου GOMS - Κατανόηση BNF 11
Δύο ιστορικοί σταθμοί Μοντέλο GOMS BNF 11
Γνωστικά Μοντέλα Αλληλεπίδρασης - Ιεραρχικά (αναπαριστούν δομή εργασιών - στόχων) GOMS - Goals, Operators, Methods, Selectors - Γλωσσικά (αναπαριστούν γραμματική διαλόγων) Γραμματικές Backus-Naur Form (BNF). GOMS ΣΤΟΧΟΣ: ΕΠΙΛΟΓΗ ΑΡΘΡΟΥ ΑΠΟ ΚΑΤΑΛΟΓΟ ΑΝΟΙΓΜΑ ΚΑΤΑΛΟΓΟΥ ΑΝΑΓΝΩΣΗ ΚΑΤΑΛΟΓΟΥ BNF identifier ::= ( "letter" { "letter" "digit" "underline" "dollar" "sharp" } ) "quote" { "any character" } "quote" ΕΠΙΛΟΓΗ ΑΡΘΡΟΥ 11
Γνωστικά Μοντέλα Αλληλεπίδρασης Σε γενικές γραμμές τα γνωστικά μοντέλα αναπαριστούν τους χρήστες συστημάτων αλληλεπίδρασης. Τα μοντέλα μπορούν να περιγράφουν σε φυσική γλώσσα- σκοπούς, λειτουργίες κ.λπ. ή να αποτελούν περιγραφές σε ειδικές γλώσσες (διαλόγου) «καθορίζοντας» εργασίες που απαιτούνται για την αλληλεπίδραση.
Ιεραρχικά Μοντέλα Μοντέλο GOMS Το μοντέλο GOMS προτάθηκε από τους Card, Moran και Newell. Ακρωνύμιο Σκοποί (Goals) Λειτουργίες (Operators) Μέθοδοι (Methods) Κανόνες Επιλογής (Selection Rules). Μια περιγραφή σύμφωνα με αυτό το μοντέλο αποτελείται από αυτά τα τέσσερα στοιχεία 11
Παράδειγμα Περιγραφής GOMS Να αναπτυχθεί μία περιγραφή GOMS για τον καθορισμό των εργασιών που απαιτούνται ώστε να σχολιάσει κάποιος χρήστης ένα άρθρο που βρίσκεται στην ιστοσελίδα. 11
Σκοποί (Goals) Οι σκοποί του χρήστη περιγράφουν αυτό που θέλει να επιτύχει. Στο Μοντέλο GOMS οι σκοποί αναπαριστούν ένα «σημείο μνήμης» για τον χρήστη. Από το σημείο αυτό μπορεί να εκτιμήσει τι θα πρέπει να κάνει και που πρέπει να επιστρέψει αν γίνει κάποιο λάθος 11
Λειτουργίες (Operators) Αντιστοιχούν στο χαμηλότερο επίπεδο ανάλυσης. Είναι οι βασικές πράξεις που ο χρήστης πρέπει να εκτελέσει για να χρησιμοποιήσει το σύστημα. Μπορεί να επηρεάσουν το σύστημα («πιέστε το πλήκτρο Print») ή μόνο τον χρήστη («διάβασε το μήνυμα»). Έχουμε κάποιους βαθμούς ελευθερίας για το επίπεδο της λεπτομέρειας. Μπορεί να επικεντρωθούμε στο επίπεδο εντολής («διάλεξε την επιλογή Ακύρωση») ή σε πιο χαμηλό επίπεδο («μετακίνησε κέρσορα στο μενού/πάτησε μεσαίο κουμπί»)
Μέθοδοι (Methods Υπάρχουν διάφοροι τρόποι με τους οποίους ένας σκοπός μπορεί να χωριστεί σε υποσκοπούς. Για παράδειγμα σε ένα παραθυρικό περιβάλλον ένα ενεργοποιημένο παράθυρο μπορεί να κλείσει πατώντας το κουμπί CLOSE ή πατώντας τα πλήκτρα Alt-F4. Στο GOMS αυτές οι δυο εναλλακτικές ενέργειες ονομάζονται Μέθοδοι: CLOSEμέθοδος και Αlt-F4-μέθοδος.
Κανόνες Επιλογής Οπου υπάρχει επιλογή μεταξύ δυο μεθόδων, το μοντέλο GOMS προσπαθεί να προβλέψει ποιά μέθοδος θα χρησιμοποιηθεί. Εξετάζοντας: - Τον τύπο του χρήστη - Την κατάσταση του συστήματος - Τον στόχο της αλληλεπίδρασης.
ΣΤΟΧΟΣ: ΣΧΟΛΙΑΣΜΟΣ ΑΡΘΡΟΥ ΑΝΟΙΓΜΑ ΥΠΟΛΟΓΙΣΤΗ ΑΝΟΙΓΜΑ BROWSER ΜΕΤΑΒΑΣΗ ΣΤΟΝ ΙΣΤΟΤΟΠΟ ΣΤΟΧΟΣ: ΕΥΡΕΣΗ ΑΡΘΡΟΥ [select ΣΤΟΧΟΣ: ΕΠΙΛΟΓΗ ΑΡΘΡΟΥ ΑΠΟ ΚΑΤΑΛΟΓΟ ΑΝΟΙΓΜΑ ΚΑΤΑΛΟΓΟΥ ΑΝΑΓΝΩΣΗ ΚΑΤΑΛΟΓΟΥ ΕΠΙΛΟΓΗ ΑΡΘΡΟΥ ΣΤΟΧΟΣ: ΑΝΑΖΗΤΗΣΗ ΑΡΘΡΟΥ ΜΕΤΑΒΑΣΗ ΣΤΗ ΦΟΡΜΑ ΑΝΑΖΗΤΗΣΗΣ ΕΙΣΑΓΩΓΗ ΛΕΞΕΩΝ-ΚΛΕΙΔΙΑ ΠΑΤΗΜΑ ΑΝΑΖΗΤΗΣΗ ΑΝΑΓΝΩΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΠΙΛΟΓΗ ΑΡΘΡΟΥ ]
ΑΝΑΓΝΩΣΗ ΑΡΘΡΟΥ ΠΑΤΗΜΑ ΣΧΟΛΙΑΣΜΟΣ ΣΤΟΧΟΣ: ΤΑΥΤΟΠΟΙΗΣΗ ΧΡΗΣΤΗ [select: ΣΤΟΧΟΣ: ΕΓΓΡΑΦΗ ΧΡΗΣΤΗ ΣΤΟΝ ΙΣΤΟΤΟΠΟ ΕΙΣΑΓΩΓΗ ΟΝΟΜΑΤΟΣ ΕΙΣΑΓΩΓΗ ΕΠΙΘΕΤΟΥ ΕΙΣΑΓΩΓΗ ΕΙΔΙΚΟΤΗΤΑΣ ΕΙΣΑΓΩΓΗ E-MAIL ΕΠΙΒΕΒΑΙΩΣΗ E-MAIL ΕΠΙΛΟΓΗ USERNAME ΕΠΙΛΟΓΗ PASSWORD ΕΠΙΒΕΒΑΙΩΣΗ PASSWORD ΠΑΤΗΜΑ ΕΓΓΡΑΦΗ ΣΤΟΧΟΣ: ΕΙΣΟΔΟΣ ΥΠΑΡΧΟΝΤΑ ΧΡΗΣΤΗ ΕΙΣΑΓΩΓΗ USERNAME ΕΙΣΑΓΩΓΗ PASSWORD ΠΑΤΗΜΑ ΕΙΣΟΔΟΣ ]
ΣΤΟΧΟΣ: ΣΧΟΛΙΑΣΜΟΣ ΣΥΓΓΡΑΦΗ ΣΧΟΛΙΟΥ ΠΑΤΗΜΑ ΥΠΟΒΟΛΗ Κανόνας επιλογής 1: Χρήση Εγγραφής χρήστη στον ιστότοπο μόνο αν ο χρήστης δεν είναι εγγεγραμμένο μέλος.
Γλωσσικά Μοντέλα Γραμματικές Backus-Naur Form (BNF). BNF - "Backus Naur Form". John Backus και Peter Naur εισήγαγαν πρώτοι τον τυπικό συμβολισμό (formal notation) για να περιγράψουν τη σύνταξη δοθείσης γλώσσας. Οι Γραμματικές Backus-Naur Form (BNF) περιγράφουν τη γλώσσα διαλόγου σε επίπεδο συντακτικό, όχι σημασιολογικό. Χρησιμοποιούνται σε γλώσσες υπολογιστών πχ σύνταξη γλώσσας SQL, σύνταξη γλώσσας γραφικής σχεδίασης.
The meta-symbols of BNF are: ::= meaning "is defined as" meaning "or" < > angle brackets used to surround category names. The angle brackets distinguish syntax rules names (also called non-terminal symbols) from terminal symbols which are written exactly as they are to be represented. Υπάρχουν παραλλαγές του συμβολισμού. Βλέπε για παράδειγμα τη γραμματική για την Oracle SQL στη συνέχεια.
For example, the BNF production for a mini-language is: <program> ::= program <declaration_sequence> begin <statements_sequence> end ; This shows that a mini-language program consists of the keyword "program" followed by the declaration sequence, then the keyword "begin" and the statements sequence, finally the keyword "end" and a semicolon.
Παράδειγμα BNF για ταχυδρομική διεύθυνση: <postal-address> ::= <name-part> <street-address> <postal-part> <name-part> ::= <personal-part> <last-name> <EOL> <personal-part> <name-part> <personal-part> ::= <first-name> <initial> "." <street-address> ::= <house-num> <street-name> <EOL> <postal-part> ::= <town-name> " " <postal-code> <EOL>
As an example, consider this possible BNF for a U.S. postal address: <postal-address> ::= <name-part> <street-address> <zip-part> A postal address consists of a name-part, followed by a street-address part, followed by a zip-code part. <name-part> ::= <personal-part> <last-name> <EOL> <personal-part> <name-part> A name-part consists of either: a personal-part followed by a last name and endof-line, or a personal part followed by a name part (this rule illustrates the use of recursion in BNFs, covering the case of people who use multiple first and middle names and/or initials). <personal-part> ::= <first-name> <initial> "." A personal-part consists of either a first name or an initial followed by a dot <street-address> ::= <house-num> <street-name> <EOL> A street address consists of a house number, followed by a street name, followed by an end-of-line <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL> A zip-part consists of a town-name, followed by a comma, followed by a state code, followed by a ZIP-code followed by an end-of-line. Note that many things (such as the format of a first-name, ZIP-code, and Roman numeral) are left unspecified here. If necessary, they may be described using additional BNF rules. http://en.wikipedia.org/wiki/backus%e2%80%93naur_form
Oracle SQL syntax sql_command sql_command ::= to_define_data to_control_data to_modify_data
to_define_data to_define_data ::= alter_command comment_command create_command drop_command rename_command analyze_command explain_command
alter_command alter_command ::= alter_cluster alter_database alter_index alter_profile alter_cost alter_role alter_rollback alter_sequence alter_session alter_snapshot alter_snapshot_log alter_system alter_table alter_tablespace alter_trigger alter_user alter_view
alter_table alter_table ::= "alter" "table" [ schema_name "." ] table_name alter_table_spec { alter_table_spec } Σε επόμενο slide περιγράφεται, σε BNF, η προδιαγραφή alter_table_spec κ.λπ. Ένα παράδειγμα σωστής εντολής alter table είναι η επόμενη: alter table dept add budget number(10,2) Με κίτρινο σημειώνεται παραπάνω η υποπρόταση που αντιστοιχεί στην alter_table_spec (δείτε και slide 25).
table_name table_name ::= identifier identifier identifier ::= ( "letter" { "letter" "digit" "underline" "dollar" "sharp" } ) "quote" { "any character" } "quote"
alter_table_spec alter_table_spec ::= ( ( "add" "(" ( new_column_list new_constraint_list ) ")" ) ( "modify" "(" modified_column_list ")" ) ( "drop" "constraint" "(" constraint_list ")" ) ( storage_parameter { storage_parameter } ) ( "allocate" "extent" { allocate_spec } ) ( "enable" enable_spec ) ( "disable" disable_spec ) )
new_column_list new_column_list ::= column_name datatype [ "default" expression ] { column_constraint } { "," column_name datatype [ "default" expression ] { column_constraint } }
datatype datatype ::= character_type date_type float_type decimal_type integer_type binary_type character_type character_type ::= ( ( "char" "varchar" "varchar2" "character" "character" "varying" ) "(" ( n ) ")" ) ( "long" )
Ιεραρχίες Στόχων Παράδειγμα της σημασίαs μιας φυσικής ιεραρχίας στόχων: - Οι πρώτες αυτόματες τραπεζικές μηχανές (ΑΤΜ) έδιναν στους πελάτες τα λεφτά πριν να επιστρέψουν τις κάρτες τους. - Πολλοί πελάτες ξεχνούσαν να πάρουν τις κάρτες τους, παρά τα μηνύματα της οθόνης που έλεγαν να περιμένουν (πρόβλημα κλειστότητας) Ο κύριος σκοπός του χρήστη είναι να πάρει τα χρήματα. Όταν αυτός επιτυγχάνεται, ο χρήστης δε συμπληρώνει ή κλείνει τους σκοπούς που δεν έχουν τελειώσει.
Σκοπός: Πάρε λεφτά Σκοπός: Χρησιμοποίησε ΑΤΜ Βάλε την κάρτα Δώσε κωδικό Δώσε ποσό Πάρε χρήματα <Τώρα ο κύριος σκοπός έχει εκπληρωθεί> Πάρε την κάρτα -- ο υποσκοπός αγνοείται Οι περισσότερες τράπεζες άλλαξαν τη σειρά των ενεργειών έτσι ώστε η κάρτα να λαμβάνεται πριν τα χρήματα. Από αυτό το παράδειγμα προκύπτει ο κανόνας: «Κανένας σκοπός υψηλότερου επιπέδου δεν πρέπει να ολοκληρώνεται εάν δεν έχουν ολοκληρωθεί όλοι οι υποσκοποί του.»
Νοητικά Μοντέλα-Mental Models Είναι δυναμικά σχήματα γνώσης που αφορούν χρήση συσκευών ή διατάξεων ή τρόπους αντιμετώπισης προβλημάτων. Είναι νοητικές αναπαραστάσεις της πραγματικότητας μέσω των οποίων μπορούμε να προβλέψουμε έκτακτα περιστατικά ή να δοκιμάσουμε εναλλακτικές λύσεις
Πώς κατασκευάζουμε ένα νοητικό μοντέλο Χρήση προηγούμενης γνώσης και εμπειρίας Χρήση μεταφορών για την επιτάχυνση της χρήσης προηγούμενης γνώσης πχ Κάδος ανακύκλωσης
Ερωτήσεις