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

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

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

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

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

UML: Unified modelling language

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

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

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

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

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

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

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

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

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

UML

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

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

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

7. Δομές Ελέγχου (Control Statements)

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

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

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

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

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

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

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

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

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

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

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

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

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

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

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

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

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

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

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer

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

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

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

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

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

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

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

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

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

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

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

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

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

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

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

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

1 η ΑΣΚΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ (ομαδική: 2 ή 3 ατόμων) (Ημερομηνία Παράδοσης: 18/11/2017) (Ζητούμενο)

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

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

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

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

PDF created with pdffactory Pro trial version

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

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

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

Μοντελοποίηση Συστημάτων

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

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

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

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

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

Transcript:

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Mdeling Language) Χειμερινό εξάμηνο 2016 Πέτρος Κωμοδρόμος kmdrms@ucy.ac.cy http://www.eng.ucy.ac.cy/petrs 1

Θέματα Εισαγωγή στη Unified Mdeling Language (UML) Διαγράμματα UML Use case diagrams (διαγράμματα χρήσεων) Class diagrams (διαγράμματα κλάσεων) State machine diagrams (διαγράμματα κατάστασης) Activity diagrams (διαγράμματα ενεργειών) Interactin diagrams (διαγράμματα αλληλεπιδράσεων) Cmmunicatin diagrams (διαγράμματα επικοινωνίας) Sequence diagrams (διαγράμματα ακολουθίας) Deplyment diagrams (διαγράμματα εγκατάστασης) Package diagrams (διαγράμματα πακέτων) Παράδειγμα χρήσης UML για την ανάπτυξη ενός προγράμματος ATM 2

Unified Mdeling Language (UML) Παρέχει ένα γραφικό τρόπο καθορισμού, παρουσίασης του σχεδιασμού και τρόπου υλοποίησης ενός λογισμικού Βασικό εργαλείο στην ανάπτυξη αντικειμενοστραφή λογισμικού Χρήση βασικών διαγραμμάτων: Class diagrams (διαγράμματα κλάσεων) Περιγράφουν τις κλάσεις ενός συστήματος: Use case diagrams (διαγράμματα χρήσεων) Περιγράφουν τους τρόπους χρήσης ενός συστήματος 3

State machine diagrams (διαγράμματα κατάστασης) Παρουσιάζουν τις διάφορες καταστάσεις και τους τρόπους αλλαγών της κατάστασης (changes state) ενός αντικειμένου (bject) Activity diagrams (διαγράμματα ενεργειών) Παρουσιάζουν τις ενέργειες ενός αντικειμένου κατά την εκτέλεση ενός προγράμματος Interactin diagrams (διαγράμματα αλληλεπιδράσεων) Cmmunicatin diagrams (διαγράμματα επικοινωνίας/συνεργασίας) Παρουσιάζουν τις αλληλοεπιδράσεις και επικοινωνία μεταξύ αντικειμένων με έμφαση στις ενέργειες που συμβαίνουν Sequence diagrams (διαγράμματα ακολουθίας) Παρουσιάζουν τις αλληλοεπιδράσεις μεταξύ αντικειμένων με έμφαση το πότε χρονικά συμβαίνουν 4

Παράδειγμα ανάπτυξης αντικειμενοστραφούς λογισμικού χρησιμοποιώντας την Unified Mdeling Language (UML) 5

Έγγραφο απαιτήσεων - Requirements Dcument Καθορίζει το σκοπό ενός συστήματος και τι πρέπει να κάνει Παράδειγμα: ΑΤΜ Allws basic financial transactin view balance withdraw cash depsit funds User interface display screen keypad cash dispenser depsit slt ATM sessin authenticate user execute financial transactin 6

Κυρίως μενού ATM 7

Μενού αναλήψεων ATM 8

Use case diagram (διάγραμμα ενεργειών) για το ATM Περιγράφουν τους τρόπους χρήσης ενός συστήματος: 9

Τροποποιημένο use case diagram για το ATM 10

Class diagrams (διαγράμματα κλάσεων) Περιγράφει τις κλάσεις ενός συστήματος: Screen Keypad Cash dispenser Depsit slt Πάνω τμήμα: περιέχει το όνομα της κλάσης Μεσαίο τμήμα: περιέχει τις μεταβλητές (attributes/instance variables) Κάτω τμήμα: περιέχει τις μεθόδους (methds) 11

Τύποι πολλαπλότητας - Multiplicity types. Symbl Meaning 0 Nne 1 One m An integer value 0..1 Zer r ne m, n m r n m..n At least m, but nt mre than n * Any nn-negative integer (zer r mre) 0..* Zer r mre (identical t *) 1..* One r mre 12

Class diagram shwing cmpsitin relatinships f a class Car 13

Class diagram shwing cmpsitin relatinships. 14

Class diagram fr the ATM system mdel. 15

Class diagram fr the ATM system mdel including class Depsit. 16

Identifying Class Attributes 17

Identifying Class Attributes and Operatins. 18

Class attributes και peratins και επίπεδα πρόσβασης 19

State machine diagrams (διαγράμματα κατάστασης) Παρουσιάζουν τις διάφορες καταστάσεις και τους τρόπους αλλαγών της κατάστασης (changes state) ενός αντικειμένου (bject) State Machine Diagrams, ή απλά state diagrams, δίνουν έμφαση στη συμπεριφορά ενός αντικειμένου Συμβολισμοί: Κατάσταση (state) Στρογγυλευμένο ορθογώνιο (runded rectangle) Αρχική κατάσταση (initial state) Συμπαγής κύκλος (slid circle) Αλλαγές/Μεταβολές (transitins) Τόξα 20

Activity diagrams (διαγράμματα ενεργειών ) Παρουσιάζουν τις ενέργειες ενός αντικειμένου κατά την εκτέλεση ενός προγράμματος με έμφαση στη συμπεριφορά του συστήματος καθορίζοντας τη σειρά που ακολουθείται Στρογγυλευμένα ορθογώνια καθορίζουν ενέργειες που πρέπει να γίνουν Ρόμβοι (diamnds) συμβολίζουν: σημεία αποφάσεων (decisin symbls) σημεία συγχώνευσης (merge symbls) Μικροί κύκλοι (small circles) Συμπαγής: αρχικές συνθήκες Διπλός κύκλος: τελικές συνθήκες Βέλη μετάβασης (transitin arrws) Καθορίζουν τη σειρά εκτέλεσης Ορθογώνια με διπλωμένο πάνω δεξί άκρο Επεξηγηματικές σημειώσεις/σχόλια 21

Activity diagram για ένα BalanceInquiry αντικείμενο Activity diagram για διαδικασία ανάληψης 22

Επέκταση ενός διαγράμματος ενεργειών (activity diagram) για ανάπτυξη δομημένου (structured) προγράμματος Ξεκινώντας από το απλούστερο δυνατό διάγραμμα ενεργειών activity diagram: 23

Μπορεί να επεκταθεί αντικαθιστώντας την κάθε actin state με δύο διαδοχικά actin states, το οποίο μπορεί να επαναληφθεί όσες φορές χρειάζεται: 24

Επίσης, μπορεί να επεκταθεί αντικαθιστώντας την κάθε actin state με κάποια δομή ελέγχου και το αντίστοιχο UML activity diagram, το οποίο μπορεί να επαναληφθεί όσες φορές χρειάζεται: 25

Interactin diagrams (διαγράμματα αλληλεπιδράσεων) Cmmunicatin diagrams (διαγράμματα επικοινωνίας/συνεργασίας) Παρουσιάζουν τις αλληλοεπιδράσεις και επικοινωνία μεταξύ αντικειμένων με έμφαση στις ενέργειες που συμβαίνουν Sequence diagrams (διαγράμματα ακολουθίας) Παρουσιάζουν τις αλληλοεπιδράσεις μεταξύ αντικειμένων με έμφαση το πότε χρονικά συμβαίνουν 26

Cmmunicatin/cllabratin diagrams (διαγράμματα επικοινωνίας/συνεργασίας) Παρουσιάζουν τις αλληλοεπιδράσεις και επικοινωνία μεταξύ αντικειμένων με έμφαση στις ενέργειες που συμβαίνουν Ένα αντικείμενο στέλνει μήνυμα σε ένα άλλο αντικείμενο (δηλαδή καλεί κάποια μέθοδο του) ώστε να επιτευχθεί κάποιος στόχος Αφού προσδιορίσουμε την απαιτούμενη επικοινωνία και αλληλοεπιδράσεις μεταξύ αντικειμένων πρέπει να καθοριστούν ποια αντικείμενα στέλνουν μήνυμα (καλούν κάποια μέθοδο) σε ποια αντικείμενα (των οποίων οι μέθοδοι καλούνται) Η σειρά με την οποία καλείται μια μέθοδος μπορεί να καθοριστεί στα αριστερά του ονόματος της μεθόδου 27

Συνεργασίες και αλληλοεπιδράσεις στοatm An bject f class ATM sends the message displaymessage getinput authenticateuser execute execute Execute BalanceInquiry getavailablebalance getttalbalance displaymessage Withdrawal Depsit BankDatabase displaymessage getinput getavailablebalance issufficientcashavailable debit dispensecash displaymessage getinput isenvelpereceived Credit validatepin getavailablebalance getttalbalance debit Credit t an bject f class Screen Keypad BankDatabase BalanceInquiry Withdrawal Depsit BankDatabase BankDatabase Screen Screen Keypad BankDatabase CashDispenser BankDatabase CashDispenser Screen Keypad DepsitSlt BankDatabase Accunt Accunt Accunt Accunt Accunt 28

Παράδειγμα cmmunicatin/cllabratin diagram (διαγράμματα επικοινωνίας/συνεργασίας) 29

Sequence diagrams (διαγράμματα ακολουθίας) Παρουσιάζουν τις αλληλοεπιδράσεις μεταξύ αντικειμένων με έμφαση το πότε χρονικά συμβαίνουν Καθορίζεται η χρονική ακολουθία της αλληλεπίδρασης μεταξύ αντικειμένων 30

Sequence diagram για την εκτέλεση ανάληψης 31

Sequence diagram για την εκτέλεση κατάθεσης 32