Παράλληλη Αναζήτηση

Αναζήτηση

Βρες
Εμφάνιση

Άρθρα :: Σύντομη είδηση

( νέα επέμβαση σε "kannabis shop" ) 

Νέα επέμβαση σε "kannabis shop"

Φάγαμε

11.3. Υλοποίηση εφαρμογών σε σύγχρονο προγραμματιστικό περιβάλλον

Επέμβαση στο κεντρικό κατάστημα των γνωστών "kannabis shop", στα Ιωάννινα πραγματοποίησαν αστυνομικοί της τοπικής διεύθυνσης.

…στο "Bon Gout"

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

Το φαγητό του είναι σικάτο και το look πολυτελές

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

ΝΤΑΙΑΝΑ ΚΟΧΥΛΑ

Κατά συνέπεια ο προγραμματιστής είναι υποχρεωμένος να ασχοληθεί ιδιαίτερα με τον τρόπο επικοινωνίας του χρήστη με την εφαρμογή, τη διεπαφή χρήστη (user interface). Η ιδέα του μπακάλικου-ταβέρνας είναι πάντα κάτι που με ελκύει. Κατά το σχεδιασμό της διεπαφής χρήστη, ο προγραμματιστής πρέπει να αντιλαμβάνεται την εφαρμογή από την πλευρά του χρήστη. Θυμίζει παλιές εποχές, όταν οι σχέσεις μεταξύ μπακάλη και πελάτη ήταν πιο ανθρώπινες. Ένας προγραμματιστής για να δημιουργήσει μια σύγχρονη, φιλική και ευέλικτη εφαρμογή θα πρέπει να δώσει οπτική μορφή στο περιβάλλον εργασίας που παρέχει στο χρήστη. Πάνε οι ημέρες εκείνες. Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν στον προγραμματιστή όλα εκείνα τα εργαλεία που χρειάζεται για να δημιουργήσει ένα τέτοιο περιβάλλον. Ένα βεριτάμπλ μπακάλικο-ταβέρνα γνωρίζω ακόμα, στα βάθη… του Πειραιά, και δεν το προδίδω σε κανέναν. Και φυσικά τα εργαλεία αυτά είναι τα αντικείμενα. Η δική μας εποχή είναι η εποχή της νεόπλουτης νοσταλγίας!

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

Στη Ρωσία οι μαφιόζοι αποκαλούν τον εαυτόν τους "Νέα Αριστοκρατία" και κτίζουν βίλες άξιες για τσάρο.

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

Στην Ελλάδα φαίνεται ότι νοσταλγούμε την ταβερνούλα και όχι τόσο το βασιλικό μας παρελθόν.

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

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

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

Το τρεντ άρχισε με ιταλίζοντα μαγαζιά, στην Κηφισιά, στη Γλυφάδα, στη Νέα Σμύρνη και αλλού, τα οποία συνδυάζουν το ντελικατέσεν με πέντε-έξι τραπεζάκια στα οποία μπορεί κανείς να απολαύσει ένα απλό γεύμα.

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

Το πρόσφατο άνοιγμα του "Bon Gout" στη Νέα Ερυθραία ανέβασε τον πήχυ της χλιδής.

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

Κατ' αρχάς, εκεί μαγειρεύει ένας από τους πιο γνωστούς σεφ της Αθήνας, ο Robert Sewatka (τέως Pil Poul).

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

Το φαγητό είναι σικάτο και το look πολυτελές.

2. Καθορισμός της αρχικής συμπεριφοράς των αντικειμένων μέσω των ιδιοτήτων που υποστηρίζουν. To μπακάλικο-ταβέρνα των βορείων προαστίων του 21ου αιώνα έχει τραπέζια μακριά από τα αντικείμενα της γκουρμέ λαιμαργίας μας, που δεν επικοινωνούν καθόλου με το ντελικατέσεν. 3. Δημιουργία και εκσφαλμάτωση κώδικα. Αντιθέτως, βρίσκονται στο πατάρι, σε έναν χώρο όλο λούστρο, ξύλο και μάρμαρο, που βλέπει απέναντι, σε μια πανάκριβη τζαμαρία.

Παράδειγμα

Το περιβάλλον λουξ, αλλά λιτό.

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

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

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

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

Δημιουργία της διεπαφής χρήστη

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

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

Το φαγητό:

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

Σίγουρα δεν λείπουν τα διάφορα πιάτα με τυριά και αλλαντικά από το ντελικατέσεν που βρίσκεται από κάτω.

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

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

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

Οι τιμές για σαλάτες, επί παραδείγματι, κυμαίνονται μεταξύ 6 και 29 ευρώ.

Τα τρία πλήκτρα εντολής τα επιλέγουμε από την εργαλειοθήκη (toolbox) που μας παρέχει το υποθετικό περιβάλλον προγραμματισμού στο οποίο βρισκόμαστε.

Εμείς δοκιμάσαμε το σούσι και μια κρύα σαλάτα από ταλιατέλες, σολομό και μπρικ.

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

Το σούσι - ρολά, δηλαδή - ήταν αξιοπρεπές.

Για να είναι τα πλήκτρα κατατοπιστικά θα εμφανίσουμε επάνω σε κάθε ένα τον αριθμό του βήματος που πρόκειται να παρουσιάζεται.

Δύο κομματάκια σερβίρουν σε κάθε παραγγελία, προς 2-2.50 ευρώ.

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

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

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

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

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

Η τάρτα από καβούρι δεν ήταν τάρτα με την κλασική έννοια (δεν είχε ζύμη).

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

Ήταν μια εκδοχή του crabcake, με αληθινό καβούρι και αρκετό αλάτι.

Αντικείμενο Ιδιότητα Τιμή

Ένα κομματάκι προς 29 ευρώ.

Όνομα Πλήκτρο Εντολής Βήμα 1

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

Πλήκτρο εντολής 1 Τίτλος 1

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

Όνομα Πλήκτρο Εντολής Βήμα 2

Τα λαχανικά, κομμένα σαν κλωστές και αρωματισμένα με βούτυρο, όπως και το ψάρι, ήθελαν αλάτι.

Πλήκτρο εντολής 2 Τίτλος 2

Δοκιμάσαμε δύο γλυκά.

Όνομα Πλήκτρο Εντολής Βήμα 3

Το πρώτο, ένα σούπερ γλυκό pave σοκολάτας με σάλτσα κεράσι, ήταν συμπαγές και πλούσιο.

Πλήκτρο εντολής 3 Τίτλος 3

Νόστιμο μεν, αλλά βαρύ.

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

Η κρεμ μπριλέ, μια καλή εκδοχή ενός κλασικού επιδορπίου.

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

Ήπιαμε μόνο ένα ποτήρι Σαμαρόπετρα και μια Στέλλα.

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

Ο λογαριασμός δεν ήταν και τόσο… νόστιμος, όμως! - 101 ευρώ.

Η τιμή στην ιδιότητα Όνομα, είναι σωστό να προσδιορίζει τη κλάση από την οποία προέρχεται το αντικείμενο και το ρόλο του μέσα στην εφαρμογή. Για παράδειγμα με την τιμή Πλήκτρο Εντολής Βήμα1, γίνεται αντιληπτό ότι αναφερόμαστε σε ένα πλήκτρο εντολής, που εμφανίζει το πρώτο βήμα.

Wow!

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

"Bon Gout": Στροφυλίου 72 & Χαριλάου Τρικούπη, Νέα Ερυθραία.

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

Τηλ. 210-6254.628

Αντικείμενο Ιδιότητα Τιμή Ετικέτα 0 Όνομα Ετικέτα Τίτλος Ορατό Αληθής Τίτλος Βήματα ανάπτυξης μιας εφαρμογής Όνομα Ετικέτα Βήμα 1 Ετικέτα 1 Ορατό Ψευδής Τίτλος Σχεδιασμός του τρόπου επικοινωνίας χρήστη εφαρμογής, επιλέγοντας τα κατάλληλα αντικείμενα Όνομα Ετικέτα Βήμα 2 Ορατό Ψευδής Ετικέτα 2 Καθορισμός της αρχικής συμπεριφοράς των Τίτλος αντικειμένων μέσω των ιδιοτήτων που τα χαρακτηρίζουν

Αντικείμενο Ιδιότητα Τιμή Όνομα Ετικέτα Βήμα3 Ετικέτα 3 Ορατό Ψευδής Τίτλος Δημιουργία και εκσφαλμάτωση κώδικα Πλήκτρο Όνομα Πλήκτρο Εντολής Τέλος εντολής 4 Εικόνα (εικονίδιο εξόδου)

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

Σχ. 11.4. Η διασύνδεση του χρήστη με την εφαρμογή στο παράδειγμά μας

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

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

Ο κώδικας

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

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

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

Επομένως ο κώδικας της εφαρμογής πρέπει να γραφτεί στις διαδικασίες γεγονότων Κλικ των αντικειμένων πλήκτρα εντολής.

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

Ο κώδικας των τριών πλήκτρων εντολής λοιπόν θα είναι : ΔΙΑΔΙΚΑΣΙΑ ΠλήκτροΕντολήςΒήμα1_Κλικ() ΕτικέταΒήμα1.Όρατο =Αληθής ΕτικέταΒήμα2.Όρατο =Ψευδής ΕτικέταΒήμα3.Όρατο =Ψευδής ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ ΠλήκτροΕντολήςΒήμα2_Κλικ() Ετικέτα Βήμα1.Όρατο =Ψευδής Ετικέτα Βήμα2.Όρατο =Αληθής Ετικέτα Βήμα3.Όρατο =Ψευδής ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ ΠλήκτροΕντολήςΒήμα3_Κλικ() Ετικέτα Βήμα1.Όρατο =Ψευδής Ετικέτα Βήμα2.Όρατο =Ψευδής Ετικέτα Βήμα3.Όρατο =Αληθής ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

Τέλος στην διαδικασία γεγονότος Κλικ του πλήκτρου τερματισμού Πλήκτρο Εντολής Τέλος της εφαρμογής πρέπει να συμπεριλάβουμε την εντολή με την οποία τερματίζεται η εκτέλεση της εφαρμογής :

ΔΙΑΔΙΚΑΣΙΑ Πλήκτρο Εντολής Τέλος_Κλικ() Εντολή τερματισμού εφαρμογής ΤΕΛΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

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

Η εκτέλεση

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

Σχ. 11.5. Η πρώτη οθόνη του παραδείγματος σε μορφή εκτέλεσης

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

Σχ. 11.6. Ένα από τα τρία βήματα εκτέλεσης της εφαρμογής

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