ΠΛΗ42: Ειδικά Θέματα Τεχνολογίας Λογισμικού

Κωδικός ΘΕ: ΠΛΗ42

Πιστωτικές Μονάδες ECTS:
20

Τύπος ΘΕ:
Κατ' επιλογήν υποχρεωτική αντί των ΠΛΗ23 ή ΠΛΗ40

Χαρακτηρισμός ΘΕ:
Επιστημονικής Περιοχής (ΕΠ)

Έτος που προσφέρεται:
Τέταρτο (4ο)

Συντονιστής ΘΕ:
ΝΙΚΟΛΑΟΣ ΤΣΕΛΙΟΣ

Γλώσσα Διδασκαλίας:
Ελληνική

Γενική Περιγραφή της ΘΕ:
Η ΘΕ έχει ως σκοπό να σας εξειδικεύσει σε θέματα Software Engineering (Τεχνολογία Λογισμικού). Κατά κάποιον τρόπο, αποτελεί συνέχεια της ΘΕ ΠΛΗ11 και σε μικρότερο βαθμό της ΘΕ ΠΛΗ24, μιας και η συνέχεια αφορά μόνο στο βιβλίο με τίτλο "Τεχνολογία Λογισμικού ΙΙ".

Μαθησιακά Αποτελέσματα:

ΤΥΠΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ
Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα μπορεί:
- Να περιγράψει και να εξηγήσει τον όρο «προδιαγραφές λογισμικού».
- Να αναφέρει τις 3 κατηγορίες προδιαγραφών ανάλογα με τη βαθμό τυπικότητας: τυπικές, ημι-τυπικές και μη τυπικές.
- Να αναφέρει τις σημαντικότερες ημι-τυπικές τεχνικές παραγωγής προδιαγραφών.
- Να αναφέρει τα χαρακτηριστικά των γλωσσών τυπικών προδιαγραφών.
- Να γνωρίζει στοιχεία από τα μαθηματικά εργαλεία στα οποία βασίζονται οι γλώσσες τυπικών προδιαγραφών, όπως προτασιακός λογισμός, κατηγορηματικός λογισμός, λογικές συναρτήσεις και θεωρία συνόλων.
- Να εξηγήσει και να εφαρμόσει τις αξιωματικές και τις αλγεβρικές προδιαγραφές για την περιγραφή ενός λογισμικού και των λειτουργιών του, χρησιμοποιώντας εξισώσεις, αναδρομικές σχέσεις και κανονικές εκφράσεις.
- Να γράφει και να ερμηνεύει σχήματα Ζ και τους βασικούς συμβολισμούς και τελεστές που υποστηρίζει.
- Να προδιαγράφει με σχήματα Ζ το αναλλοίωτο ή τη μεταβολή της κατάστασης ενός τμήματος λογισμικού, των λειτουργιών ενός λογισμικού, των διαδικασιών χειρισμού λαθών και των λειτουργιών χειρισμού δεδομένων.
- Να δημιουργεί σύνθετα σχήματα στη γλώσσα Ζ και να προδιαγράφει σύνθετες λειτουργίες του λογισμικού με τη χρήση συναρτήσεων, ακολουθιών και πολυ-συνόλων.
- Να δώσει τον τυπικό ορισμό των δικτύων Petri και να περιγράψει τις βασικές έννοιες, κανόνες και ιδιότητες που τα διέπουν.
- Να αναγνωρίζει και να σχεδιάζει δίκτυα Petri τριών διαφορετικών κατηγοριών: δίκτυα συνθήκης-γεγονότος, θέσης-μετάβασης και διακριτών τεκμηρίων.
- Να χρησιμοποιήσει αποτελεσματικά εργαλεία για τη σχεδίαση δικτύων Petri και την πρακτική εφαρμογή τους.
- Να αναιρέσει σχετικούς μύθους γύρω από την εφαρμογή τυπικών προδιαγραφών.
- Αναφέρει και να εφαρμόσει 10 εντολές σωστής πρακτικής εφαρμογής τυπικών τεχνικών.

ΕΓΚΥΡΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ
Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα μπορεί:
- Να διακρίνει τις δραστηριότητες επαλήθευσης και επικύρωσης (Ε&Ε) λογισμικού και να κατανοεί τη θέση τους στον κύκλο ζωής λογισμικού.
- Να διακρίνει τις στατικές μη τυπικές Τεχνικές Ε&Ε από τις δυναμικές μη τυπικές Τεχνικές Ε&Ε
- Να περιγράψει τις στατικές τεχνικές Ε&Ε (στατική ανάλυση, περιήγηση, επισκόπηση, κά) και να γνωρίζει τους στόχους τους, τα σημεία εφαρμογής τους και τα πλεονεκτήματα της καθεμιάς.
- Να περιγράψει τις δυναμικές τεχνικές Ε&Ε (συμβολική εκτέλεση, προσομοίωση, ανάλυση ευαισθησίας, έλεγχος λογισμικού) και να γνωρίζει τους στόχους τους, τα σημεία εφαρμογής τους και τα πλεονεκτήματα της καθεμιάς.
- Να περιγράψει και να εξηγήσει τις τρεις φάσεις ελέγχου: δοκιμή μονάδων, δοκιμή συγκρότησης, δοκιμή επικύρωσης.
- Να εξηγήσει και να εφαρμόσει αποτελεσματικά τις σημαντικότερες τεχνικές σχεδίασης περιπτώσεων ελέγχου για το λειτουργικό έλεγχο του λογισμικού (έλεγχος αδιαφανούς κουτιού), όπως: διαμέριση σε κλάσεις ισοδυναμίας, ανάλυση οριακών τιμών, γράφημα αιτίου – αποτελέσματος.
- Να εξηγήσει και να εφαρμόσει αποτελεσματικά τις σημαντικότερες τεχνικές σχεδίασης περιπτώσεων ελέγχου για τον δομικό έλεγχο του λογισμικού (έλεγχος διαφανούς κουτιού), όπως: έλεγχος βασικών μονοπατιών, έλεγχος δομών επανάληψης.
- Να εξηγήσει και να εφαρμόσει αποτελεσματικά τις σημαντικότερες τεχνικές σχεδίασης περιπτώσεων ελέγχου για τον έλεγχο των διεπαφών ανάμεσα στα τμήματα που συγκροτούν ένα σύστημα λογισμικού.
- Να γνωρίζει τα πιο σημαντικά θέματα για την πρακτική εφαρμογή των διαφόρων τεχνικών ελέγχου λογισμικού, όπως δοκιμή από κάτω προς τα πάνω και το αντίστροφο, δοκιμή άλφα και βήτα, δοκιμή απόδοσης, δοκιμή ανάκαμψης, κά.
- Να εξηγήσει και να εφαρμόσει αποτελεσματικά τις μεθόδους εκσφαλμάτωσης οι οποίες ακολουθούν μια επιτυχημένη φάση ελέγχου, με σκοπό της διόρθωση των σφαλμάτων που αυτή αποκάλυψε, όπως τεχνικές κατά μέτωπο επίθεσης, μέθοδος οπισθοδρόμησης, τεχνικές εντοπισμού του αιτίου του σφάλματος.
- Να σχεδιάσει και να εφαρμόσει έλεγχο απόδοσης (έλεγχο φορτίου και έλεγχο έντασης) πολυχρηστικών εφαρμογών, και πιο συγκεκριμένα εφαρμογών Παγκοσμίου Ιστού.

ΔΙΑΧΕΙΡΙΣΗ & ΠΟΙΟΤΗΤΑ ΛΟΓΙΣΜΙΚΟΥ
Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα μπορεί:
- Να γνωρίζει τι είναι ποιότητα λογισμικού και πως αυτή διασφαλίζεται.
- Να αναγνωρίζει τις διαφορές στη διαδικασία διασφάλισης της ποιότητας λογισμικού σε σχέση με άλλα προϊόντα.
- Να γνωρίζει τα διαδεδομένα μοντέλα διασφάλισης ποιότητας λογισμικού και να εφαρμόσει αποτελεσματικά το πρότυπο ISO9126.
- Να γνωρίζει τι είναι οι εσωτερικές και οι εξωτερικές μετρικές ποιότητας λογισμικού, ποια είναι η διαδικασία μέτρησής τους και σε ποιο βαθμό αυτές συσχετίζονται μεταξύ τους.
- Να γνωρίζει και να μπορεί να εφαρμόσει αποτελεσματικά τις μετρικές Halstead και να ερμηνεύσει τη σημασία των αποτελεσμάτων.
- Να γνωρίζει τη θεμελιώδη προβληματική και τους στόχους του πεδίου Αλληλεπίδρασης Ανθρώπου Υπολογιστή καθώς επίσης και τις βασικές θεωρίες μοντελοποίησης της αλληλεπίδρασης (όπως μοντέλο ανθρώπινου επεξεργαστή και επιπέδου πληκτρολογήσεων, νόμος Fitts, Hick-Hyman και εξάσκησης-πρακτικής).
- Να γνωρίζει και να μπορεί να εφαρμόσει αποτελεσματικά τις πλέον διαδεδομένες μεθόδους αξιολόγησης (ευρετική αξιολόγηση, γνωσιακό περιδιάβασμα, παρατήρηση χρηστών, ερωτηματολόγια, μέτρηση απόδοσης).
- Να γνωρίζει και να μπορεί να εφαρμόσει τις βασικές τεχνικές συλλογής, ανάλυσης και ερμηνείας ποσοτικών δεδομένων στο πλαίσιο της αξιολόγησης ευχρηστίας μιας διαδραστικής εφαρμογής.
- Να επιλέγει κατάλληλο συνδυασμό μεθόδων αξιολόγησης ευχρηστίας ανάλογα με το είδος και τη φάση ανάπτυξης της διαδραστικής εφαρμογής.

Γνωστικά αντικείμενα της ΘΕ:

1. Τυπικές Προδιαγραφές
2. Εγκυροποίηση Λογισμικού
3. Διαχείριση & Ποιότητα Λογισμικού

Διδακτικό υλικό:
Οι Εκδόσεις του ΕΑΠ για την ΘΕ είναι διαθέσιμες εδώ!

Προαπαιτούμενα: Δεν υπάρχουν προαπαιτούμενα για τη ΘΕ.

Μέθοδος Διδασκαλίας:
Εξ αποστάσεως εκπαίδευση με διεξαγωγή πέντε Ομαδικών Συμβουλευτικών Συναντήσεων κατά τη διάρκεια του ακαδημαϊκού έτους σε Σαββατοκύριακα.

Αξιολόγηση: Εκπόνηση γραπτών εργασιών κατά τη διάρκεια του ακαδημαϊκού έτους ο μέσος όρος των βαθμών των οποίων συμμετέχει στη διαμόρφωση του τελικού βαθμού της ΘΕ κατά 30%, εφόσον υπάρξει προβιβάσιμος στις τελικές ή επαναληπτικές εξετάσεις. Τελικές γραπτές εξετάσεις ο βαθμός των οποίων συμμετέχει στη διαμόρφωση του τελικού βαθμού της ΘΕ κατά 70%. Για περισσότερες πληροφορίες πιέστε εδώ!

Χρήσιμες Συνδέσεις:
Για περισσότερες πληροφορίες, μπορείτε να επισκεφτείτε τον επίσημο δικτυακό τόπο για τη Θεματική Ενότητα "Ειδικά θέματα τεχνολογίας Λογισμικού" (ΠΛΗ42): http://class.eap.gr/pli42.

Main Menu