Uml περιγραφή. Διαγράμματα UML. Εσωτερικές δραστηριότητες στο κρατικό διάγραμμα

Η UML είναι μια ενοποιημένη γλώσσα γραφικής μοντελοποίησης για την περιγραφή, την απεικόνιση, το σχεδιασμό και την τεκμηρίωση συστημάτων OO. Το UML έχει σχεδιαστεί για να υποστηρίζει τη διαδικασία μοντελοποίησης συστημάτων λογισμικού με βάση την προσέγγιση OO, να οργανώνει τη σχέση εννοιολογικών και λογισμικών εννοιών, να αντικατοπτρίζει τα προβλήματα της κλιμάκωσης σύνθετων συστημάτων. Τα μοντέλα στο UML χρησιμοποιούνται σε όλα τα στάδια του κύκλου ζωής του συστήματος λογισμικού, από την επιχειρηματική ανάλυση έως τη συντήρηση του συστήματος. Διαφορετικοί οργανισμοί μπορούν να εφαρμόσουν την UML όπως τους ταιριάζει, ανάλογα με τις προβληματικές περιοχές και τις τεχνολογίες που χρησιμοποιούνται.

Μια σύντομη ιστορία του UML

Μέχρι τα μέσα της δεκαετίας του '90, πολλές δεκάδες μέθοδοι μοντελοποίησης OO προτάθηκαν από διάφορους συγγραφείς, καθένας από τους οποίους χρησιμοποιούσε τη δική του γραφική σημειογραφία. Ταυτόχρονα, οποιαδήποτε από αυτές τις μεθόδους είχε τα δυνατά της σημεία, αλλά δεν επέτρεψε την κατασκευή ενός επαρκώς ολοκληρωμένου μοντέλου PS, δείχνοντάς το "από όλες τις πλευρές", δηλαδή όλες τις απαραίτητες προβολές (Βλ. άρθρο 1). Επιπλέον, η έλλειψη προτύπου μοντελοποίησης OO δυσκόλεψε τους προγραμματιστές να επιλέξουν την καταλληλότερη μέθοδο, γεγονός που απέτρεψε την ευρεία χρήση της προσέγγισης OO στην ανάπτυξη λογισμικού.

Κατόπιν αιτήματος της Ομάδας Διαχείρισης Αντικειμένων (OMG) - ο οργανισμός που είναι υπεύθυνος για την υιοθέτηση προτύπων στον τομέα των τεχνολογιών αντικειμένων και βάσεων δεδομένων, το επείγον πρόβλημα της ενοποίησης και της τυποποίησης επιλύθηκε από τους συγγραφείς των τριών πιο δημοφιλών μεθόδων OO - G Buch, D. Rambo και A. Jacobson, οι οποίοι από κοινού δημιούργησαν το UML 1.1, το οποίο εγκρίθηκε από την OMG το 1997 ως πρότυπο.

Η UML είναι μια γλώσσα

Οποιαδήποτε γλώσσα αποτελείται από ένα λεξιλόγιο και κανόνες για το συνδυασμό λέξεων για τη λήψη ουσιαστικών κατασκευών. Έτσι, συγκεκριμένα, είναι διατεταγμένες οι γλώσσες προγραμματισμού, όπως είναι το UML. Το ιδιαίτερο χαρακτηριστικό του είναι ότι το γλωσσικό λεξικό σχηματίζεται από γραφικά στοιχεία. Κάθε γραφικό σύμβολο έχει μια συγκεκριμένη σημασιολογία, επομένως ένα μοντέλο που δημιουργείται από έναν προγραμματιστή μπορεί να γίνει ξεκάθαρα κατανοητό από έναν άλλο, καθώς και από ένα εργαλείο λογισμικού που ερμηνεύει το UML. Από αυτό, συγκεκριμένα, προκύπτει ότι ένα μοντέλο PS που παρουσιάζεται σε UML μπορεί να μεταφραστεί αυτόματα σε μια γλώσσα προγραμματισμού OO (όπως Java, C ++, VisualBasic), δηλαδή εάν υπάρχει ένα καλό εργαλείο οπτικής μοντελοποίησης που υποστηρίζει UML , δημιουργώντας το μοντέλο , θα λάβουμε μια προετοιμασία του κώδικα προγράμματος που αντιστοιχεί σε αυτό το μοντέλο.

Θα πρέπει να τονιστεί ότι το UML είναι μια γλώσσα, όχι μια μέθοδος. Εξηγεί από ποια στοιχεία να δημιουργήσετε μοντέλα και πώς να τα διαβάσετε, αλλά δεν λέει τίποτα για το ποια μοντέλα πρέπει να αναπτυχθούν και σε ποιες περιπτώσεις. Για να δημιουργήσετε μια μέθοδο που βασίζεται σε UML, είναι απαραίτητο να τη συμπληρώσετε με μια περιγραφή της διαδικασίας ανάπτυξης λογισμικού. Ένα παράδειγμα τέτοιας διαδικασίας είναι η Ορθολογική Ενοποιημένη Διαδικασία, η οποία θα συζητηθεί σε επόμενα άρθρα.

Λεξιλόγιο UML

Το μοντέλο αναπαρίσταται με τη μορφή οντοτήτων και σχέσεων μεταξύ τους, οι οποίες φαίνονται σε διαγράμματα.

οντότητεςΕίναι αφαιρέσεις που είναι τα κύρια στοιχεία των μοντέλων. Υπάρχουν τέσσερις τύποι οντοτήτων - δομικές (κλάση, διεπαφή, στοιχείο, περίπτωση χρήσης, συνεργασία, κόμβος), συμπεριφορικές (αλληλεπίδραση, κατάσταση), ομαδοποίηση (πακέτα) και σχολιασμός (σχόλια). Κάθε τύπος οντότητας έχει τη δική του γραφική αναπαράσταση. Οι οντότητες θα συζητηθούν λεπτομερώς κατά την εξερεύνηση των διαγραμμάτων.

Σχέσηδείχνουν διάφορες σχέσεις μεταξύ οντοτήτων. Το UML ορίζει τους ακόλουθους τύπους σχέσεων:

  • Εθισμόςδείχνει μια τέτοια σύνδεση μεταξύ δύο οντοτήτων, όταν η αλλαγή μιας από αυτές - ανεξάρτητης - μπορεί να επηρεάσει τη σημασιολογία της άλλης - εξαρτημένης. Η εξάρτηση απεικονίζεται με ένα διακεκομμένο βέλος που δείχνει από την εξαρτημένη οντότητα στην ανεξάρτητη οντότητα.
  • ΣχέσηΕίναι μια δομική σχέση που δείχνει ότι τα αντικείμενα σε μια οντότητα σχετίζονται με αντικείμενα μιας άλλης. Ένας συσχετισμός εμφανίζεται γραφικά ως γραμμή που συνδέει τις οντότητες που συνδέονται. Οι συσχετισμοί χρησιμοποιούνται για την πλοήγηση μεταξύ αντικειμένων. Για παράδειγμα, η συσχέτιση μεταξύ των κατηγοριών "Παραγγελία" και "Προϊόν" μπορεί να χρησιμοποιηθεί για την εύρεση όλων των προϊόντων που καθορίζονται σε μια συγκεκριμένη παραγγελία - αφενός, ή για την εύρεση όλων των παραγγελιών στις οποίες υπάρχει ένα συγκεκριμένο προϊόν - από την άλλη . Είναι σαφές ότι τα αντίστοιχα προγράμματα πρέπει να εφαρμόσουν μηχανισμό για τέτοια πλοήγηση. Εάν απαιτείται μόνο μία κατεύθυνση για την πλοήγηση, υποδεικνύεται με ένα βέλος στο τέλος του συσχετισμού. Ειδική περίπτωση συσχέτισης είναι η συσσώρευση – σχέση της μορφής «ολόκληρο» – «μέρος». Γραφικά τονίζεται με ένα διαμάντι στο τέλος κοντά στην οντότητα-ολόκληρο.
  • ΓενίκευσηΕίναι μια σχέση μεταξύ μιας μητρικής οντότητας και μιας καταγωγής οντότητας. Ουσιαστικά, αυτή η σχέση αντικατοπτρίζει την ιδιότητα κληρονομικότητας για κλάσεις και αντικείμενα. Η γενίκευση εμφανίζεται ως μια γραμμή που τελειώνει με ένα τρίγωνο που δείχνει προς τη μητρική οντότητα. Το παιδί κληρονομεί τη δομή (χαρακτηριστικά) και τη συμπεριφορά (μέθοδοι) του γονέα, αλλά ταυτόχρονα μπορεί να έχει νέα μέλη δομής και νέες μεθόδους. Το UML επιτρέπει πολλαπλή κληρονομικότητα όταν μια οντότητα συσχετίζεται με περισσότερες από μία μητρικές οντότητες.
  • Εκτέλεση- τη σχέση μεταξύ της οντότητας που ορίζει την προδιαγραφή της συμπεριφοράς (διεπαφή) με την οντότητα που ορίζει την υλοποίηση αυτής της συμπεριφοράς (κλάση, στοιχείο). Αυτή η σχέση χρησιμοποιείται συνήθως στη μοντελοποίηση στοιχείων και θα περιγραφεί με περισσότερες λεπτομέρειες σε επόμενα άρθρα.

Διαγράμματα.Το UML παρέχει τα ακόλουθα διαγράμματα:

  • Διαγράμματα που περιγράφουν τη συμπεριφορά του συστήματος:
    • Διαγράμματα κατάστασης,
    • Διαγράμματα δραστηριότητας,
    • Διαγράμματα αντικειμένων,
    • Διαγράμματα ακολουθίας,
    • Διαγράμματα συνεργασίας
  • Διαγράμματα που περιγράφουν τη φυσική υλοποίηση του συστήματος:
    • Διαγράμματα εξαρτημάτων
    • Διαγράμματα ανάπτυξης

Προβολή ελέγχου μοντέλου. Πακέτα.

Έχουμε ήδη πει ότι για να γίνει καλά κατανοητό ένα μοντέλο από ένα άτομο, είναι απαραίτητο να το οργανώσει ιεραρχικά, αφήνοντας έναν μικρό αριθμό οντοτήτων σε κάθε επίπεδο της ιεραρχίας. Το UML περιλαμβάνει ένα μέσο οργάνωσης μιας ιεραρχικής αναπαράστασης ενός μοντέλου - πακέτων. Οποιοδήποτε μοντέλο αποτελείται από ένα σύνολο πακέτων που μπορεί να περιέχει κλάσεις, περιπτώσεις χρήσης και άλλες οντότητες και διαγράμματα. Ένα πακέτο μπορεί να περιλαμβάνει άλλα πακέτα για τη δημιουργία ιεραρχιών. Δεν υπάρχουν ξεχωριστά διαγράμματα πακέτων στο UML, αλλά ενδέχεται να εμφανίζονται σε άλλα διαγράμματα. Το πακέτο εμφανίζεται ως ορθογώνιο με μια καρτέλα.

Τι παρέχει το UML.

  • μια ιεραρχική περιγραφή ενός πολύπλοκου συστήματος με την κατανομή πακέτων.
  • επισημοποίηση των λειτουργικών απαιτήσεων για το σύστημα με χρήση της συσκευής περιπτώσεων χρήσης·
  • Αναλύοντας τις απαιτήσεις για το σύστημα με τη δημιουργία διαγραμμάτων δραστηριοτήτων και σεναρίων·
  • επισήμανση κατηγοριών δεδομένων και δημιουργία ενός εννοιολογικού μοντέλου δεδομένων με τη μορφή διαγραμμάτων κλάσεων.
  • επισήμανση των κλάσεων που περιγράφουν τη διεπαφή χρήστη και δημιουργία ενός σχήματος πλοήγησης στην οθόνη.
  • περιγραφή των διαδικασιών αλληλεπίδρασης αντικειμένων κατά την εκτέλεση λειτουργιών του συστήματος.
  • περιγραφή της συμπεριφοράς των αντικειμένων με τη μορφή διαγραμμάτων δραστηριοτήτων και καταστάσεων.
  • περιγραφή των στοιχείων λογισμικού και η αλληλεπίδρασή τους μέσω διεπαφών·
  • περιγραφή της φυσικής αρχιτεκτονικής του συστήματος.

Και το τελευταίο ...

Παρά την ελκυστικότητα του UML, θα ήταν δύσκολο να χρησιμοποιηθεί σε πραγματικό μοντέλο λογισμικού χωρίς εργαλεία οπτικής μοντελοποίησης. Τέτοια εργαλεία σάς επιτρέπουν να παρουσιάζετε γρήγορα διαγράμματα στην οθόνη εμφάνισης, να τα τεκμηριώνετε, να δημιουργείτε κενούς κώδικες προγραμμάτων σε διάφορες γλώσσες προγραμματισμού OO και να δημιουργείτε σχήματα βάσεων δεδομένων. Τα περισσότερα από αυτά περιλαμβάνουν τη δυνατότητα ανασχεδιασμού κωδίκων προγραμμάτων - επαναφορά ορισμένων προβολών του μοντέλου SS με αυτόματη ανάλυση των πηγαίων κωδίκων των προγραμμάτων, κάτι που είναι πολύ σημαντικό για τη διασφάλιση της συνέπειας του μοντέλου και των κωδίκων και κατά το σχεδιασμό συστημάτων που κληρονομούν τη λειτουργικότητα του προκατόχου συστήματα.

Η UML είναι μια γενικής χρήσης γραφική γλώσσα μοντελοποίησης για τον προσδιορισμό, την απεικόνιση, το σχεδιασμό και την τεκμηρίωση όλων των τεχνουργημάτων που δημιουργούνται στην ανάπτυξη συστημάτων λογισμικού.

Υπάρχουν πολλά καλά βιβλία που περιγράφουν λεπτομερώς για το UML (σε ορισμένα σημεία ακόμη και με μεγάλη λεπτομέρεια), θα ήθελα να συγκεντρώσω σε ένα μέρος τις βασικές έννοιες σχετικά με τα διαγράμματα, τις οντότητες και τις συνδέσεις μεταξύ τους για γρήγορη ανάκληση, κάτι σαν ένα φύλλο εξαπάτησης .

Το σημείωμα χρησιμοποιεί υλικά από βιβλία: Ivanov D. Yu., Novikov F. A. Unified Modeling Language UMLκαι Ο Λεονένκοφ. Εκμάθηση UML.

Αρχικά, ας αποφασίσουμε για τον συντάκτη. Κάτω από το Linux, δοκίμασα διαφορετικούς επεξεργαστές UML, περισσότερο από όλα μου άρεσε το UMLet, αν και είναι γραμμένο σε Java, κινείται πολύ γρήγορα και τα περισσότερα από τα πρότυπα οντοτήτων βρίσκονται σε αυτό. Υπάρχει επίσης το ArgoUML, ένα πρόγραμμα επεξεργασίας UML μεταξύ πλατφορμών, γραμμένο επίσης σε Java, λειτουργικά πλούσιο, αλλά επιβραδύνει περισσότερο.

εγκαταστάθηκα UMlet, βάλτε το κάτω Arch Linuxκαι Ubuntu:

# για Arch Linux yaourt -S umlet # Για Ubuntu sudo apt-get install umlet

Στο UML, όλες οι οντότητες μπορούν να αναλυθούν στους ακόλουθους τύπους:

  • κατασκευαστικός;
  • συμπεριφορική?
  • ομαδοποίηση?
  • σχόλιο;

Υπάρχουν τέσσερις κύριοι τύποι σχέσεων που χρησιμοποιούνται στο UML:

Εξάρτηση- υποδηλώνει ότι η αλλαγή της ανεξάρτητης οντότητας επηρεάζει κατά κάποιο τρόπο την εξαρτημένη οντότητα. Γραφικά, μια σχέση εξάρτησης απεικονίζεται ως μια διακεκομμένη γραμμή με ένα βέλος που δείχνει από την εξαρτημένη οντότητα προς την ανεξάρτητη οντότητα.

Σχέση- λαμβάνει χώρα εάν μια οντότητα σχετίζεται άμεσα με μια άλλη (ή με άλλες - η συσχέτιση μπορεί να είναι όχι μόνο δυαδική). Ένας συσχετισμός απεικονίζεται γραφικά ως μια συμπαγής γραμμή με διάφορες προσθήκες που συνδέουν σχετικές οντότητες.

Γενίκευσηείναι μια σχέση μεταξύ δύο οντοτήτων, εκ των οποίων η μία είναι ειδική (εξειδικευμένη) περίπτωση της άλλης. Γραφικά, η γενίκευση απεικονίζεται ως μια γραμμή με ένα τριγωνικό, μη σκιασμένο βέλος στο τέλος, που κατευθύνεται από το συγκεκριμένο (υποκατηγορία) στο γενικό (υπερτάξη).

Εκτέλεση- μια σχέση υλοποίησης υποδεικνύει ότι μια οντότητα είναι υλοποίηση μιας άλλης. Γραφικά, η υλοποίηση απεικονίζεται ως μια διακεκομμένη γραμμή με ένα τριγωνικό, μη σκιασμένο βέλος στο τέλος, που κατευθύνεται από την πραγματοποιούμενη οντότητα προς την πραγματοποιήσιμη.

V UML 2ορίζεται 13 τύπους διαγραμμάτων. Σύμφωνα με τα πρότυπα, κάθε γράφημα πρέπει να έχει ένα πλαίσιο με ένα ορθογώνιο (λοξότμητη κάτω δεξιά γωνία) στην επάνω αριστερή γωνία, το οποίο υποδεικνύει το αναγνωριστικό του γραφήματος (ετικέτα) και τον τίτλο.

Διαγράμματα για την απεικόνιση της δομής του συστήματος:

  • Διάγραμμα εξαρτημάτων (ετικέτα συστατικό);
  • Διάγραμμα ανάπτυξης (ετικέτα ανάπτυξη);
  • Διάγραμμα τάξης (διάγραμμα τάξης, ετικέτα τάξη);
  • Διάγραμμα αντικειμένου (ετικέτα αντικείμενο);
  • Διάγραμμα εσωτερικής δομής (σύνθετο διάγραμμα δομής, ετικέτα τάξη);

Διαγράμματα για την απεικόνιση της συμπεριφοράς του συστήματος:

  • Διάγραμμα αλληλεπίδρασης (ετικέτα συγχρονισμός);
  • Διάγραμμα δραστηριότητας (ετικέτα δραστηριότητα);
  • Διάγραμμα ακολουθίας (ετικέτα sd);
  • Διάγραμμα επικοινωνίας (ετικέτα comm);
  • Διάγραμμα κατάστασης μηχανής (ετικέτα κρατική μηχανή);
  • Ετικέτα διαγράμματος επισκόπησης αλληλεπίδρασης ΑΛΛΗΛΕΠΙΔΡΑΣΗ);

Τα διαγράμματα ξεχωρίζουν:

  • Διάγραμμα χρήσης (διάγραμμα περίπτωσης χρήσης, ετικέτα περίπτωσης χρήσης).
  • Διάγραμμα πακέτου (ετικέτα πακέτο);

Διάγραμμα χρήσης

Διάγραμμα χρήσης(διάγραμμα περίπτωσης χρήσης) είναι η πιο γενική αναπαράσταση του λειτουργικού σκοπού του συστήματος.

Θεωρώντας ένα διάγραμμα περίπτωσης χρήσης ως μοντέλο ενός συστήματος, μπορεί κανείς να το συσχετίσει με ένα μοντέλο μαύρου κουτιού. Κάθε περίπτωση χρήσης ορίζει μια ακολουθία ενεργειών που πρέπει να εκτελούνται από το σχεδιασμένο σύστημα όταν αλληλεπιδρά με τον αντίστοιχο παράγοντα.

Το διάγραμμα χρήσης χρησιμοποιεί δύο τύπους βασικών οντοτήτων: περιπτώσεις χρήσης και φορείς, μεταξύ των οποίων δημιουργούνται οι ακόλουθοι βασικοί τύποι σχέσεων.

Σχέση συσχέτισης- Αυτή η σχέση καθορίζει τον συγκεκριμένο ρόλο που παίζει ένας ηθοποιός όταν αλληλεπιδρά με ένα παράδειγμα μιας περίπτωσης χρήσης. Μια σχέση συσχέτισης υποδεικνύεται από μια σταθερή γραμμή μεταξύ του ηθοποιού και της περίπτωσης χρήσης. Αυτή η γραμμή μπορεί να έχει πρόσθετα σύμβολα όπως όνομα και πολλαπλότητα.

Αναλογία επέκτασης- ορίζει τον τρόπο με τον οποίο οι περιπτώσεις μιας συγκεκριμένης περίπτωσης χρήσης σχετίζονται με μια περίπτωση πιο γενικής χρήσης, οι ιδιότητες της οποίας καθορίζονται με βάση τον τρόπο συνδυασμού αυτών των περιπτώσεων. Έτσι, εάν υπάρχει μια σχέση επέκτασης από την περίπτωση χρήσης Α στην περίπτωση χρήσης Β, τότε αυτό σημαίνει ότι οι ιδιότητες της περίπτωσης χρήσης Β μπορούν να αυξηθούν λόγω της παρουσίας ιδιοτήτων στην περίπτωση εκτεταμένης χρήσης Α.

Μια σχέση επέκτασης μεταξύ περιπτώσεων χρήσης υποδεικνύεται με μια διακεκομμένη γραμμή με ένα βέλος (περίπτωση σχέσης εξάρτησης) που δείχνει μακριά από την περίπτωση χρήσης που είναι επέκταση στην αρχική περίπτωση χρήσης.

Σχέση γενίκευσηςχρησιμεύει για να υποδείξει το γεγονός ότι μια συγκεκριμένη περίπτωση χρήσης Α μπορεί να γενικευθεί στη χρήση Β. Στην περίπτωση αυτή, η επιλογή Α θα είναι εξειδίκευση της επιλογής Β. Στην περίπτωση αυτή, το Β ονομάζεται πρόγονος ή γονέας σε σχέση με το Α, και Η επιλογή Α είναι απόγονος σε σχέση με τη χρήση της επιλογής του V.

Γραφικά, αυτή η σχέση υποδεικνύεται από μια συμπαγή γραμμή με ένα ανοιχτό τρίγωνο βέλος που υποδεικνύει την περίπτωση γονικής χρήσης.

Μια σχέση γενίκευσης μεταξύ των περιπτώσεων χρήσης χρησιμοποιείται όταν είναι απαραίτητο να σημειωθεί ότι οι περιπτώσεις παιδικής χρήσης έχουν όλα τα χαρακτηριστικά και τις συμπεριφορές των περιπτώσεων γονικής χρήσης.

αναλογία συμπερίληψηςμεταξύ δύο περιπτώσεων χρήσης υποδεικνύει ότι κάποια καθορισμένη συμπεριφορά για τη μία περίπτωση χρήσης περιλαμβάνεται ως σύνθετο στοιχείο στην ακολουθία συμπεριφοράς της άλλης περίπτωσης χρήσης.

Η σχέση συμπερίληψης από την περίπτωση χρήσης Α στην περίπτωση χρήσης Β υποδεικνύει ότι κάθε περίπτωση της επιλογής Α περιλαμβάνει τη λειτουργικότητα που καθορίζεται για την επιλογή Β.

Γραφικά, αυτή η σχέση υποδηλώνεται με μια διακεκομμένη γραμμή με ένα βέλος (περίπτωση σχέσης εξάρτησης) που δείχνει από τη βασική περίπτωση χρήσης προς τη συμπεριλαμβανόμενη περίπτωση χρήσης.

Διάγραμμα τάξης

Διάγραμμα τάξης(διάγραμμα τάξης) είναι ο κύριος τρόπος περιγραφής της στατικής δομής ενός συστήματος.

Σε ένα διάγραμμα κλάσεων, χρησιμοποιείται ένας κύριος τύπος οντοτήτων: κλάσεις (συμπεριλαμβανομένων πολλών ειδικών περιπτώσεων κλάσεων: διεπαφές, πρωτόγονοι τύποι, κλάσεις συσχέτισης κ.λπ.), μεταξύ των οποίων καθιερώνονται οι ακόλουθοι βασικοί τύποι σχέσεων: εξαρτήσεις, συσχετίσεις, γενικεύσεις , υλοποιήσεις.

Σχέση εθισμούγενικά υποδεικνύει κάποια σημασιολογική σχέση μεταξύ δύο στοιχείων μοντέλου ή δύο συνόλων τέτοιων στοιχείων που δεν είναι σχέση συσχέτισης, γενίκευσης ή υλοποίησης. Μια σχέση εξάρτησης χρησιμοποιείται σε μια κατάσταση όπου κάποια αλλαγή σε ένα στοιχείο του μοντέλου μπορεί να απαιτεί αλλαγή σε ένα άλλο εξαρτημένο στοιχείο του μοντέλου.

Μια σχέση εξάρτησης απεικονίζεται γραφικά με μια διακεκομμένη γραμμή μεταξύ των αντίστοιχων στοιχείων με ένα βέλος σε ένα από τα άκρα της, με το βέλος να δείχνει από την κλάση πελάτη εξάρτησης προς την ανεξάρτητη ή την κλάση πηγής.

Μπορεί να υπάρχουν ειδικές λέξεις-κλειδιά (στερεότυπα) πάνω από το βέλος:

  • "access" - χρησιμεύει για να υποδείξει την προσβασιμότητα των δημόσιων χαρακτηριστικών και λειτουργιών της κλάσης πηγής για κλάσεις πελατών.
  • "bind" - η κλάση πελάτη μπορεί να χρησιμοποιήσει κάποιο πρότυπο για την επακόλουθη παραμετροποίησή της.
  • "derive" - ​​τα χαρακτηριστικά της κλάσης πελάτη μπορούν να υπολογιστούν από τα χαρακτηριστικά της κλάσης πηγής.
  • "εισαγωγή" - δημόσια χαρακτηριστικά και λειτουργίες της κλάσης πηγής γίνονται μέρος της κλάσης πελάτη, σαν να είχαν δηλωθεί απευθείας σε αυτήν.
  • "βελτίωση" - υποδεικνύει ότι η κλάση πελάτη χρησιμεύει ως βελτίωση της κλάσης πηγής για ιστορικούς λόγους, όταν εμφανίζονται πρόσθετες πληροφορίες κατά τη διάρκεια της εργασίας στο έργο.

Σχέση συσχέτισηςαντιστοιχεί στην ύπαρξη κάποιας σχέσης μεταξύ των κλάσεων. Αυτή η σχέση υποδηλώνεται με μια συμπαγή γραμμή με πρόσθετους ειδικούς χαρακτήρες που χαρακτηρίζουν μεμονωμένες ιδιότητες ενός συγκεκριμένου συσχετισμού. Το όνομα της ένωσης, καθώς και τα ονόματα και η πολλαπλότητα των κατηγοριών ρόλων της ένωσης, μπορούν να χρησιμοποιηθούν ως πρόσθετοι ειδικοί χαρακτήρες. Το όνομα του σωματείου αποτελεί προαιρετικό στοιχείο της ονομασίας του.

Αναλογία συνάθροισηςλαμβάνει χώρα μεταξύ πολλών κλάσεων στην περίπτωση που μία από τις κλάσεις είναι μια συγκεκριμένη οντότητα που περιλαμβάνει άλλες οντότητες ως συστατικά μέρη. Χρησιμοποιείται για την αναπαράσταση σχέσεων συστήματος από μέρος προς ολόκληρο.

Σχέση σύνθεσηςείναι μια ειδική περίπτωση μιας σχέσης συγκέντρωσης. Αυτή η σχέση χρησιμεύει για την ανάδειξη μιας ειδικής μορφής της σχέσης «μέρος-όλον», στην οποία τα συστατικά μέρη, κατά μία έννοια, βρίσκονται μέσα στο σύνολο. Η ιδιαιτερότητα της μεταξύ τους σχέσης έγκειται στο ότι τα μέρη δεν μπορούν να δράσουν μεμονωμένα από το σύνολο, δηλαδή με την καταστροφή του συνόλου καταστρέφονται όλα τα συστατικά μέρη του.

Σχέση γενίκευσηςείναι μια σχέση μεταξύ ενός γενικότερου στοιχείου (γονέας ή πρόγονος) και ενός πιο ιδιωτικού ή ειδικού στοιχείου (παιδί ή απόγονος). Όταν εφαρμόζεται σε ένα διάγραμμα κλάσεων, αυτή η σχέση περιγράφει την ιεραρχική δομή των κλάσεων και την κληρονομικότητα των ιδιοτήτων και της συμπεριφοράς τους. Υποτίθεται ότι η κλάση απόγονος έχει όλες τις ιδιότητες και τη συμπεριφορά της κλάσης προγόνων και επίσης έχει τις δικές της ιδιότητες και συμπεριφορά που δεν έχει η κλάση προγόνων.

Αυτόματο διάγραμμα

Αυτόματο διάγραμμα(διάγραμμα κατάστασης μηχανής) ή διάγραμμα κατάστασηςστο UML 1 (διάγραμμα γραφήματος κατάστασης) είναι ένας τρόπος για να περιγράψουμε λεπτομερώς τη συμπεριφορά στο UML. Στην ουσία, τα διαγράμματα αυτόματων, όπως υποδηλώνει το όνομα, είναι ένα γράφημα καταστάσεων και μεταβάσεων ενός πεπερασμένου αυτόματου φορτωμένου με πολλές πρόσθετες λεπτομέρειες και λεπτομέρειες.

Ένα διάγραμμα κατάστασης περιγράφει τη διαδικασία αλλαγής των καταστάσεων μιας μόνο κλάσης, ή μάλλον, μιας παρουσίας μιας συγκεκριμένης κλάσης, δηλαδή μοντελοποιεί όλες τις πιθανές αλλαγές στην κατάσταση ενός συγκεκριμένου αντικειμένου. Σε αυτή την περίπτωση, μια αλλαγή στην κατάσταση ενός αντικειμένου μπορεί να προκληθεί από εξωτερικές επιρροές από άλλα αντικείμενα ή από το εξωτερικό. Τα διαγράμματα καταστάσεων χρησιμοποιούνται για να περιγράψει την αντίδραση ενός αντικειμένου σε τέτοιες εξωτερικές επιρροές.

Στο διάγραμμα του αυτόματου, χρησιμοποιείται ένας κύριος τύπος οντοτήτων - καταστάσεις και ένας τύπος σχέσης - μεταβάσεις, αλλά και για τα δύο ορίζονται πολλές ποικιλίες, ειδικές περιπτώσεις και πρόσθετες σημειώσεις. Το αυτόματο αντιπροσωπεύει τις δυναμικές πτυχές του μοντελοποιημένου συστήματος με τη μορφή ενός κατευθυνόμενου γραφήματος, οι κορυφές του οποίου αντιστοιχούν σε καταστάσεις και τα τόξα αντιστοιχούν σε μεταβάσεις.

Αρχική κατάστασηείναι μια ειδική περίπτωση κατάστασης που δεν περιέχει εσωτερικές ενέργειες (ψευδοκαταστάσεις). Το προεπιλεγμένο αντικείμενο βρίσκεται σε αυτήν την κατάσταση την αρχική χρονική στιγμή. Χρησιμεύει για να υποδείξει στο διάγραμμα κατάστασης την περιοχή γραφικών από την οποία ξεκινά η διαδικασία μετάβασης κατάστασης.

Τελικός (τελικός)ένα κράτος είναι μια ειδική περίπτωση ενός κράτους που επίσης δεν περιέχει εσωτερικές ενέργειες (ψευδοκράτη). Το προεπιλεγμένο αντικείμενο θα βρίσκεται σε αυτήν την κατάσταση αφού το αυτόματο τελειώσει την εργασία του την τελευταία στιγμή.

Διάγραμμα δραστηριότητας

Κατά τη μοντελοποίηση της συμπεριφοράς ενός σχεδιασμένου ή αναλυόμενου συστήματος, καθίσταται απαραίτητο όχι μόνο η αναπαράσταση της διαδικασίας αλλαγής των καταστάσεων του, αλλά και η λεπτομέρεια των χαρακτηριστικών της αλγοριθμικής και λογικής υλοποίησης των λειτουργιών που εκτελούνται από το σύστημα.

Διάγραμμα δραστηριότητας(διάγραμμα δραστηριότητας) είναι ένας άλλος τρόπος περιγραφής συμπεριφοράς που μοιάζει οπτικά με το παλιό καλό διάγραμμα ροής του αλγορίθμου. Χρησιμοποιείται για την προσομοίωση της διαδικασίας εκτέλεσης λειτουργιών.

Η κύρια κατεύθυνση χρήσης διαγραμμάτων δραστηριότητας είναι η οπτικοποίηση των ιδιαιτεροτήτων της υλοποίησης των πράξεων κλάσης, όταν είναι απαραίτητο να παρουσιαστούν αλγόριθμοι για την εκτέλεσή τους.

Στο διάγραμμα δραστηριότητας, χρησιμοποιείται ένας κύριος τύπος οντότητας - δράση, και ένας τύπος σχέσης - μεταβάσεις (μεταφορές ελέγχου). Χρησιμοποιούνται επίσης κατασκευές όπως πιρούνια, συγχωνεύσεις, ενώσεις, διακλαδώσεις. Συνιστάται η χρήση ενός ρήματος με επεξηγηματικές λέξεις ως απλό όνομα δράσης.

Διάγραμμα ακολουθίας

Διάγραμμα ακολουθίας(διάγραμμα ακολουθίας) είναι ένας τρόπος περιγραφής της συμπεριφοράς του συστήματος "με παραδείγματα".

Στην πραγματικότητα, ένα διάγραμμα ακολουθίας είναι μια εγγραφή ενός πρωτοκόλλου μιας συγκεκριμένης συνεδρίας της λειτουργίας του συστήματος (ή ενός τμήματος ενός τέτοιου πρωτοκόλλου). Στον αντικειμενοστραφή προγραμματισμό, ο πιο ουσιαστικός χρόνος εκτέλεσης είναι η μεταφορά μηνυμάτων μεταξύ αντικειμένων που επικοινωνούν. Είναι η σειρά αποστολής μηνυμάτων που εμφανίζεται σε αυτό το διάγραμμα, εξ ου και το όνομα.

Στο διάγραμμα ακολουθίας, χρησιμοποιείται ένας κύριος τύπος οντοτήτων - περιπτώσεις αλληλεπιδρώντων ταξινομητών (κυρίως κλάσεων, στοιχείων και δρώντων) και ένας τύπος σχέσης - οι σύνδεσμοι μέσω των οποίων ανταλλάσσονται τα μηνύματα.

Πιθανοί τύποι μηνυμάτων (η εικόνα έχει ληφθεί από το larin.in):

Διάγραμμα επικοινωνίας

Διάγραμμα επικοινωνίας(διάγραμμα επικοινωνίας) - ένας τρόπος περιγραφής της συμπεριφοράς, σημασιολογικά ισοδύναμος με ένα διάγραμμα ακολουθίας. Στην πραγματικότητα, αυτή είναι η ίδια περιγραφή της αλληλουχίας ανταλλαγής μηνυμάτων των αλληλεπιδρώντων παρουσιών ταξινομητή, που εκφράζεται μόνο με άλλα γραφικά μέσα.

Έτσι, στο διάγραμμα επικοινωνίας, καθώς και στο διάγραμμα ακολουθίας, χρησιμοποιείται ένας κύριος τύπος οντοτήτων - περιπτώσεις αλληλεπιδρώντων ταξινομητών και ένας τύπος σχέσης - συνδέσμους. Ωστόσο, εδώ δεν δίνεται έμφαση στον χρόνο, αλλά στη δομή των δεσμών μεταξύ συγκεκριμένων περιπτώσεων.

Διάγραμμα συνιστωσών

Διάγραμμα συνιστωσών(διάγραμμα συνιστωσών) - δείχνει τη σχέση μεταξύ των μονάδων (λογικών ή φυσικών) που συνθέτουν το προσομοιωμένο σύστημα.

Ο κύριος τύπος οντοτήτων σε ένα διάγραμμα συνιστωσών είναι τα ίδια τα στοιχεία, καθώς και οι διεπαφές μέσω των οποίων υποδεικνύεται η σχέση μεταξύ των στοιχείων. Σε ένα διάγραμμα συνιστωσών, ισχύουν οι ακόλουθες σχέσεις:

  • υλοποιήσεις μεταξύ στοιχείων και διεπαφών (ένα στοιχείο υλοποιεί μια διεπαφή).
  • εξαρτήσεις μεταξύ στοιχείων και διεπαφών (ένα στοιχείο χρησιμοποιεί μια διεπαφή).

Διάγραμμα τοποθέτησης

Διάγραμμα τοποθέτησης(διάγραμμα ανάπτυξης), μαζί με την εμφάνιση της σύνθεσης και των σχέσεων των στοιχείων του συστήματος, δείχνει πώς βρίσκονται φυσικά στους υπολογιστικούς πόρους κατά το χρόνο εκτέλεσης.

Στο διάγραμμα τοποθέτησης, σε σύγκριση με το διάγραμμα συνιστωσών, προστίθενται δύο τύποι οντοτήτων: ένα τεχνούργημα, το οποίο είναι η υλοποίηση ενός στοιχείου και ενός κόμβου (μπορεί να είναι είτε ένας ταξινομητής που περιγράφει τον τύπο ενός κόμβου, είτε ένα συγκεκριμένο παράδειγμα ), καθώς και μια σχέση συσχέτισης μεταξύ κόμβων, που δείχνει ότι οι κόμβοι συνδέονται φυσικά κατά το χρόνο εκτέλεσης.

Διάγραμμα αντικειμένου

Διάγραμμα αντικειμένου(διάγραμμα αντικειμένου) - είναι μια εμφάνιση ενός διαγράμματος κλάσης.

Στο διάγραμμα αντικειμένων, χρησιμοποιείται ένας κύριος τύπος οντότητας: αντικείμενα (στιγμιότυπα κλάσης), μεταξύ των οποίων υποδεικνύονται συγκεκριμένες σχέσεις (τις περισσότερες φορές, περιπτώσεις συσχέτισης). Τα διαγράμματα αντικειμένων είναι βοηθητικής φύσης - στην πραγματικότητα, είναι παραδείγματα (θα έλεγε κανείς, χωματερές μνήμης) που δείχνουν τι είναι τα αντικείμενα και τις συνδέσεις μεταξύ τους σε κάποια συγκεκριμένη στιγμή της λειτουργίας του συστήματος.

Διάγραμμα εσωτερικής δομής(σύνθετο διάγραμμα δομής) χρησιμοποιείται για μια πιο λεπτομερή παρουσίαση δομικών ταξινομητών, κυρίως κλάσεων και εξαρτημάτων.

Ο δομικός ταξινομητής απεικονίζεται ως ορθογώνιο, στο επάνω μέρος του οποίου αναγράφεται το όνομα του ταξινομητή. Μέσα είναι τα μέρη. Μπορεί να υπάρχουν πολλά μέρη. Τα μέρη μπορούν να αλληλεπιδράσουν μεταξύ τους. Αυτό υποδεικνύεται χρησιμοποιώντας συνδέσμους διαφόρων ειδών. Η θέση στο εξωτερικό άκρο του εξαρτήματος στο οποίο συνδέεται ο σύνδεσμος ονομάζεται θύρα. Οι θύρες βρίσκονται επίσης στο εξωτερικό άκρο του δομικού ταξινομητή.

Διάγραμμα επισκόπησης αλληλεπίδρασηςΈνα διάγραμμα επισκόπησης αλληλεπίδρασης είναι ένας τύπος διαγράμματος δραστηριότητας με εκτεταμένη σύνταξη: οι σύνδεσμοι χρήσης αλληλεπίδρασης που ορίζονται από διαγράμματα ακολουθίας μπορούν να λειτουργήσουν ως στοιχεία ενός διαγράμματος επισκόπησης αλληλεπίδρασης.

Διάγραμμα συγχρονισμού

Διάγραμμα συγχρονισμού(διάγραμμα χρονισμού) είναι μια ειδική μορφή διαγράμματος ακολουθίας, στο οποίο δίνεται ιδιαίτερη προσοχή στην αλλαγή των καταστάσεων των διαφορετικών περιπτώσεων ταξινομητών και του χρονισμού τους.

Διάγραμμα πακέτου

Διάγραμμα πακέτου(διάγραμμα πακέτου) είναι το μόνο εργαλείο που σας επιτρέπει να διαχειριστείτε την πολυπλοκότητα του ίδιου του μοντέλου.

Τα κύρια στοιχεία της σημειογραφίας είναι πακέτα και εξαρτήσεις με διαφορετικά στερεότυπα.

Μοντέλο σχέσης οντοτήτων (ER-model)

Αναλογικό διαγράμματα τάξης(UML) ίσως Μοντέλο ER, το οποίο χρησιμοποιείται στο σχεδιασμό βάσεων δεδομένων (σχεσιακό μοντέλο).

Το μοντέλο σχέσης οντοτήτων (ER-model) είναι ένα μοντέλο δεδομένων που σας επιτρέπει να περιγράφετε εννοιολογικά σχήματα του τομέα. Το μοντέλο ER χρησιμοποιείται στον σχεδιασμό βάσεων δεδομένων υψηλού επιπέδου (εννοιολογική). Με τη βοήθειά του, είναι δυνατό να επισημανθούν οι βασικές οντότητες και να προσδιοριστούν οι συνδέσεις που μπορούν να δημιουργηθούν μεταξύ αυτών των οντοτήτων. wikipedia

Οποιοδήποτε τμήμα της θεματικής περιοχής μπορεί να αναπαρασταθεί ως ένα σύνολο οντοτήτων, μεταξύ των οποίων υπάρχει ένας αριθμός συνδέσεων.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ:

Η ουσία(οντότητα) είναι μια οντότητα που μπορεί να προσδιοριστεί με κάποιο τρόπο που τη διακρίνει από άλλες οντότητες, για παράδειγμα ΠΕΛΑΤΗΣ 777... Μια οντότητα είναι στην πραγματικότητα ένα σύνολο χαρακτηριστικών.

Σύνολο οντοτήτων(σύνολο οντοτήτων) - ένα σύνολο οντοτήτων του ίδιου τύπου (με τις ίδιες ιδιότητες).

Σύνδεση(σχέση) είναι ένας συσχετισμός που δημιουργείται μεταξύ πολλαπλών οντοτήτων.

Τομέα(τομέας) - ένα σύνολο τιμών (εύρος) ενός χαρακτηριστικού.

Υπάρχουν τρεις τύποι δυαδικών συνδέσεων:

  • ένα προς ένα- μια μεμονωμένη παρουσία μιας οντότητας μιας κλάσης συσχετίζεται με μια μοναδική παρουσία μιας οντότητας μιας άλλης κλάσης, για παράδειγμα, HEAD - DEPARTMENT.
  • 1 προς Νή ένα προς πολλά- μια μεμονωμένη παρουσία μιας οντότητας μιας κατηγορίας συσχετίζεται με πολλές εμφανίσεις μιας οντότητας μιας άλλης κατηγορίας, για παράδειγμα, ΤΜΗΜΑ - ΕΡΓΑΖΟΜΕΝΟΣ.
  • Ν προς Μή πολλά σε πολλά- πολλές παρουσίες μιας οντότητας μιας κατηγορίας συσχετίζονται με πολλές παρουσίες μιας οντότητας μιας άλλης κατηγορίας, για παράδειγμα, ΕΜΠΛΟΙ - ΕΡΓΟ.
  • Ένα γλωσσάρι βασικών εννοιών UML

    Αντικείμενο- μια οντότητα που είναι μοναδική και ενσωματώνει την κατάσταση και τη συμπεριφορά.

    Τάξη- περιγραφή ενός συνόλου αντικειμένων με κοινά χαρακτηριστικά που καθορίζουν την κατάσταση και πράξεις που καθορίζουν τη συμπεριφορά.

    Διεπαφή- ένα ονομασμένο σύνολο λειτουργιών που ορίζει ένα σύνολο υπηρεσιών που μπορεί να ζητηθεί από έναν καταναλωτή και να παρέχεται από έναν πάροχο υπηρεσιών.

    Συνεργασία- ένα σύνολο αντικειμένων που αλληλεπιδρούν για την επίτευξη ενός στόχου.

    Ηθοποιός- μια οντότητα που βρίσκεται εκτός του μοντελοποιημένου συστήματος και αλληλεπιδρά άμεσα με αυτό.

    Συστατικό- ένα αρθρωτό τμήμα του συστήματος με ένα καλά καθορισμένο σύνολο απαιτούμενων και παρεχόμενων διεπαφών.

    Τεχνούργημα- ένα στοιχείο πληροφοριών που χρησιμοποιείται ή δημιουργείται στη διαδικασία ανάπτυξης λογισμικού. Με άλλα λόγια, ένα τεχνούργημα είναι μια φυσική μονάδα υλοποίησης που προέρχεται από ένα στοιχείο μοντέλου (όπως μια κλάση ή στοιχείο).

    Κόμβος- έναν υπολογιστικό πόρο στον οποίο βρίσκονται τα τεχνουργήματα και, εάν είναι απαραίτητο, εκτελούνται.

    Οι συμπεριφορικές οντότητες προορίζονται να περιγράψουν τη συμπεριφορά. Υπάρχουν μόνο δύο βασικές συμπεριφορικές οντότητες: κατάσταση και δράση.

    κατάσταση- μια περίοδος στον κύκλο ζωής ενός αντικειμένου, όντας κατά την οποία το αντικείμενο ικανοποιεί μια συγκεκριμένη συνθήκη και ασκεί τη δική του δραστηριότητα ή περιμένει την εμφάνιση κάποιου γεγονότος.

    Δράση- πρωτόγονος ατομικός υπολογισμός.

    Μηχανήείναι ένα πακέτο που ορίζει ένα σύνολο εννοιών απαραίτητων για την αναπαράσταση της συμπεριφοράς μιας μοντελοποιημένης οντότητας με τη μορφή ενός διακριτού χώρου με πεπερασμένο αριθμό καταστάσεων και μεταβάσεων.

    Ταξινομητήςείναι ένας περιγραφέας ενός συνόλου αντικειμένων του ίδιου τύπου.

    Πρόσθετη ανάγνωση

    • Fowler M. UML. Βασικές αρχές, 3η Έκδοση
    • Booch G., Rambeau D., Jacobson I. UML. ΟΔΗΓΟΣ ΧΡΗΣΤΗ

Μοντέλο UML(Μοντέλο UML) είναι μια συλλογή από ένα πεπερασμένο σύνολο γλωσσικών δομών, τα κύρια από τα οποία είναι οντότητες και σχέσεις μεταξύ τους.

Οι οντότητες και οι σχέσεις του ίδιου του μοντέλου είναι περιπτώσεις των μετα-κλάσεων του μεταμοντέλου.

Λαμβάνοντας υπόψη το μοντέλο UML από την πιο γενική άποψη, μπορούμε να πούμε ότι είναι ένα γράφημα (ακριβέστερα, ένα φορτωμένο πολλαπλό ψευδο-υπερδιγράφημα), στο οποίο οι κορυφές και οι ακμές φορτώνονται με πρόσθετες πληροφορίες και μπορούν να έχουν πολύπλοκη εσωτερική δομή. Οι κορυφές αυτού του γραφήματος ονομάζονται οντότητες και οι ακμές είναι σχέσεις... Το υπόλοιπο αυτής της ενότητας παρέχει μια γρήγορη (προκαταρκτική) αλλά πλήρη επισκόπηση των διαθέσιμων τύπων οντοτήτων και σχέσεων. Ευτυχώς, δεν είναι πάρα πολλοί. Στα επόμενα κεφάλαια του βιβλίου, όλες οι οντότητες και οι σχέσεις εξετάζονται ξανά, με περισσότερες λεπτομέρειες και με παραδείγματα.

1.4.1. οντότητες

Για ευκολία προβολής, οι οντότητες στο UML μπορούν να υποδιαιρεθούν σε τέσσερις ομάδες:

  • κατασκευαστικός;
  • συμπεριφορική?
  • ομαδοποίηση?
  • σχολιασμός.

Οι δομικές οντότητες, όπως μπορείτε να μαντέψετε, προορίζονται να περιγράψουν τη δομή. Συνήθως, οι δομικές οντότητες περιλαμβάνουν τα ακόλουθα.

Ενα αντικείμενο(αντικείμενο) 1 είναι μια οντότητα που είναι μοναδική και ενσωματώνει την κατάσταση και τη συμπεριφορά.

Τάξη(κλάση) 2 - περιγραφή ενός συνόλου αντικειμένων με κοινά χαρακτηριστικά που καθορίζουν την κατάσταση και πράξεις που καθορίζουν τη συμπεριφορά.

Διεπαφή(διεπαφή) 3 είναι ένα ονομασμένο σύνολο λειτουργιών που ορίζει ένα σύνολο υπηρεσιών που μπορεί να ζητηθεί από έναν καταναλωτή και να παρέχεται από έναν πάροχο υπηρεσιών.

Συνεργασία(συνεργασία) 4 - μια συλλογή αντικειμένων που αλληλεπιδρούν για την επίτευξη ενός στόχου.

Ηθοποιός(δρώνας) 5 είναι μια οντότητα που βρίσκεται εκτός του μοντελοποιημένου συστήματος και αλληλεπιδρά άμεσα με αυτό.

∇ Σίγουρα υπάρχει μια τέτοια σχέση, η οποία εκφράζεται στο Σχ. Ιεραρχία τύπου διαγράμματος για UML 1ως σχέση εξάρτησης με ένα εκλεπτυσμένο στερεότυπο.

∇∇ Στο UML 1, προέκυψε ένας ακούσιος συσχετισμός μεταξύ ενός διαγράμματος συνεργασίας και μιας οντότητας με το ίδιο όνομα, κάτι που δεν ήταν απολύτως αληθές και μερικές φορές παραπλανητικό.

∇∇∇ Στο UML 2, το συντακτικό και σημασιολογικό φορτίο του διαγράμματος κατάστασης έχει αλλάξει τόσο πολύ που το όνομα δεν αντικατοπτρίζει πλέον το περιεχόμενο.

Μια λίστα με τα νέα διαγράμματα και τα ονόματά τους που χρησιμοποιούνται σε αυτό το βιβλίο φαίνεται παρακάτω.

  • Σύνθετο διάγραμμα Δομής
  • Διάγραμμα πακέτου
  • Διάγραμμα κατάστασης μηχανής
  • Διάγραμμα επικοινωνίας
  • Διάγραμμα επισκόπησης αλληλεπίδρασης
  • Διάγραμμα χρονισμού

Στο σχ. Ιεραρχία τύπου διαγράμματος για UML 2 (Μέρος 1 & 2)είναι ένα διάγραμμα κλάσης που δείχνει τη σχέση των διαγραμμάτων στο UML 2.

Αργότερα σε αυτό το κεφάλαιο θα περιγράψουμε πολύ συνοπτικά και τα δεκατρία κανονικά διαγράμματα προκειμένου να έχουμε ένα συγκεκριμένο πλαίσιο και λεξιλόγιο για μεταγενέστερη παρουσίαση. Οι λεπτομέρειες παρατίθενται στα υπόλοιπα κεφάλαια του βιβλίου.

Αλλά προτού προχωρήσουμε στην επόμενη ενότητα, ας κάνουμε μια μικρή απόκλιση σχετικά με το πώς το πρότυπο απαιτεί τη μορφοποίηση των διαγραμμάτων. Το γενικό πρότυπο παρουσίασης γραφήματος φαίνεται παρακάτω.

Υπάρχουν δύο κύρια στοιχεία σχεδίασης: ένα εξωτερικό πλαίσιο και μια ετικέτα με το όνομα του διαγράμματος. Εάν όλα είναι απλά με το πλαίσιο - είναι ένα ορθογώνιο που οριοθετεί την περιοχή στην οποία πρέπει να βρίσκονται τα στοιχεία του διαγράμματος, τότε το όνομα του διαγράμματος γράφεται σε μια ειδική μορφή, που φαίνεται στο Σχ. Σημειογραφία για γραφήματα.

Το υποδεικνυόμενο περίπλοκο σχήμα της καρτέλας δεν υποστηρίζεται από όλα τα εργαλεία. Ωστόσο, αυτό δεν είναι απαραίτητο, αφού η σημασιολογία είναι πρωταρχική και η σημειογραφία δευτερεύουσα. Από εδώ και στο εξής, θα χρησιμοποιούμε ένα ορθογώνιο ως ετικέτα για το διάγραμμα και αυτό δεν πρέπει να προκαλεί σύγχυση.

Πιθανές ετικέτες (τύποι) για γραφήματα εμφανίζονται στον παρακάτω πίνακα. Οι ετικέτες που προσφέρονται από το πρότυπο γράφονται στη δεύτερη στήλη. Ωστόσο, όπως έχει δείξει η πρακτική, οι κανόνες που προτείνονται από το πρότυπο δεν είναι πάντα βολικοί και λογικά θεμελιωμένοι, επομένως η τρίτη στήλη του πίνακα περιέχει μια λογική εναλλακτική κατά τη γνώμη μας.

Αυτί. Τύποι γραφημάτων και ετικέτες

Τίτλος γραφήματος Ετικέτα (τυπική) Ετικέτα (προτείνεται)
Διάγραμμα χρήσης περίπτωση χρήσηςή uc περίπτωση χρήσης
Διάγραμμα τάξης τάξη τάξη
Αυτόματο διάγραμμα κρατική μηχανήή στμ κρατική μηχανή
Διάγραμμα δραστηριότητας δραστηριότηταή υποκρίνομαι δραστηριότητα
Διάγραμμα ακολουθίας ΑΛΛΗΛΕΠΙΔΡΑΣΗή sd sd
Διάγραμμα επικοινωνίας ΑΛΛΗΛΕΠΙΔΡΑΣΗή sd comm
Διάγραμμα συνιστωσών συστατικόή cmp συστατικό
Διάγραμμα τοποθέτησης απροσδιόριστο ανάπτυξη
Διάγραμμα αντικειμένου απροσδιόριστο αντικείμενο
Διάγραμμα εσωτερικής δομής τάξη τάξηή συστατικό
Διάγραμμα επισκόπησης αλληλεπίδρασης ΑΛΛΗΛΕΠΙΔΡΑΣΗή sd ΑΛΛΗΛΕΠΙΔΡΑΣΗ
Διάγραμμα συγχρονισμού ΑΛΛΗΛΕΠΙΔΡΑΣΗή sd συγχρονισμός
Διάγραμμα πακέτου πακέτοή pkg πακέτο

Η UML (Unified Modeling Language) είναι μια γλώσσα γραφικής περιγραφής για τη μοντελοποίηση αντικειμένων στην ανάπτυξη λογισμικού. Η UML είναι μια γλώσσα ευρείας βάσης, ένα ανοιχτό πρότυπο που χρησιμοποιεί γραφικό συμβολισμό για να δημιουργήσει ένα αφηρημένο μοντέλο ενός συστήματος που ονομάζεται μοντέλο UML. Το UML δημιουργήθηκε για να ορίζει, να απεικονίζει, να σχεδιάζει και να τεκμηριώνει κυρίως συστήματα λογισμικού. Η UML δεν είναι γλώσσα προγραμματισμού, αλλά η δημιουργία κώδικα είναι δυνατή με τα μέσα εκτέλεσης μοντέλων UML ως ερμηνευόμενου κώδικα.Βικιπαίδεια

Εμπορικά προϊόντα

Microsoft Visio

Τύπος: εμπορικό λογισμικό

Ένα δημοφιλές προϊόν λογισμικού από τη Microsoft που σας επιτρέπει να σχεδιάζετε πλούσια διαγράμματα, συμπεριλαμβανομένου του UML:

Ξεκινώντας με την έκδοση του 2010, κατέστη δυνατή η δημοσίευση διαγραμμάτων στον Ιστό (SharePoint + Υπηρεσίες Visio):

Visio Viewer- ένα δωρεάν πρόγραμμα που σας επιτρέπει να προβάλλετε διαγράμματα Visio που έχετε δημιουργήσει προηγουμένως. Μπορείτε να κάνετε λήψη κατά% D1% 81% D1% 81% D1% 8B% D0% BB% D0% BA% D0% B5% 20.

% 0Α

Microsoft% 20Visual% 20Studio% 202010

% 0Α

% D0% A2% D0% B8% D0% BF:% 20% D0% BA% D0% BE% D0% BC% D0% BC% D0% B5% D1% 80% D1% 87% D0% B5% D1% 81% D0% BA% D0% BE% D0% B5% 20% D0% 9F% D0% 9E% 20 (% D0% B5% D1% 81% D1% 82% D1% 8C% 20% D0% B1% D0 % B5% D1% 81% D0% BF% D0% BB% D0% B0% D1% 82% D0% BD% D0% B0% D1% 8F% 20Express% 20% D0% B2% D0% B5% D1% 80 % D1% 81% D0% B8% D1% 8F).

% 0Α

% D0% 92% 20% D0% BF% D0% BE% D1% 81% D0% BB% D0% B5% D0% B4% D0% BD% D0% B5% D0% B9% 20% D0% B2% D0 % B5% D1% 80% D1% 81% D0% B8% D0% B8% 20 Microsoft% 20Visual% 20Studio% 202010% 20% D0% BF% D0% BE% D1% 8F% D0% B2% D0% B8% D0 % BB% D1% 81% D1% 8F% 20% D0% BD% D0% BE% D0% B2% D1% 8B% D0% B9% 20% D1% 82% D0% B8% D0% BF% 20% D0 % BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% B0% 20-% 20 Μοντελοποίηση,% 20% D0% BA% D0% BE% D1% 82% D0 % BE % D1% 80% D1% 8B% D0% B9% 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1 % 82 % 20% D1% 80% D0% B8% D1% 81% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D1% 80% D0% B0% D0% B7 % D0 % BB% D0% B8% D1% 87% D0% BD% D1% 8B% D0% B5% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0 % B0 % D0% BC% D0% BC% D0% B0% 20% D0% B8% 20% D0% BF% D1% 80% D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F % D1 % 82% D1% 8C% 20% D0% BD% D0% B0% D0% BF% D0% B8% D1% 81% D0% B0% D0% BD% D0% BD% D1% 8B% D0% B5 % 20 % D1% 80% D0% B5% D1% 88% D0% B5% D0% BD% D0% B8% D1% 8F% 20% D0% BD% D0% B0% 20% D1% 81% D0% BE % D0 % BE% D1% 82% D0% B2% D0% B5% D1% 82% D1% 81% D1% 82% D0% B2% D0% B8% D0% B5% 20% D1% 81% 20% D0 % BD % D0% B5% D0% BE% D0% B1% D1% 85% D0% BE% D0% B4% D0% B8% D0% BC% D0% BE% 20% D0% B0% D1% 80% D1 % 85 % D0% B8% D1% 82% D0% B5% D0% BA% D1% 82% D1% 83% D1% 80% D0% BE% D0% B9.

% 0Α

% D0% 9F% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1% 82% 20% D0% B3% D0% B5% D0% BD % D0% B5% D1% 80% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 Ακολουθία% 20Διάγραμμα% 20% D0% BD% D0% B0 % 20% D0% BE% D1% 81% D0% BD% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B8% 20% D0% BA% D0% BE% D0 % B4% D0% B0,% 20% D0% B2% D0% B8% D0% B7% D1% 83% D0% B0% D0% BB% D0% B8% D0% B7% D0% B8% D1% 80 % D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D1% 81% D0% B2% D1% 8F% D0% B7% D0% B8% 20% D0% B2% 20 % D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% B5% 20% D0% BC% D0% B5% D0% B6% D0% B4% D1% 83 % 20% D0% BA% D0% BE% D0% BC% D0% BF% D0% BE% D0% BD% D0% B5% D0% BD% D1% 82% D0% B0% D0% BC% D0% B8 , % 20% D1% 81% D0% B1% D0% BE% D1% 80% D0% BA% D0% B0% D0% BC% D0% B8% 20% D0% B8% 20% D1% 81% D1% 81 % D1% 8B% D0% BB% D0% BA% D0% B0% D0% BC% D0% B8% 20% D0% B8% 20% D1% 82.% D0% B4.

% 0Α

% D0% 9F% D1% 80% D0% B8% D0% BC% D0% B5% D1% 80% 20Χρήση% 20περίπτωση% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80 % D0% B0% D0% BC% D0% BC% D1% 8B,% 20% D0% BD% D0% B0% D1% 80% D0% B8% D1% 81% D0% BE% D0% B2% D0% B0% D0% BD% D0% BD% D0% BE% D0% B9% 20% D0% B2% 20Visual% 20Studio% 202010:

% 0A% 0A

% D0% 9A% D1% 80% D0% BE% D0% BC% D0% B5% 20% D1% 82% D0% BE% D0% B3% D0% BE,% 20% D0% B4% D0% BE% D1% 81% D1% 82% D1% 83% D0% BF% D0% B5% D0% BD% 20Οπτικοποίηση% 20και% 20Μοντέλα% 20Δυνατότητα% 20Συσκευασία% 20 (% D0% B4% D0% BB% D1% 8F% % D0% BF% D0% BE% D0% B4% D0% BF% D0% B8% D1% 81% D1% 87% D0% B8% D0% BA% D0% BE% D0% B2% 20MSDN),% 20 % D0% BA% D0% BE% D1% 82% D0% BE% D1% 80% D1% 8B% D0% B9% 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE % D0% BB% D1% 8F% D0% B5% D1% 82:

% 0Α
  • % D0% B3% D0% B5% D0% BD% D0% B5% D1% 80% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 % D0% BA% D0% BE% D0% B4% 20% D0% BD% D0% B0% 20% D0% B1% D0% B0% D0% B7% D0% B5% 20UML% 20% D0% B4% D0 % B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% 20% D0% BA% D0% BB% D0% B0% D1% 81% D1% 81% D0 % BE% D0% B2
  • % 0Α
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20UML% 20% D0% B4% D0% B8% D0 % B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B8% D0% B7% 20% D0% BA% D0% BE% D0% B4 % D0% B0
  • % 0Α
  • % D0% B8% D0% BC% D0% BF% D0% BE% D1% 80% D1% 82% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1 % 8C% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BA% D0 % BB% D0% B0% D1% 81% D1% 81% D0% BE% D0% B2,% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BF% D0% BE% D1% 81% D0% BB% D0% B5% D0% B4% D0% BE% D0% B2% D0% B0% D1% 82% D0% B5% D0% BB% D1% 8C% D0% BD% D0% BE% D1% 81% D1% 82% D0% B5% D0% B9,% 20% D0% B4% D0% B8 % D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B2% D0% B0% D1% 80% D0% B8% D0% B0 % D0% BD% D1% 82% D0% BE% D0% B2% 20% D0% B8% D1% 81% D0% BF% D0% BE% D0% BB% D1% 8C% D0% B7% D0% BE % D0% B2% D0% B0% D0% BD% D0% B8% D1% 8F% 20% D1% 81% 20XMI% 202,1
  • % 0Α
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B4% D0% B8% D0% B0 % D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B7% D0% B0% D0% B2% D0% B8% D1% 81% D0% B8 % D0% BC% D0% BE% D1% 81% D1% 82% D0% B5% D0% B9% 20% D0% B4% D0% BB% D1% 8F% 20ASP.NET,% 20C% 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0Α
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B8% 20% D0% BF% D1 % 80% D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F% D1% 82% D1% 8C% 20layer% 20διαγράμματα% 20% D0% B4% D0% BB% D1% 8F% 20C % 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0Α
  • % D0% BF% D0% B8% D1% 81% D0% B0% D1% 82% D1% 8C% 20% D1% 81% D0% BE% D0% B1% D1% 81% D1% 82% D0% B2 % D0% B5% D0% BD% D0% BD% D1% 8B% D0% B5% 20% D0% BF% D1% 80% D0% BE% D0% B2% D0% B5% D1% 80% D0% BA % D0% B8% 20% D0% B4% D0% BB% D1% 8F% 20layer% 20διαγράμματα
  • % 0Α

% D0% A1% D0% BA% D0% B0% D1% 87% D0% B0% D1% 82% D1% 8C% 20Οπτικοποίηση% 20και% 20Modeling% 20Feature% 20Pack% 20% D0% BC% D0% BE% D0 % B6% D0% BD% D0% BE% 20% D0% BF% D0% BE% 20% D1% 81% D1% 81% D1% 8B% D0% BB% D0% BA% D0% B5:% 20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.

IBM Rational Rose

Ευκαιρίες:

  • Διάγραμμα περίπτωσης χρήσης
  • Διάγραμμα ανάπτυξης (διαγράμματα τοπολογίας).
  • Διάγραμμα κατάστασης;
  • Διάγραμμα δραστηριότητας
  • Διάγραμμα αλληλεπίδρασης
  • Διάγραμμα ακολουθίας
  • Διάγραμμα συνεργασίας
  • Διάγραμμα τάξης
  • Διάγραμμα συνιστωσών

Στιγμιότυπα οθόνης:

Προγράμματα ανοιχτού κώδικα

StarUML

Ευκαιρίες:

  • Υποστήριξη UML 2.0
  • MDA (Model Driven Architecture)
  • Plug-in Architecture (μπορείτε να γράψετε σε γλώσσες συμβατές με COM: C ++, Delphi, C #, VB, ...)

Το StarUML είναι γραμμένο κυρίως σε Delphi, αλλά μπορείτε να προσθέσετε στοιχεία σε άλλες γλώσσες, για παράδειγμα C / C ++, Java, Visual Basic, Delphi, JScript, VBScript, C #, VB.NET. Παρακάτω εμφανίζονται διάφορα στιγμιότυπα οθόνης.

Διάγραμμα τάξης:

Διάγραμμα περίπτωσης χρήσης:

ArgoUML

Υποστηριζόμενα γραφήματα:

  • Τάξη
  • κατάσταση
  • Θήκη χρήσης
  • Δραστηριότητα
  • Συνεργασία
  • Ανάπτυξη
  • Αλληλουχία

Ευκαιρίες:

  • Υποστήριξη για εννέα διαγράμματα UML 1.4
  • Ανεξάρτητη πλατφόρμα (Java 5+)
  • UML 1.4 Standard Metamodel
  • Υποστήριξη XMI
  • Εξαγωγή σε GIF, PNG, PS, EPS, PGML και SVG
  • Γλώσσες: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
  • Υποστήριξη OCL
  • Μπροστινή, Αντίστροφη Μηχανική

Στιγμιότυπο οθόνης:

Όλα τα διαγράμματα UML μπορούν να χωριστούν χονδρικά σε δύο ομάδες, η πρώτη από τις οποίες είναι τα γενικά διαγράμματα. Τα γενικά διαγράμματα πρακτικά δεν εξαρτώνται από το αντικείμενο της μοντελοποίησης και μπορούν να χρησιμοποιηθούν σε οποιοδήποτε έργο λογισμικού χωρίς να λαμβάνεται υπόψη η θεματική περιοχή, η περιοχή λύσης κ.λπ.

1.5.1. Διάγραμμα χρήσης

Διάγραμμα χρήσης(διάγραμμα περίπτωσης χρήσης) είναι η πιο γενική αναπαράσταση του λειτουργικού σκοπού του συστήματος.

Το διάγραμμα χρήσης προορίζεται να απαντήσει στην κύρια ερώτηση μοντελοποίησης: τι κάνει το σύστημα στον έξω κόσμο;

Το διάγραμμα περίπτωσης χρήσης χρησιμοποιεί δύο τύπους βασικών οντοτήτων, τις περιπτώσεις χρήσης 1 και τους φορείς 2, μεταξύ των οποίων καθορίζονται οι ακόλουθοι βασικοί τύποι σχέσεων:

  • η συσχέτιση μεταξύ του ηθοποιού και της περίπτωσης χρήσης 3·
  • γενίκευση μεταξύ των παραγόντων 4·
  • γενίκευση μεταξύ των περιπτώσεων χρήσης 5;
  • εξαρτήσεις (διαφορετικών τύπων) μεταξύ περιπτώσεων χρήσης 6.

Το διάγραμμα χρήσης, όπως και κάθε άλλο, μπορεί να περιέχει 7 σχόλια. Επιπλέον, συνιστάται ιδιαίτερα να το κάνετε αυτό για να βελτιώσετε την αναγνωσιμότητα των διαγραμμάτων.

Τα βασικά στοιχεία της σημειογραφίας που χρησιμοποιούνται στο διάγραμμα χρήσης φαίνονται παρακάτω. Λεπτομερής περιγραφή δίνεται στην ενότητα 2.2.

1.5.2. Διάγραμμα τάξης

Διάγραμμα τάξης(διάγραμμα τάξης) είναι ο κύριος τρόπος περιγραφής της δομής ενός συστήματος.

Αυτό δεν προκαλεί έκπληξη, καθώς η UML είναι κατά κύριο λόγο μια αντικειμενοστρεφής γλώσσα και οι κλάσεις είναι τα κύρια (αν όχι τα μοναδικά) δομικά στοιχεία.

Σε ένα διάγραμμα κλάσεων, χρησιμοποιείται ένας κύριος τύπος οντοτήτων: κλάσεις 1 (συμπεριλαμβανομένων πολλών ειδικών περιπτώσεων κλάσεων: διεπαφές, πρωτόγονοι τύποι, κλάσεις συσχέτισης και πολλοί άλλοι), μεταξύ των οποίων καθιερώνονται οι ακόλουθοι βασικοί τύποι σχέσεων:

  • συσχέτιση μεταξύ των κλάσεων 2 (με πολλές πρόσθετες λεπτομέρειες).
  • γενίκευση μεταξύ των τάξεων 3.
  • εξαρτήσεις (διάφορων τύπων) μεταξύ 4 κλάσεων και μεταξύ κλάσεων και διεπαφών.

Μερικά από τα στοιχεία της σημειογραφίας του διαγράμματος κλάσης φαίνονται παρακάτω. Αναλυτική περιγραφή δίνεται στο κεφάλαιο 3.

1.5.3. Αυτόματο διάγραμμα

Αυτόματο διάγραμμα(διάγραμμα μηχανής κατάστασης) είναι ένας από τους τρόπους για να περιγραφεί λεπτομερώς η συμπεριφορά στο UML με βάση τη ρητή επισήμανση καταστάσεων και την περιγραφή μεταβάσεων μεταξύ καταστάσεων.

Στην ουσία, τα αυτόματα διαγράμματα, όπως υποδηλώνει το όνομα, είναι ένα γράφημα μετάβασης κατάστασης (βλ. Κεφάλαιο 4), γεμάτο με πολλές πρόσθετες λεπτομέρειες και λεπτομέρειες.

Στο διάγραμμα αυτόματου, χρησιμοποιείται ένας κύριος τύπος οντότητας - καταστάσεις 1 και ένας τύπος σχέσης - μεταβάσεις 2, αλλά και για τα δύο ορίζονται πολλές ποικιλίες, ειδικές περιπτώσεις και πρόσθετοι προσδιορισμοί. Δεν έχει νόημα να τα απαριθμήσουμε όλα στην εισαγωγική έρευνα.

Μια λεπτομερής περιγραφή όλων των παραλλαγών των διαγραμμάτων του αυτόματου δίνεται στην ενότητα 4.2, και το παρακάτω σχήμα δείχνει μόνο τα βασικά στοιχεία της σημείωσης που χρησιμοποιείται στο διάγραμμα του αυτόματου.

1.5.4. Διάγραμμα δραστηριότητας

Διάγραμμα δραστηριότητας(διάγραμμα δραστηριότητας) - ένας τρόπος περιγραφής της συμπεριφοράς με βάση την ένδειξη των ροών ελέγχου και των ροών δεδομένων.

Ένα διάγραμμα δραστηριότητας είναι ένας άλλος τρόπος για να περιγραφεί συμπεριφορά που μοιάζει οπτικά με ένα παλιό καλό διάγραμμα ροής. Ωστόσο, λόγω της εκσυγχρονισμένης σημειογραφίας, που συνάδει με την αντικειμενοστραφή προσέγγιση, και το πιο σημαντικό, λόγω της νέας σημασιολογικής συνιστώσας (ελεύθερη ερμηνεία των δικτύων Petri), το διάγραμμα δραστηριότητας UML είναι ένα ισχυρό εργαλείο για την περιγραφή της συμπεριφοράς ενός συστήματος.

Στο διάγραμμα δραστηριότητας, χρησιμοποιείται ένας κύριος τύπος οντότητας - δραστηριότητα 1, και ένας τύπος σχέσης - μεταβάσεις 2 (έλεγχος και μεταφορές δεδομένων). Χρησιμοποιούνται επίσης κατασκευές όπως διχάλες, συγχωνεύσεις, ενώσεις, κλάδοι 3, οι οποίες είναι παρόμοιες με οντότητες, αλλά στην πραγματικότητα δεν είναι, αλλά αντιπροσωπεύουν έναν γραφικό τρόπο απεικόνισης ορισμένων ειδικών περιπτώσεων σχέσεων πολλαπλών θέσεων. Η σημασιολογία των στοιχείων του διαγράμματος δραστηριότητας περιγράφεται λεπτομερώς στο Κεφάλαιο 4. Τα βασικά στοιχεία σημειογραφίας που χρησιμοποιούνται σε ένα διάγραμμα δραστηριότητας φαίνονται παρακάτω.

1.5.5. Διάγραμμα ακολουθίας

Διάγραμμα ακολουθίας(διάγραμμα ακολουθίας) είναι ένας τρόπος περιγραφής της συμπεριφοράς ενός συστήματος με βάση μια ένδειξη της ακολουθίας των μεταδιδόμενων μηνυμάτων.

Στην πραγματικότητα, ένα διάγραμμα ακολουθίας είναι μια εγγραφή ενός πρωτοκόλλου μιας συγκεκριμένης συνεδρίας της λειτουργίας του συστήματος (ή ενός τμήματος ενός τέτοιου πρωτοκόλλου). Στον αντικειμενοστραφή προγραμματισμό, ο πιο ουσιαστικός χρόνος εκτέλεσης είναι η μεταφορά μηνυμάτων μεταξύ αντικειμένων που επικοινωνούν. Είναι η σειρά αποστολής μηνυμάτων που εμφανίζεται σε αυτό το διάγραμμα, εξ ου και το όνομα.

Στο διάγραμμα ακολουθίας, χρησιμοποιείται ένας κύριος τύπος οντοτήτων - περιπτώσεις αλληλεπιδρώντων ταξινομητών 1 (κυρίως κλάσεων, στοιχείων και δρώντων) και ένας τύπος σχέσης - σύνδεσμοι 2, μέσω των οποίων ανταλλάσσονται μηνύματα 3. Υπάρχουν διάφοροι τρόποι αποστολής μηνυμάτων, τα οποία σε γραφική σημειογραφία διακρίνονται από τον τύπο του βέλους που αντιστοιχεί στη σχέση.

Μια σημαντική πτυχή του διαγράμματος ακολουθίας είναι η σαφής απεικόνιση του περάσματος του χρόνου. Σε αντίθεση με άλλους τύπους διαγραμμάτων, εκτός ίσως από διαγράμματα συγχρονισμού, σε ένα διάγραμμα ακολουθίας, σημασία δεν έχει μόνο η παρουσία γραφικών σχέσεων μεταξύ των στοιχείων, αλλά και η σχετική θέση των στοιχείων στο διάγραμμα. Δηλαδή, υποτίθεται ότι υπάρχει ένας (αόρατος) άξονας χρόνου, από προεπιλογή, που κατευθύνεται από πάνω προς τα κάτω και το μήνυμα που αποστέλλεται αργότερα σχεδιάζεται παρακάτω.

Ο άξονας του χρόνου μπορεί να κατευθυνθεί οριζόντια, στην περίπτωση αυτή θεωρείται ότι ο χρόνος ρέει από αριστερά προς τα δεξιά.

Η παρακάτω εικόνα δείχνει τα βασικά στοιχεία σημειογραφίας που χρησιμοποιούνται σε ένα διάγραμμα ακολουθίας. Για τον προσδιορισμό των ίδιων των αντικειμένων που αλληλεπιδρούν, χρησιμοποιείται η τυπική σημείωση - ένα ορθογώνιο με το όνομα της παρουσίας του ταξινομητή. Η διακεκομμένη γραμμή που εκτείνεται από αυτήν ονομάζεται γραμμή ζωής 4. Αυτό δεν είναι ένας προσδιορισμός μιας σχέσης στο μοντέλο, αλλά ένας γραφικός σχολιασμός που έχει σχεδιαστεί για να καθοδηγεί το μάτι του αναγνώστη προς τη σωστή κατεύθυνση. Οι φιγούρες με τη μορφή στενών λωρίδων που τοποθετούνται πάνω στο σωσίβιο δεν είναι επίσης εικόνες των μοντελοποιημένων οντοτήτων. Αυτό είναι ένα γραφικό σχόλιο που δείχνει τα χρονικά διαστήματα κατά τα οποία το αντικείμενο κατέχει το περιστατικό εκτέλεσης 5, ή με άλλα λόγια, λαμβάνει χώρα η ενεργοποίηση του αντικειμένου. Τα βήματα 6 του συνδυασμένου τμήματος επιτρέπουν σε ένα διάγραμμα ακολουθίας να αντικατοπτρίζει τις αλγοριθμικές πτυχές ενός πρωτοκόλλου αλληλεπίδρασης. Για περισσότερες λεπτομέρειες σχετικά με τη σημειογραφία του διαγράμματος ακολουθίας, δείτε το Κεφάλαιο 4.

1.5.6. Διάγραμμα επικοινωνίας

Διάγραμμα επικοινωνίας(διάγραμμα επικοινωνίας) - ένας τρόπος περιγραφής της συμπεριφοράς, σημασιολογικά ισοδύναμος με ένα διάγραμμα ακολουθίας.

Στην πραγματικότητα, αυτή είναι η ίδια περιγραφή της αλληλουχίας ανταλλαγής μηνυμάτων των αλληλεπιδρώντων παρουσιών ταξινομητή, που εκφράζεται μόνο με άλλα γραφικά μέσα. Επιπλέον, τα περισσότερα εργαλεία μπορούν να μετατρέψουν αυτόματα τα διαγράμματα ακολουθίας σε διαγράμματα επικοινωνίας και αντίστροφα.

Έτσι, στο διάγραμμα επικοινωνίας, καθώς και στο διάγραμμα ακολουθίας, χρησιμοποιείται ένας κύριος τύπος οντότητας - περιπτώσεις αλληλεπιδρώντων ταξινομητών 1 και ένας τύπος σχέσης - συνδέσεις 2. Ωστόσο, εδώ δεν δίνεται έμφαση στον χρόνο, αλλά στη δομή των δεσμών μεταξύ συγκεκριμένων περιπτώσεων.

Το σχήμα δείχνει τα βασικά στοιχεία σημειογραφίας που χρησιμοποιούνται σε ένα διάγραμμα επικοινωνίας. Για τον προσδιορισμό των ίδιων των αντικειμένων που αλληλεπιδρούν, χρησιμοποιείται η τυπική σημείωση - ένα ορθογώνιο με το όνομα της παρουσίας του ταξινομητή. Η σχετική θέση των στοιχείων στο διάγραμμα συνεργασίας δεν έχει σημασία - μόνο οι σύνδεσμοι (τις περισσότερες φορές περιπτώσεις συσχετίσεων) είναι σημαντικοί, κατά μήκος των οποίων μεταδίδονται τα μηνύματα 3. Η ιεραρχική δεκαδική αρίθμηση χρησιμοποιείται για την εμφάνιση της σειράς των μηνυμάτων με την πάροδο του χρόνου.

1.5.7. Διάγραμμα συνιστωσών

Διάγραμμα συνιστωσών(διάγραμμα συνιστωσών) - δείχνει τη σχέση μεταξύ των μονάδων (λογικών ή φυσικών) που συνθέτουν το προσομοιωμένο σύστημα.

Ο κύριος τύπος οντοτήτων στο διάγραμμα συνιστωσών είναι τα ίδια τα στοιχεία 1, καθώς και οι διεπαφές 2, μέσω των οποίων υποδεικνύεται η σχέση μεταξύ των στοιχείων. Σε ένα διάγραμμα συνιστωσών, ισχύουν οι ακόλουθες σχέσεις:

  • υλοποιήσεις μεταξύ στοιχείων και διεπαφών (ένα στοιχείο υλοποιεί μια διεπαφή).
  • εξαρτήσεις μεταξύ στοιχείων και διεπαφών (το στοιχείο χρησιμοποιεί μια διεπαφή) 3.

Το σχήμα δείχνει τα βασικά στοιχεία σημειογραφίας που χρησιμοποιούνται σε ένα διάγραμμα συνιστωσών. Αναλυτική περιγραφή δίνεται στο κεφάλαιο 3.

1.5.8. Διάγραμμα τοποθέτησης

Διάγραμμα τοποθέτησης(διάγραμμα ανάπτυξης), μαζί με την εμφάνιση της σύνθεσης και των σχέσεων των στοιχείων του συστήματος, δείχνει πώς βρίσκονται φυσικά στους υπολογιστικούς πόρους κατά το χρόνο εκτέλεσης.

Έτσι, στο διάγραμμα τοποθέτησης, σε σύγκριση με το διάγραμμα συνιστωσών, προστίθενται δύο τύποι οντοτήτων: το artifact 1, το οποίο είναι η υλοποίηση του στοιχείου 2 και του κόμβου 3 (μπορεί να είναι είτε ένας ταξινομητής που περιγράφει τον τύπο ενός κόμβου, είτε συγκεκριμένη περίπτωση), καθώς και μια σχέση συσχέτισης μεταξύ των κόμβων 4, που δείχνει ότι οι κόμβοι συνδέονται φυσικά κατά το χρόνο εκτέλεσης.

Το σχήμα δείχνει τα βασικά στοιχεία του συμβολισμού που χρησιμοποιείται στο διάγραμμα τοποθέτησης. Για να δείξουμε ότι μια οντότητα είναι μέρος μιας άλλης, είτε εφαρμόζεται η σχέση εξάρτησης "ανάπτυξη" 5, είτε το σχήμα μιας οντότητας τοποθετείται μέσα στο σχήμα μιας άλλης οντότητας 6. Αναλυτική περιγραφή του διαγράμματος δίνεται στο κεφάλαιο 3.

Συνεχίζοντας το θέμα:
Smartphone

Σε περίπτωση που ψάχνετε πώς να κάνετε λήψη του WhatsApp σε φορητό υπολογιστή δωρεάν στα ρωσικά χωρίς εγγραφή, πρέπει να γνωρίζετε ότι το πρόγραμμα δημιουργήθηκε αρχικά ...

Νέα άρθρα
/
Δημοφιλής