∆ιαγράμματα ∆ραστηριότητας (Activity Diagrams)
Στη UML, τα διαγράμματα δραστηριότητας απεικονίζουν τη σειρά με την οποία εκτελείται μια σειρά εντολών ή ενεργειών και οι οποίες αφορούν μια γενικότερη δραστηριότητα.
Για παράδειγμα η δραστηριότητα “Εγγραφή” η οποία αφορά την εγγραφή ενός χρήστη σε έναν ιστότοπο, αποτελείται από μια σειρά ενεργειών όπως συμπλήρωση φόρμας, έλεγχος όνοματος χρήστη κ.λπ..
Με άλλα λόγια, περιγράφουν την εσωτερική λειτουργία μιας δραστηριότητας.
Η δραστηριότητα μπορεί να αφορά ένα αντικείμενο αλλά και περισσότερα του ενός.
Τα διαγράμματα ενεργειών χρησιμοποιούν περισσότερο τη λογική των διαγραμμάτων ροής (flow charts).
Διαγραμματικά στοιχεία
Δραστηριότητα
Απεικονίζεται με ένα ορθογώνιο με στρογγυλεμένες γωνίες. Το στοιχείο αυτό περιέχει όλες τις ενέργειες που χρειάζονται για να ολοκληρωθεί η δραστηριότητα.
Ενέργεια
Απεικονίζεται με το ίδιο σχήμα όπως και η δραστηριότητα και περιγράφει μια ενέργεια που εκτελείται για να ολοκληρωθεί η δραστηριότητα.
Το ότι χρησιμοποιείται το ίδιο σχήμα υποδηλώνει ότι η ενέργεια μπορεί να θεωρηθεί ως μια μικρή δραστηριότητα ή ως μια υπο-δραστηριότητα.
Το ίδιο ισχύει και για την δραστηριότητα. Μπορεί δηλαδή να θεωρηθεί ως μια υπερ-ενέργεια.
Μετάβαση
Απεικονίζεται με ένα βέλος και δείχνει τη χρονική σειρά των ενεργειών και πως γίνεται η μετάβαση από ενέργεια σε ενέργεια.
Σημείο έναρξης (Initial Node)
Απεικονίζεται με έναν μαύρο κύκλο και συμβολίζει το σημείο έναρξης των ενεργειών. Σε κώδικα, είναι το σημείο όπου το αντικείμενο δημιουργείται.
Σημείο λήξης (Final Node)
Απεικονίζεται με έναν άσπρο κύκλο και μαύρο κέντρο και συμβολίζει το σημείο λήξης των ενεργειών. Σε κώδικα, είναι το σημείο όπου το αντικείμενο καταστρέφεται.
Σημείο απόφασης και σύνδεσης (Decision and Merge Nodes)
Απεικονίζεται με έναν ρόμβο και δείχνει τις επιλογές που μπορεί να υπάρχουν στη ροή μιας ενέργειας. Σε κώδικα, μπορεί να αντιστοιχεί σε μια δομή: if ... else ... .
Επίσης, μετά από μια ενέργεια μπορεί οι επιλογές να είναι περισσότερες από δύο. Αν οι επιλογές αυτές καταλήγουν σε ένα κοινό σημείο, τότε μπορεί να ενωθούν πάλι με το ίδιο σύμβολο (ρόμβος).
Για να φανεί ότι οι επιλογές έχουν κοινή αρχή και τέλος, τοποθετούνται σε ένα ορθογώνιο με διακεκομμένο περίγραμμα και στρογγυλεμένες γωνίες όπως στο σχήμα.
Διχάλες και ενώσεις (Fork and Join Nodes)
Οι διχάλες και ενώσεις συμβολίζονται με το ίδιο σχήμα· Μία μαύρη γραμμή που μπορεί να είναι οριζόντια ή κάθετη ανάλογα με τη ροή του διαγράμματος.
Δείχνουν την αρχή και το τέλος μιας ενέργειας όταν αυτή διασπάται σε ξεχωριστά νήματα (threads). Τα νήματα, που μπορούν να θεωρηθούν ως υπό-ενέργειες, εκτελούνται παράλληλα και σύγχρονα.
Σύγχρονα σημαίνει ότι πρέπει να ολοκληρωθούν όλα τα νήματα για να περάσουμε στην επόμενη ενέργεια.
Αντικείμενα και ροή αντικειμένων (Objects and Object Flows)
Σε ένα διάγραμμα δραστηριότητας, το αντικείμενο (object) απεικονίζεται ως ορθογώνιο. Σε πολλές περιπτώσεις θέλουμε να δείξουμε ότι μια ενέργεια χρησιμοποιεί κάποιο αντικείμενο με κάποιον τρόπο.
Όταν για παράδειγμα, μια μετάβαση από μια ενέργεια καταλήγει σε ένα αντικείμενο ή όταν σε μια μετάβαση από την ενέργεια Α στην ενέργεια Β χρειάζεται και η αποστολή κάποιου αντικειμένου.
Το παραπάνω σχήμα μπορεί να απεικονιστεί και ως εξής:
Εξαιρέσεις και διαχείριση εξαιρέσεων (Exception Handlers)
Για να απεικονίσουμε μια εξαίρεση που μπορεί να προκύψει μέσα από μία ενέργεια χρησιμοποιούμε τον παρακάτω συμβολισμό.
Ενέργεια Ακύρωσης (Interruptible Activity)
Για να απεικονίσουμε μια ακύρωση που μπορεί να προκύψει μέσα από μία ενέργεια χρησιμοποιούμε τον παρακάτω συμβολισμό.
Παράδειγμα
Φόρμα εγγραφής με σημειώσεις.