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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

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

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

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

Εισαγωγή στην Τεχνολογία Λογισµικού

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

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

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

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

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

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

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

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

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009

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

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

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

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

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

Εισαγωγή στην Τεχνολογία Λογισµικού

Rational Unified Process:

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

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων

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

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

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

Εισαγωγή στην Τεχνολογία Λογισµικού

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

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

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

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

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

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

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

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

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

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

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

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

UML

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

PDF created with pdffactory Pro trial version

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

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

BPMN Abstraction Tool ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

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

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

Ε ΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Transcript:

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

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

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

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

Οι πέντε βασικοί άξονες της 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 5

οµικά στοιχεία της 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 6

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

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

Συσχετίσεις στη 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 9

Σχέσεις διαγραµµάτων στη 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 10

Object Diagrams Τα Object Diagrams δίνουν παράδειγµα εµφάνισης στιγµιότυπων (instances) των κλάσεων και τις µεταξύ τους σχέσεις σε µια συγκεκριµένη χρονική στιγµή. Bob-Ιδιοκτήτης ------------------ Όνοµα: Bob Doe Ηλικία: 32 χρησιµοποιεί κατέχει 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 11

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

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 13

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

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 15

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

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