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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

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

3 Διαγράμματα UML Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Διάγραμμα καταστάσεων (state diagram) Διαγράμματα υλοποίησης (physical diagrams) Διάγραμμα συστατικών (component diagram) Διάγραμμα ανάπτυξης (deployment diagram)

4 Άξονες Μοντελοποίησης Λειτουργικότητα functionality Τι κάνει το σύστημα; Ποιες λειτουργίες υποστηρίζει; Ανάλυση απαιτήσεων Περιγραφές από κείμενο Στατικά διαγράμματα Πώς είναι οργανωμένα τα συστατικά του τμήματα; Δυναμική συμπεριφορά Πώς ανταποκρίνεται και από ποιες καταστάσεις περνάει; Δομή structure Συμπεριφορά behaviour

5 Κατηγοριοποίηση Διαγραμμάτων UML 2.0

6 Μοντελοποίηση με τη γλώσσα UML Περιγραφή Λειτουργίας από την πλευρά του χρήστη Στατική δομή Δυναμικά χαρακτηριστικά - Συμπεριφορά Μοντελοποίηση Απαιτήσεων Μοντελοποίηση στατικής δομής του συστήματος Μοντελοποίηση δυναμικών χαρακτηριστικών του συστήματος Μοντελοποίηση της συμπεριφοράς συγκεκριμένων αντικειμένων Μοντελοποίηση των βημάτων εκτέλεσης μιας διαδικασίας Σενάρια, Διαγράμματα περιπτώσεων χρήσης (Scenaria, Use Case Diagrams) Διαγράμματα Κλάσεων (Class Diagrams) Διαγράμματα Αντικειμένων (Object Diagrams) Διαγράμματα Συστατικών (Component Diagrams) Διαγράμματα Ανάπτυξης (Deployment Diagrams) Διαγράμματα Ακολουθίας (Sequence Diagrams) Διαγράμματα Επικοινωνίας (Collaboration Diagrams Communication Diagrams στη UML 2.0) Διαγράμματα Κατάστασης (State Machine Diagrams) Διαγράμματα Δραστηριότητας (Activity Diagrams)

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

8 Δυναμικά μοντέλα Παρουσιάζουν τον τρόπο με τον οποίο πολλά αντικείμενα ή ομάδες αντικειμένων συνεργάζονται και αλληλεπιδρούν μεταξύ τους σε μια περίπτωση χρήσης για την ολοκλήρωση μιας εργασίας Χρησιμοποιούνται και στη φάση της ανάλυσης του συστήματος λογισμικού και στη φάση της σχεδίασης Αφορούν συμπεριφορά! Τι εξυπηρετεί όμως η μοντελοποίηση της συμπεριφοράς? Για να δείξουμε τα μηνύματα που ανταλλάσσονται μεταξύ των αντικειμένων στα πλαίσια μιας περίπτωσης Χρήσης και τη σειρά αυτών Πώς επικοινωνούν τα αντικείμενα ενός μοντέλου; Παρατήρηση: Αν μοντελοποιήσουμε τη συμπεριφορά λεπτομερειακά, είναι σαν να υλοποιούμε το σύστημα! Άρα πρέπει να εστιάζουμε στα σημαντικά σημεία (the key aspects)

9 Δυναμικά μοντέλα Παράδειγμα... Πώς υπολογίζεται η τιμή της παραγγελίας?

10 Δυναμικά μοντέλα Συνήθως σε ένα αντικειμενοστρεφές σύστημα, χρησιμοποιούμε τους εξής τύπους μοντέλων για να μοντελοποιήσουμε τη συμπεριφορά: Διάγραμμα καταστάσεων (state diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Τα διαγράμματα αλληλεπίδρασης περιέχουν και απεικονίζουν την ίδια πληροφορία που καθορίζεται από την αλληλεπίδραση και είναι συμπληρωματικά. Έχουν διαφορετική μορφή δίνοντας έμφαση σε διαφορετική οπτική γωνία και όψη της αλληλεπίδρασης (σε πολλά εργαλεία το ένα είδος διαγράμματος παράγεται αυτόματα από το άλλο)

11 Διαγράμματα αλληλεπίδρασης Τα διαγράμματα αλληλεπίδρασης περιγράφουν τον τρόπο με τον οποίο μια ομάδα αντικειμένων συνεργάζεται Ένα διάγραμμα συνήθως περιγράφει τη συμπεριφορά σε μια Περίπτωση Χρήσης. Δείχνει παραδείγματα αντικειμένων που εμπλέκονται και τα μηνύματα που ανταλλάσσονται μεταξύ τους κατά τη διάρκεια της Περίπτωσης Χρήσης. Use Case 3 Interaction Diagrams

12 Διαγράμματα αλληλεπίδρασης Αλληλεπίδραση (interaction): το σύνολο των μηνυμάτων που ανταλλάσσονται μεταξύ των αντικειμένων Μήνυμα: μονόδρομη επικοινωνία μεταξύ δύο αντικειμένων ροή ελέγχου με πληροφορία από αποστολέα προς αποδέκτη Ένα μήνυμα μπορεί να έχει παραμέτρους μεταφέροντας τιμές μεταξύ των αντικειμένων Η ακολουθία των μηνυμάτων παρουσιάζεται: είτε με διαγράμματα ακολουθίας που εστιάζουν στη χρονική ακολουθία των μηνυμάτων είτε με διαγράμματα επικοινωνίας που εστιάζουν στις σχέσεις μεταξύ των αντικειμένων που ανταλλάσσουν μηνύματα

13 Διαγράμματα αλληλεπίδρασης Η διαδικασία απεικόνισης της συνεργασίας των αντικειμένων του συστήματος μέσω των αλληλεπιδράσεων είναι σημαντική: μέσω αυτής προκύπτουν οι λειτουργίες που πρέπει να υποστηρίζουν τα αντικείμενα του συστήματος ή ακόμα και τα ίδια τα αντικείμενα και οι κλάσεις

14 Διαγράμματα Αλληλεπίδρασης Διάγραμμα ακολουθίας (Sequence Diagram) Αναπαριστά τη χρονική σειρά εκτέλεσης των γεγονότων που λαμβάνουν χώρα κατά τη διάρκεια της αλληλεπίδρασης δίνει επομένως έμφαση στη χρονική ακολουθία μηνυμάτων! Κάθετη διάσταση (vertical dimension) (χρόνος) και Οριζόντια διάσταση (horizontal dimension) (διαφορετικά αντικείμενα)

15 Διαγράμματα Αλληλεπίδρασης Διάγραμμα επικοινωνίας (Communication Diagram) Αναπαριστά και τις σχέσεις μεταξύ των αντικειμένων. Καλό για την κατανόηση των επιπτώσεων σε ένα στιγμιότυπο/αντικείμενο Το διάγραμμα επικοινωνίας απαιτεί λιγότερο σχεδιαστικό χώρο μια και η διάταξη των αντικειμένων είναι ελεύθερη στο χώρο και επομένως προτιμάται όταν έχουμε πολλά αντικείμενα σε μία αλληλεπίδραση ή όταν σχεδιάζουμε ένα διάγραμμα με το χέρι

16 Διαγράμματα Αλληλεπίδρασης Διάγραμμα ακολουθίας (Sequence Diagram) δεν αναπαριστά τις σχέσεις μεταξύ των αντικειμένων αλλά μόνο τον τρόπο αλληλεπίδρασής τους Διάγραμμα επικοινωνίας (Communication Diagram) αναπαριστά τα αντικείμενα και τις σχέσεις μεταξύ τους ανεξάρτητα από την αλληλεπίδρασή τους

17 Διάγραμμα Ακολουθίας Απεικονίζει τη σειρά των ενεργειών ενός σεναρίου στον άξονα του χρόνου Εξηγεί ποιος δράστης εκκινεί μια ενέργεια και με ποιον δράστη συνεργάζεται ΟΧΙ εναλλακτικές πορείες ΜΟΝΟ η κύρια ροή προς την επιτυχημένη κατάληξη

18 Διάγραμμα ακολουθίας Σε κάθε αντικείμενο αντιστοιχεί μία κάθετη γραμμή που ονομάζεται γραμμή ζωής (lifeline). Για όσο χρόνο ένα αντικείμενο υφίσταται, η γραμμή αυτή είναι διακεκομμένη ενώ για όσο χρόνο μία διαδικασία του εν λόγω αντικειμένου είναι ενεργή, η γραμμή ζωής σχεδιάζεται ως μία διπλή γραμμή (με activation box). Ένα μήνυμα συμβολίζεται ως μία ακμή από τη γραμμή ζωής ενός αντικειμένου προς τη γραμμή ζωής ενός άλλου. Η θέση των ακμών αντιστοιχεί στην τοποθέτησή τους σε σχέση με τον χρόνο (μία ακμή χαμηλότερα από μία άλλη αντιστοιχεί σε μεταγενέστερο χρόνο) Απαντήσεις σε μηνύματα υποδηλώνονται ως οριζόντιες διακεκομμένες ακμές Τα αντικείμενα γράφονται από αριστερά προς τα δεξιά και στον οριζόντιο άξονα Τα αντικείμενα ανταλλάσσουν μηνύματα Οριζόντια γραμμή: δείχνει τα αντικείμενα ως κουτιά Κατακόρυφη γραμμή: χρόνος (αυξάνει προς τα κάτω) Activation box: δείχνει πότε το αντικείμενο είναι ενεργό (στη μνήμη) Μηνύματα: μεταξύ των activation boxes δύο αντικειμένων

19 Στοιχεία διαγραμμάτων ακολουθίας Στοιχείο Περιγραφή Συμβολισμός αντικείμενο Πλαίσιο Ενεργοποίησης Αποστολή Μηνύματος Ένα αντικείμενο αναπαρίσταται με ένα ορθογώνιο στο οποίο αναγράφεται το όνομα του αντικειμένου στη συνέχεια μία άνω κάτω τελεία και ακολουθεί το όνομα της κλάσης στην οποία ανήκει. Κάτω από κάθε αντικείμενο εκτείνεται μια διακεκομμένη γραμμή που αντιστοιχεί στη γραμμή ζωής του αντικειμένου. Όταν λαμβάνεται ένα μήνυμα ξεκινά ένα πλαίσιο ενεργοποίησης (διπλή γραμμή) το οποίο αντιστοιχεί στη διάρκεια εκτέλεσης της λειτουργίας εξυπηρέτησης του μηνύματος. Μία προσανατολισμένη ακμή από το αντικείμενο που αποστέλλει το μήνυμα προς το αντικείμενο που είναι αποδέκτης. Υλοποιείται με μία λειτουργία στην κλάση του αντικειμένου που είναι αποδέκτης του μηνύματος. Στο παράδειγμα η τάξη Department θα πρέπει να έχει μία μέθοδο με όνομα getcustomer( ). Αν η αποστολή του μηνύματος γίνεται υπό συνθήκη, η συνθήκη μπαίνει σε αγκύλες πριν το όνομα του μηνύματος. Αν το μήνυμα αποστέλλεται επαναληπτικά, συμβολίζεται με ένα αστεράκι πριν το όνομα του μηνύματος. Bob : Employee Sales : Departm ent 1: getcusto mer( ) Sales : Department Sales : Department

20 Στοιχεία διαγραμμάτων ακολουθίας Επιστροφή Μηνύματος Μία διακεκομμένη ακμή που επιστρέφει από το κληθέν αντικείμενο σε αυτό που πραγματοποίηση την κλήση υποδηλώνοντας ολοκλήρωση της λειτουργίας εξυπηρέτησης ενός μηνύματος. (Προαιρετικό) PayForm : Form Αυτο-κλήση Αποστολή μηνύματος ενός αντικειμένου στον εαυτό του ή αλλιώς κλήση μιας μεθόδου του αντικειμένου από το ίδιο το αντικείμενο. 3: HighlightAm ount( ) Ασύγχρονο Μήνυμα Ένα ασύγχρονο μήνυμα δεν εμποδίζει το αντικείμενο που πραγματοποιεί την κλήση να συνεχίσει την όποια λειτουργία του χωρίς να αναμένει αν το μήνυμα λήφθηκε ή όχι. Συνεπώς, ένα ασύγχρονο μήνυμα δημιουργεί ένα νέο νήμα εκτέλεσης ή μπορεί να δημιουργήσει ένα νέο αντικείμενο. Accounting : Departm ent 1: create( ) Bob : Employee

21 Αντικείμενο Ονομασία αντικειμένου: συντακτικό: [instancename][:classname] Η ονομασία των κλάσεων θα πρέπει να είναι συνεπής με το class diagram (ίδιες κλάσεις). Πρέπει να περιλαμβάνουμε και instance names όταν αντικείμενα αναφέρονται σε μηνύματα ή όταν αρκετά αντικείμενα του ιδίου τύπου υπάρχουν στο διάγραμμα mybirthdy :Date

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

23 Διάγραμμα ακολουθίας F red : Student Fred : Φοιτητής : Πρόγραμμα Μ αθημάτων ΠλάνοFred : Πλάνο Σπο υδών ΑντίγραφοFred : Αντί γραφο OBJ101 : Τ άξη 1: Εισαγωγή 2: παρουσίαση προγράμματος 3: πρόγραμμα παρουσιάστηκε 4: αίτηση θέσης 5: έλεγξε πλάνο σπουδών 6: ΟΚ 7: έλεγξε προαπαιτούμεν α 8: ΟΚ 9: επιβεβαίωση διαθεσιμότητας 10: πρόσθεσε Μ άθημα 11: εκτύπωση μηνύματος επιβεβαίωσης

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

25 Γεγονότα Η αλληλεπίδραση μεταξύ αντικειμένων ενεργοποιείται από γεγονότα Γεγονός είναι οποιοδήποτε εξωτερικό ερέθισμα σε ένα αντικείμενo, που σηματοδοτείται ως λήψη ενός μηνύματος. Ένα γεγονός μπορεί να ενεργοποιείται από: εξωτερικούς χρήστες (click στο mouse) άλλα υπολογιστικά συστήματα (λήψη ενός ) άλλο αντικείμενο στο ίδιο σύστημα (αλυσιδωτή ενεργοπ.) την πάροδο του χρόνου Όταν ένα αντικείμενο ειδοποιηθεί για ένα γεγονός μέσω μηνύματος, μπορεί να: αλλάξει την κατάστασή του στείλει μήνυμα (γεγονός) σε άλλο αντικείμενο επιστρέψει μία τιμή αγνοήσει το γεγονός

26 Γεγονότα Όταν ένα αντικείμενο ειδοποιηθεί για ένα γεγονός μέσω μηνύματος, μπορεί να αλλάξει την κατάστασή του... class Professor { public: addstudent(student* s) {πρόσθεσε το s στο supervisedstudents;} private: std::list<student*> supervisedstudents; }; addstudent (&Joe) Professor Joe

27 Γεγονότα Όταν ένα αντικείμενο ειδοποιηθεί για ένα γεγονός μέσω μηνύματος, μπορεί να στείλει μήνυμα (γεγονός) σε άλλο αντικείμενο... class Section { public: addstudent(student* s) { στείλε μήνυμα στο course; } private: }; Course* course; addstudent (Joe) Professor enrollstudent (Joe) ένα άλλο αντικείμενο μπορεί να χειρίζεται την εκτύπωση ή την εμφάνιση στην οθόνη Math101 Κλασσικό παράδειγμα delegation (κατανομής αρμοδιοτήτων) όπου ένα αντικείμενo υποστηρίζει μία λειτουργία άλλου αντικειμένου

28 Γεγονότα Όταν ένα αντικείμενο ειδοποιηθεί για ένα γεγονός μέσω μηνύματος, μπορεί να επιστρέψει μία τιμή... class Section { public: whatisthecapacity() { επιστροφή τιμής capacity; } private: Course* course; int capacity; }; 25 whatisthecapacity Section1 Κλασσικό παράδειγμα get συναρτήσεων

29 Γεγονότα Όταν ένα αντικείμενο ειδοποιηθεί για ένα γεγονός μέσω μηνύματος, μπορεί να αγνοήσει το γεγονός... Παράδειγμα: Έστω ότι ο Καθηγητής λαμβάνει το μήνυμα Προσθήκη ενός Φοιτητή στους Επιβλεπόμενους. Αν ο φοιτητής είναι ήδη εγγεγραμμένος στη λίστα, το αντικείμενο Καθηγητής δεν θα κάνει τίποτα δηλαδή δεν θα αλλάξει κατάσταση, ούτε θα αποστείλει νέο μήνυμα

30 Διαγράμματα ακολουθίας Κατά τη μελέτη σεναρίων (ανάπτυξη διαγραμμάτων ακολουθίας) είναι πιθανό να προκύψουν νέες κλάσεις, ιδιότητες και σχέσεις και συνεπώς να τροποποιηθεί το στατικό μοντέλο. Κάτι τέτοιο συμβαίνει συχνά και είναι επιθυμητό Αν για παράδειγμα από τη μελέτη διαφόρων διαγραμμάτων ακολουθίας προκύπτει ότι δύο αντικείμενα αποκρίνονται με τον ίδιο τρόπο στα διάφορα δυνατά μηνύματα, τότε τα δύο αυτά αντικείμενα είτε θα ανήκουν στην ίδια κλάση είτε θα ανήκουν σε κλάσεις που συνδέονται με σχέση κληρονομικότητας. Υπό αυτή την έννοια, η επαναληπτική εξέταση διαγραμμάτων ακολουθίας και διαγραμμάτων κλάσεων οδηγεί στην ανάπτυξη του τελικού συστήματος, πολύ πριν αρχίσει η φάση της κωδικοποίησης. Θα πρέπει να γίνει κατανοητό, ότι αυτή η επαναληπτική διαδικασία στη φάση της ανάλυσης βρίσκεται στο επίκεντρο της αντικειμενοστρεφούς μεθοδολογίας για την ανάπτυξη συστημάτων

31 Χρήση διαγραμμάτων ακολουθίας για τον καθορισμό μεθόδων Αυτο-κλήσεις υποδηλώνουν λειτουργίες που το αντικείμενο πραγματοποιεί στον εαυτό του: είτε ιδιωτικές μεθόδους είτε δημόσια διαθέσιμες μεθόδους που μπορούν να χρησιμοποιήσουν και άλλα αντικείμενα Η εξέταση όλων των διαγραμμάτων ακολουθίας (σεναρίων) θα αποκαλύψει τις περισσότερες λειτουργίες/μεθόδους του συστήματος Ωστόσο, κάποιες από τις μεθόδους δεν θα έρθουν στην επιφάνεια μέχρι την υλοποίηση του συστήματος. ΑΝΑΜΕΝΟΜΕΝΟ!

32 Παράδειγμα διαγράμματος ακολουθίας συμμετέχων γραμμή ζωής επιστροφή μήνυμα αυτο-κλήση πλαίσιο ενεργοποίησης

33 Τύποι μηνυμάτων Call: κλήση μιας λειτουργίας (Invocation of an operation) Ένα αντικείμενο μπορεί να στείλει ένα μήνυμα στον εαυτό του (local invocation of an operation) Return: επιστρέφει μια τιμή στον καλούντα (returns a value to the caller) Send: στέλνει ένα σήμα (signal) σε ένα αντικείμενο Create: δημιουργεί ένα αντικείμενο Destroy: καταστρέφει ένα αντικείμενο

34 Απεικόνιση μηνυμάτων Ένα βέλος μεταξύ των κατακόρυφων γραμμών δυο αντικειμένων Το βέλος συνοδεύεται από όνομα μηνύματος (π.χ. όνομα της καλούμενης λειτουργίας) Πιθανά ορίσματα (possible arguments) Πληροφορίες ελέγχου (control info) condition: δείχνει το πότε το μήνυμα στέλνεται, π.χ. [outofstock] iteration marker: δείχνει ότι το μήνυμα στέλνεται πολλές φορές σε πολλαπλά αντικείμενα, π.χ. *[for all order lines] // for UML 1. Τα μηνύματα επιστροφής (Return messages) συμβολίζονται με διάστικτα βέλη (<- -) Μπορούμε να τα παραλείψουμε και να δείξουμε μόνο τα κρίσιμα.

35 Ενέργεια κλήσης Καλεί σε ενέργεια μια λειτουργία ενός αντικειμένου Η επικοινωνία είναι σύγχρονη (synchronous) Απεικονίζεται με ένα βέλος από το καλών αντικείμενο προς το αντικείμενο λήψης : Class Object: Class action name action name lifeline ενέργεια κλήσης Κλήση αντικειμένου προς τον εαυτό του

36 Ενέργεια επιστροφής Η επιστροφή τιμής στον αποστολέα σαν απάντηση σε ενέργεια κλήσης. Απεικονίζεται με ένα βέλος διακεκομμένων γραμμών από το αντικείμενο που επιστρέφει την τιμή προς το αντικείμενο που την λαμβάνει. : Class Object: Class return value

37 Παράδειγμα κλήσης επιστροφής : Customer : ΑΤΜ assignpin() OK pin

38 Ενέργεια δημιουργίας Καλεί μία κλάση να δημιουργήσει μία εκδοχή της (instance), δηλ. ένα αντικείμενο της. Απεικονίζεται με ένα βέλος και το στερεότυπο <<create>> από το αντικείμενο που καλεί την ενέργεια προς το δημιουργούμενο αντικείμενο. Object: Class : Class Object: Class <<create>> ή <<create>> : Class

39 Ενέργεια δημιουργίας :A :B :A <<create>> <<create>> :B Constructor

40 Ενέργεια διαγραφής Καλεί ένα αντικείμενο να διαγραφεί. Η διαγραφή αφορά, είτε άλλο αντικείμενο, είτε τον εαυτό του. Απεικονίζεται με ένα βέλος και το στερεότυπο <<destroy>> από το αντικείμενο που καλεί την ενέργεια προς το διαγραφόμενο αντικείμενο. Object: Class : Class <<destroy>> X

41 Ενέργεια αποστολής Η αποστολή σήματος (signal) προς ένα αντικείμενο. Η επικοινωνία είναι ασύγχρονη (asynchronous). Π.χ. οι εξαιρέσεις (exceptions) Απεικονίζονται με ένα βέλος με μισή αιχμή στο αντικείμενο λήπτη του σήματος. : Class Object: Class action name

42 Παραδείγματα μηνυμάτων Person * employment 0..1 Company Διάγραμμα κλάσεων +assign(task:string) Αντικείμενο τύπου Person μήνυμα assign(task) p:person c:company John:Person assign( Prepare slides ) C1:Company Message instance

43 Παραδείγματα μηνυμάτων Ποια είναι τα δυνατά μηνύματα θεωρώντας το διάγραμμα κλάσεων? Α +a1() +a2() Β +b1() +b2() a1() a2() b1() b2() a1() a2() b1() b2()

44 Αλληλεπίδραση των αντικειμένων του μοντέλου Πώς υπολογίζεται η τιμή της παραγγελίας?

45 Διάγραμμα ακολουθίας Υπολογισμός της τιμής μιας γραμμής παραγγελίας Παράμετρος Μήνυμα επιστροφής Δείχνουμε μόνο τα κρίσιμα, που βοηθούν την κατανόηση

46 Παράδειγμα διαγράμματος ακολουθίας διαφορετικής υλοποίησης Υπολογισμός της τιμής μιας γραμμής παραγγελίας Self-call

47 Συγκρίνοντας τα δύο διαγράμματα distributed control -Η επεξεργασία πραγματοποιείται από ένα σύνολο αντικειμένων -είναι πιο κοντά στο αντικειμενοστρεφές στυλ προγραμματισμού centralized control -πιο απλός -όλη η επεξεργασία γίνεται σε ένα σημείο

48 Συγκρίνοντας τα δύο διαγράμματα Customer Εδώ μόνο τα αντικείμενα που είναι συσχετισμένα επικοινωνούν Order Order line Product Εδώ μια Order επικοινωνεί με ένα Product (παρόλο που αυτά τα αντικείμενα δεν σχετίζονται στο διάγραμμα κλάσεων)

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

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

51 Διαγράμματα ακολουθίας Γενικά, τα διαγράμματα ακολουθίας δεν είναι κατάλληλα στο να δείχνουν λεπτομέρειες (αλγόριθμους με βρόχους loops και συμπεριφορές υπό συνθήκη) ΑΛΛΑ δείχνουν πολύ ξεκάθαρα τις κλήσεις μεταξύ των συμμετεχόντων και ποιοι συμμετέχοντες κάνουν ποια επεξεργασία Παρόλ αυτά, η UML προσφέρει τα πλαίσια αλληλεπίδρασης (interaction frames) για τη μοντελοποίηση βρόχων και συνθηκών σε διαγράμματα ακολουθίας

52 Βρόχοι (loops) Σε αυτό το διάγραμμα δεν φαίνεται πουθενά ότι οι εικονιζόμενες κλήσεις πρέπει να γίνουν για κάθε παραγγελιογραμμή (OrderLine) μιας Παραγγελίας (Order)

53 Μοντελοποιώντας τη δομή ελέγχου (βρόχοι, συνθήκες) procedure dispatch End foreach (lineitem) if (product.value > $10K) else endfor endif careful.dispatch regular.dispatch if (needsconfirmation) messenger.confirm Δεν είναι αυτή η έμφαση των Διαγραμμάτων Ακολουθίας Θα μπορούσαμε να χρησιμοποιήσουμε Activity Diagrams ή ψευδοκώδικα για αυτόν το σκοπό.

54 Μοντελοποιώντας τη δομή ελέγχου (βρόχοι, συνθήκες)

55 Μοντελοποιώντας τη δομή ελέγχου (βρόχοι, συνθήκες)

56 Μοντελοποιώντας τη δομή ελέγχου (βρόχοι, συνθήκες)

57 Μοντελοποιώντας τη δομή ελέγχου (βρόχοι, συνθήκες)

58 Τελεστές ελέγχου διαγραμμάτων ακολουθίας Τελεστής alt: Το σώμα ενός υποθετικού τελεστή χωρίζεται σε περιοχές με τη χρήση διακεκομμένων γραμμών. Κάθε περιοχή αναπαριστά ένα εναλλακτικό τμήμα μιας συνθήκης και περιέχει μια συνθήκη. Αν η συνθήκη μιας περιοχής ικανοποιείται, τότε αυτή η περιοχή εκτελείται. Αν καμία συνθήκη δεν ικανοποιείται, τότε δεν εκτελείται καμία περιοχή. Στον υποθετικό τελεστή υπάρχει η δυνατότητα μια περιοχή να έχει τη συνθήκη (else) η οποία εκτελείται όταν καμία άλλη συνθήκη δεν ικανοποιείται. Τελεστής opt: τα μηνύματα που εμπεριέχονται σε ένα προαιρετικό τελεστή εκτελούνται μόνο αν ικανοποιείται η λογική (boolean) συνθήκη που βρίσκεται μέσα σε αγκύλες [ ] (ισοδύναμο με το alt με ένα τμήμα)

59 Τελεστές ελέγχου διαγραμμάτων ακολουθίας Τελεστής par: παράλληλη συμπεριφορά/εκτέλεση, το σώμα ενός τελεστή παράλληλης εκτέλεσης χωρίζεται σε περιοχές με τη χρήση διακεκομμένων γραμμών. Κάθε περιοχή εκτελείται παράλληλα (ταυτόχρονα) με τις υπόλοιπες περιοχές. Η εκτέλεση των μηνυμάτων σε κάθε περιοχή πραγματοποιείται σειριακά. Ο τελεστής παράλληλης εκτέλεσης δεν πρέπει να χρησιμοποιείται όταν οι διαφορετικές περιοχές αλληλεπιδρούν Τελεστής loop: στην επαναληπτική εκτέλεση υπάρχει μια συνθήκη η οποία καθορίζει πόσες φορές θα εκτελεστεί επαναληπτικά το σώμα αυτού του τελεστή. Όσο η συνθήκη είναι αληθής, εκτελείται επαναληπτικά το σώμα του τελεστή και όταν αυτή η συνθήκη είναι ψευδής, συνεχίζεται η εκτέλεση έξω από το σώμα του τελεστή.

60 Τελεστές ελέγχου διαγραμμάτων ακολουθίας Τελεστής break: Το σώμα ενός τελεστή διακοπής περιέχει μια συνθήκη. An αυτή η συνθήκη ικανοποιείται, εκτελούνται οι ενέργειες που περιέχονται στο σώμα του τελεστή διακοπής και διακόπτεται η διαδικασία. Aν η συνθήκη δεν ικανοποιείται συνεχίζεται η διαδικασία μετά τον τελεστή διακοπής. Τελεστής neg: άρνηση. Το τμήμα δείχνει μη έγκυρη αλληλεπίδραση Τελεστής ref: αναφορά. Το τμήμα αναφέρεται σε αλληλεπίδραση που ορίζεται σε άλλο διάγραμμα Τελεστής sd: διάγραμμα ακολουθίας για να περικλείσει ολόκληρο το διάγραμμα ακολουθίας Τελεστής region: κρίσιμο τμήμα. Το πλαίσιο μπορεί να έχει μόνο ένα νήμα εκτέλεσης κάθε φορά

61 Hotel reservation

62 Hotel reservation Το αντικείμενο που ενεργοποιεί την ακολουθία μηνυμάτων είναι Reservation window Στέλνει μήνυμα makereservation() στο HotelChain Το HotelChain στέλνει μήνυμα makereservation() στο Hotel Αν το Hotel έχει διαθέσιμα δωμάτια, τότε κάνει Reservation και Confirmation. Κάθε κάθετη γραμμή είναι η γραμμή ζωής που αναπαριστά το χρόνο που ένα αντικείμενο υπάρχει. Κάθε βέλος είναι κλήση μηνύματος. Ένα μήνυμα πάει από τον sender στην κορυφή του activation bar του μηνύματος στη γραμμή ζωής του receiver. Το activation bar αναπαριστά τη διάρκεια εκτέλεσης του μηνύματος Το Hotel issues a self call για να καθορίσει αν υπάρχει δωμάτιο διαθέσιμο. Αν ναι, το Hotel δημιουργεί Reservation και Confirmation. Ο αστερίσκος σημαίνει iteration (διαθέσιμο δωμάτιο για κάθε μέρα της παραμονής). Έκφραση σε [ ] συνθήκη. Το διάγραμμα έχει και μία επεξηγηματική σημείωση

63 Παράδειγμα: Ανάληψη μετρητών από ΑΤΜ

64 Χρήση τελεστή sd

65 Χρήση τελεστών sd, loop

66 Χρήση τελεστών sd, loop, opt

67 Χρήση τελεστών sd, loop, opt, par

68 Έστω ότι έχουμε ήδη ορίσει τα παρακάτω 2 διαγράμματα

69 Με τη χρήση του τελεστή ref, μπορούμε να τα επαναχρησιμοποιήσουμε

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

71 Διάγραμμα Επικοινωνίας - Communication Diagram (UML 2.0) ~ Collaboration Diagrams (UML v1.3) Είναι μια εναλλακτική αποτύπωση του διαγράμματος ακολουθίας. Αντί να διαρθρώσουμε τα μηνύματα κατά τον άξονα του χρόνου, τα τοποθετούμε πάνω σε ένα διάγραμμα αντικειμένων. Δείχνει την αλληλεπίδραση ανάμεσα στις κλάσεις για μια περίπτωση χρήσης, χωρίς να είναι διαρθρωμένο κατά τον άξονα του χρόνου. Χρήση: Αποτυπώνει τη συμπεριφορά των κλάσεων κατά την 'εκτέλεση' της περίπτωσης χρήσης. Φάσεις: ανάλυση, σχεδίαση

72 Διάγραμμα Επικοινωνίας Μία επικοινωνία ορίζει ένα σύνολο συμμετεχόντων και σχέσεων που έχουν νόημα για το συγκεκριμένο σύνολο στόχων. Ο προσδιορισμός των συμμετεχόντων και των σχέσεων τους δεν έχει καθολική έννοια. Οι συμμετέχοντας ορίζουν τους ρόλους που παίζουν τα αντικείμενα όταν αλληλεπιδρούν μεταξύ τους. Συνεπώς, μία συνεργασία καθορίζει ένα σύνολο ρόλων classifier και ρόλων συσχετίσεων. Τα αντικείμενα που ικανοποιούν (ή συνδέονται) με τους ρόλους classifier παίζουν τους ρόλους που αυτοί καθορίζουν, ενώ οι σύνδεσμοι ανάμεσα στα αντικείμενα θα πρέπει να ικανοποιούν τους ρόλους συσχέτισης της συνεργασίας. Ένα ρόλος classifier (ρόλος συσχέτισης) ορίζει μία χρήση του αντικειμένου (συνδέσμου), ενώ μία κλάση (συσχέτιση) καθορίζει όλες τις ιδιότητες του αντικειμένου (συνδέσμου).

73 Διάγραμμα Επικοινωνίας Στο πλαίσιο μίας συνεργασίας ορίζεται μία αλληλεπίδραση. Καθορίζει τα patterns επικοινωνίας ανάμεσα στους ρόλους. Πιο συγκεκριμένα, περιέχει ένα σύνολο μερικά ταξινομημένων μηνυμάτων, κάθε ένα από τα οποία καθορίζει μία επικοινωνία, π.χ. ποιο σήμα θα σταλεί ή ποια πράξη θα ενεργοποιηθεί, καθώς και τους ρόλους που θα πρέπει να παίξουν ο αποστολέας και ο παραλήπτης, αντίστοιχα. Επομένως το διάγραμμα επικοινωνίας δείχνει τις μεθόδους που θα υλοποιεί κάθε κλάση και ποια άλλη κλάση θα τις καλεί.

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

75 Διάγραμμα Επικοινωνίας

76 Διάγραμμα Επικοινωνίας 1: insertcard (c ustomer) 2: pickdate (date) 4: select (seats) : Kiosk : actor 3: offer (seatchoice) 9: print (order) 8: OK 5: subm it (order) 6: charge (customer, amount) : Server : CreditS ervic e 7: confirmation

77 Διάγραμμα Επικοινωνίας Fred : Φοιτητής 1: Εισαγωγή 9: επιβεβαίωση διαθεσιμότητας Fred : Student 2: παρουσίαση προγράμματος 3: πρόγραμμα παρουσιάστηκε : Πρ όγραμμα Μ αθημάτων 10: πρόσθεσε Μ άθημα 4: αίτηση θέσης 11: εκτύπωση μηνύματος επιβεβαίωσης Αντ ίγρ αφοfred : Αντίγραφο 8: ΟΚ OBJ101 : Τ άξη 6: ΟΚ 7: έ λεγξε προαπαιτούμεν α 5: έλεγξε πλάνο σπουδών ΠλάνοFred : Πλάνο Σπουδών

78 Διάγραμμα Επικοινωνίας

79 Σύμβολα Διαγράμματος Επικοινωνίας 1. Αντικείμενο 2. Απλό μήνυμα 3. Απλή επιστροφή 4. Αναφορά στον εαυτό 5. Αριθμός ακολουθίας 6. Ανώνυμο αντικείμενο 7. Σχόλιο για επανάληψη 79

80 Μετασχηματισμός σε Διάγραμμα Κλάσης Κάθε μήνυμα γίνεται μέθοδος και τοποθετείται στην κλάση από όπου εκπορεύεται. 80

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

82 Οπτική Γωνία κάθε Διαγράμματος Το διάγραμμα επικοινωνίας επικεντρώνεται σε σχέσεις στο χώρο, ενώ το διάγραμμα ακολουθίας σε σχέσεις στο χρόνο. Εργαλεία CASE μπορούν να μετακινούνται από το ένα προς το άλλο διάγραμμα. Το διάγραμμα επικοινωνίας δείχνει τις μεθόδους που θα υλοποιεί κάθε κλάση και ποια άλλη κλάση θα τις καλεί. 82

83 Διαγράμματα αλληλεπίδρασης Αρίθμηση για την απεικόνιση της ακολουθίας των μηνυμάτων που ανταλλάσσονται μεταξύ των αντικειμένων - αριθμοί ακολουθίας. Πλεονέκτημα: καλύτερη χρήση του σχεδιαστικού χώρου (more compact) Μειονέκτημα: πιο δύσκολο να δει κάποιος την ακολουθία σε σύγκριση με τα διαγράμματα ακολουθιών

84 Sequence vs Collaboration Diagrams: Παράδειγμα Μοιάζει με διάγραμμα αντικειμένων που δείχνει συσχετίσεις περάσματος μηνυμάτων αντί για συσχετίσεις

85 Τρόποι Αρίθμησης / Numbering Methods Τρόποι αρίθμησης 1, 2, 3, 1, 1.1, 1.1.1, 1.1.2, 2.1 (Decimal numbering (used by UML)) Τα διαγράμματα επικοινωνίας δεν έχουν συγκεκριμένο notation για λογική ελέγχου με βρόχους και συνθήκες Μπορεί κάποιος να χρησιμοποιήσει markers και φρουρούς (guards)

86 Τρόποι αρίθμησης Γιατί και όχι 1.6??? Procedural (or nested) sequence 1, 2, 2.1, 2.2 Flat sequence 1, 2, 3, 4 ( τα 2.1 και 2.2 εκτελούνται ενώ το αντικείμενο του 2 είναι ακόμη ενεργό

87 Sequence Diagrams vs Communication Diagrams Μερικοί (προγραμματιστές/αναλυτές) προτιμούν τα μεν άλλοι τα δε.

88 Βρείτε τις αλληλεπιδράσεις που λείπουν ELM-01, ELM-02, ELM-03, ELM-04, ELM-05, ELM-06

89 Πότε να χρησιμοποιούμε τι? Διαγράμματα αλληλεπίδρασης? Για να δείξουμε τη συμπεριφορά κάποιων αντικειμένων σε μία Περίπτωση Χρήσης Tip: Εστιάστε στην απλότητα! Αν ο έλεγχος είναι πολύπλοκος, χωρίστε το σε διάφορα διαγράμματα αλληλεπίδρασης Πότε ΔΕΝ χρησιμοποιούμε διαγράμματα αλληλεπίδρασης? Αν θέλουμε να μελετήσουμε τη συμπεριφορά ενός μόνο αντικειμένου σε διάφορες περιπτώσεις χρήσης! Τότε χρησιμοποιούμε διάγραμμα καταστάσεων! Αν θέλουμε να μελετήσουμε τη συμπεριφορά πολλών περιπτώσεων χρήσης, τότε χρησιμοποιούμε διάγραμμα δραστηριοτήτων!

90 Συνοψίζοντας Διαγράμματα ακολουθίας (και διαγράμματα επικοινωνίας): αναπαριστούν τις κλάσεις που συμμετέχουν σε μία περίπτωση χρήσης και τα μηνύματα που ανταλλάσονται μεταξύ τους

91 Πηγές / Acknowledgements Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide. Addison-Wesley Professional 2 Edition, ISBN Pascal Roques, UML in Practice, John Wiley, 2004 UML Fundamentals & OOAD UML 2.0, Αφροδίτη Τσαλγατίδου. Εισαγωγή στη UML, Καποδιστριακό Πανεπιστήμιο Αθηνών Ιωάννης Γαβιώτης. Πληροφοριακά Συστήματα Μοντελοποίηση με UML, Πανεπιστήμιο Αιγαίου Γιάννης Τζίτζικας. Μοντελοποίηση Λειτουργιών, Πανεπιστήμιο Κρήτης Martin Fowler, UML Distilled: a Brief Guide to the Standard Object Modeling Language, 3 rd Edition, Pearson Education Inc., 2004 A. Dennis, B. Haley Wixom, D. Tegarden, Systems Analysis and Design with UML Version 2.0, 2 nd edition, Wiley, 2005.

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

Interaction Diagrams Διαγράμματα Αλληλεπίδρασης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 20/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Interaction Diagrams Διαγράμματα Αλληλεπίδρασης 1 Διαγράμματα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες

Διαβάστε περισσότερα

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

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας 1 ιαγράµµατα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειµένων µέσω µηνυµάτων Η ανάθεση αρµοδιοτήτων περιλαµβάνει µεγάλο

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 26/11/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr State Diagrams Διαγράμματα Καταστάσεων Διαγράμματα UML Διάγραμμα

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 3/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Physical Diagrams Διαγράμματα Υλοποίησης Διαγράμματα UML Διάγραμμα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τα διαγράµµατα ακολουθίας 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα ακολουθίας ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικά στοιχεία των διαγραµµάτων ακολουθίας Τα είδη των µηνυµάτων Παραδείγµατα ιαγράµµατα αλληλεπίδρασης (interaction

Διαβάστε περισσότερα

UML: Unified modelling language

UML: Unified modelling language UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού UML Διαγράμματα Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού

Διαβάστε περισσότερα

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

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

Διαβάστε περισσότερα

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

Περιεχόμενα και Διάρθρωση. Interaction Diagrams Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Interaction Diagrams Περιεχόμενα και Διάρθρωση Εισαγωγή Διαγράμματα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ:

Διαβάστε περισσότερα

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

Εισαγωγή στη γλώσσα UML Κεφάλαιο 1 o Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο Στις πρώτες εποχές των υπολογιστών, οι προγραμματιστές συνήθιζαν να περιορίζονται στην ανάλυση σε βάθος των προβλημάτων που αντιμετώπιζαν.

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 24/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 20/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr State Diagrams Διαγράμματα Καταστάσεων 1 Διαγράμματα UML Διάγραμμα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Παράστασης

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 13/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Activity Diagrams Διαγράμματα Δραστηριοτήτων Διαγράμματα UML

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

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

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης 4η ιάλεξη UML ιαγράμματα αλληλεπίδρασης ιαγράμματα αλληλεπίδρασης Τα διαγράμματα αλληλεπίδρασης είναι μοντέλα που περιγράφουν κάποιες ομάδες αντικειμένων Μπορούν να χρησιμοποιηθούν για να δείξουν ένα σχέδιο

Διαβάστε περισσότερα

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

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 17/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και

Διαβάστε περισσότερα

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

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

Διαβάστε περισσότερα

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

Μέθοδοι μοντελοποίησης Μέθοδοι μοντελοποίησης Ευθύμιος Ταμπούρης tambouris@uom.gr Περιεχόμενα Ο ρόλος των μοντέλων Διαγράμματα Δραστηριοτήτων Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Κλάσεων Διαγράμματα Ακολουθίας Διαγράμματα

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 16/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 15/10/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων

Διαβάστε περισσότερα

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

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

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 9/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων UML - Unified

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

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

Εννοιολογικό Μοντέλο. Conceptual Model Εννοιολογικό Μοντέλο Conceptual Model 1 Εννοιολογικό Μοντέλο (1/2) Αποτελεί: βασικό εργαλείο για τη σχεδίαση εισαγωγή σε διάφορα μέσα τεκμηρίωσης (artifacts) απεικόνιση σημαντικών εννοιολογικών κλάσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

... Unified Modeling Language (UML) UML UML. Μοντελοποίηση? Μοντελοποίηση. Πλεονεκτήµατα ενός µοντέλου. Μεγάλα Έργα Λογισµικού = επικοινωνία

... Unified Modeling Language (UML) UML UML. Μοντελοποίηση? Μοντελοποίηση. Πλεονεκτήµατα ενός µοντέλου. Μεγάλα Έργα Λογισµικού = επικοινωνία UML Unified Modeling Language... (UML) Three Amigos Grady Booch James Rumbaugh Ivar Jacobson Μεγάλα Έργα Λογισµικού = επικοινωνία Πολλαπλέςµονάδες, πολλαπλέςγενιές, πολλοί προγραµµατιστές, πολλοί πελάτες-χρήστες

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης: Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται

Διαβάστε περισσότερα

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 1.1 Εισαγωγή... 19 1.2 Η γλώσσα UML... 20 1.2.1 Μεθοδολογίες ανάπτυξης λογισμικού... 21 1.2.2 Τύποι διαγραμμάτων της UML... 22 1.3 Διαγράμματα της UML... 24

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

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

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

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

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

Διαβάστε περισσότερα

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

Εφαρμογή Μεθοδολογίας ICONIX Πρόγραμμα Μεταπτυχιακών Σπουδών στην Εφαρμοσμένη Πληροφορική Προηγμένη Τεχνολογία Λογισμικού, 2016 Α. Χατζηγεωργίου Εφαρμογή Μεθοδολογίας ICONIX Παράδειγμα: Εγγραφή Φοιτητή σε Μάθημα Θέμα Θεωρείστε ότι

Διαβάστε περισσότερα

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

Διαβάστε περισσότερα

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

Διαγράμματα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Use case diagrams Περιγράφουν τη συμπεριφορά ενός συστήματος από την οπτική γωνία ενός χρήστη. Το μοντέλο περιπτώσεων χρήσης περιλαμβάνει : Τις ίδιες τις περιπτώσεις χρήσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 23/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων

Διαβάστε περισσότερα

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

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams) ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Α.Ε. «Ελληνικό Πλαίσιο Παροχής Υπηρεσιών» Πρόσθετο Υλικό (White Paper) Σημειογραφία των προτύπων BPMN και UML (Activity Φεβρουάριος 2008 PLANET ΑΝΩΝΥΜΗ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΣΥΜΒΟΥΛΕΥΤΙΚΩΝ

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

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

Διάγραμμα Κλάσεων. Class Diagram Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

περιεχόμενα παρουσίασης Ανάλυση Απαιτήσεων περιεχόμενα παρουσίασης Δημιουργία μοντέλου Προσεγγίσεις Μοντελοποίησης Μοντελοποίηση δεδομένων Διαγράμματα ροής δεδομένων Μη διαγραμματικά μοντέλα ανάλυσης Διαγράμματα δραστηριότητας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων και Τροφίμων Σκοποί

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 31/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Διαγράμματα

Διαβάστε περισσότερα

Π2.1 - Σχεδιασμός Πλατφόρμας Παραδοτέο έργου

Π2.1 - Σχεδιασμός Πλατφόρμας Παραδοτέο έργου TRACER Κωδικός Έργου: 09ΣΥΝ-72-942 Π2.1 - Σχεδιασμός Πλατφόρμας Παραδοτέο έργου Ενότητα Εργασίας: 2: Έρευνα και Σχεδιασμός Αριθμός Παραδοτέου: 2.1 Συντονιστής: Π. Κατσαρός (ΑΠΘ) Συντελεστές: Α. Αμπατζόγλου,

Διαβάστε περισσότερα

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

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

Διαβάστε περισσότερα

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

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

Διαβάστε περισσότερα

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

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

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

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της

Διαβάστε περισσότερα

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

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

UML

UML Εισαγωγή στη UML UML Μοντέλο Μοντελοποίηση Εισαγωγή στη UML Πως φθάσαμε στη UML Γέννηση της UML Σκοπός της UML Γιατί Διαγράμματα Τυπικές Μέθοδοι (Formal Methods) Γενικά Ανάλυση και Σχεδίαση με UML [Α]

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 7/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες

Διαβάστε περισσότερα

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Περιπτώσεις Χρήσης (Use Cases)- Γενικά Περίπτωση χρήσης: ένα σύνολο διαδοχικών ενεργειών (που μπορεί να περιλαμβάνει και εναλλακτικές ενέργειες) το οποίο οδηγεί σε ένα χρήσιμο αποτέλεσμαγιαέναν χειριστή

Διαβάστε περισσότερα

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

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού Ιστορικό Ημερομηνία Έκδοση Περιγραφή Συγγραφέας Σελ. 2 Πίνακας Περιεχομένων 1. Εισαγωγή xx

Διαβάστε περισσότερα

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

Χάρτες Ακολουθίας Μηνυμάτων Message Sequence Charts - MSC Χάρτες Ακολουθίας Μηνυμάτων Message Sequence Charts - MSC Τυπικός σχεδιασμός υπηρεσιών και πρωτοκόλλων 14 Ιουνίου 2011 1/24 2/24 H τυποποίηση των χαρτών Οι Χάρτες Ακολουθίας Μηνυμάτων (Message Sequence

Διαβάστε περισσότερα

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

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

Διαβάστε περισσότερα

Περίπτωση Χρήσης Use case

Περίπτωση Χρήσης Use case Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Use Cases & Use Case Diagrams Περίπτωση Χρήσης

Διαβάστε περισσότερα

Κλάσεις και αντικείμενα #include <iostream.h<

Κλάσεις και αντικείμενα #include <iostream.h< Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void

Διαβάστε περισσότερα

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

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web

ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Άσκηση 1 Εφαρµογή Web Α) Τα παραπάνω διαγράµµατα περιπτώσεων χρήσης ικανοποιούν τις απαιτήσεις του συστήµατος ως εξής: ΑΠΑΙΤΗΣΕΙΣ ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ Μόνο οι φοιτητές του συγκεκριµένου

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα