Παρουσίαση/Προβολή

Προγραμματισμός – Τεχνολογία Λογισμικού στις Επιχειρήσεις
(BC0108) - ΑΛΕΞΑΝΔΡΟΣ ΧΑΤΖΗΓΕΩΡΓΙΟΥ, ΣΤΥΛΙΑΝΟΣ ΞΥΝΟΓΑΛΟΣ
Περιγραφή Μαθήματος
Στόχοι μαθήματος
Η ανάπτυξη έργων λογισμικού μεγάλης κλίμακας αποτελεί μια εξαιρετικά σύνθετη δραστηριότητα και εμπεριέχει μεγάλες προκλήσεις τόσο από τεχνολογικής πλευράς όσο και από πλευράς διαχείρισης των σχετικών δραστηριοτήτων και πόρων.
Στόχος του μαθήματος είναι η εισαγωγή στην αντικειμενοστρεφή προσέγγιση για την ανάλυση, σχεδίαση και υλοποίηση λογισμικού, που αποτελεί τον πλέον διαδεδομένο τρόπο ανάπτυξης σύγχρονων συστημάτων. Με τη χρήση της γλώσσας προγραμματισμού Java επιχειρείται η παρουσίαση συστηματικών μεθόδων που αξιοποιούνται για την αντιμετώπιση της πολυπλοκότητας μεγάλων έργων.
Στο πλαίσιο του μαθήματος θα καλυφθούν βασικές και προχωρημένες έννοιες αντικειμενοστρεφούς προγραμματισμού καθώς και η διατύπωση και αποσύνθεση ενός προβλήματος (ανάλυση) και η κατάστρωση της επίλυσής του με λογισμικό (σχεδίαση). Εργαλεία CASE (Computer-Aided Software Engineering) θα αξιοποιηθούν σε ιάφορα στάδια της διαδικασίας ανάπτυξης.
Ημερομηνία δημιουργίας
Τετάρτη 21 Οκτωβρίου 2020
-
Δεξιότητες
Με την επιτυχή περάτωση του μαθήματος ο φοιτητής θα είναι σε θέση:
- να προσδιορίζει τα στάδια ανάπτυξης ενός έργου λογισμικού μεγάλης κλίμακας και να εντοπίζει τις σχετικές προκλήσεις
- να εφαρμόζει τεχνικές αντικειμενοστρεφούς ανάλυσης και σχεδίασης για την προσέγγιση της ανάπτυξης ενός συστήματος λογισμικού
- να υλοποιεί αντικειμενοστρεφή συστήματα λογισμικού
Περιεχόμενο μαθήματος
- Εισαγωγή στον αντικειμενοστρεφή τρόπο σκέψης
- Ορισμός Κλάσεων, Δημιουργία Αντικειμένων
- Σχέσεις μεταξύ κλάσεων, Αποστολή μηνυμάτων μεταξύ αντικειμένων
- Χρήση Κλάσεων Βιβλιοθήκης
- Βελτίωση της δομής αντικειμενοστρεφών συστημάτων με τη χρήση
κληρονομικότητας - Αρχές Αντικειμενοστρεφούς Σχεδίασης. Αξιοποίηση Αφαιρέσεων.
- Ανάπτυξη Γραφικής Διασύνδεσης Χρήστη.
- Χειρισμός Συμβάντων.
- Σύγχρονα περιβάλλοντα αντικειμενοστρεφούς προγραμματισμού
- Εισαγωγή στην Τεχνολογία Λογισμικού. Προκλήσεις στην ανάπτυξη λογισμικού
μεγάλης κλίμακας - Επισκόπηση της Ενοποιημένης Γλώσσας Μοντελοποίησης (UΜL)
- Αντικειμενοστρεφής Ανάλυση: Μοντελοποίηση πεδίου προβλήματος,
καταγραφή απαιτήσεων, περιπτώσεις χρήσης - Αντικειμενοστρεφής Σχεδίαση: Αλληλεπίδραση μεταξύ αντικειμένων, κατανομή
αρμοδιοτήτων, διαγράμματα ακολουθίας, διαγράμματα κλάσεων
Αναλυτικό εβδομαδιαίο πρόγραμμα
α/α εβδ
Ύλη
Διδάσκοντες
1η
Εισαγωγή στον αντικειμενοστρεφή τρόπο σκέψης.
Αντικείμενα και κλάσεις
Ξυνόγαλος
2η
Κατανόηση των ορισμών κλάσεων
Ξυνόγαλος
3η
Αλληλεπίδραση Αντικειμένων - Συσχέτιση κλάσεων
Ξυνόγαλος
4η
Ομαδοποίηση Αντικειμένων (συλλογές αντικειμένων)
Ξυνόγαλος
5η
Πιο εξελιγμένη συμπεριφορά - χρήση κλάσεων βιβλιοθήκης
Ξυνόγαλος
6η
Βελτίωση δομής με κληρονομικότητα
Ξυνόγαλος
7η
Τεχνικές αφαίρεσης, Αφηρημένες κλάσεις, Διασυνδέσεις
Χατζηγεωργίου
8η
Ανάπτυξη Γραφικής Διασύνδεσης Χρήστη – GUI
Χατζηγεωργίου
9η
Διαχείριση γεγονότων, GUI
Χατζηγεωργίου
10η
Εισαγωγή στην Τεχνολογία Λογισμικού. Προκλήσεις στην ανάπτυξη λογισμικού μεγάλης κλίμακας
Διαχείριση Έργων Λογισμικού (Software Project Management)
Χατζηγεωργίου
11η
Επισκόπηση της Ενοποιημένης Γλώσσας Μοντελοποίησης (UML)
Αντικειμενοστρεφής Ανάλυση: Μοντελοποίηση πεδίου προβλήματος, καταγραφή απαιτήσεων, περιπτώσεις χρήσης
Χατζηγεωργίου
12η
Αντικειμενοστρεφής Σχεδίαση: Αλληλεπίδραση μεταξύ αντικειμένων, κατανομή αρμοδιοτήτων, διαγράμματα ακολουθίας, διαγράμματα κλάσεων
Μεθοδολογία ICONIX
Χατζηγεωργίου
13η
Εξετάσεις
Χατζηγεωργίου/
Ξυνόγαλος
Μέθοδοι αξιολόγησης
- τελική γραπτή εξέταση: 60%
- 5 ατομικές προγραμματιστικές εργασίες: 40%
Λογισμικό
Στο μάθημα χρησιμοποθοιούνται τα παρακάτω περιβάλλοντα προγραμματισμού:
- Εκπαιδευτικό περιβάλλον προγραμματισμού BlueJ: https://bluej.org/
Κατεβάστε και εγκαταστήστε την κατάλληλη έκδοση ανάλογμα με την πλατφόρμα που χρησιμοποιείται (Windows, Ubuntu/Debian, Mac OS X).
Παρέχεται η δυνατότητα να κατεβάσετε το περιβάλλον (standalone zip) και να το εκτελείτε ακόμα και από ένα USB stick.
Προσοχή!! Αν το λειτουργικό σας σύστημα είναι 32-bit θα πρέπει να κατεβάσετε την έκδοση 4.1.4 του BlueJ και όχι την τελευταία.
- Eclipse IDE for Java Developers
Μπορείτε να βρείτε αναλυτικές οδηγίες εγκατάστασης εδώ.
Βιβλιογραφία
JAVA, 7η Έκδοση, Savitch Walter, (7η έκδοση), Εκδόσεις Τζιόλα. Λεπτομέρειες
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ JAVA: ΜΙΑ ΠΡΑΚΤΙΚΗ ΕΙΣΑΓΩΓΗ ΜΕ ΧΡΗΣΗ ΤΟΥ BLUEJ, DAVID J. BARNES, MICHAEL KOLLING, (6η αμερικάνικη έκδοση), Κλειδάριθμος 2018. Λεπτομέρειες
Η. Μ. Deitel and P. J. Deitel, Java: How to Program, Prentice Hall, 2009.
C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Prentice Hall, 2004.
D. Rosenberg, M. Stephens, Use Case Driven Object Modelling with UML: Theory and Practice, Apress, 2007.
Διδάσκοντες
Χατζηγεωργίου Α., Καθηγητής, achat@uom.edu.gr
Ξυνόγαλος Σ., Καθηγητής, stelios@uom.edu.gr