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

Đồ án thiết kế hệ thống thông tin tài liệu phân tích thiết kế GIẢ lập hệ THỐNG ATM

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 (4.14 MB, 48 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG

Đồ Án Thiết Kế Hệ Thống Thơng Tin

Tài liệu phân tích thiết kế
GIẢ LẬP HỆ THỐNG ATM

Giảng viên hướng dẫn:

TS. Nguyễn Bá Ngọc

Nhóm sinh viên thực hiện:

Nguyễn Minh Đăng

20172998

Hồng Mạnh Hùng

20173155

Phạm Văn Chung

20172983

Nguyễn Đình Đạt

20173011

Hà Nội, 2022




MỤC LỤC
1. Giới thiệu
1.1. Mục đích
1.2. Phạm vi sản phẩm
1.3. Tài liệu tham khảo

4
4
4
4

2. Mô tả tổng quan
2.1. Đặt vấn đề
2.2. Chức năng chính

4
4
4

3. Các yêu cầu chức năng
3.1. Tổng quan
3.1.1. Các tác nhân
3.1.2. Tổng quan các ca sử dụng
3.2. Đặc tả các ca sử dụng
3.2.1. Đặc tả ca sử dụng UC01 - Xác thực thẻ
3.2.2. Đặc tả ca sử dụng UC02 - Kiểm tra số dư
3.2.3. Đặc tả ca sử dụng UC03 - Đổi mã PIN
3.2.4. Đặc tả ca sử dụng UC04 - Rút tiền mặt

3.2.5. Đặc tả ca sử dụng UC05 - Chuyển khoản
3.3. Biểu đồ hoạt động
3.3.1. Biểu đồ hoạt động Xác thực thẻ
3.3.2. Biểu đồ hoạt động Kiểm tra số dư
3.3.3. Biểu đồ hoạt động Đổi mã PIN
3.3.4. Biểu đồ hoạt động Rút tiền mặt
3.3.5. Biểu đồ hoạt động Chuyển khoản

4
4
4
5
5
5
7
7
8
10
12
12
13
14
15
16

4. Các yêu cầu phi chức năng
4.1. Giao diện
4.1.1. Giao diện người dùng
4.1.2. Giao diện phần mềm
4.1.3. Giao diện phần cứng

4.1.4. Giao diện truyền thông
4.2. Chất lượng
4.2.1. Hiệu năng
4.2.2. Tỉnh khả dụng
4.2.3. Độ tin cậy

17
17
17
17
17
17
17
17
17
17

5. Kiến trúc hệ thống
5.1. Sơ đồ kiến trúc hệ thống
5.2. Sơ đồ gói
5.2.1. Mơ đun Giao diện tương tác
5.2.2. Mơ đun Đọc thẻ

17
17
17
18
18
1



5.2.3. Mô đun Trả tiền
5.2.4. Mô đun Giao tiếp ngân hàng (Ngân hàng)
5.3. Sơ đồ triển khai hệ thống

19
20
20

6. Thiết kế API
6.1. Module Đọc thẻ
6.1.1. Encode card
6.1.2. Decode card
6.2. Module Ngân hàng
6.2.1. Login
6.2.2. Get balance
6.2.3. Make withdraw
6.2.4. Make transfer
6.2.5. Reset pinHash
6.2.6. Check transfer
6.2.7. Check withdraw
6.3. Module Trả tiền
6.3.1. Make withdraw
6.3.2. Make receipt

20
21
21
21
22

22
23
23
24
25
26
26
27
27
28

7. Thiết kế cơ sở dữ liệu
7.1. Cơ sở dữ liệu ngân hàng
7.1.1. users
7.1.2. cards
7.1.3. transactions
7.1.4. atms
7.2. Cơ sở dữ liệu tại ATM
7.2.1. systems

29
29
29
30
30
31
31
31

8. Thiết kế giao diện

8.1. Giao diện chào
8.2. Giao diện xác thực thẻ
8.3. Giao diện chọn ngơn ngữ
8.4. Giao diện màn hình chính
8.5. Giao diện rút tiền mặt
8.6. Giao diện đổi mã PIN
8.7. Giao diện kiểm tra số dư
8.8. Biên lai giao dịch
8.8.1. Biên lai rút tiền
8.8.2. Biên lai chuyển khoản

32
32
34
35
36
37
41
44
44
45
45

9. Phân công công việc

45

2



3


1. Giới thiệu
1.1. Mục đích
Tài liệu này mơ tả chi tiết yêu cầu về ứng hệ thống cho người dùng, người sở hữu,
nhà phát triển và các bên liên quan

1.2. Phạm vi sản phẩm
Xây dựng hệ thống cho các máy ATM, phục vụ cho nhu cầu của người sử dụng thẻ
ATM và giao tiếp an tồn, bảo mật, nhanh chóng với các hệ thống ngân hàng

1.3. Tài liệu tham khảo
Trống

2. Mô tả tổng quan
2.1. Đặt vấn đề
Ngày nay, công nghệ phát triển nhanh chóng, các kiến trúc hệ thống, cơ sở hạ tầng và
công nghệ ngày càng phát triển, mạnh mẽ và tối ưu. Hệ thống ATM là một trong những hệ
thống cũ. Các ngân hàng hiện nay đang chạy đua trong cuộc đua số hóa, việc ra ngân hàng
ngày càng ít đi. Các hệ thống ngân hàng trực tuyến trở nên nhanh chóng và tiện lợi. Các nhu
cầu cơ bản không cần thiết phải tới ngân hàng với các thủ tục rườm rà. Vì vậy, cải tiến các
máy ATM để trở hỗ trợ khách hàng là điều tất yếu. TPBank Livebank là một ví dụ điển hình
hiện nay. Để làm được các chức năng mới như kích hoạt tài khoản, làm thẻ tại chỗ hay
chuyển tiền, gửi tiền cần một hệ thống máy ATM hiện đại hơn, an toàn hơn, bảo mật hơn, đa
dụng hơn. Do đó, nhóm đưa ra đề xuất chia hệ thống ngân hàng có sẵn thành các mơ đun nhỏ
hơn để dễ dàng bảo trì và nâng cấp, phát triển tính năng mới.

2.2. Chức năng chính
Về cơ bản, hệ thống sẽ phát triển từ các chức năng cơ bản, và tiếp tục mở rộng về sau.

Các chức năng chính:
- Xác thực thẻ
- Kiểm tra số dư
- Đổi mã PIN
- Rút tiền mặt
- Chuyển khoản

3. Các yêu cầu chức năng
3.1. Tổng quan
3.1.1. Các tác nhân
Tác nhân

Mô tả

Khách
(Visitor)

- Là người sử dụng hệ thống ATM chưa được xác thực thẻ
- Không thể thực hiện các chức năng của hệ thống khi
chưa xác thực thẻ
4


Người dùng
(User)

- Là người sử dụng hệ thống ATM đã được xác thực thẻ
- Sử dụng được toàn bộ các chức năng mà hệ thống cung
cấp


Ngân hàng
(Bank)

- Là hệ thống riêng của các ngân hàng, cung cấp một số
chức năng để ATM có thể hỗ trợ người dùng
- Trong dự án này sử dụng một mô đun để thay thế

3.1.2. Tổng quan các ca sử dụng

3.2. Đặc tả các ca sử dụng
3.2.1. Đặc tả ca sử dụng UC01 - Xác thực thẻ

5


Mã Use case

UC01

Tên Use case

Tác nhân

Khách, Ngân hàng

Xác thực thẻ

Tiền điều kiện Khách chưa được xác thực thẻ
Luồng sự kiện
chính

(Thành công)

Luồng sự kiện
thay thế

STT

Thực hiện bởi

1

Khách

Khách đưa thẻ vào hệ thống

2

Hệ thống

Hệ thống đọc thẻ thành công

3

Ngân hàng

Ngân hàng kiểm tra trạng thái thẻ hoạt
động

4


Hệ thống

Yêu cầu nhập mã PIN

5

Khách

Nhập mã PIN

6

Ngân hàng

Ngân hàng kiểm tra mã PIN hợp lệ

7

Hệ thống

Hiển thị giao diện màn hình chính

STT Thực hiện bởi

Hành động

Hành động

2a


Hệ thống

Thông báo đọc thẻ thất bại

2b

Hệ thống

Trả thẻ

3a

Hệ thống

Thông báo thẻ không hoạt động

3b

Hệ thống

Trả thẻ

6a

Hệ thống

Thông báo mã PIN không hợp lệ

6b


Hệ thống

Quay lại bước 4, nếu quá 5 lần, khóa tài
khoản

6


Hậu điều kiện

Thẻ của Khách được xác thực, Khách có thể sử dụng các chức năng hệ
thống

3.2.2. Đặc tả ca sử dụng UC02 - Kiểm tra số dư
Mã Use case

UC02

Tên Use case

Tác nhân

Người dùng, Ngân hàng

Kiểm tra số dư

Tiền điều kiện Người dùng đã được xác thực thẻ
Luồng sự kiện
chính
(Thành công)


Luồng sự kiện
thay thế

Hậu điều kiện

STT

Thực hiện bởi

1

Người dùng

Chọn xem số dư

2

Ngân hàng

Truy vấn số dư thành công

3

Hệ thống

Hỏi in biên lai

4


Người dùng

Chọn in hoặc không in biên lai

5

Hệ thống

In hoặc không in biên lai dựa trên 4

6

Hệ thống

Hiển thị thông tin số dư

STT Thực hiện bởi

Hành động

Hành động

2a

Hệ thống

Thông báo lỗi hệ thống

2b


Hệ thống

Hiển thị giao diện màn hình chính

Khơng

3.2.3. Đặc tả ca sử dụng UC03 - Đổi mã PIN
Mã Use case

UC03

Tên Use case

Tác nhân

Người dùng, Ngân hàng

Đổi mã PIN

7


Tiền điều kiện Người dùng đã được xác thực thẻ
Luồng sự kiện
chính
(Thành cơng)

Luồng sự kiện
thay thế


Hậu điều kiện

STT

Thực hiện bởi

1

Người dùng

Chọn đổi mã PIN

2

Hệ thống

Yêu cầu nhập mã PIN mới

3

Người dùng

Nhập mã PIN mới

4

Hệ thống

Yêu cầu nhập lại mã PIN mới


5

Người dùng

Nhập lại mã PIN mới

6

Hệ thống

Kiểm tra mã PIN chính xác

7

Ngân hàng

Đổi mã PIN thành cơng

8

Hệ thống

Thơng báo đổi mã PIN thành cơng

9

Hệ thống

Hiển thị giao diện màn hình chính


STT Thực hiện bởi

Hành động

Hành động

6a

Hệ thống

Thơng báo nhập lại mã PIN không khớp

6b

Hệ thống

Quay lại bước 4

7a

Hệ thống

Thông báo đổi mã PIN thất bại

7b

Hệ thống

Hiển thị giao diện màn hình chính


Mã PIN của thẻ được đổi thành mã PIN mới

3.2.4. Đặc tả ca sử dụng UC04 - Rút tiền mặt
Mã Use case

UC04

Tên Use case

Tác nhân

Người dùng, Ngân hàng

Rút tiền mặt

8


Tiền điều kiện Người dùng đã được xác thực thẻ
Luồng sự kiện
chính
(Thành cơng)

Luồng sự kiện
thay thế

STT

Thực hiện bởi


1

Người dùng

Chọn rút tiền mặt

2

Hệ thống

Yêu cầu nhập số tiền muốn rút

3

Người dùng

Nhập số tiền muốn rút

4

Hệ thống

Kiểm tra tiền mặt có sẵn đủ

5

Ngân hàng

Kiểm tra số dư đủ


6

Ngân hàng

Thực hiện giao dịch thành công

7

Hệ thống

Hỏi in biên lai

8

Người dùng

Chọn in biên lai hoặc không

9

Hệ thống

In hoặc không in biên lai dựa trên 9

10

Hệ thống

Trả tiền mặt cho người dùng


11

Hệ thống

Hỏi người dùng có thực hiện giao dịch
khác khơng

12

Người dùng

Chọn tiếp tục

13

Hệ thống

Quay lại bước 2

STT Thực hiện bởi

Hành động

Hành động

4a

Hệ thống

Thông báo tiền mặt có sẵn khơng đủ


4b

Hệ thống

Hỏi khách có muốn thực hiện giao dịch
khác, nếu có quay lại bước 2, ngược lại,
hiển thị giao diện màn hình chính

5a

Hệ thống

Thơng báo số dư không đủ
9


Hậu điều kiện

5b

Hệ thống

Hỏi khách có muốn thực hiện giao dịch
khác, nếu có quay lại bước 2, ngược lại,
hiển thị giao diện màn hình chính

6a

Hệ thống


Thơng báo thực hiện giao dịch thất bại

6b

Hệ thống

Hỏi khách có muốn thử lại, nếu có quay lại
bước 2, ngược lại, hiển thị giao diện màn
hình chính

Giao dịch được thực hiện thành cơng ở cả Hệ thống và Ngân hàng

3.2.5. Đặc tả ca sử dụng UC05 - Chuyển khoản
Mã Use case

UC05

Tên Use case

Tác nhân

Người dùng, Ngân hàng

Chuyển khoản

Tiền điều kiện Người dùng đã được xác thực thẻ
Luồng sự kiện
chính
(Thành cơng)


STT

Thực hiện bởi

Hành động

1

Người dùng

Chọn chuyển khoản

2

Hệ thống

Yêu cầu nhập số thẻ muốn chuyển khoản

3

Người dùng

Nhập số thẻ muốn chuyển khoản

4

Hệ thống

Kiểm tra số thẻ hợp lệ


5

Ngân hàng

Kiểm tra số thẻ tồn tại

6

Hệ thống

Yêu cầu nhập số tiền muốn chuyển

7

Người dùng

Nhập số tiền muốn chuyển

8

Ngân hàng

Kiểm tra số dư thẻ đủ

9

Ngân hàng

Thực hiện giao dịch thành công


10

Hệ thống

Hỏi in biên lai
10


Luồng sự kiện
thay thế

Hậu điều kiện

11

Người dùng

Chọn in biên lai hoặc không

12

Hệ thống

In hoặc không in biên lai dựa trên 10

13

Hệ thống


Hỏi người dùng có thực hiện giao dịch
khác khơng

14

Người dùng

Chọn tiếp tục

15

Hệ thống

Quay lại bước 2

STT Thực hiện bởi

Hành động

4a

Hệ thống

Thông báo số thẻ không hợp lệ

5a

Hệ thống

Thông báo số thẻ không tồn tại


8a

Hệ thống

Thông báo số dư không đủ

9a

Hệ thống

Thông báo thực hiện giao dịch thất bại

Giao dịch được thực hiện thành công ở cả Hệ thống và Ngân hàng

11


3.3. Biểu đồ hoạt động
3.3.1. Biểu đồ hoạt động Xác thực thẻ

12


3.3.2. Biểu đồ hoạt động Kiểm tra số dư

13


3.3.3. Biểu đồ hoạt động Đổi mã PIN


14


3.3.4. Biểu đồ hoạt động Rút tiền mặt

15


3.3.5. Biểu đồ hoạt động Chuyển khoản

16


4. Các yêu cầu phi chức năng
4.1. Giao diện
4.1.1. Giao diện người dùng
-

Giao diện người dùng phải sạch, đơn giản, và dễ dàng thao tác
Giao diện phải tương thích với màn hình

4.1.2. Giao diện phần mềm
-

Hệ thống kết nối với Ngân hàng

4.1.3. Giao diện phần cứng
-


Thiết bị phải được kết nối với Internet

4.1.4. Giao diện truyền thông
-

Không

4.2. Chất lượng
4.2.1. Hiệu năng
-

Thời gian phản hồi không được vượt quá 1 giây với điều kiện Internet bình
thường

4.2.2. Tỉnh khả dụng
-

Hệ thống ln phản hồi khi được sử dụng

4.2.3. Độ tin cậy
-

Sử dụng JWT để quản lý đăng nhập và xác thực các giao tiếp nội bộ

5. Kiến trúc hệ thống
5.1. Sơ đồ kiến trúc hệ thống

17



5.2. Sơ đồ gói
5.2.1. Mơ đun Giao diện tương tác

5.2.2. Mô đun Đọc thẻ

18


5.2.3. Mô đun Trả tiền

19


5.2.4. Mô đun Giao tiếp ngân hàng (Ngân hàng)

5.3. Sơ đồ triển khai hệ thống

20


6. Thiết kế API
6.1. Module Đọc thẻ
6.1.1. Encode card
Information
Name

Encode card

URI


/api/v1/read_card/encode

Description

Mã hóa thơng tin thẻ

Request
Method

POST

Header

- Content-Type: application/json

Path Parameters

None

Query Parameters

None

Request Body

Thơng tin thẻ cần được mã hóa
CardInformation {
"cardNumber": "string",
"name": "string",
"gender": "string",

"citizenId": "string"
}

Response
200

Chuỗi chứa thơng tin thẻ được mã hóa
string

400

Thơng tin thẻ sai định dạng
string

6.1.2. Decode card
Information
Name

Decode card

URI

/api/v1/read_card/decode

Description

Giải mã thông tin thẻ

Request
21



Method

POST

Header

None

Path Parameters

None

Query Parameters

None

Request Body

File chứa đoạn thông tin thẻ được mã hóa

Response
200

Thơng tin thẻ
CardInformation {
"cardNumber": "string",
"name": "string",
"gender": "string",

"citizenId": "string"
}

400

Thơng tin thẻ sai định dạng
string

6.2. Module Ngân hàng
6.2.1. Login
Information
Name

Login

URI

/api/v1/card/login

Description

Đăng nhập thẻ vào hệ thống ATM

Request
Method

POST

Header


None

Path Parameters

None

Query Parameters

None

Request Body

{
“number”: ”string”,
“pinHash”: ”string”
}

Response
22


200

Successfully response
{
“accessToken”: “String”,
“tokenType”:”string”
}

400


Bad Request
6.2.2. Get balance

Information
Name

Get balance

URI

/api/v1/card/balance?{number}

Description

Truy vấn thông tin số dư thẻ

Request
Method

GET

Header

- Content-Type: application/json
- Authorization: Bearer <JWT>

Path Parameters

Number


Query Parameters

None

Request Body

None

Response
200

Successfully response
Information balance :”Money”

404

NOT FOUND
6.2.3. Make withdraw

Information
Name

Make withdraw

URI

/api/v1/transaction/withdraw

Description


Tạo yêu cầu rút tiền mặt

Request
23


Method

POST

Header

- Content-Type: application/json
- Authorization: Bearer <JWT>

Path Parameters

None

Query Parameters

None

Request Body

TransferRequest {
"number": "string",
"ip": “string”,
“money”: double,

}

Response
200

Successfully response
Transfer Response {
"name": “string”,
"number": "string",
"amount": 0,
"description": “string”,
"ip": “string”,
"created_at":
"2022-02-26T06:02:52.815Z"
}

404

Bad Request

6.2.4. Make transfer
Information
Name

Make transfer

URI

/api/v1/transaction/transfer


Description

Tạo yêu cầu chuyển khoản

Request
Method

POST

Header

- Content-Type: application/json
- Authorization: Bearer <JWT>

Path Parameters

None
24


×