- Danh sách các actor tham gia hệ thống
Bảng 8. Danh sách các actor
STT Tên Vai trò
1 Quản trị Quản lý Website
2 Khách hàng Người sử dụng Website
- Danh sách các use case
Bảng 9. Danh sách và chức năng của các use case
ID Tên use case Mô tả
1 Đăng nhập Đăng nhập tài khoản thành viên trên website 2 Thêm thành viên Quản trị thêm tài khoản đăng nhập vào hệ
thống
3 Đăng xuất Đăng xuất tài khoản thành viên khỏi hệ thống 4 Tìm kiếm sản phẩm Khách hàng có thể tìm kiếm sản phẩm 5 Thêm sản phẩm Quản trị thêm sản phẩm vào hệ thống 6 Sửa sản phẩm Quản trị sửa thông tin sản phẩm
39
7 Xoá sản phẩm Quản trị xoá sản phẩm
8 Xem danh sách sản phẩm Quản trị xem danh sách sản phẩm 9 Thêm danh mục sản
phẩm
Quản trị thêm danh mục sản phẩm vào hệ thống
10 Sửa danh mục sản phẩm Quản trị sửa thông tin danh mục sản phẩm 11 Xoá danh mục sản phẩm Quản trị xoá danh mục sản phẩm 12 Xem danh sách danh mục
sản phẩm Quản trị xem danh sách danh mục sản phẩm 13 Xem đơn đặt hàng Quản trị xem đơn đặt hàng
14 Xoá đơn hàng Quản trị xoá đơn đặt hàng
15 Thêm thành viên Quản trị thêm thành viên sử dụng hệ thống 16 Sửa thành viên Quản trị sửa thông tin thành viên
17 Xoá thành viên Quản trị xoá thành viên
18 Xem danh sách thành
viên Quản trị xem danh sách thành viên 19 Cho sản phẩm vào giỏ
hàng Khách hàng cho sản phẩm vào giỏ hàng 20 Xem danh sách bình luận Quản trị xem danh sách các bình luận
21 Xóa bình luận Quản trị xóa bình luận
- Các ký hiệu
Bảng 10. Các ký hiệu
STT Ký hiệu Chú giải
1 Tác nhân (Actor)
2 Use case
3 Quan hệ
40 - Các sơ đồ use case
Hình 49. Sơ đồ use case tổng quát
Hình 50. Sơ đồ use case quản lý phía người quản trịHình 51. Sơ đồ use case tổng quát
Hình 52. Sơ đồ use case quản lý phía người quản trị
Hình 53. Sơ đồ use case quản lý đơn đặt hàngHình 54. Sơ đồ use case quản lý phía người quản trị
41
Hình 55. Sơ đồ use case quản lý đơn đặt hàng
Hình 56. Sơ đồ use case quản lý danh mụcHình 57. Sơ đồ use case quản lý đơn đặt hàng
42
Hình 58. Sơ đồ use case quản lý danh mục
Hình 59. Sơ đồ use case quản lý sản phẩmHình 60. Sơ đồ use case quản lý danh mục
43
Hình 61. Sơ đồ use case quản lý sản phẩm
Hình 62. Sơ đồ use case quản lý thành viênHình 63. Sơ đồ use case quản lý sản phẩm
44
Hình 64. Sơ đồ use case quản lý thành viên
Hình 65. Sơ đồ use case phía khách hàngHình 66. Sơ đồ use case quản lý thành viên
45
Hình 67. Sơ đồ use case phía khách hàng
46
Hình 70. Sơ đồ use case đặt hàng
47
3.5.2. Mô tả chi tiết một số use case
Bảng 11. Mô tả use case đăng nhập
Usecase Đăng nhập
ID 01
Tác nhân chính Admin, Shop Manager
Phạm vi Admin, Shop Manager truy cập vào website quản trị của
công ty.
Mô tả ngắn gọn Usecase này cho phép Admin, Shop Manager đăng nhập vào website quản trị.
Điều kiện Hệ thống ở trạng thái hoạt động.
Các luồng sự kiện
A1. Truy cập vào trang quản trị của webstite.
A2. Form đăng nhập hiển thị ra yêu cầu nhập tên đăng nhập và mật khẩu sau đó chọn “Đăng nhập”.
A3. Hệ thống sẽ tiến hành kiểm tra. Nếu không hợp lệ thì thực hiện lại luồng sự kiện B1.
A4. Hợp lệ thì sẽ hệ thống sẽ hiển thị trang quản trị ra.
Luồng sự kiện phụ:
B1. Nếu nhập sai thông tin thì hệ thống sẽ hiển thị thông báo.
Bảng 12. Mô tả use case thêm thành viên
Usecase Thêm thành viên
ID 02
Tác nhân chính Admin, Shop Manager
Phạm vi Admin, Shop Manager truy cập vào website quản trị của
công ty và chọn chức năng thêm thành viên mới.
Mô tả ngắn gọn Usecase mô tả hình thức thành viên đăng ký tài khoản mới Điều kiện Hệ thống ở trạng thái hoạt động và đã có tài khoản admin
48
Các luồng sự kiện
-A1. Khi có tài khoản admin hay shop manager mới có thể truy cập vào website quản trị.
-A2. Chọn chức thêm thành viên
-A3. Hệ thống hiển thị form đăng ký ra yêu cầu nhập username, password, email và chọn quyền. Sau đó chọn đăng ký.
-A4. Hệ thống sẽ tiến hành kiểm tra.
+A4.1. Nếu không hơp lệ thì thực hiện luồng sự kiện A3. +A4.2. Nếu thông tin hợp lệ thì dữ liệu sẽ lưu vào cơ sở dữ liệu, thông báo thành công và usecase kết thúc.
Bảng 13. Mô tả use case đặt hàng
Usecase Đặt hàng
ID 06
Tác nhân chính Khách hàng
Phạm vi Khách hàng truy cập vào website và chọn hàng hóa cần mua
Mô tả ngắn gọn Usecase này thực hiện khi khách hàng muốn mua sản phẩm
từ website. Hệ thống sẽ lưu đơn đặt hàng này.
Điều kiện Hệ thống đang trong trạng thái hoạt động.
Các luồng sự kiện
1. Khách hàng truy cập vào website. 2. Hệ thống hiển thị ra các sản phẩm. 3. Chọn sản phẩm cần mua.
4. Hệ thống sẽ hiển thị chi tiết sản phẩm.
5. Nếu khách hàng chọn “Thêm vào giỏ” thì hệ thống sẽ hiển thị form giỏ hàng và thêm sản phẩm đó vào giỏ hàng.
6. Thông tin chi tiết giỏ hàng sẽ được hiển thị.
7. Khách hàng có thể chọn chức năng mua tiếp, cập nhật giỏ hàng, xóa sản phẩm, thanh toán. Nếu khách hàng chọn chức năng mua tiếp thì thực hiện lại bước 3. Hoặc chọn chức năng cập nhật hoặc xóa sản phẩm thực hiện bước 6
49
Bảng 14. Mô tả use case thêm sản phẩm
Usecase Thêm sản phẩm
ID 03
Tác nhân chính Admin, Shop Manager
Phạm vi Người quản trị đăng nhập vào website quản trị và chọn thêm sản phẩm
Mô tả ngắn gọn Usecase này cho phép người quản trị thêm sản phẩm vào website
Điều kiện Hệ thống ở trạng thái hoạt động và quản trị phải đăng nhập
thành công
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong danh mục “Sản phẩm” chọn chức năng “Thêm sản phẩm”.
A3. Hệ thống sẽ hiển thị form thêm sản phẩm.
A4. Người quản trị tiến hành nhập các thông tin về sản phẩm và chọn lưu sản phẩm.
A5. Hệ thống sẽ kiểm tra các thông tin mà người quản trị nhập vào. Nếu không hợp lệ thì thực hiện luồng sự kiện B1. A6. Nếu hợp lệ thì hệ thống sẽ lưu vào cơ sở dữ liệu và hiển thị danh sách sản phẩm.
Luồng phụ B1:
1. Hệ thống thống báo thông tin không hợp lệ. 2. Hiển thị form nhập thông tin sản phẩm. 3. Người quản trị thực hiện lại bước A4.
Bảng 15. Mô tả use case sửa sản phẩm
Usecase Sửa sản phẩm
ID 04
Tác nhân chính Admin, Shop Manager, Nhân viên.
Phạm vi Người quản trị đăng nhập vào website quản trị và chọn sửa sản phẩm
Mô tả ngắn gọn Usecase này cho phép người quản trị sửa thông tin sản phẩm
Điều kiện Hệ thống ở trạng thái hoạt động và quản trị phải đăng nhập
50
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong danh mục “sản phẩm” chọn danh sách sản phẩm.
A3. Hệ thống sẽ hiện thị form danh sách các sản phẩm. A4. Người quản trị tìm và chọn sản phẩm cần sửa. A5. Hệ thống sẽ hiển thị thông tin sản phẩm. A6. Tiến hành sửa thông tin cần thiết.
A7. Hệ thống sẽ kiểm tra các thông tin mà người quản trị đã chỉnh sửa. Nếu không hợp lệ thì thực hiện luồng sự kiện B1.
A8. Nếu hợp lệ thì hệ thống sẽ hiển thị danh sách sản phẩm và lưu vào cơ sở dữ liệu.
Luồng phụ B1:
1. Hệ thống thống báo thông tin không hợp lệ. 2. Hiển thị form nhập thông tin sản phẩm. 3. Người quản trị thực hiện lại bước A6.
Bảng 16. Mô tả use case xóa sản phẩm
Usecase Xóa sản phẩm
ID 05
Tác nhân chính Admin, Shop Manager, Nhân viên.
Phạm vi Người quản trị đăng nhập vào website quản trị và chọn xóa sản phẩm.
Mô tả ngắn gọn Usecase này cho phép người quản trị sửa thông tin sản phẩm
Điều kiện Hệ thống ở trạng thái hoạt động và quản trị phải đăng nhập
thành công
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong danh mục “sản phẩm” chọn danh sách sản phẩm. A3. Hệ thống sẽ hiện thị form danh sách các sản phẩm. A4. Người quản trị tìm và chọn sản phẩm cần xóa.
A5. Hệ thống sẽ hỏi bạn có muốn xóa sản phẩm này không? A6. Nếu chọn OK thì hệ thống sẽ xóa sản phẩm ra khỏi danh sách.
51
Bảng 17. Mô tả use case thêm danh mục
Usecase Thêm danh mục
ID 07
Tác nhân chính Admin, Shop Manager, Nhân viên.
Phạm vi Admin, Shop Manager, Nhân viên đăng nhập vào website và chọn “Thêm danh mục”
Mô tả ngắn gọn Usecase này thực hiện khi người quản trị muốn thêm danh
mục mới vào website
Điều kiện Hệ thống đang trong trạng thái hoạt động và người quản trị
phải đăng nhập thành công.
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong “Danh mục” chọn chức năng “Thêm danh mục”. A3. Hệ thống sẽ hiện thị form thêm danh mục.
A4. Người quản trị tiến hành nhập các thông tin về danh mục và chọn “Lưu danh mục”.
A5. Hệ thống sẽ kiểm tra các thông tin mà người quản trị nhập vào. Nếu không hợp lệ thì thực hiện luồng sự kiện B1. A6. Nếu hợp lệ thì hệ thống sẽ lưu vào cơ sở dữ liệu và hiển thị danh sách danh mục.
Luồng phụ B1:
1. Hệ thống thống báo thông tin không hợp lệ. 2. Hiển thị form nhập thông tin danh mục. 3. Người quản trị thực hiện lại bước A4.
52
Bảng 18. Mô tả use case sửa danh mục
Usecase Sửa danh mục
ID 04
Tác nhân chính Admin, Shop Manager, Nhân viên.
Phạm vi Người quản trị đăng nhập vào website quản trị và chọn sửa danh mục
Mô tả ngắn gọn Usecase này cho phép người quản trị sửa thông tin danh mục
Điều kiện Hệ thống ở trạng thái hoạt động và quản trị phải đăng nhập
thành công
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong “Danh mục” chọn danh sách danh mục. A3. Hệ thống sẽ hiện thị form danh sách các danh mục. A4. Người quản trị tìm và chọn danh mục cần sửa. A5. Hệ thống sẽ hiển thị thông tin danh mục. A6. Tiến hành sửa thông tin cần thiết.
A7. Hệ thống sẽ kiểm tra các thông tin mà người quản trị đã chỉnh sửa. Nếu không hợp lệ thì thực hiện luồng sự kiện B1. A8. Nếu hợp lệ thì hệ thống sẽ lưu vào cơ sở dữ liệu và hiển thị danh sách danh mục.
Luồng phụ B1:
Hệ thống thống báo thông tin không hợp lệ. Hiển thị form nhập thông tin danh mục.
Người quản trị thực hiện lại bước A6.
Bảng 19. Mô tả use case sửa danh mục
Usecase Xóa danh mục
ID 05
Tác nhân chính Admin, Shop Manager, Nhân viên.
Phạm vi Người quản trị đăng nhập vào website quản trị và chọn xóa danh mục.
Mô tả ngắn gọn Usecase này cho phép người quản trị sửa thông tin danh mục.
Điều kiện Hệ thống ở trạng thái hoạt động và quản trị phải đăng
53
Các luồng sự kiện
A1. Đăng nhập thành công.
A2. Trong “Danh mục” chọn danh sách danh mục. A3. Hệ thống sẽ hiện thị form danh sách các danh mục. A4. Người quản trị tìm và chọn danh mục cần xóa. A5. Hệ thống sẽ hỏi bạn có muốn xóa danh mục này không?
A6. Nếu chọn OK thì hệ thống sẽ xóa danh mục ra khỏi danh sách.
A7. Nếu chọn Cancel thì sẽ huỷ thao tác xoá và quay lại danh sách.
3.5.3. Sơ đồ tuần tự
Hình 73. Sơ đồ tuần tự đăng nhập
54
Hình 76. Sơ đồ tuần tự đăng xuất
Hình 77. Sơ đồ tuần tự thêm thành viênHình 78. Sơ đồ tuần tự đăng xuất
Hình 79. Sơ đồ tuần tự thêm thành viên
55
Hình 85. Sơ đồ tuần tự thêm vào giỏ hàng
Hình 86. Sơ đồ tuần tự xem danh sách sản phẩmHình 87. Sơ đồ tuần tự thêm vào giỏ hàng
Hình 82. Sơ đồ tuần tự đặt hàng
56
Hình 88. Sơ đồ tuần tự xem danh sách sản phẩm
Hình 89. Sơ đồ tuần tự thêm sản phẩmHình 90. Sơ đồ tuần tự xem danh sách sản phẩm Hình 91. Sơ đồ tuần tự thêm sản phẩm
57
Hình 94. Sơ đồ tuần tự sửa thông tin sản phẩm
58
3.5.4. Sơ đồ lớp
Hình 97. Sơ đồ lớp (P1)
59
Hình 100. Sơ đồ lớp (P2)
60
Hình 103. Sơ đồ lớp (P3)
61
CHƯƠNG 4: THIẾT KẾ CÀI ĐẶT HỆ THỐNG
4.1. THIẾT KẾ CƠ SỞ DỮ LIỆU VÀ CÁC MỐI QUAN HỆ
Hình 106. Cơ sở dữ liệu và các mối quan hệ (P1)
Hình 107. Cơ sở dữ liệu và các mối quan hệ (P2)Hình 108. Cơ sở dữ liệu và các mối quan hệ (P1)
62
Hình 109. Cơ sở dữ liệu và các mối quan hệ (P2)
Hình 110. Cơ sở dữ liệu và các mối quan hệ (P3)Hình 111. Cơ sở dữ liệu và các mối quan hệ (P2)
63
4.2. THIẾT KẾ CÁC BẢNG CƠ SỞ DỮ LIỆU
Bảng 20. Bảng ApplicationUsers
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 Id nvarchar(128) Mã người dùng (khóa
chính)
2 FullName nvarchar(256) Tên người dùng
3 Address nvarchar(256) Địa chỉ
4 BirthDay datetime Ngày sinh
5 Email nvarchar(max) Email
6 EmailConfirmed bit Xác nhận Email
Hình 112. Cơ sở dữ liệu và các mối quan hệ (P3)
Hình 113. Trang chủHình 114. Cơ sở dữ liệu và các mối quan hệ (P3)
64
7 PasswordHash nvarchar(max) Mật khẩu mã hóa 8 SecurityStamp nvarchar(max) Bảo mật Cookie 9 PhoneNumber nvarchar(max) Số điện thoại
10 PhoneNumberConfirmed bit Xác nhận số điện thoại
11 TwoFactorEnabled bit Xác thực 2 yếu tố
12 LockoutEndDateUtc datetime Ngày khóa tài khoản
13 LockoutEnabled bit Khóa tài khoản
14 AccessFailedCount int Số lần truy cập thất bại
15 UserName nvarchar(max) Tên đăng nhập
Bảng 21. Errors
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID int id lỗi (khóa chính)
2 Message nvarchar(max) Thông báo
3 StackTrace nvarchar(max) Thông tin lỗi
4 CreatedDate datetime Ngày tạo
Bảng 22. Bảng Footers
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID nvarchar(50) Mã footer (khóa chính)
2 Content nvarchar(max) Nội dung
Bảng 23. Bảng MenuGroups
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID int Mã nhóm menu (khóa
65
2 Name nvarchar(50) Tên nhóm menu
Bảng 24. Bảng Menus
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID int Mã người dùng Identity
(khóa chính)
2 Name nvarchar(50) Tên menu
3 URL nvarchar(256) Đường dẫn
4 DisplayOrder int Thông tin hiển thị
5 GroupID int Mã nhóm menu
6 Target nvarchar(256) Đối tượng
7 Status bit Trạng thái
Bảng 25. Bảng OrderDetails
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 OrderID int Mã đơn đặt hàng (khóa
chính)
2 ProductID int Mã sản phẩm
3 Quantity int Số lượng
4 Price decimal(18,2) Giá
Bảng 26. Bảng Orders
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID nvarchar(256) Mã người dùng Identity
(khóa chính) 2 CustomerName nvarchar(256) Tên khách hàng 3 CustomerAddress nvarchar(256) Địa chỉ khách hàng
66
4 CustomerEmail nvarchar(256) Email khách hàng
5 CustomerMobile nvarchar(256) Số điện thoại khách hàng 6 CustomerMessage nvarchar(256) Thông báo khách hàng 7 PaymentMethod nvarchar(256) Phương thức thanh toán
8 CreatedDate datetime Ngày tạo
9 CreatedBy nvarchar(max) Người tạo
10 PaymentStatus nvarchar(max) Tình trạng thanh toán
11 Status bit
Bảng 27. Bảng Pages
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 ID int Mã trang (khóa chính)
2 Name nvarchar(256) Tên trang
3 Alias nvarchar(256) Tên trang không dấu
4 Content nvarchar(max) Nội dung
5 MetaKeyWord nvarchar(256) Từ khóa Seo
6 Status bit Trạng thái
7 CreatedDate datetime Ngày tạo
8 CreatedBy nvarchar(max) Người tạo