Το λήμμα παραθέτει τις πηγές του αόριστα, χωρίς παραπομπές. |
Η Ενοποιημένη Γλώσσα Σχεδίασης Προτύπων (αγγλ. Unified Modeling Language (UML)), είναι η πρότυπη γλώσσα σχεδίασης και αποτύπωσης προτύπων στη μηχανική λογισμικού. Χρησιμοποιείται για τη γραφική απεικόνιση, τον προσδιορισμό, την κατασκευή και την τεκμηρίωση των στοιχείων ενός συστήματος λογισμικού. Μπορεί να χρησιμοποιηθεί σε διάφορες φάσεις ανάπτυξης, από την ανάλυση απαιτήσεων ως τον έλεγχο ενός ολοκληρωμένου συστήματος. Αποτελείται από ένα σύνολο προσυμφωνημένων όρων, συμβόλων και διαγραμμάτων που επιτρέπουν:
Στα διαγράμματα κλάσεων χρησιμοποιούνται γεωμετρικά σχήματα ως συμβολισμοί για τα αντικείμενα, τις κλάσεις και τις διασυνδέσεις. Τα αντικείμενα της ίδιας κλάσης αναπαριστώνται με ένα μόνο γεωμετρικό σχήμα. Γραμμές διαφόρων τύπων χρησιμοποιούνται για να συνδέουν αυτά τα σχήματα και να υποδηλώνουν έτσι τον τρόπο που κληρονομούν τις ιδιότητές τους το ένα από το άλλο, συνεργάζονται ή εξαρτώνται μεταξύ τους. Για παράδειγμα, όταν ένα αντικείμενο χρησιμοποιεί λογισμικό κάποιας άλλης κλάσης (π.χ. καλώντας μία μέθοδό της), δημιουργείται μία «εξάρτηση» (αγγλ. dependency) μεταξύ τους η οποία αναπαρίσταται με μία διακεκομμένη γραμμή. Αυτή η εξάρτηση μπορεί να είναι «συσχέτιση» (αγγλ. association), ένας τύπος εξάρτησης που υπονοεί πραγματική συνύπαρξη στη μνήμη στιγμιοτύπων των συμμετεχόντων κλάσεων κατά τον χρόνο εκτέλεσης, «συνάθροιση» (αγγλ. aggregation), ένας τύπος συσχέτισης ο οποίος σημαίνει ότι το ένα αντικείμενο μπορεί να περιέχει στιγμιότυπα της άλλης κλάσης ως γνωρίσματα του, ή «σύνθεση» (αγγλ. composition), ένας πιο ισχυρός τύπος συνάθροισης που υπονοεί πως ο χρόνος ζωής των αντικειμένων είναι κοινός (δημιουργούνται και καταστρέφονται στη μνήμη ταυτόχρονα). Καθεμία από αυτές τις σχέσεις συμβολίζεται οπτικά με έναν διαφορετικό τύπο γραμμής μεταξύ των συμμετεχόντων κλάσεων, ενώ μπορεί να υπάρχουν και εξαρτήσεις οι οποίες δεν είναι καν συσχετίσεις (π.χ. όταν ένα αντικείμενο καλεί μία στατική μέθοδο κάποιας κλάσης).