Οπτικός προγραμματισμός. Σύγχρονος οπτικός προγραμματισμός: VPL Classics

Ο οπτικός προγραμματισμός είναι μια από τις τεχνολογίες του σύγχρονου προγραμματισμού

Ο οπτικός προγραμματισμός (από το λατινικό v isualis - visual) είναι μια τεχνολογία προγραμματισμού που περιλαμβάνει τη δημιουργία εφαρμογών με χρήση οπτικών βοηθημάτων.

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

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

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

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

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

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

Η υποστήριξη GUI που παρέχεται από έτοιμα στοιχεία πληροί τις προδιαγραφές CUA (Common User Access) και περιέχει έναν αριθμό επεκτάσεων για την οργάνωση ευέλικτων I/O σε σύνθετες μορφές και πίνακες. Η βιβλιοθήκη έτοιμων στοιχείων παρέχει επίσης υποστήριξη για συσκευές πολυμέσων, επικοινωνίες μέσω πρωτοκόλλων APPC, TCP/IP, NetBIOS, διεπαφές προγραμματισμού CICS External Call Interface, EHLLAPI, Message Queue Interface (MQI), εργασία με σχεσιακές βάσεις δεδομένων του DB2, Oracle , οικογένειες Sybase και πολλά άλλα.

Εταιρεία Η Microsoft, κατά την ανάπτυξη της ιδέας του .NET Framework, δημιούργησε το Visual Studio .NET Enterprise Architect 2003, στο οποίο εφάρμοσε όλες τις τελευταίες εξελίξεις στον τομέα του προγραμματισμού και, ειδικότερα, στην τεχνολογία οπτικού προγραμματισμού.

Το Visual Studio .NET είναι ένα πλήρες πολυγλωσσικό περιβάλλον ανάπτυξης για την πλατφόρμα Microsoft .NET. Το Visual Studio .NET παρέχει ένα σύνολο τεχνολογιών που διευκολύνουν τη δημιουργία, την ανάπτυξη και, στη συνέχεια, τη βελτίωση ασφαλών, επεκτάσιμων και εξαιρετικά διαθέσιμων εφαρμογών Ιστού και υπηρεσιών XML.

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

Σήμερα, το Borland Developer Studio είναι ένα προϊόν λογισμικού από το , το οποίο είναι διαθέσιμο για πλατφόρμες τόσο σε () όσο και σε .

Άλλο ένα πακέτο από την εταιρεία Borland - Delphi Enterprise Edition 7.0.Αυτό το πακέτο παρέχει υποστήριξη για τις πιο πρόσφατες αναδυόμενες τεχνολογίες υπηρεσιών Ιστού και περιλαμβάνει μια προεπισκόπηση εργαλείων για εργασία με το Microsoft .NET Framework.

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

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

Η Borland Software Corporation είναι η πρώτη εταιρεία που άνοιξε μια ανεξάρτητη διαδρομή προς το .NET με το Delphi 7, ένα περιβάλλον ταχείας ανάπτυξης εφαρμογών (RAD) μεταξύ πλατφορμών για την πλατφόρμα Windows. Ένα χαρακτηριστικό γνώρισμα του Delphi 7 είναι η δυνατότητα ανάπτυξης και ανάπτυξης εταιρικών εφαρμογών. Αυτό επιτρέπει στους προγραμματιστές να δημιουργούν εταιρικές εφαρμογές από την ιδέα έως το τελικό προϊόν ακόμη πιο γρήγορα χρησιμοποιώντας τη νέα τεχνολογία σχεδιαστή UML™ και Model Driven Architecture™ (MDA™).

Εξετάσαμε τον ρόλο και τη θέση του οπτικού προγραμματισμού στο χώρο του σύγχρονου προγραμματισμού. Τώρα ας προχωρήσουμε στην εξέταση συγκεκριμένων τεχνικών και μεθόδων που σχετίζονται με τον οπτικό προγραμματισμό. Ας εξετάσουμε τη χρήση στοιχείων και τεχνικών οπτικού προγραμματισμού στο πλαίσιο του Visual Studio .NET Framework της Microsoft.

Βασικές αρχές οπτικού προγραμματισμού

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

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

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

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

Ίσως ήταν η παρουσία οπτικών εργαλείων για την κατασκευή διεπαφών σε γλώσσες όπως η Microsoft Visual Basic και οι Delphi, καθώς και οι διεπαφές οπτικού προγραμματισμού που δημιουργήθηκαν με αυτές τις γλώσσες, που τους απέδωσαν τον όρο «οπτικός προγραμματισμός». Φυσικά, υπάρχουν πολλά άλλα παρόμοια προϊόντα (Visual C++, Borland C++ ξεκινώντας από την έκδοση 4, Symantec Visual Cafe, C++ Builder κ.λπ.), αλλά δεν θα μπορούσαν να αποκτήσουν τέτοια δημοτικότητα όπως η Visual Basic και οι Delphi. Χάρη στη Visual Basic ο κόσμος έμαθε για τη δυνατότητα οπτικής δημιουργίας διεπαφών προγραμμάτων για Windows.

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

    Ένα οπτικοποιημένο μοντέλο είναι ένα μοντέλο που εμφανίζεται για να μπορεί να αλλάξει τη δομή ή τις παραμέτρους του (ή τις παραμέτρους των επιμέρους τμημάτων του).

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

    Παράθυρο ιδιοτήτων (PropertyB ox) – ένα παράθυρο στο οποίο εμφανίζονται οι παράμετροι (ιδιότητες) του επιλεγμένου στοιχείου του οπτικού μοντέλου. Ο όρος "ιδιότητα" προέρχεται από αντικειμενοστραφή προγραμματισμό και υποδηλώνει μια παράμετρο ενός αντικειμένου (στοιχείου).

Το οπτικοποιημένο μοντέλο στη Visual Basic και στους Delphi είναι ένα παράθυρο των Windows (φόρμα, διάλογος) και όχι ο κώδικας του προγράμματος.

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

Ως πιθανή επιλογή για την υλοποίηση μιας τέτοιας οπτικής ανάπτυξης κώδικα προγράμματος, μπορούμε να εξετάσουμε τη μορφή πίνακα καταγραφής μακροεντολών στη Microsoft Access (Εικ. 8.1). Σε αυτήν την περίπτωση, το οπτικοποιημένο μοντέλο είναι ένα μακροπρόγραμμα για τη διαχείριση δεδομένων σε μια βάση δεδομένων ή τη διαχείριση της διαδικασίας εμφάνισης δεδομένων. Οι εντολές μακροεντολών βρίσκονται σε διαφορετικές γραμμές της εγγραφής μακροεντολών. Το παράθυρο ιδιοτήτων βρίσκεται ακριβώς κάτω από τη λίστα των εντολών. Δεν υπάρχει παράθυρο εργαλείου στη συνήθη μορφή, αλλά υλοποιείται με τη μορφή αναπτυσσόμενης λίστας με εντολές, π.χ. Σε κάθε γραμμή της εγγραφής μακροεντολής ξεχωριστά υπάρχει η δυνατότητα επιλογής ή αλλαγής της τρέχουσας εντολής μακροεντολής. Αυτή είναι η οπτικοποιημένη μορφή γραφής του προγράμματος.

Εικ.8.1. Οπτικοποίηση ανάπτυξης κώδικα προγράμματος

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

Εικ.8.2. Εργαλεία οπτικού προγραμματισμού

Ένα άλλο παράδειγμα οπτικοποίησης της δημιουργίας κώδικα προγράμματος είναι η διαδικασία δημιουργίας μακροπρογραμμάτων στο Microsoft Excel (Εικ. 8.3).

Εικ.8.3. Διάλογος MS Excel κατά την αυτόματη εγγραφή ενεργειών χρήστη

Το οπτικοποιημένο μοντέλο σε αυτήν την περίπτωση είναι ένα φύλλο εργασίας του Excel στο οποίο ο προγραμματιστής εκτελεί ενέργειες επεξεργασίας δεδομένων. Ο κώδικας του προγράμματος γράφεται αυτόματα στο παρασκήνιο και όλες οι οπτικές ενέργειες χρήστη περιγράφονται σε δηλώσεις VBA (Visual Basic for Application).

Το παράθυρο Ιδιότητες υπάρχει, αλλά όχι στο ίδιο το φύλλο εργασίας, αλλά στο περιβάλλον VBA (Εικ. 8.4). Όταν επιλέγετε ένα αντικείμενο Module, το παράθυρο του εργαλείου απενεργοποιείται, αλλά εάν επεξεργαστείτε τον κώδικα προγράμματος, εμφανίζεται μια αναπτυσσόμενη λίστα με ιδιότητες, μεθόδους και συμβάντα για κάθε αντικείμενο προγράμματος, π.χ. Σε κάθε γραμμή της εγγραφής μακροεντολής ξεχωριστά υπάρχει η δυνατότητα επιλογής ή αλλαγής της τρέχουσας εντολής μακροεντολής.

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

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

Χρήση οπτικού προγραμματισμού κατά τη δημιουργία διεπαφής εφαρμογής στο Visual Studio .Net

Το Visual Studio .NET είναι ένα καθολικό περιβάλλον ανάπτυξης για όλους τους τύπους εφαρμογών που βασίζονται σε .NET και βασίζεται σε μια ενιαία οπτική διεπαφή. Το .NET Framework είναι ένα σύνολο αντικειμένων και σχεδιαγραμμάτων (σχεδιαγράμματα, δηλαδή περιγραφές αντικειμένων) που δημιουργήθηκε από τη Microsoft για την ανάπτυξη εφαρμογών (Windows και Internet). Μια μεγάλη συλλογή οπτικών αντικειμένων σάς επιτρέπει να σχεδιάζετε διάφορα στοιχεία ελέγχου: Λεζάντα, Λεζάντα με υπερσύνδεσμο, Κουμπί, Πεδίο, Πλαίσιο ελέγχου και πολλά άλλα. Όλα αυτά τα στοιχεία βρίσκονται στη γραμμή εργαλείων (Εικ. 8.5). Οι ιδιότητες του στοιχείου διαμορφώνονται χρησιμοποιώντας τη λίστα ιδιοτήτων.

Τα στοιχεία ελέγχου, όπως όλα τα άλλα αντικείμενα .NET, υλοποιούνται ως κλάσεις σε ένα συγκεκριμένο χώρο ονομάτων, σε αυτήν την περίπτωση System.Windows.Forms.

Εικ.8.5. Οπτικός προγραμματισμός με χρήση του Visual Studio .NET

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

Εικ.8.6. Οπτικοποίηση ιδιοτήτων και μεθόδων αντικειμένου

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

Δεν υπάρχει ξεχωριστή κλάση διαλόγου στο .NET. Ένα πλαίσιο διαλόγου είναι μια φόρμα (Εικ. 8.7.) που έχει κάποια ιδιαίτερα χαρακτηριστικά. Ο προγραμματισμός των πλαισίων διαλόγου, όπως και πολλά άλλα τυπικά στοιχεία, στο Visual Studio υποστηρίζεται από οπτικά εργαλεία προγραμματισμού (Εικ. 8.8).

Εικ.8.7. Παράδειγμα τυπικού διαλόγου

Εικ.8.8. Προγραμματισμός τυπικών στοιχείων χρησιμοποιώντας το Visual Studio

Εννοια. Το NET Framework και το Visual Studio .NET παρέχουν στους προγραμματιστές μια τεράστια βιβλιοθήκη αντικειμένων που επιταχύνουν τη διαδικασία ανάπτυξης εφαρμογών. Πολλά αντικείμενα σε αυτήν τη βιβλιοθήκη έχουν οπτική αναπαράσταση και παρέχουν τη δυνατότητα εκχώρησης ιδιοτήτων αντικειμένων σε λειτουργία σχεδίασης χρησιμοποιώντας το παράθυρο Ιδιότητες ή διαλόγους με τον οδηγό δημιουργίας.

συμπεράσματα

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

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

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

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

Η υποστήριξη οπτικού προγραμματισμού στο Visual Studio .NET μετατρέπει τους προγραμματιστές σε προγραμματιστές εφαρμογών Windows και Διαδικτύου.

Ερωτήσεις αυτοδιαγνωστικού ελέγχου

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

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

    Ποια είναι τα πλεονεκτήματα και ποια τα μειονεκτήματα του οπτικού προγραμματισμού;

    Ποιες γλώσσες προγραμματισμού υποστηρίζουν οπτικό στυλ προγραμματισμού;

    Ποια περιβάλλοντα προγραμματισμού εφαρμόζουν ένα οπτικό στυλ προγραμματισμού;

    Ποιες εταιρείες πακέτων λογισμικού έχουν τις καλύτερες λύσεις οπτικού προγραμματισμού;

    Μπορούμε να πούμε ότι ο οπτικός προγραμματισμός είναι η κατασκευή μιας γραφικής διεπαφής χρήστη;

    Ποια στοιχεία της διαδικασίας οπτικοποίησης μπορείτε να αναφέρετε;

    Τι είναι ένα «οπτικοποιημένο μοντέλο»;

    Δώστε παραδείγματα οπτικού προγραμματισμού σε γνωστά σε εσάς περιβάλλοντα λογισμικού.

Βιβλιογραφία

    GarnaevF . Yu. Self-instruction manual Visual Studio .NET 2003. – St. Petersburg: BHV-Petersburg, 2005. – 688.p.: ill.

    Podlin Sh. Κατακτήστε τον δικό σας προγραμματισμό για το Microsoft Excel 2000. Μετάφρ. από τα αγγλικά: Uch. Pos. – M.: Williams Publishing House, 2006. – 304 σελ.: ill. χτύπημα. Αγγλικά

    Kharitonova I.A., Mikheeva V.D. Microsoft ACCESS 2000: Ανάπτυξη Εφαρμογών. – Αγία Πετρούπολη: BHV-Petersburg, 2004. – 832 σελ.: ill.

    Odintsev I.O. Επαγγελματικός προγραμματισμός. Συστημική προσέγγιση. – Αγία Πετρούπολη: BHV-Petersburg, 2003. – 512 σελ.: ill.

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

Τι σημαίνει η λέξη "οπτικό"; Τι κρύβεται πίσω από τον όρο οπτικός προγραμματισμός; Στην πράξη, οι περισσότεροι άνθρωποι εννοούν μια εντελώς διαφορετική έννοια από αυτόν τον όρο. Τα εργαλεία ανάπτυξης λογισμικού Visual Basic και Delphi αναφέρονται συνήθως ως παραδείγματα. Στην πραγματικότητα, αυτά τα εργαλεία δεν δημιουργούν οπτικά λογισμικό, αλλά σας επιτρέπουν να οπτικοποιήσετε τη διαδικασία δημιουργίας μιας διεπαφής. Το ίδιο το πρόγραμμα - ο κώδικας των λειτουργιών και των διαδικασιών που αλληλεπιδρούν με τη διεπαφή του προγράμματος - είναι "γραμμένο" σε ένα κανονικό πρόγραμμα επεξεργασίας κειμένου - μια βελτιωμένη έκδοση της γραμμής εντολών. Επομένως, δεν μπορούμε να μιλήσουμε για οπτικό προγραμματισμό σε αυτή την περίπτωση. Τι είναι λοιπόν ο οπτικός προγραμματισμός; Μπορείτε να κατανοήσετε την έννοια του όρου οπτικός προγραμματισμός μόνο με την κατανόηση του σκοπού του όρου «οπτικοποίηση».

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

Μπορείτε να οπτικοποιήσετε τις διεπαφές λογισμικού. Είναι δυνατό και απαραίτητο. Αυτό καθιστά δυνατή την απλοποίηση της «επικοινωνίας» του προϊόντος λογισμικού με τον χρήστη. Οι εικόνες σε στοιχεία διεπαφής (η εμφάνιση του λογισμικού) επιτρέπουν στο χρήστη να κατανοήσει διαισθητικά τον σκοπό αυτών των στοιχείων.

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

Ίσως ήταν η παρουσία οπτικών εργαλείων για την κατασκευή διεπαφών στη Visual Basic και τους Delphi, καθώς και το οπτικό λογισμικό που δημιούργησαν, που τους απέδωσε τον όρο «οπτικός προγραμματισμός». Φυσικά, υπάρχουν πολλά άλλα παρόμοια προϊόντα (Visual C++, Borland C++ ξεκινώντας από την έκδοση 4, Symantec Visual Cafe, η έκδοση "C" του Delphi - C++ Builder κ.λπ.), αλλά δεν θα μπορούσαν να αποκτήσουν τέτοια δημοτικότητα όπως η Visual Basic και Δελφοί. Χάρη στο αγαπημένο πνευματικό τέκνο του Bill Gates, τη Visual Basic, ο κόσμος έμαθε για τη δυνατότητα οπτικής δημιουργίας διεπαφών προγραμμάτων για Windows. Μετά ήρθαν οι Δελφοί. Εάν η Visual Basic εστιάζει εξ ολοκλήρου στη δημιουργία προγραμμάτων με οπτικές διεπαφές, τότε η Delphi επικεντρώνεται στην εργασία με βάσεις δεδομένων. Τα τελευταία χρόνια, υπάρχουν μύθοι ότι η Basic είναι μια γλώσσα για αρχάριους. Οι "αρχάριοι" αντιλαμβάνονταν το Basic ως πανάκεια για τα προβλήματα των υπολογιστών...

Υπάρχει ένας άλλος τρόπος να αποδείξουμε γιατί η Visual Basic και οι Delphi κατασκευάζουν μόνο οπτικά τη διεπαφή του προγράμματος και όχι τον ίδιο τον κώδικα. Τα καθοριστικά στοιχεία της διαδικασίας οπτικοποίησης είναι:

  1. Ένα οπτικοποιημένο μοντέλο είναι ένα μοντέλο που εμφανίζεται για να μπορεί να αλλάξει τη δομή ή τις παραμέτρους του (ή τις παραμέτρους των επιμέρους τμημάτων του).
  2. Εργαλειοθήκη - ένα παράθυρο που περιέχει ένα σύνολο στοιχείων από τα οποία δημιουργείται ένα οπτικό μοντέλο. Συνήθως, τα στοιχεία χωρίζονται ανάλογα με το σκοπό τους σε ξεχωριστές ομάδες, που βρίσκονται σε ξεχωριστές καρτέλες του παραθύρου του εργαλείου.
  3. Το παράθυρο ιδιοτήτων (Propertybox) είναι ένα παράθυρο στο οποίο εμφανίζονται οι παράμετροι (ιδιότητες) του επιλεγμένου στοιχείου του οπτικού μοντέλου. Ο όρος "ιδιότητα" προέρχεται από αντικειμενοστραφή προγραμματισμό και υποδηλώνει μια παράμετρο ενός αντικειμένου (στοιχείου).

Το οπτικοποιημένο μοντέλο στη Visual Basic και στους Delphi είναι ένα παράθυρο των Windows (φόρμα, διάλογος) και όχι ο κώδικας του προγράμματος.

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

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

Οπτικός προγραμματισμός- μια μέθοδος δημιουργίας ενός προγράμματος υπολογιστή με χειρισμό γραφικών αντικειμένων αντί για εγγραφή του κειμένου του. Ο οπτικός προγραμματισμός παρουσιάζεται συχνά ως το επόμενο στάδιο στην ανάπτυξη γλωσσών προγραμματισμού που βασίζονται σε κείμενο. Ένα καλό παράδειγμα είναι το βοηθητικό πρόγραμμα Visual Pascal ή το Microsoft Visual Studio, όπου τα αντικείμενα γραφικών επεξεργάζονται και το αντίστοιχο κείμενο του προγράμματος εμφανίζεται ταυτόχρονα. Πρόσφατα, έχει δοθεί μεγαλύτερη προσοχή στον οπτικό προγραμματισμό - σε σχέση με την ανάπτυξη φορητών συσκευών αφής (PDA, tablet). Ο οπτικός προγραμματισμός χρησιμοποιείται κυρίως για τη δημιουργία προγραμμάτων GUI για λειτουργικά συστήματα GUI. Το οπτικό περιβάλλον προγραμματισμού σας επιτρέπει να γράψετε μια εφαρμογή Ιστού για προγράμματα περιήγησης. Το οπτικό περιβάλλον προγραμματισμού σάς επιτρέπει να δημιουργήσετε μια εφαρμογή κονσόλας (ένα πρόγραμμα χωρίς γραφική διεπαφή και χωρίς έξοδο μηνυμάτων στην κονσόλα) για τον προγραμματισμό μικροελεγκτών και προγραμματιζόμενων τσιπ.

Είναι απαραίτητο να διακρίνουμε:

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

Γλώσσες προγραμματισμού γραφικών ή οπτικών[ | ]

  • App Inventor - Ένα οπτικό περιβάλλον ανάπτυξης για εφαρμογές Android που απαιτεί ελάχιστες γνώσεις προγραμματισμού από τον χρήστη.
  • Sketchware - Περιβάλλον ανάπτυξης οπτικών εφαρμογών για Android.
  • Το Dragon-schemes είναι μια γραφική γλώσσα προγραμματισμού που χρησιμοποιείται για προγραμματισμό σε πυραύλους και διαστημική τεχνολογία ("Buran", "Sea Launch", "Topol"). Υπάρχει ένα δωρεάν πρόγραμμα επεξεργασίας Dragon. Αυτή η γλώσσα έχει την πιο αυστηρή θεωρητική αιτιολόγηση.
  • Γλώσσα διαγράμματος διαδοχικών συναρτήσεων SFC (Sequential Function Chart) είναι μια γλώσσα γραφικού προγραμματισμού που χρησιμοποιείται ευρέως για τον προγραμματισμό βιομηχανικών ελεγκτών λογικής PLC.
  • Το HiAsm είναι μια γλώσσα και πλαίσιο ανάπτυξης εφαρμογών που σας επιτρέπει να δημιουργείτε εφαρμογές διαχειριζόμενοι το μοντέλο τους χρησιμοποιώντας το διαισθητικό HiAsm GUI.
  • Στο SFC, ένα πρόγραμμα περιγράφεται ως μια σχηματική ακολουθία βημάτων που συνδέονται με μεταβάσεις.
  • - γλώσσα των κυκλωμάτων ρελέ-επαφής.
  • Η FBD είναι μια γλώσσα λειτουργικού διαγράμματος μπλοκ.
  • Η γλώσσα CFC() είναι μια άλλη υψηλού επιπέδου γραφική γλώσσα προγραμματισμού. Το CFC είναι μια περαιτέρω ανάπτυξη της γλώσσας FBD. Το CFC δημιουργήθηκε ειδικά για το σχεδιασμό συστημάτων ελέγχου διεργασιών.
  • Η γλώσσα "G" του συστήματος LabVIEW είναι μια από τις πιο κοινές γλώσσες για την ανάπτυξη προγραμμάτων που λειτουργούν με εξοπλισμό μη υπολογιστή.
  • Η VisSim είναι μια οπτική γλώσσα προγραμματισμού σχεδιασμένη για δυναμική μοντελοποίηση συστημάτων και σχεδιασμό βάσει μοντέλου για ενσωματωμένους μικροεπεξεργαστές.
  • Το Scratch είναι ένα οπτικό αντικειμενοστρεφές περιβάλλον και γλώσσα προγραμματισμού για τη διδασκαλία μαθητών πρωτοβάθμιας και δευτεροβάθμιας εκπαίδευσης.
  • Το Blockly είναι μια βιβλιοθήκη για τη δημιουργία ενός οπτικού περιβάλλοντος προγραμματισμού που μπορεί να ενσωματωθεί σε οποιαδήποτε εφαρμογή Ιστού.
  • Kibor - Ενσωματωμένο περιβάλλον για τη δημιουργία προγραμμάτων αυτοματισμού bot. Διαθέτει ένα οπτικό εργαλείο για τη δημιουργία προγραμμάτων χρησιμοποιώντας μπλοκ διαγράμματα. Ο οπτικός προγραμματισμός απαιτεί ελάχιστες δεξιότητες προγραμματισμού.

Εργαλεία Οπτικής Ανάπτυξης[ | ]

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


Ιστορικά, οι αλγόριθμοι στα προγράμματα γράφτηκαν ως πηγαίος κώδικας. Σχεδόν κανείς δεν αμφιβάλλει ότι το κείμενο είναι το καλύτερο μέσο για την παρουσίαση αλγορίθμων. Ο αλγόριθμος κωδικοποιείται μέσα σε συναρτήσεις σε μια γλώσσα προγραμματισμού όπως η C ή η JavaScript. Για όσους θέλουν να κατανοήσουν τον αλγόριθμο από την οπτική γωνία, παρέχεται ψευδοκώδικας. Ωστόσο, υπάρχουν σοβαρά προβλήματα με το κείμενο. Το γεγονός είναι ότι ένα άτομο δεν είναι βελτιστοποιημένο για συνεχές κείμενο. Ένα άτομο έχει βελτιστοποιηθεί για την αντίληψη των γραφικών. Το κείμενο είναι μια σχετικά νέα εφεύρεση, αλλά οι οργανισμοί επεξεργάζονται γραφικές πληροφορίες για εκατομμύρια χρόνια.


Με βάση αυτό, θα ήταν λογικό να συνθέσουμε αλγόριθμους σε γραφική μορφή. Δείτε τους μηχανικούς. Χρησιμοποιούν σχεδιαγράμματα παντού. Γιατί οι προγραμματιστές είναι χειρότεροι; Θα μπορούσαν επίσης να συντάξουν σχεδιαγράμματα αλγορίθμων. Ορισμένοι εδώ θα αντιταχθούν: ο οπτικός προγραμματισμός είναι υποτίθεται αναποτελεσματικός. Το UML είναι άβολο και τα διαγράμματα ροής είναι εύκολο να χαθούν. Είναι καλύτερο να προγραμματίζετε με τον παραδοσιακό τρόπο - με κείμενο. Στον δομημένο προγραμματισμό, υπάρχει τουλάχιστον μια δομή και παρέχει τάξη και ομοιομορφία. Και επιπλέον, η σχεδίαση διαγραμμάτων είναι μακρά και δύσκολη. Η πληκτρολόγηση είναι πιο γρήγορη από τη σχεδίαση.


Λοιπόν, είναι οι προγραμματιστές καταδικασμένοι να δουλεύουν μόνο με κείμενο όλη τους τη ζωή;
Ίσως δεν είναι όλα άσχημα. Υπάρχουν οπτικές γλώσσες για την αναπαράσταση αλγορίθμων που έχουν επίσης σειρά και δομή, όπως DRAGON, BPMN και LML Action Diagrams. Εδώ θα δούμε την οπτική αλγοριθμική γλώσσα DRAGON.

Πώς να προγραμματίσετε στη γλώσσα DRAGON

Το DRAGON δεν είναι μια ανεξάρτητη γλώσσα προγραμματισμού. Λειτουργεί παράλληλα με μια γλώσσα που βασίζεται σε κείμενο όπως JavaScript, Python ή C++. Μαζί με τη γλώσσα κειμένου, το DRAGON σχηματίζει μια υβριδική γλώσσα: DRAGON-JavaScript, DRAGON-Python ή DRAGON-C++.


Ο προγραμματισμός σε μια υβριδική γλώσσα προχωρά ως εξής:

  1. Ας σχεδιάσουμε ένα διάγραμμα ΔΡΑΚΟΥ.
  2. Μέσα στα εικονίδια τοποθετούμε μικρά κομμάτια κώδικα στην κατάλληλη γλώσσα προγραμματισμού.
  3. Το πρόγραμμα μεταφραστής μετατρέπει το κύκλωμα DRAKON σε αρχείο κειμένου με πηγαίο κώδικα.
  4. Αυτό το αρχείο κειμένου περιλαμβάνεται στο έργο ως συνήθως.
    Σήμερα, αρκετοί συντάκτες υποστηρίζουν τη δημιουργία κώδικα από διαγράμματα. Τα παραδείγματα σε αυτό το άρθρο έγιναν στο DRAKON Editor.

Δημιουργία κώδικα από ένα διάγραμμα

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


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



Η δημιουργία κώδικα γίνεται ως εξής:

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

Στο Σχ. Το 1 δείχνει ένα παράδειγμα μικρού διαγράμματος στην υβριδική γλώσσα DRAGON-JavaScript και τον κώδικα που δημιουργήθηκε σε JavaScript:


Ορθογώνιο με κείμενο console.log (γάτα, σκύλος)στο Σχ. 1 είναι το εικονίδιο "Ενέργεια". Πόσο κώδικα μπορείτε να βάλετε σε ένα εικονίδιο δράσης; Θα πρέπει να προσπαθήσετε να διασφαλίσετε ότι ένα εικονίδιο περιέχει μία σκέψη. Μερικές φορές είναι μία γραμμή κώδικα, μερικές φορές πολλές.
Ο παραγόμενος κώδικας παρέχεται με σχόλια που υποδεικνύουν τους αριθμούς των εικονιδίων. Ενώ βρίσκεστε στο πρόγραμμα επεξεργασίας, μπορείτε να μεταβείτε γρήγορα σε οποιοδήποτε εικονίδιο πατώντας Ctrl+I.

Εικ. 1.Διάγραμμα σε DRAGON-JavaScript και κώδικας που δημιουργείται από αυτό.

Εικονίδιο "Ερώτηση"

Για διακλάδωση, χρησιμοποιούνται τα εικονίδια «Ερώτηση» και «Επιλογή».


Το εικονίδιο «Ερώτηση» (Εικ. 2) αντιστοιχεί στο σχέδιο αν-τότε-αλλιώς.


Σημειώστε ότι αντί για λόγια αληθήςΚαι ψευδήςλέξεις που χρησιμοποιούνται ΝαίΚαι Οχι(μπορεί να αλλάξει σε ΝαίΚαι Οχι).


"Αλήθεια" και "ψέμα" - αυτό ακούγεται εντυπωσιακό, με επιστημονικό τρόπο. Ωστόσο, ένα άτομο είναι πιο κοντά στο «ναι» και το «όχι» που είναι γνωστά από την πρώιμη παιδική ηλικία.


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


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




Εικ. 2.Εικονίδιο "Ερώτηση"

Τύποι οπτικής λογικής

Η γλώσσα DRAGON καθιστά περιττούς τους λογικούς τελεστές ΚΑΙ, ΉΚαι ΔΕΝ, καθώς και ο τελεστής «μη ίσος». Οι ίδιες οι λογικές πράξεις είναι, φυσικά, απαραίτητες. Αλλά αντί για τελεστές κειμένου, το DRAGON εισάγει οπτικούς λογικούς τύπους.


Για να λάβετε έναν οπτικό λογικό τύπο, θα πρέπει να συνδέσετε πολλά εικονίδια «Ερώτηση» (όπως στην Εικ. 3).


Είναι ιδιαίτερα ωραίο να απαλλαγείτε από την άρνηση. Η άρνηση δεν είναι διαισθητική, φέρνει λάθη και ταλαιπωρία. Άρνηση (λογικός τελεστής ΔΕΝ) επιτυγχάνεται στη γλώσσα DRAGON με την αναδιάταξη των ετικετών ΝαίΚαι Οχι.


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




Εικ. 3.Τύποι οπτικής λογικής

Κύκλος με βέλος

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


Έτσι, εάν συνδέσετε το εικονίδιο Ερώτηση με ένα βέλος, λαμβάνετε έναν κύκλο. Αυτό είναι ένα ανάλογο των δομών ενώΚαι κάνω-ενώ. Το σχήμα 4 δείχνει διάφορους τύπους κύκλων με βέλη.
Το εικονίδιο Ερώτηση σε βρόχο με βέλος ελέγχει την συνθήκη για την έξοδο από τον βρόχο. Φυσικά, αντί για ένα εικονίδιο "Ερώτηση", μπορεί να υπάρχουν πολλά. Τότε ένας οπτικός λογικός τύπος είναι υπεύθυνος για την έξοδο από τον κύκλο.




Εικ. 4.Κύκλοι βέλους

Εικονίδιο επιλογής

Το εικονίδιο "Ερώτηση" περιέχει μια λογική έκφραση, δηλαδή μπορεί να έχει δύο έννοιες: ΝαίΚαι Οχι. Χαρακτηριστικό παράδειγμα είναι η σύγκριση δύο αντικειμένων. Εάν χρειάζεται να συγκρίνετε μια συγκεκριμένη έκφραση με πολλές τιμές, χρησιμοποιήστε το εικονίδιο «Επιλογή» (Εικ. 5). Αυτό ταιριάζει με το σχέδιο υπόθεση μάγισσας.


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




Εικ. 5.Εικονίδιο επιλογής και εικονίδια επιλογής

Εικονίδιο "Κύκλος ΓΙΑ"

Αντί για βρόχους ΓιαΚαι για κάθεΤο DRAGON-JavaScript χρησιμοποιεί το εικονίδιο «LOOP FOR». Το εικονίδιο "Cycle FOR" (Εικ. 6) μπορεί να είναι πολλών τύπων.


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


Εάν μετά τη λέξη-κλειδί για κάθευπάρχουν δύο μεταβλητές, το DRAKON Editor θα καταλάβει ότι απαιτείται επανάληψη στις ιδιότητες του αντικειμένου (κατακερματισμός πίνακα). Μόνο οι ιδιότητες των αντικειμένων θα συμπεριληφθούν στην απαρίθμηση.


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


Μπορείτε να βγείτε νωρίς από έναν κύκλο που ελέγχεται από το εικονίδιο "Κύκλος ΓΙΑ" χρησιμοποιώντας το εικονίδιο "Ερώτηση" ή "Επιλογή". Αυτή η έξοδος αντιστοιχεί περίπου στη λέξη-κλειδί Διακοπή.




Εικόνα 6.Διαφορετικοί τύποι εικονιδίου "Cycle FOR" στο DRAGON-JavaScript

Μόνο μία καταχώρηση ανά βρόχο

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


Αρκετές έξοδοι από τον βρόχο είναι αποδεκτές, αλλά θα πρέπει να υπάρχει μόνο μία είσοδος. Στο Σχ. Το σχήμα 7 δείχνει βρόχους που έχουν δύο εξόδους. Επιτρέπεται. Στο Σχ. Το Σχήμα 8 δείχνει παραδείγματα απαγορευμένων κύκλων. Απαγορεύεται γιατί μπορούν να εισαχθούν με διαφορετικούς τρόπους.
Ωστόσο, δεν πρέπει να απομνημονεύσετε την εμφάνιση αυτών των απαγορευμένων κύκλων. Το DRAKON Editor θα εντοπίσει αυτόματα τέτοιους βρόχους και θα εκδώσει ένα σφάλμα.




Εικ. 7.Επιτρεπόμενοι βρόχοι με δύο εξόδους


Εικόνα 8.Απαγορευμένοι βρόχοι με δύο εισόδους

Διαφορές από τον δομημένο προγραμματισμό κειμένου

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


Παρά την πρόσθετη ελευθερία σε σύγκριση με το κείμενο, ο ΔΡΑΚΟΣ εξακολουθεί να μην επιτρέπει σε κάποιον να πέσει σε αναρχία. Οι κανόνες του είναι αρκετά αυστηροί για να αποτρέψουν τη διαταραχή. Το DRAGON παρέχει έναν εύλογο συμβιβασμό μεταξύ ευελιξίας και αυστηρότητας.



Εικόνα 9.Ένας αλγόριθμος που είναι δύσκολο να απεικονιστεί μόνο σε κείμενο

Πλεονεκτήματα μιας γραφικής γλώσσας

Η γλώσσα DRAGON έχει ενδιαφέρουσα μοίρα. Οι βασικές αρχές του τέθηκαν από τον ίδιο τον Dijkstra. Το DRAGON απέκτησε τη σημερινή του μορφή στα βάθη της ρωσικής διαστημικής βιομηχανίας. Αξιοσημείωτο είναι ότι οι κανόνες της γλώσσας DRAGON δεν προέκυψαν τυχαία. Δοκιμάστηκαν αρχικά σε ομάδες εστίασης και στη συνέχεια ακονίστηκαν σε πραγματικά διαστημικά έργα.
Ποια είναι λοιπόν ακριβώς τα δυνατά σημεία του ΔΡΑΚΟΥ;


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


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


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


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

Ειδικοί εργονομικοί κανόνες

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

  • Απαγορεύεται η διέλευση γραμμών. Καθόλου. Οι διασταυρώσεις κάνουν τον οπτικό αναλυτή μας να υποψιάζεται ότι οι γραμμές αγγίζουν και επομένως συνδέονται με κάποιο τρόπο. Αυτές οι υποψίες δημιουργούν επιπλέον ψυχική εργασία. Η περιττή εργασία πρέπει να απορριφθεί.
  • Η αρχή περιέχει το όνομα του αλγορίθμου και βρίσκεται πάντα στην επάνω αριστερή γωνία του διαγράμματος. Επομένως, δεν χρειάζεται καν να ψάξετε για την αρχή. Είναι εκεί όπου είναι συνήθως.
  • Το διάγραμμα έχει μόνο ένα άκρο. Ό,τι κι αν συμβεί στην πορεία (εκτός εξαιρέσεων), πάντα θα φτάνουμε στο τέλος.
  • Επιτρέπονται μόνο ευθείες γραμμές. Χωρίς καμπύλες, στροφές ή περιττές τσακίσεις.
  • Επιτρέπονται μόνο αυστηρά κάθετες και αυστηρά οριζόντιες γραμμές. Οι λοξές γραμμές απαγορεύονται. Εξήγηση για τους λάτρεις των μαθηματικών: Το διάγραμμα DRAGON είναι ένα επίπεδο ορθογώνιο γράφημα (γραφική παράσταση Μανχάταν). Η ανθρώπινη οπτική συσκευή συλλαμβάνει αμέσως αντικείμενα που συνδέονται με ευθείες ορθογώνιες γραμμές. Αλλά η παρακολούθηση που θα οδηγήσει η «Αμερικανική καμπύλη ονείρου» απαιτεί πρόσθετη συγκέντρωση από τον αναγνώστη.
  • Το σχήμα DRAGON εκτελείται από πάνω προς τα κάτω. Αυτός ο κανόνας αποφεύγει την ανάγκη να σαρώσετε μανιωδώς το διάγραμμα με τα μάτια σας σε αναζήτηση του επόμενου εικονιδίου. Το επόμενο εικονίδιο βρίσκεται πάντα στο κάτω μέρος. Η είσοδος στο εικονίδιο βρίσκεται στο επάνω μέρος και η έξοδος βρίσκεται στο κάτω μέρος. Εφόσον γνωρίζουμε πού βρίσκεται το επόμενο εικονίδιο, τότε δεν χρειάζονται βέλη. Απλές γραμμές αρκούν. Τα βέλη δίπλα σε κάθε εικονίδιο είναι οπτικός θόρυβος. Αφαιρώντας την εργασία σύνδεσης εικονιδίων από τα βέλη, μπορείτε να τους αναθέσετε μια ειδική αποστολή. Στο DRAGON, το βέλος υποδηλώνει έναν κύκλο.
  • Η διακλάδωση γίνεται μόνο προς τα δεξιά. Αυτό είναι μια τεράστια βοήθεια όσον αφορά την προβλεψιμότητα και την ομοιομορφία.
  • Τα εικονίδια που βρίσκονται στον ίδιο κατακόρυφο πρέπει να έχουν το ίδιο πλάτος. Αυτό δίνει την αίσθηση ότι τα εικονίδια ανήκουν σε ένα ενιαίο σύνολο. Όταν όλοι έχουν το ίδιο πλάτος και δεν υπάρχουν εικονίδια εκκίνησης, το μάτι γλιστράει εύκολα και ελεύθερα στο διάγραμμα.

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


Διαγράμματα στο Σχ. Τα 10 και 11 παρουσιάζουν εργονομικές τεχνικές της γλώσσας DRAGON χρησιμοποιώντας πραγματικά παραδείγματα.




Εικόνα 10.Εργονομικές τεχνικές της γλώσσας DRAGON ως παράδειγμα


Εικόνα 11.Ένα άλλο παράδειγμα διαγράμματος στη γλώσσα DRAGON
Εκτός από τις εργονομικές τεχνικές, η γλώσσα DRAGON έχει μοναδικά χαρακτηριστικά που δεν υπάρχουν πουθενά αλλού.

Όσο πιο δεξιά τόσο χειρότερα

Το DRAGON διαθέτει δυνατότητα εικόνας ευτυχισμένος δρόμος, ή βασιλική οδός. Ο Βασιλικός Δρόμος είναι το πιο επιτυχημένο μονοπάτι μέσα από τον αλγόριθμο. Σε ορισμένους αλγόριθμους, οι έννοιες «επιτυχής/αποτυχημένος» και «καλός/κακός» δεν ισχύουν. Σε αυτά ο βασιλικός δρόμος δείχνει το πιο αναμενόμενο μονοπάτι. Ο Βασιλικός Δρόμος εκτείνεται κατά μήκος της κάθετης γραμμής που βρίσκεται στην αριστερή πλευρά του διαγράμματος. Αυτή η κάθετη ονομάζεται σουβλάκι. Τα λιγότερο πιθανά και λιγότερο επιτυχημένα σενάρια, καθώς και ο χειρισμός σφαλμάτων, τοποθετούνται στη δεξιά πλευρά του διαγράμματος. Επιπλέον, όσο χειρότερη είναι η κατάσταση, τόσο πιο δεξιά θα πρέπει να βρίσκεται. Είναι καλή πρακτική να τοποθετείτε τον κωδικό που δημιουργεί εξαιρέσεις ή επιστρέφει έναν κωδικό σφάλματος στη δεξιά πλευρά του διαγράμματος.


Κοινή μοίρα

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


Ρύζι. 12 δείχνει ένα σουβλάκι με τον βασιλικό δρόμο, καθώς και τη χρήση της τεχνικής της «κοινής μοίρας».




Εικόνα 12.Ο δρόμος του Τσάρου και το κοινό πεπρωμένο

Σιλουέτα

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


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

  1. Πώς λέγεται το πρόβλημα;
  2. Από πόσα μέρη αποτελείται;
  3. Πώς ονομάζονται αυτά τα μέρη;

Ας δούμε το παράδειγμα στο Σχ. 13. Ιδού οι απαντήσεις στις ερωτήσεις του βασιλιά:

  1. Πώς λέγεται το πρόβλημα; Ταξινόμηση συνδεδεμένης λίστας.
  2. Από πόσα μέρη αποτελείται; Από τα τέσσερα.
  3. Πώς ονομάζονται αυτά τα μέρη; Κατασκευάστε μια μήτρα συνδέσεων. Ελέγξτε για κύκλους. Περάστε από τη μήτρα σύνδεσης. Πλήρης.


Εικόνα 13.ΔΡΑΚΟΣ-σχήμα "σιλουέτα"

Κύκλος σιλουέτας

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




Εικόνα 14.Βρόχο σιλουέτας και σημάδια

Η σύνδεση κλαδιών σιλουέτας απαγορεύεται

Οι συνδέσεις δύο κλαδιών σιλουέτας (όπως στο Σχ. 15) απαγορεύονται. Κάθε κλάδος μέσα στη σιλουέτα πρέπει να είναι ανεξάρτητος.




Εικόνα 15.Η σύνδεση κλαδιών σιλουέτας απαγορεύεται.

Μέγεθος γραφήματος

Κατά τον προγραμματισμό στη γλώσσα DRAGON, τίθεται το ερώτημα: τι μέγεθος πρέπει να έχουν τα διαγράμματα; Η απάντηση είναι: λιγότερο τόσο καλύτερα. Όσο λιγότερα αντικείμενα στην οπτική σκηνή, τόσο πιο καθαρή είναι. Στον προγραμματισμό κειμένου υπάρχει μια τέτοια οδηγία: είναι καλό αν ολόκληρη η λειτουργία ταιριάζει στην οθόνη. Παρόμοιες συμβουλές μπορούν να δοθούν για τα σχήματα DRAGON. Αποφύγετε τα τεράστια γραφήματα. Όταν ολόκληρος ο αλγόριθμος είναι ορατός στο σύνολό του, είναι πολύ πιο εύκολο να γίνει κατανοητό.
Για προγραμματισμό στο DRAGON είναι καλύτερα να έχετε μεγάλη οθόνη. Τουλάχιστον 1080 pixel σε ύψος. Τότε δεν θα χρειαστεί να συντομεύσετε τεχνητά τα κυκλώματα DRAGON.


ΔΡΑΚΟΣ-σχέδιο σιλουέταπρέπει να ταιριάζει στην οθόνη σε ύψος, αλλά όχι απαραίτητα σε πλάτος. Διαγράμματα σιλουέταμπορεί να είναι αρκετά ευρύ, πολύ μεγαλύτερο από 2000 pixel. Είναι εντάξει. Δεν είναι απαραίτητο να βλέπετε όλα τα κλαδιά της σιλουέτας ταυτόχρονα. Το κύριο πράγμα είναι ότι το υποκατάστημα με το οποίο εργάζεστε αυτήν τη στιγμή είναι πλήρως ορατό στην οθόνη.

Κριτική στον προγραμματισμό DRAGON

Ας δούμε τους κύριους τομείς κριτικής του προγραμματισμού DRAGON και ας προσπαθήσουμε να τους απαντήσουμε.

  • "Τα διαγράμματα DRAGON καταλαμβάνουν περισσότερο χώρο στην οθόνη από τα προγράμματα κειμένου." Αυτό είναι αλήθεια. Αλλά πρέπει να έχουμε κατά νου ότι το καθήκον του ΔΡΑΚΟΥ είναι να δείξει την πολυπλοκότητα όπως είναι. Ο αναγνώστης του προγράμματος δεν χρειάζεται να ξεπακετάρει πολύπλοκες δομές στο κεφάλι του. Πρέπει να του παρουσιάζονται ρητά.
  • "Οι απλοί αλγόριθμοι φαίνονται καλύτεροι σε μορφή κειμένου." Μπορεί. Το Hello world φαίνεται κομψό σε οποιαδήποτε γλώσσα. Αλλά στην πραγματική ζωή, δεν είναι όλα απλά. Μόλις εμφανιστεί κάποιος ανφωλιασμένο μέσα σε άλλο αν, κερδίζει ο ΔΡΑΚΟΣ.
  • "Το DRAGON δεν έχει μέσο εμφάνισης εξαιρέσεων." Υπάρχει ένα τέτοιο πρόβλημα. Πρόσφατα προστέθηκαν εξαιρέσεις στη γλώσσα DRAGON, αλλά δεν τις υποστηρίζουν όλες οι υλοποιήσεις. Μέχρι να φτάσουν οι υλοποιήσεις, μπορείτε να γράψετε μπλοκ try/catch στην κατάλληλη γλώσσα προγραμματισμού.
  • "Τα διαγράμματα DRAGON χρειάζονται πολύ χρόνο για να σχεδιαστούν." Σε εξειδικευμένους συντάκτες είναι πολύ πιο εύκολο να σχεδιάσετε διαγράμματα DRAGON παρά, για παράδειγμα, στο Visio. Και σε μερικά από αυτά, το σχέδιο έχει γίνει σχεδόν τόσο εύκολο όσο το γράψιμο.
  • "Λείπουν εργαλεία για τη διαφορά και τη συγχώνευση." Αυτό δυστυχώς είναι αλήθεια. Όταν εργάζεστε με ένα σύστημα ελέγχου έκδοσης, πρέπει να συγκρίνετε τα αρχεία προέλευσης που δημιουργούνται.
  • "Δεν υπάρχουν μέσα για τον εντοπισμό σφαλμάτων των κυκλωμάτων DRAKON." Αυτό είναι αλήθεια. Αλλά μπορείτε να διορθώσετε τον κώδικα που δημιουργήθηκε. Έχει ετικέτες που υποδεικνύουν πού στο διάγραμμα ανήκει ένα δεδομένο κομμάτι κώδικα.

Dragon Language Review

Το Σχήμα 16 παρέχει μια επισκόπηση της γλώσσας DRAGON.




Εικόνα 16.Επισκόπηση της γλώσσας DRAGON

Εργαλεία για εργασία με τη γλώσσα του δράκου

Η πρώτη εφαρμογή της γλώσσας DRAGON ήταν το σύστημα GRAPHITE-FLOX (Εικ. 17). Το GRAPHITE-FLOX δημιουργήθηκε το 1986-1996. ειδικοί από την ομοσπονδιακή κρατική ενιαία επιχείρηση NPC AP που φέρει το όνομά της. Pilyugin υπό την ηγεσία του V.D. Parondzhanova. Αυτό το περιβάλλον προοριζόταν για το σχεδιασμό συστημάτων ελέγχου για οχήματα εκτόξευσης και διαστημόπλοια.


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


Στις αρχές της δεκαετίας του '90, δημιουργήθηκε ένας άλλος επεξεργαστής DRAGON. Η ανάπτυξη πραγματοποιήθηκε στο Ινστιτούτο Εφαρμοσμένων Μαθηματικών με το όνομα M.V. Keldysh υπό την ηγεσία του L.K. Eisymont. Το πρόγραμμα επεξεργασίας Eisamont (Εικόνα 18) μπορεί να ληφθεί και να εκτελεστεί, αλλά δεν υποστηρίζεται πλέον. Το πρόγραμμα επεξεργασίας είναι γραμμένο στο MS DOS, επομένως το DOSBox ενδέχεται να απαιτείται για εκτέλεση σε σύγχρονους υπολογιστές.


Το 2008, κυκλοφόρησε ο συντάκτης του Dragon IP από τον Gennady Tyshov (Εικ. 19). Το IP Dragon υποστηρίζεται και αναπτύσσεται ενεργά. Το Dragon IS υλοποιεί τη δημιουργία κώδικα προγράμματος από διαγράμματα. Ένα από τα ενδιαφέροντα χαρακτηριστικά του Dragon IS είναι η δυνατότητα τοποθέτησης κώδικα σε μια γλώσσα προγραμματισμού και περιγραφής σε φυσική γλώσσα σε ένα εικονίδιο. Το αναμφισβήτητο πλεονέκτημα του IS Dragon είναι ο λεγόμενος «λογισμός εικονιδίων». Ο λογισμός εικονιδίων είναι μια τεχνική επεξεργασίας που βοηθά τον χρήστη να σχεδιάσει ένα διάγραμμα και διασφαλίζει ότι το διάγραμμα δεν παραβιάζει τους κανόνες της γλώσσας DRAGON. Μεταξύ των μειονεκτημάτων του Dragon IS είναι η μη τυπική διεπαφή χρήστη και ορισμένες ενοχλήσεις κατά τη δημιουργία κώδικα. Το IP Dragon είναι ένα εμπορικό προϊόν.


Το DRAKON Editor είναι ένας άλλος σύγχρονος επεξεργαστής DRAGON (Εικ. 20). Το DRAKON Editor αναπτύχθηκε από μια ομάδα ενθουσιωδών με επικεφαλής τον Stepan Mitkin. Το DRAKON Editor δεν υποστηρίζει την καταμέτρηση εικονιδίων. Αυτό σημαίνει ότι τα κυκλώματα DRAGON συναρμολογούνται χειροκίνητα από πρωτόγονα, όπως στους επεξεργαστές διανυσματικών γραφικών. Αλλά η διεπαφή χρήστη στο DRAKON Editor είναι όσο το δυνατόν πιο απλή. Είναι κατασκευασμένο σύμφωνα με ένα πιο οικείο σχέδιο από το Dragon IS. Το κύριο πλεονέκτημα του περιβάλλοντος DRAKON Editor είναι η ευκολία προγραμματισμού και δημιουργίας κώδικα. Το DRAKON Editor υποστηρίζει πολλές γλώσσες προγραμματισμού, όπως C, C++, C#, Java, Processing, JavaScript, Lua, Erlang, Python, Tcl, Verilog, AutoHotkey, D and Go. Για ορισμένες γλώσσες είναι δυνατή η δημιουργία μηχανών πεπερασμένης κατάστασης. Υποστηρίζονται κανόνες για το ειδικό σύστημα nools. Ένα υποσύνολο της γλώσσας UTOPIST από τον E. Tyugu έχει υλοποιηθεί. Το DRAKON Editor είναι ανοιχτού κώδικα.


Μια ενδιαφέρουσα εφαρμογή για τη γλώσσα DRAGON εφευρέθηκε από τον Oleg Garipov στο έργο του Integrator CodeView. Το CodeView σάς επιτρέπει να απεικονίσετε τον υπάρχοντα κώδικα ως ένα διασυνδεδεμένο σύνολο διαγραμμάτων DRAKON. Η ιδιαιτερότητα του Integrator CodeView είναι ότι δεν οπτικοποιούνται μεμονωμένες μέθοδοι, αλλά ολόκληρο το έργο, συμπεριλαμβανομένου του γραφήματος κλήσης, της στοίβας κ.λπ. Το Integrator CodeView είναι επίσης μοναδικό στο ότι εμφανίζει καθαρά όχι μόνο αλγόριθμους, αλλά και δεδομένα. Η μηχανή οπτικοποίησης δεδομένων στο σύστημα Integrator λειτουργεί σε συνδυασμό με το DRAGON.


Το DRAKON Editor Web είναι μια εμπορική λύση cloud που βασίζεται στη γλώσσα DRAGON. Το DRAKON Editor Web έχει σχεδιαστεί για τεχνικές εργασίες, επιχειρηματικές διαδικασίες και λίστες ελέγχου. Το DRAKON Editor Web δεν είναι συνδεδεμένο με κανέναν τρόπο με το DRAKON Editor και δεν υποστηρίζει τη δημιουργία κώδικα από διαγράμματα. Μεταξύ των πλεονεκτημάτων του DRAKON Editor Web είναι ο βολικός επεξεργαστής, η συνεργασία και η υποστήριξη για κινητές συσκευές.




Εικόνα 17.Σχέδιο DRAGON στο σύστημα GRAPHITE-FLOX


Εικόνα 18. DRAGON-επιμέλεια Eisymont


Εικόνα 19.Πρόγραμμα με επεξηγήσεις στο IS Dragon


Εικόνα 20. DRAKON Editor

συμπεράσματα

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


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

Προσθέστε ετικέτες

Ο οπτικός προγραμματισμός είναι μια από τις τεχνολογίες του σύγχρονου προγραμματισμού

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

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

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

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

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

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

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

Η υποστήριξη GUI που παρέχεται από έτοιμα στοιχεία πληροί τις προδιαγραφές CUA (Common User Access) και περιέχει έναν αριθμό επεκτάσεων για την οργάνωση ευέλικτων I/O σε σύνθετες μορφές και πίνακες. Η βιβλιοθήκη έτοιμων στοιχείων παρέχει επίσης υποστήριξη για συσκευές πολυμέσων, επικοινωνίες μέσω πρωτοκόλλων APPC, TCP/IP, NetBIOS, διεπαφές προγραμματισμού CICS External Call Interface, EHLLAPI, Message Queue Interface (MQI), εργασία με σχεσιακές βάσεις δεδομένων του DB2, Oracle , οικογένειες Sybase και πολλά άλλα.

Η Microsoft, κατά την ανάπτυξη της ιδέας του .NET Framework, δημιούργησε το Visual Studio.NET Enterprise Architect 2003, στο οποίο εφάρμοσε όλες τις τελευταίες εξελίξεις στον τομέα του προγραμματισμού και, ειδικότερα, στην τεχνολογία οπτικού προγραμματισμού.

Το Visual Studio.NET είναι ένα πλήρες πολυγλωσσικό περιβάλλον ανάπτυξης για την πλατφόρμα Microsoft.NET. Το Visual Studio.NET παρέχει ένα σύνολο τεχνολογιών που διευκολύνουν τη δημιουργία, την ανάπτυξη και, στη συνέχεια, τη βελτίωση ασφαλών, επεκτάσιμων και εξαιρετικά διαθέσιμων εφαρμογών Ιστού και υπηρεσιών XML.

Η Borland Software Corporation αναπτύσσει παραδοσιακά ένα ολοκληρωμένο περιβάλλον προγραμματισμού που έχει αναμφισβήτητη επιτυχία στην αγορά επαγγελματικών προϊόντων λογισμικού. Αυτό το περιβάλλον πάντα υποστήριζε μεθόδους οπτικού προγραμματισμού, προσφέροντας στον προγραμματιστή ισχυρές βιβλιοθήκες, διαδραστικούς δημιουργούς οδηγών και έτοιμα στοιχεία γραφικής διεπαφής. Σήμερα, το Borland Developer Studio είναι ένα προϊόν λογισμικού από την Borland Software Corporation, το οποίο είναι ένα περιβάλλον ταχείας ανάπτυξης εφαρμογών (RAD) για τις πλατφόρμες Win32 και .NET στους Delphi (Object Pascal), C++ και C#.

Ένα άλλο πακέτο από την Borland είναι η Delphi Enterprise Edition 7.0. Αυτό το πακέτο παρέχει υποστήριξη για τις πιο πρόσφατες αναδυόμενες τεχνολογίες υπηρεσιών Ιστού και περιλαμβάνει μια προεπισκόπηση εργαλείων για εργασία με το Microsoft .NET Framework.

Με το Delphi 7, οι προγραμματιστές της Delphi μπορούν να αποκτήσουν δεξιότητες προγραμματισμού .NET και να προετοιμάσουν τις εφαρμογές τους για εκτέλεση σε .NET χωρίς να χάσουν τις υπάρχουσες γνώσεις και δεξιότητές τους στην πλατφόρμα των Windows. Το περιβάλλον ανάπτυξης Delphi 7 έχει να κάνει με το σχεδιασμό. ανάπτυξη αρχιτεκτονικής με γνώμονα το μοντέλο (MDA). ενσωμάτωση μοντελοποίησης, ανάπτυξης και ανάπτυξης εφαρμογών και συστημάτων ηλεκτρονικού επιχειρείν για την πλατφόρμα Windows.

Η Borland Software Corporation είναι η πρώτη εταιρεία που άνοιξε μια ανεξάρτητη διαδρομή προς το .NET με το Delphi 7, ένα περιβάλλον ταχείας ανάπτυξης εφαρμογών (RAD) μεταξύ πλατφορμών για την πλατφόρμα Windows. Ένα χαρακτηριστικό γνώρισμα του Delphi 7 είναι η δυνατότητα ανάπτυξης και ανάπτυξης εταιρικών εφαρμογών. Αυτό επιτρέπει στους προγραμματιστές να δημιουργούν εταιρικές εφαρμογές από την ιδέα έως το τελικό προϊόν ακόμη πιο γρήγορα χρησιμοποιώντας τη νέα τεχνολογία σχεδιαστή UML™ και Model Driven Architecture™ (MDA™).

Εξετάσαμε τον ρόλο και τη θέση του οπτικού προγραμματισμού στο χώρο του σύγχρονου προγραμματισμού. Τώρα ας προχωρήσουμε στην εξέταση συγκεκριμένων τεχνικών και μεθόδων που σχετίζονται με τον οπτικό προγραμματισμό. Ας δούμε τη χρήση στοιχείων και τεχνικών οπτικού προγραμματισμού στο Visual Studio.NET Framework της Microsoft.

Βασικές αρχές οπτικού προγραμματισμού

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

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

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

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

Ίσως ήταν η παρουσία οπτικών εργαλείων για την κατασκευή διεπαφών σε γλώσσες όπως η Microsoft Visual Basic και οι Delphi, καθώς και οι διεπαφές οπτικού προγραμματισμού που δημιουργήθηκαν με αυτές τις γλώσσες, που τους απέδωσαν τον όρο «οπτικός προγραμματισμός». Φυσικά, υπάρχουν πολλά άλλα παρόμοια προϊόντα (Visual C++, Borland C++ ξεκινώντας από την έκδοση 4, Symantec Visual Cafe, C++ Builder κ.λπ.), αλλά δεν θα μπορούσαν να αποκτήσουν τέτοια δημοτικότητα όπως η Visual Basic και οι Delphi. Χάρη στη Visual Basic ο κόσμος έμαθε για τη δυνατότητα οπτικής δημιουργίας διεπαφών προγραμμάτων για Windows.

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

  • Ένα οπτικοποιημένο μοντέλο είναι ένα μοντέλο που εμφανίζεται για να μπορεί να αλλάξει τη δομή ή τις παραμέτρους του (ή τις παραμέτρους των επιμέρους τμημάτων του).

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

  • Παράθυρο ιδιοτήτων (PropertyBox) - ένα παράθυρο στο οποίο εμφανίζονται οι παράμετροι (ιδιότητες) του επιλεγμένου στοιχείου του οπτικού μοντέλου. Ο όρος "ιδιότητα" προέρχεται από αντικειμενοστραφή προγραμματισμό και υποδηλώνει μια παράμετρο ενός αντικειμένου (στοιχείου).
  • Το οπτικοποιημένο μοντέλο στη Visual Basic και στους Delphi είναι ένα παράθυρο των Windows (φόρμα, διάλογος) και όχι ο κώδικας του προγράμματος.

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

    Ως πιθανή επιλογή για την υλοποίηση μιας τέτοιας οπτικής ανάπτυξης κώδικα προγράμματος, μπορούμε να εξετάσουμε τη μορφή πίνακα καταγραφής μακροεντολών στη Microsoft Access (Εικ. 8.1). Σε αυτήν την περίπτωση, το οπτικοποιημένο μοντέλο είναι ένα μακροπρόγραμμα για τη διαχείριση δεδομένων σε μια βάση δεδομένων ή τη διαχείριση της διαδικασίας εμφάνισης δεδομένων. Οι εντολές μακροεντολών βρίσκονται σε διαφορετικές γραμμές της εγγραφής μακροεντολών. Το παράθυρο ιδιοτήτων βρίσκεται ακριβώς κάτω από τη λίστα των εντολών. Δεν υπάρχει παράθυρο εργαλείου στη συνήθη μορφή, αλλά υλοποιείται με τη μορφή αναπτυσσόμενης λίστας με εντολές, π.χ. Σε κάθε γραμμή της εγγραφής μακροεντολής ξεχωριστά υπάρχει η δυνατότητα επιλογής ή αλλαγής της τρέχουσας εντολής μακροεντολής. Αυτή είναι η οπτικοποιημένη μορφή γραφής του προγράμματος.

    Εικ.8.1. Οπτικοποίηση ανάπτυξης κώδικα προγράμματος

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

    Εικ.8.2. Εργαλεία οπτικού προγραμματισμού

    Ένα άλλο παράδειγμα οπτικοποίησης της δημιουργίας κώδικα προγράμματος είναι η διαδικασία δημιουργίας μακροπρογραμμάτων στο Microsoft Excel (Εικ. 8.3).

    Εικ.8.3. Διάλογος MS Excel κατά την αυτόματη εγγραφή ενεργειών χρήστη

    Το οπτικοποιημένο μοντέλο σε αυτήν την περίπτωση είναι ένα φύλλο εργασίας του Excel στο οποίο ο προγραμματιστής εκτελεί ενέργειες επεξεργασίας δεδομένων. Ο κώδικας του προγράμματος γράφεται αυτόματα στο παρασκήνιο και όλες οι οπτικές ενέργειες χρήστη περιγράφονται σε δηλώσεις VBA (Visual Basic for Application).

    Το παράθυρο Ιδιότητες υπάρχει, αλλά όχι στο ίδιο το φύλλο εργασίας, αλλά στο περιβάλλον VBA (Εικ. 8.4). Όταν επιλέγετε ένα αντικείμενο Module, το παράθυρο του εργαλείου απενεργοποιείται, αλλά εάν επεξεργαστείτε τον κώδικα προγράμματος, εμφανίζεται μια αναπτυσσόμενη λίστα με ιδιότητες, μεθόδους και συμβάντα για κάθε αντικείμενο προγράμματος, π.χ. Σε κάθε γραμμή της εγγραφής μακροεντολής ξεχωριστά υπάρχει η δυνατότητα επιλογής ή αλλαγής της τρέχουσας εντολής μακροεντολής.

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

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

    Χρήση οπτικού προγραμματισμού κατά τη δημιουργία μιας διεπαφής εφαρμογής στο Visual Studio.Net

    Το Visual Studio.NET είναι ένα καθολικό περιβάλλον ανάπτυξης για όλους τους τύπους εφαρμογών που βασίζονται σε .NET και βασίζεται σε μια ενιαία οπτική διεπαφή. Το .NET Framework είναι ένα σύνολο αντικειμένων και σχεδίων (σχεδιαγράμματα, δηλαδή περιγραφές αντικειμένων) που δημιουργήθηκε από τη Microsoft για την ανάπτυξη εφαρμογών (Windows και Internet). Μια μεγάλη συλλογή οπτικών αντικειμένων σάς επιτρέπει να σχεδιάζετε διάφορα στοιχεία ελέγχου: Λεζάντα, Λεζάντα με υπερσύνδεσμο, Κουμπί, Πεδίο, Πλαίσιο ελέγχου και πολλά άλλα. Όλα αυτά τα στοιχεία βρίσκονται στη γραμμή εργαλείων (Εικ. 8.5). Οι ιδιότητες του στοιχείου διαμορφώνονται χρησιμοποιώντας τη λίστα ιδιοτήτων.

    Τα στοιχεία ελέγχου, όπως όλα τα άλλα αντικείμενα .NET, υλοποιούνται ως κλάσεις σε ένα συγκεκριμένο χώρο ονομάτων, σε αυτήν την περίπτωση System.Windows.Forms.

    Εικ.8.5. Οπτικός προγραμματισμός με χρήση του Visual Studio.NET

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

    Εικ.8.6. Οπτικοποίηση ιδιοτήτων και μεθόδων αντικειμένου

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

    Δεν υπάρχει ξεχωριστή κλάση διαλόγου στο .NET. Ένα πλαίσιο διαλόγου είναι μια φόρμα (Εικ. 8.7.) που έχει κάποια ιδιαίτερα χαρακτηριστικά. Ο προγραμματισμός των πλαισίων διαλόγου, όπως και πολλά άλλα τυπικά στοιχεία, στο Visual Studio υποστηρίζεται από οπτικά εργαλεία προγραμματισμού (Εικ. 8.8).

    Εικ.8.7. Παράδειγμα τυπικού διαλόγου

    Εικ.8.8. Προγραμματισμός τυπικών στοιχείων χρησιμοποιώντας το Visual Studio

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

    συμπεράσματα

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

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

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

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

    Η υποστήριξη οπτικού προγραμματισμού στο Visual Studio.NET μετατρέπει τους προγραμματιστές σε προγραμματιστές εφαρμογών Windows και Διαδικτύου.

    Ερωτήσεις αυτοδιαγνωστικού ελέγχου

    1. Ποια είναι η θεμελιώδης διαφορά μεταξύ οπτικού προγραμματισμού και οποιουδήποτε άλλου προγραμματισμού;
    2. Είναι δυνατή η δημιουργία μιας ολοκληρωμένης εφαρμογής λογισμικού χρησιμοποιώντας οπτικό προγραμματισμό;
    3. Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του οπτικού προγραμματισμού;
    4. Ποιες γλώσσες προγραμματισμού υποστηρίζουν οπτικό στυλ προγραμματισμού;
    5. Σε ποια περιβάλλοντα προγραμματισμού εφαρμόζεται ένα οπτικό στυλ προγραμματισμού;
    6. Ποιες εταιρείες πακέτων λογισμικού έχουν τις καλύτερες λύσεις οπτικού προγραμματισμού;
    7. Μπορούμε να πούμε ότι ο οπτικός προγραμματισμός είναι η κατασκευή μιας γραφικής διεπαφής χρήστη;
    8. Ποια στοιχεία της διαδικασίας οπτικοποίησης μπορείτε να αναφέρετε;
    9. Τι είναι ένα «οπτικοποιημένο μοντέλο»;
    10. Δώστε παραδείγματα οπτικού προγραμματισμού σε γνωστά σε εσάς περιβάλλοντα λογισμικού.

    Βιβλιογραφία

    1. Garnaev F.Yu. Εγχειρίδιο αυτο-οδηγίας Visual Studio.NET 2003.- Αγία Πετρούπολη: BHV-Petersburg, 2005.- 688.σελ.: ill.
    2. Podlin Sh. Κατακτήστε τον δικό σας προγραμματισμό για το Microsoft Excel 2000. Μετάφρ. από τα αγγλικά: Uch. Pos. - M.: Williams Publishing House, 2006. - 304 σελ.: ill. χτύπημα. Αγγλικά
    3. Kharitonova I.A., Mikheeva V.D. Microsoft ACCESS 2000: Ανάπτυξη Εφαρμογών. - Αγία Πετρούπολη: BHV-Petersburg, 2004. - 832 σελ.: ill.