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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

ιαχείριση Τηλεφωνικών Κλήσεων

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

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

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

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

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

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

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

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

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

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

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

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

Περιεχόµενα. 1 Εισαγωγή: Λίγα λόγια για το βιβλίο Τι νέο υπάρχει στο Outlook Ξεκίνηµα Ευχαριστίες...

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

ΜΟΝΤΕΛΑ ΙΑΚΡΙΤΩΝΣΥΣΤΗΜΑΤΩΝ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Περιεχόµενα. I Βασικές Γνώσεις 1

επιµέλεια Θοδωρής Πιερράτος

ΑΝ.ΕΦ. Γ ΛΥΚΕΙΟΥ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται µεταξύ των λέξεων ΤΟΤΕ και και η εκτέλεση του προγράµµατος συνεχίζετα

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Οδηγός Εξαγωγής Συγκεντρωτικών Καταστάσεων. ΚΕΠΥΟ και Ηλεκτρονικού Ισοζυγίου. στο InnovEra 3 R2 για τον RTC client

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

3. Προσομοίωση ενός Συστήματος Αναμονής.

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

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

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

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ

Κατανεµηµένασυστήµατα αρχείων

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

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

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

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

Πανεπιστήµιο Θεσσαλίας

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

Ψευδοκώδικας. November 7, 2011

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

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

ECDL Module 4 Υπολογιστικά Φύλλα Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

Επεξεργασία Εικόνας. Κωδικός Πακέτου ACTA - CGD+CWD Τίτλος Πακέτου ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ - ΣΧΕ ΙΑΣΗ ΙΣΤΟΣΕΛΙ ΑΣ. Εκπαιδευτικές Ενότητες

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

Σεµινάριο Αυτοµάτου Ελέγχου

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

PLC Σύνδεση ιακοπτών. Εισαγ γωγή στα. Η λογική του προγραµµατισµού. Τυπική Γραµµή ιαγράµµατος Κλίµακας. Βασικά Στοιχεία & Συνδυασµοί

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

1 Εισαγωγή στην Πληροφορική

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

Καταστάσεων. Καταστάσεων

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

Συστήµατος Συσκευασίας Φακέλων Τσαγιού

Τίτλος Πακέτου Certified Computer Expert-ACTA

Πρόβλημα 37 / σελίδα 207

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

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

Transcript:

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

ιαγράµµατα Συµπεριφοράς ιαγράµµατα Ακολουθίας ιαγράµµατα Μηχανής Καταστάσεων ιαγράµµατα Επικοινωνίας ιαγράµµατα ραστηριοτήτων

ιαγράµµατα Ακολουθίας (Sequence Diagrams)

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

Παράδειγµα (Κεντρικός Έλεγχος) ιδρυτικό µήνυµα συµµετέχων γραµµή ζωής επιστροφή µήνυµα αυτο-κλήση πλαίσιο ενεργοποίησης

Παράδειγµα (Κατανεµηµένος Έλεγχος) υπολογισµόςτιµής

Κεντρικός vs. Κατανεµηµένος Έλεγχος Κεντρικός Έλεγχος Είναι πιο απλός Όλη η επεξεργασία γίνεται σε ένα σηµείο Κατανεµηµένος Έλεγχος Η επεξεργασία πραγµατοποιείται από ένα σύνολο αντικειµένων Είναι πιο κοντά στο αντικειµενοστρεφές στυλ προγραµµατισµού

ηµιουργία και ιαγραφή Συµµετεχόντων ΧειριστήςΒ επερώτησηβ νέο ιαταγήερωτήµατος δηµιουργία νέο εκτέλεση ΕντολήΒ αποτελέσµατα εξαγωγή αποτελέσµατος διαγραφή από άλλο αντικείµενο κλείσιµο αποτελέσµατα αυτο-διαγραφή

Βρόχοι και Συνθήκες Γενικά, τα διαγράµµατα ακολουθίας δεν είναι κατάλληλα για την απεικόνιση βρόχων και συµπεριφοράς υπό συνθήκη Παρόλ αυτά, η UML προσφέρει τα πλαίσια αλληλεπίδρασης (interaction frames)για τη µοντελοποίηση βρόχων και συνθηκών σε διαγράµµατα ακολουθίας

Παράδειγµα -Αλγόριθµος διαδικασία διεκπεραίωση για κάθε (στοιχείο γραµµής) αν (προϊόν.τιµή > 10000) προσεκτικός ιανοµέας.διεκπεραίωση αλλιώς κανονικός ιανοµέας.διεκπεραίωση τέλος αν τέλος για αν (χρειάζεταιεπιβεβαίωση) αγγελιοφόρος.επιβεβαίωση τέλος αν τέλος διαδικασία

Παράδειγµα ιάγραµµα Ακολουθίας φρουρός (guard) τελεστής πλαίσιο αλληλεπίδρασης ασύγχρονη κλήση

Τελεστές Πλαισίων Αλληλεπίδρασης Τελεστής Σηµασία alt opt par Πολλά εναλλακτικά τµήµατα. Θα εκτελεστεί µόνο αυτό για το οποίο η συνθήκη είναι αληθής Προαιρετικό πλαίσιο. Εκτελείται µόνο αν η παρεχόµενη συνθήκη είναι αληθής Παράλληλη συµπεριφορά. Όλα τα τµήµατα εκτελούνται παράλληλα loop Βρόχος.. Το πλαίσιο θα εκτελεστεί τόσες φορές,, όσες υποδηλώνει ο φρουρός region neg ref sd Κρίσιµο τµήµα. Το πλαίσιο µπορεί να έχει µόνο ένα νήµα εκτέλεσης κάθε φορά Άρνηση. Το πλαίσιο δείχνει µια µή έγκυρη αλληλεπίδραση Αναφορά. Το πλαίσιο αναφέρεται σε µια αλληλεπίδραση η οποία ορίζεται σε άλλο διάγραµµα ιάγραµµα ακολουθίας. Χρησιµοποιείται για να περικλείσει ένα ολόκληρο διάγραµµα ακολουθίας

Σύγχρονες και Ασύγχρονες Κλήσεις Σύγχρονη κλήση Συµβολίζεται µε «συµπαγή» αιχµή βέλους Όταν ο καλών πραγµατοποιεί µια σύγχρονη κλήση, πρέπει να περιµένει µέχρι αυτή να ολοκληρωθεί Ασύγχρονη κλήση Συµβολίζεται µε «ανοιχτή» αιχµή βέλους Αν ο καλών πραγµατοποιήσει µια ασύγχρονη κλήση, µπορεί να συνεχίσει την επεξεργασία χωρίς να περιµένει την απόκριση Ασύγχρονες κλήσεις χρησιµοποιούνται για την µοντελοποίηση πολυνηµατικών (multithread) εφαρµογών

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

ιαγράµµατα Μηχανής Καταστάσεων (State Machine Diagrams)

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

Παράδειγµα χρηµατοκιβώτιο έκλεισε Ανοιχτός αρχική ψευδοκατάσταση µετάβαση περιστροφή κλειδιού [ κερί στη θέση του ] / άνοιγµα χρηµατοκιβωτίου Αναµονή αφαίρεση κεριού [ πόρτα κλειστή ] / αποκάλυψη κλειδαριάς Κλειδωµένος περιστροφή κλειδιού [ κερί όχι στη θέση του ] / απελευθέρωση τέρατος κατάσταση τελική κατάσταση Ελεγκτής Χρηµατοκιβωτίου σε Γοτθικό Κάστρο

Μετάβαση (Transition) είχνει τη µετακίνηση από µια κατάσταση σε µια άλλη Έχει ετικέτα που αποτελείται από τρία µέρη: σκανδάλη [φρουρός] / δραστηριότητα Η σκανδάλη (trigger)είναι ένα συµβάν που ενεργοποιεί την αλλαγή κατάστασης του αντικειµένου Ο φρουρός (guard), αν υπάρχει, είναι µια συνθήκη που πρέπει να είναι αληθής για να γίνει η µετάβαση Η δραστηριότητα (activity)είναι κάποια λειτουργία που εκτελείται κατά τη µετάβαση Καί τα 3 µέρη της ετικέτας µιας µετάβασης είναι προαιρετικά Απουσία δραστηριότητας: δε γίνεται τίποτα κατά τη διάρκεια της µετάβασης Απουσία φρουρού: η µετάβαση γίνεται πάντα, όταν προκύπτει το συµβάν Απουσία σκανδάλης: η µετάβαση γίνεται άµεσα

Εσωτερικές ραστηριότητες Οι καταστάσεις µπορούν να αντιδράσουν σε συµβάντα χωρίς µετάβαση, χρησιµοποιώντας εσωτερικές δραστηριότητες (internal activities) Μια εσωτερική δραστηριότητα είναι όµοια µε µια αυτοµετάβαση (selftransition), δλδ µια µετάβαση που επιστρέφει στην ίδια κατάσταση, µε την εξής διαφορά: : Η εσωτερική δραστηριότητα δεν ενεργοποιεί δραστηριότητες εισόδου / εξόδου Η σύνταξη των εσωτερικών δραστηριοτήτων ακολουθεί την ίδια λογική για τη σκανδάλη, το φρουρό και τη δραστηριότητα σκανδάλη [φρουρός] / δραστηριότητα)

Παράδειγµα Πληκτρολόγηση entry/επισήµανση όλου του κειµένου exit/ενηµέρωση πεδίου δραστηριότητα εισόδου δραστηριότητα εξόδου Εσωτερικά συµβάντα για ένα πεδίο κειµένου σε κατάσταση πληκτρολόγησης

Καταστάσεις ραστηριότητας Στις απλές καταστάσεις, το αντικείµενο παραµένει «ήσυχο», περιµένοντας το επόµενο συµβάν, προκειµένου να κάνει κάτι Στις καταστάσεις δραστηριότητας (activity states), το αντικείµενο εκτελεί κάποια εξελισσόµενη εργασία Η εξελισσόµενη δραστηριότητα επισηµαίνεται µε τη λέξη /doκαι γι αυτό ονοµάζεται δραστηριότητα ενέργειας (do-activity) Σε αντίθεση µε τις κανονικές δραστηριότητες, που συµβαίνουν στιγµιαία, οι δραστηριότητες ενέργειας έχουν χρονική διάρκεια και µπορούν να διακοπούν

Παράδειγµα Εµφάνιση Παραθύρου Ενηµέρωσης Υλικού αναζήτηση Αναζήτηση do/αναζήτηση νέου υλικού ακύρωση δραστηριότητα ενέργειας Εµφάνιση Παραθύρου Νέου Υλικού

Υπερκαταστάσεις Χρησιµοποιούνται για την οµαδοποίηση και επαναχρησιµοποίηση καταστάσεων που µοιράζονται ένα κοινό σύνολο µεταβάσεων και εσωτερικών δραστηριοτήτων Εµφάνιση Συνδέσεων νέα ακύρωση αποθήκευση Καταχώριση Λεπτοµερειών Σύνδεσης Καταχώριση Αριθµού Τηλεφώνου επόµενο Επιλογή Κοινόχρηστης ή Προσωπικής Σύνδεσης επόµενο Καταχώριση Ονόµατος προηγούµενο προηγούµενο

Υλοποίηση ιαγραµµάτων Καταστάσεων Ένα διάγραµµα καταστάσεων µπορεί να υλοποιηθεί µε τρεις κυρίως τρόπους: 1. Ένθετες εντολές switch οι διαφορετικές καταστάσεις εµφωλεύονται σε ένα βρόχο switch, αρκεί να υποστηρίζεται από τη γλώσσα προγραµµατισµού 2. Μοτίβο Καταστάσεων δηµιουργεί µια ιεραρχία από κλάσεις καταστάσεων για το χειρισµό της συµπεριφοράς των καταστάσεων 3. Πίνακες Καταστάσεων καταγράφουν τις πληροφορίες του διαγράµµατος καταστάσεων µε τη µορφή δεδοµένων

Παράδειγµα: Μοτίβο Καταστάσεων Ελεγκτ ήςπίνακαελέγχου αλλαγήκατάστασηςσε() χειρισµόςαφαίρεσηςκεριού() χειρισµόςπεριστροφήςκεριού() χειρισµόςκλειστούχρηµατοκιβωτίου() +κατάσταση 1 Κατ άστ ασηπίνακαελέγχου χειρισµόςαφαίρεσηςκεριού() χειρισµόςπεριστροφήςκλειδιού() χειρισµόςκλειστούχρηµατοκιβωτίου() Κατ άστ ασηαναµονής Κατ άστ ασηκλειδωµένος Κατ άστ ασηανοιχτ ός

Κανόνες χρήσης Τα διαγράµµατα µηχανής καταστάσεων είναι κατάλληλα για την περιγραφή της συµπεριφοράς ενός αντικειµένου σε πολλές περιπτώσεις χρήσης Τα διαγράµµατα µηχανής καταστάσεων δενείναι κατάλληλα για την περιγραφή µιας συµπεριφοράς που εµπεριέχει συνεργασία πολλών αντικειµένων εν έχει νόηµα να σχεδιάζετε ένα διάγραµµα µηχανής καταστάσεων για κάθε κλάση του συστήµατος. Κάντε το µόνο για εκείνες τις κλάσεις που εµφανίζουν ενδιαφέρουσα συµπεριφορά Όταν η κατασκευή ενός διαγράµµατος µηχανής καταστάσεων θα βοηθήσει στην κατανόηση του τί συµβαίνει

ιαγράµµατα Επικοινωνίας (Communication Diagrams)

Εισαγωγή Τα διαγράµµατα επικοινωνίας (communication diagrams) δίνουν έµφαση στους συνδέσµους ανταλλαγής δεδοµένων µεταξύ των διαφόρων συµµετεχόντων σε µια αλληλεπίδραση Οι συµµετέχοντες και οι µεταξύ τους σύνδεσµοι ανταλλαγής δεδοµένων τοποθετούνται ελεύθερα στο διάγραµµα, σε αντίθεση µε τα διαγράµµατα ακολουθίας Όπως και στα διαγράµµατα ακολουθίας, χρησιµοποιείται αρίθµηση για την απεικόνιση της ακολουθίας των µηνυµάτων

Παράδειγµα Πελάτης 1.5.1: λήψηπληροφοριώνέκπτωσης() Παραγγελία 1.4: υπολογισµόςτιµήςβάσης() 1.5: υπολογισµόςέκπτωσης() 1.1: λήψηποσότητας() 1.2: λήψηπροϊόντος() 1.3: λήψηλεπτοµερειώντιµολόγησης() ΓραµµήΠαραγγελίας Προϊόν

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

ιαγράµµατα ραστηριοτήτων (Activity Diagrams)

Εισαγωγή Τα διαγράµµατα δραστηριοτήτων (activity diagrams) είναι µια τεχνική για την περιγραφή ιαδικασιακής λογικής (procedural logic) Επιχειρησιακών διεργασιών (business processes) Ροής εργασιών (workflows) Βασικό τους γνώρισµα είναι η δυνατότητα περιγραφής παράλληλων συµπεριφορών

Παράδειγµα Εκτέλεση Παραγγελίας διχάλα Λήψη Παραγγελίας αρχικός κόµβος ενέργεια απόφαση Συµπλήρωση Παραγγελίας Αποστολή Τιµολογίου [ παραγγελία µε προτεραιότητα ] [ else ] Λήψη Πληρωµής ροή/ακµή Ά µεση Παράδοση Κανονική Παράδοση ένωση συγχώνευση Κλείσιµο Παραγγελίας τελευταία ενέργεια

Στοιχεία ιαγραµµάτων ραστηριοτήτων Αρχικός κόµβος (initial node) Σηµατοδοτεί την έναρξη της δραστηριότητας Αντιστοιχεί στην κλήση ενός προγράµµατος ή µιας ρουτίνας Ροή/ακµή Συµβολίζει την µετάβαση ελέγχου ιχάλα (fork) Έχει µια εισερχόµενη και πολλές εξερχόµενες ταυτόχρονες ροές Χρησιµοποιείται σε περιπτώσεις παράλληλης συµπεριφοράς Το αντίθετο στοιχείο είναι η ένωση (join), που χρησιµοποιείται για το συγχρονισµό των παράλληλων συµπεριφορών

Στοιχεία ιαγραµµάτων ραστηριοτήτων Απόφαση (decision) Έχει µια εισερχόµενη και πολλές εξερχόµενες φρουρούµενες ροές Ο φρουρός της κάθε εξερχόµενης συνθήκης εκφράζει µια λογική συνθήκη, ενώ µόνο µία από αυτές είναι αληθής κάθε φορά Συγχώνευση (merge) Έχει πολλές εισερχόµενες ροές και µια εξερχόµενη Επισηµαίνει το τέλος µιας υπο συνθήκη συµπεριφοράς που ξεκίνησε από κάποια απόφαση

ραστηριότητες vs. Ενέργειες Οι κόµβοι σε ένα διάγραµµα δραστηριοτήτων ονοµάζεται ενέργειες Μια δραστηριότητα αναφέρεται σε µια ακολουθία ενεργειών Το διάγραµµα δραστηριοτήτων απεικονίζει µια δραστηριότητα που αποτελείται από ενέργειες

Ανάλυση µιας Ενέργειας Μια ενέργεια µπορεί να αναλυθεί σε δευτερεύουσες δραστηριότητες (sub-activities) έτσι η λογική της παράδοσης παραγγελίας στο προηγούµενο διάγραµµα µπορεί να οριστεί ως ξεχωριστή δραστηριότητα και στη συνέχεια να την καλέσω σαν ενέργεια όνοµα δευτερεύουσας δραστηριότητας παράµετρος εισόδου παράµετρος εξόδου

Υλοποίηση Ενεργειών Είτε ως ευτερεύουσες δραστηριότητες (µε το σύµβολο της τσουγκράνας) Είτε ως µέθοδοι γιά κλάσεις Η κλήση µιας µεθόδου µπορεί να δειχθεί µε τη σύνταξη όνοµα_κλάσης::όνοµα_µεθόδου, π.χ. Παραγγελία::αποστολήΤιµολογίου Επίσης µπορεί να γραφτεί ένα τµήµα κώδικα µέσα στο σύµβολο της ενέργειας

Απεικόνιση ευτερεύουσας ραστηριότητας Λήψη Παραγγελίας Συµπλήρωση Παραγγελίας Αποστολή Τιµολογίου Παράδοση Παραγγελίας Λήψη Πληρωµής σύµβολο δευτερεύουσας δραστηριότητας Κλείσιµο Παραγγελίας

ιαµερίσµατα (Partitions) Χρησιµοποιούνται για τη διαίρεση ενός διαγράµµατος δραστηριοτήτων σε περιοχές Κάθε περιοχή (διαµέρισµα) δείχνει ποια κλάση ή ποιο τµήµα του οργανισµού εκτελεί τις διάφορες ενέργειες

Παράδειγµα ιεκπεραίωση Εξυπηρέτηση Πελατών Οικονοµικό Τµήµα Λήψη Παραγγελίας Συµπλήρωση Παραγγελίας Αποστολή Τιµολογίου Παράδοση Παραγγελίας Λήψη Πληρωµής Κλείσιµο Παραγγελίας

Σήµατα (Signals) - 1 Στα προηγούµενα παραδείγµατα τα διαγράµµατα δραστηριοτήτων έχουν σαφώς µιά καθορισµένη αφετηρία Αντιστοιχεί στην κλήση ενός προγράµµατος ή µιας ρουτίνας Οι ενέργειες όµως µπορούν να ανταποκρίνονται και σε σήµατα

Σήµατα (Signals) - 2 Ένα σήµα (signal)δείχνει ότι η δραστηριότητα παραλαµβάνει ένα συµβάν από µια εξωτερική διεργασία Ένα χρονικό σήµαεκφράζει την παρέλευση κάποιου χρονικού διαστήµατος Η δραστηριότητα εποπτεύει συνεχώς τη λήψη σηµάτων και το διάγραµµα καθορίζει τον τρόπο µε τον οποίο αποκρίνεται σε αυτά Εκτός από το να δέχεται σήµατα, ένα διάγραµµα δραστηριοτήτων µπορεί επίσης να στέλνει σήµατα

Παράδειγµα 1: Λήψη σήµατος χρονικό σήµα λήψη σήµατος

Παράδειγµα 2: Λήψη και Αποστολή Σηµάτων αποστολή σήµατος

Κουπόνια (Tokens) Τα κουπόνια (tokens)είναι ένας τρόπος παρακολούθησης της ροής εκτέλεσης των διαγραµµάτων δραστηριοτήτων Ο αρχικός κόµβος δηµιουργεί ένα κουπόνι, το οποίο µεταβιβάζει στην επόµενη ενέργεια, κ.ο.κ. Μια διχάλα δέχεται ένα κουπόνι και δηµιουργεί ένα κουπόνι για κάθε εξερχόµενη ροή (αντιστρόφως για µια ένωση) Ένας συνήθης τρόπος αναπαράστασης των κουπονιών είναι µε τη χρήση µετρητών, έτσι ώστε να ελέγξετε την ορθότητα του διαγράµµατος δραστηριοτήτων

Ακίδες και Μετασχηµατισµοί Οι ενέργειες σε ένα διάγραµµα δραστηριοτήτων έχουν παραµέτρους, όπως και οι µέθοδοι Προαιρετικά, οι παράµετροι των ενεργειών µπορούν να απεικονιστούν µε τη χρήση ακίδων (pins) Σε περίπτωση που χρησιµοποιούνται ακίδες, πρέπει οι παράµετροι εξόδου µια ενέργειας να ταιριάζουν µε τις παραµέτρους εισόδου των αµέσως εποµένων της ενεργειών Σε περίπτωση που δεν ταιριάζουν, πρέπει να απεικονίζονται οι κατάλληλοι µετασχηµατισµοί (transformations)από τη µια µορφή στην άλλη

Παράδειγµα ακίδα για την παράµετρο παράσταση µετασχηµατισµού

Πότε να χρησιµοποιείτε ακίδες Όταν θέλετε να εξετάσετε τα δεδοµένα που απαιτούν και παράγουν οι διάφορες ενέργειες Για να δείξετε τους πόρους που παράγουν και καταναλώνουν οι διάφορες ενέργειες κατά τη µοντελοποίηση επιχειρηµατικών διεργασιών Αν χρησιµοποιήσετε ακίδες, είναι ασφαλές να δείξετε εισερχόµενες ροές στην ίδια ενέργεια. Ο συµβολισµός της ακίδας επιβάλλει υπονοούµενη ένωση των εισερχόµενων ροών

Περιοχές Επέκτασης Σε ένα διάγραµµα δραστηριοτήτων, πολλές φορές η έξοδος µιας ενέργειας ενεργοποιεί περισσότερες από µια κλήσεις σε µια άλλη ενέργεια Μια περιοχή επέκτασης (extension region)επισηµαίνει µια περιοχή ενός διαγράµµατος δραστηριοτήτων στην οποία οι ενέργειες συµβαίνουν µια φορά για κάθε στοιχείο µιας συλλογής στοιχείων

Παράδειγµα Επιλογή Θεµάτων περιοχή επέκτασης λέξη-κλειδί λίστα θεµάτων «concurrent» Συγγραφή Άρθρου Αναθεώρηση Άρθρου ηµοσίευση Περιοδικού συλλογή εξόδου

Τερµατισµός Ροής Υπάρχουν περιπτώσεις όπου διάφορες ροές σε ένα διάγραµµα δραστηριοτήτων σταµατούν, χωρίς τον τερµατισµό της δραστηριότητας συνολικά Ένας τερµατισµός ροής (flow final)δείχνει το τέλος µιας συγκεκριµένης ροής χωρίς τον τερµατισµό όλης της δραστηριότητας Οι τερµατισµοί ροής επιτρέπουν στις περιοχές επέκτασης να λειτουργούν ως φίλτρα, που σηµαίνει ότι η συλλογή εξόδου µιας περιοχής επέκτασης µπορεί να είναι µικρότερη από τη συλλογή εισόδου

Παράδειγµα τερµατισµός ροής

Προδιαγραφές Ενώσεων Μια ένωση εξ ορισµού επιτρέπει τη συνέχιση της εκτέλεσης όταν όλες οι εισερχόµενες ροές έχουν φτάσει σε αυτή Σε κάποιες περιπτώσεις µπορεί να χρειάζονται πιο σύνθετοι κανόνες για τη σωστή απεικόνιση της συµπεριφοράς του συστήµατος Μια προδιαγραφή ένωσης (join specification)είναι µια λογική παράσταση η οποία προσαρτάται σε µια ένωση Η ένωση επιτρέπει τη συνέχιση της εκτέλεσης µόνο αν η προδιαγραφή ένωσης υπολογίστεί και πάρει την τιµή «αληθής»

Παράδειγµα ετικέτα ροής προδιαγραφή ένωσης Μηχάνηµα αυτόµατης αγοράς αναψυκτικού

Κανόνες χρήσης Τα διαγράµµατα δραστηριοτήτων χρησιµοποιούνται για την αναπαράσταση της λογικής που διέπει τη συµπεριφορά του συστήµατος Το µεγάλο πλεονέκτηµα των διαγραµµάτων δραστηριοτήτων είναι η υποστήριξη της µοντελοποίησης παράλληλης συµπεριφοράς, συνεπώς χρησιµοποιούνται εκτενώς για τη µοντελοποίηση παράλληλων αλγορίθµων Μπορείτε να χρησιµοποιήσετε διαγράµµατα δραστηριοτήτων για την περιγραφή των περιπτώσεων χρήσης του συστήµατος