2. Προβληματισμός και αναζήτηση
διαδικασιών
αποτίμησης κριτηρίων
για την αξιολόγηση
κώδικα οπτικού προγραμματισμού με πλακίδια
2
Τι θα δούμε
3. Ως περιβάλλον οπτικού προγραμματισμού
με πλακίδια επιλέχθηκε το Scratch 2.
αλλά ότι θα πούμε εφαρμόζονται και σε άλλες
γλώσσες οπτικού προγραμματισμού
με τη χρήση πλακιδίων όπως τα
AppInventor, StarlogoTNG, TurtleArt, Blockly, κλπ.
3
Τι θα δούμε
4. Μελετήθηκαν διάφορα εργαλεία αξιολόγησης
όπως τα
(α) Πλαίσιο αξιολόγησης της εξέλιξης της
υπολογιστικής σκέψης ενός χρήστη με επίκεντρο
το Scratch (Brennan & Resnick, 2012)
(β) Dr. Scratch (Moreno-León & Robles, 2015)
(γ) Μοντέλο ποιότητας SQO-OSS (Samoladas,
Gousios, Spinellis & Stamelos, 2012) και
(δ) Scrape (Scrape, 2016). 4
Π.Α.Κ.Ο.Π.
6. Από αυτά και από ένα ερωτηματολόγιο που
απάντησαν 50 συνάδελφοι διαμορφώθηκε ένα
Πλαίσιο Αξιολόγησης Κώδικα Οπτικού
Προγραμματισμού (Π.Α.Κ.Ο.Π.)
μέσω του οποίου συγκεκριμενοποιήθηκαν τα
κριτήρια αξιολόγησης και προτάθηκε μια σειρά
συντελεστών με την οποία συνεισφέρει το κάθε
κριτήριο.
6
Π.Α.Κ.Ο.Π.
8. 8
Π.Α.Κ.Ο.Π.
Αποτελεσματικότητα Λειτουργεί σωστά το πρόγραμμα; Ανταποκρίνεται στις ανάγκες του χρήστη; Ικανοποιεί τους
στόχους που τέθηκαν πριν την υλοποίησή του;
Αναγνωσιμότητα Είναι ο κώδικας εύκολα κατανοήσιμος; Οι μεταβλητές, τα αντικείμενα και οι διαδικασίες έχουν
κατάλληλες ονομασίες; Η τοποθέτηση των πλακιδίων στο χώρο έχει συνοχή;
Βελτιστοποίηση Μπορούν οι αλγόριθμοι να εκφραστούν με λιγότερα βήματα και να παραγάγουν το ίδιο
αποτέλεσμα; Υπάρχουν κομμάτια κώδικα που επαναλαμβάνονται; Είναι όλα τα πλακίδια
απαραίτητα για τη ροή του προγράμματος ή υπάρχει «νεκρός» κώδικας;
Μεταβλητότητα Πόσο εύκολα μπορεί να τροποποιηθεί/επεκταθεί ο κώδικας;
Ασφάλεια Αρχικοποιούνται οι μεταβλητές όταν πρέπει; Οι επαναλήψεις τερματίζονται μετά από ένα
ορισμένο αριθμό βημάτων;
Δοκιμαστικότητα Πόσο εύκολα μπορεί να δοκιμαστεί η ορθότητα του προγράμματος;
Αποσύνθεση Το πρόβλημα «σπάει» σωστά σε μικρότερα και απλούστερα μέρη;
Αλληλεπίδραση με το
χρήστη
Υπάρχει η κατάλληλη αλληλεπίδραση με το χρήστη;
Αναπαράσταση
δεδομένων
Οι μεταβλητές είναι σωστά ορισμένες; Οι μεταβλητές χρησιμοποιούνται με τον κατάλληλο
τρόπο; Χρησιμοποιούνται δομές δεδομένων (λίστες);
Επικοινωνία –
Συγχρονισμός
Υπάρχουν οι κατάλληλες εντολές που βοηθούν τη ροή του προγράμματος; Τα γεγονότα είναι
σωστά ορισμένα; Η επικοινωνία μεταξύ των αντικειμένων γίνεται με ορθό τρόπο;
Παραλληλία –
Σειριακότητα
Γίνεται σωστά ο διαχωρισμός μεταξύ παράλληλων και σειριακών διαδικασιών;
9. 9
Π.Α.Κ.Ο.Π. Πως αξιολογώ ένα πρόγραμμα που δεν
βγάζει απόλυτα τα σωστά αποτελέσματα;
Λειτουργεί σωστά το πρόγραμμα; Ανταποκρίνεται στις ανάγκες του χρήστη; Ικανοποιεί τους στόχους που τέθηκαν πριν την
υλοποίησή του;
11. 11
Π.Α.Κ.Ο.Π. Γιατί η παραλληλία-σειριακότητα έχει το
μικρότερο συντελεστή; Απ.: το δείγμα της έρευνας
Γίνεται σωστά ο διαχωρισμός μεταξύ παράλληλων και σειριακών διαδικασιών;
12. 12
Π.Α.Κ.Ο.Π. Γιατί η αναπαράσταση δεδομένων έχει το τόσο
μικρό συντελεστή; Απ.: το δείγμα της έρευνας
Οι μεταβλητές είναι σωστά ορισμένες; Οι μεταβλητές χρησιμοποιούνται με τον κατάλληλο τρόπο; Χρησιμοποιούνται δομές
δεδομένων (λίστες); Πρόγραμμα = Αλγόριθμος + δεδομένα δηλ. Δεδομένα = Πρόγραμμα - Αλγόριθμος
13. 13
Π.Α.Κ.Ο.Π. Μπορεί η βελτιστοποίηση να είναι στο 25% και η
αναγνωσιμότητα στο 100%; Απ.: το δείγμα της έρευνας /
δάσκαλοι
Μπορούν οι αλγόριθμοι να εκφραστούν με λιγότερα βήματα και να παραγάγουν το ίδιο αποτέλεσμα; Υπάρχουν κομμάτια κώδικα
που επαναλαμβάνονται; Είναι όλα τα πλακίδια απαραίτητα για τη ροή του προγράμματος ή υπάρχει «νεκρός» κώδικας;
14. 14
Π.Α.Κ.Ο.Π. Γιατί η επικοινωνία-συγχρονισμός δεν φτάνει ούτε
στο 50%; Απ.: στον ορισμός της και στο δείγμα της έρευνας
Υπάρχουν οι κατάλληλες εντολές που βοηθούν τη ροή του προγράμματος; Τα γεγονότα είναι σωστά ορισμένα; Η επικοινωνία
μεταξύ των αντικειμένων γίνεται με ορθό τρόπο;
15. 15
Π.Α.Κ.Ο.Π. Η αποσύνθεση μόνο στο 57%!!!
Απ.: στο ΑΕΠΠ το Μάρτιο, στο Scratch κουνάμε κουκλίτσες να χορέυουν;
Το πρόβλημα «σπάει» σωστά σε μικρότερα και απλούστερα μέρη;
17. 17
Π.Α.Κ.Ο.Π. Η αποσύνθεση μόνο στο 57%!!!
Απ.: στο ΑΕΠΠ οι διαδικασίες διδάσκονται το Μάρτιο, στο Scratch κουνάμε
κουκλίτσες να χορέυουν;
Είναι ο κώδικας εύκολα κατανοήσιμος; Οι μεταβλητές, τα αντικείμενα και οι διαδικασίες έχουν κατάλληλες ονομασίες; Η
τοποθέτηση των πλακιδίων στο χώρο έχει συνοχή;
19. Στη συνέχεια επιχειρείται να περιγραφεί
Ο τρόπος υπολογισμού
τριών κριτηρίων αξιολόγησης:
(α) Αλληλεπίδραση με το χρήστη,
(β) Επικοινωνία / Συγχρονισμός και
(γ) Παραλληλία / Σειριακότητα.
19
Π.Α.Κ.Ο.Π.
20. Αυτή η διαδικασία αποτίμησης
γίνεται με τη σύζευξη κάθε κριτηρίου
με συγκεκριμένες εντολές του Scratch-2,
κάτι που θα επιτρέψει την ποσοτικοποίηση.
20
Αναπαράσταση κώδικα με κωδικΌραμα
21. Επιλέχθηκε να γίνει μελέτη περίπτωσης
προγραμμάτων έργων μαθητών
(εννέα από 358) που βραβεύτηκαν
στο 2ο Πανελλήνιο Διαγωνισμό Παιχνιδιού
στο Scratch.
21
Αναπαράσταση κώδικα με κωδικΌραμα
22. 22
Αναπαράσταση κώδικα με κωδικΌραμα
τμήμα κώδικα (Α’ βραβείο για το γυμνάσιο)
https://scratch.mit.edu/projects/106503244/
23. 23
Αναπαράσταση κώδικα με κωδικΌραμα
Η άναρχη χωρική κατανομή του κώδικα δεν
εξυπηρετεί την κατανόηση της λειτουργίας του
24. Με μια αναζήτηση σε άλλα προγράμματα
διαπιστώθηκε ότι η ίδια κατάσταση επικρατεί και
σε αυτά με μια μικρή εξαίρεση το StarLogo TNG
που δεν είναι συμβατή με τα κριτήριά μας.
24
Αναπαράσταση κώδικα με κωδικΌραμα
25. Λόγω των ανεπαρκειών
των περιβαλλόντων οπτικού προγραμματισμού
για την αναπαράσταση του κώδικα
υιοθετήθηκε το εργαλείο κωδικΌραμα
25
Αναπαράσταση κώδικα με κωδικΌραμα
27. Το κωδικΌραμα είναι μία διδιάστατη απεικόνιση
που στην οριζόντια διάσταση παρατίθενται τα
αντικείμενα που εμπλέκονται στο πρόγραμμα και
στην κατακόρυφη οι διαφορετικές καταστάσεις
στις οποίες μπορούν να βρεθούν τα αντικείμενα
κατά την εκτέλεση του προγράμματος. Στα κελιά
που δημιουργούνται εμφανίζεται ο κώδικας που
περιγράφει τη συμπεριφορά του αντικειμένου στη
συγκεκριμένη κατάσταση.
27
Αναπαράσταση κώδικα με κωδικΌραμα
28. Τα βέλη που συνδέουν διάφορα τμήματα του
κώδικα δηλώνουν την επικοινωνία μεταξύ αυτών
των τμημάτων και το χρώμα τους τον τρόπο που
γίνεται αυτή (με μηνύματα, χρήση μεταβλητών σε
ρόλο σημαίας κλπ).
28
Αναπαράσταση κώδικα με κωδικΌραμα
29. H κατάλληλη χωρική διάταξη των καταστάσεων
(που αντιστοιχεί στην τοποθέτηση των γραμμών)
αποσκοπεί στο να αναδεικνύεται η χρονική
εξέλιξη κατά τη λειτουργία του συστήματος.
Έτσι η χρονική εξέλιξη του συστήματος
αναπαρίσταται με μεταπτώσεις
στον κατακόρυφο άξονα
(συνήθως από πάνω προς τα κάτω). 29
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
30. Όπου παρατηρούνται ασυνέχειες στη ροή
οφείλονται στο ότι το σύστημα για να προχωρήσει
από τη μια κατάσταση στην επόμενη περιμένει τη
δράση του χρήστη.
Συνεπώς τέτοιες ασυνέχειες στη ροή
μπορούν να συνδεθούν
με το κριτήριο "αλληλεπίδραση με τον χρήστη".
30
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
31. Επίσης παρατηρείται ότι
όλα τα τμήματα κώδικα
που πυροδοτούνται κατά την έναρξη μιας
κατάστασης (δηλ. όλοι οι κώδικες όλων των αντικειμένων που βρίσκονται στην
ίδια γραμμή/κατάσταση, που έχουν το ίδιο καπελάκι)
εκτελούνται παράλληλα και
συνεπώς συνδέονται με το κριτήριο “παραλληλία
/ σειριακότητα”.
31
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
32. Τι μπορεί να αναδείξει ένα απλό κωδικΌραμα;
32
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
33. Τι μπορεί να αναδείξει ένα απλό κωδικΌραμα;
Αναδεικνύεται
η τμηματική φιλοσοφία του κώδικα (Α.Ε – Κ.Ε.-
Τ.Ε.),
η ιεραρχική δόμηση των αρθρωμάτων του που
υλοποιούνται με διαδικασίες (μωβ χρώμα),
η κοινή χρήση τμημάτων κώδικα κ.λπ.
που μπορούν να συνδεθούν με το κριτήριο της
αποσύνθεσης. 33
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
34. Τι μπορεί να αναδείξει ένα απλό κωδικΌραμα;
Αναδεικνύονται τα όρια της ιεραρχικής ανάλυσης
που μπορούν να συνδεθούν με το κριτήριο της
αποσύνθεσης. 34
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
35. Τι μπορεί να αναδείξει ένα απλό κωδικΌραμα;
Τμήματα κώδικα με κίτρινο και βεραμάν
θεωρούνται ως υψηλού αλγοριθμικού φόρτου
(δομές επιλογής / επανάληψης και τελεστές),
και μπορούν να συνδεθούν με
το κριτήριο της επικοινωνίας / συγχρονισμού.
35
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
37. Τι μπορεί να αναδείξει ένα απλό κωδικΌραμα;
Οι καφέ γραμμές υποδηλώνουν τη μετάδοση
μηνυμάτων και μέσω των γραμμών αυτών μπορεί
να εντοπιστούν ευκολότερα πιθανά λάθη
επικοινωνίας μέσα στον κώδικα.
Έτσι η πυκνότητα καφέ γραμμών
συνδέεται με
το κριτήριο της επικοινωνίας / συγχρονισμού.
37
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
38. Από τη σύγκριση
της αναπαράστασης του οπτικού κώδικα μέσα στο
περιβάλλον του Scratch-2
με τον τρόπο αναπαράστασης με τα κωδικΟράματα
είναι προφανή τα πλεονεκτήματα των
κωδικΟραμάτων
και οι λόγοι της υιοθέτησής τους για την
απεικόνιση του κώδικα.
38
Ανάδειξη χαρακτηριστικών με κωδικΌραμα
39. Για την εύρεση ποσοτικών σχέσεων μεταξύ
των εντολών και των κριτηρίων αξιολόγησης,
πρέπει να εξεταστεί η συνάφειά ενός εκάστου από
τα κριτήρια αυτά, με εκείνες από τις εντολές που
τα επηρεάζουν.
Ένας τρόπος καταγραφής του συνόλου των
σχέσεων μεταξύ κριτηρίων και εντολών είναι
η δημιουργία ενός πίνακα ο οποίος να αναδεικνύει
τη σχέση ανάμεσα σε αυτά τα δύο. 39
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
40. Όμως μια εντολή -κατά κανόνα- μπορεί
να δέχεται μια ποικιλία από ορίσματα
και αυτός ο συνδυασμός
μπορεί να τη συνδέσει με μια ποικιλία
διαφορετικών κριτηρίων αξιολόγησης.
40
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
41. Για παράδειγμα,
η εντολή ελέγχου “περίμενε ώσπου...”,
με όρισμα το “πατήθηκε το ποντίκι”
συνδέεται με το κριτήριο
“Αλληλεπίδραση με το χρήστη”,
ενώ με όρισμα το είναι το “θέση του χ” (με τελεστή)
συνδέεται με το κριτήριο
“Επικοινωνία/Συγχρονισμός”.
41
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
42. Έτσι η σχέση μεταξύ
κριτηρίων αξιολόγησης και εντολών μετατοπίζεται
σε σχέση μεταξύ
κριτηρίων αξιολόγησης και συνδυασμού
εντολών/ορισμάτων.
42
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
43. { Οι συνδυασμοί εντολών με εντολές
(επανάληψη μέσα σε επανάληψη, έλεγχος μέσα
σε έλεγχο κλπ)
δημιουργούν μια επιπλέον διάσταση
στην διερεύνηση της σχέσης μεταξύ κριτηρίων και
συνδυασμού εντολών/ορισμάτων
που δεν έχει διερευνηθεί. }
43
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
44. Για να αναπαρασταθούν οι συνδυασμοί των
εντολών με τα δυνατά ορίσματα που διατίθενται
στο Scratch-2,
δημιουργήθηκε ένας διδιάστατος πίνακας
που στον κατακόρυφο άξονα παρατίθενται οι
εντολές,
ενώ στον οριζόντιο άξονα όλα τα δυνατά
ορίσματά τους. έλεγχος.xlsx
44
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
46. Στον κατακόρυφο άξονα είναι οι
εντολές των κατηγοριών
“Συμβάντα” και “Έλεγχος ”.
Οι εντολές “επανέλαβε … (φορές)”
και “περίμενε … δευτερόλεπτα” (με
ορίσματα αριθμούς)
έχουν τοποθετηθεί ξεχωριστά από
τις υπόλοιπες εντολές ελέγχου (με
ορίσματα λογικές συνθήκες).
46
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
47. Η εντολή «Όταν δημιουργηθεί ο
κλώνος»
ως ανήκουσα στην κατηγορία
“Έλεγχος” του Scratch έχει χρώμα
κίτρινο,
αλλά ως πυροδοτούσα την εκτέλεση
κώδικα (ξεκινά με “Όταν” ) έχει
σχήμα συμβάντος.
Έτσι τοποθετήθηκε στο όριο.
47
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
48. Η εντολή «για πάντα»
κατά κανόνα συνδυάζεται με άλλες
εντολές
(οι οποίες θα πρέπει να
εξασφαλίζουν την περατότητα του
προγράμματος)
και ως εκ τούτου θα πρέπει να
εξεταστεί σε μελλοντική έρευνα
μαζί με τους υπόλοιπους
συνδυασμούς εντολών. 48
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
49. Η εντολή “εάν στα όρια
αναπήδησε” είναι στη μπλε
κατηγορία “Κίνηση” αν και είναι
εντολή που πραγματοποιεί έλεγχο.
Όμως επειδή πάντα πραγματοποιεί
τον ίδιο έλεγχο και έχει την ίδια
αντίδραση, δεν κρίθηκε απαραίτητο
να συμπεριληφθεί στις εντολές που
συνεισφέρουν σημαντικά στην
αξιολόγηση του κώδικα. 49
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
50. Με την παραπάνω ομαδοποίηση
διαπιστώνεται ότι οι εντολές της
κατηγορίας “Συμβάντα”
αντιστοιχούν στη διαδικασία
διάγνωσης συμβάντων με χρήση της
τεχνικής interrupt, ενώ οι εντολές
της κατηγορίας “Έλεγχος” με την
τεχνική polling.
50
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
51. Στην τεχνική interrupt, πυροδοτεί
την εκτέλεσης ενός σεναρίου
κώδικα) όταν συμβεί ένα γεγονός.
Στην τεχνική polling γίνεται
έλεγχος συνεχώς εάν συνέβη το
γεγονός (μέσα σε μια εντολή «για
πάντα») δηλ. αν ικανοποιήθηκε η
λογική συνθήκη
51
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
52. Στον οριζόντιο άξονα του πίνακα
αναφέρονται τα ορίσματα των εντολών
(μόνο σε εκείνα που διατίθενται εξ ορισμού από
το σύστημα και όχι τα δεδομένα που μπορούν να
οριστούν από τον προγραμματιστή).
52
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
53. Στον οριζόντιο άξονα του πίνακα
αναφέρονται τα ορίσματα των εντολών
(μόνο σε εκείνα που διατίθενται εξ ορισμού από
το σύστημα και όχι τα δεδομένα που μπορούν
να οριστούν από τον προγραμματιστή).
53
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
54. Τα ορίσματα έχουν ομαδοποιηθεί
ανάλογα με την προέλευσή τους π.χ.
αν προέρχονται από εξωτερική συσκευή,
αν ανήκουν σε δομικά στοιχεία που έχει
δημιουργήσει ο προγραμματιστής (αντικείμενα,
σκηνή, υπόβαθρο) ή
αν αφορούν ιδιότητες του συστήματος όπως
χρονόμετρο, χρονολογίες, όνομα χρήστη.
54
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
55. Εσωτερικά σε κάθε ομάδα
τα ορίσματα έχουν ταξινομηθεί
ανάλογα με τον τύπο τους,
που είναι αριθμοί, συμβολοσειρές, boolean,
εσωτερικές τιμές του συστήματος.
Το χρώμα των κενών κελιών δηλώνει τον τύπο του
ορίσματος.
55
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
56. Το κριτήριο αξιολόγησης του κώδικα
δηλώνεται με λεκτική περιγραφή και
με το χρώμα του υπόβαθρου στα κελιά του
πίνακα.
Αρκετοί από τους συνδυασμούς
εντολών/ορισμάτων είναι δυνατόν να
συσχετίζονται με πολλαπλά κριτήρια αξιολόγησης.
56
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
58. 58
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
Αν μια εντολή δεν παίρνει όρισμα
τότε τα αντίστοιχα κελιά παραμένουν κενά
59. Αν μια εντολή δεν φαίνεται συντακτικά να μπορεί
να πάρει κατάλληλο όρισμα τότε τα
αντίστοιχα κελιά παραμένουν κενά
59
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
60. Τα μαύρα κελιά που ορίζονται από τις εντολές
“επανέλαβε …” και “περίμενε… δευτερόλεπτα”
60
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
με τα ορίσματα “πατήθηκε
το πλήκτρο…”, “πατήθηκε
το ποντίκι” και “αγγίζει το
δείκτη του ποντικιού”
έχουν αφεθεί κενά λόγω
της ασυμβατότητας των
αντίστοιχων τύπων.
61. Τα μαύρα κελιά που ορίζονται από τις εντολές
“επανέλαβε …” και “περίμενε… δευτερόλεπτα”
61
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
με τα ορίσματα “πατήθηκε
το πλήκτρο…”, “πατήθηκε
το ποντίκι” και “αγγίζει το
δείκτη του ποντικιού”
έχουν αφεθεί κενά λόγω
της ασυμβατότητας των
αντίστοιχων τύπων.
62. Η συμπλήρωση των κελιών με τα κριτήρια και η
κατάλληλη χωροθέτηση ανέδειξαν στον πίνακα
περιοχές κελιών με όμοια χαρακτηριστικά.
62
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
63. Αν η ομαδοποίηση των κελιών-κριτηρίων γίνει με
βάση την κοινή προέλευση των ορισμάτων τότε ο
πίνακας παίρνει αυτή τη μορφή
63
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
64. Αν η ομαδοποίηση των κριτηρίων γίνει υπό το
πρίσμα της ομοιότητας των εντολών τότε ο
πίνακας παίρνει την μορφή σχήματος.
64
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
65. Από την σύγκριση των δύο προαναφερθέντων
τρόπων ομαδοποίησης
υιοθετήθηκε ο δεύτερος
γιατί διαπιστώθηκε ότι με αυτό τον τρόπο
ομαδοποιούνται σαφείς και διακριτές περιοχές
που συσχετίζονται
με συγκεκριμένα κριτήρια
ή συνδυασμό κριτηρίων.
65
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
66. Έτσι το κριτήριο “Αλληλεπίδραση με το χρήστη”
σχετίζεται με το συνδυασμό εντολών ελέγχου και
ορισμάτων του πληκτρολόγιου και του ποντικιού.
(μπλε χρώμα).
66
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
67. Τα ορίσματα που αντιστοιχούν στο κριτήριο
“επικοινωνία / συγχρονισμός” είναι κυρίως αυτά που
αφορούν αντικείμενα του προγράμματος.
67
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
68. Μια περαιτέρω ομαδοποίηση σε δύο υποπεριοχές με
τη μια να αντιστοιχεί σε εντολές ελέγχου με όρισμα
λογική τιμή και η με αριθμητική τιμή.
68
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
69. Σε κελιά με περισσότερα του
ενός κριτήρια υπεισέρχονται
πέραν των κριτηρίων
“Αλληλεπίδραση” και
“Επικοινωνία”, επιπλέον τα
“Παραλληλία” και
69
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
η “Αποσύνθεση” με την παρατήρηση ότι
τα κριτήρια αυτά κατά κανόνα αντιστοιχούν σε
εντολές της κατηγορίας “Συμβάντα”.
70. Τα κελιά με πολλαπλά
κριτήρια σχετίζονται κυρίως
με τις εντολές που είτε δεν
δέχονται όρισμα, είτε
δέχονται μοναδικό όρισμα
(δηλαδή αυτό δεν μπορεί
70
Πίνακας καταγραφής των συσχετίσεων
των συνδυασμών εντολών/ορισμάτων με τα κριτήρια αξιολόγησης
να αλλάξει από τον προγραμματιστή όπως στην
εντολή “Όταν στο αντικείμενο γίνει κλικ”).
71. 71
Γραφήματα αντιστοίχησης
των κριτηρίων αξιολόγησης με ομάδες συνδυασμών εντολών/ορισμάτων
Από τη μελέτη του πίνακα,
μπορούμε να αναγνωρίσουμε τους συνδυασμούς
εντολών/ορισμάτων που προσδιορίζουν το
εκάστοτε κριτήριο.
72. 72
Γραφήματα αντιστοίχησης
των κριτηρίων αξιολόγησης με ομάδες συνδυασμών εντολών/ορισμάτων
Στο συγκεκριμένο πίνακα
τα κριτήρια για τα οποία διαθέτουμε πληροφορία
είναι κυρίως τα:
Αλληλεπίδραση με το χρήστη,
Επικοινωνία / Συγχρονισμός,
Παραλληλία / Σειριακότητα και
Αποσύνθεση.
73. 73
Γραφήματα αντιστοίχησης
των κριτηρίων αξιολόγησης με ομάδες συνδυασμών εντολών/ορισμάτων
Όμως για το κριτήριο της αποσύνθεσης
δεν μπορεί να εξαχθεί συμπέρασμα,
γιατί η αποσύνθεση εμπλέκει σε σημαντικό βαθμό
και τη χρήση διαδικασιών (procedures), που δεν
συμπεριλαμβάνονται στον παρόντα πίνακα.
74. 74
Γραφήματα αντιστοίχησης
των κριτηρίων αξιολόγησης με ομάδες συνδυασμών εντολών/ορισμάτων
Επίσης για να διερευνηθεί περαιτέρω το
κριτήριο της αποσύνθεσης
θα χρειαστεί να μελετηθούν συνδυασμοί των
εντολών της κατηγορίας “Έλεγχος” όπως
επανάληψη μέσα σε επανάληψη,
έλεγχος μέσα σε έλεγχο,
έλεγχος μέσα σε επανάληψη και
επανάληψη μέσα σε έλεγχο.
76. 76
Η Αλληλεπίδραση με το χρήστη
Στο διάγραμμα του κριτηρίου της
αλληλεπίδρασης με το χρήστη εμφανίζονται όλοι
οι αποδεκτοί συνδυασμοί των εντολών με τα
ορίσματα που επηρεάζουν το κριτήριο.
Τα ορίσματα που συνεισφέρουν είναι αυτά που
προέρχονται από τις περιφερειακές συσκευές
(ποντίκι, πληκτρολόγιο, μικρόφωνο,
μικροελεγκτές…).
77. 77
Η Αλληλεπίδραση με το χρήστη
Κατά κανόνα
οι εντολές της κατηγορίας “Συμβάντα”
πραγματοποιούν ελέγχους για συγκεκριμένα
μοναδικά συμβάντα ενώ
οι εντολές της κατηγορίας “Έλεγχος” συνδυάζονται
με πολλαπλά ορίσματα έτσι ώστε να μπορεί να
γίνεται έλεγχος ενός πλήθους διαφορετικών
γεγονότων.
78. 78
Η Αλληλεπίδραση με το χρήστη
Στο διάγραμμα του κριτηρίου της
αλληλεπίδρασης με το χρήστη
οι διακεκομμένες γραμμές δηλώνουν
ανεκτή συντακτικά χρήση του ορίσματος αλλά
με μη συμβατικό τρόπο
79. 79
Η Αλληλεπίδραση με το χρήστη
Οι συνδυασμοί εντολών ελέγχου-ορισμάτων
στην οποία τα ορίσματα αν και
χρησιμοποιούνται με μη συμβατικό τρόπο
μπορούν εν δυνάμει να οδηγήσουν
σε συνδυαστικού τύπου καινοτομικές λύσεις
π.χ. επανέλαβε τόσες φορές όση είναι η ένταση του
μικροφώνου. σε ένα πρόγραμμα που δημιουργεί
ραβδόγραμμα που δείχνει την μεταβολή της έντασης
του ήχου που καταγράφει το μικρόφωνο.
81. 81
Η επικοινωνία και ο συγχρονισμός
Στο διάγραμμα της “Επικοινωνία/συγχρονισμός”
εμφανίζονται όλοι οι αποδεκτοί συνδυασμοί των
εντολών με τα ορίσματα που επηρεάζουν το
κριτήριο.
Οι διακεκομμένες γραμμές δηλώνουν ανεκτή
συντακτικά χρήση του ορίσματος αλλά με μη
συμβατικό προγραμματιστικά τρόπο
όπως το “περίμενε τόσο όση είναι η απόσταση
από κάποιο αντικείμενο”.
83. 83
Η παραλληλία και η σειριακότητα
Το γράφημα της “παραλληλίας/σειριακότητας”
σχετίζεται μόνο με τις εντολές που ξεκινούν με το
“Όταν” που έχουν σχήμα καπελάκι και λειτουργούν
ως αφετηρίες τμημάτων κώδικα.
Έτσι αν στο ίδιο πρόγραμμα, συνυπάρχουν
περισσότερες της μιας χρήσεις της ίδιας εντολής
αυτής της κατηγορίας, τότε συνεπάγεται
παράλληλη εκτέλεση των σεναρίων που
“κρέμονται” κάτω από αυτές.