Σχεδιασμός και Διαχείριση Λογισμικού Μαρία Ρήγκου Δρ Πανεπιστημίου Πατρών Δημήτριος Σταυρινούδης Δρ Πανεπιστημίου Πατρών Τόμος Β Διαχείριση και Ποιότητα Λογισμικού
Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό Πρόγραμμα «Εκπαίδευση και Διά Βίου Μάθηση» (ΕΠΕΔΒΜ) του ΕΣΠΑ (2007-2013), Άξονας Προτεραιότητας 7: «Ενίσχυση της Διά Βίου Εκπαίδευσης Ενηλίκων στις 8 Περιφέρειες Σύγκλισης» με κωδικό MIS 296121 και η οποία συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο - ΕΚΤ) και από εθνικούς πόρους, μέσω του Προγράμματος Δημοσίων Επενδύσεων (ΠΔΕ) του ΥΠΑΙΘ. Διαχείριση και Ποιότητα Λογισμικού Σημείωση Το ΕΑΠ είναι υπεύθυνο για την επιμέλεια έκδοσης και την ανάπτυξη των κειμένων σύμφωνα με τη Μεθοδολογία της εξ Αποστάσεως Εκπαίδευσης. Για την επιστημονική αρτιότητα και πληρότητα των συγγραμμάτων την αποκλειστική ευθύνη φέρουν οι συγγραφείς, κριτικοί αναγνώστες και ακαδημαϊκοί υπεύθυνοι που ανέλαβαν το έργο αυτό.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστημών και Τεχνολογίας Πρόγραμμα Σπουδών ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Θεματική Ενότητα ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΛΟΓΙΣΜΙΚΟΥ Τόμος Β Διαχείριση και Ποιότητα Λογισμικού Συγγραφή ΜΑΡΙΑ ΡΗΓΚΟΥ Δρ Πανεπιστημίου Πατρών ΔΗΜΗΤΡΙΟΣ ΣΤΑΥΡΙΝΟΥΔΗΣ Δρ Πανεπιστημίου Πατρών Κριτική Ανάγνωση ΕΥΘΥΜΙΟΣ ΤΑΜΠΟΥΡΗΣ Αναπληρωτής Καθηγητής Πανεπιστημίου Μακεδονίας Ακαδημαϊκός Υπεύθυνος για την ανάπτυξη του έντυπου διδακτικού υλικού του ΠΣ ΒΑΣΙΛΕΙΟΣ ΒΕΡΥΚΙΟΣ Αναπληρωτής Καθηγητής Ελληνικού Ανοικτού Πανεπιστημίου Συντονιστής για την ανάπτυξη του έντυπου διδακτικού υλικού της ΘΕ ΒΑΣΙΛΕΙΟΣ ΒΕΡΥΚΙΟΣ Αναπληρωτής Καθηγητής Ελληνικού Ανοικτού Πανεπιστημίου Ειδικός στη Μεθοδολογία της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης ΑΔΑΜΑΝΤΙΑ ΣΠΑΝΑΚΑ Γλωσσική Επιμέλεια ΒΑΣΙΛΙΚΗ ΔΗΜΗΤΡΙΟΥ Τεχνική Επιμέλεια Καλλιτεχνική Επιμέλεια Σελιδοποίηση ΒΙΒΛΙΟΤΕΧΝΙΑ ΠΑΠΠΑΣ ΦΩΤΙΟΣ - ΔΟΥΒΟΥ ΣΕΒΑΣΤΗ Ο.Ε. ISBN: 978-960-538-984-0 Κωδικός Έκδοσης: ΠΛΣ 61/Β Copyright 2015 για την Ελλάδα και όλο τον κόσμο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πάροδος Αριστοτέλους 18, 26335 Περιβόλα Πατρών Τηλ.: 2610 367300, Φαξ: 2610 367650 To παρόν έργο πνευματικής ιδιοκτησίας προστατεύεται κατά τις διατάξεις του Ελληνικού Νόμου (Ν. 2121/1993 όπως έχει τροποποιηθεί και ισχύει σήμερα) και τις διεθνείς συμβάσεις περί πνευματικής ιδιοκτησίας. Απαγορεύεται απολύτως η άνευ γραπτής αδείας του εκδότη, κατά οποιονδήποτε τρόπο ή μέσο, αντιγραφή, φωτοανατύπωση και εν γένει αναπα- ραγωγή, εκμίσθωση ή δανεισμός, μετάφραση, διασκευή, αναμετάδοση στο κοινό σε οποιαδήποτε μορφή (ηλεκτρονική, μηχανική κ.λπ.) και η εν γένει εκμετάλλευση του συνόλου ή μέρους του έργου.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστημών και Τεχνολογίας Πρόγραμμα Σπουδών ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Θεματική Ενότητα ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΛΟΓΙΣΜΙΚΟΥ Τόμος Β Διαχείριση και Ποιότητα Λογισμικού ΜΑΡΙΑ ΡΗΓΚΟΥ Δρ Πανεπιστημίου Πατρών ΔΗΜΗΤΡΙΟΣ ΣΤΑΥΡΙΝΟΥΔΗΣ Δρ Πανεπιστημίου Πατρών ΠΑΤΡΑ 2015
Βιογραφικά Η Μαρία Ρήγκου είναι κάτοχος διδακτορικού διπλώματος (2005, «Αποδοτικοί αλγόριθμοι εξατομίκευσης βασισμένοι σε εξόρυξη γνώσης από δεδομένα χρήσης web») και από το 2014 ανήκει στο Εργαστηριακό Διδακτικό Προσωπικό (Ε.ΔΙ.Π.) του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών. Είναι κάτοχος πτυχίου Μηχανικού Ηλεκτρονικών Υπολογιστών και Πληροφορικής (1997), Μεταπτυχιακού Διπλώματος Ειδίκευσης στην Επιστήμη και την Τεχνολογία των Υπολογιστών (2000) και απόφοιτος του Προγράμματος Μεταπτυχιακών Σπουδών «Γραφικές Τέχνες Πολυμέσα» του Ελληνικού Ανοικτού Πανεπιστημίου (2011). Τα ερευνητικά της ενδιαφέροντα εντοπίζονται στο πεδίο της ανάκτησης δεδομένων στο περιβάλλον του Παγκόσμιου Ιστού, στη μελέτη της πλοηγητικής συμπεριφοράς και στη σχεδίαση διεπαφών χρήσης (UI). Είναι συγγραφέας δύο βιβλίων, 12 κεφαλαίων σε βιβλία και περισσότερων από 60 επιστημονικών δημοσιεύσεων σε διεθνή επιστημονικά συνέδρια και περιοδικά στα παραπάνω ερευνητικά πεδία. Ο Δημήτριος Σταυρινούδης είναι κάτοχος διπλώματος (1995) και διδακτορικού διπλώματος (2005) του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών. Έχει διδάξει ως Συνεργαζόμενο Εκπαιδευτικό Προσωπικό στο Πρόγραμμα Σπουδών «Πληροφορική» του Ελληνικού Ανοικτού Πανεπιστημίου, ως εντεταλμένο διδακτικό προσωπικό (Π.Δ. 407/80) στο Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών και ως Επιστημονικός και Εργαστηριακός Συνεργάτης στο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Ελλάδας. Έχει απασχοληθεί ως Μηχανικός Ηλεκτρονικών Υπολογιστών και Υπεύθυνος Έργου σε διάφορα ερευνητικά και αναπτυξιακά έργα. Η έρευνά του εστιάζεται σε θέματα Τεχνολογίας Λογισμικού και Ποιότητας Λογισμικού.
Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Διαχείριση έργων ανάπτυξης λογισμικού Μ. Ρήγκου, Δ. Σταυρινούδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...15 1.1 Έργο και διαχείριση έργου...18 1.2 Ιστορική αναδρομή στη διαχείριση έργων...21 1.3 Διαχείριση έργων ανάπτυξης λογισμικού...23 1.3.1 Η κρίση λογισμικού...24 1.3.2 Κύκλος ζωής έργου...27 1.3.3 Κύκλος ζωής προϊόντος...34 1.3.4 Ο ρόλος του υπευθύνου έργου...37 1.4 Η διαχείριση έργων σήμερα...45 1.5 Έναρξη έργου...47 1.5.1 Αίτηση συστήματος...47 1.5.2 Ανάλυση σκοπιμότητας...48 1.5.3 Έγκριση έργου...49 1.6 Επιλογή έργου και οικονομική ανάλυση...51 1.6.1 Περίοδος αποπληρωμής...51 1.6.2 Καθαρή παρούσα αξία...53 1.6.3 Απόδοση επένδυσης...55 1.6.4 Μοντέλα βαθμολόγησης...56 1.6.5 Δένδρα αποφάσεων...57 Σύνοψη...63 Λίστα Ελέγχου Γνώσεων...64 Ευρετήριο Όρων...65
8 ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΠΟΙΟΤΗΤΑ ΛΟΓΙΣΜΙΚΟΥ Γλωσσάρι...67 Βιβλιογραφία...69 Οδηγός για Περαιτέρω Μελέτη...72 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...74 Απαντήσεις Δραστηριοτήτων...80 Κατάλογος σχημάτων...84 ΚΕΦΑΛΑΙΟ 2 Αντικείμενο και χρονοπρογραμματισμός έργου Μ. Ρήγκου Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...85 2.1 Σχεδιασμός αντικειμένου έργου...88 2.1.1 Δομή ανάλυσης εργασιών (ΔΑΕ)...89 2.1.2 Αλληλουχία και εξαρτήσεις μεταξύ δραστηριοτήτων...99 2.2 Χρονικός προγραμματισμός έργου...108 2.2.1 Διάγραμμα Gantt...111 2.2.2 Διάγραμμα PERT...113 2.2.3 Ανάλυση κρίσιμου μονοπατιού...114 2.2.4 Η τεχνική PERT...121 Σύνοψη...129 Λίστα Ελέγχου Γνώσεων...130 Ευρετήριο Όρων...131 Γλωσσάρι...133 Βιβλιογραφία...135 Οδηγός για Περαιτέρω Μελέτη...137 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...139 Απαντήσεις Δραστηριοτήτων...150
ΠΕΡΙΕΧΟΜΕΝΑ 9 Κατάλογος εικόνων...154 Κατάλογος σχημάτων...155 Κατάλογος πινάκων...156 ΚΕΦΑΛΑΙΟ 3 Σχεδιασμός ανθρώπινων πόρων, κοστολόγηση, εκτέλεση και κλείσιμο έργου Μ. Ρήγκου, Δ. Σταυρινούδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...157 3.1 Σχεδιασμός ανθρώπινων πόρων και συγκρότηση ομάδας έργου...160 3.1.1 Σχεδιασμός ανθρώπινων πόρων...160 3.1.2 Συγκρότηση της ομάδας έργου...165 3.1.3 Κατανομή ανθρώπινων πόρων...166 3.2 Κοστολόγηση...174 3.2.1 Η μέθοδος Use Case Points...176 3.2.2 Το εμπειρικό μοντέλο COCOMO...189 3.2.3 Υπολογισμός και διαχείριση κόστους έργου...198 3.3 Διαχείριση ποιότητας...214 3.4 Διαχείριση κινδύνων...216 3.4.1 Σχεδιασμός διαχείρισης κινδύνων...217 3.4.2 Αναγνώριση κινδύνων...218 3.4.3 Ποιοτική ανάλυση κινδύνων...222 3.4.4 Ποσοτική ανάλυση κινδύνων...223 3.4.5 Σχεδιασμός αντιμετώπισης κινδύνων...224 3.4.6 Παρακολούθηση και έλεγχος κινδύνων...225 3.5 Διαχείριση αλλαγών...227 3.6 Ολοκλήρωση και παράδοση έργου...230
10 ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΠΟΙΟΤΗΤΑ ΛΟΓΙΣΜΙΚΟΥ Σύνοψη...232 Λίστα Ελέγχου Γνώσεων...233 Ευρετήριο Όρων...234 Γλωσσάρι...236 Βιβλιογραφία...238 Οδηγός για Περαιτέρω Μελέτη...241 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...243 Απαντήσεις Δραστηριοτήτων...253 Κατάλογος εικόνων...274 Κατάλογος σχημάτων...274 Κατάλογος πινάκων...275 Παράρτημα...276 ΚΕΦΑΛΑΙΟ 4 Εισαγωγή στην ποιότητα λογισμικού Δ. Σταυρινούδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...277 4.1 Ορισμοί και ιστορική αναδρομή...280 4.1.1 Τι είναι ποιότητα...280 4.1.2 Διασφάλιση και έλεγχος ποιότητας...282 4.1.3 Στατιστικός έλεγχος ποιότητας...283 4.2 Ποιότητα λογισμικού...286 4.2.1 Αναγκαιότητα και οφέλη της ποιότητας λογισμικού...287 4.2.2 Το πρότυπο ISO 25010...291 Σύνοψη...297 Λίστα Ελέγχου Γνώσεων...298 Ευρετήριο Όρων...299
ΠΕΡΙΕΧΟΜΕΝΑ 11 Γλωσσάρι...300 Βιβλιογραφία...302 Οδηγός για Περαιτέρω Μελέτη...305 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...307 Απαντήσεις Δραστηριοτήτων...311 Κατάλογος σχημάτων...315 ΚΕΦΑΛΑΙΟ 5 Μετρικές ποιότητας λογισμικού Δ. Σταυρινούδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...317 5.1 Κατηγορίες μετρικών λογισμικού...320 5.2 Γραμμές κώδικα...325 5.3 Μετρικές του Halstead...328 5.4 Κυκλωματική πολυπλοκότητα...335 5.5 Αντικειμενοστρεφείς μετρικές λογισμικού...343 5.5.1 Κατηγορίες αντικειμενοστρεφών μετρικών λογισμικού...343 5.5.2 Η ομάδα μετρικών των Chidamber και Kemerer...344 5.5.3 Ιεραρχικό μοντέλο για την αξιολόγηση της ποιότητας αντικειμενοστρεφούς σχεδιασμού...353 5.6 Εργαλεία μετρήσεων...365 5.6.1 Το εργαλείο CKJM extended...365 5.6.2 Το εργαλείο Understand...366 5.6.3 Το εργαλείο Metrics...368 5.6.4 Το εργαλείο CodePro AnalytiX...369 5.6.5 Το εργαλείο JHawk...370 5.6.6 Το εργαλείο Resource Standard Metrics RSM...370
12 ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΠΟΙΟΤΗΤΑ ΛΟΓΙΣΜΙΚΟΥ 5.6.7 Το εργαλείο SourceMonitor...372 Σύνοψη...375 Λίστα Ελέγχου Γνώσεων...376 Ευρετήριο Όρων...377 Γλωσσάρι...378 Βιβλιογραφία...379 Οδηγός για Περαιτέρω Μελέτη...381 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...383 Απαντήσεις Δραστηριοτήτων...391 Κατάλογος σχημάτων...396 Κατάλογος πινάκων...396 Παράρτημα...397 ΚΕΦΑΛΑΙΟ 6 Έλεγχος λογισμικού Δ. Σταυρινούδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...405 6.1 Βασικές έννοιες...408 6.2 Τεχνικές ελέγχου αδιαφανούς κουτιού...413 6.2.1 Τυχαίος έλεγχος...413 6.2.2 Διαμέριση σε κλάσεις ισοδυναμίας...413 6.2.3 Ανάλυση οριακών τιμών...419 6.2.4 Γράφημα αιτίου-αποτελέσματος...422 6.3 Τεχνικές ελέγχου διαφανούς κουτιού...426 6.3.1 Δοκιμή βασικών μονοπατιών...426 6.3.2 Τεχνική κάλυψης συνθηκών...431 6.3.3 Τεχνική κάλυψης βρόχων...431
ΠΕΡΙΕΧΟΜΕΝΑ 13 6.4 Αυτοματοποιημένος έλεγχος μονάδων...433 Σύνοψη...434 Λίστα Ελέγχου Γνώσεων...435 Ευρετήριο Όρων...436 Γλωσσάρι...437 Βιβλιογραφία...438 Οδηγός για Περαιτέρω Μελέτη...439 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...441 Απαντήσεις Δραστηριοτήτων...449 Κατάλογος σχημάτων...454