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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

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

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

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Λογισμός ΙΙ. Χρήστος Θ. Αναστασίου Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Μοντελοποίηση Λογικών Κυκλωμάτων

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

ΔΙΔΑΣΚΩΝ: Δρ. Στυλιανός Τσίτσος

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

Εισαγωγή στους Αλγορίθμους

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Ιστορία της μετάφρασης

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Λειτουργικά Συστήματα

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Δομημένος Προγραμματισμός

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

Θεωρία Πιθανοτήτων & Στατιστική

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Αρχιτεκτονική υπολογιστών

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Λογιστικές Εφαρμογές Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Ειδικά Θέματα Δικτύων Ι

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εκκλησιαστικό Δίκαιο

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μάρκετινγκ Αγροτικών Προϊόντων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Λειτουργικά Συστήματα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Γενικά Μαθηματικά Ι. Ενότητα 16: Ολοκλήρωση Τριγωνομετρικών Συναρτήσεων, Γενικευμένα Ολοκληρώματα Λουκάς Βλάχος Τμήμα Φυσικής

Εκκλησιαστικό Δίκαιο

Διδακτική της Πληροφορικής

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

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

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

Εισαγωγή στους Αλγορίθμους

Αυτοματοποιημένη χαρτογραφία

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

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

14η ιάλεξη. Προχωρημένα θέματα σχεδίασης

Διοικητική των επιχειρήσεων

Διοικητική Λογιστική

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αρχιτεκτονική υπολογιστών

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

Μηχανολογικό Σχέδιο Ι

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Ειδικά Θέματα Προγραμματισμού

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

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

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

Οργάνωση και Διοίκηση Πωλήσεων

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

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

Ειδικά Θέματα Δικτύων Ι

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Ανατομία - Φυσιολογία Ακοής Ομιλίας Λόγου

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος)

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Transcript:

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

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Κεντρικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΒΙΟΜΗΧΑΝΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 3

5η ιάλεξη UML Χάρτες κατάστασης

Χάρτες καταστάσεων (Statecharts) Η UML μας δίνει σαν εργαλείο τους χάρτες καταστάσεων για να δείξουμε πως μπορεί να αλλάξει η κατάσταση ενός αντικειμένου

Παράδειγμα Έστω ότι είχαμε μια κλάση «Παραγγελία» Έστω ότι ξέραμε ότι μια «Παραγγελία» μπορεί να είναι είτε «Ανοιχτή» (που σημαίνει ότι μόλις παραλήφθηκε) είτε «Υπό εκτέλεση» (που σημαίνει ότι κάποιος ανέλαβε να την διεκπεραιώσει) είτε «Ολοκληρωμένη» (που σημαίνει ότι η παραγγελία έχει αποσταλεί στον πελάτη).

«καταστάσεις» μιας παραγγελίας

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

Χάρτες καταστάσεων (Statecharts) Σε ένα χάρτη καταστάσεων συμβαίνουν κάποιες ενέργειες οι οποίες αλλάζουν την κατάσταση του συστήματος και τις δραστηριότητες που μπορούν να εκτελεστούν Συνήθως η τριπλέτα Συμβάν[Συνθήκη]/Ενέργεια σημαίνει ότι αν συμβεί το Συμβάν και η Συνθήκη είναι αληθής τότε εκτελείται η Ενέργεια και ολοκληρώνεται η μετάβαση από μια κατάσταση σε μια άλλη. Ενόσω το σύστημα είναι σε μια κατάσταση

Έναρξη Παράδειγμα Συμβάν [Φρουρός] / Ενέργεια Μετάβαση ραστηριότητα /πάρε το πρώτο στοιχείο χουν ελεγθεί όλα τα στοιχεία] άρε το επόμενο στοιχείο Έλεγχος κάνε/έλεγξε στοιχείο Όλα τα στοιχεία ελέγθηκαν && κάποια [στοιχεία δεν υπάρχουν στην αποθήκη] Στοιχείο Παραλήφθηκε [Όλα τα στοιχεία είναι διαθέσιμα] ιεκπεραίωση κάνε/ξεκίνησε την παράδοση Παραδόθηκε αυτομετάβαση Αναμονή Παραδόθηκε

Παράδειγμα Έστω ότι έχουμε μία κλάση που αφορά ένα πρωτόκολλο εισόδου (Login Protocol) Σε αυτό το πρωτόκολλο αφού πάρουμε εντολή στέλνουμε ένα αίτημα Login περιμένουμε μια απάντηση OK. (LoginSent) Αν η απάντηση είναι θετική θεωρούμε ότι η είσοδος είναι πετυχημένη (LoginDone) Αν η απάντηση είναι αρνητική θεωρούμε

Παράδειγμα Αν αργήσουμε να πάρουμε απάντηση για πάνω από 30sec τότε έχουμε ένα Timeout και ξαναπροσπαθούμε για το πολύ 3 φορές. Την 3 η φορά θεωρούμε ότι αποτύχαμε στην είσοδο (LoginFailed) Επίσης ακυρώνουμε την ενέργεια οποτεδήποτε η συνθήκη cancelispressed

Αναπαράσταση με StateCharts

4 είδη συμβάντων Στο διάγραμμα αυτό βλέπουμε και τα 4 πιθανά είδη συμβάντων που μπορούν να μας μεταφέρουν από μία κατάσταση σε μια άλλη: CallEvent: λήψη ενός μηνύματος, π.χ. sendlogin SignalEvent: λήψη ενός σήματος, π.χ. OKReceived ChangeEvent: συνθήκη γίνεται αληθής, π.χ. when(canceliedpressed)

ιαφορές Signal Event-Call Event Ένα Call Event είναι συνήθως η κλήση μιας συνάρτησης Ένα Signal Event είναι συνήθως η λήψη ενός ασύγχρονου σήματος από ένα άλλο αντικείμενο (π.χ. ButtonClicked)

ιαφορές Change Event Συνθήκη Ένα change event αξιολογείται συνεχώς ενόσω ήμαστε σε μια κατάσταση (π.χ. cancelispressed) Μια συνθήκη (guard) που αναφέρεται σε μια μετάβαση αξιολογείται μόνο όταν πρόκειται να γίνει μια μετάβαση (retries<3)

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

Παράδειγμα Ενεργός θεί όλα τα στοιχεία] όμενο στοιχείο Έλεγχος κάνε/έλεγξε στοιχείο Όλα τα στοιχεία ελέγθηκαν && κάποια [στοιχεία δεν υπάρχουν στην αποθήκη] Στοιχείο Παραλήφθηκε [Όλα τα στοιχεία είναι διαθέσιμα] ιεκπεραίωση κάνε/ξεκίνησε την παράδοση Παραδόθηκε Αναμονή Στοιχείο παραλήφθηκε οια στοιχεία δεν υπάρχουν στην αποθήκη]

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

Παράδειγμα Ακυρώθηκε Αναμονή Έλεγχος ιεκπεραίωση Παραδόθηκε Έγκριση Εγκρίθηκε

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