Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

6 Activity diagram for a Withdrawal TRansaction

7 Activity diagram for a Deposit TRansaction

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

9 Verbs and verb phrases for each class in the ATM system

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

11 Modeling Operations

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

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

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

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

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

17 Identifying and Modeling Operation Parameters

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google