Τι είναι η UML
Η UML είναι μια γλώσσα που χρησιμοποιείται για:
- Τον καθορισμό (specifying)
- Την εικονική παράσταση (visualizing)
- Την τεκμηρίωση (documenting)
των δομικών στοιχείων ενός αντικειμενοστρεφούς συστήματος.
Η UML αποτυπώνει (απεικονίζει):
- Τη στατική δομή ενός συστήματος
- Τη δυναμική συμπεριφορά ενός συστήματος
Η στατική δομή καθορίζει τα είδη των αντικειμένων που είναι σημαντικά για το σύστημα καθώς και τις συσχετίσεις μεταξύ τους.
Η δυναμική συμπεριφορά προσδιορίζει την εξέλιξη των αντικειμένων σε σχέση με τον χρόνο και την επικοινωνία μεταξύ τους.
Οι πέντε βασικοί άξονες της UML
- Συστατικά (Στοιχεία) του μοντέλου
- Συσχετίσεις
- Μηχανισμοί
- Διαγράμματα
- Αρχιτεκτονικές όψεις
Στοιχεία (ή Διαγραμματικά Στοιχεία) μοντέλου σύμφωνα με τη UML
- Κλάση (Class)
Ενα σύνολο αντικειμένων που έχουν την ίδια δομή και συμπεριφορά - Περίπτωση χρήσης (use case)
Συμπεριφορά ενός συνόλου αντικειμένων μέσω συνεργασίας - Κατάσταση/λειτουργία (state)
Τρέχουσα κατάσταση αντικειμένων/δραστηριότητα, όπου ικανοποιεί κάποιες συνθήκες, αναμένει κάποιο γεγονός - Διαπροσωπεία (Interface)
Ένα σύνολο από λειτουργίες που ορίζουν την εξωτερική συμπεριφορά ενός αντικειμένου - Συστατικό μέρος (component)
Ενα επαναχρησιμοποιήσιμο τμήμα, με λογική και φυσική υπόσταση - Κόμβος (node)
Υλικό όπου αποθηκεύεται ή/και εκτελείται το λογισμικό - Πακέτο (Package)
Μια αποθήκη συστατικών γενικής χρήσης για την οργάνωση άλλων δομικών στοιχείων ή και άλλων πακέτων - Υποσύστημα (subsystem)
Μια μονάδα στην ιεραρχική αποσύνδεση ενός μεγάλου συτήματος-επικοινωνεί με το περιβάλλον μέσω διαπροσωπειών - Σημείωση
Σχόλιο ή επεξήγηση
Συσχετίσεις
- Γενική συσχέτιση (association)
Μια σημασιολογική σύνδεση μεταξύ δύο αντικειμένων - Γενίκευση (generalization)
Μια σχέση μεταξύ συστατικού και υποσυστατικών τα οποία το εξειδικεύουν - Εξάρτηση (dependency)
Η χρήση ενός συστατικού από ένα άλλο - Εκλέπτυνση-ραφινάρισμα (refinement)
Μια διαδοχή επιπέδων αφαίρεσης
Διαγράμματα UML
- Κλάσεων (Class)
- Περιπτώσεων χρήσης (Use cases)
- Κατάστασης (State)
- Ακολουθίας (Sequence)
- Συνεργασίας (Collaboration)
- Δραστηριότητας (Activity)
- Συστατικών (Component)
- Ανάπτυξης (Deployment)
Είδη Διαγραμμάτων UML
- Διαγράμματα Δομής Περιγράφουν την εσωτερική λογική δομή ενός συστήματος, δηλ. τα συστατικά του και τις σχέσεις μεταξύ τους
- Δυναμικά Διαγράμματα Περιγράφουν τη δυναμική συμπεριφορά ενός συστήματος, δηλαδή την απόκρισή του σε γεγονότα του περιβάλλοντός του
- Διαγράμματα Υλοποίησης Περιγράφουν τη φυσική δομή ενός συστήματος, δηλαδή τις μονάδες λογισμικού που το αποτελούν, σε όρους περιβάλλοντος υλοποίησης
Διαγράμματα Δομής
- Διάγραμμα κλάσεων (Class Diagram) Δομικά στοιχεία του μοντέλου:κλάσεις και συσχετίσεις
- Διάγραμμα αντικειμένων (Object Diagram) Δομές δεδομένων
- Διάγραμμα πακέτων (Package diagram) Οργάνωση υψηλού επιπέδου αφαίρεσης
Δυναμικά Διαγράμματα
- Διάγραμμα περιπτώσεων χρήσης (Use case Diagram) Λειτουργικότητα «προς τα έξω»
- Διάγραμμα ακολουθίας (Sequence Diagram) Χρονικές ακολουθίες αλληλεπιδρώντων αντικειμέων
- Διάγραμμα συνεργασίας (Collaboration Diagram) Αλληλεπιδράσεις μέσα σε ένα σύνολο αντικειμέων
- Διάγραμμα καταστάσεων (State transition Diagram) Ο κύκλος ζωής ενός αντικειμένου
- Διάγραμμα δραστηριοτήτων (Activity Diagram) Ροή ελέγχου μέσα σε ένα σύνολο λειτουργιών
Διαγράμματα Υλοποίησης
- Διάγραμμα συστατικών (Component Diagram) Εξαρτήσεις μεταξύ μονάδων λογισμικού
- Διάγραμμα Ανάπτυξης (Deployment Diagram) Κατανομή και αλληλεπίδραση συστατικών και αντικειμένων μεταξύ υπολογιστικών μονάδων
Επεκτείνοντας την UML
- Στερεότυπo Ορίζει ένα νέο είδος στοιχείου μοντέλου βασισμένο σ` ένα υπάρχον στοιχείο μοντέλου. Είναι λοιπόν σαν ένα υπάρχον στοιχείο μοντέλου , με κάποια επιπλέον στοιχεία
- Tagged values Τα στοιχεία μπορούν να έχουν ιδιότητες που περιέχουν ζευγάρια τιμών σχετικά με επιπλέον πληροφορίες
- Περιορισμοί Θέτουν κάποια βάση που περιορίζει είτε τη χρήση του στοιχείου είτε τη σημασία του