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

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, thương mại điện tử (TMĐT) đã trở thành phương thức kinh doanh phổ biến, giúp các tổ chức và doanh nghiệp tiếp cận khách hàng trên diện rộng với chi phí vận hành tối ưu. Đối với các cửa hàng và cơ sở kinh doanh thời trang quy mô vừa và nhỏ, việc quảng bá sản phẩm, quản lý tồn kho và tiếp cận người tiêu dùng trực tuyến là yêu cầu cấp thiết để duy trì năng lực cạnh tranh.

Đề tài "Xây dựng ứng dụng di động quản lý cửa hàng thời trang" được thực hiện trong khuôn khổ tiểu luận môn học Phát triển ứng dụng di động tại Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một bởi nhóm sinh viên Lê Thanh Hiệp và Võ Văn Hiệp, dưới sự hướng dẫn của giảng viên Nguyễn Hữu Vĩnh (tháng 4/2021).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Nghiên cứu cơ sở lý thuyết và công nghệ lập trình ứng dụng trên nền tảng hệ điều hành Android và ngôn ngữ Java.
  2. Khảo sát, phân tích bài toán thực tế về mô hình kinh tế chia sẻ ứng dụng cho các shop thời trang vừa và nhỏ; trong đó các chủ cửa hàng có thể tạo tài khoản, đăng bán và quản lý sản phẩm, còn khách hàng có thể tìm kiếm, đặt hàng và thanh toán trực tiếp trên thiết bị di động.
  3. Phân tích và thiết kế hệ thống phần mềm hoàn chỉnh bằng ngôn ngữ mô hình hóa UML (bao gồm phân loại tác nhân, biểu đồ Use Case, biểu đồ phân tích lớp, biểu đồ hoạt động, biểu đồ tuần tự và biểu đồ giao tiếp).
  4. Thiết kế giao diện và xây dựng các chức năng của ứng dụng (đặt tên là ATA - Actual Time of Arrival) sử dụng Android Studio và tích hợp các dịch vụ Firebase.

Đối tượng nghiên cứu của đồ án là quy trình quản lý thông tin sản phẩm, đơn hàng, khách hàng, hoạt động mua bán và bảo hành hàng hóa. Phạm vi nghiên cứu tập trung vào việc triển khai ứng dụng trên hệ điều hành Android, ứng dụng mô hình thu phí duy trì (dự kiến 10% tổng doanh thu hàng tháng cộng với 200.000 VNĐ phí tài khoản cho mỗi chủ cửa hàng) nhằm hỗ trợ các cửa hàng thời trang vừa và nhỏ vận hành kinh doanh trực tuyến.

Cơ sở lý thuyết và phương pháp

Tài liệu sử dụng nền tảng lý thuyết về phát triển phần mềm di động, kiến trúc hệ điều hành và kỹ thuật phân tích thiết kế hướng đối tượng (OOAD).

Khung lý thuyết và công nghệ sử dụng

  • Hệ điều hành Android: Nền tảng mã nguồn mở dựa trên nhân Linux, có cấu trúc 4 lớp gồm 5 thành phần chính:
    • Nhân Linux (Linux Kernel): Quản lý phần cứng, bộ nhớ, tiến trình và giao tiếp mức thấp.
    • Thư viện (Libraries): Các thư viện C/C++ tích hợp như SQLite (quản lý cơ sở dữ liệu), WebKit (trình duyệt).
    • Android Runtime: Môi trường thực thi ứng dụng gồm các thư viện lõi và máy ảo Dalvik (hoặc ART trên các phiên bản mới) giúp tối ưu hóa hiệu năng CPU và năng lượng pin.
    • Khung ứng dụng (Android Framework): Cung cấp các API mức cao cho nhà phát triển (quản lý kết nối, thông báo, truy xuất dữ liệu).
    • Tầng ứng dụng (Applications): Tập hợp các ứng dụng cài đặt trên thiết bị như Danh bạ, Trình duyệt và ứng dụng do người dùng phát triển.
  • Các thành phần cốt lõi trong lập trình Android:
    • Activity: Đại diện cho một màn hình giao diện tương tác; quản lý theo vòng đời gồm 6 phương thức: onCreate(), onStart(), onResume(), onPause(), onStop(), và onRestart().
    • Service: Thành phần thực thi các tác vụ chạy ngầm không có giao diện trực quan.
    • Content Provider: Cơ chế chia sẻ và quản lý truy xuất dữ liệu giữa các ứng dụng thông qua đối tượng ContentResolver.
    • Broadcast Receiver: Thành phần tiếp nhận và phản hồi các thông điệp quảng bá từ hệ thống hoặc ứng dụng khác.
    • View và ViewGroup (Widget): Các đối tượng xây dựng giao diện người dùng XML.
    • Intent: Cầu nối truyền thông điệp và dữ liệu giữa các Activity.
  • Ngôn ngữ lập trình Java: Ngôn ngữ hướng đối tượng, đa nền tảng dựa trên máy ảo Java (JVM) và bộ phát triển phần mềm J2SDK.
  • Nền tảng Firebase (Google):
    • Firebase Realtime Database: Cơ sở dữ liệu NoSQL lưu trữ dưới dạng JSON, hỗ trợ đồng bộ dữ liệu thời gian thực và chế độ làm việc offline.
    • Firebase Authentication: Hệ thống xác thực người dùng tích hợp (Email, Google, Facebook, v.v.).
    • Firebase Cloud Messaging (FCM), Firebase Storage, Firebase Hosting, Firebase Test Lab & Crash Reporting.

Phương pháp nghiên cứu và triển khai

Tác giả áp dụng quy trình phát triển phần mềm tuần tự:

  • Khảo sát thực trạng và xác định yêu cầu bài toán quản lý cửa hàng thời trang.
  • Nghiên cứu tài liệu kỹ thuật về Java, Android SDK và Firebase.
  • Phân tích và thiết kế hệ thống bằng UML: xây dựng danh mục Use Case, biểu đồ gói Use Case, đặc tả kịch bản Use Case, biểu đồ lớp thực thể - lớp biên - lớp điều khiển, biểu đồ hoạt động, biểu đồ tuần tự và biểu đồ giao tiếp.
  • Hiện thực hóa hệ thống trên IDE Android Studio và kiểm thử các nhóm chức năng trên môi trường giả lập/thiết bị thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo hướng module hóa, phân định rõ ràng quyền hạn giữa các nhóm tác nhân và các luồng xử lý dữ liệu.

Phân loại tác nhân (Actors)

Tác nhân Phân loại Quyền hạn và chức năng chính
Khách hàng viếng thăm Người dùng ngoài Xem danh sách sản phẩm, xem chi tiết sản phẩm, tìm kiếm, đưa sản phẩm vào giỏ hàng, xem tin tức/sự kiện, đăng ký tài khoản.
Khách hàng thành viên Người dùng đã xác thực Thừa hưởng quyền của khách viếng thăm; bổ sung: Đăng nhập, đặt mua hàng, quản lý đơn hàng cá nhân, thanh toán, chỉnh sửa thông tin cá nhân.
Nhân viên Người dùng nội bộ Thừa hưởng quyền thành viên; bổ sung: Xem danh sách đơn hàng toàn hệ thống, cập nhật trạng thái đơn hàng, cập nhật sản phẩm/đơn giá, tiếp nhận và xử lý giao hàng, thực hiện bảo hành.
Giám đốc / Quản trị viên Quản trị cấp cao Toàn quyền hệ thống, phân quyền nhân viên, quản lý danh sách thành viên, quản lý danh mục sản phẩm, xem báo cáo và thống kê doanh thu.
Hệ thống thanh toán Tác nhân phần mềm Xử lý các giao dịch thanh toán trực tuyến được chuyển tiếp từ ứng dụng.

Cấu trúc các gói Use Case và danh mục chức năng

Hệ thống phân rã thành 7 gói Use Case chính bao quát 16 Use Case chức năng:

Gói Use Case Các Use Case trực thuộc Mô tả nghiệp vụ
Gói Đăng ký, Đăng nhập Đăng ký thành viên, Đăng nhập Tạo tài khoản người dùng mới, kiểm tra hợp lệ và lưu vào Database; xác thực phiên làm việc.
Gói Quản lý thông tin cá nhân Xem thông tin cá nhân, Sửa thông tin cá nhân Cho phép thành viên tra cứu và cập nhật dữ liệu tài khoản, địa chỉ liên hệ.
Gói Quản lý danh sách thành viên Quản lý thành viên, Phân quyền Hỗ trợ Quản trị viên theo dõi thông tin tài khoản và phân quyền nhân viên.
Gói Quản lý danh mục sản phẩm Đăng sản phẩm, Cập nhật sản phẩm, Xóa sản phẩm Hỗ trợ chủ cửa hàng/nhân viên đăng tải hình ảnh (trong 30 giây), chỉnh sửa giá bán và phân loại kho hàng.
Gói Mua hàng Chọn sản phẩm, Thêm/bớt vào giỏ hàng, Thanh toán Khách hàng lựa chọn hàng hóa, điều chỉnh giỏ hàng, chọn phương thức thanh toán và xác nhận đơn.
Gói Tiếp nhận & Xử lý đơn hàng Tiếp nhận đơn, Giao nhân viên, Nhận và giao hàng, Báo cáo Quản lý phân công đơn hàng cho nhân viên giao vận; nhân viên cập nhật tiến độ giao dịch.
Gói Bảo hành sản phẩm Yêu cầu bảo hành, Tiếp nhận yêu cầu, Phân công, Thực hiện sửa chữa, Nhận lại thiết bị, Thanh toán phí Tiếp nhận phản hồi sản phẩm lỗi, kiểm tra thời hạn bảo hành, tính phí phát sinh (nếu hết hạn) và bàn giao.

Mô hình hóa tương tác hệ thống

Tài liệu xây dựng đầy đủ các mô hình tương tác hướng đối tượng:

  • Biểu đồ phân tích lớp thực thể, lớp biên và lớp điều khiển: Phân định ranh giới giữa giao diện người dùng (Form đăng ký, Form giỏ hàng, v.v.), bộ xử lý trung tâm (Controller) và kho lưu trữ dữ liệu (Database).
  • Biểu đồ hoạt động (Activity Diagram): Mô tả luồng xử lý nghiệp vụ cho các Use Case Đăng ký, Đăng nhập, Sửa thông tin cá nhân, Quản lý thành viên, Mua hàng & Xử lý đơn hàng, Bảo hành sản phẩm.
  • Biểu đồ tuần tự (Sequence Diagram) và Biểu đồ giao tiếp (Communication Diagram): Mô hình hóa thứ tự truyền thông điệp giữa các đối tượng trong từng kịch bản tương tác cụ thể.

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

Chương I: Giới thiệu tổng quan đề tài

Chương mở đầu phân tích bối cảnh phát triển của thương mại điện tử và sự dịch chuyển thói quen mua sắm sang thiết bị di động. Tác giả giới thiệu thông tin dự án ứng dụng ATA (Actual Time of Arrival) với mục tiêu xây dựng kênh mua bán trực tuyến tiện lợi cho các cửa hàng thời trang nhỏ và vừa. Nội dung chương trình bày chi tiết các tính năng dự kiến: đăng tin rao bán nhanh chóng (chụp hình đăng tải trong 30 giây), quản lý kho hàng, xử lý giỏ hàng, tích hợp hộp thoại trò chuyện trực tiếp (chatbox) giữa khách hàng và bộ phận hỗ trợ, cùng cơ chế tìm kiếm thông minh. Đồng thời, chương này xác định phương pháp triển khai dự án, công cụ phát triển (Android Studio, Java) và bố cục tổng thể của báo cáo.

Chương II: Tổng quan về hệ điều hành Android

Chương II hệ thống hóa toàn bộ cơ sở lý thuyết nền tảng phục vụ cho quá trình xây dựng ứng dụng:

  • Trình bày lịch sử phát triển của hệ điều hành Android, giấy phép nguồn mở Apache và kiến trúc 4 lớp/5 thành phần cốt lõi.
  • Phân tích ngôn ngữ lập trình Java và môi trường thực thi máy ảo JVM.
  • Trình bày chi tiết các thành phần cơ bản của ứng dụng Android: cơ chế hoạt động và vòng đời của Activity, chức năng xử lý ngầm của Service, khả năng chia sẻ dữ liệu qua Content Provider, cơ chế nhận thông điệp qua Broadcast Receiver, cấu trúc giao diện View/ViewGroup, và vai trò điều hướng dữ liệu của Intent.
  • Tổng quan hệ sinh thái dịch vụ đám mây Firebase của Google: Firebase Realtime Database (cơ sở dữ liệu đồng bộ thời gian thực dưới định dạng JSON), Firebase Authentication (xác thực người dùng), Firebase Hosting, Firebase Cloud Messaging (gửi thông báo), Firebase Storage (lưu trữ tệp đa phương tiện) và Firebase Crash Reporting/Test Lab (hỗ trợ kiểm thử và chẩn đoán lỗi).

Chương III: Phân tích và thiết kế

Chương III là phần nội dung trọng tâm của đồ án, tập trung giải quyết bài toán mô hình hóa hệ thống:

  • Định nghĩa bài toán nghiệp vụ mua bán, quản lý kho hàng và quy trình bảo hành sản phẩm.
  • Xác định và phân loại 5 tác nhân (Actor) tham gia hệ thống: Khách hàng viếng thăm, Khách hàng thành viên, Nhân viên, Giám đốc, và Hệ thống thanh toán trực tuyến.
  • Thiết lập bảng danh mục 16 Use Case và tổ chức thành 7 gói Use Case chuyên biệt.
  • Xây dựng bảng đặc tả chi tiết cho từng Use Case (mục đích, điều kiện kích hoạt, luồng sự kiện chính, luồng thay thế, luồng ngoại lệ và hậu điều kiện).
  • Thiết kế hệ thống biểu đồ UML hoàn chỉnh: Biểu đồ Use Case tổng quát và chi tiết từng gói, biểu đồ lớp thực thể và lớp biên, 7 biểu đồ hoạt động, 7 biểu đồ tuần tự và 7 biểu đồ giao tiếp mô hình hóa tương tác giữa các thực thể phần mềm.

Chương IV: Cài đặt ứng dụng

Chương IV trình bày kết quả hiện thực hóa phần mềm với các giao diện người dùng được thiết kế trên nền tảng Android:

  • Giao diện Đăng ký tài khoản và Đăng nhập hệ thống (Hình 39, Hình 40).
  • Giao diện Trang chủ ứng dụng (Hình 41).
  • Giao diện Xem thông tin và chi tiết sản phẩm (Hình 42).
  • Giao diện Đăng sản phẩm mới và Giao diện Cập nhật sản phẩm (Hình 43, Hình 44).
  • Giao diện Quản lý kho hàng của khách hàng thành viên (Hình 45).
  • Giao diện Giỏ hàng và tiến hành đặt hàng (Hình 46).

Kết quả và đóng góp

Kết quả chính

  • Hoàn thành đầy đủ hồ sơ phân tích thiết kế phần mềm theo chuẩn UML cho hệ thống quản lý và kinh doanh thời trang trên thiết bị di động, bao gồm 16 Use Case, 7 gói chức năng, 38 hình vẽ biểu đồ và sơ đồ tương tác.
  • Triển khai thành công ứng dụng di động ATA trên hệ điều hành Android bằng ngôn ngữ Java, tích hợp giao diện người dùng hoàn chỉnh cho các chức năng xác thực, duyệt danh mục, quản lý kho, giỏ hàng và đăng tải sản phẩm.
  • Ứng dụng thành công các công nghệ đám mây Firebase trong việc quản lý cơ sở dữ liệu thời gian thực và xác thực người dùng.

Đóng góp thực tiễn

  • Đề xuất mô hình kinh tế chia sẻ ứng dụng trong lĩnh vực bán lẻ thời trang: tạo nền tảng cho phép các chủ shop vừa và nhỏ tự quản lý gian hàng và bán trực tiếp tới người tiêu dùng với cơ chế chi phí rõ ràng (10% doanh thu + 200.000 VNĐ phí duy trì).
  • Tối ưu hóa quy trình đăng tin bán hàng trực tuyến với thao tác đơn giản, hỗ trợ chụp hình và đăng bán nhanh chóng trong vòng 30 giây, tạo điều kiện thuận lợi cho người bán tiếp cận khách hàng.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Trong văn bản báo cáo còn tồn tại một số điểm không đồng nhất về mặt biên tập dữ liệu (ví dụ: phần nhận xét của giảng viên ghi tên đề tài là "Xây dựng ứng dụng kế toán gia đình", phần lời mở đầu có đoạn mô tả đề cập đến "sản phẩm thức ăn nhanh/thiết bị máy tính" do việc kế thừa cấu trúc tài liệu mẫu).
  • Hệ thống mới tập trung phát triển trên nền tảng Android, chưa hỗ trợ đa nền tảng (chưa có phiên bản iOS tương ứng).
  • Các chức năng nâng cao như cổng thanh toán trực tuyến và module chatbox chăm sóc khách hàng tự động mới dừng lại ở mức thiết kế phân tích và giao diện, chưa hoàn thiện tích hợp sâu các API thanh toán ngân hàng thực tế.

Hướng nghiên cứu tiếp

  • Hoàn thiện tích hợp cổng thanh toán trực tuyến đa kênh (ví điện tử, thẻ tín dụng/ATM nội địa).
  • Phát triển phiên bản ứng dụng trên hệ điều hành iOS để đồng bộ trải nghiệm người dùng trên các thiết bị di động khác nhau.
  • Tối ưu hóa cơ sở dữ liệu Firebase, bổ sung các thuật toán gợi ý sản phẩm thông minh và mở rộng module phân tích số liệu kinh doanh chuyên sâu cho chủ cửa hàng.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang thực hiện tiểu luận môn học hoặc đồ án tốt nghiệp liên quan đến lập trình ứng dụng di động (Android/Java) và hệ thống thương mại điện tử.
  • Người học cần tài liệu mẫu về quy trình phân tích thiết kế hệ thống hướng đối tượng (OOAD) sử dụng UML, đặc biệt là phương pháp phân rã gói Use Case, viết đặc tả kịch bản và vẽ biểu đồ tuần tự/giao tiếp.
  • Các nhà phát triển muốn tìm hiểu kiến trúc tích hợp giữa ứng dụng di động Android và các dịch vụ nền tảng Firebase (Realtime Database, Authentication, Cloud Messaging).

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

1. Tên gọi và ý nghĩa của ứng dụng được xây dựng trong đồ án là gì?
Ứng dụng được đặt tên là ATA, viết tắt của cụm từ "Actual Time of Arrival" (Thời gian đến thực tế), hướng đến nền tảng mua bán, rao vặt và quản lý cửa hàng thời trang trực tuyến tiện lợi.

2. Kiến trúc hệ điều hành Android được trình bày trong tài liệu gồm những thành phần nào?
Android được cấu trúc thành 4 lớp gồm 5 thành phần chính: Nhân Linux (Linux Kernel), Thư viện (Libraries), Android Runtime (với máy ảo Dalvik/ART), Khung ứng dụng (Android Framework), và Tầng ứng dụng (Applications).

3. Hệ thống phân định bao nhiêu nhóm tác nhân (Actor) và quyền hạn khác nhau như thế nào?
Hệ thống xác định 5 tác nhân chính gồm: Khách hàng viếng thăm (chỉ xem và tìm kiếm), Khách hàng thành viên (thêm quyền đặt mua, thanh toán, quản lý giỏ hàng), Nhân viên (thêm quyền duyệt đơn, cập nhật hàng hóa, xử lý bảo hành), Giám đốc/Quản trị viên (toàn quyền hệ thống và phân quyền), và Hệ thống thanh toán trực tuyến (tác nhân phần mềm xử lý giao dịch).

4. Những dịch vụ nào của nền tảng Firebase được nghiên cứu để ứng dụng trong đồ án?
Tài liệu trình bày 6 dịch vụ cốt lõi của Firebase: Firebase Realtime Database (CSDL JSON thời gian thực), Firebase Authentication (xác thực người dùng), Firebase Hosting, Firebase Cloud Messaging (thông báo đẩy), Firebase Storage (lưu trữ tệp), cùng bộ công cụ Firebase Test Lab và Crash Reporting (kiểm thử và chẩn đoán lỗi).

5. Vòng đời của một Activity trong Android trải qua những phương thức sự kiện nào theo tài liệu?
Vòng đời của Activity được điều khiển qua 6 phương thức sự kiện cơ bản: onCreate() (khi khởi tạo), onStart() (khi hiển thị), onResume() (khi tương tác với người dùng), onPause() (khi tạm dừng), onStop() (khi không còn hiển thị), và onRestart() (khi khởi động lại sau khi dừng).

Kết luận

Đồ án "Xây dựng ứng dụng di động quản lý cửa hàng thời trang" của nhóm sinh viên Trường Đại học Thủ Dầu Một đã hệ thống hóa đầy đủ quy trình xây dựng phần mềm di động từ khâu khảo sát yêu cầu, phân tích thiết kế UML chi tiết đến triển khai giao diện trên nền tảng Android và Java. Đề tài đã đề xuất giải pháp ứng dụng mô hình kinh tế chia sẻ hỗ trợ các shop thời trang vừa và nhỏ kinh doanh trực tuyến hiệu quả. Đây là tài liệu học thuật có giá trị tham khảo thiết thực về phương pháp luận thiết kế hệ thống và kỹ thuật lập trình ứng dụng di động cho sinh viên ngành Công nghệ thông tin.