Τεχνολογία Λογισμικού στην Πράξη

Κωδικός: 
8138
Εξάμηνο: 
6ο
Μαθήματα Κατευθύνσεων

Τα περισσότερα μαθήματα Πληροφοριακών Συστημάτων και Επιστήμης Υπολογιστών παραδοσιακά πραγματεύονται την ανάπτυξη νέων συστημάτων. Στην πράξη όμως οι μηχανικοί λογισμικού αφιερώνουν το μεγαλύτερο μέρος του χρόνου τους σε δραστηριότητες του κύκλου ζωής λογισμικού που έπονται της φάσης της ανάπτυξης λογισμικού. Στόχος αυτού του μαθήματος είναι να δώσει τα εφόδια στους φοιτητές ούτως ώστε να μελετήσουν, να κατανοήσουν, και να αξιολογήσουν τις μονάδες λογισμικού που απαρτίζουν ένα σύστημα (κώδικας, δομή, αρχιτεκτονική). Έχοντας παρακολουθήσει αυτό το μάθημα, οι φοιτητές θα είναι ικανοί να παίρνουν ευφυείς αποφάσεις για τη συντήρηση υπαρχόντων συστημάτων, να προγραμματίζουν στρατηγικές για το σχεδιασμό και την εξέλιξη παλαιωμένου κώδικα, και να καθορίζουν τη χρήση της αναδιάταξης κώδικα για την αντιμετώπιση ασυνεπειών στην αρχιτεκτονική του συστήματος και χαμηλής ποιότητας κώδικα.

Ένα στοιχείο καινοτομίας του μαθήματος αφορά τη χρήση Ελεύθερου Λογισμικού / Λογισμικού Ανοιχτού Κώδικα (ΕΛ/ΛΑΚ) στα παραδείγματα και τις ασκήσεις του μαθήματος. Μέσω της μελέτης συστημάτων ΕΛ/ΛΑΚ οι φοιτητές παρατηρούν στο μάθημα πως είναι δομημένες και υλοποιημένες σημαντικές εφαρμογές όπως ο εξυπηρετητής Apache Web, η σχεσιακή βάση δεδομένων Postgres, ο περιέκτης servlet Jakarta Java και το πλαίσιο Cocoon.

Τα περιεχόμενα του μαθήματος είναι:

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