Professional Documents
Culture Documents
(tiếp)
Trước mỗi ngày, khay đựng tiền được nạp vào 500 tờ $20.
Một phiên giao dịch
1. ATM
2. Screen
3. Keypad
4. CashDispenser
5. DepositSlot
6. Account
7. BankDatabase
8. BalanceInquiry
9. Withdrawal
10. Deposit.
Mối quan hệ giữa các lớp
Mô hình mối quan hệ giữa các lớp cho hệ
thống ATM
2. Nhận dạng thuộc tính của lớp
ATM người dùng được xác
Mô tả lớp thực
BalanceInquiry số tài khoản
Withdrawal số tài khoản,
số tiền
Deposit số tài khoản,
số tiền
BankDatabase (không có)
Account số tài khoản, PIN, số
dư tài khoản
Screen (không có)
Keypad (không có)
CashDispenser 500 tờ 20$
DepositSlot (không có)
Mô hình hóa
các thuộc tính
3. Nhận dạng trạng thái và hành
động của đối tượng
Sơ đồ trạng thái cho đối tượng
ATM
Sơ đồ hành động của giao dịch
BalanceInquiry
Sơ đồ hành động
của giao dịch
Withdrawal
4. Nhận dạng các thao tác/hành vi
của lớp
Danh sách các động từ/ngữ động từ
ATM Thực hiện các giao dịch tài chính
BalanceInquiry [không có]
Withdrawal [không có]
Deposit [không có]
BankDatabase Xác thực người dùng, truy cập số
dư tài khoản, cộng thêm tiền muốn
nạp vào tài khoản, trừ đi tiền muốn
rút trong tài khoản
Account Truy cập số dư tài khoản, cộng
thêm tiền muốn nạp vào tài khoản,
trừ đi tiền muốn rút trong tài khoản
Danh sách các động từ/ngữ động từ
(tiếp)
Screen Hiện thông báo cho người dùng
Keypad::getInput
DepositSlot::isEnvelopeReceived
5. Nhận dạng sự tương tác giữa các
đối tượng trong hệ thống
Tương tác (collaboration): 2 đối tượng giao
tiếp với nhau để thực hiện công việc
Liệt kê các tương tác - ATM
class Withdrawal
{
}; // end class Withdrawal
#endif // WITHDRAWAL_H
Hướng dẫn cài đặt - 2
class Withdrawal
{
private:
// attributes
int accountNumber; // account to withdraw funds from
double amount; // amount to withdraw
}; // end class Withdrawal
#endif // WITHDRAWAL_H
Hướng dẫn cài đặt - 3
#include "Screen.h"
#include "Keypad.h"
#include "CashDispenser.h"
#include "BankDatabase.h"
class Withdrawal
{
private:
// attributes
int accountNumber; // account to withdraw funds from
double amount; // amount to withdraw
class Withdrawal
{
private:
// attributes
int accountNumber; // account to withdraw funds from
double amount; // amount to withdraw
class Withdrawal
{
public:
// operations
void execute(); // perform the transaction
private:
// attributes
int accountNumber; // account to withdraw funds from
double amount; // amount to withdraw