- Κωδικός / Course Code: ΠΕΣ511
- ECTS: 10
- Τρόποι Αξιολόγησης / Assessment:
-
Ο κύριος στόχος του μαθήματος είναι να διδάξει ένα προσεκτικά επιλεγμένο σύνολο αρχών, μεθόδων και τεχνολογιών επαρκή για να επιτρέψει στους φοιτητές να κατασκευάζουν ισχυρές εφαρμογές ιστού υψηλής ποιότητας. Το μάθημα είναι βασισμένο στην Java, παρόλα αυτά πολλά θέματα που θα διδαχθούν στο μάθημα είναι ανεξάρτητα της πλατφόρμας αυτής ή μεταφέρονται εύκολα σε άλλες πλατφόρμες, π.χ. Microsoft. NET και C #. Σε όλη την διάρκεια του μαθήματος θα υπάρχει ισορροπία μεταξύ της παγίωσης των θεμελιωδών αρχών και μεθόδων και των τεχνολογιών αιχμής. Ειδικότερα, έμφαση δίνεται στον προγραμματισμό Java Servlet, καθώς αυτός μπορεί να χρησιμοποιηθεί αρκετά αποτελεσματικά από μόνος του. Επιπλέον, είναι η εξερεύνηση άλλων τεχνολογιών, όπως JSP και JSF, καθώς και η επαρκής κατανόηση των πρώτων είναι απαραίτητη για τη γνώση των τελευταίων. Ομοίως, μέρος του μαθήματος θα αφιερωθεί στις αρχές της ορθής ανάπτυξης λογισμικού, συμπεριλαμβανομένων των πρακτικών χρήσης τυπικών μεθόδων προδιαγραφών και των αρχών σχεδιασμού που σχετίζονται με εφαρμογές ιστού.
Όσον αφορά τις τελευταίες εξελίξεις, προτεραιότητα θα δοθεί σε δύο βασικές σχετικά πρόσφατες κατασκευές. Η πρώτη είναι η JavaServer Faces (JSF), η οποία μπορεί να θεωρηθεί ως μια προηγμένη υλοποίηση του παραδείγματος Model-View-Controller (MVC). Παρέχει ένα ισχυρό πλαίσιο ανάπτυξης λογισμικού που επιτρέπει την ενσωμάτωση των απαραίτητων χαρακτηριστικών για εύρωστες εφαρμογές Ιστού.
Το δεύτερο είναι η ιδέα της κατασκευής εφαρμογών Ιστού που θα είναι σε θέση να επικαλεστεί αυτόματα λειτουργίες που τρέχουν και με άλλες εφαρμογές Ιστού. Αυτή είναι η κεντρική αρχή στην οποία στηρίζονται οι λεγόμενες Υπηρεσίες του Παγκοσμίου Ιστού, ένα χαρακτηριστικό γνώρισμα της αυξανόμενης σημασίας σε εφαρμογές Ιστού.
Η πλατφόρμα ανάπτυξης που θα χρησιμοποιηθεί είναι η NetBeans 6.7.1, ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης Εφαρμογών (Integrated Development Environment -IDE) ανοικτού κώδικα που παρέχεται από μια θυγατρική της Sun Corporation. Αυτό προσφέρει ένα ευρύ και καλά ολοκληρωμένο φάσμα εργαλείων ανάπτυξης υψηλής ποιότητας.
Μαθησιακοί Στόχοι:
• Ο φοιτητής να μπορεί να διαβάζει σχετικά προγράμματα στην Java και να τα κατανοεί με το να τα εκτελεί, να εντοπίζει και να διορθώνει λογικά λάθη, να συμπληρώνει τα κενά, να τα τροποποιεί, κλπ.
• Να μπορεί ο φοιτητής να κατανοήσει μια μη αυστηρά γραμμένη προδιαγραφή προγράμματος για ένα σύστημα, να την υλοποιεί σωστά και να επιχειρηματολογεί για ένα πρόγραμμα σε σχέση με τις προδιαγραφές του.
• Να μπορεί ο φοιτητής να υλοποιεί σημαντικές εφαρμογές Ιστού αξιοποιώντας το μοντέλο 3-tier χρησιμοποιώντας προγραμματισμό σε Java Servlet και άλλες σχετικές τεχνολογίες που αναφέρονται στην εξεταστέα ύλη, όπως JSP και JSF.
• Να μπορεί ο φοιτητής να επιδείξει πλήρη κατανόηση των θεωρητικών αρχών που διέπουν τις διάφορες τεχνολογίες που αναφέρονται στην εξεταστέα ύλη.
• Να μπορεί ο φοιτητής να εφαρμόζει τις αρχές αυτές στην ανάπτυξη εφαρμογών Ιστού και να εξηγεί πως οι αρχές αυτές σχετίζονται με αυτές τις εφαρμογές.
• Να μπορεί ο φοιτητής να χρησιμοποιεί αποτελεσματικά το εργαλείο ανάπτυξης προγραμμάτων του μαθήματος (NetBeans 6.7.1).
• Να μπορεί ο φοιτητής να καταρτίζει και να εφαρμόζει αποτελεσματικές στρατηγικές για τον έλεγχο εφαρμογών Ιστού, συμπεριλαμβανομένων ανίχνευση και τη διόρθωση σφαλμάτων όλων των ειδών.