ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΔΙΑΓΡΑΜΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ Διαγράμματα Συστατικών Λογισμικού (Component Diagrams) Διαγράμματα Ανάπτυξης (Deployment Diagrams)
Advertisements

ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Δομημένη Ανάλυση Αποτελεί τμήμα της Δομημένης Ανάλυσης και Σχεδίασης (Structured Analysis and Design – SADT) Είναι μία μέθοδος ανάλυσης που χρησιμοποιείται.
Σχεδιασμός Λογισμικού Τεχνολογία Λογισμικού ΙΙ - JAVA
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
Μεθοδολογίες Προγραμματισμού ΙΙ
Ανάπτυξη Διαδραστικών Συστημάτων
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
Μήτρες (templates)  Μία μήτρα είναι ένα κομμάτι κώδικα που περιέχει παραμέτρους οι οποίες δέχονται ως τιμές τύπους δεδομένων.  Είναι ένας μηχανισμός.
Μηχανική Λογισμικού ΙΙ
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Resource Description Framework
Ανακεφαλαίωση Προβλήματος Βιβλιοθήκης
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
Μεθοδολογίες Προγραμματισμού ΙΙ
1 ΕΝΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΘΕΣΗ ΣΗΜΕΙΟΥΘΕΣΗ ΣΗΜΕΙΟΥ ΑΠΟΣΤΑΣΗΑΠΟΣΤΑΣΗ ΕΜΒΑΔΟΝΕΜΒΑΔΟΝ.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
Ηλεκτρονικό Ταχυδρομείο
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Σχεδίαση αλγορίθμων (2ο μέρος)
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
ΣΥΝΑΡΤΗΣΕΙΣ.
Πρότυπα Σχεδίασης Design Patterns Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμ. Εφ. Πληροφορικής.
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΔΥΝΑΜΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ ä Οψεις της UML ä Οψεις καί Διαγράμματα ä Δυναμικά Διαγράμματα ä Διαγράμματα Καταστάσεων ä Διαγράμματα Ακολουθίας ä Διαγράμματα Συνεργασίας.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Σχεδιασμός Προσανατολισμένος σε Λειτουργίες
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
ΑΝΑΚΕΦΑΛΑΙΩΣΗ 26 Οκτωβρίου Αντικειμενοστρεφής Προγραμματισμός Ένα νέο προγραμματιστικό μοντέλο (paradigm) το οποίο στηρίζεται στις κλάσεις και τα.
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Τεχνολογία Επικοινωνιών
Κεφάλαιο 10 – Υποπρογράμματα
Βασικά στοιχεία της Java
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
1 Εργαστήριο MIS Use Cases. 2 ΆνθρωποιΔεδομένα Λογισμικό Υλικό Διαδικασίες.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Επίσημος ορισμός Ποιότητας (πρότυπο ISO 8402) Σύνολο χαρακτηριστικών μιας οντότητας για την ικανοποίηση εκφρασμένων και συνεπαγόμενων αναγκών. Αντικείμενο.
Διαγράμματα Πακέτων (Package Diagrams)
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Εισαγωγή στη Unified Modeling Language - UML
Δεδομένα, μεταβλητές, υπολογισμοί
Κατανεμημένα Συστήματα
Κλάσεις και αντικείμενα
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
Κεφάλαιο 7: Διαδικτύωση-Internet
Activity Diagrams.
Πίνακας Συμβόλων Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής.
Εισαγωγή στον Προγ/μό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Πρόταση υιοθέτησης προγραμματικής συμφωνίας για την υλοποίηση έργων
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εφαρμογή Μεθοδολογίας ICONIX
ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Μεταγράφημα παρουσίασης:

ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ 1. Διάγραμμα Ακολουθίας (Sequence Diagram) 2. Διάγραμμα Συνεργασίας (Collaboration Diagram)

ΜΟΝΤΕΛΟ ΣΥΜΠΕΡΙΦΟΡΑΣ RUP GRASP patterns ICONIX Robustness diagram ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ RUP GRASP patterns ICONIX Robustness diagram CRC cards ΔΙΑΓΡΑΜΜΑ ΑΚΟΛΟΥΘΙΑΣ ΕΝΝΟΙΟΛΟΓΙΚΟ ΜΟΝΤΕΛΟ ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ

Διάγραμμα Ακολουθίας Αλληλεπίδραση: «Ορισμός συμπεριφοράς που περιλαμβάνει μια σειρά ανταλλαγής μηνυμάτων μεταξύ ενός αριθμού αντικειμένων, σε μια συνεργασία, για την εκπλήρωση συγκεκριμένου σκοπού»

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

Βρισκόμαστε στην δραστηριότητα της Σχεδίασης Αυτό σημαίνει ότι σκεπτόμαστε με όρους κώδικα δηλ. για το κάθε μέλος που πρόκειται να εισάγουμε στο διάγραμμα, σκεπτόμαστε πως αυτό θα υλοποιηθεί σε κώδικα java Δημιουργούμε ένα διάγραμμα αλληλεπίδρασης (Ακολουθίας / Συνεργασίας) για κάθε περίπτωση χρήσης Εχει επικρατήσει ως αποτελεσματικότερο το διάγραμμα Ακολουθίας

Σημειογραφία της UML.2

Διάγραμμα Ακολουθίας με εισερχόμενα και εξερχόμενα μηνύματα

Η κάθετη διάσταση απεικονίζει την χρονική εξέλιξη Ονοματισμός: [Diagram Type, Diagram Name] Η κάθετη διάσταση απεικονίζει την χρονική εξέλιξη Η οριζόντια διάσταση απεικονίζει την επικοινωνία μεταξύ των αντικ/νων

Γραμμή ζωής (Life line) Ονοματισμός: Instance Name : Class Name Απεικονίζουν: Ρόλους Στιγμιότυπα Κλάσεων (υπογραμμισμένα) Ανώνυμα “:Student”

Μηνύματα (Messages) Αρχίζουν αριστερή κορυφή Γραμμή με βέλος + όνομα μεθόδου (σύγχρονη κλήση) Αναπαριστά μέθοδο Μήνυμα επιστροφής Προαιρετικό Διακεκομ. γραμμή με τιμή πεδίου Μήνυμα σε μέθοδο της ίδιας κλάσης (αντικειμένου) Μπορεί να είναι και private μέθοδος

(A)σύγχρονα μηνύματα Σύγχρονα, ονομάζουμε τα μηνύματα στα οποία ο αποστολέας περιμένει το αποτέλεσμα, προτού προχωρήσει παρακάτω. Ασύγχρονα, ονομάζουμε τα μηνύματα στα οποία ο αποστολέας δεν περιμένει για το αποτέλεσμα του μηνύματος, αλλά επεξεργάζεται το αποτέλεσμα όταν και αν θα το επιστρέψει. Ασύγχρονα μηνύματα στέλνουμε σε συσκευές υλικού ή αυτόνομες υπηρεσίες λογισμικού, όπως τους φορείς μηνυμάτων (message buses)

Σύγχρονο – Ασύγχρονο μήνυμα

Είδη-συμβολισμοί μηνυμάτων

Φύλακες (Guards) Ελέγχουν την δυνατότητα εκτέλεσης μιας λειτουργίας

Συνδιασμένα πλαίσια (11 τύποι) Εναλλακτικά (Alternatives) Αμοιβαία αποκλειόμενη επιλογή “If then else”

Επιλογή (Option)

Βρόχοι (Loops)

Αναφορά σε άλλες Περ. Χρήσης «include»

Πύλες (Gates)

Παύση (Break)

Παράλληλα (Ταυτόχρονα)

Γενικές κατευθυντήριες γραμμές Η διάταξη των μηνυμάτων γίνεται από αριστερά προς δεξιά Τοποθέτησε τις κλάσεις (έννοιες) Οι χρήστες να παίρνουν τα ονόματα από το διάγραμμα Π.Χ. Τα ονόματα κλάσεων να είναι συνεπή με αυτά του Ενν. μοντέλου Το όνομα χρήστη μπορεί να είναι ίδιο με μιας κλάσης Χρησιμοποίησε λεκτική περιγραφή κάποιας λογικής, όταν απαιτείται Τοποθέτησε χρήστες (άτομα, οργανισμούς) στα αριστερά του διαγράμματος Τοποθέτησε αλληλεπιδρώντες χρήστες-συστήματα στα δεξιά του διαγράμματος Απέφυγε την απεικόνιση της καταστροφής αντικειμένων

Κατευθυντήριες γραμμές για κλάσεις Ονομάτιζε τα αντικείμενα όταν αναφέρονται σε μηνύματα Ονομάτιζε τα αντικείμενα όταν υπάρχουν περισσότερα από ένα του ίδιου τύπου (κλάσης) Χρησιμοποίησε συστηματικά λεκτικά στερεότυπα Χρησιμοποίησε οπτικά στερεότυπα με φειδώ Εστίασε στις κρίσιμες αλληλεπιδράσεις

Κατευθυντήριες γραμμές για μηνύματα Να τοποθετείς τα ονόματα μηνυμάτων δίπλα στον δείκτη του βέλους Να δημιουργείς τα αντικείμενα άμεσα Χρησιμοποίησε τις υπογραφές λειτουργιών στα μηνύματα λογισμικού Γράψε λεκτικά μηνύματα που αναφέρονται σε χρήστες-άτομα ή οργανισμούς Να προτιμάς ονόματα αντί τύπων για τις παραμέτρους Τα μηνύματα σε κλάσεις υλοποιούνται ως στατικές λειτουργίες Χρησιμοποίησε το στερεότυπο <<include>> για κλήσεις σε περιπτώσεις χρήσης

Κατευθυντήριες γραμμές για επιστροφές τιμών Μην απεικονίζεις μια τιμή επιστροφής όταν είναι προφανές τι επιστρέφεται Να απεικονίζεις μια τιμή επιστροφής μόνο όταν πρόκειται να αναφερθείς σ’ αυτό κάπου αλλού Γράψε τις τιμές επιστροφής δίπλα στον δείκτη του βέλους Απεικόνιζε τιμές επιστροφής ως μέρος κλήσης μεθόδων Απεικόνιζε τους τύπους των τιμών επιστροφής αν κρίνεται αναγκαίο Απεικόνιζε την πραγματική τιμή για απλές τιμές

ΔΙΑΓΡΑΜΜΑ ΣΥΝΕΡΓΑΣΙΑΣ COLLABORATION DIAGRAM or COMMUNICATION DIAGRAM

Σύνδεσμοι http://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html#duration_constraint