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

Προχωρημένα Θέματα Τεχνολογίας Λογισμικού
(BA325) - Μαρία Κεχαγιά
Περιγραφή Μαθήματος
Σκοπός του μαθήματος είναι η κατανόηση βασικών εννοιών και εργαλείων τεχνολογίας λογισμικού. Θα παρουσιάσουμε και θα μελετήσουμε σύγχρονα και προχωρημένα (state-of-the-art) εργαλεία και τεχνικές για την ανάπτυξη και συντήρηση “μεγάλων έργων” λογισμικού.
Στο τέλος του μαθήματος, θα μπορείτε να κρίνετε ποιά τεχνική είναι η κατάλληλη για τη λύση ενός προβλήματος τεχνολογίας λογισμικού σε ένα “μεγάλο” έργο λογισμικού.
Τα περιεχόμενα του μαθήματος παρουσιάζονται παρακάτω:
- Ο κύκλος ζωής του λογισμικού: ανάλυση απαιτήσεων, σχεδίαση, έλεγχος, έκδοση, εξέλιξη, και συντήρηση, διεργασίες ανάπτυξης
- Βασικές αρχές αρχιτεκτονικής λογισμικού: αντικειμενοστραφής προγραμματισμός, βασικά μοντέλα σχεδιασμού, καλές πρακτικές σχεδίασης, τεκμηρίωση, επαναχρησιμοποίηση κώδικα
- Αποσφαλμάτωση λογισμικού: αυτοματοποιημένος εντοπισμός λαθών με στατική/δυναμική ανάλυση και fuzzing, και αυτοματοποιημένη επιδιόρθωση λογισμικού, εφαρμογή των τεχνικών για εντοπισμό προβλημάτων που προκαλούν κατάρρευση και ευπάθειες λογισμικού
- Βελτίωση λογισμικού (λειτουργικές/μη-λειτουργικές απαιτήσεις): 1. βελτιστοποίηση μη λειτουργικών απαιτήσεων με τη χρήση μετρικών και εργαλείων ποιότητας λογισμικού για την ανίχνευση κλώνων κώδικα, ανίχνευση μη εκτελέσιμου κώδικα, ανίχνευση οσμών κώδικα, ανίχνευση λανθασμένης χρήσης βιβλιοθηκών, ανακατασκευή κώδικα και 2. βελτιστοποίηση μη λειτουργικών απαιτήσεων όπως βελτιστοποίηση χρόνου εκτέλεσης και μνήμης, μείωση κατανάλωσης ενέργειας
- Οργάνωση μεγάλων έργων λογισμικού: ανοιχτό Vs. κλειστό λογισμικό, ιεραρχίες, συστήματα διαχείρισης ελέγχου εκδόσεων λογισμικού (version control systems) π.χ., GitHub, άδειες λογισμικού, συνεχής ενοποίηση ενσωμάτωσης αλλαγές κώδικα (continuous integration), software containers (docker), αναθεώρηση κώδικα (code review), διαχείριση διαμόρφωσης (configuration management), γραμμές παραγωγής (product lines), προκλήσεις
- Τεχνητή Νοημοσύνη και Τεχνολογία Λογισμικού: χρήση της τεχνητής νοημοσύνης σε μεθόδους και τεχνικές για την ανάπτυξη και συντήρηση έργων λογισμικού, προβλήματα ηθικής
Ημερομηνία δημιουργίας
Πέμπτη 13 Φεβρουαρίου 2025
-
Δεν υπάρχει περίγραμμα