ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Δομή και Στόχοι του Μαθήματος - Εισαγωγή
Δομή και Στόχοι Μαθήματος Εισαγωγή Στόχοι του μαθήματος Δομή του μαθήματος Εργασία Εισαγωγή o Πλαίσιο ανάπτυξης πληροφοριακών συστημάτων o Εφαρμογές Διαδικτύου
Στόχοι του Μαθήματος Να αποκτηθούν γνώσεις αρχιτεκτονικής και σχεδιασμού εφαρμογών με έμφαση σε εφαρμογές Διαδικτύου Να αποκτηθούν γνώσεις για την ανάπτυξη, τον έλεγχο και την ολοκλήρωση εφαρμογών Να αποκτηθούν γνώσεις προγραμματισμού εφαρμογών Διαδικτύου Να αποκτήσουν οι φοιτητές μια σύγχρονη εικόνα για τις εφαρμογές και τεχνολογίες που χρησιμοποιούνται στο χώρο του Διαδικτύου
Δομή του Μαθήματος Σχεδίαση & Υλοποίηση Συστημάτων o Σχεδίαση Συστημάτων o Αρχιτεκτονικές Συστημάτων o Περιβάλλοντα Ανάπτυξης Εφαρμογών o Συγγραφή Προγραμμάτων o Έλεγχος προγραμμάτων Java / Εφαρμογές Διαδικτύου o HTML o Servlets o Σύνδεση με ΒΔ o Session o JSP o Δημοσίευση web-site o Θέματα εφαρμογών διαδικτύου Εργαστήρια o 1 ο εργαστήριο: Εισαγωγή o 2 ο εργαστήριο: HTML vs. Servlets o 3 ο εργαστήριο: Servlets ΙΙ o Εξέταση o 4 ο εργαστήριο: Σύνδεση με ΒΔ o Εξέταση
Συγγράμματα Σχεδίαση & Υλοποίηση Συστημάτων Ανάλυση και σχεδιασμός συστημάτων με τη UML Dennis, Wixom, Tegarden Java / Εφαρμογές Διαδικτύου Servlets και Σελίδες Διακομιστή Java Marty Hall, Larry Brown Κεφ. 8: Προχωρώντας προς το Σχεδιασμό Κεφ. 9: Σχεδιασμός κλάσεων και μεθόδων Κεφ. 10: Σχεδιασμός επιπέδου διαχείρισης δεδομένων Κεφ. 11: Σχεδιασμός επιπέδου αλληλεπίδρασης ανθρώπου-υπολογιστή Κεφ. 12: Σχεδιασμός επιπέδου φυσικής αρχιτεκτονικής Κεφ. 13-14: Κατασκευή, εγκατάσταση και άλλες λειτουργίες
Πρόγραμμα Μαθήματος Οκτώβριος Νοέμβριος Δεκέμβριος Ιανουάριος w3 w4 w1 w2 w3 w4 w1 w2 w3 w4 w1 w2 w3 w4 Σχεδ. Σχεδ. Σχεδιασμό αλληλεπ επιπέδου ΕφαρμογέςΑρχιτεκτονι Εφαρμογές Κατασκευ Διαλέξεις- ς Κλάσεων Σχεδι. ίδρασης φυσικής - κές - Έλεγχος ή- ΦροντιστήΕισαγω και Διαχείρισης ανθρώπ αρχιτεκτονικ Παραδείγμ Συστημάτω Παραδείγμ συστήματ εγκατάστ Προηγμέν ρια γή Μεθόδων Δεδομένων ου-η/υ ής ατα ν ατα ος αση α Θέματα Servlet- Φροντιστή Servlet- Σύνδεση Servlet- Servletρια Servlet Servlet Servlet Σύνδεση ΒΔ ΒΔ Session Session JSP JSP JSP Εργαστήρι α 1ο: HTML- Servlet 1η παράδοση ασκήσεων 2η παράδο ση ασκήσε ων 1η εξέταση 3η παράδοση ασκήσεων 2η εξέταση Επανάλη ψη Επανάλη ψη Εργασία Δήλωση ομάδων 1ο παραδοτέο 2ο παραδοτέ ο 3ο παραδοτέ ο
Εργασία (1) Υποχρεωτική Ομάδες (μέχρι 3 άτομα ανά ομάδα) Ανάπτυξη μιας ολοκληρωμένης εφαρμογής Διαδικτύου με αρχιτεκτονική τριών επιπέδων (3-tier) o Αυτή η εφαρμογή θα παρέχει τη δυνατότητα στους χρήστες να αποθηκεύουν, αναζητούν, επεξεργάζονται και εμφανίζουν δεδομένα που είναι διαθέσιμα σε μια βάση δεδομένων μέσω ενός web browser
Εργασία (2) Η κάθε ομάδα μπορεί να επιλέξει είτε ένα από τα προκαθορισμένα θέματα είτε να προτείνει δικό της θέμα Πέρα από την εργασία (ομαδική) θα υπάρχουν επιπλέον εργαστηριακές ασκήσεις και θα γίνει ατομική εξέταση στο εργαστήριο 2 φορές Τρεις φάσεις της εργασίας o 1 η φάση: Σχεδίαση Προδιαγραφές Υλοποίηση οθονών o 2 η φάση: Υλοποίηση 1 ου λειτουργικού τμήματος o 3 η φάση: Ολοκλήρωση συνόλου εφαρμογής + Τεκμηρίωση
Εργασία - Χρονοδιάγραμμα 25/10/2011: Δήλωση ομάδων και θέματος 26-27/10/2011: 1 ο εργαστήριο 1 η εβδ. Νοεμ.: 1 η παράδοση εργαστηριακών ασκήσεων 2 η εβδ. Νοεμ.: 2 η παράδοση εργαστηριακών ασκήσεων 3 η εβδ. Νοεμ.: 1 η εξέταση εργαστήριο 30/11/2011: 1ο παραδοτέο: Σχεδίαση συστήματος (Word document+db+οθόνες εφαρμογής) 1 η εβδ. Δεκ.: 3 η παράδοση εργαστηριακών ασκήσεων 2 η εβδ. Δεκ.: 2 η εξέταση εργαστήριο 20/12/2011: 2ο παραδοτέο: First running version (Word document + κώδικας) 31/1/2012: 3ο παραδοτέο: Τελικό παραδοτέο: Σύνολο εφαρμογής και τεκμηρίωση (Word document + κώδικας)
Εφαρμογές Διαδικτύου Χαρακτηριστικά εφαρμογών διαδικτύου: o Διεπαφή με χρήστη: Web-browser o Αρχιτεκτονική client-server o Δημοσίευση και φιλοξενία εφαρμογής o Απομακρυσμένη πρόσβαση o Κεντρικοποιημένα και κατανεμημένα μοντέλα συστημάτων o Κυρίαρχο μοντέλο ανάπτυξης εφαρμογών
Πλαίσιο Ανάπτυξης Πληροφοριακών Συστημάτων ΦΑΣΗ Ανάλυση Απαιτήσεων ΜΑΘΗΜΑ Ανάλυση και Σχεδιασμός Π.Σ. (Πουλούδη) Σχεδίαση Συστήματος Ανάλυση και Σχεδιασμός Π.Σ. (Πουλούδη), Τεχνολογίες και Εφαρμογές Διαδικτύου (Πραματάρη) Υλοποίηση Συστήματος Έλεγχος και Παράδοση Συστήματος Java I (Χατζ/νίου), Java II (Σπινέλλης), Βάσεις Δεδομένων (Χατζ/νίου), Δίκτυα (Πουλυμενάκου), (Πραματάρη) (Πραματάρη) Συντήρηση Συστήματος
Καταγραφή υπάρχουσας κατάστασης Ανάλυση Απαιτήσεων Λειτουργικές και μη-λειτουργικές απαιτήσεις Τρόπος εργασίας - Εργαλεία: o Συνεντεύξεις με χρήστες o Αποτύπωση απαιτήσεων με UML: Περίπτωσεις χρήσης (use case diagrams) Διαγράμματα κλάσεων Διαγράμματα ακολουθίας (sequence diagrams) Διαγράμματα δραστηριοτήτων Διαγράμματα συνεργασίας
Σχεδίαση Συστήματος (1) Εννοιολογικό σχέδιο (conceptual design) ή σχέδιο συστήματος (system design): o Επικεντρώνει στις λειτουργίες του συστήματος (ανεξάρτητα από τρόπο υλοποίησης) Τεχνικό σχέδιο (technical design): o Περιγράφει τη μορφή που θα πάρει το σύστημα (ιεραρχία και λειτουργία των συστατικών του λογισμικού, δομές δεδομένων, ροή δεδομένων)
Σχεδίαση Συστήματος (2) Αρχιτεκτονικός σχεδιασμός (architectural design) o Συστατικά συστήματος και υποσυστήματα o Συσχέτιση δυνατοτήτων με συστατικά Λεπτομερής σχεδιασμός (detailed design) o Σχεδίαση διασύνδεσης χρήστη o Σχεδίαση διαχείρισης δεδομένων o Σχεδίαση διαχείρισης εργασιών
Μελέτη Σκοπιμότητας Ανάλυση: παρουσίαση και αξιολόγηση εναλλακτικών προτάσεων για το τι θα κάνει το πληροφοριακό σύστημα Σχεδιασμός: παρουσίαση και αξιολόγηση εναλλακτικών προτάσεων για το πώς θα υλοποιηθεί το σύστημα που έχει επιλεγεί στην ανάλυση (και πώς ο οργανισμός θα αποκτήσει αυτό το σύστημα)
Φάσεις Ανάπτυξης και Επικοινωνία με Χρήστες ΦΑΣΗ Ανάλυση Απαιτήσεων Σχεδίαση Συστήματος Υλοποίηση Συστήματος Έλεγχος και Παράδοση Συστήματος Χρήστες Αναλυτές Συνεντεύξεις, Συνεντεύξεις επικύρωση απαιτήσεων Προγραμματιστές Δημιουργία Επικύρωση με Εννοιολογικού Επικοινωνία με βάση το Σχεδίου βάση τεχνικό εννοιολογικό σχέδιο σχέδιο Συμμετοχή στη δημιουργία Απουσία τεχνικού σχεδίου Συγγραφή κώδικα Έλεγχος Τελικού Έλεγχος Τελικού Έλεγχος Συστήματος Συστήματος υποσυστημάτων και συστήματος Συντήρηση Συστήματος Συντήρηση
Υλοποίηση Συστήματος Υλοποίηση υποσυστημάτων και συστατικών συστήματος o Βάση δεδομένων o Διεπαφής o Λειτουργιών Διασύνδεση υποσυστημάτων, ολοκλήρωση (system integration) Έλεγχος προγραμμάτων
Έλεγχος και Παράδοση Συστήματος Έλεγχος εφαρμογών Έλεγχος συστήματος Εγκατάσταση συστήματος στο τελικό περιβάλλον λειτουργίας Προετοιμασία μεταφορά δεδομένων Έλεγχος συστήματος με πραγματικά δεδομένα και στο τελικό περιβάλλον λειτουργίας
Συντήρηση Συστήματος Έλεγχος της λειτουργίας του συστήματος σε συνεχή βάση Διόρθωση λαθών και επίλυση προβλημάτων o Προβλήματα που σχετίζονται με τον κώδικα (bugs) o Προβλήματα που σχετίζονται με την εγκατάσταση o Προβλήματα με τα δεδομένα Επέκταση συστήματος