UML Association vs. Συνάθροιση Vs. Σύνθεση [ΠΑΡΑΔΕΙΓΜΑ]
Οι σχέσεις στο διάγραμμα UML χρησιμοποιούνται για να αναπαραστήσουν μια σύνδεση μεταξύ διαφόρων πραγμάτων. Μια σχέση είναι μια σύνδεση μεταξύ πραγμάτων όπως δομικά, συμπεριφορικά ή ομαδοποιημένα πράγματα στην ενοποιημένη γλώσσα μοντελοποίησης.
Ακολουθούν οι διαφορετικοί τύποι τυπικών σχέσεων στο UML,
- Σχέση
- Εξάρτηση
- Γενίκευση
- Πραγματοποίηση
Εκτός από αυτά, το UML επιτρέπει τη χρήση συνάθροισης και σχέσης σύνθεσης.
Ένωση UML
Είναι μια δομική σχέση που αναπαριστά αντικείμενα που μπορούν να συνδεθούν ή να συσχετιστούν με ένα άλλο αντικείμενο μέσα στο σύστημα. Οι ακόλουθοι περιορισμοί μπορούν να εφαρμοστούν στη σχέση συσχέτισης UML.
- {σιωπηρή} – Οι σιωπηροί περιορισμοί προσδιορίζουν ότι η σχέση δεν είναι εμφανής. βασίζεται σε μια έννοια.
- {διέταξε} – Οι διατεταγμένοι περιορισμοί καθορίζουν ότι το σύνολο των αντικειμένων στο ένα άκρο μιας συσχέτισης είναι με συγκεκριμένο τρόπο.
- {μεταβλητός} – Ο μεταβλητός περιορισμός καθορίζει ότι η σύνδεση μεταξύ διαφόρων αντικειμένων στο σύστημα μπορεί να προστεθεί, να αφαιρεθεί και να τροποποιηθεί σύμφωνα με τις απαιτήσεις.
- {addOnly} – Καθορίζει ότι οι νέες συνδέσεις μπορούν να προστεθούν από ένα αντικείμενο που βρίσκεται στο άλλο άκρο μιας συσχέτισης.
- {παγωμένος} – Καθορίζει ότι όταν ένας σύνδεσμος εισάγεται μεταξύ δύο αντικειμένων, τότε δεν μπορεί να τροποποιηθεί ενώ ο παγωμένος περιορισμός είναι ενεργός στη δεδομένη σύνδεση ή σε μια σύνδεση.
Μπορούμε επίσης να δημιουργήσουμε μια κλάση που έχει ιδιότητες συσχέτισης UML. ονομάζεται κλάση συσχέτισης.
Αντανακλαστικός Σύλλογος
Ο αντανακλαστικός συσχετισμός είναι ένας υποτύπος σχέσης συσχέτισης στο UML. Σε έναν αντανακλαστικό συσχετισμό, τα στιγμιότυπα της ίδιας τάξης μπορούν να σχετίζονται μεταξύ τους. Ένα στιγμιότυπο μιας κλάσης λέγεται επίσης ότι είναι ένα αντικείμενο.
Ο αντανακλαστικός συσχετισμός δηλώνει ότι ένας σύνδεσμος ή μια σύνδεση μπορεί να υπάρχει μέσα στα αντικείμενα της ίδιας κλάσης.
Παράδειγμα:
Ας εξετάσουμε ένα παράδειγμα φρούτου τάξης.
Η κατηγορία φρούτων έχει δύο περιπτώσεις, όπως το μάνγκο και το μήλο. Ο αντανακλαστικός συσχετισμός δηλώνει ότι μια σύνδεση μεταξύ μάνγκο και μήλου μπορεί να υπάρχει καθώς πρόκειται για περιπτώσεις της ίδιας κατηγορίας, όπως τα φρούτα.
Κατευθυνόμενος Σύλλογος
Όπως υποδηλώνει το όνομα, η κατευθυνόμενη συσχέτιση σχετίζεται με την κατεύθυνση της ροής εντός των κλάσεων συσχέτισης.
Σε έναν κατευθυνόμενο συσχετισμό, η ροή κατευθύνεται. Η συσχέτιση από τη μια κλάση στην άλλη κλάση ρέει προς μία μόνο κατεύθυνση.
Συμβολίζεται χρησιμοποιώντας μια συμπαγή γραμμή με αιχμή βέλους.
Παράδειγμα συσχέτισης UML:
Μπορείτε να πείτε ότι υπάρχει μια κατευθυνόμενη σχέση συσχέτισης μεταξύ ενός διακομιστή και ενός πελάτη.
Ένας διακομιστής μπορεί να επεξεργαστεί τα αιτήματα ενός πελάτη. Αυτή η ροή είναι μονής κατεύθυνσης, που ρέει μόνο από διακομιστή σε πελάτη. Ως εκ τούτου, μια κατευθυνόμενη σχέση συσχέτισης μπορεί να υπάρχει σε διακομιστές και πελάτες ενός συστήματος.
Σύνθεση UML
Δεν είναι πρότυπο Σχέση UML, αλλά εξακολουθεί να χρησιμοποιείται σε διάφορες εφαρμογές.
Η σύνθετη συνάθροιση είναι ένας υποτύπος σχέσης συγκέντρωσης με χαρακτηριστικά όπως:
- Είναι μια αμφίδρομη σύνδεση μεταξύ των αντικειμένων.
- Είναι μια σχέση ολόκληρου/μερικού.
- Εάν διαγραφεί ένα σύνθετο, όλα τα άλλα μέρη που σχετίζονται με αυτό διαγράφονται.
Η σύνθετη συσσώρευση περιγράφεται ως μια δυαδική ένωση διακοσμημένη με ένα γεμάτο μαύρο διαμάντι στο αθροιστικό (ολόκληρο) άκρο.
Ο φάκελος θα μπορούσε να περιέχει πολλά αρχεία, ενώ κάθε Αρχείο έχει ακριβώς έναν γονέα φακέλου. Εάν διαγραφεί ένας φάκελος, αφαιρούνται επίσης όλα τα περιεχόμενα αρχεία.
Σε μια σύνθετη συνάθροιση, ένα αντικείμενο μπορεί να είναι μέρος μόνο ενός σύνθετου κάθε φορά.
Παράδειγμα σύνθεσης UML:
Για παράδειγμα, σε ένα σύστημα παραθύρων, ένα Πλαίσιο ανήκει ακριβώς σε ένα Παράθυρο. Σε μια σύνθετη συνάθροιση, ολόκληρο το σύστημα είναι υπεύθυνο για τη διάθεση των μερών του, πράγμα που σημαίνει ότι το σύνθετο πρέπει να διαχειριστεί τη δημιουργία και την καταστροφή των μερών του.
Συνάθροιση UML
Μια συνάθροιση είναι ένας υποτύπος μιας σχέσης συσχέτισης στο UML. Συγκέντρωση και σύνθεση είναι και οι δύο τύποι σχέσης συσχέτισης στο UML. Μια σχέση συνάθροισης μπορεί να περιγραφεί με απλά λόγια ως «ένα αντικείμενο μιας κλάσης μπορεί να κατέχει ή να έχει πρόσβαση στα αντικείμενα μιας άλλης κλάσης».
Σε μια σχέση συνάθροισης, το εξαρτημένο αντικείμενο παραμένει στο εύρος μιας σχέσης ακόμη και όταν το αντικείμενο προέλευσης καταστρέφεται.
Παράδειγμα συγκέντρωσης UML:
Ας εξετάσουμε ένα παράδειγμα αυτοκινήτου και τροχού.
Ένα αυτοκίνητο χρειάζεται τροχό για να λειτουργήσει σωστά, αλλά ένας τροχός δεν χρειάζεται πάντα αυτοκίνητο. Μπορεί επίσης να χρησιμοποιηθεί με το ποδήλατο, το ποδήλατο ή οποιοδήποτε άλλο όχημα αλλά όχι ένα συγκεκριμένο αυτοκίνητο. Εδώ, το αντικείμενο του τροχού έχει νόημα ακόμη και χωρίς το αντικείμενο του αυτοκινήτου. Αυτός ο τύπος σχέσης ονομάζεται σχέση συγκέντρωσης UML.
Σύλλογος Vs. Συνάθροιση Vs. Σύνθεση
Σχέση | Συσσωμάτωση | Σύνθεση |
---|---|---|
Η σχέση συσχέτισης συμβολίζεται με ένα βέλος. | Η σχέση συνάθροισης υποδηλώνεται χρησιμοποιώντας μια ευθεία γραμμή με κενή αιχμή βέλους στο ένα άκρο. | Η σχέση σύνθεσης υποδηλώνεται χρησιμοποιώντας μια ευθεία γραμμή με μια γεμάτη αιχμή βέλους σε οποιοδήποτε από τα άκρα. |
Μπορεί να υπάρχει συσχέτιση μεταξύ δύο ή περισσότερων κλάσεων στο UML. | Η συγκέντρωση είναι μέρος μιας σχέσης συσχέτισης. | Η σύνθεση είναι μέρος μιας σχέσης συσχέτισης. |
Μπορεί να υπάρχει συσχέτιση ένα-ένα, ένα-πολλά, πολλά-ένα και πολλά-πολλά μεταξύ των τάξεων συσχέτισης. | Η συγκέντρωση θεωρείται ως ένας αδύναμος τύπος συσχέτισης. | Η σύνθεση θεωρείται ως ένας ισχυρός τύπος συσχέτισης. |
Σε μια σχέση συσχέτισης, ένα ή περισσότερα αντικείμενα μπορούν να συσχετιστούν μεταξύ τους. | Σε μια σχέση συνάθροισης, τα αντικείμενα που συνδέονται μεταξύ τους μπορούν να παραμείνουν στο πεδίο εφαρμογής ενός συστήματος χωρίς το ένα το άλλο. | Σε μια σχέση σύνθεσης, τα αντικείμενα που συνδέονται μεταξύ τους δεν μπορούν να παραμείνουν στο πεδίο εφαρμογής το ένα χωρίς το άλλο. |
Τα αντικείμενα συνδέονται μεταξύ τους. | Τα συνδεδεμένα αντικείμενα δεν εξαρτώνται από το άλλο αντικείμενο. | Τα αντικείμενα εξαρτώνται σε μεγάλο βαθμό το ένα από το άλλο. |
Στη συσχέτιση UML, η διαγραφή ενός στοιχείου μπορεί ή δεν μπορεί να επηρεάσει ένα άλλο συσχετισμένο στοιχείο. | Στο UML Aggregation, η διαγραφή ενός στοιχείου δεν επηρεάζει ένα άλλο συσχετισμένο στοιχείο. | Στη σύνθεση UML, η διαγραφή ενός στοιχείου επηρεάζει ένα άλλο συσχετισμένο στοιχείο. |
Παράδειγμα: Ένας δάσκαλος συνδέεται με πολλούς μαθητές. Or ένας δάσκαλος δίνει οδηγίες στους μαθητές. |
Παράδειγμα: Ένα αυτοκίνητο χρειάζεται τροχό, αλλά δεν χρειάζεται πάντα τον ίδιο τροχό. Ένα αυτοκίνητο μπορεί να λειτουργήσει επαρκώς και με έναν άλλο τροχό. |
Παράδειγμα: Ένα αρχείο τοποθετείται μέσα στο φάκελο. Εάν κάποιος διαγράψει το φάκελο, τότε διαγράφεται και το αρχείο που σχετίζεται με αυτόν τον συγκεκριμένο φάκελο. |
Σύνοψη
- Μια σχέση είναι μια σύνδεση μεταξύ πραγμάτων.
- Η συσχέτιση, η εξάρτηση, η γενίκευση και η συνειδητοποίηση ποικίλλουν σχέσεις που παρέχονται από την UML.
- Εκτός από τις τυπικές σχέσεις, η σύνθεση και η συνάθροιση χρησιμοποιούνται μέσα στο UML.
- Η συγκέντρωση και η σύνθεση είναι και οι δύο τύποι σχέσης συσχέτισης στο UML.
- Η σύνθεση UML είναι μια αμφίδρομη σχέση που ονομάζεται επίσης δυαδική σχέση.
Δείτε το άρθρο μας για τα καλυτερα UML Tools:- Click Here