lOMoARcPSD| 58800262
VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BỘ MÔN KHOA HỌC MÁY TÍNH ⎯⎯⎯⎯⎯⎯⎯⎯⎯
BÁO CÁO BÀI TẬP CÁ NHÂN
HỌC PHẦN: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM MODULE
: QUẢN LÝ KHÁCH HÀNG
Nhóm học phần: 14
Nhóm thực hiện: 4
Giảng viên: ThS. Ngô Tiến Đức
Sinh viên: Nguyễn Đình Phúc
Mã sinh viên : B22DCCN630
Hà Nội, 2025
1
lOMoARcPSD| 58800262
MODULQUẢNLÝKHÁCHHÀNG
BÀI TẬP 1 CÁ NHÂN : Từ đề bài tập lớn của nhóm chọn một module phù hợp: Quản lý khách hàng...................3
1. Vẽ Và Mô Tả Các Sơ Đồ Use Case Chi Tiết Cho Modul.........................................................................................................3
1.1. Sơ đồ Use Case tổng quan........................................................................................................................................................... 3
1.2. tả chi tiết từng Usecase.......................................................................................................................................................... 4
1. Sửa thông tin khách hàng........................................................................................................................................................4
2. Thêm khách hàng.........................................................................................................................................................................4
3. Tìm kiếm khách hàng..............................................................................................................................................................4
4. Xem chi tiết khách hàng.........................................................................................................................................................................5
5. Gửi thông báo cho khách hàng............................................................................................................................................5
6. Xem lịch sử hoạt động của khách hàng..............................................................................................................................................5
7. Xử lý vi phạm của khách hàng..............................................................................................................................................................5
8. Xếp hạng khách hàng............................................................................................................................................................................... 5
9. Xử khiếu nại........................................................................................................................................................................................... 5
10. Xuất danh sách khách hàng..................................................................................................................................................................6
2. Viết Các Scenario Chuẩn Và Scenario Ngoại Lệ Cho Các Use Case..................................................................................... 6
2.1. Sửa thông tin khách hàng.................................................................................................................................................................... 6
2.2. Thêm khách hàng.................................................................................................................................................................................. 6
2.3. Tìm kiếm khách hàng..........................................................................................................................................................................
2.4. Xem chi tiết khách hàng...................................................................................................................................................................... 8
2.5. Gửi thông báo cho khách hàng..........................................................................................................................................................8
2.6. Xem lịch sử hoạt động của khách hàng..........................................................................................................................................9
2.7. Xử vi phạm của khách hàng.......................................................................................................................................................... 9
2.8. Xếp hạng khách hàng.........................................................................................................................................................................10
2.9. Xử khiếu nại.....................................................................................................................................................................................10
2.10. Xuất danh sách khách hàng........................................................................................................................................................ 11
3. Trích Các Lớp Thực Thể Vẽ Đồ Lớp Thực Thể Liên Quan Đến Modul...................................................................11
Chi tiết bao gồm:..............................................................................................................................................................................................12
1. User (Nhân viên, quản trị viên)..........................................................................................................................................................12
2. Customer(Khách hàng)....................................................................................................................................................................... 12
3. Violation (vi phạm)...............................................................................................................................................................................12
4. Complaint (Khiếu nại)...........................................................................................................................................................................12
5. Activity Log (Lịch sử phân loại khách hàng)...............................................................................................................................13
6. Notification (Thông báo)......................................................................................................................................................................13
Quan hệ giữa các lớp thực thể :....................................................................................................................................................................13
4. Vẽ Sơ Đồ Lớp Phân Tích Và Biểu Đồ Tuần Tự Của Modul.....................................................................................................16
4.1. Phân tích tĩnh................................................................................................................................................................................16
- Trích các lớp biên (giao diện):..............................................................................................................................................................16
Trình tự hoạt động của module (bỏ qua bước đăng nhập):............................................................................................................16
4.2. Phân tích động.......................................................................................................................................................................18
BÀI TẬP 2 CÁ NHÂN: TỪ MODUL ĐA CHON, THỰC HIÊN CÁC CÔNG VIÊC:..........................................................25
1. Lựa Chọn Ngôn Ngữ Lập Trình...................................................................................................................................................... 25
2. Thiết kế cơ sở dữ liệu.................................................................................................................................................................25
- Thiết kế lớp thực thể :...............................................................................................................................................................25
- Thiết kế cơ sở dữ liệu:................................................................................................................................................................26
3. Thiết kế các giao diện cho modul................................................................................................................................................26
4. Thiết kế tĩnh: Định nghĩa các thuộc tính, phương thưc cho các lớp vẽ đồ lớp chi tiết theo hình MVC
thuần.........32
5. Thiết kế động: Vẽ sơ đồ tuần tự thiết kế..........................................................................................................................................35
Sơ đồ tuần tự :..............................................................................................................................................................................38
lOMoARcPSD| 58800262
BÀI TẬP 1 CÁ NHÂN : Từ đề bài tập lớn của nhóm chọn một module
phù hợp: Quản lý khách hàng
1. Vẽ Và Mô Tả Các Sơ Đồ Use Case Chi Tiết Cho Modul
1.1. Sơ đồ Use Case tổng quan
1.2. Mô tả chi tiết từng Usecase
Từ việc phân tích chưc năng của module Quản lý khách hàng, ta xác định được các Use Case
chính như sau:
Các chức năng chính trong Quản lý khách hàng:
Sửa thông tin khách hàng (từ phía nhân viên/quản trị viên)
Thêm khách hàng (từ phía nhân viên/quản trị viên)
Tìm kiếm khách hàng (từ phía nhân viên/quản trị viên)
Xem chi tiết khách hàng (từ phía nhân viên/quản trị viên)
lOMoARcPSD| 58800262
Gửi thông báo cho khách hàng (từ phía nhân viên/ quản trị viên)
Xem lịch sử hoạt động của khách(từ phía nhân viên/ quản trị viên)
Xử lý vi phạm của khách hàng (từ phía quản trị viên)
Xếp hạng khách hàng (từ phía quản trị viên)
Xử lý khiếu nại (từ phía quản trị viên)
Xuất danh sách khách hàng(từ phía quản trị viên) tả chi tiết với các usecase
chính:
1. Sửa thông tin khách hàng
Tác nhân: Nhân viên/Quản trị viên ● Mục tiêu: Cập nhật thông tin khách hàng.
Luồng chính: Đăng nhập →Chọn khách hàng → Chỉnh sửa thông tin → Kiểm tra tính hợp lệ
→ Lưu thông tin → Thông báo kết quả.
Ngoại lệ: Thông tin không hợp lệ, Khách hàng không tồn tại.
2. Thêm khách hàng
Tác nhân: Nhân viên/Quản trị viên ● Mục tiêu: Thêm khách hàng mới.
Luồng chính: Đăng nhập → Nhập thông tin khách hàng → Kiểm tra tính hợp lệ → Lưu thông
tin → Thông báo kết quả.
Ngoại lệ: Thông tin không hợp lệ, Khách hàng đã tồn tại.
3. Tìm kiếm khách hàng
Tác nhân: Nhân viên/Quản trị viên
Mục tiêu: Tìm khách hàng theo tiêu chí.
Luồng chính: Đăng nhập → Nhập thông tin tìm kiếm → Hiển thị kết quả → Chọn khách hàng.
● Ngoại lệ: Không tìm thấy khách hàng.
4. Xem chi tiết khách hàng
Tác nhân: Nhân viên, Quản trị viên
Mô tả: Tác nhân chọn một khách hàng trong danh sách để xem thông tin chi tiết.
Luồng chính: Đăng nhập -> Tìm và chọn một khách hàng
Ngoại lệ: Nếu khách hàng không tồn tại hoặc đã bị xóa, hệ thống hiển thị thông báo lỗi và
quay lại danh sách.
5. Gửi thông báo cho khách hàng
Tác nhân: Nhân viên/Quản trị viên
Mục tiêu: Gửi thông báo đến khách hàng.
Luồng chính: Đăng nhập → Nhập thông báo → Gửi thông báo → Thông báo kết quả.
Ngoại lệ: Thông tin không hợp lệ, Không tìm thấy khách hàng.
6. Xem lịch sử hoạt động của khách hàng
Tác nhân: Nhân viên/Quản trị viên
lOMoARcPSD| 58800262
Mục tiêu: Xem lịch sử hoạt động của khách hàng.
Luồng chính: Đăng nhập → Chọn khách hàng → Xem lịch sử.
Ngoại lệ: Không có lịch sử hoạt động.
7. Xử lý vi phạm của khách hàng
Tác nhân: Quản trị viên
Mục tiêu: Xử lý vi phạm của khách hàng.
Luồng chính: Đăng nhập → Xem vi phạm → Xử lý vi phạm → Ghi nhận kết quả.
Ngoại lệ: Không có vi phạm, Không thể xử lý.
8. Xếp hạng khách hàng
Tác nhân: Quản trị viên
Mục tiêu: Xếp hạng khách hàng theo tiêu chí.
Luồng chính: Đăng nhập → Chọn khách hàng → Cập nhật xếp hạng.
Ngoại lệ: Thiếu thông tin khách hàng.
9. Xử lý khiếu nại
Tác nhân: Quản trị viên
Mục tiêu: Xử lý khiếu nại của khách hàng.
Luồng chính: Đăng nhập → Xem khiếu nại → Xử lý khiếu nại → Ghi nhận kết quả.
Ngoại lệ: Không có khiếu nại, Thiếu thông tin xử lý.
10. Xuất danh sách khách hàng
Tác nhân: Quản trị viên
Mục tiêu: Xuất danh sách khách hàng.
Luồng chính: Đăng nhập → Lựa chọn tiêu chí → Xuất danh sách → Tải về file. ● Ngoại lệ:
Không có khách hàng, Lỗi xuất file.
2. Viết Các Scenario Chuẩn Và Scenario Ngoại Lệ Cho
Các Use Case
2.1. Sửa thông tin khách hàng
Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình chính với danh sách khách hàng hoặc tùy chọn tìm kiếm.
4. Nhân viên/Quản trị viên chọn khách hàng cần sửa.
5. Hệ thống hiển thị chi tiết thông tin khách hàng.
6. Nhân viên/Quản trị viên chỉnh sửa thông tin cần thiết (tên, địa chỉ, số điện thoại, email, v.v.).
7. Nhân viên/Quản trị viên nhấn "Lưu" để cập nhật thông tin.
lOMoARcPSD| 58800262
8. Hệ thống kiểm tra tính hợp lệ của thông tin đã sửa (ví dụ: kiểm tra email hợp lệ, số điện thoại
đúng định dạng).
9. Nếu thông tin hợp lệ, hệ thống lưu thông tin khách hàng vào cơ sở dữ liệu.
10.Hệ thống thông báo "Cập nhật thông tin khách hàng thành công".
11.Hệ thống ghi lại log.
12.Quản trị viên hoặc nhân viên kiểm tra lại thông tin khách hàng đã được sửa.
Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên nhập thông tin không hợp lệ (ví dụ: email sai định dạng).
Bước 2: Hệ thống thông báo lỗi "Thông tin không hợp lệ, vui lòng kiểm tra lại".
Bước 3: Nhân viên/Quản trị viên chỉnh sửa lại thông tin đúng định dạng.
Bước 4: Lặp lại từ Bước 8 của Scenario chuẩn.
2.2. Thêm khách hàng
Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với tùy chọn "Thêm khách hàng".
4. Nhân viên/Quản trị viên nhấn "Thêm khách hàng".
5. Hệ thống hiển thị form điền thông tin khách hàng mới (tên, địa chỉ, số điện thoại, email, v.v.).
6. Nhân viên/Quản trị viên nhập đầy đủ thông tin khách hàng vào form.
7. Nhân viên/Quản trị viên nhấn "Lưu" để thêm khách hàng mới.
8. Hệ thống kiểm tra tính hợp lệ của thông tin đã nhập.
9. Nếu thông tin hợp lệ, hệ thống lưu thông tin khách hàng vào cơ sở dữ liệu.
10.Hệ thống thông báo "Thêm khách hàng thành công".
11.Hệ thống ghi lại log.
12.Nhân viên/Quản trị viên có thể quay lại danh sách khách hàng để kiểm tra.
Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên nhập thông tin không hợp lệ (ví dụ: email sai định dạng).
Bước 2: Hệ thống thông báo lỗi "Thông tin không hợp lệ, vui lòng kiểm tra lại".
Bước 3: Nhân viên/Quản trị viên sửa lại thông tin đúng định dạng.
Bước 4: Lặp lại từ Bước 6 của Scenario chuẩn.
2. Ngoại lệ: Khách hàng đã tồn tại
Bước 1: Nhân viên/Quản trị viên nhập thông tin khách hàng đã có trong hệ thống (trùng email
hoặc số điện thoại).
Bước 2: Hệ thống thông báo "Khách hàng đã tồn tại trong hệ thống".
Bước 3: Nhân viên/Quản trị viên kiểm tra lại thông tin và nhập lại thông tin khác.
2.3. Tìm kiếm khách hàng
Scenario chuẩn:
lOMoARcPSD| 58800262
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với ô tìm kiếm.
4. Nhân viên/Quản trị viên nhập thông tin tìm kiếm (ví dụ: tên, mã khách hàng, số điện thoại) vào
ô tìm kiếm.
5. Nhân viên/Quản trị viên nhấn nút "Tìm kiếm".
6. Hệ thống hiển thị danh sách khách hàng phù hợp với thông tin tìm kiếm.
7. Hệ thống ghi lại log.
8. Nhân viên/Quản trị viên chọn khách hàng từ danh sách kết quả để xem chi tiết.
Scenario ngoại lệ:
1. Ngoại lệ: Không tìm thấy khách hàng
Bước 1: Nhân viên/Quản trị viên nhập thông tin tìm kiếm không khớp với bất kỳ khách hàng
nào.
Bước 2: Hệ thống thông báo "Không tìm thấy khách hàng theo thông tin đã nhập".
Bước 3: Nhân viên/Quản trị viên kiểm tra lại thông tin tìm kiếm hoặc thử lại với các tiêu chí
khác.
2.4. Xem chi tiết khách hàng
Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị giao diện chính sau đăng nhập.
3. Nhân viên/Quản trị viên chọn chưc năng “Quản lý người dùng”.
4. Hệ thống hiển thị danh sách khách hàng kèm tùy chọn tìm kiếm.
5. Nhân viên/Quản trị viên tìm kiếm hoặc duyệt danh sách và chọn khách hàng cần xem.
6. Hệ thống hiển thị màn hình chi tiết thông tin khách hàng (họ tên, địa chỉ, số điện thoại, email,
ngày tạo, trạng thái,...)
7. Nhân viên/Quản trị viên xem thông tin và có thể quay lại danh sách hoặc thực hiện thao tác
tiếp theo (sửa, xóa,...).
Scenario ngoại lệ: Khách hàng không tồn tại hoặc đã bị xóa
1. Nhân viên/Quản trị viên chọn một khách hàng trong danh sách (hoặc từ kết quả tìm kiếm).
2. Hệ thống phát hiện khách hàng đã bị xóa hoặc không còn tồn tại trong cơ sở dữ liệu.
3. Hệ thống hiển thị thông báo lỗi:
- "Khách hàng không tồn tại hoặc đã bị xóa. Vui lòng kiểm tra lại."
4. Hệ thống quay về màn hình danh sách khách hàng để tác nhân
chọn lại.
2.5. Gửi thông báo cho khách hàng
Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống.
lOMoARcPSD| 58800262
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, nhân viên/ quản trị viên chọn người dùng cần
gửi thông báo.
4. Nhân viên/quản trị viên nhập thông báo.
5. Nhân viên/Quản trị viên nhấn "Gửi thông báo".
6. Hệ thống hiển thị form soạn thông báo (nội dung, đối tượng nhận).
7. Nhân viên/Quản trị viên nhập nội dung thông báo và chọn đối tượng khách hàng nhận thông
báo.
8. Nhân viên/Quản trị viên nhấn "Gửi".
9. Hệ thống gửi thông báo và hiển thị thông báo "Gửi thành công".
10.Hệ thống ghi lại log.
11.Nhân viên/Quản trị viên có thể kiểm tra lại lịch sử thông báo.
Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên không nhập đầy đủ thông tin cần thiết (ví dụ: thiếu tiêu đề
hoặc nội dung).
Bước 2: Hệ thống thông báo lỗi "Vui lòng nhập đầy đủ thông tin".
Bước 3: Nhân viên/Quản trị viên hoàn thành thông tin và gửi lại.
2.6. Xem lịch sử hoạt động của khách hàng
Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với danh sách các khách hàng.
4. Nhân viên/Quản trị viên chọn khách hàng cần xem lịch sử.
5. Hệ thống hiển thị chi tiết lịch sử hoạt động của khách hàng (gồm các giao dịch, yêu cầu hỗ trợ,
vi phạm, v.v.).
6. Nhân viên/Quản trị viên có thể lọc lịch sử theo khoảng thời gian hoặc loại sự kiện.
7. Hệ thống ghi lại log.
8. Nhân viên/Quản trị viên có thể tải lịch sử về hoặc xuất báo cáo nếu cần thiết.
Scenario ngoại lệ:
1. Ngoại lệ: Không có lịch sử hoạt động
Bước 1: Nhân viên/Quản trị viên tìm kiếm khách hàng nhưng không có lịch sử hoạt động.
Bước 2: Hệ thống thông báo "Khách hàng này chưa có hoạt động nào".
Bước 3: Nhân viên/Quản trị viên có thể quay lại hoặc chọn khách hàng khác.
2.7. Xử lý vi phạm của khách hàng
Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với danh sách các khách hàng.
lOMoARcPSD| 58800262
4. Quản trị viên chọn khách hàng vi phạm cần xử lý.
5. Hệ thống hiển thị chi tiết vi phạm của khách hàng (loại vi phạm, mưc độ).
6. Quản trị viên chọn hành động xử lý phù hợp (cảnh cáo, phạt, đình chỉ dịch vụ, v.v.).
7. Quản trị viên nhập lý do và quyết định xử lý.
8. Quản trị viên nhấn "Xử lý" để thực hiện hành động.
9. Hệ thống ghi nhận quyết định xử lý và thông báo "Xử lý vi phạm thành công".
10.Quản trị viên có thể theo dõi tình trạng của vi phạm và các hành động tiếp theo.
Scenario ngoại lệ:
1. Ngoại lệ: Không tìm thấy vi phạm
Bước 1: Quản trị viên tìm kiếm khách hàng nhưng không có vi phạm nào.
Bước 2: Hệ thống thông báo "Không có vi phạm nào được ghi nhận cho khách hàng này".
Bước 3: Quản trị viên có thể quay lại hoặc chọn khách hàng khác.
2. Ngoại lệ: Hành động xử lý không hợp lệ
Bước 1: Quản trị viên chọn hành động xử lý không hợp lệ (ví dụ: áp dụng mưc phạt không
đúng quy định).
Bước 2: Hệ thống thông báo lỗi "Hành động xử lý không hợp lệ"
Bước 3: Quản trị viên chỉnh sửa và thực hiện lại.
2.8. Xếp hạng khách hàng
Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý ,quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, quản trị viên chọn xếp hạng khách hàng. 4.
Hệ thống hiển thị danh sách khách hàng đã được tự động xếp hạng đầu tháng
5. Quản trị viên chọn khách hàng cần chỉnh sửa xếp hạng.
6. Hệ thống hiển thị thông tin và hoạt động của khách hàng.
7. Quản trị viên chọn tiêu chí và mưc xếp hạng (VIP/Thân Thiết/Thường).
8. Quản trị viên nhấn "Cập nhật xếp hạng".
9. Hệ thống ghi lại log.
10.Hệ thống lưu lại xếp hạng và thông báo "Cập nhật xếp hạng thành công".
Scenario ngoại lệ:
1. Ngoại lệ: Không có đủ thông tin để xếp hạng
Bước 1: Quản trị viên chọn khách hàng nhưng không đủ thông tin (ví dụ: khách hàng mới
chưa có đủ dữ liệu).
Bước 2: Hệ thống thông báo "Không đủ thông tin để thực hiện xếp hạng".
Bước 3: Quản trị viên có thể yêu cầu bổ sung thông tin trước khi thực hiện
xếp hạng.
2.9. Xử lý khiếu nại
Scenario chuẩn:
lOMoARcPSD| 58800262
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, quản trị viên chọn xử lý khiếu nại .
4. Hệ thống hiển thị danh sách khiếu nại từ khách hàng.
5. Quản trị viên chọn khiếu nại cần xử lý.
6. Hệ thống hiển thị chi tiết khiếu nại (ngày gửi, nội dung khiếu nại, khách hàng).
7. Quản trị viên nghiên cưu và xác định giải pháp xử lý.
8. Quản trị viên nhập phản hồi cho khiếu nại.
9. Quản trị viên nhấn "Gửi phản hồi" để thông báo khách hàng.
10.Hệ thống ghi lại log.
11.Hệ thống ghi nhận phản hồi và thông báo "Xử lý khiếu nại thành công".
Scenario ngoại lệ:
1. Ngoại lệ: Không thể xử lý khiếu nại
Bước 1: Quản trị viên chọn khiếu nại nhưng không thể xử lý do thiếu thông tin hoặc không
phù hợp.
Bước 2: Hệ thống thông báo "Không thể xử lý khiếu nại này".
Bước 3: Quản trị viên có thể yêu cầu thêm thông tin từ khách hàng hoặc chuyển khiếu nại đến
bộ phận khác.
2.10. Xuất danh sách khách hàng
Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị menu với các chưc năng liên quan đến khách hàng.
4. Quản trị viên chọn "Xuất danh sách khách hàng".
5. Hệ thống yêu cầu chọn tiêu chí lọc (ví dụ: theo ngày đăng ký, theo khu vực, theo xếp hạng).
6. Quản trị viên chọn tiêu chí lọc và nhấn "Xuất danh sách".
7. Hệ thống xuất danh sách khách hàng dưới dạng file (CSV, Excel, PDF, v.v.).
8. Hệ thống ghi lại log.
9. Quản trị viên tải file về máy tính và có thể chia sẻ hoặc lưu trữ.
Scenario ngoại lệ:
1. Ngoại lệ: Không có khách hàng phù hợp
Bước 1: Quản trị viên chọn tiêu chí lọc nhưng không có khách hàng nào thỏa mãn.
Bước 2: Hệ thống thông báo "Không có khách hàng phù hợp với tiêu chí lọc".
Bước 3: Quản trị viên có thể điều chỉnh tiêu chí lọc và thử lại.
2. Ngoại lệ: Lỗi khi xuất file
Bước 1: Quản trị viên nhấn "Xuất danh sách" nhưng hệ thống không thể tạo file.
Bước 2: Hệ thống thông báo lỗi "Lỗi khi xuất file, vui lòng thử lại".
Bước 3: Quản trị viên thử lại hoặc báo cáo sự cố cho bộ phận kỹ thuật.
lOMoARcPSD| 58800262
3. Trích Các Lớp Thực Thể Và Vẽ Sơ Đồ Lớp Thực Thể
Liên Quan Đến Modul
-Trích danh từ để trích các lớp từ mô tả hoạt động của modul quản lý khách hàng
:
Module quản lý khách hàng hỗ trợ nhân viên quản trị viên trong việc thêm mới,
chỉnh sửa thông tin, tìm kiếm, xem lịch sử hoạt động, gửi thông báo, xử lý vi
phạm, xếp hạng, giải quyết khiếu nại xuất danh sách khách hàng. Mỗi khách
hàng có thể có nhiều lịch sử hoạt động, khiếu nại được hệ thống ghi nhận. Thông
báo được gửi từ quản trị viên đến khách hàng thông qua hệ thống gửi tin. Vi phạm
của khách hàng được lưu vào danh sách vi phạm và xử lý theo quy định. Tất cả hoạt
động được lưu lại trong lịch sử hệ thống phục v việc theo dõi o cáo.
Chi tiết bao gồm:
1. User (Nhân viên, quản trị viên)
- userID (mã người dùng)
- username (tên đăng nhập)
- password(mật khẩu)
- email (Email liên lạc)
- phoneNumber(số điện thoại liên lạc)
- role (vai trò : Quản trị viên/ Nhân viên)
- isActive(trạng thái hoạt động)
2. Customer(Khách hàng)
- customerID (mã khách hàng)
- username (tên đăng nhập)
- password(mật khẩu)
- fullName (tên khách hàng)
- email (Email liên lạc của khách hàng)
- phoneNumber (số điện thoại liên lạc)
- address (địa chỉ khách hàng)
- loyalty Point (điểm tích lũy)
- customer Type (loại khách hàng: khách vip/ khách thân thiết/ khách thường)
- is Banned (trạng thái tài khoản khách hàng)
3. Violation (vi phạm)
- violationID (mã vi phạm)
- customerID (mã khách hàng vi phạm)
- reason(nguyên nhân vi phạm)
- violationTime (thời gian vi phạm)
- status (trạng thái xử lý vi phạm)
- handleBy (người quản lý tiếp nhận xử lý vi phạm)
4. Complaint (Khiếu nại)
- complainID (mã khiếu nại)
- customerID (mã khách hàng khiếu nại)
- content(nội dung khiếu nại)
lOMoARcPSD| 58800262
- submitAt (thời gian gửi khiếu nại)
- status (trạng thái xử lý khiếu nại)
- handleBy (mã người quản lý tiếp nhận khiếu nại)
5. Activity Log (Lịch sử phân loại khách hàng)
- activityID(mã lịch sử phân loại)
- CustomerID (mã khách hàng)
- activity (hành động)
- descriptions (mô tả chi tiết hành động)
- create At (thời gian tạo ra)
6. Notification (Thông báo)
- notificationID (mã thông báo )
- content (nội dung thông báo )
- create At (thời gian bắt đầu thông báo)
- customerID (mã khách hàng) - sendBy (mã nhân viên)
Quan hệ giữa các lớp thực thể :
- Customer — Complaint : Mối quan hệ: 1:N (Một khách có thể gửi nhiều khiếu nại).
Complaint không có ý nghĩa khi không gắn với khách.
- Customer — Violation: Một khách hàng có thể bị ghi nhận nhiều vi phạm (trễ giờ, không
đến, làm hỏng sân…). Vi phạm là hành vi gắn liền với khách hàng, không có ý nghĩa nếu
không gắn với ai → không thể tồn tại độc lập.Nếu khách hàng bị xóa hoàn toàn khỏi hệ thống
→ toàn bộ vi phạm cũng bị xóa theo.
- Customer Activity Log: Mỗi hoạt động (đặt sân, hủy, đăng nhập...) được ghi lại thành nhật
ký (log). Mối quan hệ 1-n. Log lưu thông tin lịch sử thao tác: loại hành động, thời gian, trạng
thái...
Mục đích để phục vtruy vết theo dõi hành vi khách hàng.
- User – Notification : Nhân viên/Quản trị viên gửi thông báo cho khách hàng. Mối quan hệ 1-
n.Mỗi notification chưa thông tin người gửi (userid), người nhận (customer_id), nội dung, thời
gian gửi, trạng thái đọc.... User là người tạo hoặc duyệt gửi notification, nhưng nếu Staff bị
xóa, notification vẫn có thể được giữ để tra cưu sau .
lOMoARcPSD| 58800262
- Customer – Notification : Một khách hàng có thể nhận nhiều thông báo. Mối quan hệ 1-
n.Một Notification có thể được gửi từ User, đến Customer.
- Complaint – User : Khiếu nại được một quản trị viên xử lý. Nếu complaint chưa được xử
thì staff_id null. Tương tự với mối quan hệ giữa Violation - User
- User - Customer : User quản lý nhiều Customer. Mối quan hệ 1-n. Tuy nhiên, không phải lúc
nào cũng cần gắn cưng Staff với Customer . Ta chỉ lưu lại "ai đã thao tác" nếu có nhu cầu
audit.
Sơ đồ lớp thực thể phân tích:
lOMoARcPSD| 58800262
lOMoARcPSD| 58800262
4. Vẽ Sơ Đồ Lớp Phân Tích Và Biểu Đồ Tuần Tự Của Modul
4.1. Phân tích tĩnh
-Trích các lớp biên (giao diện):
+ ManagerHomeView: Giao diện chính của quản trị viên sau khi đăng nhập, cung cấp truy cập
nhanh đến các chưc năng quản lý khách hàng, sân bóng, đơn đặt, thống kê và cấu hình hệ
thống.
+ CustomerView: Giao diện hiển thị danh sách khách hàng, tìm kiếm, lọc theo tên, số điện
thoại, trạng thái hoạt động, xếp hạng. Cho phép truy cập chi tiết khách hàng và thêm khách
hàng, xuất danh sách.
+ CustomerDetailView: Giao diện xem chi tiết khách hàng. Cung cấp các nút hành động điều
hướng đến: sửa thông tin, gửi thông báo, xem vi phạm, khiếu nại, lịch sử hoạt động, xếp hạng.
+ CustomerForm: Giao diện nhập liệu khi thêm hoặc chỉnh sửa thông tin khách hàng. Có kiểm
tra ràng buộc đầu vào như email, số điện thoại, điểm tích lũy, trạng thái bị cấm.
+ NotificationView: Giao diện cho phép nhân viên gửi thông báo đến một hoặc nhiều khách
hàng. Hiển thị danh sách các thông báo đã gửi kèm thời gian tạo và người gửi.
+ ViolationView: Hiển thị danh sách vi phạm của từng khách hàng, lý do vi phạm và trạng thái
xử lý. Cho phép quản trị viên thêm mới hoặc cập nhật thông tin xử lý vi phạm.
+ ComplaintView: Giao diện tiếp nhận và xử lý khiếu nại do khách hàng gửi lên. Hiển thị nội
dung, thời gian gửi và quản trị viên xử lý, hỗ trợ phân loại mưc độ.
+ ActivityLogView: Hiển thị nhật ký hoạt động của khách hàng, bao gồm hành động và thời
gian thực hiện. Giúp nhân viên theo dõi hành vi đáng ngờ hoặc quá trình tương tác của khách.
+ CustomerExportView: Cung cấp tính năng xuất danh sách khách hàng ra file Excel hoặc
PDF. Cho phép tùy chọn cột xuất, định dạng ngày và lọc theo tiêu chí cụ thể.
+ CustomerEditRankView: Cung cấp tính năng cập nhật rank thủ công với các trường hợp đặc
biệt.
Trình tự hoạt động của module (bỏ qua bước đăng nhập):
1. Nhân viên/Quản trị viên truy cập vào giao diện chính của hệ thống (ManagerHomeView).
2. Từ ManagerHomeView, chọn mục Quản lý khách hàng để truy cập vào module quản lý
khách hàng.
3. Thực hiện các chưc năng nghiệp vụ sau trong module:
3.1. Xem danh sách / tìm kiếm khách hàng (CustomerView).
3.2. Xem chi tiết thông tin khách hàng (CustomerDetailView).
3.3. Thêm mới hoặc chỉnh sửa thông tin khách hàng (CustomerForm).
3.4. Gửi thông báo đến khách hàng (NotificationView).
3.5. Xem nhật ký hoạt động của khách hàng (ActivityLogView).
3.6. Xử lý khiếu nại khách hàng (ComplaintView) chỉ dành cho quản trị viên.
3.7. Quản lý vi phạm và cập nhật trạng thái xử lý (ViolationView) chỉ dành cho quản trị viên.
3.8. Xuất danh sách khách hàng ra file (CustomerExportView) – chỉ dành cho quản trị viên.
3.9. Chỉnh sửa xếp hạng khách hàng (CustomerEditRankView) chỉ dành cho quản trị viên.
-Mô tả quan hệ giữa các lớp :
lOMoARcPSD| 58800262
+ ManagerHomeView ↔ CustomerView: Khi nhân viên/ quản trị viên truy cập vào module
quản lý khách hàng từ ManagerHomeView, hệ thống điều hướng đến CustomerView, nơi
hiển thị danh sách khách hàng và các tính năng tìm kiếm, lọc.
+ CustomerView ↔ CustomerDetailView: Khi người dùng nhấn vào tên hoặc mã khách hàng
trong danh sách, hệ thống sẽ điều hướng từ CustomerView sang CustomerDetailView, nơi
hiển thị thông tin chi tiết về khách hàng.
+ CustomerDetailView ↔ CustomerForm: Khi người dùng chọn “Thêm khách hàng” hoặc
“Chỉnh sửa thông tin” trong CustomerDetailView, hệ thống sẽ điều hướng đến
CustomerForm để nhập liệu hoặc chỉnh sửa thông tin khách hàng.
+ CustomerDetailView NotificationView: Từ CustomerDetailView, người dùng có th
chọn một khách hàng và nhấn "Gửi thông báo", dẫn đến việc điều hướng sang
NotificationView để gửi thông báo đến khách hàng.
+ CustomerDetailView ↔ ViolationView: Từ CustomerDetailView, khi người dùng nhấn
"Xem vi phạm", hệ thống sẽ điều hướng đến ViolationView để hiển thị danh sách vi phạm
của khách hàng và trạng thái xử lý.
+ CustomerView ↔ ComplaintView: Khi quản trị viên muốn xem danh sách khiếu nại của
khách hàng, từ CustomerView, hệ thống sẽ chuyển hướng đến ComplaintView để quản trị
viên có thể xử lý khiếu nại.
+ CustomerDetailView ActivityLogView: Từ CustomerDetailView, người dùng có thể truy
cập ActivityLogView để xem lịch sử hoạt động của khách hàng, bao gồm hành động và thời
gian thực hiện.
+ CustomerDetailView ↔ CustomerEditRankView: Khi người dùng muốn chỉnh sửa xếp
hạng của khách hàng từ CustomerDetailView, hệ thống sẽ điều hướng đến
CustomerEditRankView để thực hiện thay đổi xếp hạng.
+ CustomerView → CustomerExportView: Khi người dùng nhấn "Xuất danh sách khách
hàng" trong CustomerView, hệ thống sẽ gọi đến CustomerExportView để xuất danh sách
khách hàng ra file Excel hoặc PDF theo yêu cầu.
-Sơ đồ lớp phân tích cho modul quản lý khách hàng
lOMoARcPSD| 58800262
4.2. Phân tích động
Từ scenario chuẩn đã viết:
- Các chủ thể hành động từ kịch bản trước được thay thế bằng tên các lớp đã trích
được - Tương tác giữa các ch thể chuyển thành hành động gửi thông điệp yêu cầu
thực hiện hành động nào đó-> Vẽ sơ đồ tuần tự phân tích dựa trên kịch bản viết lại
1. Sửa thông tin khách hàng
ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
CustomerView → CustomerDetailView: Yêu cầu hiển thị chi tiết khách hàng được chọn.
CustomerDetailView → CustomerForm: Yêu cầu mở form chỉnh sửa thông tin khách
hàng.
CustomerForm → Customer: Gửi yêu cầu kiểm tra tính hợp lệ của thông tin (email, số
điện thoại, ...).
Customer → CustomerForm: Trả về kết quả kiểm tra (hợp lệ/không hợp lệ).
CustomerForm → Customer: Gửi yêu cầu cập nhật thông tin khách hàng vào CSDL. ●
Customer → ActivityLogView: Ghi log hoạt động "Cập nhật thông tin khách hàng".
2. Thêm khách hàng
ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
CustomerView → CustomerForm: Yêu cầu mở form thêm khách hàng mới.
CustomerForm → Customer: Kiểm tra trùng lặp khách hàng (email/số điện thoại).
lOMoARcPSD| 58800262
Customer → CustomerForm: Xác nhận khách hàng chưa tồn tại.
CustomerForm → Customer: Gửi yêu cầu lưu thông tin khách hàng mới.
Customer → ActivityLogView: Ghi log hoạt động "Thêm khách hàng mới".
3. Tìm kiếm khách hàng
ManagerHomeView → CustomerView: Yêu cầu hiển thị chưc năng tìm kiếm.
CustomerView → Customer: Gửi từ khóa tìm kiếm (tên, s điện thoại, ...).
Customer → CustomerView: Trả về danh sách khách hàng phù hợp.
CustomerView → ActivityLogView: Ghi log "Tìm kiếm khách hàng".
4. Xem chi tiết khách hàng
ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
CustomerView → CustomerDetailView: Yêu cầu hiển thị chi tiết khách hàng được chọn
CustomerDetailView → Customer: Lấy thông tin chi tiết (địa chỉ, lịch sử giao dịch, ...).
Customer → CustomerDetailView: Trả về dữ liệu khách hàng.
5. Gửi thông báo cho khách hàng
ManagerHomeView → NotificationView: Yêu cầu mở giao diện gửi thông báo.
NotificationView → Customer: Lấy danh sách khách hàng để chọn người nhận.
Customer → NotificationView: Trả về danh sách khách hàng.
NotificationView → Customer: Gửi yêu cầu gửi thông báo đến khách hàng đã chọn.
Customer → ActivityLogView: Ghi log "Đã gửi thông báo".
6. Xử lý vi phạm của khách hàng
ManagerHomeView → ViolationView: Yêu cầu hiển thị danh sách vi phạm.
ViolationView → Customer: Lấy thông tin vi phạm của khách hàng.
Customer → ViolationView: Trả về danh sách vi phạm.
ViolationView → Customer: Gửi yêu cầu xử lý vi phạm (cảnh cáo/khóa tài khoản) ●
Customer → ActivityLogView: Ghi log "Xử lý vi phạm".
7. Xếp hạng khách hàng
ManagerHomeView → CustomerEditRankView: Yêu cầu chỉnh sửa xếp hạng.
CustomerEditRankView → Customer: Lấy thông tin xếp hạng hiện tại.
Customer → CustomerEditRankView: Trả về xếp hạng (VIP/Thân thiết/Thường).
CustomerEditRankView → Customer: Gửi yêu cầu cập nhật xếp hạng mới.
Customer → ActivityLogView: Ghi log "Thay đổi xếp hạng khách hàng".
8. Xuất danh sách khách hàng
ManagerHomeView → CustomerExportView: Yêu cầu mở chưc năng xuất file.
CustomerExportView → Customer: Lấy danh sách khách hàng theo tiêu chí lọc.
Customer → CustomerExportView: Trả về danh sách đã lọc.
CustomerExportView → ActivityLogView: Ghi log "Xuất file danh sách khách hàng"
lOMoARcPSD| 58800262
-Use Case: Tìm kiếm khách hàng
- Use Case: Xem chi tiết thông tin khách hàng:
-
- Use Case: Thêm khách hàng
lOMoARcPSD| 58800262
- Use Case: Sửa thông tin khách hàng
- Use Case: Gửi thông báo đến khách hàng:

Preview text:

lOMoAR cPSD| 58800262
VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BỘ MÔN KHOA HỌC MÁY TÍNH ⎯⎯⎯⎯⎯⎯⎯⎯⎯
BÁO CÁO BÀI TẬP CÁ NHÂN
HỌC PHẦN: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM MODULE
: QUẢN LÝ KHÁCH HÀNG Nhóm học phần: 14 Nhóm thực hiện: 4 Giảng viên:
ThS. Ngô Tiến Đức Sinh viên: Nguyễn Đình Phúc Mã sinh viên : B22DCCN630 Hà Nội, 2025 1 lOMoAR cPSD| 58800262
MODULQUẢNLÝKHÁCHHÀNG
BÀI TẬP 1 CÁ NHÂN : Từ đề bài tập lớn của nhóm chọn một module phù hợp: Quản lý khách hàng...................3
1. Vẽ Và Mô Tả Các Sơ Đồ Use Case Chi Tiết Cho Modul.........................................................................................................3
1.1. Sơ đồ Use Case tổng quan........................................................................................................................................................... 3
1.2. Mô tả chi tiết từng Usecase.......................................................................................................................................................... 4
1. Sửa thông tin khách hàng........................................................................................................................................................4
2. Thêm khách hàng.........................................................................................................................................................................4
3. Tìm kiếm khách hàng..............................................................................................................................................................4
4. Xem chi tiết khách hàng.........................................................................................................................................................................5
5. Gửi thông báo cho khách hàng............................................................................................................................................5
6. Xem lịch sử hoạt động của khách hàng..............................................................................................................................................5
7. Xử lý vi phạm của khách hàng..............................................................................................................................................................5
8. Xếp hạng khách hàng............................................................................................................................................................................... 5
9. Xử lý khiếu nại........................................................................................................................................................................................... 5
10. Xuất danh sách khách hàng..................................................................................................................................................................6
2. Viết Các Scenario Chuẩn Và Scenario Ngoại Lệ Cho Các Use Case..................................................................................... 6
2.1. Sửa thông tin khách hàng.................................................................................................................................................................... 6
2.2. Thêm khách hàng.................................................................................................................................................................................. 6
2.3. Tìm kiếm khách hàng..........................................................................................................................................................................
2.4. Xem chi tiết khách hàng...................................................................................................................................................................... 8
2.5. Gửi thông báo cho khách hàng..........................................................................................................................................................8
2.6. Xem lịch sử hoạt động của khách hàng..........................................................................................................................................9
2.7. Xử lý vi phạm của khách hàng.......................................................................................................................................................... 9
2.8. Xếp hạng khách hàng.........................................................................................................................................................................10
2.9. Xử lý khiếu nại.....................................................................................................................................................................................10
2.10. Xuất danh sách khách hàng........................................................................................................................................................ 11
3. Trích Các Lớp Thực Thể Và Vẽ Sơ Đồ Lớp Thực Thể Liên Quan Đến Modul.............. ....................................................11
Chi tiết bao gồm:..............................................................................................................................................................................................12
1. User (Nhân viên, quản trị viên)............................................. ............................................................................................................12
2. Customer(Khách hàng)....... ............................................................................................................................................................... 12
3. Violation (vi phạm)............... ...............................................................................................................................................................12
4. Complaint (Khiếu nại)...........................................................................................................................................................................12
5. Activity Log (Lịch sử phân loại khách hàng)...............................................................................................................................13
6. Notification (Thông báo)......................................................................................................................................................................13
Quan hệ giữa các lớp thực thể :....................................................................................................................................................................13
4. Vẽ Sơ Đồ Lớp Phân Tích Và Biểu Đồ Tuần Tự Của Modul.................................................................................................... 16
4.1. Phân tích tĩnh....................... ........................................................................................................................................................16
- Trích các lớp biên (giao diện):............................................. ................................................................................................................16
Trình tự hoạt động của module (bỏ qua bước đăng nhập):............................................................................................................16
4.2. Phân tích động................................................................................................ ......................................................................18
BÀI TẬP 2 CÁ NHÂN: TỪ MODUL ĐA CHON, THỰC HIÊN CÁC CÔNG VIÊC:..........................................................25
1. Lựa Chọn Ngôn Ngữ Lập Trình............................................. ........................................................................................................ 25
2. Thiết kế cơ sở dữ liệu.................................................................................................................................................................25 -
Thiết kế lớp thực thể :.......... ....................................................................................................................................................25 -
Thiết kế cơ sở dữ liệu:......... ......................................................................................................................................................26
3. Thiết kế các giao diện cho modul.......................................................... .....................................................................................26
4. Thiết kế tĩnh: Định nghĩa các thuộc tính, phương thưc cho các lớp và vẽ sơ đồ lớp chi tiết theo mô hình MVC thuần.........32
5. Thiết kế động: Vẽ sơ đồ tuần tự thiết kế......................................................................................................................................... 35
Sơ đồ tuần tự :..............................................................................................................................................................................38 lOMoAR cPSD| 58800262
BÀI TẬP 1 CÁ NHÂN : Từ đề bài tập lớn của nhóm chọn một module
phù hợp: Quản lý khách hàng
1. Vẽ Và Mô Tả Các Sơ Đồ Use Case Chi Tiết Cho Modul
1.1. Sơ đồ Use Case tổng quan
1.2. Mô tả chi tiết từng Usecase
Từ việc phân tích chưc năng của module Quản lý khách hàng, ta xác định được các Use Case chính như sau:
Các chức năng chính trong Quản lý khách hàng:
Sửa thông tin khách hàng (từ phía nhân viên/quản trị viên) ●
Thêm khách hàng (từ phía nhân viên/quản trị viên) ●
Tìm kiếm khách hàng (từ phía nhân viên/quản trị viên) ●
Xem chi tiết khách hàng (từ phía nhân viên/quản trị viên) lOMoAR cPSD| 58800262 ●
Gửi thông báo cho khách hàng (từ phía nhân viên/ quản trị viên) ●
Xem lịch sử hoạt động của khách(từ phía nhân viên/ quản trị viên) ●
Xử lý vi phạm của khách hàng (từ phía quản trị viên) ●
Xếp hạng khách hàng (từ phía quản trị viên) ●
Xử lý khiếu nại (từ phía quản trị viên) ●
Xuất danh sách khách hàng(từ phía quản trị viên) Mô tả chi tiết với các usecase chính:
1. Sửa thông tin khách hàng
● Tác nhân: Nhân viên/Quản trị viên ● Mục tiêu: Cập nhật thông tin khách hàng.
● Luồng chính: Đăng nhập →Chọn khách hàng → Chỉnh sửa thông tin → Kiểm tra tính hợp lệ
→ Lưu thông tin → Thông báo kết quả.
● Ngoại lệ: Thông tin không hợp lệ, Khách hàng không tồn tại. 2. Thêm khách hàng
● Tác nhân: Nhân viên/Quản trị viên ● Mục tiêu: Thêm khách hàng mới.
● Luồng chính: Đăng nhập → Nhập thông tin khách hàng → Kiểm tra tính hợp lệ → Lưu thông
tin → Thông báo kết quả.
● Ngoại lệ: Thông tin không hợp lệ, Khách hàng đã tồn tại.
3. Tìm kiếm khách hàng
● Tác nhân: Nhân viên/Quản trị viên
● Mục tiêu: Tìm khách hàng theo tiêu chí.
● Luồng chính: Đăng nhập → Nhập thông tin tìm kiếm → Hiển thị kết quả → Chọn khách hàng.
● Ngoại lệ: Không tìm thấy khách hàng.
4. Xem chi tiết khách hàng
Tác nhân: Nhân viên, Quản trị viên
Mô tả: Tác nhân chọn một khách hàng trong danh sách để xem thông tin chi tiết.
Luồng chính: Đăng nhập -> Tìm và chọn một khách hàng
Ngoại lệ: Nếu khách hàng không tồn tại hoặc đã bị xóa, hệ thống hiển thị thông báo lỗi và quay lại danh sách.
5. Gửi thông báo cho khách hàng
● Tác nhân: Nhân viên/Quản trị viên
● Mục tiêu: Gửi thông báo đến khách hàng.
● Luồng chính: Đăng nhập → Nhập thông báo → Gửi thông báo → Thông báo kết quả.
● Ngoại lệ: Thông tin không hợp lệ, Không tìm thấy khách hàng.
6. Xem lịch sử hoạt động của khách hàng
● Tác nhân: Nhân viên/Quản trị viên lOMoAR cPSD| 58800262
● Mục tiêu: Xem lịch sử hoạt động của khách hàng.
● Luồng chính: Đăng nhập → Chọn khách hàng → Xem lịch sử.
● Ngoại lệ: Không có lịch sử hoạt động.
7. Xử lý vi phạm của khách hàng
● Tác nhân: Quản trị viên
● Mục tiêu: Xử lý vi phạm của khách hàng.
● Luồng chính: Đăng nhập → Xem vi phạm → Xử lý vi phạm → Ghi nhận kết quả.
● Ngoại lệ: Không có vi phạm, Không thể xử lý.
8. Xếp hạng khách hàng
● Tác nhân: Quản trị viên
● Mục tiêu: Xếp hạng khách hàng theo tiêu chí.
● Luồng chính: Đăng nhập → Chọn khách hàng → Cập nhật xếp hạng.
● Ngoại lệ: Thiếu thông tin khách hàng.
9. Xử lý khiếu nại
● Tác nhân: Quản trị viên
● Mục tiêu: Xử lý khiếu nại của khách hàng.
● Luồng chính: Đăng nhập → Xem khiếu nại → Xử lý khiếu nại → Ghi nhận kết quả.
● Ngoại lệ: Không có khiếu nại, Thiếu thông tin xử lý.
10. Xuất danh sách khách hàng
● Tác nhân: Quản trị viên
● Mục tiêu: Xuất danh sách khách hàng.
● Luồng chính: Đăng nhập → Lựa chọn tiêu chí → Xuất danh sách → Tải về file. ● Ngoại lệ:
Không có khách hàng, Lỗi xuất file.
2. Viết Các Scenario Chuẩn Và Scenario Ngoại Lệ Cho Các Use Case
2.1. Sửa thông tin khách hàng Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình chính với danh sách khách hàng hoặc tùy chọn tìm kiếm.
4. Nhân viên/Quản trị viên chọn khách hàng cần sửa.
5. Hệ thống hiển thị chi tiết thông tin khách hàng.
6. Nhân viên/Quản trị viên chỉnh sửa thông tin cần thiết (tên, địa chỉ, số điện thoại, email, v.v.).
7. Nhân viên/Quản trị viên nhấn "Lưu" để cập nhật thông tin. lOMoAR cPSD| 58800262
8. Hệ thống kiểm tra tính hợp lệ của thông tin đã sửa (ví dụ: kiểm tra email hợp lệ, số điện thoại đúng định dạng).
9. Nếu thông tin hợp lệ, hệ thống lưu thông tin khách hàng vào cơ sở dữ liệu.
10.Hệ thống thông báo "Cập nhật thông tin khách hàng thành công".
11.Hệ thống ghi lại log.
12.Quản trị viên hoặc nhân viên kiểm tra lại thông tin khách hàng đã được sửa. Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên nhập thông tin không hợp lệ (ví dụ: email sai định dạng).
Bước 2: Hệ thống thông báo lỗi "Thông tin không hợp lệ, vui lòng kiểm tra lại".
Bước 3: Nhân viên/Quản trị viên chỉnh sửa lại thông tin đúng định dạng.
Bước 4: Lặp lại từ Bước 8 của Scenario chuẩn.
2.2. Thêm khách hàng Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với tùy chọn "Thêm khách hàng".
4. Nhân viên/Quản trị viên nhấn "Thêm khách hàng".
5. Hệ thống hiển thị form điền thông tin khách hàng mới (tên, địa chỉ, số điện thoại, email, v.v.).
6. Nhân viên/Quản trị viên nhập đầy đủ thông tin khách hàng vào form.
7. Nhân viên/Quản trị viên nhấn "Lưu" để thêm khách hàng mới.
8. Hệ thống kiểm tra tính hợp lệ của thông tin đã nhập.
9. Nếu thông tin hợp lệ, hệ thống lưu thông tin khách hàng vào cơ sở dữ liệu.
10.Hệ thống thông báo "Thêm khách hàng thành công".
11.Hệ thống ghi lại log.
12.Nhân viên/Quản trị viên có thể quay lại danh sách khách hàng để kiểm tra. Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên nhập thông tin không hợp lệ (ví dụ: email sai định dạng).
Bước 2: Hệ thống thông báo lỗi "Thông tin không hợp lệ, vui lòng kiểm tra lại".
Bước 3: Nhân viên/Quản trị viên sửa lại thông tin đúng định dạng.
Bước 4: Lặp lại từ Bước 6 của Scenario chuẩn.
2. Ngoại lệ: Khách hàng đã tồn tại
Bước 1: Nhân viên/Quản trị viên nhập thông tin khách hàng đã có trong hệ thống (trùng email hoặc số điện thoại).
Bước 2: Hệ thống thông báo "Khách hàng đã tồn tại trong hệ thống".
Bước 3: Nhân viên/Quản trị viên kiểm tra lại thông tin và nhập lại thông tin khác.
2.3. Tìm kiếm khách hàng Scenario chuẩn: lOMoAR cPSD| 58800262
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với ô tìm kiếm.
4. Nhân viên/Quản trị viên nhập thông tin tìm kiếm (ví dụ: tên, mã khách hàng, số điện thoại) vào ô tìm kiếm.
5. Nhân viên/Quản trị viên nhấn nút "Tìm kiếm".
6. Hệ thống hiển thị danh sách khách hàng phù hợp với thông tin tìm kiếm.
7. Hệ thống ghi lại log.
8. Nhân viên/Quản trị viên chọn khách hàng từ danh sách kết quả để xem chi tiết. Scenario ngoại lệ:
1. Ngoại lệ: Không tìm thấy khách hàng
Bước 1: Nhân viên/Quản trị viên nhập thông tin tìm kiếm không khớp với bất kỳ khách hàng nào.
Bước 2: Hệ thống thông báo "Không tìm thấy khách hàng theo thông tin đã nhập".
Bước 3: Nhân viên/Quản trị viên kiểm tra lại thông tin tìm kiếm hoặc thử lại với các tiêu chí khác.
2.4. Xem chi tiết khách hàng Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống bằng tài khoản hợp lệ.
2. Hệ thống hiển thị giao diện chính sau đăng nhập.
3. Nhân viên/Quản trị viên chọn chưc năng “Quản lý người dùng”.
4. Hệ thống hiển thị danh sách khách hàng kèm tùy chọn tìm kiếm.
5. Nhân viên/Quản trị viên tìm kiếm hoặc duyệt danh sách và chọn khách hàng cần xem.
6. Hệ thống hiển thị màn hình chi tiết thông tin khách hàng (họ tên, địa chỉ, số điện thoại, email,
ngày tạo, trạng thái,...)
7. Nhân viên/Quản trị viên xem thông tin và có thể quay lại danh sách hoặc thực hiện thao tác
tiếp theo (sửa, xóa,...).
Scenario ngoại lệ: Khách hàng không tồn tại hoặc đã bị xóa
1. Nhân viên/Quản trị viên chọn một khách hàng trong danh sách (hoặc từ kết quả tìm kiếm).
2. Hệ thống phát hiện khách hàng đã bị xóa hoặc không còn tồn tại trong cơ sở dữ liệu.
3. Hệ thống hiển thị thông báo lỗi:
- "Khách hàng không tồn tại hoặc đã bị xóa. Vui lòng kiểm tra lại."
4. Hệ thống quay về màn hình danh sách khách hàng để tác nhân chọn lại.
2.5. Gửi thông báo cho khách hàng Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống. lOMoAR cPSD| 58800262
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, nhân viên/ quản trị viên chọn người dùng cần gửi thông báo.
4. Nhân viên/quản trị viên nhập thông báo.
5. Nhân viên/Quản trị viên nhấn "Gửi thông báo".
6. Hệ thống hiển thị form soạn thông báo (nội dung, đối tượng nhận).
7. Nhân viên/Quản trị viên nhập nội dung thông báo và chọn đối tượng khách hàng nhận thông báo.
8. Nhân viên/Quản trị viên nhấn "Gửi".
9. Hệ thống gửi thông báo và hiển thị thông báo "Gửi thành công".
10.Hệ thống ghi lại log.
11.Nhân viên/Quản trị viên có thể kiểm tra lại lịch sử thông báo. Scenario ngoại lệ:
1. Ngoại lệ: Thông tin không hợp lệ
Bước 1: Nhân viên/Quản trị viên không nhập đầy đủ thông tin cần thiết (ví dụ: thiếu tiêu đề hoặc nội dung).
Bước 2: Hệ thống thông báo lỗi "Vui lòng nhập đầy đủ thông tin".
Bước 3: Nhân viên/Quản trị viên hoàn thành thông tin và gửi lại.
2.6. Xem lịch sử hoạt động của khách hàng Scenario chuẩn:
1. Nhân viên/Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , nhân viên/quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với danh sách các khách hàng.
4. Nhân viên/Quản trị viên chọn khách hàng cần xem lịch sử.
5. Hệ thống hiển thị chi tiết lịch sử hoạt động của khách hàng (gồm các giao dịch, yêu cầu hỗ trợ, vi phạm, v.v.).
6. Nhân viên/Quản trị viên có thể lọc lịch sử theo khoảng thời gian hoặc loại sự kiện.
7. Hệ thống ghi lại log.
8. Nhân viên/Quản trị viên có thể tải lịch sử về hoặc xuất báo cáo nếu cần thiết. Scenario ngoại lệ:
1. Ngoại lệ: Không có lịch sử hoạt động
Bước 1: Nhân viên/Quản trị viên tìm kiếm khách hàng nhưng không có lịch sử hoạt động.
Bước 2: Hệ thống thông báo "Khách hàng này chưa có hoạt động nào".
Bước 3: Nhân viên/Quản trị viên có thể quay lại hoặc chọn khách hàng khác.
2.7. Xử lý vi phạm của khách hàng Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng với danh sách các khách hàng. lOMoAR cPSD| 58800262
4. Quản trị viên chọn khách hàng vi phạm cần xử lý.
5. Hệ thống hiển thị chi tiết vi phạm của khách hàng (loại vi phạm, mưc độ).
6. Quản trị viên chọn hành động xử lý phù hợp (cảnh cáo, phạt, đình chỉ dịch vụ, v.v.).
7. Quản trị viên nhập lý do và quyết định xử lý.
8. Quản trị viên nhấn "Xử lý" để thực hiện hành động.
9. Hệ thống ghi nhận quyết định xử lý và thông báo "Xử lý vi phạm thành công".
10.Quản trị viên có thể theo dõi tình trạng của vi phạm và các hành động tiếp theo. Scenario ngoại lệ:
1. Ngoại lệ: Không tìm thấy vi phạm
Bước 1: Quản trị viên tìm kiếm khách hàng nhưng không có vi phạm nào.
Bước 2: Hệ thống thông báo "Không có vi phạm nào được ghi nhận cho khách hàng này".
Bước 3: Quản trị viên có thể quay lại hoặc chọn khách hàng khác.
2. Ngoại lệ: Hành động xử lý không hợp lệ
Bước 1: Quản trị viên chọn hành động xử lý không hợp lệ (ví dụ: áp dụng mưc phạt không đúng quy định).
Bước 2: Hệ thống thông báo lỗi "Hành động xử lý không hợp lệ"
Bước 3: Quản trị viên chỉnh sửa và thực hiện lại.
2.8. Xếp hạng khách hàng Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý ,quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, quản trị viên chọn xếp hạng khách hàng. 4.
Hệ thống hiển thị danh sách khách hàng đã được tự động xếp hạng đầu tháng
5. Quản trị viên chọn khách hàng cần chỉnh sửa xếp hạng.
6. Hệ thống hiển thị thông tin và hoạt động của khách hàng.
7. Quản trị viên chọn tiêu chí và mưc xếp hạng (VIP/Thân Thiết/Thường).
8. Quản trị viên nhấn "Cập nhật xếp hạng".
9. Hệ thống ghi lại log.
10.Hệ thống lưu lại xếp hạng và thông báo "Cập nhật xếp hạng thành công". Scenario ngoại lệ:
1. Ngoại lệ: Không có đủ thông tin để xếp hạng
Bước 1: Quản trị viên chọn khách hàng nhưng không đủ thông tin (ví dụ: khách hàng mới chưa có đủ dữ liệu).
Bước 2: Hệ thống thông báo "Không đủ thông tin để thực hiện xếp hạng".
Bước 3: Quản trị viên có thể yêu cầu bổ sung thông tin trước khi thực hiện xếp hạng.
2.9. Xử lý khiếu nại Scenario chuẩn: lOMoAR cPSD| 58800262
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị màn hình quản lý người dùng, quản trị viên chọn xử lý khiếu nại .
4. Hệ thống hiển thị danh sách khiếu nại từ khách hàng.
5. Quản trị viên chọn khiếu nại cần xử lý.
6. Hệ thống hiển thị chi tiết khiếu nại (ngày gửi, nội dung khiếu nại, khách hàng).
7. Quản trị viên nghiên cưu và xác định giải pháp xử lý.
8. Quản trị viên nhập phản hồi cho khiếu nại.
9. Quản trị viên nhấn "Gửi phản hồi" để thông báo khách hàng.
10.Hệ thống ghi lại log.
11.Hệ thống ghi nhận phản hồi và thông báo "Xử lý khiếu nại thành công". Scenario ngoại lệ:
1. Ngoại lệ: Không thể xử lý khiếu nại
Bước 1: Quản trị viên chọn khiếu nại nhưng không thể xử lý do thiếu thông tin hoặc không phù hợp.
Bước 2: Hệ thống thông báo "Không thể xử lý khiếu nại này".
Bước 3: Quản trị viên có thể yêu cầu thêm thông tin từ khách hàng hoặc chuyển khiếu nại đến bộ phận khác.
2.10. Xuất danh sách khách hàng Scenario chuẩn:
1. Quản trị viên đăng nhập vào hệ thống.
2. Hệ thống hiển thị danh sách quản lý , quản trị viên chọn quản lý người dùng.
3. Hệ thống hiển thị menu với các chưc năng liên quan đến khách hàng.
4. Quản trị viên chọn "Xuất danh sách khách hàng".
5. Hệ thống yêu cầu chọn tiêu chí lọc (ví dụ: theo ngày đăng ký, theo khu vực, theo xếp hạng).
6. Quản trị viên chọn tiêu chí lọc và nhấn "Xuất danh sách".
7. Hệ thống xuất danh sách khách hàng dưới dạng file (CSV, Excel, PDF, v.v.).
8. Hệ thống ghi lại log.
9. Quản trị viên tải file về máy tính và có thể chia sẻ hoặc lưu trữ. Scenario ngoại lệ:
1. Ngoại lệ: Không có khách hàng phù hợp
Bước 1: Quản trị viên chọn tiêu chí lọc nhưng không có khách hàng nào thỏa mãn.
Bước 2: Hệ thống thông báo "Không có khách hàng phù hợp với tiêu chí lọc".
Bước 3: Quản trị viên có thể điều chỉnh tiêu chí lọc và thử lại.
2. Ngoại lệ: Lỗi khi xuất file
Bước 1: Quản trị viên nhấn "Xuất danh sách" nhưng hệ thống không thể tạo file.
Bước 2: Hệ thống thông báo lỗi "Lỗi khi xuất file, vui lòng thử lại".
Bước 3: Quản trị viên thử lại hoặc báo cáo sự cố cho bộ phận kỹ thuật. lOMoAR cPSD| 58800262
3. Trích Các Lớp Thực Thể Và Vẽ Sơ Đồ Lớp Thực Thể Liên Quan Đến Modul
-Trích danh từ để trích các lớp từ mô tả hoạt động của modul quản lý khách hàng :
Module quản lý khách hàng hỗ trợ nhân viên quản trị viên trong việc thêm mới,
chỉnh sửa thông tin, tìm kiếm, xem lịch sử hoạt động, gửi thông báo, xử lý vi
phạm
, xếp hạng, giải quyết khiếu nại xuất danh sách khách hàng. Mỗi khách
hàng
có thể có nhiều lịch sử hoạt động, khiếu nại được hệ thống ghi nhận. Thông
báo
được gửi từ quản trị viên đến khách hàng thông qua hệ thống gửi tin. Vi phạm
của khách hàng được lưu vào danh sách vi phạm và xử lý theo quy định. Tất cả hoạt
động được lưu lại trong lịch sử hệ thống phục vụ việc theo dõi báo cáo. Chi tiết bao gồm:
1. User (Nhân viên, quản trị viên) - userID (mã người dùng)
- username (tên đăng nhập) - password(mật khẩu) - email (Email liên lạc)
- phoneNumber(số điện thoại liên lạc)
- role (vai trò : Quản trị viên/ Nhân viên)
- isActive(trạng thái hoạt động)
2. Customer(Khách hàng)
- customerID (mã khách hàng)
- username (tên đăng nhập) - password(mật khẩu)
- fullName (tên khách hàng)
- email (Email liên lạc của khách hàng)
- phoneNumber (số điện thoại liên lạc)
- address (địa chỉ khách hàng)
- loyalty Point (điểm tích lũy)
- customer Type (loại khách hàng: khách vip/ khách thân thiết/ khách thường)
- is Banned (trạng thái tài khoản khách hàng)
3. Violation (vi phạm) - violationID (mã vi phạm)
- customerID (mã khách hàng vi phạm)
- reason(nguyên nhân vi phạm)
- violationTime (thời gian vi phạm)
- status (trạng thái xử lý vi phạm)
- handleBy (người quản lý tiếp nhận xử lý vi phạm)
4. Complaint (Khiếu nại)
- complainID (mã khiếu nại)
- customerID (mã khách hàng khiếu nại)
- content(nội dung khiếu nại) lOMoAR cPSD| 58800262
- submitAt (thời gian gửi khiếu nại)
- status (trạng thái xử lý khiếu nại)
- handleBy (mã người quản lý tiếp nhận khiếu nại)
5. Activity Log (Lịch sử phân loại khách hàng)
- activityID(mã lịch sử phân loại)
- CustomerID (mã khách hàng) - activity (hành động)
- descriptions (mô tả chi tiết hành động)
- create At (thời gian tạo ra)
6. Notification (Thông báo)
- notificationID (mã thông báo )
- content (nội dung thông báo )
- create At (thời gian bắt đầu thông báo)
- customerID (mã khách hàng) - sendBy (mã nhân viên)
Quan hệ giữa các lớp thực thể :
- Customer — Complaint : Mối quan hệ: 1:N (Một khách có thể gửi nhiều khiếu nại).
Complaint không có ý nghĩa khi không gắn với khách.
- Customer — Violation: Một khách hàng có thể bị ghi nhận nhiều vi phạm (trễ giờ, không
đến, làm hỏng sân…). Vi phạm là hành vi gắn liền với khách hàng, không có ý nghĩa nếu
không gắn với ai → không thể tồn tại độc lập.Nếu khách hàng bị xóa hoàn toàn khỏi hệ thống
→ toàn bộ vi phạm cũng bị xóa theo.
- Customer – Activity Log: Mỗi hoạt động (đặt sân, hủy, đăng nhập...) được ghi lại thành nhật
ký (log). Mối quan hệ 1-n. Log lưu thông tin lịch sử thao tác: loại hành động, thời gian, trạng thái...
Mục đích để phục vụ truy vết theo dõi hành vi khách hàng.
- User – Notification : Nhân viên/Quản trị viên gửi thông báo cho khách hàng. Mối quan hệ 1-
n.Mỗi notification chưa thông tin người gửi (userid), người nhận (customer_id), nội dung, thời
gian gửi, trạng thái đọc.... User là người tạo hoặc duyệt gửi notification, nhưng nếu Staff bị
xóa, notification vẫn có thể được giữ để tra cưu sau . lOMoAR cPSD| 58800262
- Customer – Notification : Một khách hàng có thể nhận nhiều thông báo. Mối quan hệ 1-
n.Một Notification có thể được gửi từ User, đến Customer.
- Complaint – User : Khiếu nại được một quản trị viên xử lý. Nếu complaint chưa được xử lý
thì staff_id null. Tương tự với mối quan hệ giữa Violation - User
- User - Customer : User quản lý nhiều Customer. Mối quan hệ 1-n. Tuy nhiên, không phải lúc
nào cũng cần gắn cưng Staff với Customer . Ta chỉ lưu lại "ai đã thao tác" nếu có nhu cầu audit.
Sơ đồ lớp thực thể phân tích: lOMoAR cPSD| 58800262 lOMoAR cPSD| 58800262
4. Vẽ Sơ Đồ Lớp Phân Tích Và Biểu Đồ Tuần Tự Của Modul 4.1. Phân tích tĩnh
-Trích các lớp biên (giao diện):
+ ManagerHomeView: Giao diện chính của quản trị viên sau khi đăng nhập, cung cấp truy cập
nhanh đến các chưc năng quản lý khách hàng, sân bóng, đơn đặt, thống kê và cấu hình hệ thống.
+ CustomerView: Giao diện hiển thị danh sách khách hàng, tìm kiếm, lọc theo tên, số điện
thoại, trạng thái hoạt động, xếp hạng. Cho phép truy cập chi tiết khách hàng và thêm khách hàng, xuất danh sách.
+ CustomerDetailView: Giao diện xem chi tiết khách hàng. Cung cấp các nút hành động điều
hướng đến: sửa thông tin, gửi thông báo, xem vi phạm, khiếu nại, lịch sử hoạt động, xếp hạng.
+ CustomerForm: Giao diện nhập liệu khi thêm hoặc chỉnh sửa thông tin khách hàng. Có kiểm
tra ràng buộc đầu vào như email, số điện thoại, điểm tích lũy, trạng thái bị cấm.
+ NotificationView: Giao diện cho phép nhân viên gửi thông báo đến một hoặc nhiều khách
hàng. Hiển thị danh sách các thông báo đã gửi kèm thời gian tạo và người gửi.
+ ViolationView: Hiển thị danh sách vi phạm của từng khách hàng, lý do vi phạm và trạng thái
xử lý. Cho phép quản trị viên thêm mới hoặc cập nhật thông tin xử lý vi phạm.
+ ComplaintView: Giao diện tiếp nhận và xử lý khiếu nại do khách hàng gửi lên. Hiển thị nội
dung, thời gian gửi và quản trị viên xử lý, hỗ trợ phân loại mưc độ.
+ ActivityLogView: Hiển thị nhật ký hoạt động của khách hàng, bao gồm hành động và thời
gian thực hiện. Giúp nhân viên theo dõi hành vi đáng ngờ hoặc quá trình tương tác của khách.
+ CustomerExportView: Cung cấp tính năng xuất danh sách khách hàng ra file Excel hoặc
PDF. Cho phép tùy chọn cột xuất, định dạng ngày và lọc theo tiêu chí cụ thể.
+ CustomerEditRankView: Cung cấp tính năng cập nhật rank thủ công với các trường hợp đặc biệt.
Trình tự hoạt động của module (bỏ qua bước đăng nhập):
1. Nhân viên/Quản trị viên truy cập vào giao diện chính của hệ thống (ManagerHomeView).
2. Từ ManagerHomeView, chọn mục Quản lý khách hàng để truy cập vào module quản lý khách hàng.
3. Thực hiện các chưc năng nghiệp vụ sau trong module:
3.1. Xem danh sách / tìm kiếm khách hàng (CustomerView).
3.2. Xem chi tiết thông tin khách hàng (CustomerDetailView).
3.3. Thêm mới hoặc chỉnh sửa thông tin khách hàng (CustomerForm).
3.4. Gửi thông báo đến khách hàng (NotificationView).
3.5. Xem nhật ký hoạt động của khách hàng (ActivityLogView).
3.6. Xử lý khiếu nại khách hàng (ComplaintView) – chỉ dành cho quản trị viên.
3.7. Quản lý vi phạm và cập nhật trạng thái xử lý (ViolationView) – chỉ dành cho quản trị viên.
3.8. Xuất danh sách khách hàng ra file (CustomerExportView) – chỉ dành cho quản trị viên.
3.9. Chỉnh sửa xếp hạng khách hàng (CustomerEditRankView) – chỉ dành cho quản trị viên.
-Mô tả quan hệ giữa các lớp : lOMoAR cPSD| 58800262
+ ManagerHomeView ↔ CustomerView: Khi nhân viên/ quản trị viên truy cập vào module
quản lý khách hàng từ ManagerHomeView, hệ thống điều hướng đến CustomerView, nơi
hiển thị danh sách khách hàng và các tính năng tìm kiếm, lọc.
+ CustomerView ↔ CustomerDetailView: Khi người dùng nhấn vào tên hoặc mã khách hàng
trong danh sách, hệ thống sẽ điều hướng từ CustomerView sang CustomerDetailView, nơi
hiển thị thông tin chi tiết về khách hàng.
+ CustomerDetailView ↔ CustomerForm: Khi người dùng chọn “Thêm khách hàng” hoặc
“Chỉnh sửa thông tin” trong CustomerDetailView, hệ thống sẽ điều hướng đến
CustomerForm để nhập liệu hoặc chỉnh sửa thông tin khách hàng.
+ CustomerDetailView ↔ NotificationView: Từ CustomerDetailView, người dùng có thể
chọn một khách hàng và nhấn "Gửi thông báo", dẫn đến việc điều hướng sang
NotificationView để gửi thông báo đến khách hàng.
+ CustomerDetailView ↔ ViolationView: Từ CustomerDetailView, khi người dùng nhấn
"Xem vi phạm", hệ thống sẽ điều hướng đến ViolationView để hiển thị danh sách vi phạm
của khách hàng và trạng thái xử lý.
+ CustomerView ↔ ComplaintView: Khi quản trị viên muốn xem danh sách khiếu nại của
khách hàng, từ CustomerView, hệ thống sẽ chuyển hướng đến ComplaintView để quản trị
viên có thể xử lý khiếu nại.
+ CustomerDetailView ↔ ActivityLogView: Từ CustomerDetailView, người dùng có thể truy
cập ActivityLogView để xem lịch sử hoạt động của khách hàng, bao gồm hành động và thời gian thực hiện.
+ CustomerDetailView ↔ CustomerEditRankView: Khi người dùng muốn chỉnh sửa xếp
hạng của khách hàng từ CustomerDetailView, hệ thống sẽ điều hướng đến
CustomerEditRankView để thực hiện thay đổi xếp hạng.
+ CustomerView → CustomerExportView: Khi người dùng nhấn "Xuất danh sách khách
hàng" trong CustomerView, hệ thống sẽ gọi đến CustomerExportView để xuất danh sách
khách hàng ra file Excel hoặc PDF theo yêu cầu.
-Sơ đồ lớp phân tích cho modul quản lý khách hàng lOMoAR cPSD| 58800262 4.2. Phân tích động
Từ scenario chuẩn đã viết:

- Các chủ thể hành động từ kịch bản trước được thay thế bằng tên các lớp đã trích
được - Tương tác giữa các chủ thể chuyển thành hành động gửi thông điệp yêu cầu
thực hiện hành động nào đó-> Vẽ sơ đồ tuần tự phân tích dựa trên kịch bản viết lại
1. Sửa thông tin khách hàng
● ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
● CustomerView → CustomerDetailView: Yêu cầu hiển thị chi tiết khách hàng được chọn.
● CustomerDetailView → CustomerForm: Yêu cầu mở form chỉnh sửa thông tin khách hàng.
● CustomerForm → Customer: Gửi yêu cầu kiểm tra tính hợp lệ của thông tin (email, số điện thoại, ...).
● Customer → CustomerForm: Trả về kết quả kiểm tra (hợp lệ/không hợp lệ).
● CustomerForm → Customer: Gửi yêu cầu cập nhật thông tin khách hàng vào CSDL. ●
Customer → ActivityLogView: Ghi log hoạt động "Cập nhật thông tin khách hàng". 2. Thêm khách hàng
● ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
● CustomerView → CustomerForm: Yêu cầu mở form thêm khách hàng mới.
● CustomerForm → Customer: Kiểm tra trùng lặp khách hàng (email/số điện thoại). lOMoAR cPSD| 58800262
● Customer → CustomerForm: Xác nhận khách hàng chưa tồn tại.
● CustomerForm → Customer: Gửi yêu cầu lưu thông tin khách hàng mới.
● Customer → ActivityLogView: Ghi log hoạt động "Thêm khách hàng mới".
3. Tìm kiếm khách hàng
● ManagerHomeView → CustomerView: Yêu cầu hiển thị chưc năng tìm kiếm.
● CustomerView → Customer: Gửi từ khóa tìm kiếm (tên, số điện thoại, ...).
● Customer → CustomerView: Trả về danh sách khách hàng phù hợp.
● CustomerView → ActivityLogView: Ghi log "Tìm kiếm khách hàng".
4. Xem chi tiết khách hàng
● ManagerHomeView → CustomerView: Yêu cầu hiển thị danh sách khách hàng.
● CustomerView → CustomerDetailView: Yêu cầu hiển thị chi tiết khách hàng được chọn
● CustomerDetailView → Customer: Lấy thông tin chi tiết (địa chỉ, lịch sử giao dịch, ...).
● Customer → CustomerDetailView: Trả về dữ liệu khách hàng.
5. Gửi thông báo cho khách hàng
● ManagerHomeView → NotificationView: Yêu cầu mở giao diện gửi thông báo.
● NotificationView → Customer: Lấy danh sách khách hàng để chọn người nhận.
● Customer → NotificationView: Trả về danh sách khách hàng.
● NotificationView → Customer: Gửi yêu cầu gửi thông báo đến khách hàng đã chọn. ●
Customer → ActivityLogView: Ghi log "Đã gửi thông báo".
6. Xử lý vi phạm của khách hàng
● ManagerHomeView → ViolationView: Yêu cầu hiển thị danh sách vi phạm.
● ViolationView → Customer: Lấy thông tin vi phạm của khách hàng.
● Customer → ViolationView: Trả về danh sách vi phạm.
● ViolationView → Customer: Gửi yêu cầu xử lý vi phạm (cảnh cáo/khóa tài khoản) ●
Customer → ActivityLogView: Ghi log "Xử lý vi phạm".
7. Xếp hạng khách hàng
● ManagerHomeView → CustomerEditRankView: Yêu cầu chỉnh sửa xếp hạng.
● CustomerEditRankView → Customer: Lấy thông tin xếp hạng hiện tại.
● Customer → CustomerEditRankView: Trả về xếp hạng (VIP/Thân thiết/Thường).
● CustomerEditRankView → Customer: Gửi yêu cầu cập nhật xếp hạng mới.
● Customer → ActivityLogView: Ghi log "Thay đổi xếp hạng khách hàng".
8. Xuất danh sách khách hàng
● ManagerHomeView → CustomerExportView: Yêu cầu mở chưc năng xuất file.
● CustomerExportView → Customer: Lấy danh sách khách hàng theo tiêu chí lọc.
● Customer → CustomerExportView: Trả về danh sách đã lọc.
● CustomerExportView → ActivityLogView: Ghi log "Xuất file danh sách khách hàng" lOMoAR cPSD| 58800262
-Use Case: Tìm kiếm khách hàng
- Use Case: Xem chi tiết thông tin khách hàng: -
- Use Case: Thêm khách hàng lOMoAR cPSD| 58800262
- Use Case: Sửa thông tin khách hàng
- Use Case: Gửi thông báo đến khách hàng: