Τίτλος Μαθήματος Τεχνολογία Λογισμικού
Κωδικός Μαθήματος 321-4000
Εξάμηνο 5
ECTS 5
Ώρες (Θεωρία) 3
Ώρες (Εργαστηρίο) 2
Διδάσκοντας Κρητικός Κυριάκος

Ύλη μαθήματος

  • Εισαγωγή στην Τεχνολογία Λογισμικού (Βασικοί Ορισμοί, Επαγγελματική Ανάπτυξη Λογισμικού, Θέματα Ηθικής, Περιπτώσεις Χρήσης).
  • Διαδικασίες & Κύκλος Ζωής Λογισμικού (Μοντέλα Διαδικασίας Παραγωγής Λογισμικού, Δραστηριότητες Διαδικασίας Παραγωγής, Αντιμετώπιση Αλλαγών, Βελτίωση Διαδικασίας Παραγωγής Λογισμικού, Ορθολογική Ενοποιημένη Διαδικασία, Τεχνολογία Λογισμικού με την Βοήθεια Υπολογιστή)
  • Ευέλικτη Ανάπτυξη Λογισμικού (Ευέλικτες Μέθοδοι, Ευέλικτες Τεχνικές Ανάπτυξης, Ευέλικτη Διαχείριση Έργων, Περιβάλλον Ευέλικτης Ανάπτυξης, Κλιμάκωση Ευέλικτων Μεθόδων)
  • Μηχανική Απαιτήσεων (Λειτουργικές & Μη Λειτουργικές Απαιτήσεις, Διαδικασίες Μηχανικής Απαιτήσεων, Εξαγωγή Απαιτήσεων, Προσδιορισμός/Προδιαγραφή Απαιτήσεων, Επικύρωση Απαιτήσεων, Τροποποίηση Απαιτήσεων)
  • Μοντελοποίηση Συστήματος (Μοντέλα Περιβάλλοντος, Μοντέλα Αλληλεπίδρασης, Δομημένα Μοντέλα, Μοντέλα Συμπεριφοράς, Μηχανική Οδηγούμενη από Μοντέλα)
  • Αρχιτεκτονική Σχεδίαση (Αποφάσεις Αρχιτεκτονικής Σχεδίασης, Αρχιτεκτονικές Όψεις, Αρχιτεκτονικά Μοτίβα, Αρχιτεκτονικές Εφαρμογών, Αρχιτεκτονικές Αναφοράς)
  • Επαλήθευση & Επικύρωση Λογισμικού (Επιθεώρηση Λογισμικού, Διαδικασία Δοκιμής Λογισμικού, Είδη Δοκιμής Λογισμικού, Δοκιμή Ανάπτυξης, Ανάπτυξη Οδηγούμενη από Δοκιμές, Δοκιμή Εκδόσεων, Δοκιμή Χρηστών)
  • Διαχείριση Έργων (Δραστηριότητες Διαχείρησης, Διαχείριση Ρίσκου, Διαχείριση Ατόμων, Ομαδική Εργασία)
  • Προγραμματισμός Έργων (Τιμολόγηση Λογισμικού, Ανάπτυξη Οδηγούμενη από Πλάνα, Χρονοπρογραμματισμός Έργου, Ευέλικτος Προγραμματισμός Έργων, Τεχνικές Εκτίμησης, Μοντελοποίηση Κόστους COCOMO II)

 

Επιδιωκόμενα μαθησιακά αποτελέσματα

Ο/Η φοιτητής/-τρια που θα ολοκληρώσει επιτυχώς την εν λόγω Θεματική Ενότητα, αναμένεται ότι θα είναι σε θέση να:

  • Αναλύει τις απαιτήσεις ενός προβλήματος και να τις προδιαγράφει σε ένα έγγραφο προδιαγραφής λογισμικού
  • Σχεδιάζει & υλοποιεί λύσεις λογισμικού με βάση το έγγραφο προδιαγραφής λογισμικού ακολουθώντας μια προσέγγιση επικεντρωμένη στις υπηρεσίες (service-oriented development)
  • Μοντελοποιεί ένα σύστημα λογισμικού χρησιμοποιώντας διάφορα είδη διαγραμμάτων της UML, καλύπτοντας τόσο τη δομή όσο και τη συμπεριφορά του συστήματος
  • Υλοποιεί RESTful υπηρεσίες χρησιμοποιώντας την Java & σχετικές τεχνολογίες (Maven, Hibernate/JPA, Jersey/Spring Boot)
  • Αναπτύσσει ομαδικά το λογισμικό χρησιμοποιώντας τεχνολογίες όπως το Git
  • Σχεδιάζει και υλοποιεί αυτοματοποιημένες δοκιμές μονάδων λογισμικού μέσω της τεχνολογίας JUnit
  • Εφαρμόζει θεωρητικές γνώσεις στην πράξη επιλύοντας προβλήματα.
  • Ακολουθεί κριτική προσέγγιση στην ανάπτυξη λύσεων.
  • Αναζητά ποιοτικές λύσεις αξιολογώντας τα σχέδιά του σύμφωνα με κριτήρια ποιότητας που εφαρμόζει σε σημεία ελέγχου της διαδικασίας ανάπτυξης.
  • Εγκαθιστά και χρησιμοποιεί εργαλεία Τεχνολογίας Λογισμικού Υποβοηθούμενης από Υπολογιστή (Computer Aided Software Engineering/CASE tools)

Προαπαιτούμενα

Δεν απαιτούνται.

Εγχειρίδια του μαθήματος

  1. Ian Sommerville: “Βασικές Αρχές Τεχνολογίας Λογισμικού”, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, 2009. Κωδικός Βιβλίου στον Εύδοξο: 13625
  2. Roger S. Pressman, Bruce R. Maxim: "Τεχνολογία Λογισμικού - Μια Πρακτική Προσέγγιση", ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε, 2018, Κωδικός Βιβλίου στον Εύδοξο: 68374068
  3. Γιακουμάκης Εμμανουήλ, Διαμαντίδης Νικόλαος: “Τεχνολογία Λογισμικού”, UNIBOOKS ΙΚΕ, 2017, Κωδικός Βιβλίου στον Εύδοξο: 68402214
  4. ΓΕΡΟΓΙΑΝΝΗΣ, ΚΑΚΑΡΟΝΤΖΑΣ, ΚΑΜΕΑΣ, ΣΤΑΜΕΛΟΣ, ΦΙΤΣΙΛΗΣ, ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ UML 1η έκδοση/2006 Κωδικός Βιβλίου στον Εύδοξο: 13597 ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ
  5. IEEE Software Engineering Standards, IEEE publications, 1998. 

Συμπληρωματική βιβλιογραφία

  • IEEE Transactions on Software Engineering
  • Journal of Software & Systems 
  • Advances in Engineering Software
  • Information and Software Technology 
  • Requirements Engineering

Διδακτικές και μαθησιακές μέθοδοι

 

Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39 ώρες
Εργαστηριακή άσκηση 20 ώρες
Προσωπική μελέτη 30 ώρες
Ομαδική εργασία εργαστηρίου 33 ώρες
Τελική εξέταση 3 ώρες
Σύνολο Μαθήματος 125 ώρες (5 ECTS)

 

Μέθοδοι αξιολόγησης / βαθμολόγησης

  • Γλώσσα Αξιολόγησης: Ελληνική - Εάν υπάρχουν φοιτητές/ήτριες ERASMUS: Αγγλική. 
  • Μέθοδος αξιολόγησης θεωρίας: Τελική γραπτή εξέταση (Ο βαθμός της τελικής εξέτασης πρέπει να είναι ≥ 5 για προβιβάσιμο βαθμό.) (Περιλαμβάνει ασκήσεις αντιστοίχισης, ερωτήσεις πολλαπλών επιλογών, ερωτήσεις ανάπτυξης, ασκήσεις μοντελοποίησης συστήματος, ασκήσεις εκτίμησης κόστους, ασκήσεις χρονοπρογραμματισμού, ασκήσεις σχεδιασμού δοκιμών)
  • Μέξοδος αξιολόγησης εργαστηρίου: Ομαδική εργασία (στην ανάπτυξη λογισμικού) (Ο βαθμός του εργαστηρίου πρέπει να είναι ≥ 5 για προβιβάσιμο βαθμό) (Η εργασία παραδίδεται & εξετάζεται προφορικά). 
  • Ο τελικός βαθμός διαμορφώνεται ως εξής: 0.5 * (Βαθμός Εργαστηρίου) + 0.5 * (Βαθμός Εξέτασης).
  • Τα θέματα των εξετάσεων/εργασιών έχουν σαφώς προσδιορισμένα κριτήρια αξιολόγησης, τα οποία και αναγράφονται. Οι φοιτητές έχουν την δυνατότητα να δουν το γραπτό τους μετά την αξιολόγηση και να διαπιστώσουν τα λάθη τους. Οι φοιτητές λαμβάνουν ανατροφοδότηση για την εργαστηριακή τους εργασία. Ανακοινώνεται στο e-class η συνολική κατανομή των βαθμών του μαθήματος, ώστε ο φοιτητής να μπορεί να αξιολογήσει την επίδοσή του (συνολικά και εν μέρει όσον αφορά το κάθε μέρος του μαθήματος).

Γλώσσα διδασκαλίας

Ελληνικά (Αγγλικά αν υπάρχουν φοιτητές/φοιτήτριες ERASMUS)

Τρόπος παράδοσης μαθήματος

Πρόσωπο με πρόσωπο