Uploaded by huy tran

DATN 20195930 Le-Thi-Kieu-Trang

advertisement
ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG
QUẢN LÝ ĐƠN HÀNG
CHO CÔNG TY SẢN XUẤT XE ĐẠP
Lê Thị Kiều Trang
trang.ltk195930@sis.hust.edu.vn
Ngành Toán Tin
Giảng viên hướng dẫn: TS. Phạm Huyền Linh
Chữ kí của GVHD
Bộ môn:
Toán Tin
Viện:
Toán ứng dụng và Tin học
HÀ NỘI, 7/2023
ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG
QUẢN LÝ ĐƠN HÀNG
CHO CÔNG TY SẢN XUẤT XE ĐẠP
Lê Thị Kiều Trang
trang.ltk195930@is.hust.edu.vn
Ngành Toán Tin
Giảng viên hướng dẫn: TS. Phạm Huyền Linh
Chữ kí của GVHD
Bộ môn:
Toán Tin
Viện:
Toán ứng dụng và Tin học
HÀ NỘI, 7/2023
i
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
1. Mục tiêu và nội dung của đồ án
(a) Mục tiêu:
(b) Nội dung:
2. Kết quả đạt được
(a)
(b)
(c)
3. Ý thức làm việc của sinh viên:
(a)
(b)
(c)
Hà Nội, ngày 31 tháng 7 năm 2023
Giảng viên hướng dẫn
ThS. Phạm Huyền Linh
ii
Lời cảm ơn
Trong thời gian hoàn thành đồ án này, em đã nhận được rất nhiều sự quan
tâm giúp đỡ và khích lệ từ thầy cô, bạn bè và gia đình.
Em xin chân thành gửi lời cảm ơn tới các Thầy Cô tại Viện Toán ứng dụng
và Tin học. Thầy cô đã truyền đạt cho em những kiến thức và tạo điều kiện cho
em hoàn thành được đồ án này.
Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới cô Phạm Huyền Linh. Cô là người
đã trực tiếp hướng dẫn em nghiên cứu đề tài này. Cô đã định hướng và truyền
đạt những kinh nghiệm quý giá để em có thể hoàn thành đồ án một cách tốt
nhất. Cô đã cho em những lời khuyên hữu ích nhất để có thể định hướng công
việc của mình trong tương lai.
Đồ án của em không tránh khỏi những thiếu xót, em rất mong nhận được
những ý kiến đóng góp của Thầy Cô và các bạn để Đồ án ngày một hoàn thiện
hơn.
Em xin trân trọng cảm ơn!
Hà Nội, tháng 7 năm 2023
Tác giả đồ án
Lê Thị Kiều Trang
iii
Nội dung đồ án của em gồm 4 phần
1. Mở đầu.
Thực hiện tìm hiểu, tổng quan về mô hình.
2. Khảo sát hệ thống.
Khảo sát hệ thống phân tích, cụ thể.
3. Phân tích và thiết kế hệ thống.
Tập trung xác định các yêu cầu mà hệ thống cần đáp ứng. Xác định các
chức năng cần có, luồng dữ liệu và các thực thể trong hệ thống.
4. Xây dựng hệ thống phân tích dữ liệu.
(a) Xây dựng giao diện website sử dụng
(b) Xây dựng phân hệ Phân tích dữ liệu và Báo cáo để ra các Báo cáo cho
doanh nghiệp
Hà Nội, tháng 7 năm 2023
Tác giả đồ án
Lê Thị Kiều Trang
iv
Mục lục
Danh sách bảng
1
Danh sách hình vẽ
1
Chương 1. Chương MỞ ĐẦU
4
1.1
1.2
1.3
1.4
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.1.1
Vấn đề thực tế và lý do chọn đề tài . . . . . . . . . . . . .
4
1.1.2
Mục tiêu và nội dung nghiên cứu . . . . . . . . . . . . . .
5
Một số khái niệm cơ bản . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.1
Tổng quan về Web . . . . . . . . . . . . . . . . . . . . . .
5
1.2.2
Kinh doanh thông minh (Bussiness Intelligence) . . . . . . 13
Kiến trúc kho dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1
Khái niệm kho dữ liệu . . . . . . . . . . . . . . . . . . . . 16
1.3.2
Mô hình dữ liệu đa chiều . . . . . . . . . . . . . . . . . . . 18
Các công nghê sử dụng . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1
Mô hình MVC . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.2
HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.3
CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.4
JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.5
Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.6
PHP laravel . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.7
SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.8
Công cụ trực quan hóa dữ liệu Power BI . . . . . . . . . . 26
Chương 2. Chương KHẢO SÁT
2.1
29
Hệ thống hiện tại doanh nghiệp sử dụng . . . . . . . . . . . . . . 29
v
2.2
Khảo sát nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.1
Quy trình nghiệp vụ thực tế . . . . . . . . . . . . . . . . . 31
2.2.2
Quy mô bộ dữ liệu . . . . . . . . . . . . . . . . . . . . . . 35
2.2.3
Luồng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.4
Trạng thái đơn hàng . . . . . . . . . . . . . . . . . . . . . 36
2.3 Yêu cầu của hệ thống mới . . . . . . . . . . . . . . . . . . . . . . 37
Chương 3. Chương PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1
3.2
40
Phân tích và thiết kế hệ thống quản lí đơn hàng . . . . . . . . . . 40
3.1.1
Sơ đồ phân cấp chức năng . . . . . . . . . . . . . . . . . . 40
3.1.2
Sơ đồ luồng dữ liệu . . . . . . . . . . . . . . . . . . . . . . 41
3.1.3
Sơ đồ thực thể liên kết . . . . . . . . . . . . . . . . . . . . 43
3.1.4
Kiến trúc hệ thống Quản lý đơn hàng . . . . . . . . . . . . 43
3.1.5
Mô hình dữ liệu quan hệ . . . . . . . . . . . . . . . . . . . 48
3.1.6
Thiết kế giao diện hệ thống (Mockup) . . . . . . . . . . . 55
Phân tích và thiết kế phân hệ Phân tích dữ liệu và Báo cáo . . . . 57
3.2.1
Kiến trúc hệ thống Phân tích dữ liệu . . . . . . . . . . . . 57
3.2.2
Khám phá dữ liệu . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.3
Phân tích các chiều, chủ điểm phân tích . . . . . . . . . . 66
3.2.4
Kiến trúc hệ thống phân tích dữ liệu . . . . . . . . . . . . 67
3.2.5
Thiết kế cơ sở dữ liệu hệ thống OLAP . . . . . . . . . . . 67
Chương 4. Chương XÂY DỰNG HỆ THỐNG
75
4.1 Xây dựng hệ thống quản lý đơn hàng . . . . . . . . . . . . . . . . 75
4.2 Xây dựng các báo cáo dashboard . . . . . . . . . . . . . . . . . . 83
Tổng kết
94
1
Danh sách hình vẽ
1.1
Mô hình Client-Server . . . . . . . . . . . . . . . . . . . . . . . .
7
1.2
Mô hình Single-Page Application (SPA)
. . . . . . . . . . . . . .
8
1.3
Mô hình Microservices . . . . . . . . . . . . . . . . . . . . . . . .
9
1.4
Mô hình Serverless . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5
Quy trình kinh doanh thông minh . . . . . . . . . . . . . . . . . . 14
1.6 Ảnh Bussiness Intelligence . . . . . . . . . . . . . . . . . . . . . . 15
1.7 Ảnh mô tả kho dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8
Minh họa lược đồ hình sao . . . . . . . . . . . . . . . . . . . . . . 18
1.9
Minh họa lược đồ bông tuyết . . . . . . . . . . . . . . . . . . . . 19
1.10 SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.11 Ảnh mô tả Power BI . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1
Hệ thống cũ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2
Hệ thống cũ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3
Quy trình xử lí đơn hàng . . . . . . . . . . . . . . . . . . . . . . . 31
2.4
Mô hình chuỗi cửa hàng bán lẻ . . . . . . . . . . . . . . . . . . . 32
2.5
Luồng nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6
Luồng nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.7
Các trạng thái đơn hàng . . . . . . . . . . . . . . . . . . . . . . . 37
3.1
Sơ đồ phân cấp chức năng . . . . . . . . . . . . . . . . . . . . . . 40
3.2
Sơ đồ luồng dữ liệu mức ngữ cảnh . . . . . . . . . . . . . . . . . . 41
3.3
Sơ đồ luồng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2
3.4
Sơ đồ thực thể liên kết . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5
Mô hình MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6
Các lớp trong Models . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7
Các lớp trong View . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8
Các lớp trong Controllers . . . . . . . . . . . . . . . . . . . . . . . 48
3.9
Mô hình dữ liệu OLTP . . . . . . . . . . . . . . . . . . . . . . . . 54
3.10 Giao diện đăng nhập mock up . . . . . . . . . . . . . . . . . . . . 55
3.11 Giao diện đăng ký mock up . . . . . . . . . . . . . . . . . . . . . 55
3.12 Giao diện Quản lý đơn hàng mockup . . . . . . . . . . . . . . . . 56
3.13 Giao diện Phân hệ Phân tích dữ liệu và Báo cáo . . . . . . . . . . 56
3.14 Kiến trúc hệ thống phân tích dữ liệu . . . . . . . . . . . . . . . . 57
3.15 Doanh thu theo tuổi và giới tính của khách hàng . . . . . . . . . . 57
3.16 Doanh số theo tuổi và giới tính của khách hàng . . . . . . . . . . 58
3.17 Doanh thu theo thương hiệu và chủng loại . . . . . . . . . . . . . 59
3.18 Doanh số theo thương hiệu và chủng loại . . . . . . . . . . . . . . 59
3.19 Doanh thu theo thời gian . . . . . . . . . . . . . . . . . . . . . . . 60
3.20 Doanh số theo thời gian . . . . . . . . . . . . . . . . . . . . . . . 60
3.21 Doanh thu theo phương thức thanh toán . . . . . . . . . . . . . . 61
3.22 Doanh số theo theo phương thức thanh toán . . . . . . . . . . . . 62
3.23 Doanh thu theo nhân viên . . . . . . . . . . . . . . . . . . . . . . 63
3.24 Doanh số theo nhân viên . . . . . . . . . . . . . . . . . . . . . . . 64
3.25 Top 5 sản phẩm có số lượng tồn kho cao nhất . . . . . . . . . . . 64
3.26 Số lượng tồn kho theo chủng loại và hãng . . . . . . . . . . . . . . 65
3.27 Kiến trúc hệ thống phân tích dữ liệu . . . . . . . . . . . . . . . . 68
3.28 Mô hình dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.29 Mô hình dữ liệu quan hệ hệ thống OLAP . . . . . . . . . . . . . . 69
4.1
Giao diện đăng nhập . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.2
Giao diện đăng ký tài khoản . . . . . . . . . . . . . . . . . . . . . 76
4.3
Giao diện Quản lý Sản phẩm . . . . . . . . . . . . . . . . . . . . 76
3
4.4
Giao diện quản lý đơn hàng . . . . . . . . . . . . . . . . . . . . . 77
4.5
Giao diện quản lý khách hàng . . . . . . . . . . . . . . . . . . . . 77
4.6
Giao diện quản lý kho hàng . . . . . . . . . . . . . . . . . . . . . 78
4.7
Giao diện quản lý cửa hàng . . . . . . . . . . . . . . . . . . . . . 78
4.8
Giao diện quản lý danh mục sản phẩm . . . . . . . . . . . . . . . 79
4.9
Giao diện quản lý nhãn hàng . . . . . . . . . . . . . . . . . . . . 79
4.10 Giao diện quản lý nhân viên . . . . . . . . . . . . . . . . . . . . . 80
4.11 Giao diện dashboard vận hành bán hàng . . . . . . . . . . . . . . 80
4.12 Giao diện dashboard phân tích . . . . . . . . . . . . . . . . . . . . 81
4.13 Giao diện dashboard chân dung khách hàng . . . . . . . . . . . . 81
4.14 Giao diện phân quyền cho các nhóm nghiệp vụ . . . . . . . . . . . 82
4.15 Giao diện quản lý tài khoản người dùng . . . . . . . . . . . . . . 82
4.16 Danh mục các báo cáo . . . . . . . . . . . . . . . . . . . . . . . . 83
4.17 PD200 - Dasboard phân tích doanh thu . . . . . . . . . . . . . . . 84
4.18 PD200 - Dasboard phân tích doanh thu (tiếp) . . . . . . . . . . . 85
4.19 PS300 - Dasboard phân tích số lượng đơn hàng . . . . . . . . . . 86
4.20 PS100 - Dasboard phân tích số lượng sản phẩm bán . . . . . . . . 87
4.21 PS400 - Dasboard phân tích số lượng sản phẩm tổn kho
. . . . . 88
4.22 TK500 - Dasboard chân dung Khách hàng . . . . . . . . . . . . . 89
4.23 TK500 - Dasboard chân dung Khách hàng (tiếp) . . . . . . . . . . 90
4.24 VS200 - Dasboard báo cáo doanh thu theo tháng . . . . . . . . . 91
4.25 VS200 - Dasboard báo cáo doanh thu theo tháng (tiếp) . . . . . . 92
4.26 VS300 - Dasboard báo cáo số lượng đơn hàng theo tháng . . . . . 93
4
Chương 1
MỞ ĐẦU
1.1
1.1.1
Mở đầu
Vấn đề thực tế và lý do chọn đề tài
Ngày nay, nền kinh tế ngày càng phát triển, thị trường kinh doanh ngày căng
mở rộng với một kho dữ liệu lớn. Kỉ nguyên công nghệ đang phát triển như vũ
bão và trung tâm của kỉ nguyên ngày chính là dữ liệu số. Để giữ vững nền kinh
tế doanh nghiệp và phát triển hơn nữa thì việc phân tích dữ liệu ngày càng quan
trọng, hỗ trợ doanh nghiệp đưa ra các quyết định kinh doanh hiệu quả và đúng
đắn, từ đó gia tăng lợi thế về cạnh tranh trên thị trường.
Yêu cầu phân tích dữ liệu cao tuy nhiên cơ sở dữ liệu thông thường không
đáp ứng đủ. Các cơ sở dữ liệu nghiệp vụ (operational database) hoặc hệ thống
xử lí giao dịch thời gian thực (online transaction processing – OLTP) chỉ thỏa
mãn được những nghiệp vụ hang ngày và đảm bảo toàn vẹn dữ liệu, truy cập
song song và xử lí các dữ liệu nhanh.
Nền công nghệ ngày càng phát triển đòi hỏi các doanh nghiệp cần nhanh
chóng đổi mới, áp dụng công nghệ vào hệ thống kinh doanh thông minh để thuận
tiện cho việc quản lí và phân tích kinh doanh. Phân tích dữ liệu bán hàng giúp
cho doanh nghiệp có được cái nhìn bao quát và chi tiết nhất về các sản phẩm
mình đang kinh doanh, từ đó có những định hướng tốt hơn cho những phát triển
tương lai. Để giải quyết các vấn đề và yêu cầu đó, hệ thống kinh doanh thông
5
minh với một mô hình dữ liệu được chuẩn hóa cấu trúc sẽ đem lại hiệu quả cao
hơn rất nhiều. Từ đó em lựa chọn đề tài " Xây dựng hệ thống quản lí đơn
hàng cho công ty sản xuất xe đạp" làm đề tài nghiên cứu cho đồ án tốt
nghiệp của bản thân.
1.1.2
Mục tiêu và nội dung nghiên cứu
Sau khi hoàn thành đồ án phân tích dữ liệu, em sẽ hoàn thành được các mục
đích sau:
- Nắm được cái khái niệm cơ bản về Phân tích dữ liệu (Data Analysis), Trí
Tuệ kinh doanh (Business Intelligence), Phân tích kinh doanh (Business
Data Analysis) theo ngôn ngữ thực tế và mô phỏng quy trình một cách trực
quan, sinh động.
- Nắm được các khái niệm OLAP và OLTP và minh họa được trên dữ liệu
thực tế.
- Ứng dụng rõ ràng các khái niệm trên vào triển khai công việc thực tiễn.
- Làm chủ được các công cụ trực quan hóa dữ liệu Power BI cho việc Phân
tích dữ liệu.
- Phân biệt được ưu nhược điểm của các loại công cụ PowerBI, Hệ quản trị
CSDL để lựa chọn được giải pháp trong thực tế.
- Học được cách phân tích và xây dựng hệ thống, làm website
1.2
1.2.1
Một số khái niệm cơ bản
Tổng quan về Web
a) Định nghĩa
Web (World Wide Web viết tắt là WWW): là một hệ thống thông tin toàn
cầu dựa trên internet, nó cho phép người dùng truy cập và chia sẻ thông tin qua
các trình duyệt web. Web là một mạng lưới các tài liệu liên kết với nhau thông
6
qua các liên kết siêu văn bản (hyperlink). Không những thế nó còn cho phép
người dùng duyệt và tương tác với các trang web, các ứng dụng web, các tệp tin
đa phương tiện (hình ảnh, video, âm thanh), và các dịch vụ trực tuyến khác.
Web được xây dựng trên giao thức HTTP (Hypertext Transfer Protocol) để
truyền tải dữ liệu giữa máy chủ web và trình duyệt web. Mỗi trang web có một
địa chỉ duy nhất, được gọi là URL (Uniform Resource Locator), để người dùng
có thể truy cập vào nội dung cụ thể của trang web đó.
Các thành phần cơ bản của một trang web bao gồm:
- HTML (Hypertext Markup Language): Ngôn ngữ đánh dấu siêu văn bản để
xây dựng nội dung và cấu trúc của trang web.
- JavaScript: Ngôn ngữ lập trình để tạo ra các hiệu ứng tương tác và chức
năng động trên trang web.
- CSS (Cascading Style Sheets): Ngôn ngữ định dạng để định kiểu và trình
bày trang web.
Web đã thay đổi cách chúng ta tìm kiếm thông tin, giao tiếp, mua sắm và
làm việc. Nó đã trở thành một phần không thể thiếu trong đời sống hàng ngày
và đóng vai trò quan trọng trong việc kết nối mọi người trên toàn cầu.
b) Một số mô hình Web:
Mô hình Client-Server
Đây là mô hình web cơ bản nhất, trong đó máy chủ (server) cung cấp dữ liệu
và các dịch vụ cho các máy khách (client) thông qua giao thức HTTP. Khi client
gửi yêu cầu đến máy chủ và máy chủ trả về kết quả tương ứng. Mô hình này cho
phép tách biệt giữa phần giao diện người dùng (client-side) và phần xử lý dữ
liệu (server-side).
7
Hình 1.1: Mô hình Client-Server
- Máy khách (Client): Máy khách là phần giao diện người dùng của ứng dụng.
Client chịu trách nhiệm hiển thị thông tin cho người dùng và chấp nhận đầu vào
từ họ. Nó có thể là trình duyệt web, ứng dụng di động hoặc bất kỳ ứng dụng
nào tương tác trực tiếp với người dùng. Máy khách gửi yêu cầu đến máy chủ và
nhận kết quả từ máy chủ để hiển thị cho người dùng.
- Máy chủ (Server): Máy chủ là nơi lưu trữ và xử lý dữ liệu cũng như cung
cấp các dịch vụ cho máy khách. Nó có thể là một máy chủ vật lý hoặc một môi
trường đám mây. Máy chủ nhận yêu cầu từ máy khách, xử lý yêu cầu đó và trả
về kết quả tương ứng. Nó có thể thực hiện các tác vụ như xử lý dữ liệu, truy
xuất cơ sở dữ liệu, xử lý logic kinh doanh và trả về dữ liệu được yêu cầu.
Thông qua mô hình Client-Server, máy khách và máy chủ có thể hoạt động
độc lập và chia sẻ dữ liệu thông qua giao thức mạng. Mô hình này cho phép tách
biệt giao diện người dùng (client-side) và xử lý logic (server-side), điều này mang
lại nhiều lợi ích bao gồm:
- Tính mở rộng: Mô hình Client-Server cho phép mở rộng hệ thống bằng cách
thêm các máy chủ để xử lý công việc tăng lên hoặc tải cân bằng giữa các máy
8
chủ.
- Bảo mật: Máy chủ có thể thực hiện các biện pháp bảo mật để bảo vệ dữ
liệu và người dùng trước
- Tính linh hoạt: Với phân chia rõ ràng giữa client và server, ta có thể thay đổi
hoặc nâng cấp một phần của hệ thống mà không ảnh hưởng đến phần còn lại.
Mô hình Single-Page Application (SPA)
Hình 1.2: Mô hình Single-Page Application (SPA)
Trong mô hình này, tất cả các tài nguyên cần thiết (HTML, CSS, JavaScript)
được tải xuống từ máy chủ trong một lần duy nhất khi trang web được truy cập
ban đầu. Sau đó, các thay đổi và tương tác trên trang web được xử lý mà không
cần tải lại trang hoặc điều hướng mới. Điều này tạo ra một trải nghiệm tương tự
ứng dụng máy tính, với khả năng tương tác nhanh và mượt mà hơn.
Các lợi ích của mô hình SPA bao gồm:
- Tăng trải nghiệm người dùng: Với SPA, người dùng trải nghiệm một ứng
dụng tương tự như các ứng dụng máy tính với khả năng tương tác mượt mà và
thân thiện. Không có sự gián đoạn khi tải lại toàn bộ trang, điều này tạo ra trải
nghiệm liền mạch và nhanh chóng.
- Tải nhanh và tiết kiệm băng thông: Do chỉ cần tải về một lần ban đầu, SPA
giảm thiểu thời gian tải trang và tiết kiệm băng thông mạng. Chỉ cần cập nhật
dữ liệu và các thành phần cần thiết, giúp giảm tải cho máy chủ và cải thiện hiệu
9
suất.
- Phân chia rõ ràng giữa client và server: SPA cho phép tách biệt rõ ràng giữa
phần giao diện người dùng (client-side) và phần xử lý dữ liệu (server-side). Việc
này giúp tái sử dụng mã và quản lý dễ dàng hơn.
- Cải thiện UX: Với SPA, có thể tạo ra các hiệu ứng tương tác, chuyển động
mượt mà và trải nghiệm đáng chú ý khác để cung cấp trải nghiệm người dùng
tốt hơn.
Tuy nhiên, mô hình SPA cũng có nhược điểm như khả năng SEO thấp (do
không có các trang riêng biệt) và yêu cầu khả năng
Mô hình Microservices
Hình 1.3: Mô hình Microservices
Trong mô hình này, ứng dụng web được chia thành các thành phần nhỏ hơn
gọi là microservices, mỗi microservice đảm nhận một nhiệm vụ cụ thể trong ứng
dụng. Mỗi microservice có thể được phát triển và triển khai độc lập, cho phép
linh hoạt và mở rộng hệ thống. Các microservice giao tiếp với nhau thông qua
giao thức HTTP hoặc các giao thức khác.
Các đặc điểm của mô hình Microservices bao gồm:
- Phân tách chức năng: Ứng dụng được chia thành các microservices độc
10
lập nhau, mỗi microservice có một chức năng cụ thể. Ví dụ, một microservice
có thể xử lý việc đăng nhập, một microservice khác quản lý giỏ hàng, và một
microservice khác xử lý thanh toán. Sự phân tách này giúp tách biệt chức năng
và phát triển mỗi microservice một cách độc lập.
- Độc lập triển khai và mở rộng: Mỗi microservice có thể được triển khai và
mở rộng độc lập. Điều này giúp tăng tính linh hoạt và khả năng mở rộng của hệ
thống. Bạn có thể triển khai và mở rộng các microservice chỉ khi cần thiết, mà
không cần phải triển khai toàn bộ ứng dụng.
- Giao tiếp thông qua giao thức: Các microservice giao tiếp với nhau thông
qua giao thức mạng như HTTP, giao thức message queue hoặc giao thức RPC
(Remote Procedure Call). Điều này cho phép các microservice trao đổi dữ liệu và
tương tác với nhau.
- Tái sử dụng và quản lý dễ dàng: Mô hình Microservices khuyến khích việc
tái sử dụng mã nguồn và các thành phần đã phát triển. Mỗi microservice có thể
được phát triển, triển khai và quản lý độc lập, giúp dễ dàng bảo trì và nâng cấp
ứng dụng.
- Khả năng mở rộng: Với mô hình Microservices, bạn có thể mở rộng các
microservice một cách độc lập dựa trên yêu cầu và tải công việc. Chỉ cần mở
rộng các microservice cần thiết, giúp tối ưu hiệu suất và tài nguyên.
Mô hình Microservices cho phép phân chia ứng dụng thành các thành phần
nhỏ hơn, linh hoạt và dễ quản lý. Tuy nhiên, việc triển khai và quản lý nhiều
microservices cần đảm bảo khả năng kiểm soát
Mô hình Serverless
Mô hình Serverless cho phép phát triển ứng dụng web mà không cần quản lý
cơ sở hạ tầng máy chủ. Thay vì tự quản lý máy chủ, các dịch vụ đám mây như
AWS Lambda hay Azure Functions được sử dụng để chạy mã và xử lý các yêu
cầu từ người dùng. Mô hình này giúp giảm bớt công việc quản lý cơ sở hạ tầng
và tăng tính mở rộng linh hoạt.
11
Hình 1.4: Mô hình Serverless
Các đặc điểm của mô hình Serverless bao gồm:
- Không có máy chủ cần quản lý: Trong mô hình Serverless, nhà phát triển
không cần lo lắng về việc triển khai, quản lý và mở rộng máy chủ. Các nhà
cung cấp dịch vụ đám mây như AWS Lambda, Microsoft Azure Functions, hoặc
Google Cloud Functions tự động quản lý máy chủ và tài nguyên liên quan.
- Hệ thống hỗ trợ sự kiện: Mô hình Serverless dựa trên sự kiện (event-driven).
Ứng dụng được kích hoạt bởi các sự kiện như yêu cầu HTTP, thay đổi trong cơ
sở dữ liệu hoặc thông báo từ hệ thống khác. Khi có sự kiện xảy ra, ứng dụng
được khởi chạy để xử lý sự kiện đó.
- Trả phí theo sử dụng thực tế: Trong mô hình Serverless, bạn chỉ trả tiền cho
số lượng tài nguyên và thời gian thực tế mà ứng dụng sử dụng. Khi ứng dụng
không hoạt động, không có chi phí phát sinh.
- Tự động mở rộng: Các nhà cung cấp dịch vụ Serverless tự động mở rộng tài
nguyên máy chủ để đáp ứng nhu cầu tải cao và thu hẹp tài nguyên khi không
cần thiết. Điều này giúp đảm bảo hiệu suất và khả năng mở rộng của ứng dụng
12
mà không cần can thiệp của nhà phát triển.
- Tái sử dụng và tích hợp dễ dàng: Mô hình Serverless khuyến khích việc tái
sử dụng mã nguồn và tích hợp dễ dàng với các dịch vụ và công cụ khác trong hệ
sinh thái đám mây. Các nhà cung cấp dịch vụ thường cung cấp các thư vi
c) Các lớp trong kiến trúc ứng dụng Web
Trong kiến trúc sử dụng web, có thể sử dụng nhiều lớp khác nhau để tổ chức
và phân tách các thành phần của ứng dụng. Dưới đây là một số lớp phổ biến
thường được sử dụng trong kiến trúc web:
Presentation Layer (Lớp Trình bày)
Lớp này chịu trách nhiệm hiển thị thông tin cho người dùng và tương tác
với họ. Nó bao gồm các thành phần giao diện người dùng như HTML, CSS,
JavaScript và các thư viện/framework UI như Angular, React, hoặc Vue.js. Lớp
này thường tương tác với lớp Logic Layer để nhận dữ liệu và hiển thị nó cho
người dùng.
Logic Layer (Lớp Logic)
Lớp này chứa các logic xử lý dữ liệu và điều khiển hoạt động của ứng dụng.
Nó bao gồm các thành phần như API, server-side scripting, xử lý dữ liệu và logic
kinh doanh. Lớp này tương tác với lớp Presentation Layer để nhận yêu cầu từ
người dùng và trả về kết quả tương ứng.
Data Layer (Lớp Dữ liệu)
Lớp này quản lý truy cập và lưu trữ dữ liệu. Nó bao gồm cơ sở dữ liệu
(database) và các thành phần khác như hệ thống quản lý cơ sở dữ liệu (DBMS)
và trình điều khiển (driver) để tương tác với cơ sở dữ liệu. Lớp này được sử dụng
để lưu trữ, truy vấn và cập nhật dữ liệu trong ứng dụng.
Integration Layer (Lớp tích hợp)
Lớp này được sử dụng để tích hợp các thành phần khác nhau của hệ thống,
bao gồm cả bên trong và bên ngoài ứng dụng web. Nó có thể bao gồm các thành
phần như dịch vụ web, giao thức truyền tải dữ liệu (ví dụ: REST, SOAP), các
công nghệ tích hợp (ví dụ: messaging, file system) và các lớp giao tiếp với hệ
13
thống bên ngoài.
Mỗi lớp có trách nhiệm riêng biệt và tương tác với các lớp khác để tạo nên
một kiến trúc sử dụng web hoàn chỉnh. Tuy nhiên, kiến trúc cụ thể sẽ phụ thuộc
vào yêu cầu và quy mô của ứng dụng web cũng như các công nghệ được sử dụng
trong việc phát triển.
1.2.2
Kinh doanh thông minh (Bussiness Intelligence)
a) Khái niệm:
Kinh doanh thông minh (BI): bao gồm các chiến lược và công nghệ được các
doanh nghiệp sử dụng kết hợp phân tích kinh doanh, khai thác dữ liệu, trực
quan hóa dữ liệu, công cụ và cơ sở hạ tầng dữ liệu cũng như các phương pháp
hay nhất để giúp các tổ chức đưa ra quyết định dựa trên dữ liệu nhiều hơn. Các
chức năng phổ biến của công nghệ thông minh kinh doanh bao gồm báo cáo, xử
lý phân tích trực tuyến, phân tích, phát triển bảng điều khiển, khai thác dữ liệu,
khai thác quy trình, xử lý sự kiện phức tạp, quản lý hiệu suất kinh doanh, đo
điểm chuẩn, khai thác văn bản, phân tích dự đoán và phân tích mô tả.
b) Các bước trong quy trình và hệ thống kinh doanh thông minh:
– Nguồn dữ liệu(Data Source): là cơ sở dữ liệu thô (thường là cơ sở dữ liệu
quan hệ) đến từ nhiều nguồn khác nhau. Trong tầng đầu tiên của thành phần
kiến trúc hệ thông BI, cần phải tập hợp các dữ liệu được chứa trong nhiều nguồn
trực tiếp và nguồn gián tiếp không đồng nhất về xuất xứ và loại.
– Kho dữ liệu và khối dữ liệu: là chỗ chứa trước tiên nhất cho việc phát triển
kiến trúc của hệ BI. Khối dữ liệu là các hệ thống thu thập tất cả các dữ liệu
yêu cầu bởi một phòng ban nào đó của doanh nghiệp như đánh giá, tiếp thị, cho
mục đích phân tích một vài chức năng của hệ thống BI.
– Khai thác, thăm dò dữ liệu (Data exploration): tìm kiếm thông tin được
sử dụng bởi người dùng dữ liệu để phân tích đúng từ những thông tin thu thập
được. Các kỹ thuật công cụ được sử dụng hỗ trợ cho hệ thống BI được sử dụng
như là các câu truy vấn và tạo ra các báo cáo, thống kê. Có tác dụng quyết định
14
Hình 1.5: Quy trình kinh doanh thông minh
phân tích dữ liệu, trả lời các câu hỏi và kiểm tra tính nguyên bản của dữ liệu.
– Khai phá dữ liệu (Data mining): đây là phần rất quan trọng trong hệ thống
BI, là quá trình phân loại, sắp xếp các tập hợp dữ liệu lớn để xác định các mẫu
và thiết lập các mối liên hệ nhằm giải quyết các vấn đề nhờ phân tích dữ liệu.
Nghĩa là các phần sẽ biến đổi từ dữ liệu thô, khai thác những thông tin cần thiết
để đưa ra và hỗ trợ trong việc ra quyết định. Bao gồm tri thức từ tập dữ liệu,
các kỹ thuật trích xuất thông tin, gồm cả các mô hình toán học , học máy và
các kỹ thuật của khai phá dữ liệu.
– Tối ưu hóa (Optimization): cho phép xác định giải pháp tốt nhất đến từ
tập hợp các hành động liên quan. Tập các hành động này có thể rất rộng và đôi
khi không xác định.
– Quyết định (Decisions): là việc lựa chọn và thực thi phương thức quyết định
nào đó dựa trên sự tính toán, so sánh đối chiếu của các phương thức toán học.
Tuy nhiên, mặc dù cách thức lựa chọn được thông qua do cách thức toán học,
việc quyết định theo hướng nào đó lại phụ thuộc vào người ra quyết định.
15
Hệ thống BI có thể được xem là sự kết hợp của 3 thành phần chính như sau:
Hình 1.6: Ảnh Bussiness Intelligence
- Kho dữ liệu (Data Warehouse): là cơ sở dữ liệu được thiết kế theo mô hình
Online Analytical Processing (OLAP), dữ liệu trong data warehouse chỉ có
thể đọc, không được ghi hay xóa mà chỉ được update bởi gói ETL chuyển
đổi dữ liệu từ Data Sources vào Data Warehouse.
- Khai thác dữ liệu (Data mining): là quá trình phân tích khối lượng lớn dữ
liệu để khám phá thông tin kinh doanh giúp các công ty giải quyết vấn đề,
giảm thiểu rủi ro và nắm bắt cơ hội mới. Một số tính năng chính của Data
Mining:
+ Dự đoán các mẫu dựa trên xu hướng trong dữ liệu.
+ Tập trung vào cơ sở dữ liệu lớn hơn.
+ Tạo thông tin phản hồi để phân tích, phân cụm dữ liệu trực quan.
+ Tính toán dự đoán kết quả.
- Business Analyst (Phân tích kinh Doanh): qquyết định chiến lược đối với
hoạt động kinh doanh của doanh nghiệp.Các nhiệm vụ chính của BI:
16
+ Khai thác dữ liệu (Data mining).
+ Hỗ trợ quyết định (Decision support).
+ Phân tích xử lý trực tuyến (Online analytical processing (OLAP).
+ Truy vấn và báo cáo (Query and reporting).
+ Dự đoán (Forecasting).
+ Phân tích thống kê (Statistical analysis).
Những lợi ích chính mà doanh nghiệp có thể nhận được từ các ứng dụng BI
có thể giúp các công ty đưa ra quyết định thông minh hơn, dựa trên dữ liệu bao
gồm khả năng:
• Tăng tốc và cải thiện việc ra quyết định.
• Tối ưu hóa quy trình kinh doanh nội bộ.
• Phát hiện các vấn đề kinh doanh cần được giải quyết.
• Xác định các xu hướng kinh doanh và thị trường mới nổi.
• Cách thức hoạt động của trí thông minh kinh doanh.
• Xác định các cách để tăng lợi nhuận.
• Đạt được lợi thế cạnh tranh so với các công ty đối thủ.
• Phân tích hành vi của khách hàng.
1.3
1.3.1
Kiến trúc kho dữ liệu
Khái niệm kho dữ liệu
Kho dữ liệu (DW): là kho lưu trữ điện tử của một lượng lớn thông tin của
một doanh nghiệp hoặc tổ chức. Kho dữ liệu là một thành phần quan trọng của
phân tích kinh doanh, sử dụng các kĩ thuật phân tích trên dữ liệu doanh nghiệp,
là quy trình thu thập và quản lý dữ liệu từ nhiều nguồn khác nhau để cung cấp
thông tin chi tiết có ý nghĩa về doanh nghiệp.
17
Hình 1.7: Ảnh mô tả kho dữ liệu
Kho dữ liệu thường được sử dụng để kết nối và phân tích dữ liệu kinh doanh
từ các nguồn không đồng nhất. Chúng lưu trữ dữ liệu lịch sử và hiện tại ở một
nơi duy nhất được sử dụng để tạo báo cáo phân tích cho người lao động trong
toàn doanh nghiệp. Kho dữ liệu là cốt lõi của hệ thống BI được xây dựng để
phân tích và báo cáo dữ liệu.
Một kho dữ liệu phải là một kho dữ liệu đồng nhất về ngữ nghĩa phục vụ cho
việc đưa ra quyết định, cung cấp và lưu trữ các thông tin mà doanh nghiệp cần
để đưa ra quyết định chiến lược. Một kho dữ liệu cũng thường được xem như là
một kiến trúc được xây dựng bằng cách tích hợp từ nhiều nguồn dữ liệu không
đồng nhất.
Dữ liệu có thể là: ccó cấu trúc, Bán cấu trúc và Dữ liệu phi cấu trúc.
Dữ liệu được xử lý, chuyển đổi và nhập để người dùng có thể truy cập dữ liệu
đã xử lý trong Kho dữ liệu thông qua các công cụ Business Intelligence, ứng
dụng khách SQL và bảng tính. Kho dữ liệu kết hợp thông tin đến từ các nguồn
khác nhau thành một cơ sở dữ liệu toàn diện.
Hiện nay khái niệm kho dữ liệu được phát triển rộng hơn, nó mô tả tập hợp
các công nghệ, phương pháp, kỹ thuật có thể kết hợp với nhau thực hiện các
chức năng lưu trữ, tích hợp, phân tích dữ liệu và xử lý để cung cấp thông tin cho
18
người dùng. Một kho dữ liệu thường có dung lượng rất lớn lên đến hàng trăm
GB thậm chí tính bằng đơn vị TB.
1.3.2
Mô hình dữ liệu đa chiều
OLAP (Online analytical processing) - xử lý phân tích trực tuyến là một phần
mềm tính toán cho phép người dùng trích xuất và truy vấn dữ liệu một cách
chọn lọc và dễ dàng. OLAP là dữ liệu đa chiều, điều này có nghĩa là tất cả thông
tin có thể được so sánh theo nhiều cách thức khác nhau.
OLAP cho phép bạn tìm ra xu hướng, các con số khủng hoảng và giúp chúng
ta nhìn ra bức tranh lớn. Không giống OLTP, hệ thống OLAP làm việc với lượng
rất lớn dữ liệu. Vậy nên độ ưu tiên cho tính chính xác và tính toàn vẹn của giao
dịch không đặt cao như OLTP.
Trong hệ thống OLAP kiểu quan hệ, dữ liệu đa chiều được lưu trữ dưới dạng
bảng qua nhiều hệ, tổ chức theo cấu trúc chủ yếu theo lược đồ hình sao, lược đồ
hình bông tuyết, ngoài ra còn có lược đồ ánh sao và lược đồ chòm sao.
Lược đồ ngôi sao (Star Schema)
Hình 1.8: Minh họa lược đồ hình sao
19
Lược đồ ngôi sao (Star Schema): là một kiến trúc mô hình kho dữ liệu (Data
Warehouse) mà tại đó một bảng Fact được giải thích chi tiết bằng các bảng
Dimension. Với cấu trúc này trong giống như sơ đồ một ngôi sao với bảng fact
tại trung tâm và bảng dimension tỏa ra từ nó.
Mô hình ngôi sao được sử dụng rộng rãi trong data marts. Ta có thể kết hợp
chung trong mô hình top-down. Từ đó ta sẽ phân tích mô hình 2 ngôi sao và kết
hợp chúng để tạo ra mô hình đơn giản.
Lược đồ bông tuyết (Snowflake schema)
Hình 1.9: Minh họa lược đồ bông tuyết
Lược đồ bông tuyết (Snowflake schema): Một lược đồ được gọi là lược đồ bông
tuyết nếu một hoặc nhiều bảng dimension không kết nối trực tiếp với bảng dữ
kiện mà phải kết nối thông qua các bảng dimension khác.
Lược đồ bông tuyết là dạng mở rộng của lược đồ hình sao bằng cách bổ sung
thêm các Dim. Bảng Fact giống như lược đồ hình sao, các bảng Dim được chuẩn
hoá. Các chiều có cấu trúc rõ ràng. Bảng Dim được chia thành hai chiều là chiều
chính hay chiều phụ.
20
So sánh giữa Lược đồ ngôi sao (Star Schema) và lược đồ bông tuyết
(Snowflake schema)
1.4
1.4.1
Các công nghê sử dụng
Mô hình MVC
Mô hình MVC (Model-View-Controller) là một mô hình kiến trúc phần mềm
phổ biến được sử dụng trong phát triển ứng dụng web và ứng dụng phần mềm.
Nó giúp phân chia rõ ràng các thành phần logic, giao diện người dùng và dữ liệu
trong ứng dụng.
- Mô hình Model: Model đại diện cho dữ liệu và logic xử lý dữ liệu trong ứng
21
dụng. Nó chịu trách nhiệm lưu trữ và xử lý dữ liệu từ các nguồn như cơ sở dữ
liệu, tệp tin hoặc dịch vụ web. Model cung cấp các phương thức để truy xuất,
cập nhật và xử lý dữ liệu. Nó không biết về View hoặc Controller và hoạt động
độc lập.
- Mô hình View: View là giao diện người dùng (UI) của ứng dụng. Nó chịu
trách nhiệm hiển thị dữ liệu cho người dùng và tương tác với họ. View nhận
dữ liệu từ Model và hiển thị nó theo cách thức thích hợp. Nó không chịu trách
nhiệm xử lý dữ liệu hoặc thay đổi trạng thái của ứng dụng.
- Mô hình Controller: Controller là thành phần trung gian giữa Model và View.
Nó chịu trách nhiệm xử lý các yêu cầu từ người dùng, gửi yêu cầu tương ứng
đến Model và cập nhật View dựa trên kết quả từ Model. Controller xử lý luồng
điều khiển và điều chỉnh sự tương tác giữa Model và View.
Mô hình MVC đã trở thành một tiêu chuẩn trong phát triển ứng dụng và
cung cấp một cách cấu trúc hóa dự án dễ dàng theo dõi và bảo trì.
1.4.2
HTML
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu tiêu chuẩn được
sử dụng để xây dựng các trang web. HTML định nghĩa cấu trúc và định dạng
nội dung trên trang web, bao gồm văn bản, hình ảnh, liên kết, biểu đồ, bảng,
form và nhiều thành phần khác.
HTML là một thành phần cơ bản của việc phát triển trang web và được hỗ
trợ bởi tất cả các trình duyệt web hiện đại.
1.4.3
CSS
CSS (Cascading Style Sheets) là một ngôn ngữ đánh dấu được sử dụng để mô
tả cách định dạng và trình bày nội dung trên trang web. CSS cho phép bạn thay
đổi màu sắc, kích thước, kiểu chữ, khoảng cách và vị trí của các phần tử trên
trang web.
CSS hoạt động bằng cách áp dụng các quy tắc (rules) vào các phần tử HTML
22
thông qua việc chọn các phần tử dựa trên các selector. Mỗi quy tắc bao gồm
một selector và một khối thuộc tính và giá trị.
1.4.4
JavaScript
JavaScript là một ngôn ngữ lập trình phía client được sử dụng phổ biến trong
phát triển các ứng dụng web. Nó cho phép thực hiện các tác vụ tương tác, xử lý
dữ liệu và thay đổi nội dung trên trang web một cách động.
JavaScript có thể được sử dụng để thực hiện các chức năng sau đây trong một
trang web:
- Tương tác người dùng: JavaScript cho phép xử lý sự kiện người dùng như
nhấp chuột, gõ phím và di chuyển con trỏ. Bằng cách gắn kết các hàm JavaScript
vào các sự kiện này, bạn có thể tạo ra phản hồi tương tác động từ người dùng
trên trang web.
- Thay đổi nội dung trang web: JavaScript cho phép bạn thay đổi nội dung
của các phần tử HTML. Bạn có thể thêm hoặc xóa các phần tử, thay đổi văn
bản, hình ảnh, thuộc tính và cấu trúc của trang web dựa trên hành động của
người dùng hoặc các điều kiện khác.
- Xử lý và kiểm tra dữ liệu: JavaScript cung cấp các công cụ xử lý dữ liệu
mạnh mẽ. Bạn có thể kiểm tra tính hợp lệ của dữ liệu đầu vào, tính toán giá trị,
thực hiện các phép tính, và hiển thị kết quả cho người dùng.
- Gửi và nhận dữ liệu từ máy chủ: JavaScript cho phép tương tác với máy chủ
thông qua các yêu cầu HTTP. Bạn có thể gửi yêu cầu đến máy chủ, nhận dữ
liệu trả về và cập nhật nội dung trang web dựa trên kết quả nhận được.
- Thao tác với API và dịch vụ web: JavaScript cho phép bạn tương tác với
các API và dịch vụ web bên ngoài để lấy dữ liệu hoặc thực hiện các chức năng
phức tạp. Bạn có thể tích hợp các dịch vụ bản đồ, thanh toán, xác thực người
dùng và nhiều dịch vụ khác vào trang web của mình.
23
1.4.5
Bootstrap
Bootstrap là một framework CSS phổ biến được sử dụng để phát triển các
trang web và ứng dụng web thân thiện với thiết bị di động. Nó cung cấp một bộ
công cụ và các lớp CSS đã được định dạng sẵn để tạo giao diện người dùng hấp
dẫn, đáng tin cậy và đáp ứng.
Bootstrap giúp giảm thời gian và công sức trong việc xây dựng giao diện bằng
cách cung cấp các thành phần sẵn có và kiểu CSS chuẩn. Các thành phần bao
gồm các hệ thống lưới linh hoạt, nút bấm, biểu mẫu, thẻ, menu điều hướng, tiện
ích JavaScript và nhiều hơn nữa.
Một số đặc điểm và lợi ích của Bootstrap bao gồm:
- Đáp ứng: Bootstrap hỗ trợ thiết kế đáp ứng, tức là giao diện của trang web
có thể tự động thích ứng với các kích thước màn hình khác nhau, bao gồm cả
điện thoại di động, máy tính bảng và máy tính để bàn.
- Hệ thống lưới: Bootstrap cung cấp một hệ thống lưới linh hoạt dựa trên cột,
giúp xây dựng giao diện trang web một cách dễ dàng và linh hoạt. Lưới được
chia thành 12 cột và cho phép điều chỉnh kích thước và vị trí của các phần tử
trên trang.
- Các thành phần UI: Bootstrap cung cấp một loạt các thành phần giao diện
người dùng sẵn có như nút bấm, biểu mẫu, thanh điều hướng, tiện ích thông
báo, hộp thoại modal, bảng và nhiều thành phần khác. Điều này giúp bạn xây
dựng giao diện trực quan và chuyên nghiệp nhanh chóng.
- Tùy chỉnh dễ dàng: Bootstrap cho phép tùy chỉnh thông qua việc viết CSS
tùy chỉnh hoặc sử dụng trình tạo Bootstrap để tạo ra phiên bản tùy chỉnh của
framework.
- Hỗ trợ trình duyệt đa nền tảng: Bootstrap tương thích với hầu hết các trình
duyệt phổ biến như Chrome, Firefox, Safari, Edge và Internet Explorer.
24
1.4.6
PHP laravel
PHP Laravel là một framework phát triển ứng dụng web mã nguồn mở, được
viết bằng ngôn ngữ lập trình PHP. Laravel cung cấp một cách tiếp cận dễ dàng
và hiệu quả để xây dựng các ứng dụng web phức tạp và mạnh mẽ.
Framework là một bộ các công cụ, thư viện và quy tắc được tổ chức một cách
cấu trúc nhằm hỗ trợ và giúp bạn nhanh chóng phát triển ứng dụng web. Laravel
giúp đơn giản hóa việc xây dựng ứng dụng web bằng cách cung cấp các tính
năng tiện ích, như hệ thống routing, hệ thống quản lý cơ sở dữ liệu, xác thực
người dùng, giao diện người dùng, và nhiều tính năng khác.
Các điểm nổi bật của Laravel bao gồm:
- Cú pháp đẹp và dễ đọc: Laravel sử dụng cú pháp đơn giản và dễ hiểu, giúp
cho việc viết mã trở nên dễ dàng và dễ quản lý.
- Hệ thống routing: Laravel cung cấp một hệ thống routing mạnh mẽ cho phép
bạn định nghĩa các tuyến đường (routes) cho ứng dụng của mình, giúp xác định
các hành động sẽ được thực thi khi người dùng truy cập các URL cụ thể.
- Eloquent ORM: Laravel đi kèm với Eloquent ORM, một công cụ mạnh mẽ
giúp bạn tương tác với cơ sở dữ liệu bằng cách sử dụng các đối tượng và cú pháp
dễ sử dụng thay vì sử dụng truy vấn SQL trực tiếp.
- Hỗ trợ Migration: Laravel cung cấp công cụ Migration giúp bạn duy trì và
điều chỉnh cấu trúc cơ sở dữ liệu một cách linh hoạt và dễ dàng.
Hệ thống middleware: Laravel cho phép bạn sử dụng middleware để xử lý các
yêu cầu trước khi chúng đến đích, giúp kiểm soát và bảo mật ứng dụng một cách
linh hoạt.
25
1.4.7
SQL Server
Hình 1.10: SQL Server
SQL (Structured Query Language): là một dạng ngôn ngữ truy vấn có cấu
trúc. SQL là tập hợp các câu lệnh để tương tác với cơ sở dữ liệu. Trong thực tế,
SQL là một ngôn ngữ truy vấn tiêu chuẩn, được dùng trong hầu hết các hệ quản
trị cơ sở dữ liệu như: SQL Server, MySQL, Oracle, MS Access,. . .
SQL Server hay Microsoft SQL Server: là một phần mềm được phát triển
bởi Microsoft dùng để lưu trữ, thao tác với dữ liệu theo tiêu chuẩn RDBMS
(Relational Database Management System).
SQL Server được xây dựng một cách tối ưu để có thể hoạt động trên hệ sơ
sở dữ liệu rất lớn, lên đến hàng Terabyte. Nó cung cấp cho người dùng đầy đủ
các công cụ, phục vụ việc quản lý dữ liệu đến ngôn ngữ truy vấn SQL. Điểm
mạnh của SQL Server là có thể kết hợp được với nhiều nền tảng phổ biến như
ASP.NET, C# hoặc là nó cũng có thể hoạt động độc lập.
SQL Server được cấu thành từ 7 thành phần khác nhau, mỗi thành phần
mang một chức năng riêng. Tất cả tạo nên một hệ thống SQL Server hoàn chỉnh,
đáp ứng chức năng phân tích và lưu trữ dữ liệu:
• Database Engine: Có chức năng lưu trữ dữ liệu dưới dạng table và support,
26
có thể tự điều chỉnh được.
• Integration Services: Là tập hợp các đối tượng lập trình, các công cụ đồ họa,
nhằm thực hiện các thao tác sao chép, di chuyển, chuyển đổi dữ liệu.
• Full Text Search Services: Đây là thành phần đặc biệt trong việc truy vấn
và đánh giá các chỉ mục dữ liệu văn bản được lưu trữ trong database.
• Reporting Services: Là một công cụ có chức năng tạo, quản lý và triển khai
các báo cáo cho Server và Client. Đây cũng là nền tảng đẩy xây dựng ứng
dụng báo cáo.
• Service Broker: Là môi trường lập trình tạo ra các ứng dụng.
• Notification Services: Là nền tảng phát triển và triển khai các ứng dụng soạn
và gửi thông báo. Ngoài ra, dịch vụ này cũng cung cấp tính năng gửi thông
báo đến hàng ngàn người đăng ký sử dụng trên các thiết bị khác nhau.
• Analysis Services: Là dịch vụ phân tích dữ liệu bằng kỹ thuật khai thác hình
khối đa chiều và dữ liệu có sẵn.
1.4.8
Công cụ trực quan hóa dữ liệu Power BI
a) Giới thiệu chung Power BI là một phần mềm của Microsoft ra đời năm
2011, là một công cụ hỗ trợ cho phân tích dữ liệu, xây dựng giải pháp và tự động
hóa quy trình, giúp các doanh nghiệp thúc đẩy kinh doanh.
Power BI đóng vai trò là một công cụ Kinh doanh thông minh (Business
Intelligence) có khả năng xử lý, tổ chức, phân tích và trực quan hóa dữ liệu, giúp
cho dữ liệu từ dạng thô trở thành các thông tin có giá trị hỗ trợ cho việc ra phân
tích từ đó quyết định của các công ty, tổ chức, doanh nghiệp. Sự thể hiện của
Power BI là các biểu đồ, bảng điều khiển (dashboard) không chỉ đẹp đẽ mà còn
chứa đựng nhiều thông tin có giá trị giúp diễn giải, kiểm soát tình hình kinh
doanh và dự báo cho tương lai.
b)Các thành phần của Power BI
27
Hình 1.11: Ảnh mô tả Power BI
Trong Power BI có các thành phần như sau:
- Power Query: là công cụ để làm sạch, chuyển đổi và chuẩn hóa dữ liệu, đưa
dữ liệu từ dạng thô trở thành dữ liệu hữu ích, sẵn sàng để đưa vào phân tích.
- Power Map: là công cụ trực quan hóa dữ liệu dạng 3-D có chức năng lập
bản đồ dữ liệu. Hoạt động dựa trên bản đồ của Bing, nó đã tạo ra các hình ảnh
trực quan dựa trên thông tin quốc gia, tiểu bang, thành phố và địa chỉ đường
phố hoặc vĩ độ, kinh độ.
- Power Pivot: là công cụ mô hình hóa dữ liệu có chức năng thiết lập các liên
kết và tạo ra các phép tính với các hàm data analysis expression (DAX).
- Power Question and Answer: là tính năng hỏi và đáp (Question and Answer)
trong Power BI cho phép bạn khám phá data của mình theo cách mình mong
muốn bằng những câu hỏi. Đây là cách nhanh nhất để nhận được câu trả lời từ
dữ liệu của bạn bằng ngôn ngữ tự nhiên.
- Power View: có chức năng tạo các biểu đồ trực quan, có tính tương tác với
nhau, các bộ lọc (filter, slicer) từ đó giúp ta xây dựng nên một dashboard chứa
nhiều thông tin hữu ích.
- Power BI Website (Power BI Service): là một dạng phần mềm như là dịch
vụ Software as a Service (SaaS), có vai trò như là một đám mây lưu trữ, theo
28
dõi và có thể chia sẻ báo cáo với người khác.
- Power BI Desktop: là công cụ trung tâm của kiến trúc của Power BI, có
chức năng xây dựng và phát triển các giải pháp kinh doanh thông minh và phân
tích dữ liệu.
- Power BI Mobile Apps: là phiên bản ứng dụng dành cho điện thoại, tạo nên
sự thuận tiện và linh hoạt, giúp ta có thể xem báo cáo mọi lúc mọi nơi.
29
Chương 2
KHẢO SÁT
2.1
Hệ thống hiện tại doanh nghiệp sử dụng
- Doanh nghiệp đang sử dụng công cụ Google Sheet để lữu trữ các dữ liệu và
phân tích dữ liệu bán hàng của doanh nghiệp.
- Việc bảo mật khi quản lý qua Google Sheet còn hạn chế. Dù các Sheet có
thể cho phép đặt password và phân cấp quyền truy cập dữ liệu nhưng người
quàn lý sẽ không thể phân quyền cho nhân viên xem dữ liệu hay sử dụng tính
năng nhất định. Vì vậy dẫn đến việc một nhân có thể sửa đổi hoặc xóa dữ liệu
của một nhân viên khác và bất cập là phải truy xuất vào lịch sử để xem nội
dung đã xóa ra khiến mất thời gian và kiểm soát không cao.
- Các file lưu trữ thì chưa được khoa học, tốn khá nhiều thời gian để tìm kiếm
khi cần sử dụng.
- Các báo cáo chỉ được xây dựng ở mức thống kê theo dạng bảng, chưa được
trực quan hóa bằng các biểu đồ nên doanh nghiệp sẽ kó có cái nhìn tổng quan
về thực trạng kinh doanh của công ty mình.
30
Hình 2.1: Hệ thống cũ
31
Hình 2.2: Hệ thống cũ
2.2
2.2.1
Khảo sát nghiệp vụ
Quy trình nghiệp vụ thực tế
Hình 2.3: Quy trình xử lí đơn hàng
Khái niệm về nghiệp vụ bán hàng: là quá trình mà người bán tìm hiểu,khám
phá, tạo và đáp ứng nhu cầu của người mua và từ đó và từ đó giúp cả hai bên
32
nhận được quyền lời thỏa đáng.
Các hình thức bán hàng phổ biến hiện nay:
Hình 2.4: Mô hình chuỗi cửa hàng bán lẻ
• Bán hàng trực tiếp (Direct selling): Bán hàng bằng cách gặp trực tiếp khách
hàng.
• Bán lẻ (Retail selling): Sản phẩm được bán cho thông qua kênh phân phối:
Siêu thị, shop. . .
• Đại diện bán hàng (Agency selling): Sẽ có đơn vị khác thay nhà sản xuất để
bán hàng cho người dùng.
• Bán hàng qua điện thoại (Telesales): Bán hàng thông qua hình thức gọi điện
thoại cho khách hàng.
• Bán hàng tận nhà (Door to Door selling): Nhân viên đến tận nhà của khách
hàng để tư vấn sản phẩm/dịch vụ, và bán hàng trực tiếp.
• Business to business (B2B) selling – Doanh nghiệp này bán hàng cho doanh
nghiệp khác.
33
• Business to government selling - Doanh nghiệp cung cấp giải pháp và bán
hàng cho chính phủ, nhà nước (Business to government selling)
• Bán hàng trực tiếp trên internet (Online Selling).
Quản lý đơn hàng (order management): là việc quản lý các quy trình kinh
doanh liên quan đến đơn hàng cho hàng hóa hoặc dịch vụ. Quản lí đơn hàng bắt
đầu khi khách hàng đặt hàng và kết thúc khi họ nhận được gói hoặc dịch vụ của
họ. Nó cho phép một doanh nghiệp điều phối toàn bộ quá trình thực hiện – từ
thu thập đơn hàng, tồn kho và khả năng giao hàng đến khả năng cung cấp dịch
vụ.
Quy trình đặt hàng điển hình:
- Bước 1: Nhận đơn đặt hàng
- Bước 2: Quản lý việc thực hiện đơn hàng
- Bước 3: Quản lý trải nghiệm sau bán hàng
34
Dưới đây là luồng quy trình nghiệp vụ bán hàng của công ty:
Hình 2.5: Luồng nghiệp vụ
Mô tả luồng nghiệp vụ
• Bộ phận Marketing sẽ lên kế hoạch các chiến dịch sẽ thực hiện chạy quảng
cáo trên các nền tảng
• Nhân viên bán hàng sau khi có được dữ liệu khách hàng, sẽ tư vấn sản phẩm
cho khách hàng.
• Sau khi tư vấn, nhân viên bán hàng sẽ cập nhật trạng thái khách hàng lên
hệ thống.
Trường hợp 1 : Nếu khách hàng đồng ý chốt đơn thì nhân viên sẽ tạo đơn
hàng, cập nhật trạng thái khách hàng và bàn giao cho bộ phận Điều phối
giao vận.
35
Trường hợp 2 : Nếu khách hàng không chốt đơn thì nhân viên bán hàng sẽ
cập nhật trạng thái khách hàng và chuyển thông tin sang phần chăm sóc
khách hàng
• Bộ phận điều phối giao vận tiếp nhận đơn hàng và chuyển cho bên giao vận
vẩn chuyển đến cho khách hàng.
• Phía công ty giao vận nhận được đơn hàng sẽ gửi file đối soát, nhân viên
Điều phối giao vận dựa vào mã vận đơn để theo dõi quá trình vận chuyển
đơn hàng của khách và cập nhật trạng thái lên hệ thống.
– Nếu khách nhận hàng thì cập nhật trạng thái giao hàng trên hệ thống
quản lý khách hàng là “Đã nhận hàng”
– Nếu khách hàng không nhận hàng thì nhân viên điều phối giao vận gọi
điện lại cho khách hẹn thời gian giao hàng và báo cho bên bưu cục phát
lại hàng.
– Trường hợp đã liên hệ lại với khách và phát lại hàng nhưng khách không
nhận hàng thì hủy đơn, thu hồi lại hàng từ phía bưu cục.
2.2.2
Quy mô bộ dữ liệu
Bộ dữ liệu bán hàng bao gồm: 10 bảng, một loạt các chỉ mục, ràng buộc khóa
chính và khóa ngoại:
• Gần 5000 khách hàng
• 6 cửa hàng
• 10 nhân viên bán hàng.
• Hơn 300 sản phẩm
• 9 thương hiệu
• 7 phân loại
• Gần 200 thành phố của 3 bang tại Mĩ
36
2.2.3
Luồng dữ liệu
Bộ dữ liệu chứa thông tin chi tiết về việc bán xe đạp của một công ty.
Các thông tin cơ bản:
• Thị trường: Mĩ
• Lĩnh vực kinh doanh: Bán hàng
• Thời gian: 24 tháng từ tháng 01/2016 đến 12/2018
Hình 2.6: Luồng nghiệp vụ
2.2.4
Trạng thái đơn hàng
- Sau khi được bàn giao các khách hàng đã chốt đơn hàng và đơn hàng thì bộ
phận điều phối giao vận sẽ lên đơn hàng và điều phối nhà vận chuyển có đơn
hàng.
- Khi nhà vận chuyển giao hàng cho khách, nếu khách hàng đồng ý nhận hàng
thì nhân viên điều phối giao vận sẽ cập nhập trạng thái "Đã nhận hàng". Còn
37
Hình 2.7: Các trạng thái đơn hàng
nếu khách hàng không đồng ý nhận hàng sẽ cập nhập trạng thái "Hủy đơn" và
hàng sẽ được gửi lại về kho hàng.
2.3
Yêu cầu của hệ thống mới
Yêu cầu chức năng
Em xin làm đề tài Xây dựng hệ thông quản lý đơn hàng, với những chức năng
cụ thể được đặt ra như sau:
- Quản lý tài khoản: Với chức năng này nhân viên bán hàng sẽ có thể tạo tài
khoản mới, đăng nhập để sử dụng hệ thống, thay đổi mật khẩu, đăng xuất khỏi
hệ thống. Ngoài ra, chức năng này giúp quản lí có được danh sách tài khoản,
phân quyền và cập nhật thông tin tài khoản.
- Quản lý danh mục sản phẩm và các sản phẩm: Nhà quản lý có thể quản lý,
thêm, xóa, chỉnh sửa thông tin của quản lý danh mục sản phẩm, nhãn hàng, cửa
hàng,... Trong khi đó nhân viên bán hàng chỉ có quyền thêm thống tin
- Quản lý khách hàng: Chức năng này giúp các nhân viên có thể xem được
danh sách các khách hàng mua hàng và có thể thêm mới thông tin khách hàng
nếu có khách hàng mới. Chỉ nhân viên quản lý mới có quyền sửa và xóa thông
tin
- Quản lý đơn hàng: Chức năng này cho các nhân viên xem được các đơn đặt
hàng của khách, kiểm soát được trạng thái của các đơn hàng và giá trị của mỗi
đơn hàng và có thể thêm mới thông tin đơn hàng nếu có đơn hàng mới. Chỉ nhân
viên quản lý mới có quyền sửa và xóa thông tin.
38
- Quản lí nhân viên: Chức năng này cho các nhân viên xem được các thông
tin của nhau nhằm nhân viên có thể dễ liên lạc với nhau khi cần. Chỉ có nhân
viên quản lí mới có quền thêm, sửa, xóa thông tin cùng với phân công chức vụ,
người quản lý cho nhân viên.
- Phân tích dữ liệu và báo cáo: Dùng để xem những báo cáo về tình hình kinh
doanh và quản lý các khách hàng. Chức năng cho phép tất cả nhân viên xem
được các Dashboard như: Dashboard vận hàng bán hàng, Dashboard phân tích
các dữ liệu, Dashboard phân tích khách hàng,....
Hệ thống sẽ phục vụ đối tượng chính là: Nhân viên quản lý và nhân viên bán
hàng.
- Nhân viên quản lý: Là người làm chủ hệ thống, có quyền kiểm soát mọi hoạt
động của hệ thống. Quản lý sẽ được cấp một username và password để đăng
nhập vào hệ thống thực hiện các chức năng của mình. Nếu như quá trình đăng
nhập thành công thì nhà quản lý có những chức năng sau:
+ Các chức năng cơ bản: thêm, xóa, sửa các danh mục, sản phẩm,..
+ Các chức năng Đăng nhập, tạo tài khoản mới, đổi mật khẩu, phân quyền
cho các tài khoản....
+ Sửa thông tin đơn đặt hàng nếu như khách hàng có nguyện vọng mà phải
xác thực thông tin với khách hàng.
+ Xem được phân hệ Phân tích dữ liệu và báo cáo
- Nhân viên bán hàng: Là người có thể, chỉnh sửa các thông tin về khách hàng,
đơn hàng. Người này được cấp một username và password để đăng nhập vào hệ
thống thực hiện các chức năng của mình. Nếu như quá trình đăng nhập thành
công thì nhà quản lý có những chức năng sau:
+ Các chức năng cơ bản: thêm các danh mục, sản phẩm,.. (không có quyền
sửa, xóa)
+ Các chức năng Đăng nhập, tạo tài khoản mới, đổi mật khẩu,....
+ Xem được phân hệ Phân tích dữ liệu và báo cáo
Yêu cầu về hệ thống
39
- Hệ thống cần có bố cục dễ nhìn, giao diện dễ sử dụng, màu sắc hài hòa.
- Hệ thống bảo mật tốt để đảm bảo các thông tin của khách hàng, đơn hàng,
nhân viên, cũng như danh mục sản phẩm không bị rò rỉ ra ngoài.
- Hệ thống cần dễ nâng cấp, bảo trì, sửa chữa khi cần bổ sung và cập nhật
những tính năng mới.
Yêu cầu về phân tích dữ liệu và báo cáo:
1. Độc lập với hệ thống xử lý giao dịch của công ty, chỉ có chức năng tổng hợp,
phân tích dữ liệu từ cơ sở dữ liệu của hệ thống giao dịch.
2. Phân tích được dữ liệu theo nhiều chiều, trực quan, dữ liệu chính xác và đã
được chuẩn hóa.
Hệ thống phân tích dữ liệu ra được các báo cáo sau:
- Phân tích doanh thu
- Phân tích doanh số
- Phân tích số lượng tồn kho
- Phân tích khách hàng
- Phân tích ARPO, ARPU, ARPE
40
Chương 3
PHÂN TÍCH VÀ THIẾT KẾ HỆ
THỐNG
3.1
3.1.1
Phân tích và thiết kế hệ thống quản lí đơn hàng
Sơ đồ phân cấp chức năng
Hình 3.1: Sơ đồ phân cấp chức năng
41
Từ các yêu cầu khảo sát, em xây dựng hệ thống gồm 6 chức năng chính:
- Quản trị hệ thống: quản lý tài khoản, các nhóm người dùng và phân quyền
sử dụng hệ thống
- Quản lý khách hàng: quản lý thông tin khách hàng như tên, tuổi, số điện
thoại, địa chỉ, giới tính, tuổi
- Quản lý danh mục: quản lý danh mục sản phẩm, nhãn hàng, cửa hàng,...
- Quản lý đơn hàng: quản lý các dữ liệu về đơn hàng như thông tin khách
hàng đặt, sản phẩm, số lượng, thành tiền,...
- Quản lí nhân viên: quản lí các thông tin về nhân viên bán hàng, nhân viên
quản lí như: tên, địa chỉ, số điện thoại,...
- Phân tích dữ liệu và báo cáo: quản lý các báo cáo dashboard hỗ trợ cho việc
phân tích dữ liệu bán hàng, từ đó giúp nhà quản lý có thể đưa ra được các chiến
lược kinh doanh và chăm sóc khách hàng phù hợp.
3.1.2
Sơ đồ luồng dữ liệu
Hình 3.2: Sơ đồ luồng dữ liệu mức ngữ cảnh
42
Hình 3.3: Sơ đồ luồng dữ liệu
43
3.1.3
Sơ đồ thực thể liên kết
Hình 3.4: Sơ đồ thực thể liên kết
3.1.4
Kiến trúc hệ thống Quản lý đơn hàng
Trong phạm vi đồ án này, em lựa chọn kiến trúc MVC (Model – View –
Controller) để xây dựng hệ thống Quản lý đơn hàng. Mô hình MVC chia ứng
dụng tương tác thành 3 phần:
- Model: đại diện cho dữ liệu và luật xử lý dữ liệu của ứng dụng.
- View: chịu trách nhiệm hiển thị dữ liệu từ Model và cung cấp giao diện
người dùng cho người dùng cuối.
- Controller: là thành phần trung gian giữa Model và View.
44
Hình 3.5: Mô hình MVC
Cách hoạt động của mô hình MVC như sau:
1. Người dùng sẽ tương tác với giao diện người dùng (View).
2. View sẽ thông báo về các sự kiện cho Controller.
3. Khi controller nhận sự kiện và tương tác với Model để yêu cầu hoặc cập
nhật dữ liệu.
4. Model sẽ xử lý các yêu cầu từ Controller và cung cấp dữ liệu tương ứng.
5. Controller sẽ nhận dữ liệu từ Model và cập nhật lại View.
6. View sẽ sử dụng dữ liệu mới để hiển thị thông tin mới cho người dùng.
Việc tách biệt các thành phần trong mô hình MVC giúp tăng tính linh hoạt
và dễ dàng quản lý ứng dụng khi phát triển và bảo trì. Nó cũng thúc đẩy việc tái
sử dụng mã nguồn, vì bạn có thể thay đổi giao diện người dùng hoặc cải thiện
logic xử lý mà không ảnh hưởng đến các thành phần khác trong mô hình.
45
Thiết kế chi tiết gói trong mô hình MVC:
a. Các lớp trong Models
Các lớp trong Models được xây dựng theo các bảng dữ liệu đã thiết kế, bao
gồm:
- Customer: Thông tin khách hàng
- Brand: Thông tin thương hiệu
- Staff: Thông tin nhân viên
- Categories: Thông tin danh mục sản phẩm
- Order: Thông tin đơn hàng
- Store: Thông tin cửa hàng
- Product: Thông tin sản pẩm
- Manager: Thông tin nhân viên quản lý
- Order_item: Thông tin chi tiết đơn hàng
- Stocks: Thông tin tồn kho
Hình 3.6: Các lớp trong Models
46
b. Các lớp trong View
Trong lớp view, dự theo các chức năng đã phân tích, thiết kế, em đã xây dựng
các giao diện:
- Login: giao diện đăng nhập người dùng hệ thống
- Register: giao diện đăng ký người dùng hệ thống
- Logout: giao diện sau khi đăng xuất khỏi hệ thống
- Home: giao diện trang chủ khi đăng nhập thành công
- Staff: giao diện trang thông tin nhân viên
- CreateStaff: giao diện thêm mới thông tin nhân viên
- UpdateStaff: giao diện chỉnh sửa thông tin nhân viên
- Products: giao diện trang quản lý sản phẩm
- CreateProduct: giao diện thêm mới thông tin sản phẩm
- UpdateProduct: giao diện chỉnh sửa thông tin sản phẩm
- Customers: giao diện trang quản lý khách hàng
- CreateCustomer: giao diện thêm mới khách hàng
- UpdateCustomer: giao diện chỉnh sửa thông tin khách hàng
- Orders: giao diện trang quản lý đơn hàng
- CreateOrder: giao diện thêm mới đơn hàng
- UpdateOrder: giao diện chỉnh sửa đơn hàng
- Brands: giao diện quản lý nhãn hiệu
- CreateBrand: giao diện thêm mới thông tin nhãn hiệu
- UpdateBrand: giao diện chỉnh sửa thông tin nhãn hiệu
- Store: giao diện quản lý cửa hàng
- CreareStore: giao diện thêm mới thông tin cửa hàng
- UpdateStore: giao diện chỉnh sửa thông tin cửa hàng
- Categories: giao diện quản lý danh mục sản phẩm
- CreateCategory: giao diện thêm mới thông tin danh mục sản phẩm
- UpdateCategory: giao diện chỉnh sửa thông tin danh mục sản phẩm
- Stocks: giao diện quản lý tồn kho
47
- CreateStock: giao diện thêm mới thông tin tồn kho
- UpdateStock: giao diện chỉnh sửa thông tin tồn kho
- Admin: giao diện trang admin (nhà quản lý)
Hình 3.7: Các lớp trong View
48
c. Các lớp trong Controllers
Hình 3.8: Các lớp trong Controllers
3.1.5
Mô hình dữ liệu quan hệ
Từ bộ dữ liệu bán hàng mặt hàng xe đạp của công ty đó, ta xây dựng được
mô hình dữ liệu quan hệ bao gồm các bảng như sau:
• Bảng sales_stores: Thông tin về cửa hàng. Mỗi cửa hàng có tên cửa hàng,
49
thông tin liên hệ như điện thoại và email, và địa chỉ bao gồm đường phố,
thành phố, tiểu bang và mã zip.
• Bảng sales_staffs: lưu trữ các thông tin cần thiết của nhân viên bán hàng
như họ, tên. Nó cũng chứa thông tin liên lạc như email và điện thoại.
• Bảng sales_managers: lưu trữ các thông tin cần thiết của nhân viên quản lí
như họ, tên. Nó cũng chứa thông tin liên lạc như email và điện thoại.
• Bảng production_categories: lưu trữ các danh mục của xe đạp: xe đạp trẻ
em, xe đạp thoải mái và xe đạp điện.
• Bảng production_brands: lưu trữ thông tin về xe đạp của từng thương hiệu
• Bảng production_products: lưu trữ thông tin của sản phẩm như: tên, thương
hiệu, danh mục, năm mẫu và giá niêm yết.
• Bảng sales_customers: lưu trữ thông tin của khách hàng như: tên, họ, điện
thoại, giới tính, độ tuổi, email, đường phố, thành phố, tiểu bang và mã zip.
• Bảng sales_orders: lưu trữ thông tin tiêu đề của đơn đặt hàng
• Bảng sales_order_items: lưu trữ các chi tiết đơn hàng của một đơn hàng
bán hàng
• Bảng production_stocks: lưu trữ thông tin tồn kho, tức là số lượng của một
sản phẩm cụ thể trong một cửa hàng cụ thể.
50
Thông tin cụ thể về các bảng:
Tên bảng
Tên trường
Kiểu dữ liệu
Mô tả
Production_stocks
store_id
Float
Mã cửa hàng
product_id
Nvarchar (255)
Mã sản phẩm
Quantity
Int
Số lượng
product_id
Int
Mã số sản phẩm
product_name
Nvarchar (255)
Tên sản phẩm
brand_id
Int
Mã số nhãn hiệu
category_id
Int
Mã số loại sản phẩm
model_year
Nvarchar (255)
Năm sản xuất
list_price
Int
Tổng tiền sản phẩm
brand_id
Int
Mã số nhãn hiệu
brand_name
Nvarchar (255)
Tên nhãn hiệu
category_id
Float
Mã số loại sản phẩm
categoty_name
Nvarchar (255)
Tên loại sản phẩm
orders_id
Float
Mã đơn đặt hàng
order_status
Int
Trạng thái đơn hàng
payment
Nvarchar (255)
Phương thức thanh
Production_products
Production_brands
Production_categories
Sales_orders
toán
order_size
Nvarchar (25)
Kích thước sản
phẩm
total_bill
Nvarchar (255)
Tổng giá trị đơn
hàng
store_id
Nvarchar (255)
Mã số cửa hàng
51
Sales_order_items
Sales_customers
staff_id
Nvarchar (255)
Mã số nhân viên
customer_id
Nvarchar (255)
Mã số khách hàng
order_date
Nvarchar (255)
Thời gian đặt hàng
orders_id
Float
Mã đơn đặt hàng
item_id
Nvarchar (255)
Mã mục sản phẩm
quantity
Nvarchar (255)
Số lượng sản phẩm
product_id
Nvarchar (25)
Mã sản phẩm
list_price
Nvarchar (255)
Giá trị sản phẩm
discount
Nvarchar (255)
Phần trăm giảm giá
customer_id
Int
Mã khách hàng
first_name
Nvarchar (255)
Tên họ khách hàng
last_name
Nvarchar (255)
Tên khách hàng
age
Nvarchar (255)
Tuổi khách hàng
gender
Nvarchar (255)
Giới tính khách
hàng
dependents
Nvarchar (255)
Bảo hộ của khách
hàng
phone
Nvarchar (255)
Số điện thoại khách
hàng
email
Nvarchar (255)
Tên hòm thư của
khách hàng
streets
Nvarchar (255)
Tên đường
city
Nvarchar (255)
Tên thành phố
state
Nvarchar (255)
Tên bang
zip_code
Nvarchar (255)
Mã bưu chính
52
Sales_staffs
staff_id
Int
Mã số nhân viên
bán hàng
first_name
Nvarchar (255)
Tên họ nhân viên
bán hàng
last_name
Nvarchar (255)
Tên nhân viên bán
hàng
phone
Nvarchar (255)
Số điện thoại nhân
viên bán hàng
email
Nvarchar (255)
Tên hòm thư của
nhân viên bán hàng
active
Nvarchar (255)
Đánh giá tốt
store_id
Nvarchar (255)
Mã số cửa hàng
manager_id
Nvarchar (255)
Mã số nhân viên
quản lí
Sales_managers
managers_id
Int
Mã số nhân viên
quản lí
first_name
Nvarchar (255)
Tên họ nhân viên
quản lí
last_name
Nvarchar (255)
Tên nhân viên quản
lí
phone
Nvarchar (255)
Số điện thoại nhân
viên quản lí
email
Nvarchar (255)
Tên hòm thư của
nhân viên quản lí
active_status
Nvarchar (255)
Trạng thái đánh giá
tốt
53
Sales_stores
store_id
Nvarchar (255)
Mã số cửa hàng
store_id
Int
Mã cửa hàng
store_name
Nvarchar (255)
Tên cửa hàng
phone
Nvarchar (255)
Số điện thoại cửa
hàng
email
Nvarchar (255)
Tên hòm thư của
cửa hàng
streets
Nvarchar (255)
Tên đường
city
Nvarchar (255)
Tên thành phố
state
Nvarchar (255)
Tên bang
zip_code
Nvarchar (255)
Mã bưu chính
54
Hình 3.9: Mô hình dữ liệu OLTP
55
3.1.6
Thiết kế giao diện hệ thống (Mockup)
Hình 3.10: Giao diện đăng nhập mock up
Hình 3.11: Giao diện đăng ký mock up
Giao diện Quản lý đơn hàng mockup
56
Hình 3.12: Giao diện Quản lý đơn hàng mockup
Giao diện Phân hệ Phân tích dữ liệu và Báo cáo
Hình 3.13: Giao diện Phân hệ Phân tích dữ liệu và Báo cáo
57
3.2
3.2.1
Phân tích và thiết kế phân hệ Phân tích dữ liệu và
Báo cáo
Kiến trúc hệ thống Phân tích dữ liệu
Hình 3.14: Kiến trúc hệ thống phân tích dữ liệu
3.2.2
Khám phá dữ liệu
Bộ dữ liệu em sử dụng để phân tích trong báo cáo này, em đã khám phá dữ
liệu theo một số chiều chính như sản phẩm, nhân viên, cửa hàng...theo tổng tiền
và tổng số lượng của từng chiều đó. Công cụ trực quan hóa dữ liệu là Power Bi.
Dưới đây là khám phá tổng quan về bộ dữ liệu theo các chiều phân tích chính:
Khám phá dữ liệu theo tuổi và giới tính khách hàng:
Hình 3.15: Doanh thu theo tuổi và giới tính của khách hàng
58
Hình 3.16: Doanh số theo tuổi và giới tính của khách hàng
Về doanh thu và số lượng sản phẩm bán theo đối tượng khách hàng, hay cụ
thể tại đây là tuổi tác và giới tính, cho ta thấy bức tranh về phân khúc khách
hàng khá rõ ràng, chia làm 4 phần:
• Phần cao hơn vượt trội: khách hàng ở độ tuổi 16 với tỉ lệ giới tính gần bằng
nhau.
• Phần cao bình thường: bao gồm nhóm khách hàng từ 17 cho tới 29 tuổi.
• Phần trung bình: kéo dài từ phân khúc từ 34 cho tới 59 tuổi với tỉ lệ giới
tính không chênh lệch nhiều.
• Phần thấp: từ 30 tới 33 và 60 cho tới 70 tuổi với tỉ lệ giới tính không chênh
lệch nhiều.
Giữa các phân vùng như trên thì mức độ chênh lệch nội bộ là không nhiều,
tuy nhiên vẫn có sự khác nhau giữa doanh thu và số lượng sản phẩm ví dụ như
đối tượng khách hàng 22 tuổi.
59
Khám phá dữ liệu theo thương hiệu và chủng loại:
Hình 3.17: Doanh thu theo thương hiệu và chủng loại
• Dẫn đầu doanh thu là hãng Trek với doanh thu gần 3 triệu, sau đó xếp thứ
2 là Electra và các hãng còn lại giảm dần cho tới Ritchey và Strider là mang
lại doanh thu ít nhất. Từ đây có thể thấy được 3 phân khúc chính đó là trên
2 triệu, trên dưới 1 triệu, và trừ 500 nghìn đô la trở xuống.
Hình 3.18: Doanh số theo thương hiệu và chủng loại
• Trái ngược lại với bên trên, doanh thu theo nhãn hàng, thì số lượng sản
phẩm bán của Electra lại cao hơn gần 100 sản phẩm so với Trek, các vị trí
tiếp theo cũng không có gì thay đổi. Vượt trội nhất chỉ có 2 nhãn hàng,
60
nhưng điều này có ta thấy đôi lúc bán được nhiều sản phẩm nhất lại chưa
chắc mang lại nhiều doanh thu nhất.
• Đặc biệt là số lượng chênh lệch không nhiều, nhưng doanh thu lại hơn kém
nhau tới 4 lần.
Khám phá dữ liệu theo thời gian:
Hình 3.19: Doanh thu theo thời gian
Hình 3.20: Doanh số theo thời gian
61
Ta có thể thấy được lượng sản phẩm bán và doanh thu cũng được phân chia
rõ ràng thành 2 giai đoạn chính:
• Giai đoạn 1: từ quý 1 năm 2016 cho tới quý 2 năm 2018, lượng sản phẩm
bán ổn định từ 100 cho tới 200, thấp nhất là hơn 100 sản phẩm vào quý 2
năm 2018. Doanh thu tăng nhẹ từ đầu năm 2016 tới hết quý 1 năm 2018.
• Giai đoạn 2: Giống như thể là giai đoạn tụt dốc, thoái trào, số lượng đơn
đặt hàng và doanh thu giảm rất mạnh, nguồn thu ít và số lượng sản phẩm
bán ra nhỏ giọt từ quý 3 năm 2018 tới quý 4 năm 2018. Điều này có thể bắt
nguồn từ chất lượng sản phẩm, dịch vụ bán hàng có vấn đề, cửa hàng có
thể đã tạm đóng cửa điều tra, nâng cấp hoặc tu sửa, hoặc cũng có thể thị
trường, khách hàng thay đổi, cần thêm dữ liệu để đánh giá sâu hơn.
Khám phá dữ liệu theo phương thức thanh toán:
Hình 3.21: Doanh thu theo phương thức thanh toán
• Về doanh thu và số đơn đặt hàng theo hình thức thanh toán ta có thể thấy
sự tuyến tính giữa hai yếu tố chính đó. Cả số lượng đơn và doanh thu theo 3
62
Hình 3.22: Doanh số theo theo phương thức thanh toán
phương thức thanh toán chính là tiền mặt (cash), thẻ tín dụng (credit card)
và ví điện tử (e-wallet) đều gần tương đương nhau, chênh nhau không nhiều,
xấp xỉ 33% mỗi loại.
• Vậy thói quen người dùng chi trả cho đơn hàng vẫn chưa phân rõ ranh giới,
cụ thể ở đây là tính tiện dụng của các phương thức thanh toán không- tiền
mặt chưa nổi bật, và tiền mặt vẫn còn khá được thường xuyên sử dụng.
63
Khám phá dữ liệu theo nhân viên:
Hình 3.23: Doanh thu theo nhân viên
• Tại doanh thu và lượng đơn hàng của nhân viên, phẩn ánh được hầu hết
năng suất làm việc của nhân viên bán hàng tại các cửa hàng.
• Chiếm xấp xỉ 1/3 tỉ trọng của cả doanh thu và lượng đơn hàng ta có 2 nhân
viên đó là Venita và Marceine, năng suất bán hàng rất cao so với các nhân
viên còn lại, đem lại nguồn doanh thu chủ chốt.
• Còn lại các vị trí nhân viên còn lại thì chênh lệch nhau từ 0-5%, chia nhau
33% còn lại. Tuy nhiên có tới 4 nhân viên chiếm 0% tỉ trọng, điều này là
điều khá bất thường và cần xem xét nguyên nhân và có biện pháp xử lý kịp
thời.
Khám phá dữ liệu theo số lượng tồn kho:
• Sản phẩm có số lượng tồn kho cao nhất là Trek XM700-Lowstep-2018 với
gần 100 sản phẩm, tiếp sau đó 4 sản phẩm còn lại chênh lệch không lớn
64
Hình 3.24: Doanh số theo nhân viên
Hình 3.25: Top 5 sản phẩm có số lượng tồn kho cao nhất
65
Hình 3.26: Số lượng tồn kho theo chủng loại và hãng
• Electric Bikes là chủng loại snar phẩm có số lượng tồn kho cao nhất với hơn
200 sản phẩm, Crulsers Bkycles và Comfort Bkycles với số lượng tồn kho
gần 100 sản phẩm mỗi loại
66
3.2.3
Phân tích các chiều, chủ điểm phân tích
a. Các chiều phân tích
Các chiều (Dimentions): Cung cấp các thông tin, ngữ cảnh cho bản fact
(muốn truy cập số liệu datawarehouse thì phải thống qua các dimentions
này, có quy mô nhỏ hơn Fact
Trong kho dữ liệu, các dim là tập hợp thông tin tham chiếu về một sự kiện
có thể đo lường được.
Kho dữ liệu tổ chức các thuộc tính mô tả dưới dạng các cột trong bảng dim.
Nhiều Dim chứa một hệ thống phân cấp các thuộc tính hỗ trợ việc khoan
lên và xuống.
Dimension được sử dụng trong các lược đồ hình sao và bông tuyết trong
kho dữ liệu, khối OLAP và các ứng dụng phân tích kinh doanh (BI) và kinh
doanh (BA).
Đối với bộ dữ liệu sử dụng trong báo cáo này, em đã phân tích thành các
Dim sau:
Tên bảng
Mô tả
Dim Address
Dim địa chỉ. Bao gồm hơn 200 Thành phố thuộc 3 Bang của
Mĩ
Dim Brands
Dim thương hiệu. Bao gồm mã số và tên các nhãn hiệu
Dim Categories
Dim phân loại sản phẩm. Bao gồm mã số và tên phân loại sản
phẩm
Dim staff
Dim nhân viên bán hàng. Bao gồm Tên nhân viên, số điện
thoại, địa chỉ,...
Dim Customers
Dim khách hàng. Bao gồm thông tin của khách hàng: Mã số,
tên, số điện thoại, email, địa chỉ, mã bưu chính
Dim Managers
Dim Nhân viên quản lí. Bao gồm thông tin của nhân viên
quản lí: Mã số, tên, số điện thoại, email, địa chỉ
67
Dim Products
Dim sản phẩm. Bao gồm thông tin sản phẩm: Mã số, tên, mã
số nhãn hiệu, mã số loại sản phẩm, năm sản xuất, số tiền
Dim Stores
Dim cửa hàng. Bao gồm thông tin các cửa hàng: Mã số, tên,
số điện thoại, email, địa chỉ, mã bưu chính
Dim Payment
Dim phương thức thanh toán. Bao gồm tên các phương thức
thanh toán.
Dim Order_size
Dim kích cỡ sản phẩm. Bao gồm thông tin kích cỡ sản phẩm
bán
Dim Model_years
Dim thế hệ sản phẩm. Bao gồm thông tin năm của thế hệ sản
phẩm
b. Các chủ điểm phân tích
Chủ điểm phân tích là trung tâm trong lược đồ hình sao của một kho dữ
liệu. Nó lưu trữ thông tin định lượng để phân tích và thường không được
chuẩn hóa, hoạt động với các chiều – dim và nó chứa dữ liệu được phân tích
và các chiều lưu trữ dữ liệu về các cách mà dữ liệu có thể được phân tích.
Vậy nên, một bảng chủ thể phân tích bao gồm hai loại cột. Cột khóa ngoại
cho phép kết hợp với các bảng thứ nguyên và cột đo lường chứa dữ liệu đang
được phân tích.
Đối với bộ dữ liệu sử dụng để phân tích trong báo cáo này, các chủ thể phân
tích chính là Fact_revenue (Doanh thu), Fact_stocks(Hàng tồn)).
3.2.4
Kiến trúc hệ thống phân tích dữ liệu
Trong mô hình này, em sử dụng kiến trúc kho dữ liệu hai tầng.
3.2.5
Thiết kế cơ sở dữ liệu hệ thống OLAP
a. Quy trình đổ dữ liệu
68
Hình 3.27: Kiến trúc hệ thống phân tích dữ liệu
Dữ liệu sau khi được đổ vào cơ sở dữ liệu OLTP thì sẽ được đổ sang Stagging,
sau đó sẽ đổ vào cơ sở dữ liệu OLAP.
Quy trình đổ dữ liệu vào các bảng Fact và Dim được thực hiện bằng các
procedure tương ứng cho mỗi bảng. Dữ liệu được đổ từ cơ sở dữ liệu OLTP sang
Satgging rồi đổ vào cơ sở dữ liệu OLAP.
b. Mô hình dữ liệu hệ thống Data Warehouse
Mô hình dữ liệu OLAP bao gồm có 3 chủ điểm phân tích (Fact) và các chiều
phân tích (Dimension) dưới đây:
Hình 3.28: Mô hình dữ liệu
69
c. Mô hình dữ liệu quan hệ
Từ bảng dữ liệu bán hàng về xe của công ty đó, ta xác định được mô hình dữ
liệu OLAP dưới đây:
Hình 3.29: Mô hình dữ liệu quan hệ hệ thống OLAP
70
Các bảng trong Cơ sở dữ liệu Data Warehouse được thiết kế như sau:
Tên bảng
Tên trường
Kiểu dữ liệu
Mô tả
Fact_revenue
revenue_id
Float
Mã đơn đặt hàng
staff_id
Nvarchar (255)
Mã số nhân viên
payment
Nvarchar (255)
Phương thức thanh
toán
quantity
Nvarchar (255)
Số lượng đơn hàng
list_price
Int
Tổng tiền sản phẩm
customer_id
Nvarchar (255)
Mã số khách hàng
product_id
Nvarchar (255)
Mã số sản phẩm
store_id
Nvarchar (255)
Mã số cửa hàng
time_id
Nvarchar (255)
Mã số thời gian
address_id
Int
Mã số Địa chỉ
total_bill
Nvarchar (255)
Tổng giá trị đơn
hàng
discount
Nvarchar (255)
Phần trăm giảm giá
order_size_id
Nvarchar (255)
Mã số kích thước
sản phẩm
model_year_id
Nvarchar (255)
Mã số thế hệ sản
phẩm
Fact_stocks
Dim_products
stock_id
Float
Mã tồn kho
product_id
Nvarchar (255)
Mã sản phẩm
store_id
Nvarchar (255)
Mã cửa hàng
Quantity
Int
Số lượng
product_id
Int
Mã số sản phẩm
product_name
Nvarchar (255)
Tên sản phẩm
71
Dim_brands
Dim_categories
Dim_customers
brand_id
Int
Mã số nhãn hiệu
category_id
Int
Mã số loại sản phẩm
model_year
Nvarchar (255)
Năm sản xuất
list_price
Int
Tổng tiền sản phẩm
brand_id
Int
Mã số nhãn hiệu
brand_name
Nvarchar (255)
Tên nhãn hiệu
category_id
Float
Mã số loại sản phẩm
categoty_name
Nvarchar (255)
Tên loại sản phẩm
customer_id
Int
Mã khách hàng
first_name
Nvarchar (255)
Tên họ khách hàng
last_name
Nvarchar (255)
Tên khách hàng
age
Nvarchar (255)
Tuổi khách hàng
gender
Nvarchar (255)
Giới tính khách
hàng
dependents
Nvarchar (255)
Bảo hộ của khách
hàng
phone
Nvarchar (255)
Số điện thoại khách
hàng
email
Nvarchar (255)
Tên hòm thư của
khách hàng
streets
Nvarchar (255)
Tên đường
city
Nvarchar (255)
Tên thành phố
state
Nvarchar (255)
Tên bang
zip_code
Nvarchar (255)
Mã bưu chính
72
Dim_staffs
staff_id
Int
Mã số nhân viên
bán hàng
first_name
Nvarchar (255)
Tên họ nhân viên
bán hàng
last_name
Nvarchar (255)
Tên nhân viên bán
hàng
phone
Nvarchar (255)
Số điện thoại nhân
viên bán hàng
email
Nvarchar (255)
Tên hòm thư của
nhân viên bán hàng
active
Nvarchar (255)
Đánh giá tốt
store_id
Nvarchar (255)
Mã số cửa hàng
manager_id
Nvarchar (255)
Mã số nhân viên
quản lí
Dim_managers
managers_id
Int
Mã số nhân viên
quản lí
first_name
Nvarchar (255)
Tên họ nhân viên
quản lí
last_name
Nvarchar (255)
Tên nhân viên quản
lí
phone
Nvarchar (255)
Số điện thoại nhân
viên quản lí
email
Nvarchar (255)
Tên hòm thư của
nhân viên quản lí
active_status
Nvarchar (255)
Trạng thái đánh giá
tốt
73
Dim_stores
store_id
Nvarchar (255)
Mã số cửa hàng
store_id
Int
Mã cửa hàng
store_name
Nvarchar (255)
Tên cửa hàng
phone
Nvarchar (255)
Số điện thoại cửa
hàng
email
Nvarchar (255)
Tên hòm thư của
cửa hàng
Dim_address
Dim_time
Dim_payment
streets
Nvarchar (255)
Tên đường
city
Nvarchar (255)
Tên thành phố
state
Nvarchar (255)
Tên bang
zip_code
Nvarchar (255)
Mã bưu chính
address_id
Float
Mã số địa chỉ
city
Nvarchar (255)
Tên thành phố
state
Nvarchar (255)
Tên bang
time_id
Int
Mã thời gian
date
Nvarchar (255)
Ngày
month
Nvarchar (255)
Tháng
year
Nvarchar (255)
Năm
payment_id
Int
Mã phương thức
thanh toán
payment
Nvarchar (255)
Phương thức thanh
toán
Dim_order_size
order_size_id
Int
Mã kích cỡ sản
phẩm
74
Dim_model_years
order_size
Nvarchar (255)
Kích cỡ sản phẩm
model_year_id
Int
Mã thế hệ sản phẩm
model_year
Nvarchar (255)
Thế hệ sản phẩm
75
Chương 4
XÂY DỰNG HỆ THỐNG
4.1
Xây dựng hệ thống quản lý đơn hàng
Giao diện đăng nhập
Hình 4.1: Giao diện đăng nhập
76
Giao diện đăng ký tài khoản
Hình 4.2: Giao diện đăng ký tài khoản
Giao diện Quản lý Sản phẩm
Hình 4.3: Giao diện Quản lý Sản phẩm
77
Giao diện quản lý đơn hàng
Hình 4.4: Giao diện quản lý đơn hàng
Giao diện quản lý khách hàng
Hình 4.5: Giao diện quản lý khách hàng
78
Giao diện quản lý kho
Hình 4.6: Giao diện quản lý kho hàng
Giao diện quản lý cửa hàng
Hình 4.7: Giao diện quản lý cửa hàng
79
Giao diện quản lý danh mục sản phẩm
Hình 4.8: Giao diện quản lý danh mục sản phẩm
Giao diện quản lý nhãn hàng
Hình 4.9: Giao diện quản lý nhãn hàng
80
Giao diện quản lý nhân viên
Hình 4.10: Giao diện quản lý nhân viên
Giao diện phân hệ Phân tích dữ liệu và Báo cáo
Hình 4.11: Giao diện dashboard vận hành bán hàng
81
Hình 4.12: Giao diện dashboard phân tích
Hình 4.13: Giao diện dashboard chân dung khách hàng
82
Giao diện quản lý tài khoản người dùng và phân quyền cho các tài
khoản
Hình 4.14: Giao diện phân quyền cho các nhóm nghiệp vụ
Hình 4.15: Giao diện quản lý tài khoản người dùng
83
4.2
Xây dựng các báo cáo dashboard
Trong báo cáo này, em đã sử dụng các loại dashboard bao gồm:
• Index
• Dashboard phân tích
• Dashboard vận hành
Index bao gồm cách đánh mã dashboard, và dashboard cho từng đối tượng:
Hình 4.16: Danh mục các báo cáo
84
Dashboard phân tích
Hình 4.17: PD200 - Dasboard phân tích doanh thu
85
Hình 4.18: PD200 - Dasboard phân tích doanh thu (tiếp)
86
Hình 4.19: PS300 - Dasboard phân tích số lượng đơn hàng
87
Hình 4.20: PS100 - Dasboard phân tích số lượng sản phẩm bán
88
Hình 4.21: PS400 - Dasboard phân tích số lượng sản phẩm tổn kho
89
Hình 4.22: TK500 - Dasboard chân dung Khách hàng
90
Hình 4.23: TK500 - Dasboard chân dung Khách hàng (tiếp)
91
Dashboard vận hành
Hình 4.24: VS200 - Dasboard báo cáo doanh thu theo tháng
92
Hình 4.25: VS200 - Dasboard báo cáo doanh thu theo tháng (tiếp)
93
Hình 4.26: VS300 - Dasboard báo cáo số lượng đơn hàng theo tháng
94
Tổng kết
Đồ án đã hoàn thành được mục tiêu đã đề ra: Xây dựng hệ thống quản lí đơn
hàng cho công ty sản xuất xe đạp
Sau khi hoàn thành đồ án, em đã đạt được những kết quả sau:
1. Trình bày được những kiến thức nền tảng cơ bản của kinh doanh thông
minh, phân tích dữ liệu và phân tích kinh doanh. Bên cạnh đó xây dựng được
kiến trúc của kho dữ liệu.
2. Xây dựng được hệ thống phân tích kinh doanh trong quản lí đơn hàng theo
mô hình OLAP.
3. Xây dựng được cách dashboard trực quan hóa dữ liệu phân tích quản lí đơn
hàng.
4. Với việc xây dựng được "Hệ thống quản lý đơn hàng", em đã hiểu được các
yêu cầu cơ bản, cấu trúc và cách xây dựng một hệ thống quản lý.
5. Sử dụng thành thạo một số công cụ trực quan hóa dữ liệu như sql, Power BI.
Tuy nhiên, bên cạnh kết quả đạt được đồ án vẫn còn một số nhược điểm cần
khắc phục:
1. Việc thu thập dữ liệu chưa đa dạng, mới chỉ từ một nguồn dữ liệu.
2. Kho dữ liệu chưa được tối ưu.
3. Hệ thống các dashboard chưa được đầy đủ, hình ảnh chưa đẹp mắt.
95
Hướng phát triển đồ án trong tương lai:
Mặc dù hệ thống xây dựng được đã đáp ứng đủ những yêu cầu đặt ra, tuy
nhiên để đem lại hiệu quả tốt hơn em sẽ tiếp tục tìm hiểu, phát triển để đề tài
được hoàn thiện hơn:
1. Mở rộng thêm dữ liệu từ nhiều hệ thống OLTP.
2. Nâng cấp, cải thiện dashboard để tối ưu việc phân tích và có giao diện đẹp
mắt hơn.
96
Tài liệu tham khảo
[1] Phạm Huyền Linh, Slides bài giảng môn Phân tích và thiết kế hệ thống, Viện
Toán ứng dụng và Tin học.
[2] Microsoft, Collect, Combine, and Transform Data Using Power Query in
Excel and Power BI, 2019.
[3] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, 2006.
[4] Office 365 Việt Nam, Hướng dẫn sử dụng Power BI.
[5] Nguyễn Danh Tú, Youtube, Học SQL cơ bản, 2014.
[6] Sawakinome, Lược đồ bông tuyết so với Lược đồ ngôi sao
[7] https://github.com
[8] Một số trang web khác trên Internet
Download