Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Σχετικά έγγραφα
Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Εισαγωγή στη Σχεδίαση Λογισμικού

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

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αρχιτεκτονική Λογισμικού

Σχεδίαση Λογισμικού. Σημείωση

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Rational Unified Process:

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Διαγράμματα Κλάσεων στη Σχεδίαση

Εισαγωγή στην Τεχνολογία Λογισμικού

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

Ανάλυση Περιπτώσεων Χρήσης

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

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

Εισαγωγή στην Τεχνολογία Λογισµικού

περιεχόμενα παρουσίασης

Εισαγωγή στην Τεχνολογία Λογισµικού

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Υποδείγματα Ανάπτυξης

Πληροφορική 2. Τεχνολογία Λογισμικού

Εισαγωγή στην Τεχνολογία Λογισµικού

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μοντελοποίηση Πεδίου

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

UML: Unified modelling language

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Περιεχόμενο του μαθήματος

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Σκοπός του μαθήματος

Αρχιτεκτονικές Συστημάτων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Μεθοδολογίες Παραγωγής Λογισµικού

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

Διαχείριση Πληροφοριακών Συστημάτων

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

PDF created with pdffactory Pro trial version

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Περιεχόμενο του μαθήματος

Εισαγωγή στην. Γιάννης Σμαραγδάκης

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ

Περιεχόμενα. 2 Αριθμητικά συστήματα

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Αξιολόγηση των Σχεδιαστικών Προτύπων και της Ποιότητας του Λογισμικού μέσω Μετρικών, στις Περιπτώσεις Προσθήκης Λειτουργικότητας και

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Περιεχόμενα. 1 Υποδείγματα αλληλεπίδρασης, αρχές & μοτίβα σχεδίασης Περίληψη... 19

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

Πίνακας Περιεχομένων

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Κεφάλαιο 7: Τεχνολογία Λογισμικού

Εισαγωγή στην τεχνολογία λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 1

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

Πίνακας Περιεχομένων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP»

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Εισαγωγή στην ανάλυση

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

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

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

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

Transcript:

Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28 1.1.3 Το λογισμικό ως βιομηχανικό προϊόν...32 1.2 Η τεχνολογία λογισμικού...33 1.2.1 Οι αληθινές ιστορίες παραμένουν αληθινές...33 1.2.2 Παράγοντες επιτυχίας...36 1.2.3 Μια χρήσιμη αναλογία...37 1.2.4 Η ιδιαιτερότητα του λογισμικού...41 1.2.5 Ποιοτικό λογισμικό...43 1.3 Η ανάπτυξη λογισμικού...45 1.3.1 Ο μηχανικός λογισμικού...46 1.3.2 Εργασίες και αρμοδιότητες...48 1.3.3 ραστηριότητες ανάπτυξης...49

1.4 Μοντέλα διαδικασίας λογισμικού...52 1.4.1 Κριτήρια αξιολόγησης μοντέλων...53 1.4.2 Το μοντέλο του καταρράκτη...55 1.4.3 Το επαυξητικό μοντέλο...58 1.4.4 Το σπειροειδές μοντέλο...59 1.4.5 Το επαναληπτικό μοντέλο...63 1.5 Περίληψη κεφαλαίου...67 2 Υποδείγματα Ανάπτυξης 2.1 ιαχείριση της πολυπλοκότητας...69 2.1.1 Αποσύνθεση...70 2.1.2 Αφαίρεση...71 2.1.3 Μοντελοποίηση...72 2.2 Η δεδομενολειτουργική προσέγγιση...74 2.2.1 Λειτουργική προσέγγιση...75 2.2.2 εδομενοκεντρική προσέγγιση...75 2.3 Η αντικεικεμενοστρεφής προσέγγιση...76 2.3.1 Αντικείμενο...77 2.3.2 Αλληλεπίδραση αντικειμένων...81 2.3.3 Κλάση και στιγμιότυπο...82 2.3.4 Πολυμορφισμός...84 2.3.5 Κληρονομικότητα...85 2.3.6 Κλάσεις και αφαίρεση...87 2.3.7 Η σημασία των διεπαφών...89 2.4 Εισαγωγή στη UML...90 2.4.1 Στοιχεία μοντελοποίησης...92 2.4.2 ιαγράμματα...93 2.4.3 Συμπληρωματικοί μηχανισμοί...99 2.4.4 Επεκτείνοντας τη UML...101 2.5 Το παράδειγμα της βιβλιοθήκης...102 2.6 Περίληψη κεφαλαίου...104 10

μέρος Β Απαιτήσεις 3 Απαιτήσεις Λογισμικού 3.1 Τι είναι οι απαιτήσεις...107 3.1.1 Λειτουργικές και μη λειτουργικές απαιτήσεις...109 3.1.2 Περιεχόμενο των απαιτήσεων...112 3.1.3 Χαρακτηριστικά των καλών απαιτήσεων...114 3.1.4 Ποιους ενδιαφέρουν οι απαιτήσεις...115 3.1.5 Επίπεδα απαιτήσεων...116 3.1.6 Απαιτήσεις συστήματος και απαιτήσεις λογισμικού...116 3.2 ραστηριότητες απαιτήσεων...122 3.2.1 Μελέτη σκοπιμότητας...123 3.2.2 Εξαγωγή απαιτήσεων...123 3.2.3 Ανάλυση απαιτήσεων...123 3.2.4 Προδιαγραφή απαιτήσεων...124 3.2.5 Επικύρωση απαιτήσεων...124 3.2.6 Σχέσεις δραστηριοτήτων...124 3.3 Εξαγωγή απαιτήσεων...125 3.3.1 Επιχειρησιακή μοντελοποίηση...128 3.3.2 Πλαίσιο επικοινωνίας...134 3.4 Περιπτώσεις χρήσης...140 3.4.1 Actors...141 3.4.2 Σενάρια...143 3.4.3 Περιεχόμενα περιπτώσεων χρήσης...144 3.4.4 Σχέσεις περιπτώσεων χρήσης...149 3.4.5 Πρότυπα περιπτώσεων χρήσης...154 3.4.6 Συστάσεις για τη συγγραφή περιπτώσεων χρήσης...157 3.4.7 Επιχειρησιακές περιπτώσεις χρήσης...164 3.4.8 Μοντέλο περιπτώσεων χρήσης...166 3.5 Περίληψη κεφαλαίου...169 11

4 Ανάλυση Απαιτήσεων 4.1 Προσεγγίσεις μοντελοποίησης...172 4.2 Μοντελοποίηση δεδομένων...173 4.3 ιαγράμματα ροής δεδομένων...176 4.3.1 Βασικά σύμβολα...177 4.3.2 Εκλέπτυνση διαγραμμάτων...178 4.3.3 Συστάσεις για τη δημιουργία Ρ...182 4.3.4 Αξιολόγηση Ρ...184 4.4 Μη διαγραμματικά μοντέλα ανάλυσης...189 4.4.1 Πίνακες απόφασης...189 4.4.2 Πίνακες γεγονότων...190 4.5 ιαγράμματα δραστηριότητας...191 4.5.1 ραστηριότητες, ενέργειες και ακμές...192 4.5.2 Υπο-δραστηριότητες...195 4.5.3 ιαμερίσματα δραστηριότητας...196 4.5.4 Κόμβοι αντικειμένων...198 4.5.5 Σήματα και παραλληλία...200 4.5.6 Σημασιολογία διαγραμμάτων δραστηριότητας...204 4.6 ιαγράμματα κλάσεων...207 4.6.1 Κλάσεις...207 4.6.2 Ιδιότητες...208 4.6.3 Λειτουργίες...209 4.6.4 Συσχετίσεις...210 4.6.5 Γενίκευση...216 4.6.6 ιαγράμματα αντικειμένων...217 4.7 ιαγράμματα επικοινωνίας...219 4.7.1 Μηνύματα...219 4.7.2 Ακολουθία μηνυμάτων...220 4.7.3 Αποστολή μηνύματος προς το ίδιο αντικείμενο...222 4.7.4 Επανάληψη...222 4.7.5 Μηνύματα υπό συνθήκη...223 4.7.6 ημιουργία αντικειμένων...223 4.8 ιαγράμματα ακολουθίας...224 4.8.1 Αποστολή μηνύματος προς το ίδιο αντικείμενο...225 4.8.2 Επανάληψη...226 4.8.3 Μηνύματα υπό συνθήκη...226 12

4.8.4 ημιουργία Αντικειμένων...228 4.8.5 Περιπτώσεις αλληλεπίδρασης...229 4.9 ιαγράμματα μηχανής καταστάσεων...230 4.9.1 Καταστάσεις και μεταβάσεις...230 4.9.2 Εσωτερικές δραστηριότητες...232 4.9.3 Σύνθετες καταστάσεις...233 4.10 Μοντελοποίηση πεδίου...235 4.10.1 Καθορισμός εννοιολογικών κλάσεων...235 4.10.2 Καθορισμός συσχετίσεων...237 4.10.3 Καθορισμός ιδιοτήτων...239 4.10.4 Γενίκευση...247 4.10.5 Συστάσεις για την κατασκευή μοντέλων πεδίου...250 4.11 Ανάλυση περιπτώσεων χρήσης...255 4.11.1 Κλάσεις ανάλυσης...256 4.11.2 Αρμοδιότητες...258 4.11.3 Αλληλεπίδραση αντικειμένων...259 4.11.4 Ανάλυση περιπτώσεων χρήσης και σχέδιο λογισμικού... 267 4.12 Περίληψη κεφαλαίου...268 5 Προδιαγραφές Aπαιτήσεων Eπικύρωση Aπαιτήσεων 5.1 Προδιαγραφές Απαιτήσεων...271 5.1.1 Η σύνταξη των απαιτήσεων...272 5.1.2 Έγγραφα απαιτήσεων...275 5.2 Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού (ΕΠΑΛ)...277 5.2.1 Τα χαρακτηριστικά του καλού ΕΠΑΛ...280 5.2.2 Πρότυπα ΕΠΑΛ...283 5.2.3 Το πρότυπο IEEE Std 830-1998...284 5.2.4 Οργάνωση της παρουσίασης των ειδικών απαιτήσεων... 294 5.2.5 Πρότυπο περιπτώσεων χρήσης...304 5.3 Επικύρωση απαιτήσεων...307 5.3.1 Προσδιορισμός κριτηρίων έγκρισης...308 5.3.2 Περιηγήσεις...309 5.3.3 Επιθεωρήσεις...309 5.4 ιαχείριση απαιτήσεων...311 13

5.4.1 Ιχνηλάτηση απαιτήσεων...311 5.4.2 ιαχείριση αλλαγών...313 5.4.3 Παρακολούθηση απαιτήσεων...314 5.5 Περίληψη κεφαλαίου...315 μέρος Γ Σχεδίαση Λογισμικού 6 Εισαγωγή στη Σχεδίαση Λογισμικού 6.1 Τι είναι η σχεδίαση λογισμικού...320 6.2 Έννοιες σχεδίασης...321 6.2.1 Αφαίρεση...321 6.2.2 Τμηματικότητα...322 6.2.3 Απόκρυψη πληροφοριών...323 6.2.4 Σύζευξη...325 6.2.5 Συνεκτικότητα...329 6.3 ραστηριότητες σχεδίασης...331 6.3.1 Αρχιτεκτονική σχεδίαση...331 6.3.2 Λεπτομερής σχεδίαση...331 6.3.3 Έλεγχος Σχεδίου...332 6.4 Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού...332 6.5 Περίληψη κεφαλαίου...333 7 Αρχιτεκτονική Λογισμικού 7.1 Τι είναι η αρχιτεκτονική...335 7.1.1 Η σημασία της αρχιτεκτονικής...336 7.1.2 Αρχιτεκτονική και απαιτήσεις...337 7.1.3 Αρχιτεκτονική σχεδίαση...339 7.2 Αρχιτεκτονική προσανατολισμένη στις λειτουργίες...343 7.3 Αρχιτεκτονική προσανατολισμένη στα αντικείμενα...355 14

7.4 Αρχιτεκτονικά πρότυπα...356 7.4.1 ιαστρωματωμένη αρχιτεκτονική...356 7.4.2 Μοντέλο-Όψη-Ελεγκτής...361 7.5 Συστατικά και Πλατφόρμες...364 7.5.1 Συστατικά...364 7.5.2 Πλατφόρμες...365 7.6 Τεκμηρίωση αρχιτεκτονικής...366 7.7 ιαγράμματα πακέτων...369 7.8 ιαγράμματα συστατικών...371 7.9 ιαγράμματα παράταξης...374 7.10 Περίληψη κεφαλαίου...377 8 Λεπτομερής Σχεδίαση 8.1 Σχεδίαση προσανατολισμένη στις λειτουργίες...379 8.1.1 Το λεπτομερές σχέδιο...380 8.1.2 Τεχνικές-Εργαλεία Λεπτομερούς Σχεδίασης...381 8.2 Σχεδίαση προσανατολισμένη στα αντικείμενα...391 8.3 ιαγράμματα κλάσεων και σχεδίαση...392 8.3.1 Αφηρημένες κλάσεις...393 8.3.2 Ιδιότητες...394 8.3.3 Λειτουργίες...396 8.3.4 Απλοί τύποι...397 8.3.5 Συσχετίσεις...398 8.3.6 Εξάρτηση...402 8.3.7 ιεπαφές...402 8.4 Από το σχέδιο στον κώδικα...407 8.4.1 Κλάσεις...407 8.4.2 Απλοί τύποι...408 8.4.3 Συσχετίσεις...418 8.4.4 Κληρονομικότητα και διεπαφές...434 8.4.5 ιαγράμματα ακολουθίας...435 8.5 Συστάσεις αντικειμενοστρεφούς σχεδίασης...436 8.5.1 Σχεδίαση κλάσεων...437 8.5.2 Μεταβίβαση, κληρονομικότητα και πολυμορφισμός... 438 15

8.5.3 Συνεργασία αντικειμένων...451 8.5.4 Σχεδίαση πακέτων...465 8.6 Περίληψη κεφαλαίου...471 9 Πρότυπα Σχεδίασης 9.1 Πρόσοψη...477 9.2 Μοναδιαίο...482 9.3 Εργοστάσια...484 9.3.1 Στατικές μέθοδοι δημιουργίας αντικειμένων...485 9.3.2 Συγκεκριμένο εργοστάσιο...489 9.3.3 Αφηρημένο εργοστάσιο...497 9.4 Στρατηγική...508 9.5 Μέθοδος υπόδειγμα...516 9.6 Παρατηρητής...522 9.7 Σύνθετο...532 9.8 Χρήση προτύπων...540 9.9 Περίληψη κεφαλαίου...541 10 Κατασκευή Λογισμικού 10.1 Κωδικοποίηση...543 10.1.1 Τι είναι η κωδικοποίηση...544 10.1.2 Πρότυπα και διαδικασίες κωδικοποίησης...545 10.1.3 Τεκμηρίωση...547 10.1.4 ιαχείριση εκδόσεων...550 10.2 Έλεγχος ορθότητας μονάδων λογισμικού... 555 10.2.1 Σκοπός του ελέγχου...558 10.2.2 Ποιος εκτελεί τους ελέγχους...560 10.2.3 Στάδια ελέγχου...561 10.2.4 Τύποι Ελέγχου...563 10.3 Έλεγχος μονάδας...570 10.3.1 Αυτόματοι έλεγχοι...571 10.3.2 Στελέχη...583 10.3.3 Αυτόματοι έλεγχοι και διαχείριση εκδόσεων...595 16

10.4 Έλεγχος συνένωσης...596 10.4.1 Συνένωση big-bang...597 10.4.2 Ανοδική συνένωση...598 10.4.3 Καθοδική συνένωση...600 10.4.4 Συνένωση σάντουιτς...602 10.4.5 Συνένωση λειτουργικότητας...604 10.4.6 Συνένωση και οικοδόμηση...606 10.5 ιασφάλιση ποιότητας πέρα από τον έλεγχο...613 10.5.1 Απόδειξη της ορθότητας των προγραμμάτων...613 10.5.2 Τεχνικές ανασκοπήσεις...618 10.5.3 Προγραμματισμός κατά ζεύγη...618 10.5.4 Σχετικές επιδόσεις μεθόδων διασφάλισης ποιότητας... 619 10.5.5 Μετρικές...620 10.5.6 Αυτόματες επιθεωρήσεις...626 10.6 Αναδόμηση...627 10.6.1 Τι είναι η αναδόμηση...628 10.6.2 Ένα παράδειγμα αναδόμησης...629 10.6.3 Όρια αναδόμησης...635 10.7 Ανάπτυξη καθοδηγούμενη από τον έλεγχο...636 10.8 Περίληψη κεφαλαίου...638 μέρος Σύστημα Λογισμικού 11 Έλεγχος Συστήματος 11.1 Στάδια στον έλεγχο συστήματος...644 11.1.1 Αντικείμενα των σταδίων ελέγχου...645 11.1.2 Έλεγχος λειτουργίας...646 11.1.3 Έλεγχος εκτέλεσης...651 11.1.4 Έλεγχος αποδοχής...654 11.1.5 Έλεγχος εγκατάστασης...656 11.2 Ποιότητα συστήματος λογισμικού...657 11.2.1 Αξιοπιστία, διαθεσιμότητα και συντηρησιμότητα...657 11.2.2 Αξιοπιστία λογισμικού...658 17

11.3 Ομάδα ελέγχου...664 11.3.1 Επαγγελματίες ελεγκτές...664 11.3.2 Αναλυτές...664 11.3.3 Σχεδιαστές...665 11.3.4 Ειδικοί διαχείρισης διάταξης...665 11.3.5 Χρήστες...665 11.4 Εργαλεία ελέγχου...666 11.5 Πλάνο ελέγχου...668 11.5.1 Σκοπός του πλάνου ελέγχου...668 11.5.2 Περιεχόμενο του πλάνου ελέγχου...669 11.6 Πρότυπο τεκμηρίωσης ελέγχου IEEE Std 829-1998...670 11.6.1 Πλάνο ελέγχου...674 11.6.2 Προδιαγραφή σχεδίου ελέγχου...679 11.6.3 Προδιαγραφή δοκιμασίας ελέγχου...680 11.6.4 Προδιαγραφή διαδικασίας ελέγχου...682 11.6.5 Έκθεση διαβίβασης στοιχείων ελέγχου...685 11.6.6 Ημερολόγιο ελέγχου...686 11.6.7 Έκθεση περιστατικών ελέγχου...688 11.6.8 Συνοπτική αναφορά ελέγχου...689 11.7 Περίληψη κεφαλαίου...691 12 Συντήρηση Λογισμικού 12.1 Παράδοση του συστήματος...694 12.1.1 Εκπαίδευση...695 12.1.2 Τεκμηρίωση...696 12.2 Η φύση της συντήρησης...701 12.2.1 ραστηριότητες της συντήρησης...701 12.2.2 Η ροή της συντήρησης...703 12.3 Τα προβλήματα της συντήρησης...707 12.3.1 Παράγοντες που συμβάλλουν στη δυσκολία της συντήρησης 707 12.3.2 Προβλήματα στο ηθικό...710 12.3.3 Προβλήματα συμβιβασμού...711 12.3.4 Το κόστος της συντήρησης...712 12.4 ιαχείριση διάταξης...716 18

12.4.1 Προβλήματα της διαχείρισης διάταξης...716 12.4.2 Η διαδικασία της διαχείρισης διάταξης...717 12.4.3 Η εποπτεία της αλλαγής...718 12.5 Περίληψη κεφαλαίου...719 13 Επαναληπτικές ιαδικασίες Ανάπτυξης 13.1 Unified Process...722 13.1.1 Κεντρικές πρακτικές της UP...722 13.1.2 Φάσεις της UP...724 13.1.3 Άξονες της UP...727 13.1.4 Προϊόντα της UP...728 13.2 Ευέλικτες διαδικασίες ανάπτυξης...736 13.2.1 Ακραίος Προγραμματισμός...738 13.2.2 Scrum...744 13.3 Περίληψη κεφαλαίου...747 Παράρτημα Χάρτης Παραδειγμάτων...749 Βιβλιογραφία...753 Ευρετήριο...765 19