Ολοκληρωμένα περιβάλλοντα ανάπτυξης
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Εισαγωγή
- Η διαδικασία της κωδικοποίησης είναι περίπλοκη και χρονοβόρα.
- Για τη διευκόλυνσή της έχουν σχεδιαστεί και αναπτυχθεί
περιβάλλοντα υποστήριξης της κωδικοποίησης (programming support environments).
- Σε ένα περιβάλλον υποστήριξης της κωδικοποίησης όλος ο κύκλος της
κωδικοποίησης από την αρχική εισαγωγή του προγράμματος μέχρι την τελική
αποσφαλμάτωση υποστηρίζεται από ένα ολοκληρωμένο σύστημα.
Έτσι ένα περιβάλλον υποστήριξης της κωδικοποίησης μπορεί να περιέχει
σε ένα ολοκληρωμένο περιβάλλον:
- Υπερσύνολο του περιβάλλοντος υποστήριξης της κωδικοποίησης
αποτελεί το
περιβάλλον τεχνολογίας λογισμικού (software engineering environment)
το οποίο παρέχει υποστήριξη για όλον το κύκλο ζωής του λογισμικού
συμπεριλαμβάνοντας δηλαδή υποστήριξη για
- την ανάλυση των απαιτήσεων,
- το σχεδιασμό,
- την κωδικοποίηση,
- τη διοίκηση του έργου,
- τον έλεγχο των εκδόσεων και του σχηματισμού,
- τη διαχείριση εξαρτημάτων λογισμικού (software components),
- τη διασφάλιση ποιότητας και
- τη συντήρηση.
- Η τάση που εμφανίζεται είναι τα περιβάλλοντα υποστήριξης της κωδικοποίησης
τα περιέχουν όλο και περισσότερα στοιχεία από περιβάλλοντα τεχνολογίας λογισμικού
ενώ παράλληλα περιβάλλοντα τεχνολογίας λογισμικού να υποστηρίζουν όλο
και περισσότερο την κωδικοποίηση με τη χρήση γεννητριών κώδικα.
Ο διορθωτής
Ο διορθωτής σε ένα ολοκληρωμένο περιβάλλον ανάπτυξης περιλαμβάνει
ισχυρές δυνατότητες εισαγωγής του κώδικα καθώς και δυνατότητες που
σχετίζονται με τη γλώσσα προγραμματισμού όπως:
- αυτόματη στοίχιση,
- συντακτικό χρωματισμό του κειμένου,
- εμφάνιση του ορίσματος των συναρτήσεων,
- συντακτικό έλεγχο,
- αναίρεση πολλαπλών επιπέδων,
- σελιδοδείκτες,
- σύνδεση με το σύστημα τεκμηρίωσης,
- ταυτόχρονη διόρθωση πολλών αρχείων,
- εύρεση κειμένου σε αρχεία,
- αυτόματη μορφοποίηση του προγράμματος
Σε περιβάλλοντα που στοχεύουν στην ανάπτυξη προγραμμάτων με γραφικό σύστημα
διεπαφής με το χρήστη συχνά υπάρχει και διορθωτής ο οποίος επιτρέπει
το σχεδιασμό του συστήματος διεπαφής.
Ο διορθωτής αυτό επιτρέπει την εισαγωγή στοιχείων του γραφικού περιβάλλοντος.
Μερικά στοιχεία που απαντώνται συχνά είναι:
Το παρακάτω σχήμα δείχνει ένα πλαίσιο διαλόγου σχεδιασμένο μέσα στο περιβάλλον
του διορθωτή.
Το σύστημα βοήθειας
Το σύστημα βοήθειας περιλαμβάνει συχνά σε ψηφιακή μορφή τεκμηρίωση για:
- τη γλώσσα προγραμματισμού,
- τη βιβλιοθήκη,
- το περιβάλλον ανάπτυξης και τα εργαλεία που το απαρτίζουν,
- τεκμηρίωση για τη διαδικασία ανάπτυξης εφαρμογών,
- οδηγίες συμβατότητας,
- απαντήσεις σε συχνές ερωτήσεις,
- διαπιστωμένα σφάλματα του περιβάλλοντος.
Το σύστημα βοήθειας είναι τις περισσότερες φορές παρουσιασμένο σε
μορφή υπερκειμένου με πίνακες περιεχομένων και συνδέσεις ανάμεσα σε
τμήματα, όπως φαίνεται στο παρακάτω σχήμα:
Μερικές φορές το σύστημα βοηθείας συμπληρώνεται από
οδηγούς (wizards) που επιτρέπουν με διαλογικό
τρόπο τη βήμα με βήμα ανάπτυξη μιας εφαρμογής.
Τα παρακάτω σχήμα παριστάνει ένα στάδιο από την εκτέλεση ενός
οδηγού:
Συχνά υπάρχει άμεση σύνδεση του διορθωτή με το σύστημα βοήθειας έτσι
ώστε την ώρα που π.χ. πληκτρολογούμε την κλήση σε μια συνάρτηση της
βιβλιοθήκης να μπορούμε να δούμε τον ορισμό της.
Η διαδικασία μεταγλώττισης
Η διαδικασία της μεταγλώττισης περιλαμβάνει αρκετές ευκολίες σε ένα
ολοκληρωμένο περιβάλλον.
- Υπολογίζονται αυτόματα τα αρχεία που απαιτούν μεταγλώττιση ανάλογα
με τις αλλαγές που έγιναν σε αρχεία επικεφαλίδων.
- Η εμφάνιση ενός λάθους επιτρέπει την άμεση σύνδεσή του με τη γραμμή
του κώδικα που το δημιούργησε όπως φαίνεται στην παρακάτω οθόνη:
- Επιτρέπει την εμφάνιση τεκμηρίωσης σχετικά με τα λάθη που εμφανίζονται.
Αποσφαλμάτωση
Ο αποσφαλματωτής επιτρέπει τον πλήρη έλεγχο της ροής εκτέλεσης
και των δεδομένων του προγράμματος που εκτελείται.
Περιλαμβάνει δυνατότητες όπως:
- τη γραμμή προς γραμμή εκτέλεση του προγράμματος,
- την εμφάνιση της τιμής των μεταβλητών,
- τη διακοπή της εκτέλεσης του προγράμματος σε μια συγκεκριμένη γραμμή,
- τη διακοπή της εκτέλεσης του προγράμματος όταν αλλάξει τιμή μια μεταβλητή,
- την εκτέλεση μια ολόκληρης συνάρτησης,
- την εμφάνιση της τιμής μιας έκφρασης,
- την εκτέλεση του προγράμματος μέχρι ένα ορισμένο σημείο,
- την εμφάνιση της στοίβας κλήσεων (call stack) των
συναρτήσεων,
- την εμφάνιση των καταχωρητών και της μνήμης του επεξεργαστή,
- την εμφάνιση του πηγαίου κώδικα καθώς και του συμβολικού κώδικα,
- τη δυναμική αλλαγή του πηγαίου κώδικα κατά τη διάρκεια της εκτέλεσης.
To παρακάτω σχήμα εμφανίζει ένα πρόγραμμα που εκτελείται σε περιβάλλον
αποσφαλματωτή.
Φυλλομέτρηση πηγαίου κώδικα και κλάσεων
Συνδεδεμένο με το διορθωτή είναι συχνά ένα εργαλείο που επιτρέπει τη
φυλλομέτρηση και την εμφάνιση της δομής του κώδικα και των κλάσεων
που τον απαρτίζουν.
Δυνατότητες του φυλλομετρητή μπορεί να είναι οι παρακάτω:
Βιβλιογραφία
- Εμμανουήλ Σκορδαλάκης.
Εισαγωγή στην Τεχνολογία Λογισμικού σ. 241-295.
Συμμετρία, 1991.