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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

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

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

Rational Unified Process:

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

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

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

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

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

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

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

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

PDF created with pdffactory Pro trial version

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

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

05 Ανάλυση απαιτήσεων

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

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

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

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Modeling Language)

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

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

Διαγράμματα περιπτώσεων χρήσης

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

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

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

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

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

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

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

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

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

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

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

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

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

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE

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

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

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

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

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

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams)

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

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

Εννοιολογικό Μοντέλο. Conceptual Model

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

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

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

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

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

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

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

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Σχεδίαση Λογισμικού. Σημείωση

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

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

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

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

02 Αντικειμενοστρεφής Προγραμματισμός

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

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

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

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

Μοντελοποίηση Πεδίου

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

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

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

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

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

Το Πρόγραμμα Extend 6 και οι Δυνατότητες του. Μελέτες περίπτωσης.

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

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

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

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

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

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

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

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

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

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

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

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

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Πρόλογος Κεφ.1 Βασικές έννοιες της SDL Κεφ.2 Η SDL ως αντικειμενοστρεφής γλώσσα... 35

Ανάλυση / Σχεδίαση και Υλοποίηση Εφαρμογής Υποβοήθησης Καθηγητών

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

Transcript:

09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Unified Modeling Language UML Γλώσσα μοντελοποίησης γενικής χρήσης που στοχεύει στην παροχή ενός καθιερωμένου τρόπου οπτικοποίησης και επικοινωνίας των σημαντικών χαρακτηριστικών ενός συστήματος λογισμικού. ISO standard 19501:2005 Τελευτία έκδοση 2.5 2015 2

Στοιχεία και χαρακτηριστικά Ενοποιημένη μοντελοποίηση τόσο των απαιτήσεων όσο και του σχεδιασμού του λογισμικού Ανεξάρτητη του πεδίου εφαρμογής και της μεθοδολογίας ανάπτυξης του λογισμικού Είναι μια "γραφική οπτική" γλώσσα δεν είναι αυστηρώς ορισμένη διαφορετικές ερμηνείες ενός μοντέλου δεν καλύπτει όλες τις πιθανές πτυχές μη πλήρης μοντελοποίηση δεν είναι γλώσσα προγραμματισμού 3

Διαγράμματα της UML Το βασικό όχημα έκφρασης των χαρακτηριστικών του υπό μοντελοποίηση συστήματος Μοντελοποίηση τόσο στοιχείων συμπεριφοράς όσο και δομικών στοιχείων 4

5

Μοντελοποίηση συμπεριφοράς Διαγράμματα περιπτώσεων χρήσης Use case diagrams Διαγράμματα δραστηριότητας Activity diagrams Διαγράμματα μηχανής κατάστασης State machine diagrams Διαγράμματα ακολουθίας Sequence diagrams Διαγράμματα επικοινωνίας Communication diagrams Διαγράμματα χρονισμού Timing diagrams 6

Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams Διαγράμματα συστατικών Component diagrams Διαγράμματα πακέτων Package diagrams Διαγράμματα "παράταξης / εγκατάστασης" Deployment diagrams Διαγράμματα σύνθετης δομής Composite structure diagrams 7

Εργαλεία Διάφορα γραφικά εργαλεία ελεύθερα / δωρεάν ή μη : Visio ArgoUML Violet UML editor UMLet κ.ά Δοκιμάστε και επιλέξτε ένα που να ικανοποιεί όλα τα μέλη της ομάδας Προσωπική καθαρά προτίμηση: PlantUML text based δημιουργία UML διαγραμμάτων 8

Μοντελοποίηση συμπεριφοράς 9

Διαγράμματα περιπτώσεων χρήσης Use case diagrams Διαγράμματα αποτύπωσης των σεναρίων χρήσης υποσυστημάτων του λογισμικού ποιος κάνει τι και με ποιο αποτέλεσμα. Κατάλληλα για την υψηλού εννοιολογικά επιπέδουεπικοινωνία της ανάλυσης απαιτήσεων. 10

Βασικά στοιχεία της UML Subject: το μέρος του συστήματος υπό ανάλυση. Actor: ο εξωτερικός χρήστης του υπο συστήματος. Use case: η περίπτωση χρήσης η ενέργεια που εκτελείται, κατηγοριοποιημένη ως "business use case" ή "system use case". Association: η σύνδεση actor με use case, που υποδηλώνει την αντίστοιχη χρήση / επικοινωνία. 11

Επίσης Extend: σχέση μεταξύ περιπτώσεων χρήσης, όπου μία βοηθητική / προαιρετική περίπτωση χρήση "επεκτείνει" μια βασική / κύρια. Include: σχέση μεταξύ περιπτώσεων χρήσης, όπου μια σύνθετη περίπτωση χρήσης μπορεί να περιλαμβάνει πολλές απλούστερες. 12

Παράδειγμα business use case 13

Παράδειγμα system use case 14

Περαιτέρω ανάλυση του View Items 15

Περαιτέρω ανάλυση του Checkout 16

Συγκεντρωτικά https://www.uml diagrams.org/use case reference.html 17

Διαγράμματα δραστηριότητας Activity diagrams Διαγράμματα αποτύπωσης των ροών ελέγχου ή των ροών πληροφορίας με έμφαση στην ακολουθία και τις συνθήκες της ροής. Μια ροή μπορεί να εκκινείται ως αποτέλεσμα μιας άλλης, λόγω κάποιας ενέργειας του χρήστη, κ.ά. Κατάλληλα για την υψηλού εννοιολογικά επιπέδουεπικοινωνία της ροής εκτέλεσης των "συμπεριφορών" λειτουργιών του λογισμικού. 18

Παραδείγματα 1 3 2 4 19

Βασικά στοιχεία της UML Activity: μια παραμετροποιήσιμη λειτουργία / συμπεριφορά του λογισμικού που αναπαρίσταται με κόμβους nodes και ακμές edges. Activity nodes: action, object, control. Activity edges: control flow, object flow. Activity partitions: Μια ομάδα λειτουργιών που μοιράζονται κάποιο κοινό χαρακτηριστικό συνήθως partition = business unit ή actor. 20

Activity nodes Action: ένα συγκεκριμένο "ατομικό" βήμα της υπό σχεδιασμό λειτουργίας. Object: ορίζει τη ροή πληροφορίας αντικειμένων μεταξύ των actions π.χ. Order object. Control: Εναρκτήριος κόμβος, κόμβος απόφασης, κόμβος "διαχωρισμού" fork node, κόμβος "ένωσης" join node, κόμβος "συγχώνευσης" merge node, τελικός κόμβος. 21

Παράδειγμα 22

Επίσης 23

Με partitions συνήθως actors 24

Τέλος 25

Συγκεντρωτικά https://www.uml diagrams.org/activity diagrams reference.html 26

Διαγράμματα μηχανής κατάστασης State machine diagrams Διαγράμματα που αναπαριστούν διακριτές συμπεριφορές ενός μέρους του υπό σχεδιασμού συστήματος μέσω πεπερασμένων μεταβάσεων κατάστασης. Κατάλληλα για την αναπαράσταση ενός πρωτοκόλλου ή τον κύκλο ζωής ενός μέρους του λογισμικού πιθανές καταστάσεις. 27

Παραδείγματα Κύκλος ζωής Πρωτόκολλο 28

Βασικά στοιχεία της UML Κόμβοι κατάστασης state nodes συνδεδεμένοι με ακμές μετάβασης transition edges 29

30

31

Συγκεντρωτικά https://www.uml diagrams.org/state machine diagramsreference.html 32

Διαγράμματα ακολουθίας Sequence diagrams Διαγράμματα που αποτυπώνουν αλληλεπιδράσεις μεταξύ συστατικών μέσω της ανταλλαγής σύγχρονων ή ασύγχρονων μηνυμάτων. Κατάλληλα για την υψηλού αρχιτεκτονικά επιπέδουαποτύπωση των αλληλεπιδράσεων μεταξύ των συστατικών. 33

Παράδειγμα 34

Βασικά στοιχεία της UML Lifeline: οποιοσδήποτε ξεχωριστός συμμέτοχος στην αλληλεπίδραση χρήστης, συστατικό, κ.ά, συνήθως είναι κάποιο στιγμιότυπο μιας οντότητας του συστήματος. Gate: πύλη συσχέτισης ενός μηνύματος από τον "εξωτερικό" κόσμο στον "εσωτερικό" είσοδοι, έξοδοι μηνυμάτων. Message: σύγχρονη/ασύγχρονη κλήση, δημιουργία, διαγραφή, απάντηση. Execution: η διάρκεια εκτέλεσης ενός lifeline. Occurrence: η χρονική στιγμή που λαμβάνει χώρα ένα γεγονός π.χ. λήψη μηνύματος, απόστολη απάντησης, κ.ά. Destruction: η "καταστροφή" του στιγμιοτύπου / lifeline. 35

Παράδειγμα 36

Συγκεντρωτικά https://www.uml diagrams.org/sequence diagrams reference.html 37

Διαγράμματα επικοινωνίας Communication diagrams Διαγράμματα αποτύπωσης των υψηλού αφαιρετικάεπιπέδου αλληλεπιδράσεων μεταξύ μερών ή/και χρηστών του συστήματος. 38

Παράδειγμα 39

40

Διαγράμματα χρονισμού Timing diagrams Διαγράμματα που δείχνουν αλληλεπιδράσεις με έμφαση στο συγχρονισμό ή στη χρονομέτρησή τους. Χρήσιμα για την αποτύπωση του process view μιας αρχιτεκτονικής. 41

Παράδειγμα Website latency 42

43