16 Bảng các đối tượng trong màn hình Chi tiết sản phẩm.. 18 Bảng các đối tượng trong màn hình quản lý thông tin cá nhân.. 23 Bảng các đối tượng trong màn hình quản lý loại sản phẩm.. 24
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Tp Hồ Chí Minh, tháng /2019
SKL 0 0 5 8 7 2
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN MINH ĐẠO
GIÁO VIÊN HƯỚNG DẪN THS
TRẦN THIÊN PHÚC
TỪ
15110282 HÒA TRÍ – 15110342
–
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO VIÊN HƯỚNG DẪN THS NGUYỄN MINH ĐẠO
KHÓA 2015 - 2019
TỪ HÒA TRÍ – 15110342 TRẦN THIÊN PHÚC – 15110282
Trang 4ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
*******
XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:
Tp Hồ Chí Minh, ngày 12 tháng 07 năm 2019 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) Họ và tên Sinh viên 1: Từ Hòa Trí MSSV 1: 15110342 Họ và tên Sinh viên 2: Trần Thiên Phúc MSSV 2: 15110282 Ngành: Công nghệ Thông tin Tên đề tài: XÂY DỰNG HỆ THỐNG WEBSITE BÁN HÀNG TRỰC TUYẾN Họ và tên Giáo viên hướng dẫn: Th.S Nguyễn Minh Đạo NHẬN XÉT 1 Về nội dung đề tài khối lượng thực hiện:
Trang 5ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
*******
XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Ngành: Công nghệ Thông tin
Tên đề tài: XÂY DỰNG HỆ THỐNG WEBSITE BÁN HÀNG TRỰC TUYẾN
Họ và tên Giáo viên phản biện: Th.S Lê Vĩnh Thịnh
NHẬN XÉT
1 Về nội dung đề tài khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:
Tp Hồ Chí Minh, ngày 12 tháng 07 năm 2019
Giáo viên phản biện
(Ký & ghi rõ họ tên)
Th.S Lê Vĩnh Thịnh
Trang 6LỜI CẢM ƠN
Để báo cáo đạt được kết quả tốt đẹp, nhóm thực hiện đề tài đã nhận được sự hỗ trợ, giúp đỡ của quý thầy cô Với tình cảm sâu sắc, cho phép nhóm thực hiện đề tài bày tỏ lòng biết ơn đến thầy cô đã hỗ trợ, tạo điều kiện tốt nhất để nhóm hoàn thành đề tài của mình
Trước hết, nhóm xin gửi lời cảm ơn Ban Giám Hiệu trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh đã tạo điều kiện, môi trường tốt nhất để nhóm có thể học tập và phát triển một cách tốt nhất
Nhóm cũng xin gửi lời cảm ơn đến Ban Chủ nhiệm khoa Công nghệ Thông tin và các thầy cô khoa Công nghệ Thông tin - trường Đại học Sư phạm Kỹ thuật thành phố
Hồ Chí Minh đã tạo môi trường học tập và làm việc chuyên nghiệp, nhiệt tình giảng dạy nhóm thực hiện đề tài nói riêng và sinh viên trong khoa Công nghệ Thông tin nói chung trong quá trình học tập và làm việc tại trường
Đặc biệt, nhóm thực hiện đề tài xin gửi lời cảm ơn sâu sắc nhất đến thầy Nguyễn Minh Đạo đã hướng dẫn, quan tâm, giúp đỡ tận tình nhóm trong thời gian thực hiện đề tài
Với điều kiện thời gian và kinh nghiệm thực tiễn của của các thành viên trong nhóm còn nhiều hạn chế nên bài báo cáo còn nhiều thiếu sót Nhóm thực hiện đề tài rất mong nhận được sự chỉ bảo, góp ý của quý thầy cô để nhóm có điều kiện bổ sung, nâng cao ý thức, phục vụ tốt hơn cho công tác thực tế sau này
Xin chân thành cảm ơn!
Trang 7ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP
Thời gian làm luận văn: Bắt đầu từ 03/03/2019 đến 30/06/2019
Chuyên ngành: Công nghệ phần mềm
Tên khóa luận: Tìm hiểu Spring, Microservices và xây dựng hệ thống website tin tức trực tuyến
Giáo viên hướng dẫn: ThS Nguyễn Minh Đạo
Nội dung thực hiện:
- Tìm hiểu về Microservices, Angular, RESTful APIs
- Áp dụng xây dựng hệ thống website tin tức trực tuyến
mô hình microservice architecture sử dụng spring framework, restfult api, jpa, postgresql
- Tìm hiểu Angular.JS xây dựng cấu trúc front-end project
Trang 8- Thiết kế giao diện client, dashboard
- Tính năng quản lý ngời dùng
28/04/2919
- Tính năng xem sản phẩm ở trang chủ
- Tính năng quản lý sản phẩm
Trang 9- Tính năng so sánh giá sản phẩm với các trang khác
02/06/2919
- Tính năng câng bằng tải
- Tính năng so sánh giá sản phẩm với các trang khác
09/06/2919
- Tính năng đặt giá mong muốn cho sản phẩm
- Tính năng thống kê doanh thu của hệ thống
16/06/2919
- Tính năng đặt giá mong muốn cho sản phẩm
- Tính năng thống kê doanh thu của hệ thống
23/06/2919
- Chỉnh sửa giao diện, fix bug
30/06/2919
- Chỉnh sửa giao diện, fix bug
Tp Hồ Chí Minh, ngày tháng năm 2019
Người viết đề cương (Ký & ghi rõ họ tên)
Ý kiến của giáo viên hướng dẫn
………
………
………
………
(Ký & ghi rõ họ tên)
Th.S Nguyễn Minh Đạo
Trang 10MỤC LỤC
MỞ ĐẦU 1
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI: 1
2 MỤC ĐÍCH CỦA ĐỀ TÀI: 2
3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU: 3
3.1 Đối tượng nghiên cứu: 3
3.2 Phạm vi nghiên cứu: 3
3.3 Phướng pháp nghiên cứu: 3
4 PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN: 3
5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC: 3
6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN: 4
NỘI DUNG 5
CHƯƠNG 1 CÁC CÔNG NGHỆ SỬ DỤNG 5
1.1 TỔNG QUAN VỀ SPRING BOOT: 5
1.1.1 Giới thiệu về Spring Framework: 5
1.1.1.1 Spring là gì? 5
1.1.1.2 Kiến trúc, các module của Spring Framework: 5
1.1.1.3 Lợi ích của Spring Framework: 7
1.1.2 Giới thiệu về Spring Boot: 7
1.1.2.1 Spring Boot là gì? 7
1.1.2.2 Một số tính năng nổi bật của Spring Boot: 7
1.2 HIBERNATE: 8
1.3 GIỚI THIỆU VỀ CẤU TRÚC MICROSERVICES: 8
1.3.1 Giới thiệu về Microservices: 8
1.3.2 Giới thiệu về API Gateway: 9
1.3.3 Chi tiết cấu trúc Microservices nhóm sử dụng trong Project: 11
1.4 TỔNG QUAN VỀ ANGULAR 5: 11
1.4.1 Angular là gì? 11
1.4.2 Cấu trúc và các thành phần cơ bản: 11
1.4.3 Module trong Angular 5: 14
CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 16
2.1 PHÂN TÍCH HIỆN TRẠNG: 16
2.2 PHÂN TÍCH YÊU CẦU: 16
2.2.1 Yêu cầu chức năng: 16
2.2.1.1 Yêu cầu chức năng nghiệp vụ: 16
2.2.1.2 Yêu cầu chức năng hệ thống: 23
2.2.2 Yêu cầu phi chức năng: 24
CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU 25
3.1 NHẬN DIỆN TÁC NHÂN VÀ CHỨC NĂNG TRONG SƠ ĐỒ USE CASE: 25
3.2 MÔ TẢ CHI TIẾT TỪNG TÁC NHÂN VÀ TỪNG CHỨC NĂNG: 26
Trang 113.2.2 Mô tả chức năng: 27
3.3 SƠ ĐỒ USE CASE: 32
3.3.1 Các sơ đồ Use case: 32
3.3.2 Đặc tả Use case: 36
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 51
4.1 THIẾT KẾ HỆ THỐNG: 51
4.1.1 Lược đồ lớp: 51
4.1.2 Lược đồ Sequence: 52
4.1.2.1 Sequence Diagram cho use case Đăng nhập: 52
4.1.2.2 Sequence Diagram cho use case Đăng ký: 52
4.1.2.3 Sequence Diagram cho use case Chỉnh sửa thông tin cá nhân: 53
4.1.2.4 Sequence Diagram cho use case Cập nhật ảnh đại diện: 53
4.1.2.5 Sequence Diagram cho use case Đổi mật khẩu: 54
4.1.2.6 Sequence Diagram cho use case Thêm sản phẩm vào giỏ hàng: 54
4.1.2.7 Sequence Diagram cho use case Xóa sản phẩm khỏi giỏ hàng: 55
4.1.2.8 Sequence Diagram cho use case Chỉnh sửa sản phẩm trong giỏ hàng: 55
4.1.2.9 Sequence Diagram cho use case Thanh toán khi nhận hàng: 55
4.1.2.10 Sequence Diagram cho use case Thanh toán Online: 56
4.1.2.11 Sequence Diagram cho use case Thêm loại sản phẩm: 57
4.1.2.12 Sequence Diagram use case Chỉnh sửa thông tin loại sản phẩm: 57
4.1.2.13 Sequence Diagram cho use case Xóa loại sản phẩm: 58
4.1.2.14 Sequence Diagram cho use case Thêm sản phẩm: 58
4.1.2.15 Sequence diagram cho use case Chỉnh sửa thông tin sản phẩm: 59
4.1.2.16 Sequence Diagram cho use case Xóa sản phẩm: 59
4.1.2.17 Sequence Diagram cho use case Chỉnh sửa quyền: 60
4.1.2.18 Sequence Diagram cho use case Thêm tài khoản: 60
4.1.2.19 Sequence Diagram cho use case Chỉnh sửa thông tin tài khoản: 61
4.1.2.20 Sequence Diagram cho use case Khóa tài khoản: 61
4.1.2.21 Sequence Diagram cho use case Kích hoạt tài khoản: 62
4.1.2.22 Sequence Diagram cho use case Tra cứu sản phẩm: 62
4.1.2.23 Sequence Diagram cho use case Mặc cả: 63
4.1.2.24 Sequence Diagram cho use case Theo dõi giá sản phẩm: 63
4.1.2.25 Sequence Diagram cho use case Thống kê: 64
4.2 THIẾT KẾ DỮ LIỆU: 65
4.2.1 Sơ đồ logic: 65
4.2.1.1 Lược đồ logic: 65
4.2.1.2 Chi tiết các bảng dữ liệu: 65
4.2.2 Sơ đồ quan hệ: 72
4.2.3 Danh sách các ràng buộc toàn vẹn trong cơ sở dữ liệu: 73
4.2.3.1 Ràng buộc khóa chính: 73
4.2.3.2 Ràng buộc khóa ngoại: 76
Trang 124.2.3.3 Ràng buộc miền giá trị: 80
4.3 THIẾT KẾ GIAO DIỆN: 82
4.3.1 Danh sách màn hình và sơ đồ chuyển đổi: 82
4.3.2 Mô tả chi tiết các màn hình: 83
4.3.2.1 Màn hình chính: 83
4.3.2.2 Màn hình Chi tiết sản phẩm: 86
4.3.2.3 Màn hình đăng nhập: 87
4.3.2.4 Màn hình quản lý thông tin cá nhân: 89
4.3.2.5 Màn hình cập nhật ảnh đại diện: 90
4.3.2.6 Màn hình đổi mật khẩu: 92
4.3.2.7 Màn hình xem danh sách hóa đơn: 94
4.3.2.8 Màn hình quản lý giỏ hàng: 96
4.3.2.9 Màn hình quản lý loại sản phẩm: 98
4.3.2.10 Màn hình thêm mới/ cập nhật loại sản phẩm: 100
4.3.2.11 Màn hình quản lý sản phẩm: 102
4.3.2.12 Màn hình thêm/ cập nhật sản phẩm: 104
4.3.2.13 Màn hình quản lý tất cả hóa đơn: 106
4.3.2.14 Màn hình quản lý tài khoản: 109
4.3.2.15 Màn hình thêm/ cập nhật tài khoản: 111
4.3.2.16 Màn hình quản lý quyền: 113
4.3.2.17 Màn hình thêm quyền/ cập nhật quyền: 115
4.3.2.18 Màn hình đăng ký: 117
4.3.2.19 Màn hình chi tiết hóa đơn: 119
4.3.2.20 Màn hình wish list: 121
4.3.2.21 Màn hình thống kê doanh thu: 123
CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ 125
5.1 CÀI ĐẶT: 125
5.2 KIỂM THỬ: 125
KẾT LUẬN 128
1 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC: 128
2 NHỮNG KHÓ KHĂN VÀ CÁCH KHẮC PHỤC KHI THỰC HIỆN ĐỀ TÀI: 128
3 ƯU ĐIỂM: 129
4 HẠN CHẾ: 129
5 KINH NGHIỆM ĐẠT ĐƯỢC: 129
6 HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI: 130
DANH MỤC TÀI LIỆU THAM KHẢO 131
PHỤ LỤC 132
Trang 13DANH MỤC CÁC HÌNH
Hình 1 1 Kiến trúc tổng thể của Spring Framework 6
Hình 1 2 Kiến trúc của Hibernate Framework 8
Hình 1 3 Ví dụ minh họa về API Gateway 10
Hình 1 4 Chi tiết cấu trúc Microserives được áp dụng trong Project 11
Hình 1 5 Sơ đồ cấu trúc Angular 12
Hình 1 6 Các thành phần cơ bản Angular 5 13
Hình 1 7 Mô tả các thành phần thuộc tính của Module 14
Hình 3 1 Use case chung của hệ thống 32
Hình 3 2 Use case Quản lý loại sản phẩm 33
Hình 3 3 Use case Quản lý quyền 33
Hình 3 4 Use case Quản lý giỏ hàng 34
Hình 3 5 Use case Quản lý sản phẩm 35
Hình 3 6 Use case Quản lý tài khoản 35
Hình 3 7 Use case Quản lý trang cá nhân 36
Hình 4 1 Sơ đồ lớp 51
Hình 4 2 Sequence diagram use case Đăng nhập 52
Hình 4 3 Sequence diagram use case Đăng ký 52
Hình 4 4 Sequence diagram use case Chỉnh sửa thông tin cá nhân 53
Hình 4 5 Sequence diagram use case Cập nhật ảnh đại diện 53
Hình 4 6 Sequence diagram use case Đổi mật khẩu 54
Hình 4 7 Sequence diagram use case Thêm sản phẩm vào giỏ hàng 54
Hình 4 8 Sequence diagram use case Xóa sản phẩm khỏi giỏ hàng 55
Hình 4 9 Sequence diagram use case Chỉnh sửa sản phẩm trong giỏ hàng 55
Hình 4 10 Sequence diagram use case Thanh toán khi nhận hàng 56
Hình 4 11 Sequence diagram use case Thanh toán Online 56
Hình 4 12 Sequence diagram use case Thêm loại sản phẩm 57
Hình 4 13 Sequence diagram use case Chỉnh sửa thông tin loại sản phẩm 57
Hình 4 14 Sequence diagram use case Xóa loại sản phẩm 58
Hình 4 15 Sequence diagram use case Thêm sản phẩm 58
Hình 4 16 Sequence diagram use case Chỉnh sửa thông tin sản phẩm 59
Hình 4 17 Sequence diagram use case Xóa sản phẩm 59
Hình 4 18 Sequence diagram use case Chỉnh sửa quyền 60
Hình 4 19 Sequence diagram use case Thêm tài khoản 60
Hình 4 20 Sequence diagram use case Chỉnh sửa thông tin tài khoản 61
Hình 4 21 Sequence diagram use case Khóa tài khoản 61
Hình 4 22 Sequence diagram use case Kích hoạt tài khoản 62
Hình 4 23 Sequence diagram use case Tra cứu sản phẩm 62
Hình 4 24 Sequence diagram cho use case Mặc cả 63
Hình 4 25 Sequence diagram cho use case Theo dõi giá sản phẩm 63
Hình 4 26 Sequence diagram cho use case Thống kê 64
Hình 4 27 Lược đồ logic 65
Hình 4 28 Sơ đồ quan hệ 72
Hình 4 29 Sơ đồ chuyển đổi màn hình 82
Trang 14Hình 4 30 Màn hình chính 83
Hình 4 31 Sơ đồ biến cố màn hình chính 85
Hình 4 32 Màn hình Chi tiết sản phẩm 86
Hình 4 33 Sơ đồ biến cố màn hình Chi tiết sản phẩm 87
Hình 4 34 Màn hình đăng nhập 88
Hình 4 35 Sơ đồ biến cố màn hình đăng nhập 88
Hình 4 36 Màn hình quản lý thông tin cá nhân 89
Hình 4 37 Sơ đồ biến cố màn hình quản lý thông tin cá nhân 90
Hình 4 38 Màn hình cập nhật ảnh đại diện 90
Hình 4 39 Sơ đồ biến cố màn hình cập nhật ảnh đại diện 92
Hình 4 40 Màn hình đổi mật khẩu 92
Hình 4 41 Sơ đồ biến cố màn hình đổi mật khẩu 94
Hình 4 42 Màn hình xem danh sách hóa đơn 94
Hình 4 43 Sơ đồ biến cố màn hình xem danh sách hóa đơn 96
Hình 4 44 Màn hình quản lý giỏ hàng 96
Hình 4 45 Sơ đồ biến cố màn hình quản lý giỏ hàng 98
Hình 4 46 Màn hình quản lý loại sản phẩm 98
Hình 4 47 Sơ đồ biến cố trong màn hình quản lý loại sản phẩm 100
Hình 4 48 Màn hình thêm mới/ cập nhật loại sản phẩm 100
Hình 4 49 Sơ đồ biến cố màn hình thêm mới/ cập nhật loại sản phẩm 102
Hình 4 50 Màn hình quản lý sản phẩm 102
Hình 4 51 Sơ đồ biến cố trong màn hình quản lý sản phẩm 104
Hình 4 52 Màn hình thêm/ cập nhật sản phẩm 104
Hình 4 53 Sơ đồ biến cố màn hình thêm/ cập nhật sản phẩm 106
Hình 4 54 Màn hình quản lý tất cả hóa đơn 106
Hình 4 55 Sơ đồ biến cố trong màn hình quản lý tất cả hóa đơn 108
Hình 4 56 Màn hình quản lý tài khoản 109
Hình 4 57 Sơ đồ biến cố màn hình quản lý tài khoản 110
Hình 4 58 Màn hình thêm/ cập nhật tài khoản 111
Hình 4 59 Sơ đồ biến cố màn hình thêm/ cập nhật tài khoản 112
Hình 4 60 Màn hình quản lý quyền 113
Hình 4 61 Sơ đồ biến cố màn hình quản lý quyền 114
Hình 4 62 Màn hình thêm/ cập nhật quyền 115
Hình 4 63 Sơ đồ biến cố màn hình thêm/ cập nhật quyền 116
Hình 4 64 Màn hình đăng ký 117
Hình 4 65 Sơ đồ biến cố màn hình đăng ký 118
Hình 4 66 Màn hình chi tiết hóa đơn 119
Hình 4 67 Sơ đồ biến cố màn hình chi tiết hóa đơn 120
Hình 4 68 Màn hình chi tiết wishlist 121
Hình 4 69 Sơ đồ biến cố màn hình wishlist 122
Hình 4 70 Màn hình thống kê doanh thu 123
Hình 4 71 Sơ đồ biến cố màn hình thống kê 124
Trang 15
DANH MỤC CÁC BẢNG
Bảng 2 1 Bảng chức năng nghiệp vụ của Thành viên 18
Bảng 2 2 Bảng chức năng nghiệp vụ của Quản trị viên 20
Bảng 2 3 Bảng chức năng nghiệp vụ của Khách 21
Bảng 2 4 Bảng yêu cầu chức năng hệ thống 23
Bảng 2 5 Bảng yêu cầu phi chức năng 24
Bảng 3 1 Danh sách tác nhân và chức năng 25
Bảng 3 2 Tác nhân và vai trò của tác nhân 26
Bảng 3 3 Mô tả chức năng 27
Bảng 3 4 Mô tả use case Đăng nhập 36
Bảng 3 5 Mô tả use case Đăng ký 37
Bảng 3 6 Mô tả use case Xem chi tiết sản phẩm 37
Bảng 3 7 Mô tả use case Xem danh sách sản phẩm 38
Bảng 3 8 Mô tả use case Xem thông tin cá nhân 38
Bảng 3 9 Mô tả use case Chỉnh sửa thông tin cá nhân 38
Bảng 3 10 Mô tả use case Xem sản phẩm ở giỏ hàng 39
Bảng 3 11 Mô tả use case Xóa sản phẩm ở giỏ hàng 39
Bảng 3 12 Mô tả use case Thêm sản phầm vào giỏ hàng 40
Bảng 3 13 Mô tả use case Chỉnh sửa số lượng sản phẩm trong giỏ hàng 40
Bảng 3 14 Mô tả use case Chỉnh sửa ảnh đại diện 40
Bảng 3 15 Mô tả use case Đổi mật khẩu 41
Bảng 3 16 Mô tả use case Xem danh sách hóa đơn đã thanh toán 41
Bảng 3 17 Mô tả use case Tra cứu sản phẩm 41
Bảng 3 18 Mô tả use case Thanh toán Online 42
Bảng 3 19 Mô tả use case Thanh toán khi nhận hàng 42
Bảng 3 20 Mô tả use case Đăng xuất 42
Bảng 3 21 Mô tả use case Xem danh sách loại sản phẩm 43
Bảng 3 22 Mô tả use case Thêm loại sản phẩm 43
Bảng 3 23 Mô tả use case Xóa loại sản phẩm 43
Bảng 3 24 Mô tả use case Chỉnh sửa loại sản phẩm 44
Bảng 3 25 Mô tả use case Thêm sản phẩm 44
Bảng 3 26 Mô tả use case Xóa sản phẩm 45
Bảng 3 27 Mô tả use case Chỉnh sửa sản phẩm 45
Bảng 3 28 Mô tả use case Thêm quyền 46
Bảng 3 29 Mô tả use case Chỉnh sửa quyền 46
Bảng 3 30 Mô tả use case Thêm tài khoản 47
Bảng 3 31 Mô tả use case Chỉnh sửa thông tin tài khoản 47
Bảng 3 32 Mô tả use case Khóa tài khoản 48
Bảng 3 33 Mô tả use case Kich hoạt tài khoản 48
Bảng 3 34 Mô tả use case Xem danh sách quyền 49
Bảng 3 35 Mô tả Use case Thống kê 49
Bảng 3 36 Mô tả Use case Mặc cả 49
Bảng 3 37 Mô tả Use case Theo dõi giá sản phẩm 50
Bảng 3 38 Mô tả Use case So sánh giá 50
Trang 16Bảng 4 1 Chi tiết bảng Loại sản phẩm 65
Bảng 4 2 Chi tiết bảng Sản phẩm 66
Bảng 4 3 Chi tiết bảng Khuyến mãi 67
Bảng 4 4 Chi tiết bảng Người dùng 68
Bảng 4 5 Chi tiết bảng Giỏ hàng 68
Bảng 4 6 Chi tiết bảng Hóa đơn 69
Bảng 4 7 Chi tiết bảng Quyền 69
Bảng 4 8 Chi tiết bảng Quyền truy cập 70
Bảng 4 9 Chi tiết bảng Chi tiết khuyến mãi 70
Bảng 4 10 Chi tiết bảng Chi tiết giỏ hàng 71
Bảng 4 11 Chi tiết bảng Chi tiết hóa đơn 71
Bảng 4 12 Chi tiết bảng User_Role 71
Bảng 4 13 Chi tiết bảng Role_Permission 71
Bảng 4 14 Chi tiết bảng User_Products 72
Bảng 4 15 Bảng các đối tượng màn hình chính 84
Bảng 4 16 Bảng các đối tượng trong màn hình Chi tiết sản phẩm 86
Bảng 4 17 Bảng các đối tượng của màn hình đăng nhập 88
Bảng 4 18 Bảng các đối tượng trong màn hình quản lý thông tin cá nhân 89
Bảng 4 19 Bảng các đối tượng trong màn hình cập nhật ảnh đại diện 91
Bảng 4 20 Bảng các đối tượng trong màn hình đổi mật khẩu 93
Bảng 4 21 Bảng các đối tượng trong màn hình xem danh sách hóa đơn 95
Bảng 4 22 Bảng các đối tượng trong màn hình quản lý giỏ hàng 97
Bảng 4 23 Bảng các đối tượng trong màn hình quản lý loại sản phẩm 99
Bảng 4 24 Bảng các đối tượng trong màn hình thêm mới/ cập nhật loại sản phẩm. 101
Bảng 4 25 Bảng các đối tượng trong màn hình quản lý sản phẩm 103
Bảng 4 26 Bảng các đối tượng trong màn hình thêm/ cập nhật sản phẩm 105
Bảng 4 27 Bảng các đối tượng trong màn hình quản lý tất cả hóa đơn 107
Bảng 4 28 Bảng các đối tượng trong màn hình quản lý tài khoản 109
Bảng 4 29 Bảng các đối tượng trong màn hình thêm/ cập nhật tài khoản 111
Bảng 4 30 Bảng các đối tượng trong màn hình quản lý quyền 113
Bảng 4 31 Bảng các đối tượng trong màn hình thêm/ cập nhật quyền 115
Bảng 4 32 Bảng các đối tượng trong màn hình đăng ký 117
Bảng 4 33 Bảng các đối tượng trong màn hình chi tiết hóa đơn 119
Bảng 4 34 Bảng các đối tượng trong màn hình chi tiết wishlist 121
Bảng 4 35 Bảng các đối tượng trong màn hình thống kê doanh thu 123
Bảng 5 1 Một số Test Case tiêu biểu nhóm đã kiểm thử 125
Trang 17DANH MỤC CÁC TỪ VIẾT TẮT
1 UI/UX : UI - Giao diện người dùng , UX - Trải nghiệm người dùng
3 Java EE : Java Platform, Enterprise Edition
13 CLI Tool : Command Line Interface Tool
15 CSDL : Cơ sở dữ liệu
Trang 18MỞ ĐẦU
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI:
Hiện nay lượng người sử dụng Internet là rất lớn, hầu hết mọi người đều tiếp cận Internet qua các trang web vì vậy Website hiện nay là một nhu cầu thiết yếu để tìm kiếm thông tin học hỏi kiến thức Không những vậy Website còn hổ trợ rất nhiều cho các hoạt động kinh tế của các doanh nghiệp lớn nhỏ như quảng bá, trưng bày sản phẩm, đưa sản phẩm đến gần với khách hàng và tạo sự thuận lợi cho việc tìm kiếm và mua hàng đối với người tiêu dùng
Nếu cửa hàng, trụ sở làm việc, văn phòng là bộ mặt của doanh nghiệp ở bên ngoài thì Website lại chính là “ cửa hàng ảo”, là bộ mặt của doanh nghiệp trên Internet Những gì khách hàng biết về bạn và tiếp xúc với công ty của bạn, tất cả đều qua Website Qua Website chắc chắn khách hàng cũng sẽ có những nhận xét riêng về công ty đó Một Website được thiết kế ấn tượng, thu hút, chất lượng chứng tỏ doanh nghiệp cũng rất chuyên nghiệp
Theo báo cáo mới đây, Việt Nam có hơn 34 triệu người dùng Internet trên tổng
số 90 triệu dân Con số này cao hơn các nước phát triển hơn như là Trung Quốc, Hồng Kông, Nhật Bản, … Nếu như trước đây công ty, doanh nghiệp của bạn chỉ bán hàng cho khách hàng tới mua trực tiếp tại cửa hàng Khách hàng ở đây thường là ở trong khu vực gần cửa hàng hoặc trong cùng thành phố Nếu doanh nghiệp có Website riêng thì bây giờ tập khách hàng của doanh nghiệp đó đã mở rộng ra rất nhiều Doanh nghiệp có thể phục vụ cho khách hàng cả nước và trên toàn thế giới nếu như bạn đủ khả năng
Trước khi mua sản phẩm, thông thường khách hàng sẽ lên mạng tìm hiểu thông tin thật đầy đủ và kĩ càng trước, sau đó họ sẽ tới cửa hàng xem xét và ra quyết định mua Họ sẽ tìm tới bạn nếu như bạn có Website trên mạng Ngoài ra, để tăng tỉ lệ tiếp cận với khách hàng, bạn nên chú trọng vào Website sẽ thu hút được một lượng khách hàng tiềm năng Bạn không cần phải đi tìm họ, chính họ sẽ tìm đến bạn và sử dụng dịch vụ của bạn Nếu như kinh doanh offline nhân viên chỉ có thể làm việc và phục vụ khách hàng trong 8 tiếng làm việc Nhưng khi có website bạn có thể phục
vụ khách hàng của mình 24/24 và không kể các ngày nghỉ lễ Với các công cụ, chức năng tự động, khách hàng sẽ được phục vụ và có thể click đặt hàng bất kì lúc nào họ
Trang 192
muốn Để có một cửa hàng được mở ra và phục vụ tốt cho khách hàng chắc chắn chúng ta sẽ mất nhiều khoản chi phí đầu tư cả về người và về của (VD: nhân viên bán hàng, nhân viên bảo vệ, bàn ghế, tủ đồ trang trí, v.v ) Nhưng khi bạn đã có một Website bạn chỉ cần đầu tư cho nó thật tốt là đủ Và chắc chắn điều này sẽ tiết kiệm hơn rất nhiều cho bạn Bạn có thể tận dụng Website để chăm sóc khách hàng sau khi bán hàng, khảo sát ý kiến khách hàng về sản phẩm, dịch vụ của mình Từ công việc chăm sóc đơn giản này bạn có thể cung cấp cho khách hàng những sản phẩm, dịch
vụ tốt hơn từ nhu cầu của khách hàng và duy trì quan hệ thân thiết với khách hàng tiềm năng của mình
Website đóng một vai trò rất quan trọng trong thời buổi công nghệ thông tin phát triển rực rỡ như ngày nay Nếu bạn chưa có Website, bạn nên đầu tư thiết kế và xây dựng Website riêng thật tốt Vì một Website tốt chắc chắn sẽ đóng góp rất nhiều cho doanh nghiệp
2 MỤC ĐÍCH CỦA ĐỀ TÀI:
Tìm hiểu tài liệu về Spring Microservices, Angular 5, PostgreSQL
Phân tích, thiết kế và xây dựng website bán hàng với một số chức năng cơ bản như sau:
Trang 203 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU:
3.1 Đối tượng nghiên cứu:
Tất cả mọi người sử dụng internet
3.2 Phạm vi nghiên cứu:
Tìm hiểu hình thức thanh toán mua hàng
Tìm hiểu các công nghệ được sử dụng trong đề tài: Spring Microservices, Angular
5
Tìm hiểu về UI/UX và cách để người dùng sử dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất khi sử dụng
Tìm hiểu và xây dựng website bán hàng phù hợp với mọi đối tượng người dùng
3.3 Phướng pháp nghiên cứu:
Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng dụng liên quan đến các công nghệ đang tìm hiểu
Phương pháp chuyên gia: Tham khảo ý kiến của Giáo viên hướng dẫn cùng các anh, chị và bạn bè có kinh nghiệm liên quan đến các vấn đề của khóa luận để tạo tính chính xác và khoa học của đề tài
Phương pháp mô hình hóa: Mô phỏng Website từ bước thiết kế cài đặt cho đến kết quả thành phẩm của Website
4 PHÂN TÍCH CÁC ỨNG DỤNG CÓ LIÊN QUAN:
Đa số các Website bán hàng đều trưng bày sản phẩm theo danh mục sản phẩm, khách hàng dễ dàng tìm kiếm sản phẩm, đều có hình thức thanh toán online và đặt hàng Tuy nhiên một số ứng dụng vẫn có các nhược điểm mà nhóm em đã tổng hợp được:
5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC:
Xây dựng Website bán hàng đơn giản dể dàng tìm kiếm, xem thông tin sản phẩm và hình thức thanh toán dễ dàng tiện lợi
Trang 214
6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN:
Đề tài hướng đến khả năng tiếp thu, nâng cao kỹ năng lập trình, nghiên cứu công nghệ mới và trên hết là đáp ứng nhu cầu của của người mua hàng và tính thương mại của doanh nghiệp trên internet
Trang 22NỘI DUNG CHƯƠNG 1 CÁC CÔNG NGHỆ SỬ DỤNG
1.1 TỔNG QUAN VỀ SPRING BOOT:
1.1.1 Giới thiệu về Spring Framework:
1.1.1.1 Spring là gì?
Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại code…
Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên)
Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lơn
Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming
Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object)
1.1.1.2 Kiến trúc, các module của Spring Framework:
Spring được chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng dụng mà ta dùng 1 trong các module đó
Trang 23Dưới đây là kiến trúc tổng thể của Spring Framework:
Hình 1 1 Kiến trúc tổng thể của Spring Framework.
Bảng 1 1 Bảng mô tả các chức năng của các module trong Spring Framework
TestNG
expression language (EL):
- Spring core, bean cung cấp tính năng IOC và Dependency Injection
- Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX
- Expression Language được mở rộng từ Expresion Language trong JSP Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic…
Trang 24AOP, Aspects and
Instrumentation
Những module này hỗ trợ cài đặt lập trình hướng khía cạnh (Aspect Oriented Programming), hỗ trợ tích hợp với
AspectJ
Transaction Những module này cung cấp khả năng giao tiếp với database
Web-Servlet… hỗ trợ việc tạo ứng dụng web
1.1.1.3 Lợi ích của Spring Framework:
Spring cho phép lập trình viên sử dụng POJOs Việc sử dụng POJOs giúp bạn không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản hơn rất nhiều Spring được tổ chức theo kiểu mô đun Số lượng các gói và các lớp khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì chúng ta cần và không cần quan tâm đến phần còn lại
Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)…
Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủ các tính năng giúp thay thế các web framework khác như Struts
1.1.2 Giới thiệu về Spring Boot:
1.1.2.1 Spring Boot là gì?
Spring Boot là một dự án phát triển bởi ngôn ngữ Java trong Spring Framework Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng
Do đó, Spring Boot giúp chúng ta có thể tiết kiệm thời gian phát triển cũng như chạy ứng dụng
1.1.2.2 Một số tính năng nổi bật của Spring Boot:
Đóng gói ứng dụng Spring dưới dạng một file JAR (stand-alone) Chúng ta có thể
dễ dàng start ứng dụng Spring chỉ với câu lệnh quen thuộc java -jar
Tối ưu công đoạn cấu hình cho ứng dụng Spring, không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML
Cung cấp một loạt các tính năng phi chức năng phổ biến cho các dự án lớn như nhúng trực tiếp web server như Tomcat, Jetty, vào ứng dụng, bảo mật, health check
Trang 25Kiến trúc Hibernate framework:
Hình 1 2 Kiến trúc của Hibernate Framework.
1.3 GIỚI THIỆU VỀ CẤU TRÚC MICROSERVICES:
1.3.1 Giới thiệu về Microservices:
Kiến trúc Microservices gồm nhiều dịch vụ nhỏ Mỗi dịch vụ nhỏ thực hiện một số các chức năng chuyên biệt như quản lý đơn hàng, quản lý khách hàng… Mỗi dịch vụ là một ứng dụng nhỏ có kiến trúc đa diện lõi là business logic kết nối ra các adapter khác nhau Một số dịch vụ nhỏ lộ đưa ra API cho dịch vụ nhỏ khác hay client gọi tới Khi vận hành, mỗi dịch vụ nhỏ được chạy trong một máy ảo hoặc Docker container
Mỗi chức năng giờ được thực thị bởi một dịch vụ nhỏ Ứng dụng web cũng có thể chia nhỏ hơn chuyên cho từng đối tượng người dùng Thiết kế giao diện cho từng đối
Trang 26tượng người dùng giúp tối ưu trải nghiệm tốt hơn, tốc độ nhanh hơn, dễ tương thích hơn trong khi chức năng tối giản hơn
Ứng dụng của người dùng cuối sẽ không được kết nối trực tiếp vào back-end services Thay vào đó có API gateway đứng giữa
Kiến trúc Microservices ảnh hưởng lớn đến quan hệ ứng dụng và cơ sở dữ liệu Thay
vì dùng chung một cơ sở dữ liệu giữa các dịch vụ, mỗi dịch vụ sẽ có cơ sở dữ liệu riêng Cách này đi ngược lại việc tập trung hóa cơ sở dữ liệu trong truyền thống
Ưu điểm:
nâng cấp, tự do chọn, nâng cấp công nghệ mới
điệp
1.3.2 Giới thiệu về API Gateway:
Cổng kết nối API là phương pháp tiếp cận tốt hơn rất nhiều Một cổng kết nối API
là một máy chủ truy xuất duy nhất vào hệ thống Nó cũng tương tự như mẫu thiết kế Facade dựa trên thiết kế hướng đối tượng Cổng kết nối API che giấu đi thông tin kiến trúc hệ thống nội bộ và nó cung cấp các API tùy chỉnh cho mỗi Client Cổng kết nối API còn có trách nhiệm xác thực, giám sát, cân bằng tải, caching, định hình yêu cầu và quản
lí thông tin, xử lí phản hồi tĩnh
Sơ đồ minh họa dưới đây cho thấy một API Gateway phù hợp trong kiến trúc ứng dụng:
Trang 27Hình 1 3 Ví dụ minh họa về API Gateway.
Cổng kết nối API làm nhiệm vụ định tuyến các yêu cầu, kết hợp và chuyển đổi các giao thức Tất cả yêu cầu từ Client đều đi qua cổng kết nối API Sau đó cổng kết nối API định tuyến các yêu cầu này tới microservice phù hợp Cổng kết nối API Gateway
sẽ xử lý một yêu cầu người dùng bằng cách gọi đến một loạt microservice rồi tổng hợp các kết quả Nó có thể chuyển đổi giữa các giao thức web như HTTP, WebSocket và các giao thức nội bộ không thân thiện với web
Cổng kết nối API cũng có thể cung cấp API tùy chỉnh cho mỗi Client Nó cung cấp API “thô” (coarse-grained) cho mobile client Cùng xem xét lại ví dụ về kịch bản trang thông tin chi tiết sản phẩm Cổng kết nối API có thể cung cấp kết nối cuối (/productdetails?productid=xxx) cho phép mobile client nhận tất cả thông tin chi tiết của sản phẩm chỉ với một lệnh yêu cầu duy nhất Cổng kết nối API xử lí lệnh yêu cầu bằng cách truy vấn đến các dịch vụ khác nhau như dịch vụ thông tin sản phẩm, dịch vụ khuyến nghị, dịch vụ đánh giá… rồi sau đó tổng hợp lại kết quả
Trang 281.3.3 Chi tiết cấu trúc Microservices nhóm sử dụng trong Project:
Hình 1 4 Chi tiết cấu trúc Microserives được áp dụng trong Project
1.4 TỔNG QUAN VỀ ANGULAR 5:
1.4.1 Angular là gì?
Angular là một Framwork mạnh mẽ được phát triển bởi Google Nó được sử dụng để xây dựng các ứng dụng tương tác với người dùng thông qua giao diện Web Angular cung cấp cho lập trình viên nền tảng công nghệ hiện đại dựa trên kiến trúc hướng dịch
vụ SOA và cho phép tích hợp với hàng loạt các nền tảng công nghệ lập trình hiện đại như Net, Java, Php …
1.4.2 Cấu trúc và các thành phần cơ bản:
Ứng dụng được xây dựng và phát triển trên nền tảng Angular 4,5 có thể được mô tả theo sơ đồ cây tổng quát sau:
Trang 29Hình 1 5 Sơ đồ cấu trúc Angular.
Trang 30Các thành phần cơ bản trong Angular 5:
Hình 1 6 Các thành phần cơ bản Angular 5.
Components: Được dịch là thành phần, nó chứa đựng các chức năng tương tác phía giao diện với người dùng Component có chứa Html, Css hoặc Scss, và các đoạn mã được viết bằng ngôn ngữ Typescrip nhằm thực hiện gắn kết (Tương tác) giữa giao diện ứng dụng và các dịch vụ (service) ở phía Server
Component sử dụng Dịch vụ (Service) để lấy dữ liệu hoặc thao tác với dữ liệu và hiển thị chúng thông qua các đoạn mã chương trình được viết bằng TypeScript
Component có thể sử dụng các đối tượng là thể hiện của dịch vụ thông qua cơ chế Dependency Injection (Thể hiện của Dependency Injecttion - DI là rất dễ hiểu, lập trình viên chỉ cần khai báo đối tượng thông qua hàm khởi tạo của lớp)
Directive được sử dụng trong template của Component nhằm để mở rộng các hành
vi của Html
Dữ liệu có thể được hiển thị tương ứng với các file html trong component Angular cung cấp cơ chế gắn kết dữ dữ liệu với giao diện (template) của component cơ chế đó được gọi là databinding Thông qua cơ chế Databinding, bất kỳ thay đổi dữ liệu trong Angular, thì giao điện tương tác sẽ tự động cập nhật các thay đổi dữ liệu đó Tương tác
về sự thay đổi dữ liệu trong Angular với phía giao diện (UI) có thể theo hướng 1 chiều hoặc 2 chiều
Trang 311.4.3 Module trong Angular 5:
1.4.3.1 Giới thiệu Module:
Angular 5 chia sự phát triển ứng dụng thành các Module khác nhau Tất cả các ứng dụng của Angular đều có 1 module gốc, module gốc được gọi là AppModule và có ít nhất một lớp NgModule
Tùy theo quy mô của ứng dụng, với ứng dụng nhỏ chỉ cần một module là đủ Tuy nhiên với các ứng dụng lớn có thể có chứa rất nhiều các Module khác nhau
Mỗi Module có chứa @ngModule Với các đặc chưng có chứa Metadata nhằm để định nghĩa các thuộc tính được sử dụng như sau:
Declarations: Khai báo các lớp View (Bao gồm Component, directive và Pipe nhằm thực hiện hiển thị thông tin do vậy người ta gọi là các lớp hiển thị (View class)
Exports: Khi chúng ta sử dụng các Component tại Module, chúng ta muốn các Component này được sử dụng tiếp ở các Module khác thì chúng ta sẽ khai báo các Component này tại mảng đối tượng trực thuộc từ khóa Export này
phải khai báo chúng tại mảng đối tượng trực thuộc từ khóa Imports
Hình sau mô tả các thành phần của Module:
Hình 1 7 Mô tả các thành phần thuộc tính của Module.
1.4.3.2 Cách phân chia ứng dụng theo Module:
Khi xây dựng ứng dụng với quy mô từ trung bình trở lên, người ta thường hay sử dụng ngôn ngữ mô hình hóa ví dụ như UML để thực hình mô hình hóa hệ thống phần
Trang 32mềm Trong ngôn ngữ UML có nhiều các biểu đồ khác nhau Để mô hình hóa chức năng của hệ thống, các kỹ sư sẽ sử dụng biểu đồ Usecase để mô hình hóa 1 chức năng hoặc một nhóm chức năng của phần mềm, Khi muốn gom nhóm các chức năng lại với nhau thì người ta sẽ sử dụng biểu đồ biểu đồ thành phần (Component Diagram – Chứa nhiều biểu đồ Usecase)
Vởi các ứng dụng được viết bằng Angular 5 chúng ta có thể ánh xạ biểu đồ thành phần sang thành các Module ứng dụng Với các SubModule tương ứng với các biểu đồ
Usecase trực thuộc biểu đồ thành phần
Trang 33CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU
2.1 PHÂN TÍCH HIỆN TRẠNG:
Hiện nay, các doanh nghiệp lớn đều muốn có riêng một Hệ thống Website để quản
lý sản phẩm, đồng thời có thể thực hiện các giao dịch mua bán Online nhằm tăng năng suất bán hàng Sau đây là mô tả chi tiết các công việc mà Hệ thống Website bán hàng
trực tuyến cần có để đáp ứng nhu cầu của các doanh nghiệp:
Lưu trữ được thông tin chi tiết của sản phẩm, thành viên, và các giao dịch mà thành
viên đã thực hiện trên hệ thống
tên
Đặt hàng (thanh toán tại nhà)
Thanh toán Online (thông qua cổng thanh toán trực tiếp Paypal)
Với “Hệ thống Website bán hàng trực tuyến” mà nhóm em xây dựng, khách hàng có thể dễ dàng tìm thấy sản phầm mà mình mong muốn, đồng thời mua sắm một cách nhanh chóng Từ đó có thể giúp các doanh nghiệp giải quyết các nổi lo về việc phổ biến sản
phẩm, nâng cao năng suất tiêu thụ
2.2 PHÂN TÍCH YÊU CẦU:
2.2.1 Yêu cầu chức năng:
2.2.1.1 Yêu cầu chức năng nghiệp vụ:
Lưu trữ: Các thông tin về:
ngày chỉnh sửa, người tạo, người chỉnh sửa
trạng, số lượng, mã loại sản phẩm, ngày khởi tạo, ngày chỉnh sửa, người tạo, người chỉnh sửa
tạo, ngày chỉnh sửa, người tạo, người chỉnh sửa
Trang 34 Người dùng: Mã người dùng, họ và tên, địa chỉ, giới tính, ngày sinh, ảnh đại diện,
số điện thoại, email, tình trạng, tên tài khoản, mã giỏ hàng, ngày khởi tạo, ngày chỉnh sửa, người tạo, người chỉnh sửa
ngày khởi tạo, ngày chỉnh sửa, người tạo, người chỉnh sửa
Trang 35Bộ phận (người thực hiện): Thành viên Mã số: TV
Bảng 2 1 Bảng chức năng nghiệp vụ của Thành viên.
Công thức liên quan
Biểu mẫu liên quan
Tổng tiền của các sản phẩm được tính như sau:
Tổng tiền = (giá các sản phẩm * số lượng các sản phẩm trong giỏ hàng * (1-
tỉ lệ giảm giá) (nếu có))
Trang 365 Xem thông tin
các sản phẩm
Tra cứu
thể chọn phương thức thanh toán tại nhà khi nhận hàng hoặc thanh toán Online qua cổng thanh toán trực tuyến Paypal
đã thanh toán dựa vào các thông tin: tên tài khoản, mã hóa đơn, tình trạng
sản phẩm
Thống kê
Trang 37Bộ phận (người thực hiện): Quản trị viên Mã số: QTV
Bảng 2 2 Bảng chức năng nghiệp vụ của Quản trị viên.
Công thức liên quan
Biểu mẫu liên quan
Trang 38doanh thu
Thống kê
Bảng 2 3 Bảng chức năng nghiệp vụ của Khách.
Công thức liên quan
Biểu mẫu liên quan
Ghi chú
các sản phẩm
Tra cứu
Trang 402.2.1.2 Yêu cầu chức năng hệ thống:
Bảng 2 4 Bảng yêu cầu chức năng hệ thống.
dụng
- Khách: Xem thôn tin các sản phẩm, tra cứu sản phẩm theo loại, tên
- Thành viên: Xem thông tin các sản phẩm, quản lý giỏ hàng cá nhân, quản lý trang
cá nhân, mặc cả, theo dõi giá sản phẩm đã mặc cả và có thể làm tất cả các công việc của Khách
- Quản trị viên: Quản lý người dùng, quản lý loại sản phẩm, quản lý sản phẩm, quản lý quyền, quản lý hóa đơn, thống kê doanh thu và có thể
sử dụng tất cả các quyền của Thành viên
Chương trình được cấp nhiều tài khoản (User) gồm các quyền: Thành viên, Quản trị viên Riêng khách không cần có tài khoản
phục hồi thông tin
- Sao lưu thông tin tất cả các thông tin của thành viên (kể
cả đã bị khóa tài khoản) và
có thể phục hồi khi cần thiết