Tải bản đầy đủ (.pdf) (65 trang)

Tài liệu Kỹ thuật lập trình Chương 1 (tiếp) docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1000.8 KB, 65 trang )

Kỹ thuật lập trình
Chương 1 (tiếp)
Nguyễn Diệu Hương


5. Case Study: Phần mềm máy
ATM
5.1. Xác định yêu cầu bài
toán
Bài toán
 Một ngân hàng muốn cài đặt một máy ATM
mới cho phép người dùng thực hiện các giao
dịch tài chính cơ bản
 Mỗi người dùng chỉ có 1 tài khoản (account)
 Người dùng được phép:
 Xem số dư tài khoản
 Rút tiền mặt
 Nạp tiền vào tài khoản
Giao diện của máy ATM
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 xác thực người dùng, thông qua:
 Số tài khoản (account number)
 Số PIN (personal identification number)
Æ Tương tác với cơ sở dữ liệu về thông tin tài
khoản của ngân hàng (số tài khoản, PIN, số dư
tài khoản)
2. Thực hiện giao dịch xem số dư tài
khoản/nạp tiền/rút tiền
Xác thực người dùng
1. Màn hình nhắc người dùng nhập số tài


khoản
2. Người dùng nhập số TK (5 kí tự)
3. Màn hình nhắc người dùng nhập số PIN
4. Người dùng nhập số PIN
5. Nếu số TK và PIN:
 Đúng: hiện menu chính
 Sai: thông báo và lặp lại bước 1
Menu chính
Giao dịch rút tiền
Giao dịch rút tiền
1. Người dùng nhập lựa chọn (1-6)
2. Nếu số tiền muốn rút so với số tiền trong TK:
 > : hiện thông báo và lặp lại 1.
 <= : thực hiện 3.
 (Nếu chọn 6-Cancel: Quay trở lại menu chính)
3. Nếu khay đựng tiền (Cash Dispenser):
 Có đủ tiền: thực hiện 4.
 Không đủ tiền: hiện thông báo yêu cầu nhập ít hơn và
quay lại 1.
4. Trừ số tiền rút trong số dư tài khoản của người
dùng trong CSDL
5. Máy phát tiền ra khay
6. Màn hình hiện thông báo nhắc người dùng rút tiền
khỏi khay.
Giao dịch nạp tiền
1. Màn hình nhắc người dùng nhập số tiền muốn nạp
2. Người dùng nhập:
 Số tiền: thực hiện 3.
 0: hoãn giao dịch và hiện menu chính
3. Hiện thông báo yêu cầu đặt tiền vào khay (deposit

slot)
4. Nếu khay đút tiền:
 Nhận được tiền trong vòng 2 phút: hệ thống cộng số tiền
nạp vào số dư TK của người dùng trong CSDL.
 (Sau khi ngân hàng đã kiểm chứng khoản tiền, lượng tiền
nạp vào này mới được phép rút)
 Không nhận được tiền: hiện thông báo hoãn giao dịch và
hiện menu chính.
User’s Use case diagram
5.2. Thiết kế hệ thống ATM
Thiết kế hệ thống ATM
1. Nhận dạng các lớp
2. Nhận dạng các thuộc tính của lớp
3. Nhận dạng các trạng thái và hành động của
đối tượng
4. Nhận dạng các thao tác của lớp
5. Nhận dạng sự tương tác giữa các đối
tượng trong hệ thống
1. Nhận dạng các lớp
Các lớp
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
Mô tả lớp
(không có)DepositSlot
500 tờ 20$CashDispenser
(không có)Keypad
(không có)Screen
số tài khoản, PIN, số
dư tài khoản
Account
(không có)BankDatabase
số tài khoản,
số tiền
Deposit
số tài khoản,
số tiền
Withdrawal
số tài khoảnBalanceInquiry
người dùng được xác
thực
ATM
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

×