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

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

Trong bối cảnh nền kinh tế tăng trưởng và mức sống người dân được nâng cao, nhu cầu tiêu dùng xã hội có sự chuyển dịch từ tiêu chuẩn cơ bản sang chất lượng và thẩm mỹ cao hơn. Đồng thời, giai đoạn diễn biến phức tạp của dịch bệnh COVID-19 đã làm hạn chế hoạt động di chuyển trực tiếp, thúc đẩy mạnh mẽ xu hướng thương mại điện tử và mua sắm trực tuyến. Đối với các đơn vị kinh doanh thời trang, việc tiếp cận khách hàng ở khoảng cách xa với chi phí tối ưu, đồng thời kiểm soát hiệu quả danh mục hàng hóa đa dạng là yêu cầu cấp thiết.

Xuất phát từ thực tiễn đó, tác giả Hoàng Thị Quỳnh Như đã thực hiện đồ án tốt nghiệp với đề tài "Phát triển ứng dụng quản lý shop thời trang trên nền tảng Android" nhằm xây dựng một giải pháp phần mềm hỗ trợ hoạt động bán lẻ trực tuyến, kết nối giữa cửa hàng và người tiêu dùng.

2. Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của đồ án là xây dựng ứng dụng di động hỗ trợ giao dịch quần áo, mở rộng thị trường khách hàng từ xa, đồng thời tin học hóa quy trình quản lý kho hàng, đơn hàng và thống kê doanh thu.

Hệ thống nhiệm vụ cụ thể được xác định bao gồm:

  1. Khảo sát nghiệp vụ bán hàng thực tế tại cửa hàng thời trang để thu thập yêu cầu hệ thống.
  2. Nghiên cứu cơ sở lý thuyết về hệ điều hành Android, hệ quản trị cơ sở dữ liệu SQLite và phương pháp mô hình hóa hướng đối tượng với StarUML.
  3. Phân tích yêu cầu chức năng và phi chức năng cho hai nhóm đối tượng: Quản trị viên (Admin) và Khách hàng thành viên.
  4. Thiết kế hệ thống thông qua các biểu đồ Use Case tổng quát, Use Case phân rã, biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram) và thiết kế cơ sở dữ liệu quan hệ.
  5. Cài đặt và kiểm thử các chức năng của ứng dụng trên môi trường Android Studio.

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

  • Đối tượng nghiên cứu: Quy trình quản lý kinh doanh, bán hàng thời trang và kỹ thuật phát triển ứng dụng di động trên hệ điều hành Android.
  • Phạm vi khảo sát thực tế: Nghiệp vụ quản lý bán hàng tại cửa hàng Jonhenry thuộc Trung tâm thương mại Big C Thăng Long, Hà Nội.
  • Thời gian và kế hoạch triển khai: Dự án được thực hiện trong thời gian từ ngày 25/12/2021 đến ngày 25/03/2022 (ghi nhận trong tiến độ đồ án là 4 tuần làm việc trọng tâm).

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

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

  • Hệ điều hành Android: Hệ điều hành nguồn mở dựa trên nhân Linux do Google phát triển (phát hành lần đầu ngày 23/09/2008), hỗ trợ các kiến trúc vi xử lý ARM, MIPS, Power Architecture, x86. Hệ thống cho phép tối ưu hóa hiệu suất thiết bị di động, quản lý ứng dụng qua tệp tin APK và Google Play. Ngôn ngữ lập trình nền tảng của hệ thống là Java, C, C++.
  • Hệ quản trị cơ sở dữ liệu SQLite: Thư viện phần mềm triển khai công cụ cơ sở dữ liệu quan hệ nhỏ gọn, không hoạt động theo mô hình Client - Server mà lưu trữ toàn bộ dữ liệu trong một tập tin duy nhất. SQLite tuân thủ đầy đủ 4 tính chất ACID (Atomicity - Nguyên tố, Consistency - Nhất quán, Isolation - Cô lập, Durability - Bền vững), phù hợp cho ứng dụng di động có tài nguyên giới hạn.
  • Phương pháp mô hình hóa và công cụ StarUML: Phần mềm hỗ trợ ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) theo định hướng kiến trúc điều khiển theo mô hình (Model Driven Architecture - MDA), hỗ trợ phân tích thiết kế hệ thống độc lập với ngôn ngữ lập trình.

2. Phương pháp nghiên cứu

  • Phương pháp khảo sát và thu thập thông tin: Tiếp cận tài liệu kỹ thuật, nghiên cứu cấu trúc dữ liệu và khảo sát quy trình quản lý thực tế tại cửa hàng thời trang Jonhenry (Big C Thăng Long).
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng các biểu đồ chuẩn UML (Use Case, Activity, Sequence, Class Diagram) để mô hình hóa hành vi người dùng và cấu trúc hệ thống.
  • Phương pháp thực nghiệm phát triển phần mềm: Lập trình ứng dụng trên môi trường Android Studio bằng ngôn ngữ Java, tích hợp cơ sở dữ liệu SQLite cục bộ.

3. Công cụ và môi trường triển khai

Danh mục Chi tiết công cụ / Môi trường
Công cụ phần mềm Android Studio, StarUML, Microsoft Word, Microsoft Project, Microsoft PowerPoint
Ngôn ngữ lập trình Java
Cơ sở dữ liệu SQLite
Môi trường kiểm thử Hệ điều hành Windows 10, thiết bị/máy ảo có cấu hình tương đương người dùng cuối

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

1. Phân tích yêu cầu chức năng theo tác nhân

Hệ thống xác định 2 tác nhân chính tương tác với ứng dụng:

  • Tác nhân Khách hàng thành viên: Đăng ký tài khoản, đăng nhập hệ thống, quản lý thông tin cá nhân, đổi mật khẩu, tìm kiếm sản phẩm (theo tên, theo mã, theo mức giá), xem thông tin chi tiết sản phẩm, quản lý giỏ hàng, đặt hàng và xem hóa đơn.
  • Tác nhân Quản trị viên (Admin): Đăng nhập quyền quản trị, quản lý thông tin hệ thống, quản lý danh mục sản phẩm (thêm, sửa, xóa, hiển thị), quản lý người dùng, quản lý hóa đơn/giao dịch, thống kê doanh thu theo ngày và theo tháng.

2. Thiết kế cơ sở dữ liệu

Hệ thống sử dụng cơ sở dữ liệu SQLite gồm 6 bảng thực thể chính:

Bảng Khach_Hang (Khách hàng)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Makh Int Khóa chính Mã định danh khách hàng
2 Tenkh nvarchar Not null Tên khách hàng
3 Email nvarchar Not null Địa chỉ thư điện tử
4 Gioitinh nvarchar Not null Giới tính
5 ngaysinh nvarchar Not null Ngày tháng năm sinh
6 Sdt nvarchar Not null Số điện thoại liên hệ
7 Diachi nvarchar Not null Địa chỉ cư trú

Bảng San_Pham (Sản phẩm)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Masp Int Khóa chính Mã sản phẩm
2 Tensp nvarchar Not null Tên sản phẩm
3 Diachi nvarchar Not null Địa chỉ/nguồn gốc
4 Mota nvarchar Not null Mô tả chi tiết sản phẩm
5 Soluong int Not null Số lượng tồn kho
6 Giatien double Not null Đơn giá sản phẩm
7 Anh Text Not null Đường dẫn hình ảnh minh họa

Bảng Hoa_don (Hóa đơn)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Mahd Int Khóa chính Mã hóa đơn
2 Tenkh nvarchar Not null Tên khách hàng mua
3 Diachi nvarchar Not null Địa chỉ giao hàng
4 Sdt nvarchar Not null Số điện thoại nhận hàng
5 Ngay nvarchar Not null Ngày lập hóa đơn
6 Tongtien double Not null Tổng giá trị thanh toán

Bảng Gio_hang (Giỏ hàng)

STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Magh Int Khóa chính Mã giỏ hàng
2 Masp int Not null Mã sản phẩm chọn mua
3 Tensp nvarchar Not null Tên sản phẩm
4 Soluong int Not null Số lượng đặt mua
5 Anh Text Not null Hình ảnh sản phẩm
6 Giatien double Not null Đơn giá

Bảng Nguoi_dung và Bảng Admin

  • Bảng Nguoi_dung: Lưu trữ tài khoản người dùng thông thường gồm hai trường Taikhoan (nvarchar, Khóa chính) và Matkhau (nvarchar, Not null).
  • Bảng Admin: Lưu trữ tài khoản quản trị hệ thống gồm hai trường Taikhoan (nvarchar, Khóa chính) và Matkhau (nvarchar, Not null).

3. Cài đặt và kiểm thử chức năng

Cấu trúc mã nguồn được phân chia theo mô hình phát triển ứng dụng Android tiêu chuẩn, bao gồm: các tệp tin giao diện (layout XML), các Activity điều hướng chính (MainActivity), lớp quản lý cơ sở dữ liệu (Database), các Adapter xử lý danh sách dữ liệu (Adapter), cấu hình hiển thị View và tệp tin khai báo hệ thống AndroidManifest.xml.

Quy trình kiểm thử giao diện và luồng nghiệp vụ được thực hiện trên các màn hình:

  • Màn hình Đăng ký / Đăng nhập: Kiểm tra tính hợp lệ của dữ liệu nhập (tài khoản, mật khẩu), xử lý lưu trữ vào SQLite và thông báo phản hồi.
  • Màn hình Trang chủ (Home): Hiển thị danh mục sản phẩm gồm tên, đơn giá, hình ảnh; tích hợp thanh tìm kiếm và nút chọn sản phẩm vào giỏ hàng.
  • Màn hình Giỏ hàng & Thanh toán: Cho phép cập nhật số lượng, xóa sản phẩm khỏi giỏ, nhập địa chỉ nhận hàng, số điện thoại và xác nhận lập hóa đơn.
  • Màn hình Quản trị: Cung cấp giao diện quản lý danh mục sản phẩm (thêm/sửa/xóa), quản lý hóa đơn, quản lý tài khoản người dùng và màn hình thống kê doanh thu.

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

CHƯƠNG 1: KHẢO SÁT VÀ CƠ SỞ LÝ THUYẾT

Chương này tập trung trình bày tính cấp thiết của đề tài trong bối cảnh thương mại điện tử phát triển; giới thiệu tổng quan về hệ điều hành Android (lịch sử phát triển, kiến trúc, khả năng đa nhiệm và quản lý gói APK); làm rõ các đặc tính kỹ thuật của hệ quản trị cơ sở dữ liệu SQLite (cơ chế lưu trữ đơn tệp, tính chất ACID, sự tiện lợi khi nhúng vào ứng dụng di động); trình bày vai trò của phần mềm StarUML trong quy trình phân tích thiết kế hệ thống. Đồng thời, chương 1 xác định thông tin tổng quan về dự án, kế hoạch thực hiện và kết quả khảo sát quy trình quản lý thực tế tại cửa hàng Jonhenry (Big C Thăng Long).

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương 2 là nội dung trọng tâm về mặt kỹ thuật, chi tiết hóa toàn bộ hệ thống phần mềm:

  • Phân tích yêu cầu: Liệt kê chi tiết yêu cầu chức năng (quản lý sản phẩm, quản lý hóa đơn, quản lý người dùng, giỏ hàng, tìm kiếm, thống kê) và yêu cầu phi chức năng (tính bảo mật, giao diện trực quan, hiệu năng ổn định).
  • Mô hình Use Case: Xây dựng biểu đồ tổng quát và phân rã các Use Case chính (Quản lý thông tin, Tìm kiếm sản phẩm, Thống kê, Quản lý người dùng, Quản lý sản phẩm, Đặt mua).
  • Mô hình tuần tự và hoạt động: Mô tả chi tiết dòng sự kiện, tương tác giữa tác nhân, giao diện, bộ điều khiển và cơ sở dữ liệu đối với từng nghiệp vụ (Đăng ký, Đăng nhập, Đặt hàng, Thêm/Sửa/Xóa sản phẩm, Tìm kiếm, Thống kê).
  • Thiết kế đối tượng và CSDL: Định nghĩa danh sách 6 lớp đối tượng (Admin, San_Pham, Hoa_don, Nguoi_dung, Khach_Hang, Gio_hang) và thiết kế cấu trúc chi tiết cho các bảng dữ liệu trong SQLite.

CHƯƠNG 3: CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG

Chương 3 trình bày việc hiện thực hóa các mô hình thiết kế thành mã nguồn thực tế:

  • Bố trí cấu trúc thư mục dự án trong Android Studio (Layout, Activity, Database, Adapter, Manifests).
  • Trình bày kết quả xây dựng giao diện người dùng qua các màn hình chức năng: Đăng ký, Đăng nhập, Trang chủ (Home), Chi tiết sản phẩm, Giỏ hàng, Thanh toán, Quản lý sản phẩm, Quản lý hóa đơn, Quản lý người dùng và Thống kê doanh thu.
  • Kiểm thử các ca sử dụng cơ bản, đánh giá khả năng phản hồi của hệ thống khi nhập liệu hợp lệ và không hợp lệ.

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

1. Kết quả chính đạt được

  • Xây dựng thành công ứng dụng Android quản lý và bán hàng thời trang hoàn chỉnh về mặt giao diện và luồng xử lý nghiệp vụ cơ bản.
  • Thiết kế và triển khai cơ sở dữ liệu SQLite gồm 6 bảng thực thể quan hệ, đảm bảo tính toàn vẹn dữ liệu cho các giao dịch thêm, sửa, xóa, tìm kiếm và thanh toán.
  • Thiết lập đầy đủ hai phân hệ người dùng: Phân hệ khách hàng (xem, tìm kiếm, giỏ hàng, đặt hàng) và Phân hệ quản trị (quản lý kho hàng, quản lý đơn hàng, người dùng và thống kê doanh thu theo ngày/tháng).
  • Xây dựng hệ thống hồ sơ thiết kế phần mềm chuẩn hóa bằng UML (bao gồm bảng use case, biểu đồ tuần tự, biểu đồ hoạt động và sơ đồ lớp).

2. Giải pháp và quy trình nghiệp vụ đề xuất

  • Tự động hóa quy trình tính toán doanh thu: Thiết lập công thức tính doanh thu ngày dựa trên tổng giá trị các hóa đơn phát sinh trong ngày, và doanh thu tháng bằng tổng doanh thu các ngày trong tháng.
  • Quy trình kiểm soát đơn hàng: Người quản lý tiếp nhận đơn đặt hàng từ ứng dụng, kiểm tra số lượng tồn kho thực tế, xác nhận duyệt đơn hoặc liên hệ khách hàng để hủy/thay đổi đơn nếu hết hàng trước khi tiến hành thanh toán.

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

  • Đưa ra giải pháp ứng dụng di động chi phí thấp cho các cửa hàng bán lẻ thời trang vừa và nhỏ, giúp tiếp cận nhóm khách hàng không có điều kiện đến mua trực tiếp.
  • Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết từ khảo sát thực tế (cửa hàng Jonhenry) đến mô hình hóa phần mềm bằng StarUML và lập trình ứng dụng Android.

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

1. Hạn chế

  • Hệ thống sử dụng cơ sở dữ liệu SQLite cục bộ (local database) lưu trữ trực tiếp trên thiết bị, chưa kết nối hệ thống máy chủ cơ sở dữ liệu phân tán (Client - Server trực tuyến qua Web API / Cloud Database) để đồng bộ dữ liệu thời gian thực giữa nhiều thiết bị cùng lúc.
  • Quy trình thanh toán mới dừng lại ở mức mô phỏng lưu trữ thông tin hóa đơn và thông tin đặt hàng, chưa tích hợp các cổng thanh toán trực tuyến (ví điện tử, thẻ ngân hàng).
  • Môi trường thử nghiệm chủ yếu tiến hành trên máy tính cá nhân và môi trường giả lập, chưa triển khai thử nghiệm diện rộng trên nhiều phân khúc thiết bị thực tế khác nhau.

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

  • Nâng cấp kiến trúc cơ sở dữ liệu lên hệ thống đám mây (Firebase, MySQL Server hoặc Web Service RESTful API) để hỗ trợ đồng bộ dữ liệu đa người dùng theo thời gian thực.
  • Tích hợp cổng thanh toán trực tuyến và hệ thống định vị giao hàng tự động.
  • Bổ sung các tính năng nâng cao như đánh giá phản hồi của khách hàng, tích điểm thành viên và gợi ý sản phẩm thông minh.

Giá trị tham khảo

Báo cáo đồ án tốt nghiệp có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu mẫu về quy trình xây dựng đồ án tốt nghiệp ứng dụng di động Android bằng ngôn ngữ Java; cung cấp phương pháp trình bày đồ án chuẩn từ khảo sát, phân tích thiết kế hướng đối tượng đến cài đặt và kiểm thử.
  • Người nghiên cứu và phát triển phần mềm di động cơ bản: Tham khảo tài liệu thiết kế hệ thống chi tiết gồm hệ thống biểu đồ UML (Use Case, Sequence, Activity) và cấu trúc lược đồ bảng cơ sở dữ liệu SQLite cho bài toán quản lý bán hàng bán lẻ.

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

1. Tác giả đã khảo sát mô hình nghiệp vụ thực tế từ đơn vị nào để xây dựng ứng dụng?

Tác giả đã tiến hành tiếp cận, khảo sát và học hỏi phương pháp quản lý bán hàng thực tế từ cửa hàng thời trang Jonhenry tại Trung tâm thương mại Big C Thăng Long, Hà Nội.

2. Cơ sở dữ liệu của ứng dụng được xây dựng trên công nghệ nào và cấu trúc ra sao?

Ứng dụng sử dụng hệ quản trị cơ sở dữ liệu nhúng SQLite (lưu trữ trên một tệp tin duy nhất, tuân thủ ACID), gồm 6 bảng thực thể: Khach_Hang, San_Pham, Hoa_don, Gio_hang, Nguoi_dung và Admin.

3. Hệ thống phân quyền cho những tác nhân nào và sự khác biệt chính giữa các tác nhân là gì?

Hệ thống phân quyền cho 2 tác nhân chính:

  • Admin: Có toàn quyền quản trị hệ thống, quản lý tài khoản người dùng, thêm/sửa/xóa danh mục sản phẩm, duyệt hóa đơn bán hàng và xem thống kê doanh thu.
  • Khách hàng: Có quyền tìm kiếm, xem chi tiết sản phẩm, quản lý giỏ hàng cá nhân, đặt mua hàng và thanh toán sau khi đăng ký/đăng nhập tài khoản thành viên.

4. Công thức thống kê doanh thu được cài đặt trong hệ thống như thế nào?

Theo thiết kế hệ thống của tác giả:

  • Doanh thu 1 ngày = Tổng tiền của tất cả các hóa đơn được tạo trong ngày đó.
  • Doanh thu 1 tháng = Tổng doanh thu của tất cả các ngày trong tháng đó.

5. Những công cụ và môi trường chính nào được sử dụng trong suốt quá trình phát triển đồ án?

Đồ án sử dụng công cụ mô hình hóa StarUML, môi trường phát triển Android Studio với ngôn ngữ Java, cơ sở dữ liệu SQLite, công cụ lập kế hoạch Microsoft Project và thực hiện kiểm thử trên môi trường hệ điều hành Windows 10.


Kết luận

Đồ án tốt nghiệp "Phát triển ứng dụng quản lý shop thời trang trên nền tảng Android" của sinh viên Hoàng Thị Quỳnh Như đã hoàn thành việc khảo sát, thiết kế và xây dựng một phần mềm bán hàng di động hoàn chỉnh. Báo cáo phản ánh đầy đủ quy trình kỹ thuật phần mềm từ việc mô hình hóa hệ thống bằng chuẩn UML, thiết kế cơ sở dữ liệu quan hệ trên SQLite đến cài đặt giao diện và kiểm thử chức năng trên Android Studio. Hệ thống đã đáp ứng được các yêu cầu nghiệp vụ bán lẻ cơ bản và là tài liệu tham khảo có giá trị học thuật cho sinh viên chuyên ngành Công nghệ thông tin.