Ανάπτυξη Λογισμικού ΙΙ
Course Feature
Περιγραφή μαθήματος
Κωδικός μαθήματος: ΜΥΕ004
Εβδομαδιαίες ώρες διδασκαλίας: 3,0,2
Εξάμηνο σπουδών: >=6
Διδακτικές Μονάδες: 4
Μονάδες ECTS: 5
Ιστοσελίδα Μαθήματος: http://www.cs.uoi.gr/~zarras/soft-devII.htm
Προσφερόμενο: Ακαδημαϊκό έτος 2024-2025
Προαπαιτούμενα:
Περιεχόμενο:
Θεμελιώδης αρχές, πρότυπα και καλές πρακτικές για την συγγραφή λογισμικού: Γενικές έννοιες, θέματα ονοματολογίας (πρότυπα, συμβάσεις, καλές πρακτικές για την επιλογή ονομάτων), θέματα τεκμηρίωσης (κατηγορίες καλών/κακών σχολίων, πρότυπα, συμβάσεις, καλές πρακτικές για την τεκμηρίωση του κώδικα), θέματα μορφοποίησης (ιδιότητες οριζόντιας μορφοποίησης, ιδιότητες κατακόρυφης μορφοποίησης, πυκνότητα κώδικα, διαφάνεια κώδικα, πρότυπα, συμβάσεις, καλές πρακτικές για τη μορφοποίηση.), οργάνωση λογισμικού (ιδιότητες καθαρών συναρτήσεων, ιδιότητες καθαρών κλάσεων, πρότυπα, συμβάσεις, καλές πρακτικές για τη συγγραφή καθαρού κώδικα), αρχές αντικειμενοστρεφούς σχεδίασης (αντιστροφή εξαρτήσεων, ανοιχτή κλειστή σχεδίαση, μοναδική αρμοδιότητα, διαχωρισμός διεπαφών, κλπ.), διαχείριση σφαλμάτων.
Αναδόμηση λογισμικού: Γενικές έννοιες, συμπτώματα κακής σχεδιάσης και υλοποίησης λογισμικού, τεχνικές αναδόμησης για την οργάνωση κώδικα σε μεθόδους, τεχνικές απλοποίησης συνθηκών, τεχνικές αναδόμησης σχετικές με την ανάθεση αρμοδιοτήτων και μετακινήσεις, τεχνικές απλοποίησης μεθόδων, τεχνικές αναδόμησης σχετικές με την γενίκευση και την εξειδίκευση, προχωρημένες τεχνικές αναδόμησης λογισμικού και σχεδιαστικά πρότυπα.
Παρατηρήσεις: