Tải bản đầy đủ (.pdf) (103 trang)

Xây Dựng Hệ Thống Quản Lý Đơn Hàng Cho Công Ty Sản Xuất Xe Đạp.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.9 MB, 103 trang )

lOMoARcPSD|38542684

ĐẠ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


Ngành Toán Tin

Giảng viên hướng dẫn: TS. Phạm Huyền Linh
Bộ môn:
Viện: Chữ kí của GVHD

Toán Tin

Toán ứng dụng và Tin học

HÀ NỘI, 7/2023

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

ĐẠ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


Ngành Toán Tin

Giảng viên hướng dẫn: TS. Phạm Huyền Linh
Bộ môn:
Viện: Chữ kí của GVHD

Toán Tin

Toán ứng dụng và Tin học

HÀ NỘI, 7/2023

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 Tố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ể hồn thành đồ án một cách tốt
nhất. Cơ đã cho em những lời khun 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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 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

1.2 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

1.3 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

1.4 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 29

2.1 Hệ thống hiện tại doanh nghiệp sử dụng . . . . . . . . . . . . . . 29

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 40

3.1 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
3.2 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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()


lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()


lOMoARcPSD|38542684

4

Chương 1

MỞ ĐẦU

1.1 Mở đầu

1.1.1 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 tồ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 qt 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à u cầu đó, hệ thống kinh doanh thơng

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 hồn thành đồ án phân tích dữ liệu, em sẽ hồ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 Một số khái niệm cơ bản

1.2.1 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 tồ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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 tồ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).

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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à 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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 tồ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 số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 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.

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684


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

Downloaded by Toilatoi Nguyen ()

lOMoARcPSD|38542684

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 ngồ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ệ

Downloaded by Toilatoi Nguyen ()


lOMoARcPSD|38542684

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ự đố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

Downloaded by Toilatoi Nguyen ()


×