Mỗi lần thanh toán đều lưu hóa đơn đầy đủ thông tin người đại diện công ty, đại diện đối tác, ngày thanh toán, tổng tiền thanh toán và danh sách các MH được thanh toán, mỗi MH của một KH
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
BÁO CÁO BÀI TẬP LỚN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Đề tài: Phần mềm cho vay trả góp (Đề số 58)
Module: Thanh toán cho đối tác
Mã sinh viên: B21DCCN724
Tên sinh viên: Nguyễn Hữu Trinh
Giảng viên: TS Đỗ Thị Bích Ngọc
HÀ NỘI, THÁNG 3 / 2024
Trang 2Mục Lục
Đề số 58 3
A) Pha đặc tả 5
I) Danh sách các từ chuyên môn trong lĩnh vực của ứng dụng 5
II) Mô tả hệ thống chi tiết 5
III) Sơ đồ tổng quát use case của hệ thống 6
IV) Sơ đồ use case chi tiết của module 7
1) Sơ đồ use case 7
2) Giải thích các use case 7
B) Pha phân tích 8
I) Scenario chuẩn 8
II) Sơ đồ lớp thực thể 10
1) Trích lớp thực thể 10
2) Sơ đồ lớp thực thể 10
III) Mô hình hóa các lớp 11
1) Thẻ CRC cho module Thanh toán cho đối tác 11
2) Sơ đồ lớp cho module Thanh toán cho đối tác 12
IV) Mô hình hoạt động 13
V) Scenario cuối pha phân tích 13
1) Scenario 13
2) Sơ đồ tuần tự 15
Trang 3Đề số 58
Thời gian làm bài: 60 phút Hãng cho vay trả góp Saison đặt hàng anh chị phát triển một phần mềm giúp họ quản lí khách hàng vay trả góp tại chuỗi cửa hàng của họ với mô tả như sau:
• Hãng hợp tác với nhiều đối tác - ĐT, là các công ty bán lẻ các mặt hàng - MH với nhiều chủng loại từ điện thoại, máy tính, đồ điện tử, điện lạnh, gia dụng, ô tô, bất động sản
• Khi khách hàng - KH mua một hay một số MH của ĐT mà có nhu cầu sử dụng dịch vụ trả góp, nhân viên sẽ làm thủ tục kí hợp đồng - HĐ vay trả góp cho KH đó
HĐ chứa thông tin địa diện công ty, thông tin KH, thông tin ĐT, ngày kí, và danh sách các mặt hàng, mỗi mặt hàng trên 1 dòng: mã, tên, đơn vị tính, đơn giá, số lượng, thành tiền Dòng cuối là tổng tiền và thời hạn vay Tiếp theo là danh sách các thời điểm thanh toán, mỗi đợt trên 1 dòng: ngày phải thanh toán, tổng tiền thanh toán, tổng dư nợ còn lại
• Mỗi MH có giá niêm yết của ĐT riêng, công ty thanh toán cho ĐT sẽ được chiết khấu giảm giá mức 1-5%, công ty thu lại của khách hàng theo lãi suất 1-20%/năm dựa trên giá niêm yết của MH
• KH có thể thanh toán tiền trả góp cho mỗi HĐ mỗi tháng một lần, trong thời gian tùy chọn của hợp đồng
• KH có thể thanh toán trước hạn từng tháng nhưng giá trị thanh toán không đổi (không được giảm lãi)
• Nếu KH thanh toán muộn so với thời hạn hàng tháng, thì khoản dư nợ trễ hạn được hình vào nợ gốc và tính lãi theo nợ gốc
• Công ty có thể thanh toán tiền MH cho ĐT theo từng MH hoặc theo từng đợt trong khoảng thời gian 1 tuần, 1 tháng Mỗi lần thanh toán đều lưu hóa đơn đầy đủ thông tin người đại diện công ty, đại diện đối tác, ngày thanh toán, tổng tiền thanh toán và danh sách các MH được thanh toán, mỗi MH của một KH trên 1 dòng: mã, tên MH, tên KH, ngày mua, đơn vị tính, số lượng, đơn giá, thành tiền
Modul “Thanh toán cho đối tác” được mô tả như sau: NV chọn chức năng thanh
toán cho ĐT → Giao diện tìm ĐT hiện lên → NV nhập tên ĐT hoặc một phần tên
ĐT và click tìm → Giao diện hiện lên danh sách các ĐT có tên chứa từ khóa vừa nhập -> Chọn đúng ĐT → Giao diện hiện lên danh sách các Hợp đồng của KH mua hàng của ĐT đó mà công ty chưa thanh toán hết cho ĐT hiện lên, mỗi hợp đồng
Trang 4trên 1 dòng: id, tên KH, tổng mặt hàng, tổng tiền của KH, số tiền phải thanh toán cho ĐT -> NV tích chọn một số hợp đồng để thanh toán cho ĐT và click next -> Hiện giao diện hóa đơn thanh toán đối tác với đầy đủ thông tin như mô tả ở trên ->
NV xác nhận với ĐT và click lưu → Hệ thống lưu và in hóa đơn cho ĐT kí để NV lưu
1 Viết một scenario chuẩn cho use case này
2 Trích và vẽ biểu đồ các lớp thực thể liên quan của modul
3 Thiết kế tĩnh: thiết kế giao diện và vẽ biểu đồ lớp MVC chi tiết cho modul
4 Thiết kế động: vẽ biểu đồ tuần tự mô tả tuần tự hoạt động của modul
5 Viết một test case chuẩn cho modul này
Trang 5A) Pha đặc tả
I) Danh sách các từ chuyên môn trong lĩnh vực của ứng dụng
ST
1 Nhân viên Người làm thuê cho hãng
2 Quản lý Là nhân viên của hãng, có vai trò quản lý
3 Đối tác Là công ty bán lẻ các mặt hàng, hợp tác với hãng
4 Khách hàng Là người mua mặt hàng của đối tác thông qua hình thức trả
góp của hãng
5 Mặt hàng Là các sản phẩm cụ thể được bán lẻ, ví dụ như: điện thoại
Iphone 15, Laptop ThinkPad T480, …
6 Loại Hàng Chủng loại của mặt hàng, từ điện thoại, máy tính, đồ điện
tử, điện lạnh, gia dụng, ô tô, bất động sản
7 Hợp đồng Hợp đồng cho vay trả góp, được ký khi khách hàng có nhu
cầu mua trả góp các sản phẩm của đối tác
8 Giá niêm yết Là giá bán công khai do đối tác quy định
9 Lãi suất Tỷ lệ phần trăm tính trên giá niêm yết của mỗi mặt hàng mà
khách hàng phải trả thêm cho hãng
10 Chiết khấu Số tiền giảm giá của mặt hàng mà hãng phải thanh toán cho
đối tác
11 Thanh toán
trả góp
Hình thức thanh toán mỗi tháng một lần cho một khoản vay trả góp
12 Thánh toán
trước hạn
Khách hàng thanh toán trước thời gian quy định trong hợp đồng
13 Nợ gốc Tổng số tiền mà khách hàng chưa thanh toán cho hãng
14 Dư nợ trễ
hạn
Số tiền trả góp mà khách hàng thanh toán chậm so với thời gian ghi trong hợp đồng
15 Đại diện
công ty
Nhân viên có vai trò đại diện công ty để làm hợp đồng mua trả góp
II) Mô tả hệ thống chi tiết
- Phạm vi phần mềm:
+ Hỗ trợ quản lý cho một hãnh cho vay trả góp
+ Chỉ có nhân viên của hãng có thẩm quyền mới được sử dụng hệ thống
- Đối với toàn bộ nhân viên:
+ Phải đăng nhập để thực hiện nhiệm vụ của mình
Trang 6+ Sau khi đăng nhập có thể thay đổi mật khẩu
+ Hết ca làm việc phải đăng xuất
- Mô tả thông tin:
+ Hãng có nhiều đối tác (id, tên đối tác, mô tả)
+ Mỗi đối tác có nhiều mặt hàng (id, tên mặt hàng, giá bán, mô tả, số lượng còn lại) ở một hoặc nhiều chủng loại
+ Mỗi khách hàng(id, tên khách hàng) có thể mua một hoặc nhiều mặt hàng
+ Khi mua hàng, nhân viên sẽ làm hợp đồng (id, đại diện công ty, thông tin đối tác, thông tin khách hàng, ngày ký, danh sách mặt hàng, tổng tiền, thời hạn vay, lãi suất, chiết khấu)
- Quản lý được phép:
+ Quản lý đối tác
+ Quản lý mặt hàng của đối tác
+ Quản lý khách hàng
- Nhân viên được phép:
+ Lên hợp đồng
+ Thanh toán cho đối tác
+ Nhận thanh toán của khách hàng
Trang 7III) Sơ đồ tổng quát use case của hệ thống
Trang 8IV) Sơ đồ use case chi tiết của module
1) Sơ đồ use case
2) Giải thích các use case
- Đăng nhập: nhân viên đăng nhập để thực hiện công việc
- Thanh toán cho đối tác: use case với chức năng thanh toán tiền cho các đối tác
- Tìm đối tác: chức năng tìm kiếm các đối tác cần thanh toán
- Xem danh sách đối tác: Hiển thị danh sách các đối tác khi tìm với các
từ khóa
- Xem danh sách hợp đồng: Hiển thị danh sách các hợp đồng của đối tác được chọn
- Xem trang hóa đơn thanh toán: Hiển thị trang hóa đơn thanh toán để đối tác xác nhận
Trang 9- In hóa đơn: In hóa đơn để ký xác nhận thanh toán thành công.
B) Pha phân tích
I) Scenario chuẩn
Usecas
e
Thanh toán cho đối tác
Actor Nhân viên, Đối tác
Tiền
điều
kiện
Nhân viên đăng nhập thành công, đến hạn thanh toán cho đối tác
Hậu
điều
kiện
Dữ liệu được lưu vào cơ sở dữ liệu, hóa đơn được in ra
Kịch
bản
chính
1 Sau khi đăng nhập, từ giao diện chính, nhân viên A chọn chức năng thanh toán cho đối tác
2 Giao diện tìm kiếm đối tác hiển thị với ô tìm kiếm và nút tìm kiếm
3 Nhân viên gõ tên đối tác hoặc một phần tên đối tác vào ô tìm kiếm, click vào nút tìm kiếm
4 Giao diện hiện lên danh sách đối tác, mỗi dòng là một đối tác (gồm mã đối tác, tên đối tác, mô tả về đối tác) có tên chứa từ khóa vừa nhập
STT Mã đối
tác
Tên đối tác Mô tả
1 DT1 CellPhoneS Bán điện thoại BACK
5 Nhân viên chọn đúng đối tác cần tìm (DT1)
6 Giao diện hiện lên danh sách các hợp đồng của khách hàng mua hàng của DT1 mà công ty chưa thanh toán hết cho đối tác, mỗi hợp đồng được hiển thị trên một dòng, gồm mã hợp đồng, tên khách hàng, tổng mặt hàng, tổng tiền của khách hàng, số tiền phải thanh toán cho đối tác, một ô tích chọn Ở cuối giao diện có nút next
STT ID Tên
khách hàng
Tổng mặt hàng
Tổng tiền của khách hàng
Số tiền phải thanh toán cho đối tác
Chọn
1 DT1HD
1
Nguyễn Văn A
1 10000000 1000000
0
Chọn
2 DT1HD
2
Nguyễn Thị B
1 5000000 5000000 Không
chọn BACK NEXT
7 Nhân viên phải tích chọn một số hợp đồng để thanh toán cho đối tác và
Trang 10click next.
8 Giao diện hóa đơn thanh toán hiện lên với các thông tin: người đại diện công ty, đại diện đối tác, ngày thanh toán, tổng tiền thanh toán, danh sách hợp đồng với thông tin ở trên
Hóa đơn Đại diện công ty: Nguyễn Quản Lý
Đại diện đối tác: Nguyễn Đối Tác
Ngày thanh toán: 10/10/2023
Số tiền thanh toán: 10000000 vnd
Danh sách các mặt hàng được thanh toán
ST
T
Mã MH
Tên MH
Tên KH
Ngày mua Đơn
vị tính
Số lượng
Đơn giá Thành
tiền
1 MH1 Iphone
X
Nguyễn Văn A
10/09/2023 Cái 1 10000000 10000000
Chữ ký của đối tác
Back Lưu và in hóa đơn
9 Nhân viên xác nhận hóa đơn với đối tác và click lưu và in hóa đơn
10 Hệ thống lưu và in hóa đơn cho đối tác ký để nhân viên lưu
Ngoại
lệ
4 Không tìm thấy đối tác
4.1 Hệ thống thông báo không có đối tác nào
Không có đối tác
BACK
4.2 Nhấn nút BACK để trở lại trang thanh toán cho đối tác
4.3 Thực hiện lại việc tìm kiếm
6 Không hiển thị hợp đồng
6.1 Hệ thống thông báo không có hợp đồng
Không có hợp đồng
BACK
6.2 Nhấn nút BACK để trở lại danh sách đối tác
8 Đối tác kiểm tra hóa đơn thừa/ thiếu mặt hàng
8.1 Nhấn nút Back để trở lại danh sách hợp đồng
8.2 Chọn lại hợp đồng và click Next
Trang 11II) Sơ đồ lớp thực thể
1) Trích lớp thực thể
1 Nhan_vien24 Ma_nhan_vien, Ten_nhan_vien, Chuc_vu,
Email, SDT, Tai_khoan, Mat_khau
2 Doi_tac24 Ma_doi_tac, Ten_doi_tac, Dia_chi, SDT,
Email, Mo_ta
3 Mat_hang24 Ma_mat_hang, Ten_mat_hang,
Loai_mat_hang
4 Hop_Dong24 Ma_hop_dong, Ma_nhan_vien,
Ma_khach_hang, Ma_doi_tac, Ma_mat_hang, Tong_tien, Lai_suat, Chiet_khau, Thoi_han_vay, Ngay_ky
5 Khach_hang24 Ma_khach_hang, Ten_khach_hang, Dia_chi,
SDT, Email
6 Mat_hang_doi_tac24 Ma_doi_tac, Ma_mat_hang, Gia_niem_yet
7 Hoa_don_doi_tac24 Ma_hoa_donDT, Ma_doi_tac,
Ma_hop_dong, Tong_tien, Ngay_xuat
8 Hoa_don_khach_hang24 Ma_hoa_donKH, Ma_khach_hang,
Ma_hop_dong, Ma_thanh_toan
2) Sơ đồ lớp thực thể
Trang 12III) Mô hình hóa các lớp
1) Trích các lớp điều khiển, lớp biên
- Lớp điều khiển cho module Thanh toán cho đối tác: Thanh_toan_cho_doi_tac_Ctr24
- Các lớp biên cho module Thanh toán cho đối tác:
+ Giao diện chính (có chức năng tìm kiếm đối tác): Tim_kiem_doi_tac_Frm24
Trang 13+ Giao diện danh sách các đối tác: Danh_sach_doi_tac_Frm24 + Giao diện danh sách hợp đồng: Danh_sach_hop_dong_Frm24 + Giao diện hóa đơn: Hoa_don_doi_tac_Frm24
2) Thẻ CRC cho module Thanh toán cho đối tác
Thanh_toan_cho_doi_tac_Ctr24
Công việc:
Yêu cầu lớp Tim_kiem_doi_tac_Frm24 hiển
thị giao diện tìm kiếm đối tác
Tim_kiem_doi_tac_Frm24
Yêu cầu lớp Danh_sach_doi_tac_Frm24 hiển
thị giao diện danh sách các đối tác
Danh_sach_doi_tac_Frm24
Yêu cầu lớp Danh_sach_hop_dong_Frm24
hiển thị danh sách các hợp đồng
Danh_sach_hop_dong_Frm24
Yêu cầu lớp Hoa_don_doi_tac_Frm24 hiển thị
hóa đơn
Hoa_don_doi_tac_Frm24
Tìm kiếm đối tác trong CSDL theo tên
Tìm kiếm hợp đồng từ CSDL theo mã đối tác
Lưu thông tin hóa đơn vào CSDL
Cập nhật thông tin hợp đồng vào CSDL
Yêu cầu lớp Hop_dong24 đóng gói dữ liệu
vào đối tượng Hop_dong24
Hop_dong24
Yêu cầu lớp Doi_tac24 đóng gói dữ liệu vào
đối tượng Doi_tac24
Doi_tac24
Yêu cầu lớp Hoa_don_doi_tac24 đóng gói dữ
liệu vào đối tượng Hoa_don_doi_tac24
Hoa_don24
Trang 143) Sơ đồ lớp cho module Thanh toán cho đối tác
IV) Mô hình hoạt động
Trang 15V) Scenario cuối pha phân tích
1) Scenario
1 Nhân viên NV chọn chức năng thanh toán cho đối tác sau khi login
NV muốn thanh toán cho đối tác DT
2 Lớp Tim_kiem_Frm24 hiện ra với 1 thanh tìm kiếm và nút tìm kiếm
3 NV nhập “DT” vào thanh tìm kiếm rồi click nút tìm kiếm
4 Lớp Tim_kiem_Frm24 gửi thông tin “DT” cho lớp Thanh_toan_cho_doi_tac_Ctr24
5 Lớp Thanh_toan_cho_doi_tac_Ctr24 tìm kiếm các đối tác chứa chữ
“DT” trong CSDL
6 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi kết quả đến lớp Doi_tac24 để đóng gói thành danh sách các đối tượng Doi_tac24
7 Lớp Doi_tac24 gửi trả cho Thanh_toan_cho_doi_tac_Ctr24 danh sách các đối tượng Doi_tac24
8 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi danh sách các đối tượng Doi_tac24 cho lớp Danh_sach_doi_tac24 để hiển thị
9 Lớp Danh_sach_doi_tac24 hiện kết quả tìm kiếm gồm các đối tác có tên chứa “DT” Mỗi đối tác trên 1 dòng, mỗi dòng đầy đủ thông tin đối tác với các cột : Mã đối tác, Tên đối tác, Địa chỉ, Số điện thoại, Email,
Mô tả
10 A chọn đối tác đầu tiên (đối tác cần tìm) trong danh sách
11 Lớp Danh_sach_doi_tac24 gửi thông tin Mã đối tác: DT1 của đối tác
DT vừa chọn cho lớp Thanh_toan_cho_doi_tac_Ctr24
12 Lớp Thanh_toan_cho_doi_tac_Ctr24 tìm kiếm các hợp đồng có Mã đối tác DT1 trong CSDL
13 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi kết quả đến lớp Hop_dong24 để đóng gói thành danh sách các đối tượng Hop_dong24
14 Lớp Hop_dong24 gửi trả cho Thanh_toan_cho_doi_tac_Ctr24 danh sách các đối tượng Hop_dong24
15 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi danh sách các đối tượng Hop_dong24 cho lớp Danh_sach_hop_dong_Frm24 để hiển thị
16 Lớp Danh_sach_hop_dong_Frm24 hiển thị danh sách các hợp đồng của đối tác Mỗi hợp đồng trên một dòng, mỗi dòng có thông tin hợp đồng với các cột: Mã hợp đồng, Tên khách hàng, Tổng Mặt hàng, Tổng tiền của KH, Số tiền phải thanh toán cho đối tác, Ô lựa chọn
17 Nhân viên chọn hợp đồng đầu tiên trong danh sách và click next
18 Lớp Danh_sach_hop_dong_Frm24 gọi lớp Hoa_don_doi_tac_Frm24 yêu cầu hiển thị
Trang 1619 Lớp Hoa_don_doi_tac_Frm24 hiển thị với các thông tin: Đại diện công ty, đại diện đối tác, ngày thanh toán, danh sách các mặt hàng thanh toán, mỗi mặt hàng của một khách hàng được đặt trên một dòng với các cột Mã mặt hàng, tên khách hàng, ngày mua, đơn vị tính, số lượng, đơn giá, thành tiền
20 A xác nhận với DT rồi click lưu và in hóa đơn
21 Lớp Hoa_don_doi_tac_Frm24 gửi yêu cầu đến lớp Thanh_toan_cho_doi_tac_Ctr24
22 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi yêu cầu đóng gói dữ liệu cho lớp Hoa_don_doi_tac24
23 Lớp Hoa_don_doi_tac24 gửi trả đối tượng cho lớp Thanh_toan_cho_doi_tac_Ctr24
24 Lớp Thanh_toan_cho_doi_tac_Ctr24 lưu thông tin vào CSDL và in hóa đơn
25 Lớp Thanh_toan_cho_doi_tac_Ctr24 gửi thông báo lưu và in thành công cho lớp Hoa_don_doi_tac_Frm24
26 Lớp Hoa_don_doi_tac_Frm24 thông báo lưu vào in thành công
Trang 172) Sơ đồ tuần tự