Τεχνολογία Λογισμικού 2018-19

Γεώργιος Δροσάτος

Περιγραφή

Το μάθημα της «Τεχνολογίας Λογισμικού» έχει ως σκοπό να εξοικειώσει τους φοιτητές με την μηχανική λογισμικού (Software Engineering) και να εισάγει τη μεθοδολογία και τις απαραίτητες τεχνικές σχεδίασης, ανάπτυξης, υλοποίησης, δοκιμής και εγκατάστασης μεγάλων έργων λογισμικού. Στα πλαίσια του μαθήματος θα παρουσιαστούν οι μεθοδολογίες και οι τεχνικές που σχετίζονται με τον κύκλο ζωής του λογισμικού και αφορούν την διαχείριση έργων λογισμικού, την ανάλυση απαιτήσεων και την μοντελοποίηση λογισμικού, τον έλεγχο αξιοπιστίας και την εγκατάσταση προϊόντων λογισμικού. Απώτερος στόχος του μαθήματος είναι να παρέχει στους συμμετέχοντες την πρώτη εμπειρία τους στην ανάπτυξη λογισμικού σε ομάδες μέσα από μια σειρά μεθοδευμένων εργαστηριακών ασκήσεων.

Κωδικός: TMA567
Κατηγορία: Πολυτεχνικής Σχολή » Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών » Προπτυχιακό

Θεματικές Ενότητες

Αντικείμενα ενασχόλησης:

  • Εισαγωγή
    • Ορισμός της έννοιας του Λογισμικού
    • Τι είναι η τεχνολογία λογισμικού;
    • Ιδιαιτερότητες του λογισμικού
  • Ποιοτικό λογισμικό
  • Ανάπτυξη λογισμικού με μια ματιά
    • Πως γίνεται η ανάπτυξη λογισμικού;
    • Δραστηριότητες ανάπτυξης
    • Κόστος ανάπτυξης και διόρθωσης σφαλμάτων

Αντικείμενα ενασχόλησης:

  • Διαχείριση έργων λογισμικού
    • Ορισμοί
    • Βασικές έννοιες
    • Βασικά εργαλεία
  • Μοντέλα και μεθοδολογίες ανάπτυξης λογισμικού
    • Μοντέλο καταρράκτη
    • Αυξητικό μοντέλο
    • Επαναληπτικό μοντέλο
    • Πρωτοτυποποίηση
    • Σπειροειδές μοντέλο
    • Rational Unified Process
    • Ευέλικτη διαδικασία (agile)
    • Scrum
    • DevOps

Αντικείμενα ενασχόλησης:

  • Λειτουργικές και μη λειτουργικές απαιτήσεις
  • Απαιτήσεις χρήστη
  • Απαιτήσεις συστήματος
  • Προδιαγραφές διασύνδεσης
  • Γραφικός προσδιορισμός απαιτήσεων με διαγράμματα ακολουθίας
  • Το έγγραφο των απαιτήσεων λογισμικού

Αντικείμενα ενασχόλησης:

  • Συνεντεύξεις (Interviews)
  • Συνεργατική ανάπτυξη εφαρμογής (Joint application development)
  • Ερωτηματολόγια (Questionnaires)
  • Ανάλυση κειμένων (Document analysis)
  • Προσωπική παρατήρηση (Observation)

Αντικείμενα ενασχόλησης:

  • Μοντέλο καταρράκτη
  • Ελικοειδές μοντέλο
  • Αστεροειδές μοντέλο
  • Μοντέλο ανθρωποκεντρικού σχεδιασμού
  • Μεθοδολογία LUCID (Logical User-Centred Interactive Design)
  • Μηχανική ευχρηστίας (Usability engineering)
  • Μοντέλα ανάπτυξης δικτυακών τόπων

Αντικείμενα ενασχόλησης:

  • Αποφάσεις αρχιτεκτονικού σχεδιασμού και οργάνωσης συστήματος
  • Αρχιτεκτονικές κατανεμημένων συστημάτων
  • Αρχιτεκτονικές πολυεπεξεργασίας, πελάτη-διακομιστή και κατανεμημένων αντικειμένων
  • Αρχιτεκτονικές εφαρμογών
  • Συστήματα επεξεργασίας δεδομένων, συναλλαγών, συμβάντων και γλώσσας

Αντικείμενα ενασχόλησης:

  • Αντικειμενοστρεφής σχεδιασμός
  • Σχεδιαστικές αρχές λογισμικού
    • Αφαίρεση (abstraction)
    • Βελτίωση (refinement)
    • Τμηματοποίηση (modularity)
    • Ενθυλάκωση (encapsulation)
    • Επαναχρησιμοποίηση (reuse)
  • Σύνολο αρχών S.O.L.I.D.
  • Η έννοια του τεχνικού χρέους (technical/design/code debt)

Αντικείμενα ενασχόλησης:

  • Σχεδιασμός λογισμικού πραγματικού χρόνου
  • Συστήματα παρακολούθησης, ελέγχου και απόκτησης δεδομένων
  • Σχεδιασμός διασύνδεσης χρήστη
  • Κατασκευή πρωτοτύπων διασύνδεσης χρήστη και αξιολόγηση διασύνδεσης

Αντικείμενα ενασχόλησης:

  • Γρήγορη ανάπτυξη λογισμικού
  • Επαναχρησιμοποίηση λογισμικού
  • Πλαίσια εργασίας εφαρμογών
  • Τεχνολογία λογισμικού βάσει συστατικών στοιχείων (Component-Based Software Engineering – CBSE)

Αντικείμενα ενασχόλησης:

  • Τεκμηρίωση κώδικα
  • Σχεδιασμός επαλήθευσης και επικύρωσης
  • Επιθεωρήσεις λογισμικού και αυτοματοποιημένη ανάλυση
  • Δοκιμές λογισμικού και σχεδιασμός τους
  • Επικύρωση κρίσιμων συστημάτων και αξιοπιστίας
  • Αξιολόγηση προστασίας από εξωτερικούς κινδύνους

Αντικείμενα ενασχόλησης:

  • Δυναμική της εξέλιξης των προγραμμάτων
  • Συντήρηση λογισμικού
  • Διαδικασίες εξέλιξης
  • Εξέλιξη κληρονομημένων συστημάτων
  • Διαχείριση αλλαγών
  • Διαχείριση πρώιμων και τελικών εκδόσεων

Ημερολόγιο