Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη
Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων. Αποτελείται από γραφικά στοιχεία που συνδυάζονται για να σχηματίσουν διαγράμματα. Χρησιμοποιεί διαγράμματα για να περιγράψει συστήματα: Λογισμικού ή επιχειρησιακά Υπό κατασκευή ή υπαρκτά Αντικειμενοστραφή
Τι είναι η UML Τι είναι μοντέλο; Ένα σχέδιο για την περιγραφή ενός συστήματος Μια αφηρημένη περιγραφή ενός συστήματος Βασίζεται σε έμφαση και παράλειψη Παρουσιάζει τις πολλαπλές όψεις ενός συστήματος Τι είδους γλώσσα; Αποτελείται από Διαγράμματα Οντότητες - Σχέσεις Δεν επιβάλει διαδικασίες, είναι εργαλείο απεικόνισης Γιατί ενοποιημένη; Προήλθε από την ενοποίηση των συμβολισμών που χρησιμοποιούσαν οι μεθοδολογίες Booch, OMT, OOSE κ.λπ. Υλοποιεί την ανάγκη της βιομηχανίας λογισμικού για μια ενιαία γλώσσα μοντελοποίησης.
Που χρησιμοποιείται Οπτική παράσταση Συστήματος (Visualization) Διαμόρφωση προδιαγραφών (Specification) Κατασκευή (Construction) Έλεγχος - Τεκμηρίωση (Documentation)
Είδη διαγραμμάτων UML Δομής Υποσυστήματα Τμήματα Αντικείμενα Αλληλεπιδράσεις Διασυνδέσεις Συμπεριφοράς Ρόλοι χρηστών Ενέργειες Ροή Εργασιών Αλληλεπιδράσεις χρηστών - συστήματος
Παρουσίαση διαγραμμάτων Περίπτωση χρήσης: UML Εφαρμογή πολυμέσων: Παιχνίδι μάχης σε πραγματικό χρόνο στο Internet Υποσυστήματα εφαρμογής που μοντελοποιούνται: Ιστοσελίδα Υποστήριξης Animation Παιχνιδιού Βάση Δεδομένων
Διαγράμματα Περιπτώσεων Χρήσης (Use Case Diagrams) Φάση: ΑΝΑΛΥΣΗ Σενάρια αλληλεπίδρασης χρηστών και συστήματος <<πακέτο>> Εναλλακτικά Σενάρια Σενάρια εξαίρεσης χειρισμού λαθών Παράδειγμα 1: Οι ενέργειες του χρήστη στην ιστοσελίδα του παιχνιδιού
Διαγράμματα Δραστηριότητας (Activity Diagrams) Φάση: ΑΝΑΛΥΣΗ - ΣΧΕΔΙΑΣΗ <<συνθήκη>> Έμφαση στη λειτουργικότητα. Ροή λειτουργιών περιπτώσεων χρήσης Περιγράφει ακολουθία δραστηριοτήτων. Μεγαλύτερο επίπεδο λεπτομέρειας Παράδειγμα 2: Η λειτουργία του παιχνιδιού
Διαγράμματα Τάξεων (Class Diagrams) Φάση: ΑΝΑΛΥΣΗ - ΣΧΕΔΙΑΣΗ <<έχει>> <<πολλά>> <<κληρονομικότητα>> Αντικείμενα (δομικά στοιχεία) που αποτελούν το σύστημα Συσχετίσεις Ιδιότητες Λειτουργίες - Συμπεριφορά Κληρονομικότητα Παράδειγμα 3: Τμήμα από το διάγραμμα τάξης που περιγράφει τα δομικά στοιχεία του παιχνιδιού
Διαγράμματα Τάξεων (Class Diagrams) <<περιέχει>> <<αποτελείται>> Φάση: ΑΝΑΛΥΣΗ - ΣΧΕΔΙΑΣΗ Αντικείμενα (δομικά στοιχεία) που αποτελούν το σύστημα Συσχετίσεις Ιδιότητες Λειτουργίες - Συμπεριφορά Κληρονομικότητα Παράδειγμα 4: Χάρτης πλοήγησης της ιστοσελίδας
Διαγράμματα Ακολουθίας (Sequence Diagrams) Φάση: ΣΧΕΔΙΑΣΗ (ΑΝΑΛΥΣΗ) Αλληλεπίδραση μεταξύ αντικειμένων Ανταλλαγή πληροφοριών (μηνύματα) Γραμμή ζωής (χρόνος) Παράδειγμα 5: Αλληλεπιδράσεις αντικειμένων στη διαδικασία Login
Διαγράμματα Ακολουθίας (Sequence Diagrams) Φάση: ΣΧΕΔΙΑΣΗ (ΑΝΑΛΥΣΗ) Πηγή: http://www.proceedings2006.imcsit.org/pliks/187.pdf Αλληλεπίδραση μεταξύ αντικειμένων Ανταλλαγή πληροφοριών (μηνύματα) Γραμμή ζωής (χρόνος) Παράδειγμα 6: Συγχρονισμός Αντικειμένων που συνθέτουν ένα Video
Τι άλλα διαγράμματα περιέχει η UML Συνεργασίας Τρόπος επικοινωνίας των αντικειμένων Κατάστασης Συμπεριφορά ενός αντικειμένου Συστατικών Αυτοτελείς Μονάδες του συστήματος Πακέτων Χρονισμού Υποσυστήματα και σχέσεις τους Αλληλεπιδράσεις στο χρόνο Δεν είναι υποχρεωτικό να χρησιμοποιηθούν όλα τα διαγράμματα Η UML εξελίσσεται με νέες εκδόσεις
Ανάλυση και σχεδίαση εφαρμογών πολυμέσων με τη χρήση της UML
Πλεονεκτήματα χρήσης UML Από την ύπαρξη μοντέλου Το σύστημα αναπτύσσεται με βάση προσυμφωνημένα σχέδια Καλύτερη επικοινωνία με τους χρήστες - οπτικοποίηση Μειώνει τον κίνδυνο λαθών Διευκολύνει την εμπλοκή νέων ατόμων στην ομάδα ανάπτυξης Διευκολύνει την συντήρηση του συστήματος Από τη χρήση της UML Κοινή γλώσσα επικοινωνίας συντελεστών έργου Παρουσιάζονται πολλαπλές όψεις του συστήματος Ενιαία πλατφόρμα μοντελοποίησης Παρουσιάζει το σύστημα με αντικειμενοστρεφή προσέγγιση Ευρείας αποδοχής (Object Management Group) - εξελισσόμενη
Εργαλεία ανάπτυξης UML Από δωρεάν έως χιλιάδες ευρώ Απλή αναπαράσταση διαγραμμάτων ή πλήρης διαχείριση μοντέλου Υποστήριξη ενός ή πολλών χρηστών Παραγωγή τεκμηρίωσης σε αναφορές Εργαλεία CASE για παραγωγή κώδικα από ένα ενιαίο μοντέλο σε διαφορετικές γλώσσες (Java, C++, SQL, HTML) Reverse Engineering
Περιβάλλον εργαλείου ανάπτυξης UML Τα διαγράμματα της παρουσίασης δημιουργήθηκαν με τη χρήση του ελεύθερου λογισμικού StarUml
Βιβλία για μελέτη Fowler Μ, Scott Κ, Εισαγωγή στη UML, Κλειδάριθμος Bώρος Σ, Βώρος Α, Unified Modeling Language- Βασικές αρχές Αντικειμενοστρεφούς Σχεδίασης Συστημάτων, Νέες Τεχνολογίες Grassle P,Bauman H,Bauman P, UML in Action, PACKT Connalen J, Building Web Appilications with UML, Addison- Wesley OMG Unified Language Specification, http://www.omg.org/ Συγκριτικός πίνακας εργαλείων UML http://en.wikipedia.org/wiki/list_of_uml_tools