Σχέσεις
Στη UML ορίζονται τρεις βασικές σχέσεις:
- εξάρτηση (dependency)
- γενίκευση (generalisation)
- σύνδεση (association)
Εξάρτηση
Η εξάρτηση δηλώνει πως μια αλλαγή σε μιαν οντότητα θα επηρεάσει μιαν άλλη
αλλά όχι απαραίτητα και το αντίστροφο.
Παριστάνεται με μια διακεκομμένη γραμμή με ανοιχτό βέλος που δείχνει προς
την οντότητα που υπάρχει εξάρτηση:
Γενίκευση
Η γενίκευση δηλώνει μια σχέση ανάμεσα σε κάτι γενικό
(τη βασική κλάση ή αλλιώς γονέα)
και κάτι ειδικό
(μιαν υποκλάση ή αλλιώς παιδί της).
Παριστάνεται με μια συνεχή γραμμή με κλειστό βέλος που δείχνει προς
τη βασική κλάση:
Σύνδεση
Η σύνδεση αναφέρεται σε αντικείμενα τα οποία συνδέονται με κάποιο τρόπο
με άλλα.
Όταν δύο κλάσεις είναι συνδεδεμένες μπορεί κανείς να μεταβεί από αντικείμενα
της μιας σε αντικείμενα της άλλης.
Η σύνδεση παριστάνεται με μια ευθεία γραμμή ανάμεσα στα δύο αντικείμενα.
- Αν η σύνδεση δεν είναι αμφίδρομη τότε η κατεύθυνσή της μπορεί να οριστεί
με ένα ανοιχτό βέλος.
- Το όνομα της σύνδεσης μπορεί να γραφεί πάνω από τη γραμμή, ενώ
η κατεύθυνση του ονόματος ορίζεται από ένα βέλος πλάι στο όνομα.
- Ο ρόλος των οντοτήτων που συνδέονται προσδιορίζεται από ένα όνομα
στην κάθε άκρη της γραμμής.
- Ο αριθμός που δηλώνει πόσα αντικείμενα αντιστοιχούν σε κάθε αντικείμενο
στην άλλη άκρη της σχέσης (πολλαπλότητα (multiplicity))
δηλώνεται από έναν αριθμό (π.χ. 3), ή μια περιοχή αριθμών (π.χ. 1..* για ένα
έως πολλά) πάνω από την αντίστοιχη άκρη της γραμμής.
Αν σε μια σχέση τα αντικείμενα απαρτίζουν τμήματα ενός όλου, τότε
αυτή απεικονίζεται ως συγκρότημα (aggregation)
με την παράσταση ενός διαμαντιού στην άκρη του "όλου".
Αν σχέση τα αντικείμενα που απαρτίζουν τμήματα ενός όλου έχουν
την ίδια διάρκεια ζωής με το όλο, τότε
αυτή απεικονίζεται ως σύνθεση (composition)
με την παράσταση ενός γεμάτου διαμαντιού στην άκρη του "όλου".