Εισαγωγή στη UML. Περιεχόμενα. Γενικά χαρακτηριστικά. Στοιχεία μοντέλων. Συσχετίσεις. Διαγράμματα. Παραδείγματα. Γλώσσες Προδιαγραφής 1

Σχετικά έγγραφα
Εισαγωγή στη UML. Περιεχόµενα. Γενικά χαρακτηριστικά. Στοιχεία µοντέλων. Συσχετίσεις. ιαγράµµατα. Παραδείγµατα. Γλώσσες Προδιαγραφής

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Διαχείριση Πληροφοριακών Συστημάτων

Τι είναι η UML. H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά

Εισαγωγή στη UML ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ 1

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος)

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

UML: Unified modelling language

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στην UML. Βασίλειος Βεσκούκης

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Εισαγωγή στη γλώσσα µοντελοποίησης UML

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Περιεχόμενο του μαθήματος

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Τεχνολογία Λογισμικού

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Περιεχόμενο του μαθήματος

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

Τεχνολογία Λογισμικού

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Ανάλυση Περιπτώσεων Χρήσης

Εισαγωγή στη γλώσσα UML

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Αρχιτεκτονική Λογισμικού

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Ανάλυση Πληροφοριακών Συστημάτων. «Διαγράμματα περιπτώσεων χρήσης» Βασίλειος Καρακόιδας

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Διαγράμματα Κλάσεων στη Σχεδίαση

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Μέθοδοι μοντελοποίησης

Τα διαγράµµατα συστατικών

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec06 (Εργαστήριο) 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Τα διαγράµµατα κλάσεων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και. Τεχνολογίας Υπολογιστών της Πολυτεχνικής σχολής του Πανεπιστημίου Πατρών:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Ειδικά θέματα τεχνολογίας λογισμικού

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

Τα διαγράµµατα ακολουθίας

ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ

Σχεδιασµός βασισµένος σε συνιστώσες

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

περιεχόμενα παρουσίασης

Διάγραμμα Κλάσεων. Class Diagram

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

UML

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

Περιεχόμενο του μαθήματος

Μοτίβα Σχεδίασης (Design Patterns)

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Τεχνολογία Λογισμικού

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ

PDF created with pdffactory Pro trial version

Τα διαγράµµατα πακέτων

Περιεχόμενα και Διάρθρωση. Interaction Diagrams

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και

Μοντελοποίηση ροών εργασίας

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (Πάτρας) ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ (Εργαστήριο) Δρ. Χρήστος Πιερρακέας

Transcript:

Εισαγωγή στη UML Γλώσσες Προδιαγραφής 1 Περιεχόμενα Γενικά χαρακτηριστικά Στοιχεία μοντέλων Συσχετίσεις Διαγράμματα Παραδείγματα Γλώσσες Προδιαγραφής 2

Τι είναι μοντέλο? Αποτελεί µια αφηρηµένη περιγραφή ενός φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την κατασκευή ενός συστήµατος. Βοηθάει στην κατανόηση ενός µεγάλου µεγέθους συστήµατος. Βοηθάει στην επικοινωνία των µελών της ομάδας που αναπτύσσει το σύστηµα. Γλώσσες Προδιαγραφής 3 Τι είναι η UML? Η UML είναι μια οπτική αντικειµενοστρεφής γλώσσα µοντελοποίησης που χρησιµοποιείται για: Απεικόνιση (visualization) Προδιαγραφή (specification) Τεκµηρίωση (documentation) Κατασκευή (construction) των δοµικών συστατικών ενός συστήµατος (λογισµικού ή όχι). Γλώσσες Προδιαγραφής 4

Χαρακτηριστικά της UML (I) Είναι ιδιαίτερα εκφραστική. Σηµασιολογικά, είναι εκτενής. Υποστηρίζει τη σηµασιολογία τύπων και µοντέλων για όλα τα µοντέλα ενός συστήµατος. Σε επίπεδο βασικών αρχών, είναι µικρή και απλή. ιακρίνουµε πέντε βασικούς άξονες. Είναι επεκτάσιµη. Υπάρχει η δυνατότητα εµπλουτισµού του µετα-µοντέλου µε κλάσεις, ιδιότητες και σηµασιολογία. Είναι επακριβώς ορισµένη με βάση τα δοµικά συστατικά ενός αντικειµενοστρεφούς συστήµατος. Προήλθε από την ενοποίηση των συµβολισµών που χρησιµοποιούσαν οι µεθοδολογίες Booch, OMT, OOSE κ.λπ. Γλώσσες Προδιαγραφής 5 Χαρακτηριστικά της UML (II) Ενσωµατώνει τις ιδέες καλής πρακτικής από τη βιοµηχανία λογισµικού. Είναι σήµερα βιοµηχανικό πρότυπο και αναπτύχθηκε στο πλαίσιο του οργανισµού OMG. Υλοποιεί την ανάγκη της βιοµηχανίας λογισµικού για µια ενιαία γλώσσα µοντελοποίησης. Αντιµετώπιση σηµερινών και βραχυπρόθεσµων προβληµάτων στην ανάπτυξη λογισµικού: Κλίµακα Γλώσσες: Java, C++, Smalltalk, Ada, Visual Basic Πολυεπεξεργασία και παραλληλία Πρότυπα Λογισµικού (Patterns) Ψηφίδες λογισµικού (Componentware) Μοντελοποίηση επιχειρησιακής πρακτικής Γλώσσες Προδιαγραφής 6

Είδη συστηµάτων που µοντελοποιούνται µε τη UML Συστήµατα µε έµφαση στο λογισµικό (software-intensive systems) Επιχειρησιακά συστήµατα (business systems) Συστήµατα που δεν περιέχουν λογισµικό (non-software systems) Γλώσσες Προδιαγραφής 7 Χρήση της UML UML Πληροφοριακά συστήματα Κατανεμημένα συστήματα Συστήματα πραγματικού χρόνου Τεχνολογικά συστήματα Συστήματα επιχειρήσεων Γλώσσες Προδιαγραφής 8

Οι πέντε βασικοί άξονες της UML Στοιχεία του µοντέλου (model elements) Συσχετίσεις (relationships) Μηχανισµοί (mechanisms) ιαγράµµατα (diagrams) Αρχιτεκτονικές όψεις (architectural views) Γλώσσες Προδιαγραφής 9 Μια κατηγοριοποίηση των στοιχείων της UML Στοιχεία της UML Απλά Σύνθετα Δομικά (Structural) Κλάση (Class) Ενεργή Κλάση (Active Class) Περίπτωση Χρήσης (Use Case) Διεπιφάνεια (Interface) Συνιστώσα (Component) Συνεργασία (Collaboration) Κόμβος (Node) Ενεργών (Actor) Πράγματα (Things) Συμπεριφοράς (Behavioral) Μετάβαση (Transition) Κατάσταση (State) Δραστηριότητα (Activity) Συσχετίσεις (Relationships) Εξάρτηση (Dependency) Εταιρικότητα (Association) Γενίκευση (Generalization) Ομαδοποίησης (Grouping) Επεξηγηματικά (Annotation) Πακέτο (Package) Σημείωση (Note) Μοντέλο (Model) Υποσύστημα (Subsystem) Σύστημα (System) Πλαίσιο (Framework) Διαγράμματα (Diagrams) Περιπτώσεων Χρήσης (Use Case) Κλάσεων (Class) Αντικειμένων (Object) Ακολουθιακά (Sequence) Συνεργατικά (Collaboration) Καταστάσεων (State Chart) Δραστηριοτήτων (Activity) Συνιστωσών (Component) Παραταξιακά (Deployment) Γλώσσες Προδιαγραφής 10

Δομικά στοιχεία της UML (I) Κλάση (class) ClassName Ενα σύνολο αντικειµένων µε κοινή δοµή και συµπεριφορά. Attributes Operations Ενεργή κλάση (active class) Μια κλάση που περιγράφει µια διεργασία ή ένα νήµα εκτέλεσης και αλληλεπιδρά με άλλες. Περίπτωση χρήσης (use case) Μια λειτουργία που επιτελεί ένα σύστηµα και είναι διαθέσιµη στο χρήστη. Είναι συμπεριφορά του συστήματος που συνεπάγεται τη συνεργασία ενός συνόλου αντικειµένων. ιεπιφάνεια (interface) Ένα σύνολο από λειτουργίες που ορίζουν την εξωτερική συµπεριφορά ενός αντικειµένου. ClassName Attributes Operations i i Γλώσσες Προδιαγραφής 11 Δομικά στοιχεία στη UML (II) Συνιστώσα (component) Ένα φυσικό και επαναχρησιµοποιήσιµο τµήµα ενός συστήµατος, µε λογική και φυσική υπόσταση που συνήθως υλοποιεί κάποιες διεπιφάνειες (interfaces). Συνεργασία (collaboration) Η περιγραφή µιας διάδρασης µεταξύ ενός συνόλου αντικειµένων. Κόµβος (node) Ένας υπολογιστικός πόρος που έχει κάποια µνήµη και υπολογιστική ικανότητα, οπότε εκεί αποθηκεύεται ή/και εκτελείται το λογισµικό. Ενεργών (actor) Εξωτερική του συστήματος οντότητα που χρησιμοποιεί τη λειτουργικότητα και τις διεπιφάνειές του. vidgeneral : vidgeneral Γλώσσες Προδιαγραφής 12

Στοιχεία συμπεριφοράς στη UML Κατάσταση (state) Μια συνθήκη ή περίπτωση στο χρόνο ζωής ενός αντικειµένου, όπου ικανοποιεί κάποιους περιορισμούς, εκτελεί κάποια δραστηριότητα ή αναµένει κάποιο γεγονός. Μετάβαση (transition) Μια σχέση µεταξύ δύο καταστάσεων ενός αντικειµένου που υποδηλώνει αλλαγή στην κατάσταση του αντικειµένου µε την εµφάνιση ενός γεγονότος. ραστηριότητα (activity) Μια εκτέλεση λειτουργίας κατά κατά τη διάρκεια ζωής ενός αντικείµενου. Γλώσσες Προδιαγραφής 13 Στοιχεία ομαδοποίησης στη UML Πακέτο (package) Ένα δοµικό στοιχείο γενικής χρήσης για την οργάνωση άλλων δοµικών στοιχείων, διαγραµµάτων ή και άλλων πακέτων της UML σε οµάδες. ::KM Υποσύστηµα (subsystem) Μια µονάδα στην ιεραρχική αποσύνθεση ενός µεγάλου συστήµατος. Επικοινωνεί µε το περιβάλλον του µέσω διαπροσωπειών. <<subsystem>> ::KM Μοντέλο (model) Μια όψη του συστήµατος. <<model>> ::KM Γλώσσες Προδιαγραφής 14

Επεξηγηματικά στοιχεία της UML Σηµείωση (note) Ένα δοµικό στοιχείο κειµενικού σχολιασµού για την περιγραφή ή επεξήγηση ενός άλλου δοµικού στοιχείου ή µιας οµάδας δοµικών στοιχείων. Αποτελεί σχόλιο ή επεξήγηση ή κείµενο αναφοράς. Γλώσσες Προδιαγραφής 15 Συσχετίσεις στη UML (I) Συσχέτιση (Association) Μια δοµική σχέση που περιγράφει ένα σύνολο συνδέσεων µεταξύ αντικειµένων. FacultyMemeber Department Εξάρτηση (Dependency) Μια σχέση µεταξύ δυο δοµικών στοιχείων, όπου µια αλλαγή στο πρώτο επιδρά στο δεύτερο. Course FacultyMemeber Γενίκευση (Generalization) FacultyMemeber Μια σχέση µεταξύ ενός δοµικού στοιχείου (πατέρας) και ενός δεύτερου (παιδί) που εξειδικεύει το πρώτο. Lecturer AssistantProf AssociateProf Professor Γλώσσες Προδιαγραφής 16

Συσχετίσεις στη UML (II) Συσσωμάτωση (Aggregation) Μια σχέση µεταξύ δυο δοµικών στοιχείων, όπου το πρώτο μπορεί να περιέχει το δεύτερο. Text Format Σύνθεση (Composition) Μια σχέση µεταξύ δυο δοµικών στοιχείων, όπου το πρώτο εντάσσεται αναπόσπαστα στο δεύτερο και δεν μπορεί να ανήκει σε κανένα άλλο του ιδίου τύπου. Bicycle Wheel Πραγµατοποίηση (Realization) Μια σχέση µεταξύ δυο δοµικών στοιχείων, όπου το πρώτο προδιαγράφει µια συµπεριφορά και το δεύτερο την υλοποιεί. Specification SpecRealisation Γλώσσες Προδιαγραφής 17 Τύποι διαγραμμάτων στη UML Δομικά Διαγράμματα (Structural Diagrams): Περιγράφουν την εσωτερική λογική δοµή ενός συστήµατος, δηλαδή τα συστατικά του και τις σχέσεις µεταξύ τους. Διάγραμμα Κλάσεων (Class Diagram) Διάγραμμα Αντικειμένων (Object Diagram) Διάγραμμα Συνιστωσών (Component Diagram) Παραταξιακό Διάγραμμα (Deployment Diagram) Διαγράμματα Συμπεριφοράς (Behavior Diagrams): Περιγράφουν τη δυναµική συµπεριφορά ενός συστήµατος, δηλαδή την απόκρισή του σε γεγονότα του περιβάλλοντός του. Διάγραμμα Περιπτώσεων Χρήσης (Use Case Diagram) Διάγραμμα Αλληλουχίας (Sequence Diagram) Διάγραμμα Δραστηριοτήτων (Activity Diagram) Διάγραμμα Συνεργασίας (Collaboration Diagram) Διάγραμμα Καταστάσεων (Statechart Diagram) Διαγράμματα Διαχείρισης Μοντέλου (Model Management Diagrams): Περιγράφουν τη φυσική δοµή ενός συστήµατος, δηλαδή τις µονάδες λογισµικού που το αποτελούν, σε όρους περιβάλλοντος υλοποίησης. Διάγραμμα Πακέτων (Package Diagram) Διάγραμμα Υποσυστημάτων (Subsystem Diagram) Διάγραμμα Μοντέλων (Model Diagram) Γλώσσες Προδιαγραφής 18

Σχέσεις διαγραμμάτων στη UML workflows Use Case Diagrams scenarios Activity Diagrams inter-class behavior structuring structures Class Diagrams Sequence Diagrams interaction sequences between objects intra-class behavior Package Diagrams State Diagrams Γλώσσες Προδιαγραφής 19 Class Diagrams Τα Class Diagrams παρουσιάζουν κάποια στατικά στοιχεία µοντελοποίησης και τις σχέσεις µεταξύ τους. ΙΔΙΟΚΤΗΤΗΣ ΥΠΟΛΟΓΙΣΤΗΣ Όνομα : Συμβολοσειρά Ηλικία : Ακέραιος κατέχει 0..1 1..* Όνομα : Συμβολοσειρά Μνήμη : Ακέραιος Όπως έχει ήδη αναφερθεί, οι κλάσεις μπορεί να συσχετίζονται με σχέσεις εξάρτησης, συσχέτισης, γενίκευσης, συσσωμάτωσης, σύνθεσης, πραγματοποίησης,... Γλώσσες Προδιαγραφής 20

Τα Object Diagrams δίνουν παράδειγμα εμφάνισης στιγμιότυπων (instances) των κλάσεων και τις μεταξύ τους σχέσεις σε µια συγκεκριµένη χρονική στιγµή. Bob-Ιδιοκτήτης ------------------ Όνομα: Bob Doe Ηλικία: 32 Object Diagrams Bob s job PC Computer ------------------ Όνομα: Dell4 Μνήμη: 1024 Bob s Home PC Computer ------------------ Όνομα: Pentium Μνήμη: 512 Γλώσσες Προδιαγραφής 21 Component Diagrams Τα Component Diagrams δείχνουν τα συστατικά μέρη του κώδικα και την φυσική τους δομή. Παρουσιάζουν την οργάνωση και τις εξαρτήσεις των µελών ενός συνόλου συνιστωσών. Window Handler (wind.cpp) Comm Handler (comm.hnd) Window Handler (wind.obj) Graphic lib (graphic.dll) Main Class (main.cpp) Comm Handler (commhnd.obj) Main Class (main.obj) Client Program (client.exe) Γλώσσες Προδιαγραφής 22

Deployment Diagrams Client A: Compaq Pro PC Τα Deployment Diagrams (i) παρουσιάζουν την τοπολογία των υπολογιστικών κόµβων ενός συστήµατος και τύπο των συνδέσεων, ενώ (ii) περιέχουν εκτελέσιμα αντικείμενα που φανερώνουν ποιες μονάδες λογισμικού εκτελούνται σε κάθε κόμβο. Application Server: Silicon Graphics «Decnet» Database SERVER: VAX Client B: Compaq Pro PC Γλώσσες Προδιαγραφής 23 Use Case Diagrams Τα Use Case Diagrams περιγράφουν τη λειτουργικότητα του συστήματος όπως αυτή γίνεται αντιληπτή από εξωτερικές οντότητες (Actors). Υπογραφή ασφάλειας Πελάτης Διατήρηση στοιχείων ασφαλειών πελατών Επεξεργασία στοιχείων πελατών Πράκτορας ασφαλειών Γλώσσες Προδιαγραφής 24

Sequence Diagrams Τα Sequence Diagrams παρουσιάζουν μια αλληλεπίδραση αντικειµένων µε έµφαση στην χρονική σειρά ανταλλαγής µηνυµάτων. Print(file) :Computer :PrinterServer :Printer :Queue Print(file) [printer free] Print(file) [printer busy] Store(file) Γλώσσες Προδιαγραφής 25 Collaboration Diagrams Τα Collaboration Diagrams παρουσιάζουν μια αλληλεπίδραση αντικειµένων µε έµφαση στη δοµική τους οργάνωση. :Computer :Queue 1:Print(file) [printer busy] 2.2: Store(file) :PrinterServer [printer free] 2.1: Print(file) :Printer Γλώσσες Προδιαγραφής 26

Διαφορές Sequence Diagrams & Collaboration Diagrams Sequence diagram : Δείχνει την ακολουθία μηνυμάτων ανάμεσα στα αντικείμενα, με την πάροδο του χρόνου. Collaboration diagram: Δίνει μεγαλύτερη έμφαση στο περιεχόμενο και στις σχέσεις μεταξύ των αντικειμένων. Γλώσσες Προδιαγραφής 27 Activity Diagrams Τα Activity Diagrams (i) παρουσιάζουν την ακολουθιακή ροή των δραστηριοτήτων και (ii) περιέχουν προσδιορισμούς των μηνυμάτων που στέλνονται. ΠαράθυροΠελάτη.Εκτύπωση ( ) [ Δίσκος γεμάτος ] Εμφάνισε μήνυμα «Δίσκος γεμάτος» [ Ελεύθερος χώρος δίσκου ] Εμφάνισε μήνυμα «Εκτύπωση» στην οθόνη Μετακίνησε κουτιά μηνυμάτων Εκτυπωτής.Εκτύπωση() Δημιούργησε postscript αρχείου Γλώσσες Προδιαγραφής 28

Statechart Diagrams Τα Statechart Diagrams παρουσιάζουν τις καταστάσεις του κύκλου ζωής των αντικειµένων. On 1 st floor Go up (floor) Moving up arrived Moving to 1 st floor arrived Go up (floor) Moving down arrived Idle Go down (floor) Go to 1 st floor Γλώσσες Προδιαγραφής Time out 29 Μοντελοποιώντας με τη UML ΦΑΣΗ ΑΝΑΛΥΣΗΣ Εδώ αναλύονται οι απαιτήσεις του συστήματος. ΦΑΣΗ ΣΧΕΔΙΑΣΗΣ Eπεκτείνει το μοντέλο ανάλυσης σε μια λειτουργική τεχνική λύση. ΦΑΣΗ ΠΡΑΓΜΑΤΩΣΗΣ Εδώ εξηγείται πως το σύστημα αναπτύσσεται σε φυσική αρχιτεκτονική. ΦΑΣΗ ΥΛΟΠΟΙΗΣΗΣ Το μοντέλο είναι τώρα ο κώδικας του προγράμματος, ο οποίος υλοποιείται από το σύστημα. Γλώσσες Προδιαγραφής 30

Αντιστοιχία διαγραμμάτων στις διάφορες φάσεις ανάπτυξης συστήματος Φάσεις Φάση ανάλυσης Διαγράμματα Use-case, class, activity Φάση σχεδίασης Φάση υλοποίησης Φάση πραγμάτωσης Class, sequence, state, activity, component Εδώ δημιουργούνται ελάχιστα διαγράμματα. Deployment, sequence, collaboration Γλώσσες Προδιαγραφής 31 Λειτουργίες των εργαλείων μοντελοποίησης (Case Tools)(I) Σχεδιασμός διαγραμμάτων που εξασφαλίζουν την σωστή χρήστη των στοιχείων του μοντέλου. Αποθήκευση δεδομένων. Αν το όνομα μιας κλάσης αλλάζει σ ένα διάγραμμα, η αλλαγή αυτή διαδίδεται και στα υπόλοιπα. Υποστήριξη διάδοσης ενός στοιχείου από ένα διάγραμμα σε ένα άλλο κι επέκταση της περιγραφής του στοιχείου. Υποστήριξη πολλών χρηστών. Δίνει την δυνατότητα να δουλεύουν πολλοί χρήστες ταυτόχρονα. Δημιουργία κώδικα Γλώσσες Προδιαγραφής 32

Λειτουργίες των εργαλείων μοντελοποίησης (Case Tools) (II) Αντίστροφη παραγωγή, δηλαδή δυνατότητα παραγωγής μοντέλων από τον κώδικα (reverse engineering). Συμβατότητα με άλλα εργαλεία όπως editors, μεταγλωττιστές κι άλλα επιχειρησιακά εργαλεία. Κάλυψη όλων των επιπέδων ανάπτυξης του συστήματος, από το επίπεδο περιγραφής του συστήματος στο επίπεδο κώδικα. Επικοινωνία ανάμεσα στα μοντέλα. Ένα διάγραμμα σε κάποιο μοντέλο θα πρέπει να έχει τη δυνατότητα να εισάγεται από το ένα μοντέλο στο άλλο. Γλώσσες Προδιαγραφής 33 Παραδείγματα (I) Γλώσσες Προδιαγραφής 34

Παραδείγματα (II) Γλώσσες Προδιαγραφής 35 Παραδείγματα (III) Γλώσσες Προδιαγραφής 36

Παραδείγματα (IV) ΠΡΟΣΟΧΗ: Το συγκεκριμένο παράδειγμα αναπαριστάται καλύτερα με σχέση composition και όχι aggregation που φαίνεται δίπλα! Η πολλαπλότητα 1 που καταγράφεται όμως καθιστά ορθή και αυτήν την προσέγγιση. Γλώσσες Προδιαγραφής 37 Παραδείγματα (V) Γλώσσες Προδιαγραφής 38

Παραδείγματα (VI) Γλώσσες Προδιαγραφής 39 Παραδείγματα (VII) Γλώσσες Προδιαγραφής 40

Παραδείγματα (VIII) Γλώσσες Προδιαγραφής 41 Παραδείγματα (IX) Γλώσσες Προδιαγραφής 42

Παραδείγματα (X) Γλώσσες Προδιαγραφής 43 Παραδείγματα (XI) Γλώσσες Προδιαγραφής 44

Παραδείγματα (XII) Γλώσσες Προδιαγραφής 45 Παραδείγματα (XIII) Γλώσσες Προδιαγραφής 46

Παραδείγματα (XIV) Γλώσσες Προδιαγραφής 47 Παραδείγματα (XV) Γλώσσες Προδιαγραφής 48

Παραδείγματα (XVI) Γλώσσες Προδιαγραφής 49 Παραδείγματα (XVII) Γλώσσες Προδιαγραφής 50

Παραδείγματα (XVIII) Γλώσσες Προδιαγραφής 51 Παραδείγματα (XIX) Γλώσσες Προδιαγραφής 52