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

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

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

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

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων

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

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

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

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

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

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

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

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

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

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

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

UML

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

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

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

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

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

3 Αλληλεπίδραση Αντικειμένων

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

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

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

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

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

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

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

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

Παράρτημα1: Φύλλο ανάθεσης εργασίας πολυμέσων

Εφαρμογή Μεθοδολογίας ICONIX

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

Χάρτες Ακολουθίας Μηνυμάτων Message Sequence Charts - MSC

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

Scheduling έργου 1 Τρίτη, 27 Οκτωβρίου 2015

Interaction Diagrams Διαγράμματα Αλληλεπίδρασης

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

Υποδείγματα Ανάπτυξης

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 8: Διαγράμματα Δραστηριοτήτων

Λογισµικό (Software SW) Γλώσσες

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

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

PDF created with pdffactory Pro trial version

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

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

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

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

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

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

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

Η αφετηρία είναι η συσκευή στην οποία η μπάλα βρίσκεται αρχικά. Έχει μόνο μία έξοδο. Ο σειριακός αριθμός της είναι.

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

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

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 3)

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

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

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

2 Η τοπική αποθήκευση και η κοινή χρήση δεδομένων βρίσκονται υπό τον έλεγχό σας

Προγραμματισμός Ι (ΗΥ120)

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΚΩΔΙΚΟΣ ΕΡΓΟΥ: 1272 ΥΔΡΟΠΟΛΗ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Εφαρμογές Προσομοίωσης

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

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

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

Transcript:

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

περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα μηχανής καταστάσεων

διαγράμματα επικοινωνίας Τα διαγράμματα κλάσεων μας δίνουν τη στατική οπτική στις σχέσεις μεταξύ των αντικειμένων. Τα διαγράμματα επικοινωνίας μας παρέχουν τη δυναμική οπτική παρουσιάζοντας την αλληλεπίδραση των αντικειμένων. Τα διαγράμματα επικοινωνίας επεκτείνουν κατά κάποιο τρόπο τα διαγράμματα αντικειμένων, παρουσιάζοντας όχι μόνο τις σχέσεις μεταξύ των αντικειμένων αλλά και την επικοινωνία τους που πραγματοποιείται με την ανταλλαγή μηνυμάτων. Τα διαγράμματα ακολουθίας έχουν τον ίδιο σκοπό με τα διαγράμματα επικοινωνίας με διαφορετική γραφική αναπαράσταση. Τα διαγράμματα ακολουθίας και επικοινωνίας είναι ισοδύναμα. Ένα εργαλείο case θα πρέπει να μετασχηματίζει το ένα τύπο διαγράμματος στον άλλο.

διαγράμματα επικοινωνίας - μηνύματα Τα μηνύματα είναι ο τρόπος επικοινωνίας μεταξύ αντικειμένων Η ανταλλαγή μηνυμάτων στα διαγράμματα επικοινωνίας γίνεται διά μέσου των συνδέσμων (links) (βλ. διάγραμμα αντικειμένων). Στα μηνύματα μπορεί να εμφανίζονται παράμετροι και επιστροφές

διαγράμματα επικοινωνίας -ακολουθία μηνυμάτων Η σειρά αποστολής των μηνυμάτων εμφανίζεται από την αρίθμησή τους Ανάλογα με τους κύκλους αποστολής μηνυμάτων και τη «στοίβα» των κλήσεων των λειτουργιών προστίθενται ψηφία στην αρίθμηση των μηνυμάτων (UML 2)

διαγράμματα επικοινωνίας αρίθμηση μηνυμάτων Σύνθετη αποστολή μηνυμάτων

διαγράμματα επικοινωνίας αρίθμηση μηνυμάτων Για λόγους απλότητας μπορεί να χρησιμοποιηθεί απλή αρίθμηση αν και δεν είναι τυπική UML 2

διαγράμματα επικοινωνίας - μηνύματα Αποστολή μηνύματος στο ίδιο αντικείμενο

διαγράμματα επικοινωνίας - επανάληψη Για την επανάληψη χρησιμοποιείται το σύμβολο * μετά την αρίθμηση του μηνύματος. Η συνθήκη της επανάληψης τοποθετείται σε αγκύλες

διαγράμματα επικοινωνίας μηνύματα Η αποστολή μηνύματος υπό συνθήκη γίνεται με την εμφάνιση της συνθήκης μετά την αρίθμηση του μηνύματος

διαγράμματα επικοινωνίας μηνύματα Για μηνύματα με αμοιβαίο αποκλεισμό αλλάζει η αρίθμηση με τη χρήση γραμμάτων. Τα μηνύματα 1a και 1b είναι αμοιβαία αποκλειόμενα

διαγράμματα επικοινωνίας δημιουργία αντικειμένων Η δημιουργία αντικειμένων έχει διαφορετικό συμβολισμό στην αποστολή μηνύματος

παράδειγμα διαγράμματος επικοινωνίας Ο υπολογισμός της αξίας μίας παραγγελίας

διαγράμματα ακολουθίας Τα διαγράμματα κλάσεων παρέχουν την στατική όψη (δομή) των κλάσεων. Τα διαγράμματα ακολουθίας (sequence diagrams) παρέχουν τη δυναμική όψη. Εμφανίζουν την επικοινωνία αντικειμένων μέσω της ανταλλαγής μηνυμάτων.

διαγράμματα ακολουθίας - σύμβολα Η σειρά των μηνυμάτων φαίνεται από την τοποθέτηση τους στον κατακόρυφο άξονα

διαγράμματα ακολουθίας - σύμβολα γραμμή ζωής (lifeline) : αναπαριστά τη διάρκεια ζωής των αντικειμένων και σχεδιάζεται ως κατακόρυφη διακεκομμένη γραμμή κάτω από τα αντικείμενα. μπάρες προδιαγραφής εκτέλεσης (execution specification) πάνω στις γραμμές ζωής: δείχνουν τη ροή ελέγχου στην ανταλλαγή μηνυμάτων σε αντικείμενα που έχουν ενεργοποιηθεί (Ένα ενεργοποιημένο αντικείμενο είτε εκτελεί μία δική του λειτουργία είτε περιμένει την επιστροφή, όταν αποστέλλει ένα μήνυμα σε κάποιο άλλο αντικείμενο).

διαγράμματα ακολουθίας μηνύματα Η αποστολή του μηνύματος dosomething στο αντικείμενο :Β αντιστοιχεί στην «κλήση» της λειτουργίας dosomething της κλάσης Β

μπάρες προδιαγραφής εκτέλεσης Η μπάρες προδιαγραφής εκτέλεσης δείχνουν τη ροή ελέγχου (στοίβα κλήσεων) Το :Α στέλνει το μήνυμα m1 στο :Β το οποίο με τη σειρά του στέλνει το m2 στο :C. Η ροή ελέγχου επιστρέφει στο :Α το οποίο στέλνει το m3. Η μπάρα στη γραμμή ζωής του :Β «διακόπτεται» γιατί η ροή ελέγχου επέστρεψε στο :Α

διαγράμματα ακολουθίας - μηνύματα Μήνυμα στο ίδιο αντικείμενο

διαγράμματα ακολουθίας - επανάληψη Για την επανάληψη χρησιμοποιείται πλαίσιο (frame) με την ένδειξη loop Η επανάληψη συνοδεύεται με την αντίστοιχη συνθήκη

διαγράμματα ακολουθίας - μηνύματα Για την αποστολή μηνυμάτων υπό συνθήκη (if) χρησιμοποιείται το πλαίσιο με την ένδειξη opt. Συνοδεύεται και από την αντίστοιχη συνθήκη

διαγράμματα ακολουθίας - μηνύματα Για την αποστολή μηνυμάτων με αμοιβαίο αποκλεισμό (if else) χρησιμοποιείται το πλαίσιο με την ένδειξη alt Η διακεκομμένη γραμμή υποδεικνύει τον αμοιβαίο αποκλεισμό

διαγράμματα ακολουθίας περικλειόμενα πλαίσια

διαγράμματα ακολουθίας δημιουργία αντικειμένων Η δημιουργία αντικειμένων έχει διαφορετικό συμβολισμό στην αποστολή του μηνύματος Το αντικείμενο που δημιουργείται δεν τοποθετείται στην κορυφή του διαγράμματος αλλά στο σημείο που δημιουργείται

περιπτώσεις αλληλεπίδρασης Σε ένα διάγραμμα ακολουθίας μπορεί να γίνει αναφορά σε κάποιο άλλο διάγραμμα. Η αναφορά γίνεται με το πλαίσιο με την ένδειξη ref

διάγραμμα με πλαίσιο Ένα διάγραμμα με πλαίσιο με την ένδειξη sd μπορεί να χρησιμοποιηθεί σε άλλα διαγράμματα μέσω του πλαισίου ref

παράδειγμα σύστημα παραγγελίας Ζητείται ένα διάγραμμα ακολουθίας που θα εμφανίζει την επικοινωνία των αντικειμένων για τον υπολογισμό της συνολικής αξίας της παραγγελίας

παράδειγμα σύστημα παραγγελίας

παράδειγμα σύστημα παραγγελίας Η ανταλλαγή μηνυμάτων σε ένα διάγραμμα ακολουθίας θα πρέπει να ενημερώνει και τις λειτουργίες του αντίστοιχου διαγράμματος κλάσεων

διαγράμματα μηχανής καταστάσεων Τα διαγράμματα μηχανής καταστάσεων (state machine diagrams) χρησιμοποιούνται για τη μοντελοποίηση της διακριτής συμπεριφοράς κάποιου συστήματος. Η συμπεριφορά του συστήματος μοντελοποιείται ως η μετάβαση από μία κατάσταση σε κάποια άλλη. Τα διαγράμματα μηχανής καταστάσεων μπορούν να χρησιμοποιηθούν και για τη μοντελοποίηση της συμπεριφοράς των αντικειμένων. Έχουμε ορίσει την κατάσταση των αντικειμένων ως το σύνολο των τιμών των ιδιοτήτων σε κάποια χρονική στιγμή. Υπάρχουν περιπτώσεις όμως που η κατάσταση των αντικειμένων έχει ιδιαίτερο ενδιαφέρον για την ανάλυση. Το ενδιαφέρον αυτό είναι εντονότερο, όταν η κατάσταση ενός αντικειμένου επηρεάζει τη συμπεριφορά του.

διαγράμματα μηχανής καταστάσεων Σε αντίθεση με τα διαγράμματα επικοινωνίας που μοντελοποιούν τη συμπεριφορά και την επικοινωνία πολλών αντικειμένων που συνεργάζονται, τα διαγράμματα μηχανής καταστάσεων μοντελοποιούν τις καταστάσεις ενός αντικειμένου. Τα διαγράμματα καταστάσεων έχουν αρκετά πλούσιο συμβολισμό και χρησιμοποιούνται κυρίως για εξειδικευμένο λογισμικό, όπως λογισμικό ελεγκτών συσκευών και λογισμικό πραγματικού χρόνου.

διαγράμματα μηχανής καταστάσεων f ( S, E ) = i j k S l Με τα διαγράμματα μηχανής καταστάσεων (state machine diagrams) αντιμετωπίζουμε τις απαιτήσεις του συστήματος ή κάποιων μερών του ως τη μετάβαση από μία κατάσταση σε κάποια άλλη όταν το σύστημα ανταποκρίνεται σε ερεθίσματα του περιβάλλοντός του. Οι συναρτήσεις f i περιγράφουν τις μεταβάσεις του συστήματος από τις καταστάσεις S j στις καταστάσεις S i για τα γεγονότα E k

διαγράμματα μηχανής καταστάσεων - σύμβολα

μεταβάσεις και γεγονότα Ένα γεγονός ενεργοποιεί τη μετάβαση από μία κατάσταση σε κάποια άλλη. Η μετάβαση γίνεται όταν ικανοποιείται και κάποια (προαιρετική) συνθήκη

παράδειγμα: σύστημα συναγερμού

εσωτερικές δραστηριότητες

σύνθετες καταστάσεις

παράδειγμα: καταστάσεις αντιτύπου