Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

Πολυτεχνική Σχολή - Πανεπιστήμιο Ιωαννίνων

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

Starts from:Τρ, 19 Μαρτίου, 2024

Πανεπιστήμιο Ιωαννίνων,Ιωάννινα,Greece

Map it
Course Feature
Περιγραφή μαθήματος

Κωδικός μαθήματος: ΜΥΥ803

Εβδομαδιαίες ώρες διδασκαλίας: 3,0,2

Εξάμηνο σπουδών: 8ο

Διδακτικές Μονάδες: 4

Μονάδες ECTS: 7

Ιστοσελίδα Μαθήματος: http://www.cse.uoi.gr/~zarras/se.htm

Προσφερόμενο: Ακαδημαϊκό έτος 2023-2024

Προαπαιτούμενα:

Περιεχόμενο:

Διεργασίες ανάπτυξης λογισμικού και μοντελοποίηση διεργασιών: Γενικές έννοιες, μοντέλο υλοποίησης και επιδιόρθωσης, μοντέλο καταρράκτη, μοντέλο μετασχηματισμών, μοντέλο καθορισμού λειτουργικών προδιαγραφών, μοντέλο εξελικτικής ανάπτυξης, σπειροειδές μοντέλο ανάπτυξης, κ.α.

Ανάλυση απαιτήσεων: Γενικές έννοιες, κατηγορίες απαιτήσεων, χαρακτηριστικά απαιτήσεων, συλλογή και ανάλυση απαιτήσεων, τεκμηρίωση και μοντελοποίηση απαιτήσεων (περιπτώσεις χρήσης, διαγράμματα ροής δεδομένων, πίνακες αποφάσεων, αυτόματα καταστάσεων, κλπ.), επαλήθευση, επικύρωση και ποιότητα απαιτήσεων.

Σχεδίαση λογισμικού: Γενικές έννοιες, αρχιτεκτονική και τεχνική σχεδίαση, αντικειμενοστρεφής σχεδίαση (διαγράμματα πακέτων, διαγράμματα κλάσεων, διαγράμματα ακολουθίας, κλπ.),  τεκμηρίωση σχεδίου, επαλήθευση και επικύρωση σχεδίου, ποιότητα σχεδίου (σύζευξη, συνεκτικότητα), μετρικές ποιότητας αντικειμενοστρεφούς σχεδίου (CBO, LCOM, WMC, DIT, NOC, κλπ), στυλ αρχιτεκτονικών λογισμικού.

Υλοποίηση λογισμικού: Γενικές έννοιες, συμβάσεις, πρότυπα και καλές πρακτικές για την ανάπτυξη ποιοτικού λογισμικού.

Έλεγχος λογισμικού: Γενικές έννοιες, κατηγορίες σφαλμάτων, οργάνωση ελέγχου (έλεγχος μονάδων,  έλεγχος ολοκλήρωσης, έλεγχος συστήματος, κλπ.), στατικός έλεγχος (περιηγήσεις και επανεξέταση κώδικα), δυναμικός έλεγχος, τεχνικές ελέγχου μαύρου κουτιού (τεχνικές οριακών τιμών, τεχνικές βασισμένες σε κλάσεις ισοδυναμίας), τεχνικές ελέγχου λευκού κουτιού (κριτήρια κάλυψης εντολών, διακλαδώσεων, μονοπατιών, ανάθεσης-χρήσης τιμών, κλπ.), τεχνικές ελέγχου ολοκλήρωσης (από πάνω προς τα κάτω, από κάτω προς τα πάνω, κλπ.), τεχνικές πρόβλεψης σφαλμάτων, έλεγχος συστήματος (απόδοση, αξιοπιστία, διαθεσιμότητα, κλπ.).

Παράδοση λογισμικού και άλλα θέματα: Γενικές έννοιες, θέματα εκπαίδευσης χρηστών και τεκμηρίωσης λογισμικού, θέματα εξέλιξης και συντήρησης.

Παρατηρήσεις: