Θεσσαλονίκη 17-12-2006 Αγαπητοί φοιτητές & φοιτήτριες, στη συνέχεια θα συνοψίσω το περιεχόµενο της δεύτερης φετινής ΟΣΣ, η οποία διεξήχθη την Κυριακή 10 εκεµβρίου µε παρόντες τους 23 από τους 32+2 φοιτητές του τµήµατος Θ2. Η συνάντηση εξελίχθηκε οµαλά. Στον πρόλογο της ΟΣΣ έγινε µια συζήτηση για θέµατα που αφορούν την επικοινωνία µας, την ύλη και τα βιβλία του ΕΑΠ, τη µελέτη και τις εργασίες. Η επικοινωνία µας γίνεται κυρίως µέσω e-mail και αυτό λειτουργεί αποδοτικά, ενώ παράλληλα αυξήθηκε η συµµετοχή σας στο forum και αυτό είναι πολύ ευχάριστο. Η επικοινωνία αυτή συµβάλει στο να αποσαφηνίσετε έννοιες που έχουν σχέση, είτε µε την κατανόηση της ύλης, είτε µε την εκπόνηση των εργασιών. Σας προτρέπω να συνεχίσετε να χρησιµοποιείτε ενεργά όλα τα µέσα επικοινωνίας που έχουµε στη διάθεσή µας. Πριν από τη συνάντηση ζητήθηκε βιβλιογραφία για τη Java και σας πρότεινα τρεις τίτλους, από τα πάµπολλα βιβλία που κυκλοφορούν στο εµπόριο (επαναλαµβάνονται στο τέλος της επιστολής). Μερικά αντίτυπα των προτεινόµενων βιβλίων µπορείτε να δανείζεστε και από τη βιβλιοθήκη του EAΠ (http://lib.eap.gr/). Η βιβλιογραφία είναι προαιρετική και θα πρέπει να εξαντλείτε τις δυνατότητες του βασικού υλικού που έχετε στη διάθεσή σας από πλευράς ΕΑΠ. Σας επεσήµανα πως η Java, όπως και κάθε γλώσσα προγραµµατισµού, εκτός από τη θεωρητική µελέτη απαιτεί κυρίως την πρακτική εξάσκηση µε παραδείγµατα και συγγραφή κώδικα καθώς και την επίδειξη (αρκετής) υποµονής και επιµονής κατά τα πρώτα στάδια που µπορεί να φαίνεται ότι τίποτα δεν δουλεύει/τρέχει (όλοι µας έχουµε πάρει αυτό το βάπτισµα). Ξεκινήστε από τα απλά παραδείγµατα και προχωρήστε στα πιο σύνθετα. Στη συνέχεια αναλύσαµε την πρώτη γραπτή εργασία, εξετάζοντας τις απαιτήσεις κάθε ερωτήµατος και συζητώντας πιθανές λύσεις. Ο πλουραλισµός των πιθανών λύσεων που αναφέρθηκαν από πλευράς σας αποδεικνύει πως η αντιµετώπιση προβληµάτων του πραγµατικού κόσµου δεν µπορεί να γίνει µ ένα συγκεκριµένο τρόπο σκέψης και προσέγγισης του προβλήµατος. Αυτό που τελικά καλούµαστε να αξιολογήσουµε είναι πως µεθοδολογικά αυτή η προσέγγιση είναι πλήρης ως προς τις προδιαγραφές, και πως τεκµηριώνεται και αποτυπώνεται µέσα από την ορθή χρήση εργαλείων, όπως είναι η γλώσσα UML και το CASE Tool Visual Paradigm που την υποστηρίζει. Σας παρουσίασα και ανέλυσα τόσο ενδεικτικές απαντήσεις, όσο και αποσπάσµατα απαντήσεων από δικές σας εργασίες, εντοπίζοντας και εξηγώντας το στόχο κάθε ερώτησης και τις δυσκολίες που είχε και περιγράφοντας τα περισσότερο συχνά λάθη που έκαναν οι φοιτητές της ΘΕ. Εξηγήσαµε επίσης πως κάθε ερώτηµα της εργασίας απεικονίζονταν σ ένα συγκεκριµένο διάγραµµα της γλώσσας UML και υπογραµµίσαµε τη συνέπεια που θα έπρεπε να επιδεικνύεται στις απαντήσεις των υπο-ερωτηµάτων όταν αυτό χρειαζόταν (π.χ. συνέπεια των διαγραµµάτων ΘΕ ΠΛΗ24 «Σχεδιασµός Λογισµικού» 1
ακολουθίας µε το δοθέν διάγραµµα κλάσεων στο ερώτηµα 7 ή συνέπεια µεταξύ των ζητούµενων διαγραµµάτων κλάσεων και συνεργασίας/επικοινωνίας στο ερώτηµα 6). Η µέση επίδοση του τµήµατος είναι 7,07 µια σχετικά υψηλή επίδοση για πρώτη εργασία. Περισσότερα στατιστικά θα βρείτε στο τέλος της επιστολής στο σχετικό παράρτηµα. Στα πλαίσια της συζήτησης αναφέρθηκε η σχετική δυσκολία που αντιµετωπίσατε µε τη χρήση του εργαλείου VP (επιτυχία είναι πως όλες οι εργασίες είχαν διαγράµµατα σχεδιασµένα µε το CASE εργαλείο). Κατανοώ ότι η εγκατάσταση και εκµάθηση εργαλείων επιβαρύνει το χρονοδιάγραµµα µελέτης, θέλω όµως να υπογραµµίσω πως η χρήση εργαλείων για την ανάπτυξη λογισµικού και την επίλυση προβληµάτων αποτελεί γενικότερη στάση την οποία η Ο Π θα ήθελε να εµφυσήσει στους φοιτητές, καθώς αποδεδειγµένα µειώνει το συνολικό φόρτο επίλυσης ενός προβλήµατος (είτε πρόκειται για ανάπτυξη συστήµατος, είτε για σχεδίαση µιας γραµµατικής) ενώ οδηγεί σε περισσότερο ασφαλείς και καλύτερες ποιοτικά λύσεις. Η σηµασία των εργαλείων θα γίνει περισσότερο αντιληπτή µε τη δεύτερη εργασία, όπου από τη µια θα έχετε απόσβεση του χρόνου που επενδύσατε για την εκµάθηση του εργαλείου VP και από την άλλη θα αντιµετωπίσετε πιο εύκολα τις δυσκολίες µοντελοποίησης. Σε αυτά τα πλαίσια η χρήση των εργαλείων είναι υποχρεωτική στην εκπόνηση των εργασιών. Μια άλλη γενική παρατήρηση για τις εργασίες είναι ότι καλό θα είναι να περιορίζεστε σε όσα αναφέρονται στην εκφώνηση (εκτός και αν η εκφώνηση σας ζητά να απαντήσετε µε βάση την εµπειρία σας), αλλιώς υπάρχει κίνδυνος να παρανοήσετε το ζητούµενο της ερώτησης και να βρεθείτε εκτός θέµατος. Σε περίπτωση που έχετε αµφιβολίες σχετικά µε το ζητούµενο σε κάποια ερώτηση, µη διστάσετε να ζητήσετε διευκρινίσεις. Σε περίπτωση που η εκφώνηση σας ζητά να απαντήσετε µε βάση την εµπειρία σας ή εσκεµµένα δίνει περιορισµένες πληροφορίες, πρέπει οπωσδήποτε να καταγράψετε τις παραδοχές και υποθέσεις που κάνατε και στις οποίες βασίσατε τη λύση σας. Για την απάντηση στις εργασίες πρέπει να χρησιµοποιείτε πάντα το πρότυπο που αναρτάται µαζί µε κάθε εργασία στην ιστοσελίδα της ΘΕ. Μετά το πρώτο διάλειµµα της συνάντησης, συνεχίσαµε τη συνάντηση µε την παρουσίαση της µεθοδολογίας ICONIX. ιαπιστώσαµε µαζί πως πρόκειται για µια απλούστερη και συντοµότερη µεθοδολογία σε σχέση µε την Ενοποιηµένη Προσέγγιση (Unified Process) που µε τη χρήση ενός µικρού υποσυνόλου των διαγραµµάτων της γλώσσας UML µας οδηγεί συστηµατικά και σχετικά γρήγορα στο διάβα του µονοπατιού που ξεκινά από τις αρχικές προδιαγραφές ενός συστήµατος και καταλήγει στην υλοποίησή του µε κώδικα. Η ανάλυση ευρωστίας είναι ένα σηµαντικό βήµα στην εφαρµογή της ICONIX και είδαµε τη χρήση της µέσα από ένα παράδειγµα. Τη µεθοδολογία ICONIX θα έχετε την ευκαιρία να την εφαρµόσετε διεξοδικά στην επίλυση της δεύτερης γραπτής εργασίας. Μετά το κεφάλαιο ICONIX ανοίξαµε το κεφάλαιο προγραµµατισµός µε µια αντικειµενοστρεφή γλώσσα όπως είναι η Java. Είναι σηµαντικό να κατανοήσετε πως ο αποτελεσµατικός σχεδιασµός ενός συστήµατος που εκφράζεται κυρίως µε το αναλυτικό διάγραµµα κλάσεων, δηµιουργεί τις κατάλληλες προϋποθέσεις για την οµαλή αντιµετώπιση της εξαιρετικά δηµιουργικής και απαιτητικής διαδικασίας που ΘΕ ΠΛΗ24 «Σχεδιασµός Λογισµικού» 2
είναι η συγγραφή κώδικα. Είδαµε µέσα από µια παρουσίαση τη φιλοσοφία και τις βασικές δυνατότητες της γλώσσας Java. Στη συνέχεια είδαµε µέσα από ένα παράδειγµα µιας εφαρµογής σε γλώσσα Java, ζητήµατα δοµής και δήλωσης ενός αντικειµενοστρεφούς προγράµµατος και τους µηχανισµούς που παρέχει η γλώσσα για τη δήλωση κλάσεων και σχέσεων µεταξύ αυτών, τη δηµιουργία αντικειµένων, τη χρήση των πεδίων και των µεθόδων, καθώς και τη κλήση των µεθόδων. Στη συνέχεια είδαµε την εκφώνηση της δεύτερης εργασίας, η οποία κατά 70% περιέχει θέµατα ανάλυσης και σχεδιασµού µιας εφαρµογής µισθοδοσίας µε χρήση της µεθοδολογίας ICONIX και κατά 30% αφορά την υλοποίηση µιας δοκιµαστικής εφαρµογής µε χρήση της γλώσσας Java. Στη φάση της ανάλυσης και του σχεδιασµού σας προτρέπω να εφαρµόσετε και το στάδιο της ανάλυσης ευρωστίας (δίνεται και ως υπόδειξη στην εκφώνηση της εργασίας) και όσοι το κάνετε να ενσωµατώσετε τα διαγράµµατα ευρωστίας στο τελικό παραδοτέο σας. Για την υλοποίηση, η µελέτη και κατανόηση του παραδείγµατος BankAccount θα σας δώσει µια βάση για να ξεκινήσετε την υλοποίηση της εφαρµογής. Στο τελευταίο µέρος της ΟΣΣ, οι παρόντες φοιτητές συµπλήρωσαν το δελτίο αξιολόγησης της ΟΣΣ. Επιβεβαιώσατε µε τα σχόλιά σας τη χρησιµότητα του εναλλακτικού διδακτικού υλικού (βιντεοδιαλέξεις) που σας διανεµήθηκε στην 1η ΟΣΣ. Για τον τόµο Γ το DVD περιλαµβάνει βιντεοδιαλέξεις, κάποια κείµενα για τον τρόπο προγραµµατισµού σε Java, βιβλία και παραδείγµατα προγραµµάτων σε Java. Περιέχει επίσης το εργαλείο JBuilder που είναι ένα Java IDE (Integrated Development Environment). Το υλικό που σας έχει δοθεί είναι αρκετά µεγάλο και θα πρέπει να είστε επιλεκτικοί στα θέµατα που θα κοιτάτε σε κάθε φάση της µελέτης σας. Σ αυτό θα σας βοηθήσει και ο οδηγός µελέτης του τόµου Γ που µπορείτε να βρείτε στην αντίστοιχη ιστοσελίδα του δικτυακού τόπου της ΠΛΗ24. Κλείνοντας σας υπενθυµίζω πως το υλικό της 2ης ΟΣΣ (παρουσιάσεις, παραδείγµατα, ασκήσεις και λύσεις τους) έχει αναρτηθεί στο σχετικό σύνδεσµο στο δικτυακό τόπο της ΠΛΗ24. Σας ευχαριστώ πολύ για την πρόθυµη συµµετοχή σας και σας εύχοµαι καλή δύναµη και καλή µελέτη µέχρι την επόµενη συνάντηση. Τέλος, δεχτείτε τις θερµές ευχές µου για τις ηµέρες των εορτών που έρχονται σύντοµα (ευτυχώς!). Με εκτίµηση Ιγνάτιος εληγιάννης ΣΕΠ ΕΑΠ ΘΕ ΠΛΗ-24 Επίκ. Καθηγητής ΑΤΕΙ-Θ ΘΕ ΠΛΗ24 «Σχεδιασµός Λογισµικού» 3
Herbert Schildt Οδηγός της Java2 Γκιούρδας 2001 960512283-9 Μερικά αντίτυπα των παραπάνω βιβλίων µπορείτε να δανείζεστε και από τη βιβλιοθήκη του EAΠ (http://lib.eap.gr/). είτε στην ιστοσελίδα της βιβλιοθήκης του ΕΑΠ τους συνδέσµους: Κατάλογος Βιβλιοθήκης (OPAC) ιαδικασίες ανεισµού ΘΕ ΠΛΗ24 «Σχεδιασµός Λογισµικού» 4
ΠΑΡΑΡΤΗΜΑ ΙΙ Στατιστικά στοιχεία 1ης εργασίας για το τµήµα Θ2 Βαθµός 15% 10% 15% 10% 10% 15% 15% 10% Ασκηση 1α 1β 2α 2β 3 4 5 6α 6β 7α 7β 8α 8β ΜΟ 6,1 5,3 3,0 3,3 7,7 3,3 7,6 4,9 5,0 4,0 4,1 3,2 4,0 12 Στατιστικά στοιχεία 1ης εργασίας για το τµήµα Θ2 10 8 Εργασίες 6 4 Σειρά1 2 0 "<5" "5-" "6-" "7-" "8-" "9-" Βαθµοί ΘΕ ΠΛΗ24 «Σχεδιασµός Λογισµικού» 5