Bối cảnh và vấn đề nghiên cứu

Đồ án chuyên ngành "Xây dựng ứng dụng di động bán hoa DFlower cho cửa hàng LD ở Bình Dương" do sinh viên Lê Văn Đông (lớp D17PM01, khóa 2017 – 2021, ngành Kỹ thuật phần mềm, Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh vào tháng 9 năm 2021.

1. Lý do chọn đề tài và bối cảnh thực tiễn

Sự phát triển của công nghệ thông tin và Internet đã thúc đẩy nhu cầu mua sắm trực tuyến của người tiêu dùng hướng tới tính tiện lợi, giảm thiểu việc phải trực tiếp đến các cửa hàng chật chội. Bối cảnh thực tiễn của đề tài được tác giả xác định qua các yếu tố chính:

  • Tác động của đại dịch Covid-19: Năm 2020, các lệnh giới nghiêm và hạn chế tiếp xúc do đại dịch Covid-19 đã làm bùng nổ nhu cầu sử dụng dịch vụ đặt hàng trực tuyến tại nhà.
  • Tỷ lệ người dùng điện thoại thông minh: Theo báo cáo Thị trường quảng cáo số Việt Nam của Adsota được tác giả trích dẫn, Việt Nam có 43,7 triệu người sử dụng thiết bị smartphone trên tổng số 97,4 triệu dân, đạt tỷ lệ 44,9%.
  • Thực trạng ngành hoa tươi: Hình thức kinh doanh hoa tươi trực tuyến trên ứng dụng di động vẫn còn nhiều tiềm năng. Tác giả định vị ứng dụng cần cạnh tranh với một số đơn vị trên thị trường như Hoa yêu thương, Hoa tươi Bình Dương thông qua giao diện trực quan và tập trung vào phân khúc khách hàng trẻ tuổi.
  • Lựa chọn nền tảng di động: Thay vì phát triển website, tác giả chọn xây dựng ứng dụng di động thuần nhằm tối ưu hóa tốc độ phản hồi và trải nghiệm thao tác của người dùng.

2. Mục tiêu nghiên cứu và nhiệm vụ của đề tài

Đồ án xác định các mục tiêu và nhiệm vụ cụ thể:

  1. Xây dựng ứng dụng di động hỗ trợ cửa hàng hoa tươi LD tại Bình Dương bán hàng tiện lợi, tăng nguồn thu và quản lý tập trung số lượng hàng hóa cũng như thành viên.
  2. Thiết kế và thiết lập cơ sở dữ liệu thời gian thực hỗ trợ đồng bộ dữ liệu giao dịch giữa khách hàng và quản trị viên.
  3. Hiện thực hóa các quy trình nghiệp vụ: quản lý tài khoản, danh mục hoa, sản phẩm hoa, giỏ hàng, đặt hàng, xử lý thanh toán và theo dõi trạng thái đơn hàng.

3. Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ bán hàng, quản lý đơn hàng và dữ liệu sản phẩm hoa tươi tại cửa hàng bán lẻ; quy trình lập trình ứng dụng di động trên nền tảng Android kết nối cơ sở dữ liệu thời gian thực.
  • Phạm vi không gian: Áp dụng thử nghiệm tại cửa hàng hoa tươi LD trên địa bàn tỉnh Bình Dương.
  • Phạm vi thời gian: Đồ án được triển khai và hoàn thành nghiệm thu vào tháng 9 năm 2021.

Cơ sở lý thuyết và công nghệ áp dụng

Đồ án sử dụng nền tảng lý thuyết phát triển ứng dụng di động trên hệ điều hành Android cùng hệ thống cơ sở dữ liệu đám mây NoSQL.

1. Nền tảng hệ điều hành Android

Tác giả hệ thống hóa kiến trúc 4 tầng của hệ điều hành Android (dựa trên nhân Linux OS Kernel 2.6):

  • Tầng Linux Kernel: Lớp thấp nhất quản lý phần cứng, driver thiết bị (bàn phím, camera, màn hình, Wi-Fi).
  • Tầng Native Libraries: Bao gồm các thư viện C/C++ gốc như WebKit / LibWebCore (hỗ trợ hiển thị web), SQLite (quản trị cơ sở dữ liệu cục bộ), FreeType (kết xuất phông chữ), Media Libraries (dựa trên PacketVideo's OpenCORE hỗ trợ MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), Surface Manager (kết hợp đồ họa 2D/3D), SGL (2D engine) và System C library (libc).
  • Tầng Android Runtime: Bao gồm các thư viện lõi và Máy ảo Dalvik (Dalvik Virtual Machine - DVM). DVM tối ưu hóa bộ nhớ cho thiết bị di động, thực thi các tệp .dex (Dalvik Executable) được trình chuyển đổi DX Tool tạo ra từ bytecode Java đã biên dịch.
  • Tầng Android Framework & Applications: Cung cấp các API và lớp dịch vụ lõi: View UI (layout, text field, button, list view), Content Providers (truy xuất/chia sẻ dữ liệu giữa các ứng dụng), Resource Manager (quản lý hình ảnh, âm thanh, layout), Activity (khởi tạo giao diện tương tác), Service (tiến trình nền), BroadcastReceiver (lắng nghe sự kiện hệ thống) và Intent (truyền thông điệp giữa các thành phần).

2. Môi trường phát triển và công cụ lập trình

  • Môi trường lập trình: IDE Eclipse kết hợp công cụ bổ trợ Android Development Tools (ADT Plug-in), Android SDK (Software Development Kit) và trình giả lập Android Emulator.
  • Gói thư viện Java chuẩn: java.lang, java.io, java.net, java.util (tiện ích ghi log, xử lý chuỗi, định dạng).
  • Gói thư viện Android: android.app, android.content, android.net, android.graphics, android.text, android.util, android.view.
  • Cơ sở dữ liệu: Firebase Realtime Database — nền tảng cơ sở dữ liệu NoSQL đám mây lưu trữ dữ liệu dưới định dạng JSON và tự động đồng bộ hóa thời gian thực tới tất cả các thiết bị kết nối.

Thiết kế và triển khai hệ thống

Hệ thống ứng dụng bán hoa DFlower được phân tích và thiết kế hướng đối tượng với các sơ đồ dòng chảy dữ liệu, kiến trúc dữ liệu và mô hình chức năng.

1. Cấu trúc cơ sở dữ liệu (Firebase Realtime Database)

Dữ liệu của hệ thống được tổ chức thành 4 cấu trúc nút JSON chính:

Bảng dữ liệu / Nút Thuộc tính trường Kiểu dữ liệu / Ý nghĩa mô tả trong văn bản
Account (Tài khoản) Username, Password, Name, Gender, Phone, Email, Adress, Type Quản lý thông tin đăng nhập và hồ sơ người dùng. Trường Type phân định quyền hạn: 0 là Quản trị viên (Admin), 1 là Khách hàng.
Category (Danh mục) Name, ImgUrl Lưu trữ tên thể loại hoa (hoa tình yêu, hoa viếng thăm,...) và đường dẫn ảnh đại diện danh mục.
Flower (Sản phẩm hoa) IdCategory, Name, Price, Detail, Heart, Star Lưu thông tin chi tiết từng loại hoa, khóa danh mục ngoại, đơn giá, mô tả, lượt thả tim yêu thích và số sao đánh giá.
Requests (Hóa đơn đặt hàng) Mã đơn hàng (Key), Name, Phone, Address, Flower, Total, Status Lưu thông tin khách đặt hàng, địa chỉ giao nhận, chuỗi danh sách sản phẩm đặt mua, tổng tiền và trạng thái đơn hàng (Đã nhận, đang giao, bị hủy).

2. Phân tích tác nhân và biểu đồ ca sử dụng (Use Case)

Hệ thống phân định 2 nhóm tác nhân (Actors) chính:

  • Khách hàng: Thực hiện đăng ký tài khoản, đăng nhập, duyệt sản phẩm theo danh mục, quản lý giỏ hàng, đặt hàng, thanh toán, theo dõi đơn cá nhân, đánh giá sản phẩm và hủy đơn.
  • Quản trị viên (Admin): Toàn quyền quản lý hệ thống, quản lý tài khoản người dùng, quản trị danh mục (thêm/sửa/xóa), quản trị sản phẩm hoa, tiếp nhận và cập nhật trạng thái đơn hàng, theo dõi tổng doanh thu và đánh giá.
Danh sách mã Use Case:
- UC01: Quản lý sản phẩm (Tác nhân: Quản trị viên)
- UC02: Quản lý đơn hàng (Tác nhân: Quản trị viên, Khách hàng)
- UC03: Quản lý tài khoản (Tác nhân: Quản trị viên, Khách hàng)
- UC04: Quản lý khách hàng (Tác nhân: Quản trị viên)
- UC05: Quản lý giỏ hàng (Tác nhân: Khách hàng)
- UC06: Quản lý thanh mua (Tác nhân: Khách hàng)

3. Quy trình hoạt động của các chức năng chính (Activity Workflow)

Tác giả mô tả chi tiết các luồng hoạt động chuẩn hóa qua các bảng:

  • Chức năng Đăng nhập (Bảng 3.4): Người dùng chọn nút đăng nhập -> Nhập thông tin -> Hệ thống kiểm tra thông tin trên cơ sở dữ liệu Firebase. Nếu đúng: Admin chuyển đến trang quản lý, Khách hàng chuyển đến trang chủ sản phẩm; Nếu sai: yêu cầu đăng nhập lại.
  • Chức năng Đăng ký (Bảng 3.5): Khách hàng nhấn nút đăng ký -> Nhập thông tin form -> Lưu thông tin thành công và chuyển về màn hình chờ.
  • Chức năng Thêm vào giỏ hàng (Bảng 3.5b): Khách hàng xem danh sách hoa -> Chọn sản phẩm -> Thêm vào giỏ hàng -> Hệ thống hiển thị thông báo đã thêm.
  • Chức năng Xóa giỏ hàng (Bảng 3.6): Khách hàng kiểm tra danh sách trong giỏ -> Thực hiện xóa -> Hệ thống cập nhật xóa khỏi giỏ.
  • Chức năng Cập nhật trạng thái đơn hàng (Bảng 3.7): Admin đăng nhập -> Chọn đơn hàng -> Chọn trạng thái mới (Đã nhận, đang giao, bị hủy) -> Lưu trạng thái mới vào CSDL.
  • Chức năng Xóa danh mục (Bảng 3.8): Admin tìm danh mục cần xóa -> Nhấn lệnh xóa -> Hệ thống xóa dữ liệu danh mục khỏi CSDL.
  • Chức năng Cập nhật danh mục (Bảng 3.9): Admin chọn danh mục -> Chỉnh sửa thông tin cần thiết -> Cập nhật hiển thị và dữ liệu.
  • Chức năng Đặt hàng và thanh toán (Bảng 3.10): Khách hàng chọn hoa vào giỏ -> Vào giỏ hàng kiểm tra -> Chọn tiến hành thanh toán -> Nhập thông tin địa chỉ giao nhận -> Xác nhận đặt hàng -> Lưu hóa đơn vào nút Requests trên Firebase.

Nội dung chính theo từng chương

Chương 1. Tổng quan đề tài

Chương 1 thiết lập tính cấp thiết của đề tài trong bối cảnh thói quen mua sắm trực tuyến gia tăng mạnh mẽ tại Việt Nam, đặc biệt là giai đoạn giãn cách xã hội do đại dịch Covid-19 năm 2020. Tác giả dẫn chứng số liệu thị trường với 43,7 triệu người dùng điện thoại thông minh (chiếm 44,9% dân số). Nội dung chương trình bày mục đích xây dựng giải pháp phần mềm di động DFlower cho cửa hàng hoa LD ở Bình Dương nhằm giải quyết bài toán đặt hàng tiện lợi tại nhà, nâng cao khả năng cạnh tranh với các thương hiệu hoa tươi trực tuyến trên thị trường thông qua tối ưu hóa giao diện di động.

Chương 2. Cơ sở lý thuyết

Chương 2 trình bày tổng quan lý thuyết về hệ điều hành Android mã nguồn mở của Google. Nội dung phân tích chi tiết cấu trúc phân tầng của Android từ Linux Kernel 2.6, tầng thư viện gốc (C/C++ Libraries), cơ chế hoạt động của máy ảo Dalvik (DVM) với định dạng file .dex, tầng Android Framework với các thành phần cốt lõi (Activity, Service, BroadcastReceiver, Intent, Content Providers). Đồng thời, chương giới thiệu môi trường phát triển Eclipse, bộ công cụ Android SDK, trình giả lập Android Emulator và hệ thống các gói thư viện Java/Android phục vụ xây dựng ứng dụng.

Chương 3. Phân tích và thiết kế hệ thống

Chương 3 tập trung phân tích thiết kế hệ thống phần mềm. Tác giả lựa chọn giải pháp cơ sở dữ liệu thời gian thực Firebase Realtime Database (NoSQL JSON). Nội dung xác lập dòng chảy dữ liệu cho 2 nhóm đối tượng (Khách hàng và Quản trị viên), chi tiết hóa cấu trúc 4 bảng dữ liệu (Account, Category, Flower, Requests), xây dựng sơ đồ use case tổng quát, bảng đặc tả 6 ca sử dụng chính (UC01 đến UC06) và mô hình hóa 8 quy trình nghiệp vụ thông qua các biểu đồ hoạt động (Activity Diagrams).

Chương 4. Xây dựng ứng dụng

Chương 4 mô tả kết quả hiện thực hóa giao diện và tính năng của ứng dụng trên thiết bị di động, bao gồm 13 giao diện chính:

  • Màn hình dành cho khách hàng: Giao diện trang chủ (hiển thị sản phẩm mới nhất và bán chạy), giao diện đăng nhập, giao diện đăng ký tài khoản, giao diện danh sách sản phẩm lọc theo thể loại (hoa tình yêu, hoa viếng thăm...), giao diện chi tiết sản phẩm, giao diện giỏ hàng, giao diện form đặt hàng nhập địa chỉ và giao diện thông báo đặt hàng/thanh toán thành công.
  • Màn hình dành cho quản trị viên: Giao diện đăng nhập Admin, giao diện trang chủ Admin, giao diện quản trị danh mục (thêm, sửa, xóa), giao diện quản lý thành viên, giao diện quản lý đơn hàng và giao diện quản trị sản phẩm hoa.

Kết quả và đóng góp của đồ án

1. Kết quả kỹ thuật đạt được

  • Xây dựng hoàn chỉnh ứng dụng di động bán hoa DFlower chạy trên hệ điều hành Android, kết nối trực tiếp với cơ sở dữ liệu đám mây Firebase Realtime Database.
  • Hiện thực hóa đầy đủ các phân hệ chức năng cho khách hàng: đăng ký, đăng nhập, duyệt sản phẩm theo danh mục thể loại hoa, xem chi tiết thuộc tính sản phẩm, thêm/xóa giỏ hàng, nhập địa chỉ nhận hàng và tạo đơn hàng.
  • Hoàn thiện hệ thống quản trị dành cho Admin: kiểm soát tài khoản thành viên, quản lý và chỉnh sửa danh mục hoa, cập nhật thông tin sản phẩm hoa, tiếp nhận đơn và cập nhật 3 trạng thái đơn hàng (Đã nhận, đang giao, bị hủy).

2. Đóng góp của đề tài

  • Ứng dụng kiến thức chuyên ngành kỹ thuật phần mềm vào giải quyết bài toán chuyển đổi số và thương mại điện tử thực tế cho một cơ sở kinh doanh cụ thể (cửa hàng LD tại tỉnh Bình Dương).
  • Cung cấp mô hình tham khảo về việc tích hợp cơ sở dữ liệu thời gian thực Firebase Realtime Database vào ứng dụng Android native, giúp giảm thiểu độ trễ đồng bộ hóa dữ liệu đơn hàng giữa người mua và người bán.

Hạn chế và hướng phát triển của đề tài

1. Hạn chế

Tác giả thẳng thắn nhìn nhận trong quá trình phát triển đồ án khó tránh khỏi những thiếu sót nhất định về mặt kỹ thuật và tính năng do giới hạn thời gian thực hiện của đồ án môn học/chuyên ngành.

2. Hướng phát triển

  • Tiếp tục hoàn thiện các chức năng và tối ưu hóa hiệu năng của ứng dụng DFlower.
  • Đưa ứng dụng vào thử nghiệm thực tế tại cửa hàng LD ở Bình Dương.
  • Định hướng mở rộng quy mô giải pháp phần mềm để có thể áp dụng cho các chuỗi cửa hàng kinh doanh hoa tươi và bán lẻ tương tự.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Kỹ thuật phần mềm, Công nghệ thông tin: Tham khảo quy trình phân tích thiết kế hệ thống ứng dụng di động Android cơ bản, cách đặc tả Use Case, thiết kế biểu đồ hoạt động và xây dựng sơ đồ luồng dữ liệu.
  • Người phát triển ứng dụng di động Android với Firebase: Tham khảo cấu trúc mô hình hóa cơ sở dữ liệu dạng JSON NoSQL trên Firebase Realtime Database cho bài toán thương mại điện tử bán lẻ quy mô nhỏ.
  • Các đề tài khóa luận về ứng dụng thương mại điện tử: Tham khảo cách bố trí các phân hệ nghiệp vụ giữa khách hàng và quản trị viên trong quy trình đặt hàng – quản lý đơn hàng trực tuyến.

Câu hỏi thường gặp

1. Cơ sở dữ liệu của ứng dụng DFlower được tổ chức bằng công nghệ gì?

Ứng dụng sử dụng Firebase Realtime Database của Google, một hệ cơ sở dữ liệu NoSQL đám mây. Dữ liệu được lưu trữ dưới định dạng tệp JSON và đồng bộ hóa theo thời gian thực tới tất cả các thiết bị kết nối.

2. Dữ liệu tài khoản người dùng (Account) phân quyền quản trị viên và khách hàng như thế nào?

Trong bảng dữ liệu Account, hệ thống sử dụng trường Type để phân định quyền hạn: giá trị 0 đại diện cho tài khoản Quản trị viên (Admin) và giá trị 1 đại diện cho tài khoản Người dùng (Khách hàng).

3. Hóa đơn đặt hàng (Requests) trong hệ thống quản lý những trạng thái đơn hàng nào?

Trường Status trong bảng dữ liệu hóa đơn Requests ghi nhận 3 trạng thái của đơn hàng bao gồm: Đã nhận, đang giao, và bị hủy.

4. Tác giả đưa ra số liệu thống kê nào để minh chứng cho tiềm năng của ứng dụng di động tại Việt Nam?

Tác giả trích dẫn báo cáo của Adsota cho biết thị trường Việt Nam có 43,7 triệu người sử dụng thiết bị điện thoại thông minh (smartphone) trên tổng dân số 97,4 triệu người, đạt tỷ lệ 44,9%.

5. Những thành phần cốt lõi nào trong kiến trúc Android Framework được tác giả phân tích và ứng dụng?

Các thành phần cốt lõi được tác giả trình bày bao gồm: View UI (xây dựng giao diện tương tác), Content Providers (truy xuất và chia sẻ dữ liệu), Resource Manager (quản lý tài nguyên hình ảnh/âm thanh), Activity (khởi tạo màn hình ứng dụng), Service (dịch vụ chạy ngầm), BroadcastReceiver (tiếp nhận thông tin hệ thống), và Intent (truyền tải thông báo, kích hoạt thành phần).


Kết luận

Đồ án "Xây dựng ứng dụng di động bán hoa DFlower cho cửa hàng LD ở Bình Dương" của sinh viên Lê Văn Đông đã hoàn thành mục tiêu xây dựng một ứng dụng Android hoàn chỉnh kết nối Firebase Realtime Database phục vụ nhu cầu kinh doanh hoa tươi trực tuyến. Công trình cung cấp đầy đủ các bước phân tích yêu cầu, thiết kế cơ sở dữ liệu NoSQL, mô hình hóa use case, biểu đồ hoạt động và hiện thực hóa giao diện chức năng cho cả khách hàng lẫn quản trị viên. Kết quả đồ án phản ánh khả năng vận dụng kiến thức kỹ thuật phần mềm vào thực tiễn và mở ra hướng ứng dụng khả thi cho các mô hình cửa hàng bán lẻ quy mô vừa và nhỏ.