Το διάγραμμα uml είναι γραφικό. Διάγραμμα UML. Τύποι διαγραμμάτων UML. Το κύριο μενού του προγράμματος

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

Γιατί χρειάζεται;

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

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

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

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

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

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

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

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

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

Σύνθετο / Σύνθετο Διάγραμμα Δομής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Χρησιμοποιήστε διαγράμματα περιπτώσεων

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

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

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

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

Διαβιβάσεις

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

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

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

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

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

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

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

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

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

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

Διαγράμματα επισκόπησης αλληλεπίδρασης

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

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

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

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

Ποια είναι τα οφέλη;

Αξίζει να σημειωθούν πολλά πλεονεκτήματα που διακρίνουν το διάγραμμα χρήσης UML και άλλα:

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

Ελαττώματα

Παρά το γεγονός ότι η κατασκευή διαγραμμάτων UML έχει πολλά πλεονεκτήματα, αρκετά συχνά επικρίνονται για τις ακόλουθες ελλείψεις:

  • Πλεονασμός. Στη συντριπτική πλειονότητα των περιπτώσεων, οι επικριτές λένε ότι το UML είναι πολύ μεγάλο και πολύπλοκο και συχνά αυτό είναι αδικαιολόγητο. Περιλαμβάνει πολλές περιττές ή πρακτικά άχρηστες κατασκευές και διαγράμματα, και τις περισσότερες φορές αυτή η κριτική πηγαίνει στη δεύτερη έκδοση, και όχι στην πρώτη, γιατί σε νεότερες αναθεωρήσεις υπάρχουν περισσότεροι συμβιβασμοί που «αναπτύχθηκαν από την επιτροπή».
  • Διάφορες σημασιολογικές ανακρίβειες. Επειδή το UML ορίζεται από έναν συνδυασμό του εαυτού του, Αγγλικά και OCL, δεν έχει την ακαμψία που είναι εγγενής στις γλώσσες που ορίζονται με ακρίβεια από την τεχνική της επίσημης περιγραφής. Σε ορισμένες περιπτώσεις, η αφηρημένη σύνταξη των OCL, UML και Αγγλικών αρχίζουν να έρχονται σε αντίθεση μεταξύ τους, ενώ σε άλλες περιπτώσεις είναι ελλιπείς. Η ανακριβής περιγραφή της ίδιας της γλώσσας επηρεάζει τόσο τους χρήστες όσο και τους παρόχους εργαλείων, γεγονός που οδηγεί τελικά σε ασυμβατότητα των εργαλείων λόγω του μοναδικού τρόπου ερμηνείας διαφορετικών προδιαγραφών.
  • Προβλήματα στη διαδικασία υλοποίησης και μελέτης. Όλα τα παραπάνω προβλήματα δημιουργούν ορισμένες δυσκολίες στη διαδικασία εισαγωγής και εκμάθησης του UML, και αυτό ισχύει ιδιαίτερα όταν η ηγεσία αναγκάζει τους μηχανικούς να το χρησιμοποιούν βίαια, ενώ δεν έχουν προηγούμενες δεξιότητες.
  • Ο κωδικός αντικατοπτρίζει τον κώδικα. Μια άλλη άποψη είναι ότι δεν είναι τα όμορφα και ελκυστικά μοντέλα που είναι σημαντικά, αλλά τα ίδια τα λειτουργικά συστήματα, δηλαδή ο κώδικας είναι το έργο. Σύμφωνα με αυτήν την άποψη, υπάρχει ανάγκη να αναπτυχθεί ένας πιο αποτελεσματικός τρόπος για τη σύνταξη λογισμικού. Το UML εκτιμάται για προσεγγίσεις που μεταγλωττίζουν μοντέλα για την αναγέννηση εκτελέσιμου ή πηγαίου κώδικα. Αλλά στην πραγματικότητα, αυτό μπορεί να μην είναι αρκετό, επειδή η γλώσσα δεν διαθέτει ιδιότητες πληρότητας Turing και κάθε κώδικας που δημιουργείται θα περιορίζεται τελικά από αυτό που μπορεί να υποθέσει ή να ορίσει ένα εργαλείο διερμηνέα UML.
  • Αναντιστοιχία φορτίου. Αυτός ο όρος προέρχεται από τη θεωρία της ανάλυσης συστημάτων για τον προσδιορισμό της αδυναμίας της εισόδου ενός συγκεκριμένου συστήματος να αντιληφθεί την έξοδο ενός άλλου. Όπως με κάθε τυπικό σύστημα σημειογραφίας, το UML μπορεί να αναπαραστήσει ορισμένα συστήματα με πιο αποτελεσματικό και συνοπτικό τρόπο από άλλα. Έτσι, ο προγραμματιστής είναι πιο διατεθειμένος προς εκείνες τις λύσεις που είναι πιο άνετες για την ύφανση όλων των δυνατοτήτων του UML, καθώς και άλλων γλωσσών προγραμματισμού. Αυτό το πρόβλημα είναι πιο προφανές στην περίπτωση που η γλώσσα ανάπτυξης δεν συμμορφώνεται με τις βασικές αρχές του αντικειμενοστρεφούς ορθόδοξου δόγματος, δηλαδή δεν προσπαθεί να λειτουργήσει σύμφωνα με τις αρχές του OOP.
  • Προσπαθεί να είναι ευέλικτο. Η UML είναι μια γλώσσα μοντελοποίησης γενικής χρήσης που επιδιώκει να είναι συμβατή με οποιαδήποτε γλώσσα επεξεργασίας που είναι διαθέσιμη σήμερα. Στο πλαίσιο ενός συγκεκριμένου έργου, για να μπορέσει η ομάδα σχεδιασμού να πετύχει τον απώτερο στόχο, είναι απαραίτητο να επιλεγούν οι εφαρμοστέες δυνατότητες της συγκεκριμένης γλώσσας. Επιπλέον, πιθανοί τρόποι περιορισμού του πεδίου εφαρμογής του UML σε μια συγκεκριμένη περιοχή περνούν από έναν φορμαλισμό που δεν είναι πλήρως διατυπωμένος, αλλά ο οποίος είναι από μόνος του αντικείμενο κριτικής.

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

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

Πλεονεκτήματα UML

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

Τύποι διαγραμμάτων UML

Υπάρχουν 14 τύποι διαγραμμάτων στο UML. Μπορούν να χωριστούν σε 2 κατηγορίες:

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

Ιεραρχία τύπου διαγράμματος UML, αντιπροσωπεύεται από διάγραμμα τάξης

Δομικά διαγράμματα

  1. Διάγραμμα τάξηςείναι βασικό στοιχείο στην αντικειμενοστραφή μοντελοποίηση. Με τη βοήθεια αυτού του διαγράμματος (στην πραγματικότητα, μέσω τάξεις, δικα τους γνωρίσματα, μεθόδουςκαι εξαρτήσεις μεταξύ κλάσεων) περιγράφει το μοντέλο τομέα και τη δομή του μοντελοποιημένου συστήματος.
  2. Διάγραμμα συνιστωσώνεμφανίζει την κατανομή του κώδικα του προγράμματος σε μεγάλα μπλοκ (δομικά στοιχεία) και εμφανίζει εξαρτήσειςμεταξυ τους. Τα στοιχεία μπορεί να είναι πακέτα, λειτουργικές μονάδες, βιβλιοθήκες, αρχεία κ.λπ.
  3. Διάγραμμα αντικειμένουδείχνει ένα πλήρες ή μερικό κομμάτι του μοντελοποιημένου συστήματος σε μια δεδομένη χρονική στιγμή. Αντιπροσωπεύει στιγμιότυπα κλάσεων (αντικείμενα), την κατάστασή τους (τρέχουσες τιμές χαρακτηριστικών) και τις σχέσεις μεταξύ τους.
  4. Σύνθετο διάγραμμα δομήςδείχνει την εσωτερική δομή των κλάσεων και, αν είναι δυνατόν, τις αλληλεπιδράσεις μεταξύ των στοιχείων αυτής της δομής.
  5. Διάγραμμα πακέτουδείχνει πακέτα και σχέσεις μεταξύ τους. Αυτός ο τύπος διαγραμμάτων χρησιμεύει στην απλοποίηση της δομής του μοντέλου (και, κατά συνέπεια, στην εργασία με αυτό) συνδυάζοντας τα στοιχεία του μοντέλου σε ομάδες σύμφωνα με ορισμένα κριτήρια.
  6. Διάγραμμα ανάπτυξηςπροσομοιώνει την ανάπτυξη στοιχείων λογισμικού ( τεχνουργήματα) σε υπολογιστικούς πόρους / στοιχεία υλικού ( κόμβους).
  7. Διάγραμμα προφίλπεριγράφει έναν μηχανισμό επέκτασης που επιτρέπει στο UML να προσαρμοστεί σε μια ποικιλία τομέων και βιομηχανιών.

Παράδειγμα διαγράμματος κλάσης UML

Διαγράμματα συμπεριφοράς

  1. Διάγραμμα δραστηριότηταςδείχνει ενέργειες ( Ενέργειες) εκ των οποίων κάποια δραστηριότητα ( δραστηριότητα). Τα διαγράμματα δραστηριότητας χρησιμοποιούνται για τη μοντελοποίηση επιχειρηματικών διαδικασιών, ροών εργασίας, διαδοχικών και παράλληλων υπολογιστών.
  2. Διάγραμμα περίπτωσης χρήσηςδιάγραμμα περίπτωσης χρήσης) περιγράφει τη σχέση μεταξύ των ηθοποιών (χαρακτήρες) και τις περιπτώσεις χρήσης του μοντελοποιημένου συστήματος (τις δυνατότητές του). Ο κύριος σκοπός ενός διαγράμματος είναι να είναι μια ενιαία στάση για τους πελάτες, τους προγραμματιστές και τους τελικούς χρήστες προκειμένου να συζητήσουν συλλογικά ένα σύστημα — τις δυνατότητες και τη συμπεριφορά του.
  3. Διάγραμμα κατάστασηςαπεικονίζει τη δυναμική συμπεριφορά μιας οντότητας, δείχνοντας πώς αυτή η οντότητα, ανάλογα με την τρέχουσα κατάστασή της, αντιδρά σε διάφορα γεγονότα. Αυτό είναι ουσιαστικά ένα διάγραμμα κατάστασης από τη θεωρία των ατόμων.
  4. Διάγραμμα επικοινωνίας(σε παλαιότερες εκδόσεις διάγραμμα συνεργασίας) δείχνει τις αλληλεπιδράσεις μεταξύ των τμημάτων της σύνθετης δομής και των ρόλων της συνεργασίας. Το διάγραμμα δείχνει ξεκάθαρα τη σχέση μεταξύ στοιχείων (αντικειμένων).
  5. Διάγραμμα ακολουθίαςχρησιμοποιείται για την οπτικοποίηση μιας ακολουθίας αλληλεπιδράσεων αντικειμένων. Δείχνει τον κύκλο ζωής ενός δεδομένου αντικειμένου και την αλληλεπίδραση των φορέων (δρώντων) μέσα σε μια περίπτωση χρήσης, τη σειρά των μηνυμάτων που ανταλλάσσουν.
  6. Διάγραμμα επισκόπησης αλληλεπίδρασηςπεριλαμβάνει ένα τμήμα του διαγράμματος ακολουθίας και των κατασκευών ροής ελέγχου. Βοηθά στην εξέταση της αλληλεπίδρασης των αντικειμένων από διαφορετικές οπτικές γωνίες.
  7. Διάγραμμα συγχρονισμού- ένας ξεχωριστός υποτύπος διαγραμμάτων αλληλεπίδρασης, που ειδικεύεται στο χρονοδιάγραμμα. Τα διαγράμματα αυτού του είδους χρησιμοποιούνται για τη μελέτη της συμπεριφοράς των αντικειμένων για μια συγκεκριμένη χρονική περίοδο.

Το UML είναι τώρα η τυπική σημείωση για την οπτική μοντελοποίηση συστημάτων λογισμικού, που υιοθετήθηκε από την Ομάδα Διαχείρισης Αντικειμένων (OMG) το φθινόπωρο του 1997 και υποστηρίζεται από πολλά αντικειμενοστραφή προϊόντα CASE.

Το πρότυπο UML προσφέρει το ακόλουθο σύνολο διαγραμμάτων για μοντελοποίηση:

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

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

Διαγράμματα συμπεριφοράς

· Διαγράμματα αλληλεπίδρασης.

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

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

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

· Διάγραμμα δραστηριότητας - για τη μοντελοποίηση της συμπεριφοράς του συστήματος στο πλαίσιο διαφόρων περιπτώσεων χρήσης ή δραστηριοτήτων μοντελοποίησης.

Διαγράμματα υλοποίησης:

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

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

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

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

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

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

Εικ. 2. Θήκη χρήσης

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



Εικ. 3. Ηθοποιός (ηθοποιός)

Υπάρχουν τρεις κύριοι τύποι ηθοποιών:

· Χρήστες.

· Συστήματα;

· Άλλα συστήματα που αλληλεπιδρούν με αυτό.

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

4.2.1. Σχέσεις μεταξύ περιπτώσεων χρήσης και ηθοποιών

Στο UML, τα διαγράμματα περίπτωσης χρήσης υποστηρίζουν διάφορους τύπους σχέσεων μεταξύ των στοιχείων του διαγράμματος:

Επικοινωνία,

συμπερίληψη (συμπεριλαμβάνονται),

Επέκταση (επέκταση),

Γενίκευση.

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

Εικ. 4. Παράδειγμα συνδέσμου επικοινωνίας

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

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

Εικ. 5. Παράδειγμα σύνδεσης συμπερίληψης και επέκτασης

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

Εικ. 6. Παράδειγμα συνδέσμου γενίκευσης

4.3.



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

ΜήνυμαΕίναι το μέσο με το οποίο το αντικείμενο αποστολέα ζητά από το αντικείμενο παραλήπτη να εκτελέσει μία από τις λειτουργίες του.

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

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

Επιτακτικό μήνυμαΕίναι ένα μήνυμα που ζητά από τον παραλήπτη να προβεί σε κάποια ενέργεια.

Υπάρχουν δύο τύποι διαγραμμάτων αλληλεπίδρασης: διαγράμματα ακολουθίας και διαγράμματα συνεργασίας.

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

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

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

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

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

Ρύζι. 7. Παράδειγμα διαγράμματος ακολουθίας

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

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

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

Ρύζι. 8. Παράδειγμα διαγράμματος συνεργασίας

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

4.4.1. Γενικές πληροφορίες

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

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

Το διάγραμμα τάξης απεικονίζει τα ακόλουθα στοιχεία:

· Πακέτο - ένα σύνολο στοιχείων μοντέλου που σχετίζονται λογικά μεταξύ τους.

· Τάξη - περιγραφή των γενικών ιδιοτήτων μιας ομάδας παρόμοιων αντικειμένων.

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

4.4.2. Τάξη

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

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

Στα διαγράμματα, η τάξη απεικονίζεται ως ένα ορθογώνιο με συμπαγές περίγραμμα, χωρισμένο με οριζόντιες γραμμές σε 3 ενότητες:

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

Το μεσαίο τμήμα περιέχει μια λίστα χαρακτηριστικών

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

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

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

Ρύζι. 9. Παράδειγμα διαγράμματος τάξης

4.4.2.1.Ταξικά στερεότυπα

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

Υπάρχουν τρία βασικά στερεότυπα τάξης που ορίζονται στο UML:

Οριο

Οντότητα

Ελεγχος.

4.4.2.2.Οριακές τάξεις

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

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

4.4.2.3.Τάξεις οντοτήτων

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

4.4.2.4.Τάξεις Ελέγχου

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

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

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

4.4.2.5.Γνωρίσματα

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

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

Ένα χαρακτηριστικό μπορεί να έχει τέσσερις πιθανές τιμές για αυτήν την παράμετρο:

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

Ιδιωτικό (κλειστό, μυστικό). Το αντίστοιχο χαρακτηριστικό δεν είναι ορατό σε καμία άλλη κλάση. Ένα ιδιωτικό χαρακτηριστικό συμβολίζεται με ένα "-" σύμφωνα με τον συμβολισμό UML.

Προστατεύεται Ένα τέτοιο χαρακτηριστικό είναι διαθέσιμο μόνο για την ίδια την κλάση και τους απογόνους της. Ο συμβολισμός UML για ένα προστατευμένο χαρακτηριστικό είναι το σύμβολο "#".

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

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

4.4.2.6.Λειτουργίες

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

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

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

Στο UML, οι λειτουργίες έχουν την ακόλουθη σημείωση:

Όνομα πράξης (όρισμα: Τύπος ορίσματος δεδομένων, όρισμα 2: Τύπος ορίσματος 2, ...): Τύπος επιστροφής

Υπάρχουν τέσσερις διαφορετικοί τύποι συναλλαγών που πρέπει να ληφθούν υπόψη:

Πράξεις υλοποίησης;

Λειτουργίες ελέγχου;

Λειτουργίες πρόσβασης.

Βοηθητικές λειτουργίες.

Πράξεις υλοποίησης

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

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

Λειτουργίες ελέγχου

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

Λειτουργίες πρόσβασης

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

Βοηθητικές λειτουργίες

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

Για να προσδιορίσετε τις συναλλαγές, ακολουθήστε τα εξής βήματα:

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

2. Εξετάστε τις λειτουργίες ελέγχου. Ίσως χρειαστεί να προσθέσετε κατασκευαστές και καταστροφείς.

3. Εξετάστε τις λειτουργίες πρόσβασης. Για κάθε χαρακτηριστικό κλάσης με το οποίο θα πρέπει να εργαστούν άλλες κλάσεις, πρέπει να δημιουργήσετε λειτουργίες Get and Set.

4.4.2.7.Συνδέσεις

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

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

Σύλλογος Επικοινωνίας

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

Ρύζι. 10. Επικοινωνιακός σύλλογος

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

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

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

Εθισμός στην επικοινωνία

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

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

Ρύζι. 11. Εθισμός στην επικοινωνία

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

Συνάθροιση συνδέσμων

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

Ρύζι. 11. Συγκέντρωση επικοινωνίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πώς να μάθετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λεξιλόγιο UML

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

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

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

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

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

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

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

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

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

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

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

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

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

Γεια σε όλους! Χρησιμοποιείτε Siri; Αν και αυτός είναι ένας υπέροχος φωνητικός βοηθός με τον οποίο μπορείτε πάντα να μιλήσετε, δεν το κάνω τόσο συχνά. Άλλωστε μέχρι τώρα...

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