Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Υλοποίηση Συστήματος Ψηφοφορίας με τη χρήση Java RMI
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Λογισμικό: Δημιουργία εφαρμογών Επίπεδο.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στους Η/Υ Πίνακες.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Βρόχος με συνθήκη εισόδου στη C, οδηγούμενος από μετρητή: for
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Αρχή της ενσωμάτωσης Η εσωτερική κατάσταση ενός αντικειμένου πρέπει να είναι τροποποιήσιμη μόνο μέσω της δημόσιας διασύνδεσής του.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ενότητα Η Δομή Επανάληψης
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Φαρμακευτικής Παπαπαναγιώτου Σταυρούλα Παπαπαναγιώτου Βασιλική.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Προσομοίωση και Συστήματα Στήριξης Αποφάσεων Περιγραφή του μαθήματος.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
Κεφάλαιο 10 – Υποπρογράμματα
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Διαφάνειες παρουσίασης #2
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βασικά στοιχεία της Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Κατασκευή Ιστοσελίδας Χρηματοοικονομικού.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Κατανεμημένα Συστήματα
Κλάσεις και αντικείμενα
Διαγράμματα Κύκλου Δραστηριοτήτων Η Μέθοδος των Τριών Φάσεων
8.1 Θεματικό πλαίσιο για σύστημα παρακολούθησης ασθενών σε νοσοκομείο
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Το ερώτημα "τι είναι επιστήμη;" δεν έχει νόημα χωρίς κάποιο χρονικό προσδιορισμό Όταν τις δεκαετίες του 80 και του 90 κατέρρεε το αποκαλούμενο ανατολικό.
Μοντελοποίηση Διακριτών Συστημάτων
6.1 Περιγράψτε τους 3 τύπους απαιτήσεων
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της.
Activity Diagrams.
Χαρακτηριστικά μεγέθη εναλλασσόμενου ρεύματος και εναλλασσόμενης τάσης
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Υγιείς Εργασιακές Σχέσεις, Σύγχρονες Επιχειρήσεις
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Πληροφοριακά Συστήματα: Μοντελοποίηση με UML
اعداد الأستاذ/ عبدالرؤوف أحمد يوسف
Ιδιωτική οικονομική 1η ενότητα «ΕΝΝΟΙΑ ΚΑΙ ΚΑΤΗΓΟΡΙΕΣ ΤΗΣ ΕΠΙΧΕΙΡΗΣΗΣ»
Μεταγράφημα παρουσίασης:

Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο

Μέχρι στιγμής είδαμε… • τις κλάσεις (π.χ. ATM, Screen) • τα χαρακτηριστικά (attributes) (π.χ. στην κλάση ΑΤΜ το attribute userAuthenticated που δηλώνει αν ο χρήστης είναι εξουσιοδοτημένος να κάνει την συναλλαγή) • Είδαμε πως τα attributes δηλώνουν την κατάσταση ενός αντικειμένου (π.χ. αν το userAuthenticated είναι true τότε ο χρήστης είναι σε θέση να εκτελέσει τη συναλλαγή) • Εντοπίσαμε κάποιες καταστάσεις «κλειδιά» που μπορεί να βρεθούν τα αντικείμενά μας και πως τα αντικείμενα αλλάζουν καταστάσεις με βάση διάφορα γεγονότα που συμβαίνουν στο σύστημα. (π.χ. το userAuthenticated αλλάζει κατάσταση από false σε true όταν ο χρήστης εισάγει τα σωστά AccountNumber και PIN) • Είδαμε πώς το σύστημά μας οργανώνεται σε ένα διάγραμμα όπου φαίνονται η λειτουργίες και οι αλληλεπιδράσεις των αντικειμένων.

State Machine Diagrams • Κάθε αντικείμενο σε ένα σύστημα περνάει από μια σειρά διακριτών καταστάσεων • Η τρέχουσα κατάσταση για το αντικείμενο δηλώνεται από τις τιμές που έχουν τη συγκεκριμένη στιγμή τα attributes του • Τα State Machine Diagrams μοντελοποιούν καταστάσεις «κλειδιά» ενός αντικειμένου και δείχνουν κάτω υπό ποιες συνθήκες αλλάζει κατάσταση

State diagrams State Diagram for the ATM object •Μοντελοποιεί τις καταστάσεις που μπορεί να βρεθεί ένα αντικείμενο •Οι καταστάσεις δηλώνονται με ένα ορθογώνιο με στρογγυλευμένες γωνίες •Ο κύκλος δηλώνει την αρχική κατάσταση •Τα βελάκια τις συσχετίσεις •ATM.userAuthenticated -> {true,false}

Activity Diagrams Activity diagram for a BalanceInquiry transaction • Μοντελοποιεί την ακολουθία γεγονότων που συμβαίνουν σε ένα αντικείμενο κατά τη διάρκεια της εκτέλεσης • Στο σχήμα φαίνονται τα γεγονότα που συμβαίνουν από τη στιγμή που ο χρήστης κάνει αίτημα για το υπόλοιπο του λογαριασμού του μέχρι το αντικείμενο της κλάσης BalanceInquiry να επιστρέψει το αποτέλεσμα στην οθόνη

Activity diagram for a Withdrawal TRansaction

Activity diagram for a Deposit TRansaction

Operations •Operation ονομάζουμε μια λειτουργία που παρέχει κάποια κλάση •Μπορούμε να ξεχωρίσουμε τις λειτουργίες κάθε κλάσης εξετάζοντας ρήματα και ρηματικές εκφράσεις μέσα στο κείμενο των απαιτήσεων – εκφώνηση

Verbs and verb phrases for each class in the ATM system

Modeling Operations •Για να καθορίσουμε τις λειτουργίες εξετάζουμε την κάθε ρηματική φράση που σχετίζεται με την κάθε κλάση •Για παράδειγμα η φράση «executes financial transactions» που σχετίζεται με την κλάση ΑΤΜ δηλώνει ότι η κλάση ΑΤΜ αναθέτει συναλλαγές να εκτελεστούν •Ως εκ τούτου, οι κλάσεις BalanceInquiry, Withdrawal και Deposit χρειάζονται καθεμιά μια λειτουργία (operation) για να εξυπηρετήσουν την κλάση ΑΤΜ

Modeling Operations

Operation of class BankDatabase and class Account • η κλάση BankDatabase χρειάζεται μια λειτουργία που να παρέχει στο ΑΤΜ υπηρεσία ταυτοποίησης-επιβεβαίωσης • η κλάση Account πρέπει να παρέχει μια υπηρεσία ταυτοποίησης του ΡΙΝ που εισάγει ο χρήστης σε σχέση με το PΙΝ που είναι αποθηκευμένο στο αντικείμενο Account •…

Operations of Class Screen • Προσθέτουμε μια λειτουργία που να μπορεί να απεικονίζει οποιοδήποτε μήνυμα •Πχ την λειτουργία displayMessage

Operations of Class Keypad • Προσθέτουμε μια λειτουργία που να δίνει είσοδο στο σύστημα •Πχ την λειτουργία getInput

Operations of Class CashDispenser and Class DepositSlot CashDispenser δημιουργούμε τις λειτουργίες dispenseCash και isSufficientCashAvailable DepositSlot δημιουργούμε τη λειτουργία isEnvelopeReceived που επιστρέφει μια τιμή Boοlean

Identifying and Modeling Operation Parameters Στην κλάση BankDatabase καθορίζουμε ότι λειτουργία authenticateUser θα παίρνει δυο παραμέτρους userAccountNumber και userPΙΝ που είναι ακέραιοι αριθμοί. Επίσης οι λειτουργίες getAvailableBalance, getTotalBalance, credit και debit απαιτούν την παράμετρο userAccountNumber για να εντοπίζουν τον συγκεκριμένο λογαριασμό που θα εφαρμοστούν οι αλλαγές που επιφέρουν

Identifying and Modeling Operation Parameters

Ευχαριστώ πολύ!!!