Τι είναι η UML

Η UML είναι μια γλώσσα που χρησιμοποιείται για:

  • Τον καθορισμό (specifying)
  • Την εικονική παράσταση (visualizing)
  • Την τεκμηρίωση (documenting)

των δομικών στοιχείων ενός αντικειμενοστρεφούς συστήματος.

Η UML αποτυπώνει (απεικονίζει):

  • Τη στατική δομή ενός συστήματος
  • Τη δυναμική συμπεριφορά ενός συστήματος

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

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

Οι πέντε βασικοί άξονες της UML

  1. Συστατικά (Στοιχεία) του μοντέλου
  2. Συσχετίσεις
  3. Μηχανισμοί
  4. Διαγράμματα
  5. Αρχιτεκτονικές όψεις

Στοιχεία (ή Διαγραμματικά Στοιχεία) μοντέλου σύμφωνα με τη UML

  • Κλάση (Class)
    Ενα σύνολο αντικειμένων που έχουν την ίδια δομή και συμπεριφορά
  • Περίπτωση χρήσης (use case)
    Συμπεριφορά ενός συνόλου αντικειμένων μέσω συνεργασίας
  • Κατάσταση/λειτουργία (state)
    Τρέχουσα κατάσταση αντικειμένων/δραστηριότητα, όπου ικανοποιεί κάποιες συνθήκες, αναμένει κάποιο γεγονός
  • Διαπροσωπεία (Interface)
    Ένα σύνολο από λειτουργίες που ορίζουν την εξωτερική συμπεριφορά ενός αντικειμένου
  • Συστατικό μέρος (component)
    Ενα επαναχρησιμοποιήσιμο τμήμα, με λογική και φυσική υπόσταση
  • Κόμβος (node)
    Υλικό όπου αποθηκεύεται ή/και εκτελείται το λογισμικό
  • Πακέτο (Package)
    Μια αποθήκη συστατικών γενικής χρήσης για την οργάνωση άλλων δομικών στοιχείων ή και άλλων πακέτων
  • Υποσύστημα (subsystem)
    Μια μονάδα στην ιεραρχική αποσύνδεση ενός μεγάλου συτήματος-επικοινωνεί με το περιβάλλον μέσω διαπροσωπειών
  • Σημείωση
    Σχόλιο ή επεξήγηση

Συσχετίσεις

  • Γενική συσχέτιση (association)
    Μια σημασιολογική σύνδεση μεταξύ δύο αντικειμένων
  • Γενίκευση (generalization)
    Μια σχέση μεταξύ συστατικού και υποσυστατικών τα οποία το εξειδικεύουν
  • Εξάρτηση (dependency)
    Η χρήση ενός συστατικού από ένα άλλο
  • Εκλέπτυνση-ραφινάρισμα (refinement)
    Μια διαδοχή επιπέδων αφαίρεσης

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

  • Κλάσεων (Class)
  • Περιπτώσεων χρήσης (Use cases)
  • Κατάστασης (State)
  • Ακολουθίας (Sequence)
  • Συνεργασίας (Collaboration)
  • Δραστηριότητας (Activity)
  • Συστατικών (Component)
  • Ανάπτυξης (Deployment)

Είδη Διαγραμμάτων UML

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

Διαγράμματα Δομής

  • Διάγραμμα κλάσεων (Class Diagram) Δομικά στοιχεία του μοντέλου:κλάσεις και συσχετίσεις
  • Διάγραμμα αντικειμένων (Object Diagram) Δομές δεδομένων
  • Διάγραμμα πακέτων (Package diagram) Οργάνωση υψηλού επιπέδου αφαίρεσης

Δυναμικά Διαγράμματα

  • Διάγραμμα περιπτώσεων χρήσης (Use case Diagram) Λειτουργικότητα «προς τα έξω»
  • Διάγραμμα ακολουθίας (Sequence Diagram) Χρονικές ακολουθίες αλληλεπιδρώντων αντικειμέων
  • Διάγραμμα συνεργασίας (Collaboration Diagram) Αλληλεπιδράσεις μέσα σε ένα σύνολο αντικειμέων
  • Διάγραμμα καταστάσεων (State transition Diagram) Ο κύκλος ζωής ενός αντικειμένου
  • Διάγραμμα δραστηριοτήτων (Activity Diagram) Ροή ελέγχου μέσα σε ένα σύνολο λειτουργιών

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

  • Διάγραμμα συστατικών (Component Diagram) Εξαρτήσεις μεταξύ μονάδων λογισμικού
  • Διάγραμμα Ανάπτυξης (Deployment Diagram) Κατανομή και αλληλεπίδραση συστατικών και αντικειμένων μεταξύ υπολογιστικών μονάδων

Επεκτείνοντας την UML

  • Στερεότυπo Ορίζει ένα νέο είδος στοιχείου μοντέλου βασισμένο σ` ένα υπάρχον στοιχείο μοντέλου. Είναι λοιπόν σαν ένα υπάρχον στοιχείο μοντέλου , με κάποια επιπλέον στοιχεία
  • Tagged values Τα στοιχεία μπορούν να έχουν ιδιότητες που περιέχουν ζευγάρια τιμών σχετικά με επιπλέον πληροφορίες
  • Περιορισμοί Θέτουν κάποια βάση που περιορίζει είτε τη χρήση του στοιχείου είτε τη σημασία του