Βασικά διαγράμματα uml. Βασικά διαγράμματα του UML. Εσωτερικές δραστηριότητες στο κρατικό διάγραμμα

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

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

Το & nbsp & nbsp & nbsp & nbsp UML παρέχει εκφραστικά εργαλεία για τη δημιουργία οπτικών μοντέλων που:

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

& nbsp & nbsp & nbsp & nbsp Ενοποιημένη γλώσσα μοντελοποίησης (UML):

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

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

Διαγράμματα UML

& nbsp & nbsp & nbsp & nbsp Στη διάθεση του σχεδιαστή συστήματος, η Rational Rose παρέχει τους ακόλουθους τύπους διαγραμμάτων, η διαδοχική δημιουργία των οποίων σας επιτρέπει να έχετε μια πλήρη εικόνα ολόκληρου του σχεδιασμένου συστήματος και των επιμέρους στοιχείων του:

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

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

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

& nbsp & nbsp & nbsp & nbsp Υπάρχουν τρεις τύποι οπτικών συμβόλων για διαγράμματα UML που είναι σημαντικά όσον αφορά τις πληροφορίες που περιέχουν:

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

& nbsp & nbsp & nbsp & nbsp Κατά την γραφική εμφάνιση διαγραμμάτων, συνιστάται να τηρείτε τους ακόλουθους κανόνες:

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

Οντότητες στο UML

& nbsp & nbsp & nbsp & nbsp Το UML ορίζει τέσσερις τύπους οντοτήτων: δομικό, συμπεριφορικό, ομαδικό και σχολιασμό... Οι οντότητες είναι τα κύρια αντικειμενοστραφή στοιχεία της γλώσσας με την οποία δημιουργούνται τα μοντέλα.

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

& nbsp & nbsp & nbsp & nbsp Συμπεριφορικές οντότητεςείναι δυναμικά στοιχεία του μοντέλου UML. Πρόκειται για ρήματα που περιγράφουν τη συμπεριφορά ενός μοντέλου στο χρόνο και στο χώρο. Υπάρχουν δύο κύριοι τύποι συμπεριφορικών οντοτήτων:

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

& nbsp & nbsp & nbsp & nbsp Ομαδοποίηση οντοτήτωνείναι τα οργανωτικά μέρη του μοντέλου UML. Αυτά είναι τα μπλοκ στα οποία μπορεί να αποσυντεθεί το μοντέλο. Υπάρχει ένα μόνο αντίγραφο μιας τέτοιας κύριας οντότητας - είναι ένα πακέτο.

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

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

Σχέσεις στο UML

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

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

& nbsp & nbsp & nbsp & nbsp Σχέση- μια δομική σχέση που περιγράφει ένα σύνολο σημασιολογικών ή λογικών συνδέσεων μεταξύ αντικειμένων.

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

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

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

Κοινοί μηχανισμοί UML

& nbsp & nbsp & nbsp & nbsp Για ακριβή περιγραφή του συστήματος στο UML, χρησιμοποιούνται οι λεγόμενοι γενικοί μηχανισμοί:

  • Προδιαγραφές;
  • προσθήκες (στολίδια)?
  • τμήματα (κοινά τμήματα);
  • μηχανισμούς επεκτασιμότητας.

& nbsp & nbsp & nbsp & nbsp Η UML δεν είναι μόνο μια γλώσσα γραφικών. Κάθε γραφικό στοιχείο της σημειογραφίας του έχει προσδιορισμόςπου περιέχει τη κειμενική αναπαράσταση της αντίστοιχης γλωσσικής κατασκευής. Για παράδειγμα, ένα εικονίδιο κλάσης έχει μια προδιαγραφή που περιγράφει τα χαρακτηριστικά, τις λειτουργίες και τη συμπεριφορά του, αν και οπτικά, σε ένα διάγραμμα, το εικονίδιο συχνά αντικατοπτρίζει μόνο ένα μικρό μέρος αυτής της πληροφορίας. Επιπλέον, το μοντέλο μπορεί να περιέχει μια άλλη αναπαράσταση αυτής της κατηγορίας, που αντικατοπτρίζει εντελώς διαφορετικές πτυχές της, αλλά, ωστόσο, αντίστοιχη με τις προδιαγραφές. Έτσι, η γραφική σημειογραφία UML χρησιμοποιείται για την οπτικοποίηση του συστήματος και με τη βοήθεια προδιαγραφών περιγράφει τις λεπτομέρειες του.

& nbsp & nbsp & nbsp & nbsp Σχεδόν κάθε στοιχείο UML έχει μια μοναδική γραφική αναπαράσταση που παρέχει μια οπτική αναπαράσταση των πιο σημαντικών χαρακτηριστικών του. Ο συμβολισμός οντότητας "class" περιέχει το όνομα, τα χαρακτηριστικά και τις λειτουργίες της. Μια προδιαγραφή κλάσης μπορεί να περιέχει άλλες λεπτομέρειες, όπως ορατότητα χαρακτηριστικών και λειτουργιών, σχόλια ή ένδειξη ότι η κλάση είναι αφηρημένη. Πολλές από αυτές τις λεπτομέρειες μπορούν να αποδοθούν ως γραφικά ή κείμενο. προσθήκεςστο τυπικό ορθογώνιο που αντιπροσωπεύει την τάξη.

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

& nbsp & nbsp & nbsp & nbsp Πρώτον, υπάρχει μια διαίρεση σε κλάσεις και αντικείμενα. Μια κλάση είναι μια αφαίρεση και ένα αντικείμενο είναι μια συγκεκριμένη ενσάρκωση αυτής της αφαίρεσης. Από αυτή την άποψη, σχεδόν όλες οι γλωσσικές κατασκευές χαρακτηρίζονται από μια δυαδικότητα κλάσης/αντικειμένου. Έτσι, υπάρχουν περιπτώσεις χρήσης και περιπτώσεις χρήσης, στιγμιότυπα εξαρτημάτων και συστατικών, παρουσίες κόμβων και κόμβων. Στη γραφική αναπαράσταση, είναι σύνηθες να χρησιμοποιείται το ίδιο σύμβολο για ένα αντικείμενο όπως για μια κλάση και να υπογραμμίζεται το όνομα.

& nbsp & nbsp & nbsp & nbsp Δεύτερον, υπάρχει μια διαίρεση στη διεπαφή και την εφαρμογή της. Η διεπαφή δηλώνει δεσμεύσεις και η υλοποίηση αντιπροσωπεύει τη συγκεκριμένη ενσωμάτωση αυτών των δεσμεύσεων και διασφαλίζει ότι η δηλωμένη σημασιολογία ακολουθείται στενά. Εξαιτίας αυτού, σχεδόν όλες οι κατασκευές UML χαρακτηρίζονται από δυαδικότητα διεπαφής / υλοποίησης. Για παράδειγμα, οι περιπτώσεις χρήσης υλοποιούνται από συνεταιρισμούς και οι λειτουργίες με μεθόδους.

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

Οι μηχανισμοί επέκτασης UML & nbsp & nbsp & nbsp & nbsp περιλαμβάνουν:

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

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

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

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


Εικόνα - 1. Διάγραμμα περιπτώσεων χρήσης

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

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

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

& nbsp & nbsp & nbsp & nbsp Ο σκοπός μιας περίπτωσης χρήσης είναι να ορίσει μια πλήρη πτυχή ή τμήμα της συμπεριφοράς μιας οντότητας χωρίς να αποκαλύψει την εσωτερική της δομή. Μια τέτοια οντότητα μπορεί να είναι ένα σύστημα ή οποιοδήποτε στοιχείο ενός μοντέλου που έχει τη δική του συμπεριφορά.

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

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

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

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

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


Εικόνα - 2. Διάγραμμα τάξης

& nbsp & nbsp & nbsp & nbsp Τα εικονίδια διαγράμματος σάς επιτρέπουν να εμφανίζετε μια σύνθετη ιεραρχία συστημάτων, σχέσεων κλάσεων (Classes) και διεπαφών (Interfaces). Αυτός ο τύπος διαγράμματος είναι αντίθετος σε περιεχόμενο με το διάγραμμα Συνεργασίας, το οποίο εμφανίζει αντικείμενα συστήματος. Το Rational Rose σάς επιτρέπει να δημιουργείτε τάξεις χρησιμοποιώντας αυτόν τον τύπο διαγράμματος με ποικίλους συμβολισμούς. σαν σύννεφο. Έτσι, μια κλάση είναι απλώς ένα πρότυπο, σύμφωνα με το οποίο θα δημιουργηθεί ένα συγκεκριμένο αντικείμενο στο μέλλον.

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

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

Διάγραμμα κατάστασης (διάγραμμα statechart)

& nbsp & nbsp & nbsp & nbsp Κάθε διάγραμμα καταστάσεων στο UML περιγράφει όλες τις πιθανές καταστάσεις μιας παρουσίας μιας συγκεκριμένης κλάσης και τις πιθανές ακολουθίες των μεταβάσεων της από τη μια κατάσταση στην άλλη, δηλαδή, μοντελοποιεί όλες τις αλλαγές στις καταστάσεις ενός αντικειμένου ως η αντίδρασή του στις εξωτερικές επιρροές.

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



Εικόνα - 2. Διάγραμμα κατάστασης

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

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

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

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

& nbsp & nbsp & nbsp & nbsp Για το μηχάνημα πρέπει να πληρούνται οι ακόλουθες προϋποθέσεις:

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

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

& nbsp & nbsp & nbsp & nbsp Στο UML, η κατάσταση είναι μια αφηρημένη μετακλάση που χρησιμοποιείται για τη μοντελοποίηση μιας μεμονωμένης κατάστασης κατά την οποία πληρούνται ορισμένες προϋποθέσεις. Η κατάσταση μπορεί να οριστεί ως ένα σύνολο συγκεκριμένων τιμών για τα χαρακτηριστικά μιας κλάσης ή αντικειμένου. Οι αλλαγές σε μεμονωμένες τιμές χαρακτηριστικών θα αντικατοπτρίζουν αλλαγές στην κατάσταση της κλάσης ή του αντικειμένου που έχει διαμορφωθεί.

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

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

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

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

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

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

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

& nbsp & nbsp & nbsp & nbsp Κατάσταση δράσηςείναι μια ειδική περίπτωση κατάστασης με κάποια ενέργεια εισόδου και τουλάχιστον μία μετάβαση που φεύγει από την κατάσταση. Αυτή η μετάβαση προϋποθέτει σιωπηρά ότι η ενέργεια εισαγωγής έχει ήδη ολοκληρωθεί. Η κατάσταση δράσης δεν μπορεί να έχει εσωτερικές μεταβάσεις, αφού είναι στοιχειώδης. Μια κοινή χρήση της κατάστασης δράσης είναι η προσομοίωση ενός μόνο βήματος στην εκτέλεση ενός αλγορίθμου (διαδικασίας) ή ροής ελέγχου.

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

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

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

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

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

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

Διάγραμμα συνεργασίας

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


Εικόνα - 3. Διάγραμμα συνεργασίας

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

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

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

& nbsp & nbsp & nbsp & nbsp Έννοια συνεργασίαείναι μια από τις θεμελιώδεις έννοιες στο UML. Χρησιμεύει για τον προσδιορισμό ενός συνόλου αντικειμένων που αλληλεπιδρούν με έναν συγκεκριμένο σκοπό στο γενικό πλαίσιο του μοντελοποιημένου συστήματος. Ο σκοπός της ίδιας της συνεργασίας είναι να προσδιορίσει τα χαρακτηριστικά της υλοποίησης των μεμονωμένων πιο σημαντικών λειτουργιών στο σύστημα. Η συνεργασία ορίζει τη δομή της συμπεριφοράς του συστήματος σε σχέση με την αλληλεπίδραση των συμμετεχόντων σε αυτή τη συνεργασία.

& nbsp & nbsp & nbsp & nbsp Η συνεργασία μπορεί να παρουσιαστεί σε δύο επίπεδα:

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

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

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

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

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

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



Εικόνα - 4. Στοιχείο διάγραμμα

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

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

& nbsp & nbsp & nbsp & nbsp Το διάγραμμα στοιχείων αναπτύσσεται για τους ακόλουθους σκοπούς:

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

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

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

Διάγραμμα ανάπτυξης

& nbsp & nbsp & nbsp & nbsp Αυτός ο τύπος διαγραμμάτων έχει σχεδιαστεί για την ανάλυση του υλικού του συστήματος, δηλαδή του "υλισμικού", και όχι των προγραμμάτων. Σε μια άμεση μετάφραση από τα αγγλικά, το Deployment σημαίνει "ανάπτυξη", αλλά ο όρος "τοπολογία" αντικατοπτρίζει με μεγαλύτερη ακρίβεια την ουσία αυτού του τύπου διαγραμμάτων.


Εικόνα - 5. Διάγραμμα ανάπτυξης

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

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

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

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

& nbsp & nbsp & nbsp & nbsp Κατά την ανάπτυξη ενός διαγράμματος ανάπτυξης, επιδιώκονται οι ακόλουθοι στόχοι:

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

& nbsp & nbsp & nbsp & nbsp Τα διαγράμματα ανάπτυξης αναπτύσσονται από κοινού από αναλυτές συστημάτων, μηχανικούς δικτύου και μηχανικούς συστημάτων.

Χαρακτηριστικά της διεπαφής επιφάνειας εργασίας Rational Rose

& nbsp & nbsp & nbsp & nbsp Το εργαλείο Rational Rose CASE εφαρμόζει γενικά αποδεκτά πρότυπα για τη διεπαφή εργασίας του προγράμματος, παρόμοια με γνωστά περιβάλλοντα οπτικού προγραμματισμού. Μετά την εγκατάσταση του Rational Rose στον υπολογιστή του χρήστη, το οποίο πρακτικά δεν προκαλεί δυσκολίες ακόμη και για αρχάριους, η εκκίνηση αυτού του προγράμματος στο περιβάλλον MS Windows 95/98 έχει ως αποτέλεσμα μια λειτουργική διεπαφή στην οθόνη (Εικ. 6).


Εικόνα - 6.Γενική άποψη της διεπαφής εργασίας του προγράμματος Rational Rose

& nbsp & nbsp & nbsp & nbsp Η διεπαφή εργασίας Rational Rose αποτελείται από διάφορα στοιχεία, τα κυριότερα από τα οποία είναι:

  • Το κύριο μενού του προγράμματος
  • Παράθυρο διαγράμματος
  • Παράθυρο τεκμηρίωσης
  • Παράθυρο προγράμματος περιήγησης
  • Παράθυρο καταγραφής

Ας εξετάσουμε εν συντομία τον σκοπό και τις κύριες λειτουργίες καθενός από αυτά τα στοιχεία.

Το κύριο μενού του προγράμματος

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

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

Εικόνα - 7.Η εμφάνιση του κύριου μενού του προγράμματος

Τυπική γραμμή εργαλείων

Η τυπική γραμμή εργαλείων βρίσκεται κάτω από το κύριο μενού του προγράμματος και μοιάζει με αυτό (Εικ. 8). Ορισμένα από τα εργαλεία δεν είναι διαθέσιμα (το νέο έργο δεν έχει στοιχεία). Η τυπική γραμμή εργαλείων παρέχει γρήγορη πρόσβαση στις εντολές μενού που εκτελούν συχνότερα οι προγραμματιστές.

Εικόνα - 8.Εμφάνιση της τυπικής γραμμής εργαλείων

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

Παράθυρο προγράμματος περιήγησης

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

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

Εικόνα - 9.Εμφάνιση προγράμματος περιήγησης

Αφιερωμένη γραμμή εργαλείων

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

Εικόνα - 10.Εμφάνιση μιας αποκλειστικής γραμμής εργαλείων διαγράμματος τάξης

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

Παράθυρο διαγράμματος

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

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


Εικόνα - 11.Η εμφάνιση του παραθύρου του διαγράμματος με διαφορετικές όψεις του μοντέλου

Παράθυρο τεκμηρίωσης

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

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

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

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

Εικόνα - 12.Εμφάνιση παραθύρου τεκμηρίωσης

Παράθυρο καταγραφής

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

Το παράθυρο καταγραφής υπάρχει πάντα στη διεπαφή εργασίας στην περιοχή του παραθύρου του διαγράμματος (Εικ. 13). Ωστόσο, μπορεί να κλείσει από άλλα παράθυρα διαγράμματος ή να ελαχιστοποιηθεί. Μπορείτε να ενεργοποιήσετε το παράθυρο καταγραφής μέσω του μενού Window-> Log. Σε αυτήν την περίπτωση, εμφανίζεται πάνω από άλλα παράθυρα στο δεξιό παράθυρο της διεπαφής εργασίας. Αυτό το παράθυρο δεν μπορεί να αφαιρεθεί εντελώς, μπορεί μόνο να ελαχιστοποιηθεί.

Εικόνα - 13.Εμφάνιση παραθύρου καταγραφής

συμπέρασμα

& nbsp & nbsp & nbsp & nbsp Με την πάροδο του χρόνου, το UML θα γίνει το «Εσπεράντο» στο οποίο μαθηματικοί, αναλυτές συστημάτων, φυσικοί, προγραμματιστές, διευθυντές, οικονομολόγοι και ειδικοί άλλων επαγγελμάτων θα μπορούν να επικοινωνούν, παρουσιάζοντας τις επαγγελματικές τους γνώσεις σε ενιαία μορφή. Άλλωστε, στην ουσία, ο καθένας από τους ειδικούς λειτουργεί με πρότυπες έννοιες στον γνωστικό του τομέα. Και είναι ακριβώς αυτή η πτυχή του μοντέλου που μπορεί να προσδιοριστεί μέσω της γλώσσας UML.

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

Αυτό το άρθρο εξετάζει τη νέα εποχή ανάπτυξης λογισμικού, τον αντίκτυπό της στις νέες απαιτήσεις για το UML και τις βέλτιστες πρακτικές για την εκπλήρωσή τους.
& nbsp 7. "Data Modeling in Rational Rose" Sergey Trofimov Περιγράφει τη μοντελοποίηση της αναπαράστασης φυσικών δεδομένων χρησιμοποιώντας το Rational Rose
& nbsp 8. Η γλώσσα UML. Γενική κατανόηση της γλώσσας UML: δομές, γραφικά στοιχεία και διαγράμματα της γλώσσας.
& nbsp 9. Πρακτικό UML. Αυτό το έγγραφο είναι μια μετάφραση του Practical UML A Hands-On Introduction for Developers. Μια πρακτική εισαγωγή για προγραμματιστές
& nbsp 10. "Τυπική γλώσσα αντικειμενοστρεφούς μοντελοποίησης UML" Vendrov Alexander Mikhailovich. Ιστορία του UML
& nbsp 11. Η UML είναι μια ενοποιημένη γλώσσα μοντελοποίησης. Αυτό το υλικό περιέχει τις αρχικές πληροφορίες σχετικά με τις μεθόδους περιγραφής συστημάτων λογισμικού και σημειώσεων που χρησιμοποιούνται στο UML.
& nbsp 12. Η γλώσσα UML. ΟΔΗΓΟΣ ΧΡΗΣΤΗ. Από τους Grady Booch, James Rambeau, Ivar Jacobson
& nbsp 13. "Διαγράμματα UML σε Rational Rose" Sergey Trofimov
& nbsp 14. "Analysis and design. Visual modeling (UML) Rational Rose" Konstantin Domolego
& nbsp 15. Library of Gennady Vernikov. Πλήρεις περιγραφές προτύπων σχεδίασης και μοντελοποίησης.
& nbsp 16. "Ένα παράδειγμα περιγραφής μιας θεματικής περιοχής με χρήση UML στην ανάπτυξη συστημάτων λογισμικού" Ye.B. Zolotukhina, R.V. Αλφίμοφ. Το άρθρο παρουσιάζει ένα συγκεκριμένο παράδειγμα μιας πιθανής προσέγγισης για τη μοντελοποίηση τομέα που βασίζεται στη χρήση της Ενοποιημένης Γλώσσας Μοντελοποίησης (UML)

& nbsp & nbsp & nbsp & nbsp

11.1. Δομή της Ενοποιημένης Γλώσσας Μοντελοποίησης

Ενοποιημένη γλώσσα μοντελοποίησης Το (UML) είναι επί του παρόντος το de facto πρότυπο για την περιγραφή (τεκμηρίωση) των αποτελεσμάτων του σχεδιασμού και της ανάπτυξης αντικειμενοστρεφών συστημάτων. Η ανάπτυξη της UML ξεκίνησε το 1994 από τους Grady Booch και James Rambeau της Rational Software. Το φθινόπωρο του 1995, ο Ivar Jacobson προσχώρησε σε αυτούς και τον Οκτώβριο του ίδιου έτους, κυκλοφόρησε μια προκαταρκτική έκδοση 0.8 της Ενιαίας Μεθόδου. Από τότε, έχουν κυκλοφορήσει πολλές εκδόσεις της προδιαγραφής UML, δύο από τις οποίες έχουν την ιδιότητα του διεθνούς προτύπου:

UML 1.4.2 - "ISO / IEC 19501: 2005. Τεχνολογία πληροφοριών. Ανοιχτή κατανεμημένη επεξεργασία. Ενοποιημένη γλώσσα μοντελοποίησης (UML). Έκδοση 1.4.2" (eng. "Information technology. Open distributed processing. Unified modeling language (UML). Έκδοση 1.4.2 ");

UML 2.4.1 - "ISO / IEC 19505-1: 2012. Τεχνολογία πληροφοριών. OMG UML. Μέρος 1. Υποδομή" (eng. "Information Technology - Object Management Group Unified Modeling Language ( OMG UML) - Part 1: Infrastructure ") και" ISO / IEC 19505-2: 2012. Τεχνολογία πληροφοριών. Γλώσσα Μοντελοποίησης Ομάδας Ενοποιημένης Διαχείρισης Αντικειμένων (OMG UML). Μέρος 2. Υπερδομή "(eng." Information Technology - Object Management Group Unified Modeling Language (OMG UML) - Μέρος 2 : Ανωδομή»).

Μπορείτε να βρείτε τις πιο πρόσφατες προδιαγραφές επίσημης γλώσσας στη διεύθυνση www.omg.org.

Η γενική δομή του UML φαίνεται στο παρακάτω σχήμα.

Ρύζι. 11.1. Δομή UML

11.2. UML σημασιολογία και σύνταξη

Σημασιολογία - ένα τμήμα γλωσσολογίας που μελετά τη σημασία των γλωσσικών ενοτήτων, κυρίως των λέξεων και των φράσεων της.

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

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

11.3. Σημείωση UML

Η σημειογραφία είναι μια γραφική ερμηνεία της σημασιολογίας για την οπτική της παρουσίαση.

Το UML ορίζει τρία τύπος οντότητας :

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

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

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

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

Πίνακας 11.1. οντότητες

Ενα είδος Ονομα Ονομασία Ορισμός (σημασιολογία)
Κατασκευαστικός
(τάξη)
Πολλά αντικείμενα με κοινή δομή και συμπεριφορά

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

(ηθοποιός)

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

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

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

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

(διεπαφή)

iCalculation
Ένα σύνολο λειτουργιών που ορίζουν μια υπηρεσία (σύνολο υπηρεσιών) που παρέχεται από μια κλάση ή στοιχείο

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

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

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

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

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

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

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

Πίνακας 11.3. Σχέση

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

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

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

Μη αρνητικός ακέραιος - η πολλαπλότητα είναι αυστηρά σταθερή και ίση με τον καθορισμένο αριθμό (για παράδειγμα: 1, 2 ή 5).

Εύρος μη αρνητικών ακεραίων "πρώτος αριθμός .. δεύτερος αριθμός" (για παράδειγμα: 1..5, 2..10 ή 0..5);

Ένα εύρος αριθμών από μια συγκεκριμένη αρχική τιμή έως έναν αυθαίρετο τελικό "πρώτος αριθμός .. *" (για παράδειγμα: 1 .. *, 5 .. * ή 0 .. *);

Αριθμός μη αρνητικών ακεραίων και περιοχών που χωρίζονται με κόμμα (για παράδειγμα: 1, 3..5, 10, 15 .. *).

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

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

Πίνακας 11.4. Μηχανισμοί επέκτασης

Ονομα Ονομασία Ορισμός (σημασιολογία)
Στερεοτυπία
(στερεοτυπία)
« » Ένας προσδιορισμός που καθορίζει τη σημασιολογία ενός στοιχείου σημειογραφίας (για παράδειγμα: μια εξάρτηση με το στερεότυπο "συμπεριλαμβάνω" θεωρείται σχέση συμπερίληψης και μια τάξη με στερεότυπο "οριακό" είναι μια κλάση ορίου)
Κατάσταση φύλαξης
(κατάσταση φύλαξης)
Συνθήκη Boolean (για παράδειγμα: ή [η ταυτοποίηση ολοκληρώθηκε])
Περιορισμός
(περιορισμός)
{ } Κανόνας που περιορίζει τη σημασιολογία του στοιχείου μοντέλου (για παράδειγμα, (χρόνος εκτέλεσης μικρότερος από 10 ms))
Τιμή με ετικέτα
(τιμή με ετικέτα)
{ } Νέα ή κατάλληλη ιδιότητα ενός στοιχείου σημειογραφίας (για παράδειγμα: (έκδοση = 3.2))

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

α) τυπική ονομασία β) τυπική ονομασία
με στερεότυπο κειμένου
γ) γραφικό στερεότυπο

Ρύζι. 11.2. Παραδείγματα τυπικής και στερεότυπης προβολής τάξης

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

Πίνακας 11.5. Διαγράμματα

Διάγραμμα Ραντεβού
από το βαθμό της φυσικής υλοποίησης με την εμφάνιση δυναμικής από την εμφανιζόμενη όψη

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

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

(πακέτο)
Εμφανίζει ένα σύνολο πακέτων και τη σχέση μεταξύ τους Λογικό ή
φυσικός
Στατικός Συστατικό
Συμπεριφορές
(η ΣΥΜΠΕΡΙΦΟΡΑ)

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

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

(αλληλουχία)
Εμφανίζει τη σειρά των μηνυμάτων μεταξύ αντικειμένων και ηθοποιών

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

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

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

Το πρότυπο UML 2.x ορίζει επίσης πρόσθετα, εξαιρετικά εξειδικευμένα διαγράμματα:

Ένα διάγραμμα αντικειμένων είναι παρόμοιο, αλλά τα αντικείμενα εμφανίζονται αντί για κλάσεις.

Διάγραμμα χρονισμού - περιγράφει την κατάσταση ενός αντικειμένου με την πάροδο του χρόνου.

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

Διάγραμμα προφίλ - παρόμοιο με την περιγραφή των τάξεων που περιλαμβάνονται σε αυτά.

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

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

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

Πίνακας 11.6. Σύνδεση μοντέλων και διαγραμμάτων

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

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

4. Δώστε έναν ορισμό της έννοιας "".

Το UML είναι ένα αρκτικόλεξο του Unified Modeling Language. Στην πραγματικότητα, είναι μια από τις πιο δημοφιλείς τεχνικές μοντελοποίησης επιχειρηματικών διαδικασιών και είναι μια διεθνής τυπική σημείωση για τον προσδιορισμό, την οπτικοποίηση και την τεκμηρίωση της ανάπτυξης λογισμικού. Καθορίστηκε από την Ομάδα Διαχείρισης Αντικειμένων, προέκυψε ως αποτέλεσμα πολλών πρόσθετων συστημάτων σημειογραφίας UML και έχει γίνει πλέον το de facto πρότυπο για οπτική μοντελοποίηση. Η θεμελιώδης αρχή κάθε αντικειμενοστρεφούς προγραμματισμού ξεκινά με τη δημιουργία ενός μοντέλου.

Το UML δημιουργήθηκε από το χάος γύρω από την ανάπτυξη λογισμικού και την τεκμηρίωση. Στη δεκαετία του 1990, υπήρχαν αρκετοί διαφορετικοί τρόποι αναπαράστασης συστημάτων λογισμικού. Υπήρχε ανάγκη για έναν πιο ενοποιημένο οπτικό τρόπο UML για την αναπαράσταση αυτών των συστημάτων, και ως αποτέλεσμα, αναπτύχθηκε το 1994-1996 από τρεις μηχανικούς λογισμικού που εργάζονταν στην Rational Software. Αργότερα υιοθετήθηκε ως πρότυπο το 1997 και παραμένει έτσι, με λίγες μόνο ενημερώσεις.

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

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

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

  1. Δηλώσεις γλώσσας προγραμματισμού.
  2. Ηθοποιοί - περιγράφουν τον ρόλο που παίζει ο χρήστης ή οποιοδήποτε άλλο σύστημα που αλληλεπιδρά με το αντικείμενο.
  3. Δραστηριότητες που θα εκτελεστούν για την εκτέλεση της σύμβασης εργασίας και παρουσιάζονται σε διαγράμματα.
  4. Μια επιχειρηματική διαδικασία που περιλαμβάνει ένα σύνολο εργασιών που δημιουργούν μια συγκεκριμένη υπηρεσία για τους πελάτες, η οποία απεικονίζεται από ένα διάγραμμα ροής διαδοχικών ενεργειών.
  5. Λογικά και επαναχρησιμοποιήσιμα στοιχεία λογισμικού.

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

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

Διατίθεται μεγάλη ποικιλία εργαλείων μοντελοποίησης UML για την απλοποίηση της μοντελοποίησης, συμπεριλαμβανομένων των IBM Rose, Rhapsody, MagicDraw, StarUML, ArgoUML, Umbrello, BOUML, PowerDesigner και Dia.

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

  1. Σκίτσο. Σε αυτή την περίπτωση, τα διαγράμματα UML χρησιμοποιούνται για να μεταφέρουν διάφορες πτυχές και χαρακτηριστικά του συστήματος. Ωστόσο, αυτή είναι μόνο μια άποψη ανώτατου επιπέδου του συστήματος και πιθανότατα δεν θα περιλαμβάνει όλες τις απαραίτητες λεπτομέρειες για τη μεταφορά του έργου μέχρι το τέλος.
  2. Forward Design - Ο σχεδιασμός του σκίτσου γίνεται πριν από την κωδικοποίηση της εφαρμογής. Αυτό γίνεται για να παρέχει μια καλύτερη επισκόπηση του συστήματος ή της ροής εργασίας που προσπαθεί να δημιουργήσει ο χρήστης. Μπορούν να εντοπιστούν πολλά σχεδιαστικά προβλήματα ή ελαττώματα, τα οποία θα βελτιώσουν τη συνολική υγεία και ευημερία του έργου.
  3. Αντίστροφη σχεδίαση. Μόλις γραφτεί ο κώδικας, τα διαγράμματα UML εμφανίζονται ως μια μορφή τεκμηρίωσης για διαφορετικές δραστηριότητες, ρόλους, συμμετέχοντες και ροές εργασίας.
  4. Προσχέδιο. Σε αυτή την περίπτωση, το διάγραμμα χρησιμεύει ως μια πλήρης κατασκευή, η οποία απαιτεί μόνο την πραγματική υλοποίηση του συστήματος ή του λογισμικού. Αυτό γίνεται συχνά χρησιμοποιώντας εργαλεία CASE (Computer Aided Software Engineering Tools). Το κύριο μειονέκτημα της χρήσης εργαλείων CASE είναι ότι απαιτούν ένα ορισμένο επίπεδο γνώσεων, εκπαίδευση των χρηστών και διαχείριση και προσωπικό.

Η UML δεν είναι μια αυτόνομη γλώσσα προγραμματισμού όπως η Java, η C ++ ή η Python, ωστόσο με τα κατάλληλα εργαλεία μπορεί να γίνει ψευδο UML. Για να επιτευχθεί αυτός ο στόχος, ολόκληρο το σύστημα πρέπει να τεκμηριωθεί σε διαφορετικά διαγράμματα και χρησιμοποιώντας το κατάλληλο λογισμικό, τα διαγράμματα μπορούν να μεταφραστούν απευθείας σε κώδικα. Αυτή η τεχνική μπορεί να είναι χρήσιμη μόνο εάν ο χρόνος που δαπανάται για τη σχεδίαση των γραφημάτων είναι λιγότερο χρονοβόρος από τη σύνταξη του πραγματικού κώδικα. Αν και το UML δημιουργήθηκε για μοντελοποίηση συστημάτων, έχει βρει αρκετές χρήσεις σε επιχειρηματικούς τομείς.

Ακολουθεί ένα παράδειγμα διαγράμματος UML για επιχειρηματική μοντελοποίηση.

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

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

Οι διάφοροι τύποι αναλύονται ως εξής:

  1. Δεν χρησιμοποιούνται και οι 14 διαφορετικοί τύποι διαγραμμάτων UML σε τακτική βάση κατά την τεκμηρίωση συστημάτων και αρχιτεκτονικών.
  2. Η αρχή Pareto ισχύει επίσης για τη χρήση διαγραμμάτων UML.
  3. Το 20% των γραφημάτων χρησιμοποιούνται από προγραμματιστές το 80% του χρόνου.

Τα πιο συχνά χρησιμοποιούμενα στοιχεία στην ανάπτυξη λογισμικού είναι:

  • διαγράμματα χρήσης·
  • διαγράμματα τάξης?
  • αλληλουχία.

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

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

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

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

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

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

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

Προσωρινός

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

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

Τα κύρια στοιχεία ενός χρονοδιαγράμματος είναι:

  1. Η Lifeline είναι μεμονωμένο μέλος.
  2. Χρονολόγιο κατάστασης - Μια μοναδική διαδρομή ζωής μπορεί να περάσει από διάφορες καταστάσεις μέσα σε μια διαδικασία.
  3. Περιορισμός διάρκειας - Περιορισμός χρονικού διαστήματος που αντιπροσωπεύει τη διάρκεια που απαιτείται για την εκπλήρωση του περιορισμού.
  4. Χρονικό όριο - περιορίστε το χρονικό διάστημα κατά το οποίο πρέπει να γίνει κάτι από τον συμμετέχοντα.
  5. Εμφάνιση καταστροφής - Η εμφάνιση ενός μηνύματος που καταστρέφει έναν μεμονωμένο συμμετέχοντα και απεικονίζει το τέλος του κύκλου ζωής αυτού του συμμετέχοντα.

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

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

Συνεχής

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

Για περισσότερες πληροφορίες, δείτε το παράδειγμα διαγράμματος ακολουθίας UML παρακάτω.

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

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

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

Αντικείμενα

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

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

Ανάπτυξη

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

Ένα τυπικό απλοποιημένο μοτίβο ανάπτυξης για μια εφαρμογή Ιστού θα περιλαμβάνει:

  1. Κόμβοι (διακομιστής εφαρμογών και διακομιστής βάσης δεδομένων).
  2. Σχήμα και βάση δεδομένων εφαρμογής πελάτη Artifacts.

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

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

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

Συνήθως εμπίπτουν στις ακόλουθες κύριες κατηγορίες:

  1. Το χαρτί και το στυλό είναι εύκολα. Παίρνουν χαρτί και στυλό, ανοίγουν τον συντακτικό κώδικα UML από το Διαδίκτυο και σχεδιάζουν κάθε τύπο διαγράμματος που χρειάζεται.
  2. Ηλεκτρονικά εργαλεία - Υπάρχουν πολλές διαδικτυακές εφαρμογές που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε το γράφημά σας. Τα περισσότερα από αυτά προσφέρουν συνδρομή επί πληρωμή ή περιορισμένο αριθμό δωρεάν διαγραμμάτων βαθμίδας.
  3. Τα δωρεάν διαδικτυακά εργαλεία είναι σχεδόν ίδια με τα επί πληρωμή. Η βασική διαφορά είναι ότι τα επί πληρωμή προσφέρουν και tutorials και έτοιμα πρότυπα για συγκεκριμένα γραφήματα.
  4. Μια εφαρμογή επιφάνειας εργασίας είναι μια τυπική εφαρμογή επιφάνειας εργασίας που χρησιμοποιείται για διαγράμματα και σχεδόν οποιοδήποτε άλλο διάγραμμα είναι το Microsoft Visio. Προσφέρει προηγμένες δυνατότητες και λειτουργικότητα. Το μόνο μειονέκτημα είναι ότι πρέπει να πληρώσετε για αυτό.

Έτσι, είναι ξεκάθαρο ότι το 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 και να δημιουργείτε σχήματα βάσεων δεδομένων. Τα περισσότερα από αυτά περιλαμβάνουν τη δυνατότητα ανασχεδιασμού κωδίκων προγραμμάτων - επαναφορά ορισμένων προβολών του μοντέλου PS με αυτόματη ανάλυση των πηγαίων κωδίκων των προγραμμάτων, κάτι που είναι πολύ σημαντικό για τη διασφάλιση της συνέπειας του μοντέλου και των κωδικών και κατά το σχεδιασμό συστημάτων που κληρονομούν τη λειτουργικότητα του προκατόχου συστήματα.

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

Σχέδιο δράσης

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

Αφού διαβάσετε τις υπόλοιπες ενότητες (Παράδειγμα, Εφαρμογή), μπορείτε να δοκιμάσετε να σχεδιάσετε μόνοι σας διαγράμματα κατάστασης.

Σημειώσεις (περιγραφή)

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

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

Πώς να εφαρμόσετε την τεχνική της δημιουργικότητας

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

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

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

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

Πώς να μάθετε

Εδώ προσπαθήσαμε να παρέχουμε έναν όσο το δυνατόν πιο απλό τρόπο μάθησης. Διαγράμματα κατάστασης UML.

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

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

Παράδειγμα χρήσης

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

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

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

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

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

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

Όταν ένα συμβάν συμβαίνει σε μια συγκεκριμένη κατάσταση, τότε μόνο μία μετάβαση μπορεί να γίνει από αυτήν την κατάσταση, για παράδειγμα, στην κατάσταση Κλείδωμα (Εικ. 10.1), οι προστασίες πρέπει να είναι αμοιβαία αποκλειστικές. Εάν συμβεί ένα συμβάν, αλλά δεν επιτρέπονται μεταβάσεις - για παράδειγμα, κλείσιμο ενός χρηματοκιβωτίου σε κατάσταση Αναμονής ή αφαίρεση ενός κεριού όταν η πόρτα είναι ανοιχτή - το συμβάν αγνοείται.

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

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

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

Εσωτερικές δραστηριότητες στο κρατικό διάγραμμα

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

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

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

Οι καταστάσεις δραστηριότητας στον πίνακα καταστάσεων

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

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

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

V UML 1κοινές δραστηριότητες υποδηλώνονταν με τον όρο δράση(δράση) και ο όρος δραστηριότητα(δραστηριότητα) χρησιμοποιήθηκε μόνο για κάνω δραστηριότητες.

Υπερκράτη

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

Παράλληλες πολιτείες

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

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

Ρύζι. Το 10,5 περιλαμβάνει επίσης κατάσταση φόντου(ιστορικό ψευδοκράτος). Αυτό σημαίνει ότι όταν το ρολόι είναι ενεργοποιημένο, η επιλογή ραδιόφωνο / CD μεταβαίνει στην κατάσταση στην οποία βρισκόταν το ρολόι όταν ήταν απενεργοποιημένο. Το βέλος που αναδύεται από την προϊστορία δείχνει ποια κατάσταση υπήρχε αρχικά όταν δεν υπήρχε προϊστορία.

Εφαρμογή διαγραμμάτων κατάστασης

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

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

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

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

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

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

Εγγραφείτε στα νέα του ιστότοπου, μπορείτε να βρείτε τη φόρμα εγγραφής στη δεξιά στήλη του ιστότοπου.

Εάν θέλετε να μάθετε πώς να κάνετε ελεύθερους επαγγελματίες επαγγελματικά, σας προσκαλούμε στο μάθημα "".

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

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

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