1 / 18

Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System

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

triage
Download Presentation

Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  6. Activitydiagramfor a WithdrawalTRansaction

  7. Activitydiagramfor a DepositTRansaction

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

  9. Verbsandverbphrasesforeachclass inthe ATM system

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

  11. ModelingOperations

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

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

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

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

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

  17. IdentifyingandModelingOperationParameters

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

More Related