1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα ακολουθίας ρ. Πάνος Φιτσιλής
2 Περιεχόµενα Βασικά στοιχεία των διαγραµµάτων ακολουθίας Τα είδη των µηνυµάτων Παραδείγµατα
ιαγράµµατα αλληλεπίδρασης (interaction diagrams) Τα διαγράµµατα αλληλεπίδρασης περιγράφουν το πως τα αντικείµενα αλληλεπιδρούν Συνήθως περιγράφουν το σενάριο µιας περίπτωσης χρήσης ή µέρους αυτής είχνουν το πως τα αντικείµενα επικοινωνούν υο όψεις: ιαγράµµατα ακολουθίας (Sequence Diagram) που δίνουν έµφαση στη χρονική αλληλουχία των γεγονότων ιαγράµµατα συνεργασίας που δίνουν έµφαση στηοργάνωσητωναντικειµένων για την υλοποίηση της συµπεριφοράς (Collaboration Diagram) Τα διαγράµµατα συνεργασίας είναι σηµασιολογικά 3
4 ιαγράµµατα ακολουθίας (sequence diagrams) Τα διαγράµµατα ακολουθίας παρουσιάζουν την αλληλεπίδραση των αντικειµένων µέσω της ανταλλαγής µηνυµάτων ίνουν έµφαση στη χρονική αλληλουχία των γεγονότων Ένα διάγραµµα ακολουθίας περιέχει Χειριστές Αντικείµενα και Μηνύµατα που ανταλλάσσουν τα αντικείµενα Τα αντικείµενα οργανώνονται στον οριζόντιο άξονα καιταγεγονόταστονκάθετοάξονατουχρόνου Τα διαγράµµατα ακολουθία χρησιµοποιούνται για να περιγράψουν τη ροή του ελέγχου µέσα στο σύστηµα
5 Ένα απλό παράδειγµα Αντικείµενα Όνοµα Αντικειµένου Κλάση Γραµµή ζωής αντικειµένου Μήνυµα
6 Ένα απλό παράδειγµα (συνέχεια) ηµιουργία Αντικειµένου Γραµµή ενεργοποίησης αντικειµένου Κλήσεις µεθόδων
7 Ένα απλό παράδειγµα (συνέχεια) Επιστροφή από κλήση
8 Ένα απλό παράδειγµα (συνέχεια) Συνθήκη Καταστροφή Αντικειµένου
Ένα παράδειγµα απότις τηλεπικοινωνίες 9
Τα µηνύµατα Σύγχρονα: (γεγονότα, κλήσεις µεθόδων) Η διάρκεια αναπαριστάτε µε τηγραµµή ενεργοποίησης του αντικειµένου (activation bar) Ασύγχρονα (asynchronous): Συµβολίζονται µε µισό βέλος Υπάρχουν και άλλα µηνύµατα ειδικού τύπου «create» δηµιουργία αντικειµένου «destroy» καταστροφή αντικειµένου 10
11 Τα ασύγχρονα µηνύµατα εν µπλοκάρουν το αντικείµενο που τα στέλνει Μπορεί να συνεχίσει να κάνει κάτι άλλο Χρησιµοποιούνται συνήθως σε τρεις περιπτώσεις : Να δηµιουργήσουν ένα καινούργιο αντικείµενο Να δηµιουργήσουν ένα καινούργιο νήµα επεξεργασίας (thread) Να επικοινωνήσουν µε ένα υπάρχον νήµα επεξεργασίας που ήδη τρέχει.
12 Συµβολισµοί για τα µηνύµατα Γενική µορφή µηνύµατος ή ασύγχρονο µήνυµα Σύγχρονο µήνυµα Επιστροφή Αντικείµενο Α ηµιουργία αντικειµένου x Καταστροφή αντικειµένου Κλήση που εγκαταλείπεται αν ο δέκτης δεν είναι έτοιµος Κλήση µε χρόνο (ακυρώνεται αν δεν συµπληρωθεί στον προκαθορισµένο χρόνο)
13 Μερικοί κανόνες για την δηµιουργία των διαγραµµάτων Χρησιµοποιούµε ένα διάγραµµα ακολουθίας για κάθε περίπτωση χρήσης. Στα διαγράµµατα ακολουθίας δίνουµε λεπτοµέρειες για τον τρόπο που υλοποιείται µια συµπεριφορά. Τα διαγράµµατα ακολουθίας δεν είναι απλή αντιγραφή των βηµάτων που περιγράψαµε στις περιπτώσεις χρήσης αλλά είναι το εργαλείο για να αναθέσουµε/ξεκαθαρίσουµε τη λειτουργία, το ρόλο και τη συµπεριφορά των αντικείµενων. Για να παρουσιάσετε τη σχέση µεταξύ του διαγράµµατος ακολουθίας και της περίπτωσης χρήσης γράψτε στο περιθώριο του διαγράµµατος ακολουθίας το αντίστοιχο κείµενο από την περίπτωση χρήσης KISS (keep it small and simple)
14 Πλεονεκτήµατα µειονεκτήµατα διαγραµµάτων συνεργασίας και ακολουθίας ιάγραµµα Συνεργασίας Ακολουθίας Πλεονεκτήµατα - δείχνει καλύτερα επανάληψη, συνθήκες, ταυτόχρονη εκτέλεση - είχνει καλύτερα τη χρονική ακολουθία των µηνυµάτων - Χρησιµοποιεί ευκολότερο συµβολισµό Μειονεκτήµατα - υπάρχει δυσκολία να δεις τη σειρά εκτέλεσης των µηνυµάτων - πολύπλοκος συµβολισµός - Όταν το διάγραµµα είναι µεγάλο και συµµετέχουν πολλά αντικείµενα επεκτείνεται προς τα δεξιά, πράγµα πουδηµιουργεί δυσκολίες χώρου.
15 Παρουσιάσαµε... Τα διαγράµµατα ακολουθίας παρουσιάζουν τη χρονική αλληλουχία των γεγονότων Παρουσιάζουν ένα σενάριο µιας περίπτωσης χρήσης Τα διαγράµµατα συνεργασίας είναι ισοδύναµα µε τα διαγράµµατα ακολουθίας Υπάρχουν διαφορετικοί αρκετοί διαφορετικοί τύποι µηνυµάτων Σύγχρονα Ασύγχρονα «create» κ.α.