Μοντελοποίηση συμπεριφοράς
Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας Πχ. Σήκωμα ακουστικού τηλεφώνου Κατάσταση Αντικειμένου σε χρονική στιγμή Πχ. Τηλέφωνο ανενεργό Μετάβαση Συσχέτιση μεταξύ δύο διαδοχικών καταστάσεων Πχ. Ανενεργό -> Ενεργό
Διαγράμματα Καταστάσεων Απεικόνιση συμβάντων – καταστάσεων, συμπεριφοράς αντικειμένου σε απάντηση πρόκλησης συμβάντος Κύκλος ζωής αντικειμένου (σε όλες τις Περιπτώσεις Χρήσης που συμμετέχει) Εφαρμόζονται κυρίως σε: Κλάσεις (αντικείμενα) Περιπτώσεις χρήσης Δεν ανήκει στην RUP Ενσωματώνεται σε κάθε μοντέλο (ΠΠ, Σχεδίασης) για επικοινωνία δυναμικής συμπεριφοράς
… σε αντικείμενο
Για Περιπτώσεις Χρήσης Απεικονίζουν την σωστή ακολουθία εξωτερικών συμβάντων σχετικά με μια ΠΧ Πχ. Process Sale –> Make Payment –> EndSale Πχ. Process Document (Word) File Save, New File, File Open
… σε Περίπτωση χρήσης
Χρησιμότητα Διαγρ.Κατ/εων - ΠΧ Πολύπλοκες ΠΧ, με πολλά συμβάντα Πχ. Word processor Εγγύηση ‘τήρησης ακολουθίας συμβάντων’ Σχεδιαστική βοήθεια-εγγύηση Πιθανές σχεδιαστικές λύσεις: Έλεγχοι υπό συνθήκη για συμβάντα Απενεργοποίηση widgets παραθύρων
Για Αντικείμενα Αντικείμενα ‘ανεξάρτητης κατάστασης’ Αποκρίνονται με τον ίδιο τρόπο σε μήνυμα Αντικείμενα ‘εξαρτημένης κατάστασης’ Αντιδρούν διαφορετικά σε συμβάντα ανάλογα με την κατάστασή τους Δημιουργούμε Δ. Καταστάσεων για Αντικείμενα εξαρτημένης κατάστασης με πολύπλοκη συμπεριφορά
Κατάλογος αντικ/νων ‘εξαρτημένης κατάστασης’ Περιπτώσεις Χρήσης Πχ. Process Sale (End Sale) Συνεδρίες ιστοσελίδων Λογική ροής Windows Edit – paste (clipboard) Ελεγκτές (GRASP) Register κλάση (enterItem, endSale) Συσκευές Ρόλοι ατόμων
Τύποι συμβάντων Εξωτερικά (call, signal event) Έξω από τα όρια του συστήματος Πχ. Ταμίας Εσωτερικά (when) Μηνύματα στο διάγραμμα ακολουθίας Sale – makeLineItem() Χρονικά (after) Ορισμένα σε ημερ/νία και ώρα Πχ. Κατακράτηση κάρτας ΑΤΜ
Σημειολογία Ενέργειες μετάβασης Προκαλούν ενέργεια [Συνθήκες φρουροί] μετάβασης Ελέγχουν τις ενέργειες μετάβασης Εμφωλιασμένες καταστάσεις Η υποκατάσταση κληρονομεί την υπερκατάσταση
SSD & State diagram … σε Περίπτωση χρήσης
Σχήμα 10.5 Διάγραμμα κατάστασης για την κλάση Campaign.
Παραδείγματα
Άσκηση: Φούρνος Ζητούμε να μοντελοποιήσουμε, με διάγραμμα Καταστάσεων, έναν απλό φούρνο για το ψήσιμο φαγητού. Ο φούρνος αποτελείται από μια πόρτα, ένα διακόπτη για τη θερμοκρασία, μια αντίσταση και ένα εσωτερικό φως. Επιπλέον: Η πόρτα του φούρνου μπορεί να είναι κλειστή ή ανοικτή. Ο διακόπτης ανάβει το φούρνο. Ο διακόπτης χρησιμοποιείται για τον ορισμό της επιθυμητής θερμοκρασίας (από oC). Όταν ανοίγουμε την πόρτα του φούρνου, κλείνει η αντίσταση και ανάβει το φως, με την προϋπόθεση ότι ο διακόπτης έχει ενεργοποιηθεί. Όταν κλείνουμε την πόρτα του φούρνου ενεργοποιείται η αντίσταση και σβήνει το φως, με την προϋπόθεση ότι ο διακόπτης έχει ενεργοποιηθεί.