Εισαγωγή στην τεχνολογία λογισμικού. Μοντέλα ανάπτυξης λογισμικού. Κύκλος ζωής λογισμικού (φάσεις, διαδικασία ανάπτυξης, μοντέλα κύκλου ζωής). Απαιτήσεις λογισμικού, στάδια προσδιορισμού απαιτήσεων. Ανάλυση απαιτήσεων λογισμικού (εκμαίευση απαιτήσεων, μοντελοποίηση και προτυποποίηση, δομημένη ανάλυση, αντικειμενοστραφής ανάλυση, πρότυπα προδιαγραφής απαιτήσεων). Σχεδίαση λογισμικού (σχέδιο λογισμικού, αποτελεσματική τμηματική σχεδίαση, δομημένη σχεδίαση, αντικειμενοστραφής σχεδίαση, πρότυπα προδιαγραφής σχεδίασης). Κωδικοποίηση και τεκμηρίωση λογισμικού (αρχές κωδικοποίησης, επιλογή αλγοριθμικών δομών, εσωτερική και εξωτερική τεκμηρίωση κώδικα, πρότυπα τεκμηρίωσης). Έλεγχος λογισμικού (στόχοι, σχεδίαση περιπτώσεων δοκιμής, δοκιμασία μονάδων, ολοκλήρωσης, επικύρωσης και συστήματος, δοκιμασία αντικειμενοστραφούς λογισμικού, τεχνικές αποσφαλμάτωσης), εργαλεία ελέγχου, εκτίμηση ποιότητας λογισμικού. Διοίκηση έργου, κοστολόγηση, εξασφάλιση ποιότητας, διαχείριση σχηματισμών, περιβάλλοντα ανάπτυξης, πρότυπα. Ειδικά, σύγχρονα μοντέλα ευέλικτου προγραμματισμού και ανάπτυξη πρωτοτύπου.
Μοντέλα παραγωγής του λογισμικού και πώς αυτά εφαρμόζονται. Περιγραφή των Επαναληπτικών διαδικασιών, των Δραστηριοτήτων διαδικασιών, της Ορθολογικής Ενοποιημένης Διαδικασίας (ΟΕΔ) και πώς εφαρμόζεται η Τεχνολογία λογισμικού με τη βοήθεια ηλεκτρονικών υπολογιστών.
Δραστηριότητες που αφορούν τη διαχείριση και την ανάπτυξη έργων λογισμικού. Πώς γίνεται ο σχεδιασμός ενός έργου, πώς χρονοπρογραμματίζονται οι διαδικασίες και διεργασίες και πώς γίνεται ουσιαστική διαχείριση κινδύνων και αβεβαιότητας. Διάγραμμα GANTT, διάγραμμα PERT, διαγράμματα ανάθεσης εργασιών σε μέλη της ομάδας εργασίας. Πίνακας ανάλυσης ρίσκου στην ανάπτυξη λογισμικού.
Εμβάθυνση στις έννοιες των λειτουργικών και μη λειτουργικών απαιτήσεων. Τι αφορούν οι απαιτήσεις χρήστη και οι απαιτήσεις συστήματος και πώς διαμορφώνονται οι προδιαγραφές διασύνδεσης και το έγγραφο των απαιτήσεων λογισμικού. Λίστα απαιτήσεων λογισμικού. Πρότυπο IEEE Software Requirements Specification.
Μοντέλα που αφορούν τα συστήματα και έχουν να κάνουν με το θεματικό πλαίσιο, τη συμπεριφορά, τα δεδομένα και τα αντικείμενα. Τα 10 βασικά διαγράμματα για την περιγραφή του συστήματος και του λογισμικού. Τα εργαστήρια εργαλείων CASE (upper & lower CASE) και η λειτουργικότητά τους.
Αναφορά στον αρχιτεκτονικό σχεδιασμό και τα επιμέρους ζητήματα. Αποφάσεις που αφορούν τον αρχιτεκτονικό σχεδιασμό και την οργάνωση συστημάτων. Επεξήγηση του στυλ αποδόμησης σε υπομονάδες, του στυλ ελέγχου και των αρχιτεκτονικών αναφοράς. Παρουσίαση του IEEE Standard for Software Design Descriptions.
Σχεδιασμός με κέντρο το αντικείμενο. Αντικείμενα και κλάσεις αντικειμένων, διαδικασίες αντικειμενοστρεφούς σχεδιασμού λογισμικού και πώς εξελίσσεται ο σχεδιασμός. Προβλήματα και λύσεις στον αντικειμενοστρεφή σχεδιασμό και προγραμματισμό. Τα μοντέλα περιγραφής και ανάλυσης στην αντικειμενοστρεφή μεθοδολογία ανάλυσης και σχεδίασης (OOA/OOD).
Μέθοδοι ταχείας ανάπτυξης λογισμικού. Ευέλικτες μέθοδοι και ακραίος προγραμματισμός για την ταχύτερη ανάπτυξη εφαρμογών λογισμικού και την κατασκευή πρωτοτύπων λογισμικού. Agile development. Case study: The Microsoft Software Development Method (OSF).
Δοκιμές συστήματος, δοκιμές συστατικών στοιχείων, σχεδιασμός δοκιμαστικών περιπτώσεων, αυτοματοποίηση δοκιμών.
Παραγωγικότητα λογισμικού, τεχνικές εκτίμησης, αλγοριθμική μοντελοποίηση κόστους, διάρκεια και στελέχωση έργων.
Οι υπηρεσίες ως επαναχρησιμοποιήσιμα συστατικά στοιχεία, τεχνολογία υπηρεσιών, υπηρεσιοκεντρική ανάπτυξη λογισμικού.
Περιλαμβάνει δείγματα διαλέξεων από εργαστήριο που αφορά το συγκεκριμένο μάθημα.