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

Đồ án phát triển hệ thống bán hàng đa nền tảng

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 (7.93 MB, 126 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2

PHÁT TRIỂN HỆ THỐNG
BÁN HÀNG ĐA NỀN TẢNG
GV HƯỚNG DẪN:
Trần Thị Hồng Yến
SV THỰC HIỆN:
Nguyễn Minh Thái - 19520935
Dương Trung Nguyên - 19520782

TP. HỒ CHÍ MINH, 2023


NHẬN XÉT CỦA GIẢNG VIÊN
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................


........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
.......................................................................................................................................
Người nhận xét
(Ký và ghi rõ họ tên)

Ths. Trần Thị Hồng Yến


LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ thông tin - ĐHQG TP.HCM chúng em đã được trang bị các kiến thức
cơ bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 2 của mình.
Để hồn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ thơng tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách,
tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến cơ Trần Thị Hồng Yến đã tận tình
giúp đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý
hết sức q báu khơng chỉ trong q trình thực hiện đề tài mà cịn là hành trang
tiệp bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,
bạn bè, tập thể lớp PMCL2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ
trong học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.

Tuy nhiên trong q trình nghiên cứu đề tài, do kiến thức chuyên ngành còn hạn
chế nên chúng em vẫn cịn nhiều thiếu sót khi tìm hiểu, đánh giá, trình bày về đề
tài. Rất mong nhận được sự quan tâm, góp ý của cơ để đề tài của chúng em được
đầy đủ và hoàn chỉnh hơn.
Chúng em xin chân thành cảm ơn.

TP. Hồ Chí Minh, ngày 30 tháng 06 năm 2023
Sinh viên thực hiện
Nguyễn Minh Thái – Dương Trung Nguyên


MỤC LỤC

TÓM TẮT ĐỒ ÁN .......................................................................................................1
Chương 1. GIỚI THIỆU .............................................................................................. 4
1.1. Giới thiệu về đề tài ............................................................................................4
1.2. Giới thiệu về ứng dụng ..................................................................................... 4
1.2.1. Phạm vi .......................................................................................................5
1.2.2. Đối tượng ................................................................................................... 5
1.2.3. Phương pháp thực hiện .............................................................................. 5
Chương 2. KIẾN THỨC VÀ CÔNG NGHỆ NỀN TẢNG .........................................7
2.1. Kiến thức ........................................................................................................... 7
2.1.1. Kiến thức nền tảng ..................................................................................... 7
2.1.2. Thuật toán Slope One ................................................................................ 7
2.2. Công nghệ sử dụng ......................................................................................... 10
2.2.1. Ngôn ngữ lập trình Dart ...........................................................................10
2.2.2. Flutter ....................................................................................................... 10
2.2.3. Google Firebase ....................................................................................... 11
2.2.4. Draw.io .....................................................................................................12
2.2.5. Github .......................................................................................................13

Chương 3. XÂY DỰNG HỆ THỐNG .......................................................................14
3.1. Phân tích yêu cầu hệ thống ............................................................................. 14
3.1.1. Yêu cầu chức năng ...................................................................................14
3.1.2. Yêu cầu phi chức năng .............................................................................39
3.2. Phân tích thiết kế hệ thống ..............................................................................40


3.2.1. Thiết kế xử lý ........................................................................................... 40
3.2.2. Thiết kế cơ sở dữ liệu .............................................................................. 66
3.2.3. Thiết kế kiến trúc hệ thống ...................................................................... 75
Chương 4. XÂY DỰNG ỨNG DỤNG ..................................................................... 77
4.1. Giao diện ứng dụng .........................................................................................77
4.1.1. Welcome .................................................................................................. 77
4.1.2. Đăng nhập ................................................................................................ 78
4.1.3. DashBoard ................................................................................................79
4.1.4. Voucher khuyến mãi ................................................................................80
4.1.5. Danh mục sản phẩm .................................................................................81
4.1.6. Tìm kiếm sản phẩm ..................................................................................82
4.1.7. Chi tiết sản phẩm ..................................................................................... 83
4.1.8. Giỏ hàng ................................................................................................... 84
4.1.9. Thanh toán ................................................................................................85
4.1.10. Danh sách địa chỉ ................................................................................... 86
4.1.11. Sử dụng voucher khuyến mãi ................................................................ 87
4.1.12. Thiết lập tài khoản ................................................................................. 88
4.1.13. Thông tin cá nhân .................................................................................. 89
4.1.14. Địa chỉ cửa hàng .................................................................................... 90
4.1.15. Lịch sử đơn hàng ....................................................................................91
4.1.16. Chi tiết đơn hàng ....................................................................................92
4.1.17. Góp ý ......................................................................................................93
4.1.18. Đánh giá ................................................................................................. 94

4.1.19. Credit Card .............................................................................................96


4.1.20. Chat ........................................................................................................ 97
4.1.21. Blog ........................................................................................................ 98
4.1.22. Mini Game ............................................................................................. 99
4.1.23. Điểm thưởng ........................................................................................ 100
4.2. Giao diện website Admin ............................................................................. 101
4.2.1. Đăng nhập .............................................................................................. 101
4.2.2. Quản lý quảng cáo ................................................................................. 102
4.2.3. Quản lý sản phẩm .................................................................................. 102
4.2.4. Quản lý voucher .....................................................................................104
4.2.5. Quản lý chi nhánh cửa hàng .................................................................. 105
4.2.6. Quản lý đơn yêu cầu hỗ trợ ................................................................... 106
4.2.7. Quản lý tài khoản ................................................................................... 107
4.2.8. Quản lý Blog .......................................................................................... 108
4.2.9. Admin Chat ............................................................................................ 109
4.2.10. Thống kê .............................................................................................. 110
Chương 5. KẾT LUẬN ............................................................................................111
5.1. Môi trường thử nghiệm .................................................................................111
5.2. Kết quả đạt được ........................................................................................... 111
5.3. Đánh giá sản phẩm ........................................................................................111
5.4. Thuận lợi và khó khăn .................................................................................. 112
5.4.1. Thuận lợi ................................................................................................ 112
5.4.2. Khó khăn ................................................................................................ 112
5.5. Hướng phát triển ........................................................................................... 112
TÀI LIỆU THAM KHẢO ....................................................................................... 113


DANH MỤC HÌNH

Hình 2.1 Ngơn ngữ lập trình Dart ..............................................................................10
Hình 2.2 Flutter SDK ................................................................................................. 10
Hình 2.3 Cơ sở dữ liệu Firebase ................................................................................ 11
Hình 2.4 Draw.io logo ................................................................................................12
Hình 2.5 Github logo ................................................................................................. 13
Hình 3.1 Sơ đồ Use case tồn hệ thống ..................................................................... 14
Hình 3.2 Sơ đồ Sequence thao tác “Đăng nhập ứng dụng” ...................................... 40
Hình 3.3 Sơ đồ Sequence thao tác “Quản lý tài khoản cá nhân” .............................. 41
Hình 3.4 Sơ đồ Sequence thao tác “Cập nhật thơng tin” .......................................... 41
Hình 3.5 Sơ đồ Sequence thao tác “Đăng xuất” ........................................................42
Hình 3.6 Sơ đồ Sequence thao tác “Khám phá sản phẩm” ....................................... 42
Hình 3.7 Sơ đồ Sequence thao tác “Tìm kiếm sản phẩm” ........................................ 43
Hình 3.8 Sơ đồ Sequence thao tác “Xem chi tiết sản phẩm” .................................... 43
Hình 3.9 Sơ đồ Sequence thao tác “Thêm vào giỏ hàng” ......................................... 44
Hình 3.10 Sơ đồ Sequence thao tác “Quản lý giỏ hàng” .......................................... 44
Hình 3.11 Sơ đồ Sequence thao tác “Thay đổi số lượng món hàng” ........................45
Hình 3.12 Sơ đồ Sequence thao tác “Thanh tốn” .................................................... 45
Hình 3.13 Sơ đồ Sequence thao tác “Thêm địa chỉ giao hàng” ................................ 46
Hình 3.14 Sơ đồ Sequence thao tác “Quản lý đơn hàng” ......................................... 46
Hình 3.15 Sơ đồ Sequence thao tác “Xác nhận đơn hàng” ....................................... 47
Hình 3.16 Sơ đồ Sequence thao tác “Hủy đơn hàng” ............................................... 47
Hình 3.17 Sơ đồ Sequence thao tác “Mua lại” .......................................................... 48
Hình 3.18 Sơ đồ Sequence thao tác “Chatbox” .........................................................48
Hình 3.19 Sơ đồ Sequence thao tác “Sưu tầm voucher” ...........................................49
Hình 3.20 Sơ đồ Sequence thao tác “Sưu tầm Sticker” ............................................ 49
Hình 3.21 Sơ đồ Sequence thao tác “Tương tác blog” ..............................................50


Hình 3.22 Sơ đồ Sequence thao tác “Xem blog” ...................................................... 50
Hình 3.23 Sơ đồ Sequence thao tác “Like và bình luận Blog” ................................. 51

Hình 3.24 Sơ đồ Sequence thao tác “Chơi game” .....................................................51
Hình 3.25 Sơ đồ Sequence thao tác “Gửi yêu cầu” ...................................................52
Hình 3.26 Sơ đồ Sequence thao tác “Đánh giá sản phẩm” ....................................... 52
Hình 3.27 Sơ đồ Sequence thao tác “Quản lý thẻ tín dụng” ..................................... 53
Hình 3.28 Sơ đồ Sequence thao tác “Thêm thẻ” ....................................................... 53
Hình 3.29 Sơ đồ Sequence thao tác “Sử dụng thẻ” ................................................... 54
Hình 3.30 Sơ đồ Sequence thao tác “Quản lý blog” ................................................. 54
Hình 3.31 Sơ đồ Sequence thao tác “Thêm blog” .....................................................55
Hình 3.32 Sơ đồ Sequence thao tác “Sửa blog” ........................................................ 55
Hình 3.33 Sơ đồ Sequence thao tác “Quản lý sản phẩm” ......................................... 56
Hình 3.34 Sơ đồ Sequence thao tác “Thêm sản phẩm” .............................................56
Hình 3.35 Sơ đồ Sequence thao tác “Cập nhật thơng tin sản phẩm” ........................57
Hình 3.36 Sơ đồ Sequence thao tác “Ẩn sản phẩm” ................................................. 57
Hình 3.37 Sơ đồ Sequence thao tác “Quản lý voucher” ........................................... 58
Hình 3.38 Sơ đồ Sequence thao tác “Thêm voucher” ............................................... 58
Hình 3.39 Sơ đồ Sequence thao tác “Ẩn voucher” ................................................... 59
Hình 3.40 Sơ đồ Sequence thao tác “Quản lý cửa hàng” ..........................................59
Hình 3.41 Sơ đồ Sequence thao tác “Thêm cửa hàng” ............................................. 60
Hình 3.42 Sơ đồ Sequence thao tác “Ẩn cửa hàng” ..................................................60
Hình 3.43 Sơ đồ Sequence thao tác “Quản lý quảng cáo” ........................................ 61
Hình 3.44 Sơ đồ Sequence thao tác “Thêm quảng cáo” ........................................... 61
Hình 3.45 Sơ đồ Sequence thao tác “Xóa quảng cáo” .............................................. 62
Hình 3.46 Sơ đồ Sequence thao tác “Quản lý tài khoản” ..........................................62
Hình 3.47 Sơ đồ Sequence thao tác “Xác nhận tài khoản” ....................................... 63
Hình 3.48 Sơ đồ Sequence thao tác “Xác nhận đơn hàng” ....................................... 63
Hình 3.49 Sơ đồ Sequence thao tác “Quản lý yêu cầu” ............................................ 64
Hình 3.50 Sơ đồ Sequence thao tác “Thống kê doanh thu” ...................................... 65


Hình 3.51 Sơ đồ cơ sở dữ liệu ................................................................................... 66

Hình 3.52 Mơ hình kiến trúc hệ thống .......................................................................75
Hình 4.1 Màn hình Splash ......................................................................................... 77
Hình 4.2 Màn hình Welcome .....................................................................................77
Hình 4.3 Màn hình Nhập số điện thoại ......................................................................78
Hình 4.4 Màn hình Nhập mã OTP .............................................................................78
Hình 4.5 Màn hình DashBoard .................................................................................. 79
Hình 4.6 Màn hình Voucher mới nhất .......................................................................80
Hình 4.7 Màn hình Voucher đã sưu tập .....................................................................80
Hình 4.8 Màn hình Danh mục “Điện thoại” ..............................................................81
Hình 4.9 Màn hình Danh mục “Laptop ..................................................................... 81
Hình 4.10 Màn hình Lịch sử tìm kiếm ...................................................................... 82
Hình 4.11 Màn hình Danh sách tìm kiếm từ khóa .................................................... 82
Hình 4.12 Màn hình chi tiết sản phẩm .......................................................................83
Hình 4.13 Màn hình Giỏ hàng ................................................................................... 84
Hình 4.14 Màn hình Thanh tốn ................................................................................85
Hình 4.15 Chọn phương thức thanh tốn .................................................................. 85
Hình 4.16 Màn hình Danh sách địa chỉ ..................................................................... 86
Hình 4.17 Màn hình Thêm địa chỉ mới ..................................................................... 86
Hình 4.18 Màn hình Chọn khuyến mãi đã lưu .......................................................... 87
Hình 4.19 Màn hình Thiết lập tài khoản ....................................................................88
Hình 4.20 Màn hình Thơng tin tài khoản .................................................................. 89
Hình 4.21 Màn hình Cập nhật thơng tin .................................................................... 89
Hình 4.22 Màn hình Địa chỉ cửa hàng .......................................................................90
Hình 4.23 Màn hình Danh sách đơn hàng đang xử lý ...............................................91
Hình 4.24 Màn hình Danh sách đơn hàng đã hủy ..................................................... 91
Hình 4.25 Màn hình Chi tiết đơn hàng đang giao ..................................................... 92
Hình 4.26 Màn hình Chi tiết đơn hàng đã giao thành cơng/đã hủy .......................... 92
Hình 4.27 Màn hình Góp ý ........................................................................................ 93



Hình 4.28 Màn hình Chưa đánh giá sản phẩm .......................................................... 94
Hình 4.29 Màn hình Đánh giá sản phẩm ................................................................... 94
Hình 4.30 Màn hình Đã đánh giá ...............................................................................95
Hình 4.31 Màn hình Thêm thẻ ...................................................................................96
Hình 4.32 Màn hình Thẻ ............................................................................................ 96
Hình 4.33 Màn hình Danh sách chat ......................................................................... 97
Hình 4.34 Màn hình Chat ...........................................................................................97
Hình 4.35 Màn hình Blog .......................................................................................... 98
Hình 4.36 Màn hình Mini game .................................................................................99
Hình 4.37 Màn hình Điểm thưởng ...........................................................................100
Hình 4.38 Màn hình Đăng nhập web .......................................................................101
Hình 4.39 Màn hình Quản lý quảng cáo ..................................................................102
Hình 4.40 Màn hình Danh sách sản phẩm giảm giá sốc ......................................... 102
Hình 4.41 Chi tiết sản phẩm .................................................................................... 103
Hình 4.42 Màn hình Thêm sản phẩm (chưa điền thơng tin) ................................... 103
Hình 4.44 Màn hình Danh sách khuyến mãi ........................................................... 104
Hình 4.45 Màn hình Thêm khuyến mãi ...................................................................104
Hình 4.46 Cập nhật thơng tin khuyến mãi ...............................................................105
Hình 4.47 Màn hình Danh sách các cửa hàng ......................................................... 105
Hình 4.48 Màn hình Thêm địa chỉ cửa hàng mới ....................................................106
Hình 4.49 Màn hình Danh sách các u cầu/góp ý ................................................. 106
Hình 4.50 Chi tiết đơn u cầu/góp ý ......................................................................107
Hình 4.51 Màn hình Danh sách các tài khoản người dùng ..................................... 107
Hình 4.52 Màn hình Thơng tin tài khoản người dùng .............................................108
Hình 4.53 Màn hình Danh sách blog ....................................................................... 108
Hình 4.54 Màn hình Thêm/Edit blog .......................................................................109
Hình 4.55 Màn hình Admin Chat ............................................................................ 109
Hình 4.56 Màn hình Thống kê .................................................................................110



DANH MỤC BẢNG
Bảng 3.1 Mô tả các Actors .........................................................................................15
Bảng 3.2 Mô tả use case .............................................................................................15
Bảng 3.3 Use case Đăng nhập - UC01 ...................................................................... 18
Bảng 3.4 Use case Quản lý tài khoản cá nhân - UC02 ..............................................19
Bảng 3.5 Use case Khám phá sản phẩm - UC03 .......................................................20
Bảng 3.6 Use case Quản lý giỏ hàng - UC04 ............................................................ 21
Bảng 3.7 Use case Quản lý đơn hàng - UC05 ........................................................... 22
Bảng 3.8 Use case Chatbox - UC06 .......................................................................... 24
Bảng 3.9 Use case Sưu tầm voucher - UC07 ............................................................ 24
Bảng 3.10 Use case Sưu tầm sticker - UC08 .............................................................25
Bảng 3.11 Use case Tương tác Blog - UC09 .............................................................26
Bảng 3.12 Use case Chơi game - UC10 .................................................................... 27
Bảng 3.13 Use case Gửi yêu cầu - UC11 .................................................................. 28
Bảng 3.14 Use case Đánh giá sản phẩm - UC12 .......................................................29
Bảng 3.15 Use case Quản lý thẻ tín dụng - UC13 .....................................................30
Bảng 3.16 Use case Quản lý Blog - UC14 ................................................................ 31
Bảng 3.17 Use case Quản lý sản phẩm - UC15 .........................................................32
Bảng 3.18 Use case Quản lý voucher - UC16 ........................................................... 33
Bảng 3.19 Use case Quản lý cửa hàng - UC17 ......................................................... 34
Bảng 3.20 Use case Quản lý quảng cáo - UC18 ........................................................35
Bảng 3.21 Use case Quản lý tài khoản - UC19 ......................................................... 36
Bảng 3.22 Use case Quản lý yêu cầu - UC20 ............................................................37
Bảng 3.23 Use case Thống kê doanh thu - UC21 ..................................................... 38
Bảng 3.24 Bảng dữ liệu User ..................................................................................... 67
Bảng 3.25 Bảng dữ liệu Address ............................................................................... 67
Bảng 3.26 Bảng dữ liệu Address ............................................................................... 68


Bảng 3.27 Bảng dữ liệu Voucher ...............................................................................69

Bảng 3.28 Bảng dữ liệu Cart ......................................................................................70
Bảng 3.29 Bảng dữ liệu PurchaseHistory ..................................................................71
Bảng 3.30 Bảng dữ liệu RequestSupport ...................................................................72
Bảng 3.31 Bảng dữ liệu Store .................................................................................... 72
Bảng 3.32 Bảng dữ liệu Message .............................................................................. 73
Bảng 3.33 Bảng dữ liệu Blog .....................................................................................73
Bảng 3.34 Bảng dữ liệu Thẻ tín dụng ........................................................................74
Bảng 3.35 Bảng dữ liệu Đánh giá của người dùng ................................................... 75


TÓM TẮT ĐỒ ÁN
Ngày nay, việc mua sắm trực tuyến đã trở thành một thói quen trong cuộc sống của
nhiều người. Người tiêu dùng chỉ cần ngồi ở nhà, mở chiếc smartphone của mình
lên, truy cập vào một ứng dụng mua sắm trực tuyến và thỏa sức lựa chọn bất cứ mặt
hàng gì, từ thực phẩm, quần áo cho đến những nội thất trong nhà như TV, tủ lạnh…
và tùy vào mặt hàng đã đặt mua thì trong một khoảng thời gian ngắn chúng sẽ được
giao đến tận nhà cho họ. Chính vì sự tiện lợi đó mà những ứng dụng mua sắm trực
tuyến ln có số lượng người dùng rất lớn, đặc biệt là ở các nước Đông Á và Đơng
Nam Á. Cùng với đó, việc người dùng chủ yếu sử dụng các ứng dụng mua sắm trực
tuyến thông qua smart phone nên những nền tảng lý tưởng để phát triển hệ thống
này chính là Android và IOS. Để phát triển ứng dụng trên 2 nền tảng này song song
với nhau thì việc phát triển riêng lẻ cho từng nền tảng sẽ tốn rất nhiều thời gian,
công sức và tài ngun. Vì những thứ kể trên có giới hạn nên nhóm chúng em quyết
định chọn giải pháp là phát triển một hệ thống ứng dụng bán hàng đa nền tảng.
Khởi đầu, nhóm chúng em đặt ra mục tiêu tạo ra một ứng dụng cửa hàng mua sắm
thiết bị điện tử trực tuyến, các mặt hàng được bán chủ yếu thuộc các danh mục điện
thoại, laptop, tai nghe… Ngoài việc đạt được các yêu cầu về mặt chức năng, chúng
em muốn ứng dụng có giao diện đẹp mắt, thuận tiện cho người sử dụng và đáp ứng
yêu cầu về mặt trải nghiệm người dùng. Tiếp theo, chúng em trao đổi để chọn các
công nghệ để triển khai dự án này. Nhóm chúng em đã chọn Flutter cho mục đích

phát triển ứng dụng đa nền tảng, dữ liệu được lưu trữ trên Firebase, Github để quản
lý source code và ứng dụng được viết trên các IDE VS Code và Android Studio.
Nhóm chúng em đã khảo sát thực trạng các ứng dụng bán hàng trên thị trường như
Shopee, Tiki, Lazada... từ đó tiến hành phân tích, xác định các yêu cầu cụ thể cho
đề tài. Sau khi tiến hành xong các bước phân tích thiết kế, chúng em dựa vào đó để
thiết kế giao diện ứng dụng cho từng chức năng. Khi ứng dụng đã có giao diện,
nhóm chúng em bắt đầu tạo cơ sở dữ liệu dựa trên các phân tích thiết kế nêu trên,
sau đó đưa các dữ liệu này vào trong ứng dụng và phát triển các tính năng đã đặt ra
trong ứng dụng, đây cũng là giai đoạn dài nhất và khó nhất trong q trình thực hiện

1


dự án này. Cuối cùng ứng dụng sẽ được kiểm thử để đảm bảo các tính năng hoạt
động như mong đợi.
Về kết quả đạt được, nhóm chúng em đã đạt được mục tiêu kể trên, đó là tạo ra một
ứng dụng mua sắm trực tuyến đồ điện tử hoạt động như mong đợi. Người dùng có
thể đăng nhập nhanh vào ứng dụng chỉ cần số điện thoại, xem chi tiết sản phẩm, lựa
chọn mặt hàng yêu thích, thêm vào giỏ hàng, thanh toán bằng thẻ hoặc tiền mặt, áp
dụng các khuyến mãi, theo dõi đơn hàng, đánh giá sản phẩm. Ngồi ra, ứng dụng
cịn cung cấp các tiện ích khác để tăng trải nghiệm người dùng như: nhắn tin với
quản trị viên hoặc người dùng khác; xem, nhấn like và bình luận các bài viết do
quản trị viên đăng; chơi mini game hay điểm danh quay số trúng thưởng để nhận
các voucher giảm giá. Ứng dụng có giao diện bắt mắt và dễ dàng thao tác cho người
sử dụng. Vì thời gian có hạn nên nhóm chúng em đã phải lượt bỏ một ít tính năng
đã đề ra, tuy nhiên đó chỉ là những tính năng phụ và khơng quan trọng đối với ứng
dụng chẳng hạn như tính năng xem dự báo thời tiết.
Tóm lại, sau một thời gian dài cùng nhau phát triển hệ thống bán hàng đa nền tảng,
chúng em cuối cùng đã hoàn thành dự án này với sự giúp đỡ của giáo viên hướng
dẫn, trong quá trình làm việc đã tích lũy được nhiều kinh nghiệm chuyên môn cũng

như khả năng giao tiếp và làm việc nhóm, hơn nữa chúng em cịn học hỏi được
nhiều kiến thức mới từ việc khảo sát, nghiên cứu và tìm hiểu các công nghệ. Đây là
một trải nghiệm quý báu đối với chúng em và là nền tảng để chúng em tham gia vào
các dự án thực tế.
Nội dung đồ án được trình bày trong 5 chương, như sau:
 Chương 01 – Giới thiệu: Xác định mục tiêu, nội dung nghiên cứu,
phạm vi đề tài.
 Chương 02 – Kiến thức và công nghệ nền tảng: Giới thiệu về các công nghệ
được sử dụng,
cách thức hoạt động, ưu điểm, nhược điểm của các cơng nghệ đó.
 Chương 03 – Xây dựng hệ thống: Phân tích các yêu cầu chức năng,
yêu cầu phi chức năng.

2


 Chương 04 – Xây dựng ứng dụng: Mô tả các sơ đồ đặc tả Use Case, quy
trình
sử dụng, trình tự hệ thống, thiết kế dữ liệu, thiết kế giao diện người dùng.
 Chương 05 – Kết luận: Kết quả đạt được, hạn chế và hướng phát triển.

3


Chương 1. GIỚI THIỆU
1.1.

Giới thiệu về đề tài

Trong cuộc cách mạng công nghiệp lần thứ tư, sự bùng nổ của các thiết bị

thông minh đã lan rộng khắp trên thế giới. Trong đó, điện thoại di động đã trở
thành một trong những đồ dùng không thể thiếu của con người. Khơng chỉ có
chức năng liên lạc, nhắn tin, chụp ảnh mà điện thoại di động còn được trang bị
nhiều ứng dụng giải trí, định vị, mua sắm, thanh tốn trực tuyến…thông qua
Internet.
Trước sự bùng nổ của thời đại công nghệ cùng sự phủ sóng tồn cầu của
internet, bán hàng online là mơ hình được đơng đảo mọi người đón nhận nhiệt
tình và chưa hề có dấu hiệu hạ nhiệt. Trở thành xu hướng gây bão trên thị
trường, bán hàng online đang dần trở thành một mơ hình khơng thể thiếu trong
cuộc sống do nhu cầu mua hàng trực tuyến tăng cao. Việc xây dựng một hệ
thống bán hàng online hợp lý, phù hợp với doanh nghiệp sẽ giúp tiếp cận
khách hàng tốt hơn, tăng doanh thu và giảm chi phí.
Điều đó là tiền đề để nhóm em chọn đề tài “Xây dựng hệ thống bán hàng đa nền
tảng” nhằm giúp việc mua sắm trở nên đơn giản, hiệu quả hơn, giúp tiết kiệm chi
phí đi lại khi sản phẩm được giao hàng tận nơi.
1.2.

Giới thiệu về ứng dụng

Ecommerce Shop (eShop) là một ứng dụng cửa hàng online chuyên về các thiết bị
điện tử thông minh. Ứng dụng cung cấp các dịch vụ giúp khách hàng không cần
phải đến trực tiếp cửa hàng mà vẫn có thể xem và sở hữu sản phẩm, ngược lại,
người bán có thể khơng cần mặt bằng mà vẫn có thể tiếp cận, trao đổi thơng tin,
hàng hóa với người mua.

4


1.2.1. Phạm vi
- Phạm vi môi trường:

 Ứng dụng: Android và IOS
 Quản lý: Web

- Phạm vi chức năng
 Đối với ứng dụng:
+ Cung cấp chức năng xem thông tin, đăng nhập, đăng ký, đăng xuất.
+ Cung cấp chức năng để người dùng lưu sản phẩm, voucher.
+ Cung cấp chức năng để xem danh sách, thông tin sản phẩm.
+ Cung cấp chức năng quản lý tài khoản.
+ Cung cấp các chức năng để hỗ trợ người dùng.
 Đối với web
+ Có chức năng quản lý sản phẩm, voucher, người dùng, quảng cáo.
+ Chức năng hỗ trợ.
1.2.2. Đối tượng
Người dùng có nhu cầu mua sắm nhưng q bận rộn khơng có thời gian đi mua sắm
trực tiếp.
1.2.3. Phương pháp thực hiện
- Phương pháp làm việc:
+ Khảo sát thực trạng các ứng dụng bán hàng trên thị trường như Shopee,
Tiki, Lazada... từ đó tiến hành phân tích, xác định các u cầu cụ thể cho đề
tài.
- Phương pháp nghiên cứu:
+ Phân tích nhu cầu sử dụng của đối tượng người dùng.
+ Tiến hành nghiên cứu thiết kế giao diện cho ứng dụng trên 2 nền tảng là
web và mobile.
+ Tiến hành triển khai và kiểm thử ứng dụng.

5



- Phương pháp công nghệ:
+ Tiến hành xây dựng ứng dụng trên Web, Android và iOS.
+ Quản lý source code thông qua Github.

6


Chương 2. KIẾN THỨC VÀ CÔNG NGHỆ NỀN TẢNG
2.1.

Kiến thức

2.1.1. Kiến thức nền tảng
Để thiết kế và hoàn thiện sản phẩm đúng với yêu cầu người dùng, chúng em
đã vận dụng các kiến thức có liên quan, cụ thể:
-

Frontend: Ngơn ngữ Dart với mobile UI framework Flutter và công cụ lập
trình.

-

Visual Studio Code: Kiến thức lập trình hướng đối tượng, chức năng cơ bản
của các Widget, thiết kế giao diện, xử lí sự kiện …

-

Cơ sở dữ liệu: thiết kế CSDL phù hợp với mơ hình ứng dụng, ràng buộc dữ
liệu, truy vấn dữ liệu…


-

Quản lý source code: sử dụng các công cụ nhằm quản lý nhiều phiên bản
khác nhau, lập trình một cách có tổ chức, theo dõi được bug, quản lý release
sản phẩm, …
2.1.2. Thuật toán Slope One
2.1.2.1.

-

Giới thiệu

Thuật toán Slope One là một thuật toán lọc cộng tác được sử dụng trong hệ
thống khuyến nghị. Nó được thiết kế để dự đoán sự quan tâm của người dùng
đối với các mục chưa được họ đánh giá dựa trên thơng tin từ những người
dùng có sở thích tương tự. Mục tiêu của thuật toán Slope One là cung cấp
các gợi ý cá nhân và tối ưu hóa trải nghiệm người dùng trong quá trình khám
phá và tìm kiếm sản phẩm.

-

Thuật toán Slope One dựa trên nguyên lý rằng sự tương tự trong sở thích
giữa các người dùng sẽ dẫn đến sự tương tự trong sự đánh giá của họ về các
mục sản phẩm. Nếu hai người dùng A và B có sở thích tương tự về một số
mục sản phẩm, thì khả năng cao họ sẽ có những đánh giá tương tự cho các
mục đó. Dựa trên quy tắc này, Slope One sử dụng các phương pháp thống kê

7



để tìm ra sự tương quan giữa các mục sản phẩm và từ đó dự đốn sự quan
tâm của người dùng đối với các mục sản phẩm chưa được họ xem xét.
-

Thuật tốn Slope One có thể áp dụng cho nhiều loại dữ liệu, bao gồm xếp
hạng sản phẩm, đánh giá, lịch sử mua hàng và sự tương tác người dùng. Nó
có khả năng khám phá và gợi ý các mục sản phẩm mới hoặc ít được biết đến
trước đó, giúp người dùng mở rộng phạm vi tìm kiếm và trải nghiệm sản
phẩm.
2.1.2.2.

Mục tiêu

- Triển khai thuật toán Slope One và áp dụng nó vào chức năng gợi ý sản
phẩm dựa trên đánh giá từ người dùng.
2.1.2.3.

Đối tượng sử dụng

- Đối tượng chính của nghiên cứu là những người dùng tham gia mua sắm trực
tuyến trên các nền tảng thương mại điện tử. Đối tượng này có nhu cầu tìm
kiếm và lựa chọn sản phẩm phù hợp với sở thích và nhu cầu cá nhân.
2.1.2.4.
-

Base Slope One

Ý tưởng cơ bản của thuật tốn rất đơn giản, đó là sử dụng trung bình thay vì
sự khác biệt đánh giá giữa hai người dùng khác nhau. Sự đơn giản này làm
cho nó đặc biệt dễ dàng để triển khai.


-

Thuật toán slope one với dạng f(x) = x + b giả định một mối quan hệ tuyến
tính giữa hai mặt hàng, trong đó x đại diện cho đánh giá của một mặt hàng đã
được đánh giá và b biểu thị sự sai lệch trung bình.

-

Ví dụ, các đánh giá cho bốn mặt hàng mà người dùng A, B và C ghi lại như
sau:

8


-

Nếu chúng ta muốn biết người dùng C đánh giá mặt hàng 2 như thế nào,
trước tiên chúng ta phải tính giá trị sai lệch trung bình giữa mặt hàng 2 và
các mặt hàng khác mà người dùng C đã đánh giá, tức là mặt hàng 1 và mặt
hàng 4, và q trình tính tốn như sau:
((4 - 3) + (2 - 4))/2 = -0.5
((4 - 1) + (2 - 1))/2 = 2

-

Sau đó, chúng ta có thể thu được đánh giá dự đoán của người dùng C cho
mặt hàng 2 thông qua các đánh giá của người dùng C về mặt hàng 1 và mặt
hàng 4 cộng với trung bình cộng tương ứng:
((3 - 0.5) + (2 + 2)) / 2 = 3.25


-

Vậy, chúng ta có thể điền vào bảng giá trị trống theo cách tương tự. Phương
pháp Slope One sử dụng thông tin từ các người dùng khác đã đánh giá cùng
một mặt hàng và từ các mặt hàng khác được đánh giá bởi cùng một người
dùng.

9


2.2.

Cơng nghệ sử dụng

2.2.1. Ngơn ngữ lập trình Dart

Hình 2.1 Ngơn ngữ lập trình Dart

Dart là ngơn ngữ lập trình được phát triển bởi Google, hiện đã được chấp
thuận bởi tổ chức Ecma. Dart được sử dụng để xây dựng các loại ứng dụng:
web, server, di động (IOS và Android với công cụ Flutter).
Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code
Dart có thể biên dịch thành JavaScript để chạy trên trình duyệt. Nó hỗ trợ
những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng…
Từ ngôn ngữ lập trình Dart, Google giới thiệu SDK Futter để sử dụng ngôn
ngữ Dart phát triển ứng dụng di động chạy đa nền tảng (Một lần viết code
build ra ứng dụng cho IOS và Android).
2.2.2. Flutter


Hình 2.2 Flutter SDK

Đây là một UI Framework mã nguồn mở miễn phí được phát triển bởi
Google và phát hành vào tháng 5/2017. Flutter cho phép người dùng tạo ra
native app (ứng dụng di động gốc) với một codebase có giao diện chất

10


lượng cao trên iOS và Android trong thời gian ngắn nhất. Flutter hoạt động
trên code có sẵn và được rất nhiều lập trình viên và các tổ chức sử dụng.
Sự phát triển của Flutter đã giải quyết được bài toán thường gặp trong di
động là native PerFormance và Fast Development. Nếu như Code Native
thuần chỉ đảm bảo được Native PerFormance và React Native chỉ giải quyết
được Fast Development thì Flutter sẽ giải quyết được cả hai vấn đề trên.
Flutter gồm có 2 thành phần quan trọng là :
- Một SDK (Software Development Kit): Tổng hợp các công cụ giúp
người dùng phát triển ứng dụng. Nó bao gồm cả những cơng cụ biên dịch
mã thành các mã máy gốc dùng cho iOS và Android.
- Một Framework (UI Library based on widgets): Là tập hợp gồm
nhiều thành phần giao diện người dùng có thể tái sử dụng như slider,
button… giúp người dùng có thể cá nhân hóa theo nhu cầu cá nhân.
2.2.3. Google Firebase

Hình 2.3 Cơ sở dữ liệu Firebase

Firebase là một dịch vụ cơ sở dữ liệu được hoạt động ở trên nền tảng đám
mây (Cloud). Đi kèm với đó là một hệ thống máy chủ mạnh mẽ của Google.
Hệ thống có chức năng chính là giúp cho người dùng có thể lập trình ứng
dụng thơng qua cách đơn giản hóa những thao tác với các cơ sở dữ liệu.

Với firebase, việc tạo ra những ứng dụng real-time như app chat, cùng nhiều
tính năng như xác thực người dùng, Cloud Messaging… là rất đơn giản.
Firebase được dùng giống như phần backend của app.[3]

11


Các dịch vụ của firebase hồn tồn miễn phí, tuy nhiên cần phải trả thêm tiền
nếu muốn nâng cấp lên. Nên cân nhắc nếu muốn xây dựng một ứng dụng lớn
sử dụng phần backend là firebase, vì cái giá khi muốn nâng cấp còn khá đắt
đỏ so với việc xây dựng backend truyền thống.
2.2.4. Draw.io

Hình 2.4 Draw.io logo

Draw.io là một công cụ vẽ sơ đồ rất mạnh mẽ, hỗ trợ nhiều hình khối, chạy
online khơng cần cài đặt mà lại miễn phí và khơng bị giới hạn số biểu đồ như
nhiều tool vẽ nền web khác. Bạn có thể vẽ sơ đồ về mạng, điện, phác thảo vị
trí các căn phịng trong nhà, hay vẽ các quy trình kinh doanh, vận hành, sản
xuất.[4]
Draw.io có thư viện template rất phong phú để bạn có thể bắt đầu nhanh hơn,
khơng phải tự mình vẽ lại hết tự đầu.
Sau khi vẽ xong, có thể:
+ Lưu file draw.io vào Google Drive.
+ Download file về máy tính được hỗ trợ các định dạng hình ảnh, pdf
và ảnh vector SVG.

12



2.2.5. Github

Hình 2.5 Github logo

GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống
như một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại
mã nguồn từ một repository và Github chính là một dịch vụ máy chủ
repository cơng cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các
kho chứa của riêng mình để có thể làm việc.[5]
GitHub là một dịch vụ nổi tiếng cung cấp kho lưu trữ mã nguồn Git cho các
dự án phần mềm. GitHub có đầy đủ những tính năng của Git, ngồi ra nó cịn
bổ sung những tính năng về social để các developer tương tác với nhau.[5]

13


×