Top Banner
Phương pháp Lp trình Hướng đối tượng Hc kì 1/2014-2015 Thnghim làm vic nhóm Khoa CNTT– Bmôn Công nghPhn mm 1/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM ATM & POS 1 Mô ttng quan Máy ATM là loi máy tđộng cho phép khách hàng thc hin giao dch vi ngân hàng, có thbao gm các giao dch rút tin mt, np tin mt, thanh toán tín dng, chuyn tin gia các tài khon, tra cu thông tin tài khon, v.v. Máy POS là loi máy cho phép khách hàng thanh toán dch vbng th. Khi khách hàng sdng mt dch vti mt ca hàng có máy POS (để mua đồ, ăn ung v.v.), khách hàng sdng thđể thanh toán, tc là y nhim cho ngân hàng chuyn tin ca khách hàng vào tài khon ca ca hàng/doanh nghip. Mi máy ATM được dùng chung gia các ngân hàng trong mt hthng ngân hàng. Mi máy ATM kết ni đến máy chca hthng ngân hàng, và thông qua máy chhthng để kết ni đến máy chca riêng tng ngân hàng và xlý giao dch. Mi máy ATM nhn vào mt th, tương tác vi người chth, liên lc vi hthng ngân hàng để thc hin giao dch. Người chthsnhp vào thông tin ca giao dch. Mi máy POS thuc vmt ngân hàng cthvà do đó skết ni trc tiếp đến ngân hàng đó để xlý giao dch. Mi máy POS nhn vào mt th, tương tác vi nhân viên thu ngân ti ca hàng, sau đó máy POS kết ni trc tiếp vi ngân hàng để thc hin giao dch. Nhân viên thu ngân snhp vào thông tin ca giao dch. Mi khách hàng có mt hoc nhiu tài khon ti ngân hàng phát hành th. Mi tài khon có thliên kết vi nhiu thvà ngược li. Nếu thcó liên kết nhiu tài khon thì sluôn xác định mt tài khon mc định. Các ngân hàng và hthng ngân hàng có thcung cp nhiu loi tài khon và nhiu loi th. Thông tin tài khon và các giao dch trên tài khon được mi ngân hàng qun lý khác nhau. Mi thcó mt mã ngân hàng và mã ththeo mt quy chun chung gia các ngân hàng. Trong đồ án này, chúng ta sthiết kế hthng các lp đối tượng đại din cho các thc thtrong giao dch ATM và POS, cho phép gilp thc hin các giao dch và ghi nhn li các kết qugiao dch. Sphc tp ca đồ án phthuc vào các loi nghip vngân hàng mà chúng ta mun gilp. Đồ án được chia làm 3 sprint vi nhim vcơ bn như sau: - Sprint 1: hoàn thành xlý giao dch ni mng trên máy POS - Sprint 2: hoàn thành xlý giao dch liên ngân hàng trên máy POS và ATM - Sprint 3: hoàn thành xlý giao dch vi các loi tài khon/loi thkhác nhau.
14

Phương pháp Lập trình Hướng đối tượng

Feb 25, 2023

Download

Documents

Daniel Ramirez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 1/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

ATM & POS 1 Mô tả tổng quan Máy ATM là loại máy tự động cho phép khách hàng thực hiện giao dịch với ngân hàng, có thể bao gồm các giao dịch rút tiền mặt, nộp tiền mặt, thanh toán tín dụng, chuyển tiền giữa các tài khoản, tra cứu thông tin tài khoản, v.v. Máy POS là loại máy cho phép khách hàng thanh toán dịch vụ bằng thẻ. Khi khách hàng sử dụng một dịch vụ tại một cửa hàng có máy POS (để mua đồ, ăn uống v.v.), khách hàng sử dụng thẻ để thanh toán, tức là ủy nhiệm cho ngân hàng chuyển tiền của khách hàng vào tài khoản của cửa hàng/doanh nghiệp. Mỗi máy ATM được dùng chung giữa các ngân hàng trong một hệ thống ngân hàng. Mỗi máy ATM kết nối đến máy chủ của hệ thống ngân hàng, và thông qua máy chủ hệ thống để kết nối đến máy chủ của riêng từng ngân hàng và xử lý giao dịch. Mỗi máy ATM nhận vào một thẻ, tương tác với người chủ thẻ, liên lạc với hệ thống ngân hàng để thực hiện giao dịch. Người chủ thẻ sẽ nhập vào thông tin của giao dịch. Mỗi máy POS thuộc về một ngân hàng cụ thể và do đó sẽ kết nối trực tiếp đến ngân hàng đó để xử lý giao dịch. Mỗi máy POS nhận vào một thẻ, tương tác với nhân viên thu ngân tại cửa hàng, sau đó máy POS kết nối trực tiếp với ngân hàng để thực hiện giao dịch. Nhân viên thu ngân sẽ nhập vào thông tin của giao dịch. Mỗi khách hàng có một hoặc nhiều tài khoản tại ngân hàng phát hành thẻ. Mỗi tài khoản có thể liên kết với nhiều thẻ và ngược lại. Nếu thẻ có liên kết nhiều tài khoản thì sẽ luôn xác định một tài khoản mặc định. Các ngân hàng và hệ thống ngân hàng có thể cung cấp nhiều loại tài khoản và nhiều loại thẻ. Thông tin tài khoản và các giao dịch trên tài khoản được mỗi ngân hàng quản lý khác nhau. Mỗi thẻ có một mã ngân hàng và mã thẻ theo một quy chuẩn chung giữa các ngân hàng. Trong đồ án này, chúng ta sẽ thiết kế hệ thống các lớp đối tượng đại diện cho các thực thể trong giao dịch ATM và POS, cho phép giả lập thực hiện các giao dịch và ghi nhận lại các kết quả giao dịch. Sự phức tạp của đồ án phụ thuộc vào các loại nghiệp vụ ngân hàng mà chúng ta muốn giả lập. Đồ án được chia làm 3 sprint với nhiệm vụ cơ bản như sau:

- Sprint 1: hoàn thành xử lý giao dịch nội mạng trên máy POS - Sprint 2: hoàn thành xử lý giao dịch liên ngân hàng trên máy POS và ATM - Sprint 3: hoàn thành xử lý giao dịch với các loại tài khoản/loại thẻ khác nhau.

Page 2: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 2/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

2 Các khái niệm cơ bản Tài khoản: tài khoản người dùng tại một ngân hàng. Tài khoản có thể có nhiều loại, Một khách hàng có thể có nhiều tài khoản. Mỗi ngân hàng quản lý tài khoản theo những cách khác nhau. Lịch sử giao dịch của tài khoản được quản lý bởi ngân hàng. ATM: một máy trạm cho phép khách hàng thực hiện giao dịch bằng thẻ. ATM hỏi khách hàng các thông tin cá nhân và thông tin giao dịch, kết nối với hệ thống ngân hàng để thực hiện giao dịch. Các giao dịch tại ATM bao gồm: rút tiền mặt, nộp tiền mặt, chuyển khoản, truy vấn thông tin tài khoản, chuyển tiền giữa các tài khoản. ATM phục vụ giao dịch giữa các ngân hàng trong hệ thống ngân hàng. POS: thiết bị máy trạm cho phép thực hiện thanh toán tại một cửa hàng có sử dụng dịch vụ của ngân hàng. POS thuộc về một ngân hàng cụ thể và thực hiện giao dịch trực tiếp tại ngân hàng đó. Mỗi cửa hàng có một tài khoản nhận tiền tại ngân hàng. Khi thực hiện thanh toán, người dùng có thể được yêu cầu cung cấp thông tin cá nhân để giao dịch. Giao dịch thực hiện sẽ chuyển tiền từ tài khoản tương ứng với thẻ của khách hàng, sang tài khoản của cửa hàng. Thẻ: thẻ được phát hành bởi một ngân hàng cụ thể và cho phép thực hiện giao dịch trên các tài khoản liên quan tại ngân hàng đó. Mỗi thẻ có lưu mã ngân hàng và mã thẻ. Mỗi thẻ ngân hàng thuộc sở hữu của một khách hàng. Mỗi thẻ có thể sử dụng nhiều tài khoản của cùng khách hàng chủ thẻ. Mỗi tài khoản có thể liên kết đến nhiều thẻ. Ngân hàng: là đơn vị xử lý giao dịch cho các tài khoản và thẻ mà ngân hàng đó quản lý và phát hành. Mỗi ngân hàng có thể có cơ chế quản lý tài khoản và thẻ khác nhau, nhưng làm việc thống nhất theo một quy chuẩn của hệ thống ngân hàng. Hệ thống ngân hàng: hệ thống chuyển tiếp các giao dịch (giao dịch liên ngân hàng) giữa các ngân hàng. Hệ thống chỉ xử lý giao dịch giữa các ngân hàng nằm trong cùng hệ thống. Khách hàng: người nắm giữ một hoặc nhiều tài khoản tại một ngân hàng. Khách hàng có thể là cá nhân, tập thể, hay công ty. Một người có 2 tài khoản khác nhau tại 2 ngân hàng được coi là 2 khách hàng khác nhau (mỗi ngân hàng tự quản lý thông tin khách hàng theo những cách khác nhau). Giao dịch: một thao tác thực hiện trên một tài khoản của khách hàng. Các giao dịch có thể chỉ đọc thông tin của khách hàng (như truy vấn tài khoản), có thể thay đổi số tiền trong tài khoản (nộp vào/rút ra), có thể thay đổi số tiền trong nhiều tài khoản (chuyển khoản). Một giao dịch chuyển khoản tác động đến 2 tài khoản ở 2 ngân hàng khác nhau gọi là giao dịch liên ngân hàng. Một giao dịch có thể thành công hoặc thất bại. Mỗi ngân hàng đều phải lưu lại các lịch sử giao dịch dù thành công hay thất bại.

Page 3: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 3/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

3 Sprint 1 Trong Sprint 1, chúng ta sẽ thiết kế các lớp đối tượng và quan hệ giữa chúng để thực hiện được một số kịch bản giao dịch nội mạng (giữa các tài khoản cùng ngân hàng) tại máy POS.

3.1 Viecombank

Trong Sprint này ta làm việc với ngân hàng Viecombank. Các thông tin dưới đây mô tả dành riêng cho Viecombank, vì thế các quy định (ngoài quy định chuẩn) có thể không giống với một ngân hàng khác. Ngân hàng Viecombank: ngân hàng Viecombank có tên giao dịch là Viecombank và có mã ngân hàng là VICBVNVX. Mã ngân hàng theo chuẩn là 1 chuỗi 8 kí tự. Tài khoản tại Viecombank: Viecombank quản lý 2 loại tài khoản là tài khoản tiền gửi thanh toán (TKTGTT) và tài khoản thu (TKT). TKTGTT là tài khoản dùng cho khách hàng cá nhân để chi tiêu. TKT dùng cho doanh nghiệp để thu tiền thông qua Viecombank. Viecombank quy định TKTGTT lưu thông tin của khách hàng (họ tên – 20 kí tự không dấu, CMND – 10 chữ số), và có mã số tài khoản là 19 chữ số, luôn bắt đầu bởi 4 chữ số 1789. Viecombank quy định TKT lưu thông tin của doanh nghiệp (tên, địa chỉ, mã số thuế - 12 chữ số), và có mã số tài khoản là 19 chữ số, luôn bắt đầu bởi 4 chữ số 1989. Thẻ thanh toán của Viecombank: thẻ thanh toán gắn với một TKTGTT của một khách hàng. Thẻ theo chuẩn liên ngân hàng có mã thẻ là 16 chữ số. Thẻ của Viecombank luôn bắt đầu bằng 9438. Mỗi thẻ có mã số cá nhân chứng thực PIN là 1 chuỗi 6 chữ số. Trên thẻ còn lưu tên của khách hàng và mã ngân hàng. Thẻ có hạn sử dụng giới hạn (theo tháng/năm). Ngân hàng Viecombank phát hành đúng một thẻ thanh toán cho mỗi một TKTGTT của khách hàng của mình. Máy POS của Viecombank: máy có mã là một con số 20 chữ số, bắt đầu bằng 9034. Máy POS lưu mã tài khoản tương ứng của doanh nghiệp đặt máy. Giao dịch POS nội bộ Viecombank: thực hiện giao dịch thanh toán giữa thẻ thanh toán của Viecombank của một khách hàng, tại một cửa hàng sử dụng máy POS của Viecombank. Thông tin giao dịch được ngân hàng ghi lại gồm: mã số thẻ thanh toán, mã số tài khoản khách hàng, mã số máy POS, mã số tài khoản doanh nghiệp, mô tả giao dịch, số tiền giao dịch, thời gian thực hiện giao dịch. Nếu giao dịch thất bại, ngân hàng ghi lại lý do giao dịch thất bại.

Page 4: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 4/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

Các bước thực hiện giao dịch nội bộ qua máy POS gồm:

1. Nhân viên thu ngân nhập thông tin giao dịch vào máy POS của Viecombank:

- Đơn vị nhận thanh toán: mã số tài khoản của doanh nghiệp lưu trên máy POS - Thông tin máy POS: mã số của máy POS - Thông tin mô tả giao dịch: mô tả tối đa 30 kí tự không dấu - Số tiền giao dịch: số tiền bằng VND

2. Khách hàng quẹt thẻ để cung cấp thông tin cho máy POS:

- Khách hàng: mã số thẻ, mã PIN của thẻ, mã số ngân hàng trích tiền (NHTT), họ tên của khách hàng

3. Máy POS gửi thông tin đến Viecombank:

- Thông tin gửi đi gồm: thông tin ở mục 1 và 2, kèm theo mã số tài khoản doanh nghiệp lưu trên máy POS, mã số của máy POS

4. Viecombank nhận thông tin từ máy POS và xử lý như sau:

- Nếu thẻ thanh toán là do Viecombank cấp (kiểm tra mã số ngân hàng), đây là giao dịch nội mạng, thì:

o Kiểm tra thông tin mã thẻ và tên khách hàng có tồn tại và khớp nhau. Kiểm tra mã PIN có khớp với thẻ. Kiểm tra thẻ còn hạn sử dụng.

o Kiểm tra TKTGTT tương ứng với thẻ xem có đủ tiền giao dịch. o Kiểm tra thông tin mã số máy POS và mã số tài khoản doanh nghiệp

hợp lệ và khớp nhau. o Nếu thông tin hợp lệ, thực hiện chuyển khoản tiền qua tài khoản doanh

nghiệp. Phí giao dịch là 3%, tức là doanh nghiệp chi nhận được 97% số tiền từ khách hàng. Ngân hàng lưu lại thông tin giao dịch chuyển đi (trên TKTGTT) và chuyển đến (trên TKT). Ngân hàng lưu lại thông tin giao dịch.

o Nếu thông tin không hợp lệ: từ chối giao dịch. Ngân hàng lưu lại thông tin giao dịch và kết quả giao dịch.

5. Máy POS nhận kết quả từ Viecombank:

- Nếu giao dịch bị từ chối: báo lỗi - Nếu thành công: in biên lai, gồm có thông tin giao dịch (mô tả, số tiền), thông

tin máy POS, thông tin doanh nghiệp, mã thẻ đã lược bỏ (chỉ in ra 4 số đầu và 4 số cuối, 8 số giữa in ra dạng lược bỏ, ví dụ: 9438-XXXX-XXXX-4192).

3.2 Yêu cầu Sprint 1

Trong Sprint 1, chúng ta cần hoàn thành các yêu cầu sau: 1. Thiết kế và cài đặt các lớp đối tượng đại diện cho Ngân hàng, Tài khoản, Thẻ

thanh toán, Máy POS, Giao dịch. 2. Thiết kế sơ đồ lớp cho các đối tượng trên. 3. Cài đặt được xử lý giao dịch nội mạng qua máy POS.

Page 5: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 5/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

Kết quả được đánh giá qua việc thực hiện được các kịch bản sử dụng sau: 1. Lưu trữ được thông tin của ngân hàng Viecombank (thông tin tài khoản, thông

tin thẻ, máy POS, thông tin giao dịch). 2. Thực hiện được kịch bản giao dịch nội mạng Viecombank thanh toán thành

công tại một máy POS của Viecombank. 3. Thực hiện được kịch bản giao dịch nội mạng Viecombank tại một máy POS

của Viecombank, với giao dịch thất bại do sai thông tin PIN của thẻ. 4. Thực hiện được kịch bản giao dịch nội mạng Viecombank tại một máy POS

của Viecombank, với giao dịch thất bại do không đủ tiền thanh toán. 5. Thực hiện việc liệt kê lịch sử giao dịch thanh toán nội mạng trên một tài khoản

của khách hàng, cho phép lọc các giao dịch thành công và thất bại. 6. Thực hiện việc liệt kê lịch sử tiền chuyển vào một tài khoản của doanh nghiệp

do thanh toán nội mạng. Yêu cầu:

• Thực hiện yêu cầu của Sprint 1 theo hình thức nhóm (nhóm đã được phân chia) có áp dụng Scrum, sử dụng các công cụ hỗ trợ đã được giao (cho nhóm A) hoặc công cụ tự chọn (cho nhóm B).

• Theo dõi hoạt động cá nhân hàng ngày theo mẫu đã được cung cấp. • Nộp kết quả trên trang môn học (Moodle), hạn nộp 23h55 07/12/2014. • Kết quả nộp gồm:

o Sơ đồ lớp hướng đối tượng o Mã nguồn cài đặt bằng ứng dụng console o Báo cáo công việc (tối đa 1 trang A4): các kết quả đã đạt được, tỉ lệ đóng góp/vai trò của từng thành viên trong nhóm.

Tiêu chí đánh giá và tính điểm: Điểm số của yêu cầu Sprint 1 được đánh giá dựa trên các tiêu chí sau

• Số lượng các kịch bản được hoàn thành trong số 6 kịch bản trên. • Nội dung và mức độ đúng đắn của các kịch bản được hoàn thành. • Mức độ đúng đắn của sơ đồ hướng đối tượng. • Mức độ trung thực, đúng đắn của báo cáo công việc.

Page 6: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 6/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

4 Sprint 2 Trong Sprint 2, chúng ta sẽ thiết kế các lớp đối tượng và quan hệ giữa chúng để thực hiện được một số kịch bản giao dịch liên mạng (giữa các tài khoản khác ngân hàng) tại máy ATM.

4.1 VBnet

Hệ thống ngân hàng: hệ thống ngân hàng VBnet cung cấp các khả năng kết nối các ngân hàng thành viên. Trong kịch bản hiện tại, Viecombank và Xacombank đều là thành viên của hệ thống này. VBnet có một tập hợp các máy ATM phục vụ giao dịch cho tất cả các ngân hàng trong hệ thống. Máy ATM của VBnet: mỗi máy có mã là một con số 20 chữ số, bắt đầu bằng 9012. Hệ thống ngân hàng lưu thông tin vị trí địa lý của máy ATM. Tại mỗi thời điểm nhất định mỗi máy ATM chỉ chứa một số tiền giới hạn để phục vụ khách hàng. Các bước thực hiện giao dịch thông qua VBnet gồm:

1. VBnet tiếp nhận yêu cầu giao dịch

- Yêu cầu giao dịch phải có thông tin bên gửi. Bên gửi chỉ có thể là ngân hàng hoặc máy ATM thuộc VBnet. Bên gửi có thông tin mã định danh (mã ngân hàng hoặc mã máy ATM).

- Yêu cầu giao dịch phải có thông tin bên nhận. Bên nhận chỉ có thể là ngân hàng xử lý giao dịch.

- Nội dung yêu cầu giao dịch: nội dung yêu cầu giao dịch tuân theo chuẩn của hệ thống ngân hàng tùy theo loại giao dịch

2. VBnet chuyển tiếp yêu cầu cho bên nhận

3. Ngân hàng nhận xử lý và báo kết quả cho hệ thống ngân hàng

4. Hệ thống ngân hàng trả kết quả cho bên gửi yêu cầu

4.2 Giao dịch tại ATM của VBnet

Các loại giao dịch tại ATM của VBnet bao gồm: 1. Rút tiền mặt từ tài khoản ngân hàng 2. Nộp tiền mặt vào tài khoản ngân hàng 3. Truy vấn lịch sử giao dịch của tài khoản ngân hàng 4. Chuyển tiền giữa 2 tài khoản ngân hàng (chuyển khoản)

Khi giao dịch tại ATM, khách hàng phải sử dụng thẻ của ngân hàng nằm trong hệ thống VBnet. Thẻ sử dụng tại hệ thống ATM của VBnet phải ít nhất có thông tin mã ngân hàng và mã thẻ. Khách hàng đưa thẻ vào ATM và nhập mã PIN để chứng thực (mỗi ngân hàng có mã PIN là chuỗi số có chiều dài từ 4 đến 8 số). Chứng thực được ngân hàng nhận thực hiện mỗi lúc thực hiện giao dịch.

Page 7: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 7/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

4.2.1 Rút tiền mặt

Giao dịch rút tiền mặt được thực hiện theo các bước sau:

1. Máy ATM tiếp nhận thẻ của khách hàng

2. Máy ATM yêu cầu khách hàng nhập mã PIN của thẻ

3. Khách hàng chọn giao dịch rút tiền mặt

- Nếu khách hàng có nhiều tài khoản liên kết với thẻ, khách hàng có thể chọn tài khoản bằng cách nhập mã tài khoản, hoặc khách hàng chọn tài khoản mặc định của thẻ.

4. Khách hàng chọn số tiền cần rút và lựa chọn in hóa đơn

5. Máy ATM kiểm tra trong máy còn đủ tiền để cung cấp cho khách hàng

6. Nếu có đủ tiền, máy ATM gửi yêu cầu giao dịch đến VBnet, nếu không kết thúc giao dịch. Thông tin yêu cầu gồm:

- Bên gửi: mã số của máy ATM

- Bên nhận: mã số ngân hàng trên thẻ

- Nội dung: yêu cầu rút tiền, gồm các thông tin:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có), số tiền cần rút

o Mã máy ATM thực hiện giao dịch

7. VBnet tiếp nhận yêu cầu, kiểm tra và chuyển tiếp yêu cầu:

- VBnet kiểm tra mã ngân hàng có phải là của ngân hàng thuộc hệ thống

- Nếu là ngân hàng thuộc VBnet, chuyển tiếp yêu cầu đến ngân hàng nhận:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có), số tiền cần rút

o Mã máy ATM thực hiện giao dịch

8. Ngân hàng nhận xử lý yêu cầu:

- Ngân hàng kiểm tra thông tin hợp lệ: o Mã thẻ và mã PIN chính xác o Thẻ còn hạn sử dụng o Tài khoản có liên kết với thẻ. Nếu không có mã tài khoản, chọn tài

khoản mặc định để rút tiền. o Kiểm tra tài khoản còn đủ số tiền cần rút.

- Nếu thông tin hợp lệ, ngân hàng trừ tiền trong tài khoản khách hàng và báo giao dịch thành công cho VBnet.

- Nếu không hợp lệ, ngân hàng từ chối giao dịch và báo giao dịch thất bại cho VBnet.

- Ngân hàng ghi nhận kết quả giao dịch vào lịch sử giao dịch của tài khoản khách hàng. Ngân hàng ghi nhận thông tin mã thẻ, mã PIN, số tiền rút, mã máy ATM giao dịch trên tài khoản.

Page 8: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 8/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

9. VBnet chuyển kết quả giao dịch cho máy ATM

10. Máy ATM kết thúc giao dịch:

- Nếu giao dịch thất bại, hệ thống báo lỗi và trả lại thẻ cho khách hàng. - Nếu giao dịch thành công, trả lại thẻ, tiền cho khách hàng. Nếu khách hàng có

chọn in hóa đơn thì in ra hóa đơn gồm: số tiền đã rút, số dư trong tài khoản trước khi rút, số dư trong tài khoản sau khi rút, thời gian giao dịch, mã thẻ đã lược bỏ1.

4.2.2 Nộp tiền mặt

Giao dịch nộp tiền mặt được thực hiện theo các bước sau:

1. Máy ATM tiếp nhận thẻ của khách hàng

2. Máy ATM yêu cầu khách hàng nhập mã PIN của thẻ

3. Khách hàng chọn giao dịch nộp tiền mặt

- Nếu khách hàng có nhiều tài khoản liên kết với thẻ, khách hàng có thể chọn tài khoản bằng cách nhập mã tài khoản, hoặc khách hàng chọn tài khoản mặc định của thẻ.

4. Khách hàng đưa tiền vào máy và lựa chọn in hóa đơn

5. Máy ATM máy ATM xác nhận số tiền đã nhận với khách hàng

6. Máy ATM gửi yêu cầu giao dịch đến VBnet. Thông tin yêu cầu gồm:

- Bên gửi: mã số của máy ATM

- Bên nhận: mã số ngân hàng trên thẻ

- Nội dung: yêu cầu nộp tiền, gồm các thông tin:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có), số tiền nộp

o Mã máy ATM thực hiện giao dịch

7. VBnet tiếp nhận yêu cầu, kiểm tra và chuyển tiếp yêu cầu:

- VBnet kiểm tra mã ngân hàng có phải là của ngân hàng thuộc hệ thống

- Nếu là ngân hàng thuộc VBnet, chuyển tiếp yêu cầu đến ngân hàng nhận:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có), số tiền nộp

o Mã máy ATM thực hiện giao dịch

8. Ngân hàng nhận xử lý yêu cầu:

- Ngân hàng kiểm tra thông tin hợp lệ: o Mã thẻ và mã PIN chính xác o Thẻ còn hạn sử dụng

1 Xem trang 4

Page 9: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 9/14 ĐH KHTN – ĐHQG HCM ĐH KHTN – ĐHQG HCM

o Tài khoản có liên kết với thẻ. Nếu không có mã tài khoản, chọn tài khoản mặc định để nộp tiền.

- Nếu thông tin hợp lệ, ngân hàng cộng tiền trong tài khoản khách hàng và báo giao dịch thành công cho VBnet.

- Nếu không hợp lệ, ngân hàng từ chối giao dịch và báo giao dịch thất bại cho VBnet.

- Ngân hàng ghi nhận kết quả giao dịch vào lịch sử giao dịch của tài khoản khách hàng. Ngân hàng ghi nhận thông tin mã thẻ, mã PIN, số tiền nộp, mã máy ATM giao dịch trên tài khoản.

9. VBnet chuyển kết quả giao dịch cho máy ATM

10. Máy ATM kết thúc giao dịch:

- Nếu giao dịch thất bại, hệ thống báo lỗi và trả lại tiền và thẻ cho khách hàng. - Nếu giao dịch thành công, trả lại thẻ cho khách hàng. Nếu khách hàng có chọn

in hóa đơn thì in ra hóa đơn gồm: số tiền đã nộp, số dư trong tài khoản trước khi nộp, số dư trong tài khoản sau khi nộp, thời gian giao dịch, mã thẻ đã lược bỏ.

4.2.3 Truy vấn

Giao dịch truy vấn lịch sử tài khoản mặt được thực hiện theo các bước sau:

1. Máy ATM tiếp nhận thẻ của khách hàng

2. Máy ATM yêu cầu khách hàng nhập mã PIN của thẻ

3. Khách hàng chọn giao dịch truy vấn thông tin tài khoản

- Nếu khách hàng có nhiều tài khoản liên kết với thẻ, khách hàng có thể chọn tài khoản bằng cách nhập mã tài khoản, hoặc khách hàng chọn tài khoản mặc định của thẻ.

4. Máy ATM gửi yêu cầu giao dịch đến VBnet. Thông tin yêu cầu gồm:

- Bên gửi: mã số của máy ATM

- Bên nhận: mã số ngân hàng trên thẻ

- Nội dung: yêu cầu truy vấn tài khoản, gồm các thông tin:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có)

o Mã máy ATM thực hiện giao dịch

5. VBnet tiếp nhận yêu cầu, kiểm tra và chuyển tiếp yêu cầu:

- VBnet kiểm tra mã ngân hàng có phải là của ngân hàng thuộc hệ thống

- Nếu là ngân hàng thuộc VBnet, chuyển tiếp yêu cầu đến ngân hàng nhận:

o Mã ngân hàng, mã thẻ, mã PIN, mã tài khoản (nếu có)

6. Ngân hàng nhận xử lý yêu cầu:

- Ngân hàng kiểm tra thông tin hợp lệ:

Page 10: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 10/14 ĐH KHTN – ĐHQG HCM

o Mã thẻ và mã PIN chính xác o Thẻ còn hạn sử dụng o Tài khoản có liên kết với thẻ. Nếu không có mã tài khoản, chọn tài

khoản mặc định. - Nếu thông tin hợp lệ, ngân hàng lấy thông tin của 10 giao dịch thành công và

có thay đổi số dư tài khoản của khách hàng, gửi dữ liệu lịch sử giao dịch và báo giao dịch thành công cho VBnet.

- Nếu không hợp lệ, ngân hàng từ chối giao dịch và báo giao dịch thất bại cho VBnet.

- Ngân hàng ghi nhận kết quả giao dịch vào lịch sử giao dịch của tài khoản khách hàng. Ngân hàng ghi nhận thông tin mã thẻ, mã PIN, mã máy ATM giao dịch trên tài khoản.

7. VBnet chuyển kết quả giao dịch và dữ liệu lịch sử cho máy ATM

8. Máy ATM kết thúc giao dịch:

- Nếu giao dịch thất bại, ATM báo lỗi và trả lại thẻ cho khách hàng. - Nếu giao dịch thành công trả lại thẻ cho khách hàng. In ra hóa đơn gồm: mã số

tài khoản, thời gian giao dịch, mã thẻ đã lược bỏ, danh sách 10 giao dịch thành công. Thông tin của từng giao dịch gồm: thời gian giao dịch, loại giao dịch (tăng/giảm số dư), số tiền giao dịch (nếu là tiền tăng số dư, in kèm với dấu cộng +, nếu là tiền giảm số dư, in kèm với dấu trừ –)

4.2.4 Chuyển khoản

Giao dịch chuyển khoản được thực hiện theo các bước sau:

1. Máy ATM tiếp nhận thẻ của khách hàng

2. Máy ATM yêu cầu khách hàng nhập mã PIN của thẻ

3. Khách hàng chọn giao dịch chuyển khoản

4. Khách hàng chọn tài khoản trích tiền

- Nếu khách hàng có nhiều tài khoản liên kết với thẻ, khách hàng có thể chọn tài khoản bằng cách nhập mã tài khoản, hoặc khách hàng chọn tài khoản mặc định của thẻ.

5. Khách hàng chọn tài khoản nhận tiền

- Khách hàng chọn ngân hàng của tài khoản nhận tiền, và nhập mã số tài khoản của tài khoản nhận tiền.

6. Khách hàng chọn số tiền chuyển khoản và lựa chọn in hóa đơn

7. Máy ATM máy ATM xác nhận tài khoản trích tiền, tài khoản nhận tiền, số tiền chuyển khoản với khách hàng

8. Máy ATM gửi yêu cầu giao dịch đến VBnet. Thông tin yêu cầu gồm:

- Bên gửi: mã số của máy ATM

Page 11: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 11/14 ĐH KHTN – ĐHQG HCM

- Bên nhận: mã số ngân hàng phát hành thẻ (ngân hàng trích tiền – NHTT)

- Nội dung: yêu cầu chuyển khoản, gồm các thông tin:

o Mã ngân hàng của tài khoản trích tiền, mã thẻ, mã PIN, mã tài khoản trích tiền (nếu có), số tiền chuyển khoản

o Mã ngân hàng của tài khoản nhận tiền (ngân hàng nhận tiền – NHNT), và mã tài khoản nhận tiền

o Mã máy ATM thực hiện giao dịch

9. VBnet tiếp nhận yêu cầu, kiểm tra và chuyển tiếp yêu cầu đến NHTT:

- VBnet kiểm tra mã NHTT và mã NHNT có phải là của ngân hàng thuộc hệ thống

- Nếu cả 2 ngân hàng thuộc VBnet, chuyển tiếp yêu cầu đến NHTT:

o Mã của NHTT, mã thẻ, mã PIN, mã tài khoản trích tiền (nếu có), số tiền chuyển khoản

o Mã của NHNT, và mã tài khoản nhận tiền

o Mã máy ATM thực hiện giao dịch

10. Ngân hàng trích tiền nhận xử lý yêu cầu:

- NHTT kiểm tra thông tin hợp lệ: o Mã thẻ và mã PIN chính xác o Thẻ còn hạn sử dụng o Tài khoản trích tiền có liên kết với thẻ. Nếu không có mã tài khoản,

chọn tài khoản mặc định để trích tiền. o Tài khoản trích tiền còn đủ số tiền cần rút.

- Nếu thông tin hợp lệ, o Nếu tài khoản nhận tiền là tài khoản cùng ngân hàng (giao dịch nội

mạng): § ngân hàng cộng tiền trong tài khoản nhận tiền § và trừ tiền trong tài khoản trích tiền § báo giao dịch thành công cho VBnet.

o Nếu tài khoản nhận tiền là tài khoản khác ngân hàng (giao dịch liên ngân hàng)

a. NHTT gửi yêu cầu giao dịch gửi tiền đến NHNT thông qua VBnet:

§ NHTT gửi yêu cầu giao dịch gửi tiền đến VBnet. Thông tin gồm: mã NHNT, mã tài khoản nhận tiền, mã NHTT, mã tài khoản trích tiền.

b. VBnet chuyển tiếp giao dịch đến NHNT

c. NHNT xử lý và trả về kết quả

§ NHNT kiểm tra tồn tại tài khoản nhận tiền, nếu có thì NHNT tăng số dư của tài khoản nhận tiền

Page 12: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 12/14 ĐH KHTN – ĐHQG HCM

§ NHNT ghi nhận kết quả giao dịch vào lịch sử giao dịch của tài khoản nhận tiền. Ngân hàng ghi nhận thông tin mã NHTT mã tài khoản gửi tiền, số tiền đã cộng vào.

§ NHTT ghi nhận kết quả giao dịch vào lịch sử giao dịch của tài khoản khách hàng. Ngân hàng ghi nhận thông tin mã thẻ, mã PIN, số tiền đã trừ, mã máy ATM giao dịch trên tài khoản.

§ NHNT trả kết quả giao dịch về cho VBnet d. VBnet chuyển tiếp kết quả về NHTT

e. Nếu giao dịch gửi tiền thành công, NHTT trừ tiền của tài khoản trích tiền

f. NHTT báo kết quả chuyển khoản cho ATM thông qua VBnet

- Nếu không hợp lệ, NHTT từ chối giao dịch và báo giao dịch thất bại cho VBnet.

11. VBnet chuyển tiếp kết quả giao dịch chuyển khoản tới ATM

12. Máy ATM kết thúc giao dịch:

- Nếu giao dịch thất bại, ATM báo lỗi và trả lại thẻ cho khách hàng. - Nếu giao dịch thành công, trả lại thẻ cho khách hàng. Nếu khách hàng có chọn

in hóa đơn thì in ra hóa đơn gồm: mã tài khoản trích tiền, mã tài khoản nhận tiền, số tiền đã chuyển khoản, số dư tài khoản trích tiền trước khi chuyển, số dư tài khoản trích tiền sau khi chuyển, thời gian giao dịch, mã thẻ đã lược bỏ.

4.3 Viecombank

(nhắc lại) Thẻ thanh toán của Viecombank: có 16 chữ số, bắt đầu bằng 9438. Mã PIN là 6 chữ số. Mỗi thẻ thanh toán của Viecombank chỉ kết nối với đúng 1 tài khoản tiền gửi thanh toán (TKTGTT). Mỗi TKTGTT cũng chỉ có đúng 1 thẻ thanh toán đang trong thời hạn sử dụng. Giao dịch tại ATM: phí giao dịch tại ATM VBnet với Viecombank là miễn phí cho các giao dịch nộp tiền và truy vấn. Phí giao dịch cho giao dịch rút tiền là 1.000đ/lần. Phí giao dịch cho giao dịch chuyển khoản là 3.000đ/lần. Phí giao dịch được trừ vào tài khoản liên kết với thẻ đang giao dịch tại ATM. Nếu tài khoản không đủ tiền để thực hiện giao dịch + trả phí thì giao dịch bị Viecombank từ chối.

4.4 Xacombank

Ngân hàng Xacombank: ngân hàng Xacombank có tên giao dịch là Xacombank và có mã ngân hàng là XACBVNVX. Mã ngân hàng theo chuẩn là 1 chuỗi 8 kí tự. Tài khoản tại Xacombank: Xacombank cũng quản lý 2 loại tài khoản là tài khoản tiền gửi thanh toán (TKTGTT) và tài khoản thu (TKT). TKTGTT là tài khoản dùng cho khách hàng cá nhân để chi tiêu. TKT dùng cho doanh nghiệp để thu tiền thông qua Xacombank.

Page 13: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 13/14 ĐH KHTN – ĐHQG HCM

Xacombank quy định TKTGTT lưu thông tin của khách hàng (họ tên – 20 kí tự không dấu, CMND – 10 chữ số), và có mã số tài khoản là 12 chữ số, luôn bắt đầu bởi 4 chữ số 1629. Xacombank quy định TKT lưu thông tin của doanh nghiệp (tên, địa chỉ, mã số thuế - 12 chữ số), và có mã số tài khoản là 12 chữ số, luôn bắt đầu bởi 4 chữ số 1647. Thẻ thanh toán của Xacombank: thẻ thanh toán gắn với TKTGTT của một khách hàng. Thẻ theo chuẩn liên ngân hàng có mã thẻ là 16 chữ số. Thẻ của Viecombank luôn bắt đầu bằng 9012. Mỗi thẻ có mã số cá nhân chứng thực PIN là 1 chuỗi 4 chữ số. Trên thẻ còn lưu tên của khách hàng và mã ngân hàng. Thẻ có hạn sử dụng giới hạn (theo tháng/năm). Xacombank cho phép một thẻ thanh toán có thể gắn với tối đa 3 TKTGTT của cùng một khách hàng, khi đó luôn lưu thông tin tài khoản thanh toán mặc định trong 3 tài khoản. Máy POS của Xacombank: máy có mã là một con số 16 chữ số, bắt đầu bằng 7832. Máy POS lưu mã tài khoản tương ứng của doanh nghiệp đặt máy. Giao dịch POS nội bộ Xacombank: thực hiện giao dịch thanh toán giữa thẻ thanh toán của Xacombank của một khách hàng, tại một cửa hàng sử dụng máy POS của Xacombank. Thông tin giao dịch được ngân hàng ghi lại gồm: mã số thẻ thanh toán, mã số tài khoản khách hàng, mã số máy POS, mã số tài khoản doanh nghiệp, mô tả giao dịch, số tiền giao dịch, thời gian thực hiện giao dịch. Nếu giao dịch thất bại, ngân hàng ghi lại lý do giao dịch thất bại. Các thức giao dịch tương tự như mô tả Sprint 1 về giao dịch POS nội bộ Viecombank. Phí giao dịch máy POS của Xacombank do doanh nghiệp chịu chi trả, với phí là 2% (doanh nghiệp nhận 98% khoản tiền thanh toán). Giao dịch tại ATM: phí giao dịch tại ATM VBnet với Xacombank là miễn phí cho các giao dịch nộp tiền, rút tiền và truy vấn. Phí giao dịch cho giao dịch chuyển khoản là 5.000đ/lần. Phí giao dịch được trừ vào tài khoản liên kết với thẻ đang giao dịch tại ATM. Nếu tài khoản không đủ tiền để thực hiện giao dịch + trả phí thì giao dịch bị Xacombank từ chối.

4.5 Yêu cầu Sprint 2

Trong Sprint 2, chúng ta cần hoàn thành các yêu cầu sau: 1. Thiết kế và cài đặt các lớp đối tượng đại diện cho 2 loại đối tượng mới là Máy

ATM và Hệ thống ngân hàng. 2. Cải tiến các lớp đại diện cho Ngân hàng, Tài khoản, Thẻ thanh toán, Máy

POS, Giao dịch. 3. Cài đặt được xử lý giao dịch trên máy ATM, và xử lý giao dịch nội mạng và

liên mạng trên máy ATM.

Page 14: Phương pháp Lập trình Hướng đối tượng

Phương pháp Lập trình Hướng đối tượng Học kì 1/2014-2015 Thử nghiệm làm việc nhóm

Khoa CNTT– Bộ môn Công nghệ Phần mềm 14/14 ĐH KHTN – ĐHQG HCM

Kết quả được đánh giá qua việc thực hiện được các kịch bản sử dụng sau: 1. Lưu trữ được thông tin của ngân hàng Viecombank, Xacombank và hệ thống

VBnet. 2. Thực hiện được kịch bản giao dịch nội mạng Xacombank thanh toán thành

công tại một máy POS của Xacombank. 3. Thực hiện được kịch bản giao dịch rút tiền từ một tài khoản của Viecombank

qua ATM của VBnet. 4. Thực hiện được kịch bản giao dịch rút tiền thất bại từ một tài khoản của

Viecombank qua ATM của VBnet 5. Thực hiện được kịch bản giao dịch nộp tiền vào một tài khoản của

Xacombank qua ATM của VBnet. 6. Thực hiện kịch bản liệt kê lịch sử giao dịch một tài khoản của Xacombank qua

ATM của VBnet. 7. Thực hiện được kịch bản giao dịch chuyển khoản thành công từ một tài khoản

của Xacombank tới một tài khoản của Viecombank qua ATM của VBnet. 8. Thực hiện được kịch bản giao dịch chuyển khoản thất bại từ một tài khoản của

Viecombank tới một tài khoản của Xacombank qua ATM của VBnet. Yêu cầu:

• Thực hiện yêu cầu của Sprint 2 theo hình thức nhóm (nhóm đã được phân chia) có áp dụng Scrum, sử dụng các công cụ hỗ trợ đã được giao (cho nhóm A) hoặc công cụ tự chọn (cho nhóm B).

• Hoàn tất các nhiệm vụ của Sprint 1 nếu chưa hoàn thành. • Theo dõi hoạt động cá nhân hàng ngày theo mẫu đã được cung cấp. • Nộp kết quả trên trang môn học (Moodle), hạn nộp 23h55 13/12/2014. • Kết quả nộp gồm:

o Sơ đồ lớp hướng đối tượng bao gồm cả kết quả của Sprint 1 o Mã nguồn cài đặt bằng ứng dụng console bao gồm cả kết quả của

Sprint 1 o Báo cáo công việc (tối đa 1 trang A4): các kết quả đã đạt được, tỉ lệ đóng góp/vai trò của từng thành viên trong nhóm trong Sprint 2.

Tiêu chí đánh giá và tính điểm: Điểm số của yêu cầu Sprint 2 được đánh giá dựa trên các tiêu chí sau

• Số lượng các kịch bản được hoàn thành trong số 8 kịch bản trên. • Nội dung và mức độ đúng đắn của các kịch bản được hoàn thành. • Mức độ đúng đắn của sơ đồ hướng đối tượng. • Mức độ trung thực, đúng đắn của báo cáo công việc.