Κεφάλαιο 6: Δομικι μοντελοποίθςθ
τόχοι Κατανόθςθ των κανόνων και των γενικϊν κατευκφνςεων για τθ δθμιουργία καρτϊν CRC, διαγραμμάτων κλάςεων και διαγραμμάτων αντικειμζνων Κατανόθςθ των διαδικαςιϊν που χρθςιμοποιοφνται για τθ δθμιουργία καρτϊν CRC, διαγραμμάτων κλάςεων και διαγραμμάτων αντικειμζνων Δυνατότθτα δθμιουργίασ καρτϊν CRC, διαγραμμάτων κλάςεων και διαγραμμάτων αντικειμζνων. Κατανόθςθ τθσ ςχζςθσ μεταξφ δομικϊν μοντζλων και μοντζλων περιπτϊςεων χριςθσ.
Δομικό μοντζλο Ζνασ τυπικόσ τρόποσ αναπαράςταςθσ των αντικείμενων που χρθςιμοποιοφνται και δθμιουργοφνται από ζνα επιχειρθματικό ςφςτθμα Ανκρϊπων Θζςεων Πραγμάτων χεδιάηεται μζςω μιασ επαναλθπτικισ διαδικαςίασ Αρχικά ςχεδιάηεται με βάςθ τισ ζννοιεσ και τισ επιχειρθματικζσ απαιτιςεισ Μετά βελτιϊνεται με βάςθ τισ τεχνολογικζσ δυνατότθτεσ και περιγράφει τισ πραγματικζσ βάςεισ δεδομζνων και τα αρχεία
ΔΟΜΙΚΑ ΜΟΝΤΕΛΑ
Δομικά μοντζλα Βασικός στόχος του αναλυτή: να ανακαλφψει τα βαςικά δεδομζνα που περιλαμβάνονται ςτο πεδίο προβλιματοσ και να καταςκευάςει ζνα δομικό μοντζλο των αντικειμζνων Δοκηθή κοληειοποίεζε Πεδίο προβιήκαηος Πεδίο ιύζες
Μια κοινι γλϊςςα τα δομικά μοντζλα δθμιουργείται ζνα καλϊσ οριςμζνο λεξιλόγιο το οποίο κα μπορεί να χρθςιμοποιθκεί από τουσ αναλυτζσ και τουσ χριςτεσ Οι κλάςεισ που δθμιουργοφνται κατά τθν ανάλυςθ δεν είναι οι κλάςεισ που γράφουν οι προγραμματιςτζσ κατά τθν υλοποίθςθ Αυτι θ διόρκωςθ γίνεται πιο μετά υνθκιςμζνα δομικά μοντζλα: Κάρτεσ CRC Διαγράμματα κλάςεων (και αντικειμζνων)
Κλάςεισ, γνωρίςματα και λειτουργίεσ Κλάςεισ Γενικά πρότυπα που χρθςιμοποιοφμε για να δθμιουργιςουμε ςτιγμιότυπα ανκρϊπων, τοποκεςιϊν ι πραγμάτων Γνωρίςματα Ιδιότθτεσ που περιγράφουν τθν κατάςταςθ του ςτιγμιοτφπου μιασ κλάςθσ (ι ενόσ αντικειμζνου) Λειτουργίεσ Ενζργειεσ που μπορεί να πραγματοποιιςει κάκε κλάςθ
χζςεισ Περιγράφουν πϊσ ςχετίηεται κάκε κλάςθ με τισ υπόλοιπεσ τθ UML υπάρχουν τρεισ βαςικοί τφποι 1. Γενίκευςθσ Επιτρζπουν τθν κλθρονομικότθτα γνωριςμάτων και λειτουργιϊν 2. υνάκροιςθσ υςχετίηουν μζρθ με ολότθτεσ 3. υςχετιςμοφ Άλλοι τφποι ςχζςεων μεταξφ κλάςεων
ΚΑΡΤΕΣ CRC
Ευκφνεσ και ςυνεργαςίεσ Ευκφνεσ Γνϊςθσ Πράξθσ υνεργαςίεσ Αντικείμενα που ςυμπράττουν για να εξυπθρετιςουν μια αίτθςθ
Μπροςτινι όψθ κάρτασ CRC
Πίςω όψθ κάρτασ CRC
ΔΙΑΓΡΑΜΜΑΤΑ ΚΛΑΣΕΩΝ
τοιχεία διαγράμματοσ κλάςεων
Ορατότθτα γνωριςμάτων το διάγραμμα κλάςεων μπορεί να οριςτεί θ ορατότθτα των γνωριςμάτων Σα δθμόςια γνωρίςματα (+) είναι ορατά από όλεσ τισ κλάςεισ Σα ιδιωτικά γνωρίςματα (-) είναι ορατά μόνο από ςτιγμιότυπα τθσ κλάςθσ ςτθν οποία ορίηονται Σα προςτατευμζνα γνωρίςματα (#) μοιάηουν με τα ιδιωτικά, αλλά είναι ορατά και ςτισ παραγόμενεσ κλάςεισ (απογόνουσ) Η ορατότθτα περιορίηει τθν προςπζλαςθ των γνωριςμάτων και διαςφαλίηει ζτςι τθ ςυνζπεια και τθν ακεραιότθτα
Λειτουργίεσ Καταςκευισ Δθμιουργοφν αντικείμενα Ερωτθμάτων Δίνουν πλθροφορίεσ για τθν κατάςταςθ των αντικειμζνων Ενθμζρωςθσ Αλλάηουν τθν τιμι οριςμζνων ι όλων των γνωριςμάτων
Περιςςότερα ςτοιχεία των διαγραμμάτων κλάςεων
Πολλαπλότθτεσ Σμιμα 1 1 Διευκυντισ Ακπιβώρ ένα: Κάζε ηκήκα δηαζέηεη έλαλ κολαδηθό δηεσζσληή Τπάλλθλοσ 1 0..* Παιδί Μηδέν ή πεπιζζόηεπα: Κάζε σπάιιειος κπορεί λα έτεη από κεδέλ έως ποιιά παηδηά Διευκυντισ 1 1..* Τπάλλθλοσ Ένα ή πεπιζζόηεπα: Ο δηεσζσληής είλαη σπεύζσλος γηα έλαλ ή περηζζόηεροσς σπαιιήιοσς
Πολλαπλότθτεσ 2 Τπάλλθλοσ 1 0..1 φηυγοσ Μηδέν ή ένα: Κάζε σπάιιειος κπορεί λα είλαη παληρεκέλος/ε κε κεδέλ ή κία/έλαλ ζσδύγοσς Τπάλλθλοσ 1 2..4 Διακοπζσ Καθοπιζμένο διάζηημα: Κάζε σπάιιειος δηθαηούηαη από 2 κέτρη 4 περηόδοσς δηαθοπώλ θάζε τρόλο Τπάλλθλοσ 1 1..3, 5 Επιτροπι Πολλά ανεξάπηηηα διαζηήμαηα: Κάζε σπάιιειος είλαη κέιος ζε 1 έως 3 επηηροπές, ή ζε 5 επηηροπές
Παράδειγμα διαγράμματοσ κλάςεων
Απλοποίθςθ των διαγραμμάτων κλάςεων Σα πλιρωσ ςυμπλθρωμζνα διαγράμματα κλάςεων πραγματικϊν ςυςτθμάτων είναι δυςνόθτα υνθκιςμζνοι τρόποι απλοποίθςθσ των διαγραμμάτων κλάςεων: Εμφάνιςθ μόνο των ςυγκεκριμζνων (concrete) κλάςεων Χριςθ μθχανιςμοφ απόψεων (view mechanism) ο οποίοσ κα δείχνει ζνα υποςφνολο μερικϊν κλάςεων Χριςθ πακζτων (packages) τα οποία κα δείχνουν ςυνακροίςεισ κλάςεων (ι άλλων ςτοιχείων του διαγράμματοσ UML)
Διαγράμματα αντικειμζνων
ΔΗΜΙΟΥΡΓΙΑ ΚΑΡΤΩΝ CRC ΚΑΙ ΔΙΑΓΡΑΜΜΑΤΩΝ ΚΛΑΣΕΩΝ
Προςδιοριςμόσ αντικειμζνων Ανάλυςθ κειμζνου περιγραφϊν περιπτϊςεων χριςθσ Σα ουςιαςτικά αποτελοφν ενδείξεισ πικανϊν κλάςεων Σα ριματα υποδεικνφουν πικανζσ λειτουργίεσ Παράγει ζνα αρχικό αδρομερζσ δομικό μοντζλο Λίςτα κοινϊν αντικειμζνων Περιςτατικά Ρόλοι
Μοτίβα Χριςιμεσ ομαδοποιιςεισ κλάςεων που επανεμφανίηονται ςε διάφορεσ καταςτάςεισ υναλλαγζσ Κλάςθ ςυναλλαγισ Κλάςθ καταχωρίςεων ςυναλλαγισ Κλάςθ ςτοιχείων Κλάςθ τοποκεςιϊν Κλάςθ ςυμμετεχόντων
7 βιματα για τθ δθμιουργία δομικϊν μοντζλων 1. Δθμιουργιςτε κάρτεσ CRC 2. Εξετάςτε λίςτεσ κοινϊν αντικειμζνων 3. "Παίξτε" τουσ ρόλουσ των καρτϊν CRC 4. Δθμιουργιςτε το διάγραμμα κλάςεων 5. Ελζγξτε το διάγραμμα κλάςεων 6. Ενςωματϊςτε μοτίβα 7. Ανακεωριςτε το μοντζλο
φνοψθ Δομικά μοντζλα Κάρτεσ CRC Διαγράμματα κλάςεων Δθμιουργία καρτϊν CRC και διαγραμμάτων κλάςεων