1 State Diagrams
2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Βοηθούν στην κατανόηση πολύπλοκων χαρακτηριστικών ή ροών εργασίας εξειδικευμένων περιοχών του συστήματος. Βοηθούν στην κατανόηση πολύπλοκων χαρακτηριστικών ή ροών εργασίας εξειδικευμένων περιοχών του συστήματος. Τα διαγράμματα καταστάσεων αναπαριστούν τη δυναμική συμπεριφορά ολόκληρου του συστήματος ή ενός μέρους του συστήματος. Η δημιουργία ενός διαγράμματος καταστάσεων συνήθως είναι προαιρετική. State Diagrams
3 Τα διαγράμματα κατάστασης (state diagrams) χρησιμοποιούνται για να αναπαραστήσουν τη συμπεριφορά ενός συστήματος, ενός μέρος ενός συστήματος, μιας κλάσης ή μιας περίπτωσης χρήσης. Τα διαγράμματα κατάστασης (state diagrams) χρησιμοποιούνται για να αναπαραστήσουν τη συμπεριφορά ενός συστήματος, ενός μέρος ενός συστήματος, μιας κλάσης ή μιας περίπτωσης χρήσης. Τα διαγράμματα αυτά περιγράφουν όλες τις πιθανές καταστάσεις ενός αντικειμένου καθώς πραγματοποιούνται διάφορα γεγονότα. Τα διαγράμματα αυτά περιγράφουν όλες τις πιθανές καταστάσεις ενός αντικειμένου καθώς πραγματοποιούνται διάφορα γεγονότα. Κάθε διάγραμμα συνήθως αναπαριστά τα αντικείμενα μιας κλάσης και παρακολουθεί τα διαφορετικά στάδια των αντικειμένων μέσα στο σύστημα. Κάθε διάγραμμα συνήθως αναπαριστά τα αντικείμενα μιας κλάσης και παρακολουθεί τα διαφορετικά στάδια των αντικειμένων μέσα στο σύστημα. State Diagrams
4 Μια κατάσταση (state) είναι μια συνθήκη ή μια περίπτωση στην οποία βρίσκεται ένα αντικείμενο κατά τη διάρκεια ζωής του. Το αντικείμενο σε αυτήν την κατάσταση: ικανοποιεί κάποια συνθήκη, ικανοποιεί κάποια συνθήκη, εκτελεί κάποια δραστηριότητα ή εκτελεί κάποια δραστηριότητα ή περιμένει για την πραγματοποίηση κάποιου γεγονότος. περιμένει για την πραγματοποίηση κάποιου γεγονότος. Ένα αντικείμενο παραμένει σε μια κατάσταση για κάποιο χρονικό διάστημα. State Diagrams
5 Μια κατάσταση αποτελείται από τα παρακάτω μέρη: Όνομα (Name): Το όνομα της κατάστασης Όνομα (Name): Το όνομα της κατάστασης Ενέργειες Εισόδου/Εξόδου (Entry/Exit effects): Ενέργειες που εκτελούνται κατά την είσοδο ή κατά την έξοδο από την κατάσταση Ενέργειες Εισόδου/Εξόδου (Entry/Exit effects): Ενέργειες που εκτελούνται κατά την είσοδο ή κατά την έξοδο από την κατάσταση Δραστηριότητες (Do activities): Ενέργειες που πραγματοποιούνται όσο ένα αντικείμενο είναι σε μια κατάσταση μεταξύ των ενεργειών εισόδου και εξόδου. Δραστηριότητες (Do activities): Ενέργειες που πραγματοποιούνται όσο ένα αντικείμενο είναι σε μια κατάσταση μεταξύ των ενεργειών εισόδου και εξόδου. Υποκαταστάσεις (Substates): Οι υποκαταστάσεις μιας κατάστασης Υποκαταστάσεις (Substates): Οι υποκαταστάσεις μιας κατάστασης State Diagrams
6 Μια μετάβαση (transition) είναι μια σχέση μεταξύ δύο καταστάσεων, η οποία δείχνει ότι ένα αντικείμενο σε μια κατάσταση θα εκτελέσει συγκεκριμένες ενέργειες και θα μεταβεί στην επόμενη κατάσταση όταν πραγματοποιηθεί ένα συγκεκριμένο γεγονός και ικανοποιηθούν συγκεκριμένες συνθήκες. Μια μετάβαση έχει 5 μέρη: Κατάσταση προέλευσης (Source state), Κατάσταση προέλευσης (Source state), Γεγονός ενεργοποίησης (Trigger event): ενεργοποιεί τη μετάβαση από τη μια κατάσταση στην άλλη. Γεγονός ενεργοποίησης (Trigger event): ενεργοποιεί τη μετάβαση από τη μια κατάσταση στην άλλη. Συνθήκη ελέγχου (Guard condition): μια συνθήκη, η οποία ελέγχεται όταν ενεργοποιηθεί το γεγονός που οδηγεί στη μετάβαση. Συνθήκη ελέγχου (Guard condition): μια συνθήκη, η οποία ελέγχεται όταν ενεργοποιηθεί το γεγονός που οδηγεί στη μετάβαση. Επίδραση (Effect): Μια ενέργεια που μπορεί να πραγματοποιηθεί στο αντικείμενο του διαγράμματος κατάστασης ή σε κάποιο άλλο αντικείμενο που σχετίζεται με το πρώτο. Επίδραση (Effect): Μια ενέργεια που μπορεί να πραγματοποιηθεί στο αντικείμενο του διαγράμματος κατάστασης ή σε κάποιο άλλο αντικείμενο που σχετίζεται με το πρώτο. Κατάσταση στόχου (Target state). Κατάσταση στόχου (Target state). State Diagrams
7 Σύνθετη κατάσταση (Composite State): Μια σύνθετη κατάσταση χρησιμοποιείται όταν θέλουμε να μοντελοποιήσουμε διάφορες καταστάσεις (υποκαταστάσεις) που λαμβάνει ένα αντικείμενο όταν αυτό ήδη βρίσκεται σε κάποια κατάσταση.
8 State Diagrams Ιστορική κατάσταση (History State): Μια ιστορική κατάσταση χρησιμοποιείται σε συνδυασμό με μια σύνθετη κατάσταση για να κρατάει την τελευταία κατάσταση που ήταν ενεργή μέσα στη σύνθετη κατάσταση, σε περίπτωση που κάποιο γεγονός διακόψει την εκτέλεση της σύνθετης κατάστασης.
9 State Diagrams Ορθογώνια κατάσταση (Orthogonal State): Μια ορθογώνια κατάσταση χρησιμοποιείται όταν θέλουμε να μοντελοποιήσουμε την ταυτόχρονη λήψη διαφόρων καταστάσεων (υποκαταστάσεις) που λαμβάνει ένα αντικείμενο όταν αυτό ήδη βρίσκεται σε κάποια κατάσταση.
10 Στοιχεία Διαγραμμάτων Καταστάσεων Σύμβολο Αρχική Κατάσταση - Initial State: Αυτό αναπαριστά το αρχικό σημείο ή την πρώτη δραστηριότητα της ροής. Επίσης, αυτή η κατάσταση συχνά καλείται ψευδο-κατάσταση "pseudo state“, γιατί η κατάσταση δεν έχει μεταβλητές που να την περιγράφουν. Κατάσταση - State: Αναπαριστά την κατάσταση ενός αντικειμένου σε μια χρονική στιγμή. State Diagrams
11 Στοιχεία Διαγραμμάτων Καταστάσεων Σύμβολο Μετάβαση - Transition: Ένα βέλος που αναπαριστά τη μετάβαση του αντικειμένου από τη μια κατάσταση σε μια άλλη. Το γεγονός και η ενέργεια που προκαλεί τη μετάβαση της κατάστασης του αντικειμένου αναγράφονται πάνω από το βέλος. Ιστορικές Καταστάσεις - History States: Μια ροή μπορεί να απαιτεί για ένα αντικείμενο να μεταβεί σε μια κατάσταση αναμονής και με την ενεργοποίηση ενός συγκεκριμένου γεγονότος να μεταβεί στην κατάσταση που βρίσκονταν πριν από την κατάσταση αναμονής – την τελευταία ενεργή κατάστασή του. State Diagrams
12 Στοιχεία Διαγραμμάτων Καταστάσεων Σύμβολο Γεγονός και Ενέργεια - Event and Action: Η ενεργοποίηση μιας μετάβασης ονομάζεται Γεγονός ή Ενέργεια. Κάθε μετάβαση πραγματοποιείται εξαιτίας της ενεργοποίησης ενός γεγονότος ή μιας ενέργειας. Τελική Κατάσταση - Final State: Το τέλος ενός διαγράμματος κατάστασης αναπαρίσταται με το σύμβολο της τελικής κατάστασης. Η τελική κατάσταση αποτελεί επίσης μια ψευδο-κατάσταση – “pseudo state”. State Diagrams
13 Όλα τα διαγράμματα κατάστασης αρχίζουν Με μια αρχική κατάσταση εκκίνησης του αντικειμένου που μοντελοποιείται. Αυτή είναι η κατάσταση του αντικειμένου όταν αυτό δημιουργείται. Με μια αρχική κατάσταση εκκίνησης του αντικειμένου που μοντελοποιείται. Αυτή είναι η κατάσταση του αντικειμένου όταν αυτό δημιουργείται. Μετά την αρχική κατάσταση του αντικειμένου το αντικείμενο αλλάζει καταστάσεις. Οι συνθήκες που βασίζονται στις δραστηριότητες μιας κατάστασης του αντικειμένου μπορούν να επηρεάσουν την επόμενη κατάσταση του αντικειμένου Μετά την αρχική κατάσταση του αντικειμένου το αντικείμενο αλλάζει καταστάσεις. Οι συνθήκες που βασίζονται στις δραστηριότητες μιας κατάστασης του αντικειμένου μπορούν να επηρεάσουν την επόμενη κατάσταση του αντικειμένου. State Diagrams
14 Παραδείγματα διαγραμμάτων καταστάσεων: Σύστημα διαχείρισης πωλήσεων Σύστημα διαχείρισης μαθημάτων μιας σχολής Σύστημα διαχείρισης πανεπιστημιακής βιβλιοθήκης Σύστημα διαχείρισης φοιτητών & σεμιναρίων ενός πανεπιστημίου State Diagrams – Παραδείγματα
15 Παράδειγμα: Εκτέλεση παραγγελίας μιας εταιρίας πωλήσεων Το αντικείμενο «Παραγγελίας» (Order) όταν βρίσκεται στη κατάσταση «Έλεγχος» (Checking) πραγματοποιεί τη δραστηριότητα «Έλεγξε τα προϊόντα» (Check Items). Μετά την ολοκλήρωση της δραστηριότητας το αντικείμενο μεταβαίνει στην επόμενη κατάσταση σύμφωνα με τις συνθήκες που ικανοποιούνται π.χ. (όλα τα προϊόντα είναι διαθέσιμα ή ένα προϊόν δεν είναι διαθέσιμο). Εάν ένα προϊόν δεν είναι διαθέσιμο η παραγγελία ακυρώνεται (Cancelled). Εάν ένα προϊόν δεν είναι διαθέσιμο η παραγγελία ακυρώνεται (Cancelled). Εάν όλα τα προϊόντα είναι διαθέσιμα τότε η παραγγελία αποστέλλεται. Όταν το αντικείμενο μεταβαίνει στην κατάσταση «Αποστολή» (Dispatching) πραγματοποιείται η δραστηριότητα «άρχισε τη διανομή» (Initiate Delivery). Μετά την ολοκλήρωση αυτής της δραστηριότητας το αντικείμενο μεταβαίνει στην κατάσταση «Απεσταλμένα» (Delivered). Εάν όλα τα προϊόντα είναι διαθέσιμα τότε η παραγγελία αποστέλλεται. Όταν το αντικείμενο μεταβαίνει στην κατάσταση «Αποστολή» (Dispatching) πραγματοποιείται η δραστηριότητα «άρχισε τη διανομή» (Initiate Delivery). Μετά την ολοκλήρωση αυτής της δραστηριότητας το αντικείμενο μεταβαίνει στην κατάσταση «Απεσταλμένα» (Delivered). State Diagrams - State Diagrams - Εκτέλεση παραγγελίας σε μια εταιρία πωλήσεων – Αντικείμενο «Παραγγελία»
16 State Diagrams - State Diagrams - Εκτέλεση παραγγελίας σε μια εταιρία πωλήσεων – Αντικείμενο «Παραγγελία»
17 Παράδειγμα: Σύστημα Διαχείρισης Μαθημάτων μιας Σχολής Το αντικείμενο «Μάθημα» (Course) αλλάζει καταστάσεις κατά τη διάρκεια της ζωής του, από τη στιγμή της δημιουργίας μαθήματος μέχρι τη στιγμή της διαγραφής του μαθήματος. Τα γεγονότα που πραγματοποιούνται στο αντικείμενο «Μάθημα» είναι τα ακόλουθα: Δημιουργία νέου μαθήματος - Create course: προσθέτει πληροφορίες για το μάθημα ή ενημερώνει ένα υπάρχον μάθημα. Δημιουργία νέου μαθήματος - Create course: προσθέτει πληροφορίες για το μάθημα ή ενημερώνει ένα υπάρχον μάθημα. Προσθήκη θεμάτων - manageTopic: προσθέτει θέματα σε ένα μάθημα. Προσθήκη θεμάτων - manageTopic: προσθέτει θέματα σε ένα μάθημα. Ανάθεση καθηγητών – assignTutorToCourse: Δίνει τιμή στη μεταβλητή καθηγητής του αντικειμένου «Μάθημα». Ανάθεση καθηγητών – assignTutorToCourse: Δίνει τιμή στη μεταβλητή καθηγητής του αντικειμένου «Μάθημα». Κλείσιμο – Close: Τέλος προσθήκης ή τροποποίησης πληροφορίας για το μάθημα. Κλείσιμο – Close: Τέλος προσθήκης ή τροποποίησης πληροφορίας για το μάθημα. State Diagrams - Σύστημα Διαχείρισης Μαθημάτων μιας Σχολής – Αντικείμενο «Μάθημα»
18 State Diagrams - Σύστημα Διαχείρισης Μαθημάτων μιας Σχολής – Αντικείμενο «Μάθημα» Close Course Creation Create New Course
19 State Diagrams – Σύστημα διαχείρισης πανεπιστημιακής βιβλιοθήκης – Αντικείμενο «Τίτλος» Παράδειγμα: Σύστημα διαχείρισης πανεπιστημιακής βιβλιοθήκης Το αντικείμενο τίτλος «Item» λαμβάνει τις ακόλουθες καταστάσεις: Το αντικείμενο βρίσκεται στην κατάσταση «Διαθέσιμο» (Available) όταν ο αριθμός των κρατήσεων είναι μικρότερος από τον αριθμό των διαθέσιμων αντιτύπων. Το αντικείμενο βρίσκεται στην κατάσταση «Διαθέσιμο» (Available) όταν ο αριθμός των κρατήσεων είναι μικρότερος από τον αριθμό των διαθέσιμων αντιτύπων. Όταν αυξάνεται ο αριθμός κρατήσεων ώστε ο αριθμός των κρατήσεων να είναι ίσος με τον αριθμό των αντιτύπων, το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο» (Reserved). Όταν αυξάνεται ο αριθμός κρατήσεων ώστε ο αριθμός των κρατήσεων να είναι ίσος με τον αριθμό των αντιτύπων, το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο» (Reserved). Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη Διαθέσιμο» (Reserved) και αυξάνεται ο αριθμός των κρατήσεων, τότε το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο». Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη Διαθέσιμο» (Reserved) και αυξάνεται ο αριθμός των κρατήσεων, τότε το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο».
20 State Diagrams – Σύστημα διαχείρισης πανεπιστημιακής βιβλιοθήκης – Αντικείμενο «Τίτλος» Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη διαθέσιμο» (Reserved) και μειώνεται ο αριθμός κρατήσεων αλλά ο αριθμός κρατήσεων παραμένει μεγαλύτερος ή ίσος με τον αριθμό των αντιτύπων τότε το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο» (Reserved). Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη διαθέσιμο» (Reserved) και μειώνεται ο αριθμός κρατήσεων αλλά ο αριθμός κρατήσεων παραμένει μεγαλύτερος ή ίσος με τον αριθμό των αντιτύπων τότε το αντικείμενο μεταβαίνει στην κατάσταση «Μη διαθέσιμο» (Reserved). Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη διαθέσιμο» (Reserved) και μειώνεται ο αριθμός κρατήσεων ώστε ο αριθμός κρατήσεων να γίνει μικρότερος από τον αριθμό των αντιτύπων τότε το αντικείμενο μεταβαίνει στην κατάσταση «Διαθέσιμο» (Available). Όταν το αντικείμενο βρίσκεται στην κατάσταση «Μη διαθέσιμο» (Reserved) και μειώνεται ο αριθμός κρατήσεων ώστε ο αριθμός κρατήσεων να γίνει μικρότερος από τον αριθμό των αντιτύπων τότε το αντικείμενο μεταβαίνει στην κατάσταση «Διαθέσιμο» (Available).
21 State Diagrams – Σύστημα διαχείρισης πανεπιστημιακής βιβλιοθήκης – Αντικείμενο «Τίτλος»
22 Παράδειγμα: Σύστημα διαχείρισης φοιτητών & σεμιναρίων ενός πανεπιστημίου Το αντικείμενο σεμινάριο «Seminar» λαμβάνει τις ακόλουθες καταστάσεις: Προτείνεται Προτείνεται Προγραμματίζεται Προγραμματίζεται Ανοίγει για κράτηση θέσεων Ανοίγει για κράτηση θέσεων Γεμίζουν οι θέσεις οπότε οι επόμενοι φοιτητές γράφονται σε λίστα αναμονής Γεμίζουν οι θέσεις οπότε οι επόμενοι φοιτητές γράφονται σε λίστα αναμονής Κλείνει το σεμινάριο Κλείνει το σεμινάριο Τέλος, ανά πάσα στιγμή το σεμινάριο μπορεί να ακυρωθεί Τέλος, ανά πάσα στιγμή το σεμινάριο μπορεί να ακυρωθεί State Diagrams – Σύστημα διαχείρισης φοιτητών & σεμιναρίων ενός πανεπιστημίου – Αντικείμενο «Σεμινάριο»
23 State Diagrams – Σύστημα διαχείρισης φοιτητών & σεμιναρίων ενός πανεπιστημίου – Αντικείμενο «Σεμινάριο»
24 State Diagrams – Σύστημα διαχείρισης μαθήματος και βαθμολόγησης φοιτητών – Αντικείμενο «Μάθημα»
25 State Diagrams – Σύστημα διαχείρισης φοιτητών & σεμιναρίων ενός πανεπιστημίου – Αντικείμενο «Σεμινάριο»
26 State Diagrams –Αντικείμενο «Φοιτητής» Παράδειγμα: Αντικείμενο Φοιτητής Ένας φοιτητής πρέπει να περάσει πρώτα από το βασικό επίπεδο (Basic Level) και μετά από το αναβαθμισμένο επίπεδο για να αποφοιτήσει. Ένας φοιτητής πρέπει να περάσει πρώτα από το βασικό επίπεδο (Basic Level) και μετά από το αναβαθμισμένο επίπεδο για να αποφοιτήσει. Στο βασικό επίπεδο, ο φοιτητής δίνει πέντε εξετάσεις. Κάθε εξέταση μπορεί να δοθεί μέχρι 2 φορές. Εάν ό φοιτητής πετύχει και στις πέντε εξετάσεις περνάει στο αναβαθμισμένο επίπεδο. Στο βασικό επίπεδο, ο φοιτητής δίνει πέντε εξετάσεις. Κάθε εξέταση μπορεί να δοθεί μέχρι 2 φορές. Εάν ό φοιτητής πετύχει και στις πέντε εξετάσεις περνάει στο αναβαθμισμένο επίπεδο. Στο αναβαθμισμένο επίπεδο, ο φοιτητής δίνει πέντε εξετάσεις. Κάθε εξέταση μπορεί να δοθεί μόνο μια φορά. Εάν ο φοιτητής πετύχει και στις πέντε εξετάσεις αποφοιτάει, ενώ αν αποτύχει έστω και σε μια απορρίπτεται. Στο αναβαθμισμένο επίπεδο, ο φοιτητής δίνει πέντε εξετάσεις. Κάθε εξέταση μπορεί να δοθεί μόνο μια φορά. Εάν ο φοιτητής πετύχει και στις πέντε εξετάσεις αποφοιτάει, ενώ αν αποτύχει έστω και σε μια απορρίπτεται.
27 State Diagrams –Αντικείμενο «Φοιτητής»