1. Trang chủ
  2. » Công Nghệ Thông Tin

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

65 893 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Case Study: Phần mềm máy ATM
Tác giả Nguyễn Diệu Hương
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ thuật lập trình
Thể loại Báo cáo môn học
Năm xuất bản Chưa rõ
Thành phố Hà Nội
Định dạng
Số trang 65
Dung lượng 0,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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,

Trang 1

Kỹ thuật lập trình

Chương 1 (tiếp)

Nguyễn Diệu Hương

huongnd@it-hut.edu.vn huongnd-fit@mail.hut.edu.vn

Trang 2

5 Case Study: Phần mềm máy ATM

Trang 3

5.1 Xác định yêu cầu bài

toán

Trang 4

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

Trang 5

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.

Trang 6

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

Trang 8

Menu chính

Trang 9

Giao dịch rút tiền

Trang 10

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):

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

Trang 11

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.

Trang 12

User’s Use case diagram

Trang 13

5.2 Thiết kế hệ thống ATM

Trang 15

1 Nhận dạng các lớp

Trang 17

Mối quan hệ giữa các lớp

Trang 18

Mô hình mối quan hệ giữa các lớp cho hệ thống ATM

Trang 20

2 Nhận dạng thuộc tính của lớp

Trang 21

số tài khoản, PIN, số

dư tài khoản

ATM

Trang 22

Mô hình hóa các thuộc tính

Trang 23

3 Nhận dạng trạng thái và hành động của đối tượng

Trang 24

Sơ đồ trạng thái cho đối tượng ATM

Trang 25

Sơ đồ hành động của giao dịch BalanceInquiry

Trang 26

Sơ đồ hành động của giao dịch

Withdrawal

Trang 27

4 Nhận dạng các thao tác/hành vi của lớp

Trang 28

Danh sách các động từ/ngữ động từ

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

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

Trang 29

Danh sách các động từ/ngữ động từ (tiếp)

Nhận tiền

DepositSlot

Phát tiền, quyết định liệu có đủ tiền

so với yêu cầu rút tiền

Trang 30

Mô hình hóa hành vi

Trang 31

Nhận dạng các tham số của hành vi

Trang 32

BankDatabase – Tham số

Trang 33

Account – Tham số

Trang 34

Screen – Tham số

Trang 35

CashDispenser – Tham số

Trang 36

BalanceInquiry, Withdrawal và Deposit, Keypad, DepositSlot – Tham số

„ BalanceInquiry, Withdrawal và Deposit::execute

„ Keypad::getInput

„ DepositSlot::isEnvelopeReceived

Trang 37

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

Trang 38

Liệt kê các tương tác - ATM

Depositexecute

Withdrawalexecute

BalanceInquiryexecute

BankDatabaseauthenticateUser

KeypadgetInput

ScreendisplayMessage

ATM

Đối tượng nhậnThông báo

Đối tượng gửi

Trang 39

Liệt kê các tương tác –

BalanceInquiry

ScreendisplayMessage

BankDatabasegetTotalBalance

BankDatabasegetAvailableBalance

BalanceInquiry

Đối tượng nhậnThông báo

Đối tượng gửi

Trang 40

Liệt kê các tương tác - Withdrawal

Đối tượng gửi Thông báo Đối tượng nhận

Trang 41

Liệt kê các tương tác - Deposit

Đối tượng gửi Thông báo Đối tượng nhận

Trang 42

Liệt kê các tương tác

Trang 44

Lược đồ giao tiếp của ATM thực hiện truy cập số dư tài khoản

Trang 45

Lược đồ giao tiếp thực hiện truy cập

số dư tài khoản

Trang 46

Hãy vẽ các lược đồ giao tiếp

„ Xác thực người dùng

„ Giao dịch rút tiền

„ Giao dịch nhận tiền

Trang 47

Lược đồ

tuần tự mô hình hóa

thực hiện giao dịch Withdrawal

Trang 48

Vẽ lược đồ tuần tự mô hình hóa giao dịch Deposit

Trang 49

5.3 Cài đặt hệ thống ATM

Trang 50

Xác định quyền điểu khiển

Trang 51

Phối hợp lược đồ lớp và lược đồ tương tác

Trang 54

Hướng dẫn cài đặt - 2

„ Dữ liệu thành viên = thuộc tính trong lược đồ lớp

Trang 55

Ví dụ - Lớp Withdrawal

// Withdrawal.h

// Definition of class Withdrawal that

// represents a withdrawal transaction

int accountNumber ; // account to withdraw funds from

double amount ; // amount to withdraw

}; // end class Withdrawal

#endif // WITHDRAWAL_H

Trang 56

Hướng dẫn cài đặt - 3

„ Quan hệ phối hợp = tham chiếu/con trỏ tới các đối tượng khác.

Trang 57

int accountNumber ; // account to withdraw funds from

double amount ; // amount to withdraw

// references to associated objects

Screen &screen; // reference to ATM's screen

Keypad &keypad; // reference to ATM's keypad

CashDispenser &cashDispenser; // ref to cash dispenser

BankDatabase &bankDatabase; // ref to the account db }; // end class Withdrawal

#endif // WITHDRAWAL_H

Trang 59

#ifndef WITHDRAWAL_H

#define WITHDRAWAL_H

class Screen; // forward declaration of class Screen

class Keypad; // forward declaration of class Keypad

class CashDispenser; // forward declaration of CashDispenser

class BankDatabase; // forward declaration of BankDatabase

class Withdrawal

{

private :

// attributes

int accountNumber ; // account to withdraw funds from

double amount ; // amount to withdraw

// references to associated objects

Screen &screen; // reference to ATM's screen

Keypad &keypad; // reference to ATM's keypad

CashDispenser &cashDispenser; // ref to cash dispenser

BankDatabase &bankDatabase; // ref to the account db

}; // end class Withdrawal

#endif // WITHDRAWAL_H

Trang 60

Hướng dẫn cài đặt - 5

„ Khuôn mẫu hàm thành viên = thao tác trong lược đồ

Trang 61

#ifndef WITHDRAWAL_H

#define WITHDRAWAL_H

class Screen; // forward declaration of class Screen

class Keypad; // forward declaration of class Keypad

class CashDispenser; // forward declaration of CashDispenser

class BankDatabase; // forward declaration of BankDatabase

int accountNumber ; // account to withdraw funds from

double amount ; // amount to withdraw

// references to associated objects

Screen &screen; // reference to ATM's screen

Keypad &keypad; // reference to ATM's keypad

CashDispenser &cashDispenser; // ref to cash dispenser

BankDatabase &bankDatabase; // ref to the account db

}; // end class Withdrawal

#endif // WITHDRAWAL_H

Trang 62

Bài tập: cài đặt lớp Account

Trang 65

Bài tập

„ Hoàn thành cài đặt toàn bộ chương trình cho

hệ thống ATM theo thiết kế

Ngày đăng: 18/01/2014, 08:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ trạng thái cho đối tượng  ATM - Tài liệu Kỹ thuật lập trình Chương 1 (tiếp) docx
Sơ đồ tr ạng thái cho đối tượng ATM (Trang 24)
Sơ đồ hành động của giao dịch  BalanceInquiry - Tài liệu Kỹ thuật lập trình Chương 1 (tiếp) docx
Sơ đồ h ành động của giao dịch BalanceInquiry (Trang 25)
Sơ đồ hành động  của giao dịch - Tài liệu Kỹ thuật lập trình Chương 1 (tiếp) docx
Sơ đồ h ành động của giao dịch (Trang 26)

TỪ KHÓA LIÊN QUAN

w