Bối cảnh và vấn đề nghiên cứu
Sự bùng nổ của mạng Internet và công nghệ thông tin đã làm thay đổi căn bản phương thức trao đổi thông tin, giao thương và các hoạt động kinh tế - xã hội. Đối với lĩnh vực thương mại, xu hướng mua sắm trực tuyến (shopping online) ngày càng phổ biến trong đời sống, đặc biệt là ở nhóm người dùng trẻ tuổi. Trước bối cảnh đó, đồ án CDIO mã số SE397V với đề tài "Xây dựng app bán hàng" được nhóm sinh viên thuộc Khoa Công nghệ Thông tin, Trường Đại học Duy Tân thực hiện nhằm giải quyết bài toán tiếp cận hàng hóa và tối ưu hóa quy trình mua sắm từ xa trên nền tảng di động.
Mục tiêu cụ thể của đề tài được tác giả xác định rõ ràng gồm ba nhiệm vụ trọng tâm:
- Hỗ trợ người dùng tìm kiếm những mặt hàng mong muốn một cách nhanh chóng và chính xác.
- Cung cấp và truyền tải nhanh các thông tin chi tiết, cập nhật liên tục về sản phẩm.
- Tổ chức, phân loại và sắp xếp các mặt hàng một cách khoa học, hợp lý nhằm gia tăng khả năng tiếp cận của người dùng đối với các danh mục sản phẩm.
Về ý nghĩa thực tiễn, đề tài hướng đến việc xây dựng một ứng dụng trực tuyến cho phép cập nhật liên tục thông tin hàng hóa, hỗ trợ người tiêu dùng dễ dàng xem xét, tra cứu và thực hiện mua bán các sản phẩm yêu thích mà không phải phụ thuộc vào việc di chuyển trực tiếp đến cửa hàng truyền thống.
Đối tượng và phạm vi nghiên cứu của đồ án được giới hạn như sau:
- Đối tượng nghiên cứu: Các công cụ hỗ trợ phân tích và thiết kế hệ thống hướng đối tượng (như Microsoft Visio, Mockup); các ngôn ngữ lập trình và phần mềm xây dựng ứng dụng (Java, PHP, SQL Server, ASP.NET); cùng phương pháp thiết kế, cài đặt và triển khai ứng dụng trên nền tảng di động và web.
- Phạm vi thời gian: Dự án được triển khai trong thời gian từ ngày 20/02/2021 đến ngày 30/04/2021.
- Phạm vi nội dung: Tập trung vào các quy trình phân tích và thiết kế hệ thống hướng đối tượng (OOAD) và thiết kế cơ sở dữ liệu quan hệ cho hệ thống bán hàng.
Cơ sở lý thuyết và phương pháp
Đồ án được xây dựng theo mô hình tiếp cận của phương pháp CDIO (Conceive - Design - Implement - Operate), trong đó báo cáo tập trung chủ yếu vào ba giai đoạn đầu: Hình thành ý tưởng (Conceive), Thiết kế hệ thống (Design), và Hiện thực hóa (Implementation).
Về mặt lý thuyết và công cụ kỹ thuật, đồ án áp dụng phương pháp phân tích thiết kế hệ thống hướng đối tượng sử dụng ngôn ngữ mô hình hóa hợp nhất (UML). Các sơ đồ chuẩn hóa được xây dựng bao gồm:
- Sơ đồ ca sử dụng (Use Case Diagram) và bảng đặc tả chi tiết dòng sự kiện, tiền điều kiện, hậu điều kiện của từng tác vụ.
- Sơ đồ tuần tự (Sequence Diagram) thể hiện sự tương tác theo thời gian giữa các tác nhân và đối tượng trong hệ thống.
- Sơ đồ hoạt động (Activity Diagram) biểu diễn luồng điều khiển và luồng dữ liệu nghiệp vụ của các chức năng.
- Mô hình thực thể liên kết (ERD) và lược đồ quan hệ cơ sở dữ liệu.
Phương pháp nghiên cứu thực tế bao gồm:
- Nghiên cứu tài liệu: Thu thập, tổng hợp các tài liệu chuyên ngành về phân tích thiết kế hướng đối tượng, quy trình quản lý dịch vụ và phát triển phần mềm (tiêu biểu như tài liệu của Bennett et al. về bài tập UML và giáo trình thiết kế hướng đối tượng của Trương Ninh Thuận & Đặng Đức Hạnh).
- Phân tích và lựa chọn giải pháp: Đánh giá tính khả thi về mặt kỹ thuật và thị trường của các ý tưởng trước khi lựa chọn đề tài chính thức.
- Tham vấn chuyên gia: Tiếp thu các ý kiến đóng góp từ giảng viên hướng dẫn để chuẩn hóa quy trình phân tích và thiết kế.
Thiết kế và triển khai
Hệ thống được thiết kế hướng tới môi trường ứng dụng đa nền tảng (Android và Web) với các thành phần kỹ thuật được xác định cụ thể trong văn bản:
| Thành phần kỹ thuật |
Công nghệ / Nền tảng lựa chọn |
| Môi trường phát triển |
Android Studio |
| Ngôn ngữ lập trình |
Java (phía ứng dụng Android) và PHP (phía xử lý dịch vụ/web) |
| Hệ quản trị cơ sở dữ liệu |
MySQL (vận hành theo mô hình Client-Server, tích hợp với Apache và PHP) / Tham chiếu mô hình Microsoft SQL Server 2012 |
| Nền tảng vận hành |
Thiết bị di động hệ điều hành Android và trình duyệt Web |
Thiết kế cấu trúc cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống được chuẩn hóa thành 7 bảng dữ liệu quan hệ, đảm bảo khả năng quản lý thông tin tài khoản, sản phẩm, đơn hàng và các hoạt động tương tác:
-
Bảng admin: Lưu trữ thông tin quản trị viên hệ thống.
IdAdmin (INT(10), Khóa chính): Mã định danh quản trị viên.
TenDN (VARCHAR(45)): Tên đăng nhập.
Password (VARCHAR(32)): Mật khẩu bảo mật.
Email (VARCHAR(45)): Địa chỉ thư điện tử.
-
Bảng taikhoan: Quản lý tài khoản người dùng và khách hàng.
IdTaiKhoan (INT(10), Khóa chính): Mã định danh tài khoản.
TenTaiKhoan (VARCHAR(45)): Tên người dùng.
SDT (VARCHAR(10)): Số điện thoại liên lạc.
Gmail (VARCHAR(45)): Địa chỉ email.
Password (VARCHAR(32)): Mật khẩu tài khoản.
AnhDaiDien (VARCHAR(255)): Đường dẫn lưu ảnh đại diện.
-
Bảng quangcao: Quản lý thông tin quảng bá sản phẩm trên ứng dụng.
IdQuangCao (INT(10), Khóa chính): Mã định danh quảng cáo.
IdSP (INT(255)): Mã định danh sản phẩm được quảng cáo.
MoTa (VARCHAR(255)): Nội dung mô tả chương trình quảng cáo.
AnhQuangCao (VARCHAR(10)): Đường dẫn ảnh quảng cáo.
-
Bảng loaisp: Phân loại các danh mục sản phẩm.
IdLoaiSP (INT(10), Khóa chính): Mã định danh loại sản phẩm.
TenLoaiSP (VARCHAR(45)): Tên phân loại sản phẩm.
HinhAnh (VARCHAR(255)): Đường dẫn hình ảnh đại diện danh mục.
-
Bảng sanpham: Lưu trữ thông tin chi tiết về các mặt hàng được bày bán.
IdSP (INT(10), Khóa chính): Mã định danh sản phẩm.
IdLoaiSP (INT(10)): Mã danh mục loại sản phẩm (khóa ngoại liên kết).
IdTaiKhoan (INT(10)): Mã tài khoản của người đăng bán.
TenSP (VARCHAR(255)): Tên mặt hàng.
SoLuong (INT(10)): Số lượng tồn kho hiện có.
AnhSP (VARCHAR(255)): Đường dẫn hình ảnh sản phẩm.
GiaSP (INT(10)): Giá niêm yết của sản phẩm.
MoTa (VARCHAR(10000)): Thông tin mô tả chi tiết sản phẩm.
-
Bảng hoadon: Quản lý thông tin đơn hàng chung.
IdHoaDon (INT(10), Khóa chính): Mã định danh hóa đơn.
DiaChi (VARCHAR(255)): Địa chỉ giao nhận hàng.
Ngay (DATE): Ngày khởi tạo đơn hàng.
IdKhachHang (INT(10)): Mã định danh khách hàng đặt hàng.
-
Bảng chitiethoadon: Quản lý các mặt hàng cụ thể nằm trong từng đơn hàng.
IdCT (INT(10), Khóa chính): Mã chi tiết hóa đơn.
IdHoaDon (INT(10)): Mã hóa đơn tương ứng.
IdSP (INT(10)): Mã sản phẩm được mua.
SoLuong (INT(10)): Số lượng sản phẩm mua.
TrangThai (INT(1)): Trạng thái xử lý của mặt hàng trong đơn hàng.
Thiết kế giao diện người dùng
Hệ thống thiết kế 7 màn hình chức năng cơ bản trên ứng dụng di động: Giao diện đăng nhập, Giao diện đăng ký, Giao diện trang chủ, Giao diện kệ hàng, Giao diện giỏ hàng, Giao diện thống kê, và Giao diện quản lý tài khoản cá nhân.
Nội dung chính theo từng chương
Phần mở đầu: Giới thiệu và xác định đề tài
Chương mở đầu trình bày bối cảnh ra đời của đề tài xuất phát từ sự phổ biến của Internet và nhu cầu mua sắm trực tuyến ngày càng cao của giới trẻ. Tác giả xác lập mục đích, ý nghĩa của việc xây dựng ứng dụng di động hỗ trợ tra cứu và mua sắm tiện lợi; đồng thời xác định phạm vi nghiên cứu từ ngày 20/02/2021 đến 30/04/2021, tập trung vào phương pháp phân tích thiết kế hướng đối tượng và quản trị cơ sở dữ liệu.
Phần 1: Giai đoạn hình thành ý tưởng (Conceive)
Trong giai đoạn này, nhóm nghiên cứu ghi nhận đề xuất ý tưởng từ 3 thành viên:
- Thành viên 1 (Trương Hữu Đông): Đề xuất ý tưởng "Phần mềm quản lý thư viện" nhằm số hóa việc quản lý bạn đọc, sách và mượn trả sách. Ước tính có 10.000 người hưởng lợi, 100 người mua, thời gian tồn tại 2 năm, thời gian phát triển 4 tháng, đối thủ tiềm năng là Faceworks.
- Thành viên 2 (Lê Dương Quốc): Đề xuất ý tưởng "Xây dựng App Bán Hàng" hỗ trợ mua bán, tìm kiếm và đánh giá sản phẩm trên smartphone. Ước tính có 15.000 người hưởng lợi, 150 người mua, thời gian tồn tại 1 năm, thời gian phát triển 6 tháng, đối thủ tiềm năng là Amazon Music.
- Thành viên 3 (Trần Văn Nho): Đề xuất ý tưởng "Website bán hàng mỹ phẩm" với các chức năng nhập hàng, tìm kiếm và đánh giá chất lượng. Ước tính có 20.000 người hưởng lợi, 1.000 người mua, thời gian tồn tại 2 năm, thời gian phát triển 5 tháng, đối thủ tiềm năng là Watsons.
Qua quá trình đánh giá tập thể về kiến thức sẵn có của các thành viên (về Phân tích thiết kế hệ thống, Phân tích thiết kế hướng đối tượng, Cơ sở dữ liệu và Lập trình Java), nhóm đã thống nhất lựa chọn ý tưởng "Xây dựng App Bán Hàng" làm đề tài chính thức cho đồ án CDIO.
Phần 2: Giai đoạn thiết kế hệ thống (Design)
Chương này tập trung toàn bộ vào các phân tích kỹ thuật và mô hình hóa nghiệp vụ:
- Khảo sát hiện trạng & Quy trình nghiệp vụ: Khảo sát cho thấy thị trường ứng dụng mua bán còn nhiều tiềm năng; quy trình nghiệp vụ chính gồm quy trình thêm sản phẩm (bộ phận thu mua thỏa thuận bản quyền với tác giả, bộ phận dữ liệu cập nhật vào kho và hiển thị lên ứng dụng) và quy trình chăm sóc khách hàng (trực tiếp, điện thoại, email).
- Yêu cầu hệ thống: Xác định yêu cầu phi chức năng (giao diện đơn giản, thân thiện, bảo mật, thao tác nhanh, sao lưu và phục hồi dữ liệu) và yêu cầu kỹ thuật (Android Studio, Java, PHP, MySQL/SQL Server).
- Phân loại tác nhân (Actors):
- Quản trị viên (Admin): Quản lý toàn bộ hệ thống, cập nhật/xóa sản phẩm, duyệt phản hồi, quản lý thành viên, thống kê và cập nhật tin tức.
- Khách vãng lai (Customer): Khách hàng chưa có tài khoản, được phép xem sản phẩm và thực hiện đăng ký tài khoản.
- Thành viên (Member): Người dùng đã có tài khoản, thực hiện đăng nhập, tìm kiếm sản phẩm, quản lý giỏ hàng, đặt hàng, quản lý đơn hàng cá nhân và quản lý các sản phẩm đăng bán.
- Danh mục 12 Use Case chính của hệ thống:
- UC001 - Đăng Kí Thành Viên: Cho phép khách vãng lai tạo tài khoản mới.
- UC002 - Đăng Nhập & Đăng Xuất: Xác thực quyền truy cập của người dùng và kết thúc phiên làm việc.
- UC003 - Xem Sản Phẩm: Hiển thị danh mục và chi tiết sản phẩm.
- UC004 - Tìm Kiếm Sản Phẩm: Tra cứu sản phẩm theo từ khóa tên hàng hóa.
- UC005 - Quản Lý Sản Phẩm: Thành viên thêm, cập nhật và xóa thông tin sản phẩm.
- UC006 - Quản Lý Đơn Hàng: Thành viên/Người bán chấp nhận hoặc hủy bỏ đơn hàng.
- UC007 - Quản Lý Giỏ Hàng: Thêm sản phẩm, xóa sản phẩm khỏi giỏ và xác nhận đặt hàng.
- UC008 - Thống Kê: Thống kê mặt hàng đã bán, mặt hàng đã mua, doanh thu và chi tiêu cá nhân.
- UC009 - Quản Lý Thông Tin Cá Nhân: Admin/Người dùng thêm, xóa, cập nhật thông tin cá nhân.
- UC010 - Quản Lý Thành Viên: Admin thêm, sửa, xóa và tìm kiếm hồ sơ tài khoản thành viên.
- UC011 - Quản Lý Sản Phẩm Quảng Cáo: Admin thêm và xóa các mặt hàng trên danh mục quảng cáo.
- UC012 - Thống Kê Thành Viên: Admin thực hiện thống kê danh sách thành viên tham gia mua và bán.
- Đặc tả biểu đồ tuần tự và hoạt động: Chi tiết hóa toàn bộ các luồng tương tác và điều kiện kiểm tra dữ liệu cho 12 use case nêu trên.
Phần 3: Giai đoạn thực hiện và triển khai (Implementation)
Chương này hiện thực hóa các mô hình phân tích thành cấu trúc dữ liệu và giao diện phần mềm:
- Trình bày lý do lựa chọn cơ sở dữ liệu quan hệ mã nguồn mở MySQL kết hợp PHP và máy chủ Apache.
- Xây dựng lược đồ quan hệ và kiến trúc chi tiết cho 7 bảng dữ liệu (
admin, taikhoan, quangcao, loaisp, sanpham, hoadon, chitiethoadon).
- Thiết lập mô hình thực thể liên kết (ERD) mô tả quan hệ giữa các thực thể trong hệ thống.
- Thiết kế bố cục trực quan cho 7 màn hình giao diện người dùng chính trên thiết bị Android.
Kết quả và đóng góp
Đồ án đạt được các kết quả cụ thể theo các dữ kiện được trình bày trong tài liệu:
- Hoàn thành đầy đủ hồ sơ phân tích và thiết kế hệ thống hướng đối tượng cho một ứng dụng thương mại điện tử trên di động theo khung quy trình CDIO.
- Xây dựng hệ thống tài liệu mô hình hóa chuẩn UML bao gồm: 1 biểu đồ Use Case tổng quát, 12 kịch bản đặc tả Use Case chi tiết, 19 biểu đồ tuần tự (Sequence Diagram) và 20 biểu đồ hoạt động (Activity Diagram) bao quát mọi trường hợp nghiệp vụ của 3 nhóm tác nhân.
- Hoàn thiện bản thiết kế cơ sở dữ liệu quan hệ gồm 7 thực thể với đầy đủ kiểu dữ liệu, khóa chính, khóa ngoại phục vụ lưu trữ nghiệp vụ mua bán hàng hóa trực tuyến.
- Đóng góp vào việc hình thành tài liệu tham khảo hoàn chỉnh về quy trình phân tích và thiết kế đồ án phần mềm môn học SE397V tại Khoa Công nghệ Thông tin, Trường Đại học Duy Tân.
Hạn chế và hướng nghiên cứu tiếp
Căn cứ vào phạm vi và nội dung tác giả đã nêu, đồ án còn một số điểm giới hạn và các định hướng phát triển cụ thể sau:
- Hạn chế: Thời gian nghiên cứu và phát triển diễn ra trong khoảng hơn 2 tháng (20/02/2021 đến 30/04/2021), do đó đồ án chủ yếu tập trung vào khâu phân tích thiết kế hệ thống và thiết lập cấu trúc cơ sở dữ liệu nền tảng, chưa công bố đầy đủ mã nguồn kiểm thử thực tế trên diện rộng.
- Hướng phát triển tiếp:
- Nghiên cứu sâu hơn về các ngôn ngữ lập trình Java, ASP.NET và hệ quản trị MySQL nhằm nâng cao hiệu năng, tối ưu hóa hệ thống để đáp ứng tốt hơn nhu cầu người dùng.
- Tìm hiểu và thử nghiệm việc tích hợp nền tảng công nghệ ASP.NET với các hệ quản trị cơ sở dữ liệu quy mô lớn hơn.
- Mở rộng và phát triển hoàn thiện phiên bản ứng dụng trên nền tảng Website bán hàng song song với ứng dụng di động.
Giá trị tham khảo
Đồ án là tài liệu học thuật có giá trị tham khảo thiết thực cho:
- Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin: Đặc biệt là sinh viên thực hiện đồ án môn học CDIO, môn Phân tích và Thiết kế hướng đối tượng (OOAD) hoặc các môn học liên quan đến mô hình hóa UML.
- Người học phát triển ứng dụng di động/web: Có thể tham khảo cách xây dựng bảng đặc tả Use Case, thiết kế lược đồ quan hệ CSDL cho các hệ thống thương mại điện tử, giỏ hàng, đặt hàng và quản lý doanh thu/chi tiêu.
Câu hỏi thường gặp
1. Hệ thống phân chia người dùng thành những tác nhân (Actors) nào và chức năng của từng nhóm là gì?
Hệ thống gồm 3 nhóm tác nhân:
- Quản trị viên (Admin): Quản lý thành viên, duyệt/xóa thông tin sản phẩm, xử lý phản hồi khách hàng, quản lý sản phẩm quảng cáo và thực hiện các báo cáo thống kê.
- Khách vãng lai (Customer): Khách hàng chưa có tài khoản, được phép tra cứu, xem sản phẩm và thực hiện đăng ký tài khoản thành viên.
- Thành viên (Member): Khách hàng có tài khoản, có quyền đăng nhập, chỉnh sửa thông tin cá nhân, tìm kiếm, đưa sản phẩm vào giỏ hàng, đặt mua hàng, đồng thời có thể đăng bán sản phẩm và quản lý đơn hàng.
2. Trong giai đoạn Conceive, các thành viên nhóm đã đề xuất những ý tưởng nào trước khi thống nhất đề tài?
Nhóm sinh viên đã đề xuất 3 ý tưởng: (1) Phần mềm quản lý thư viện của Trương Hữu Đông; (2) Xây dựng App Bán Hàng của Lê Dương Quốc; và (3) Website bán hàng mỹ phẩm của Trần Văn Nho. Sau khi đánh giá kiến thức chuyên môn và tiềm năng ứng dụng, nhóm đã chọn ý tưởng App Bán Hàng.
3. Cơ sở dữ liệu của ứng dụng gồm những bảng nào?
Cơ sở dữ liệu gồm 7 bảng quan hệ: admin (lưu tài khoản quản trị), taikhoan (thông tin người dùng), quangcao (thông tin quảng cáo), loaisp (danh mục loại hàng), sanpham (chi tiết hàng hóa đăng bán), hoadon (thông tin đơn hàng) và chitiethoadon (chi tiết các mặt hàng trong đơn).
4. Chức năng thống kê trong ứng dụng hỗ trợ những loại báo cáo nào?
Chức năng thống kê được chia theo quyền hạn:
- Đối với Thành viên (Member): Thống kê mặt hàng đã bán, mặt hàng đã mua, doanh thu bán hàng và chi tiêu mua sắm.
- Đối với Quản trị viên (Admin): Thống kê danh sách các thành viên tham gia bán hàng và thành viên tham gia mua hàng trên hệ thống.
5. Nhóm tác giả định hướng công nghệ nào để phát triển ứng dụng?
Nhóm tác giả định hướng phát triển ứng dụng trên môi trường Android Studio sử dụng ngôn ngữ Java cho ứng dụng di động, kết hợp ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL (vận hành theo mô hình Client-Server kết hợp Apache), đồng thời nghiên cứu mở rộng sang ASP.NET trong tương lai.
Kết luận
Đồ án "Xây dựng app bán hàng" (mã học phần SE397V) của nhóm sinh viên Khoa Công nghệ Thông tin, Đại học Duy Tân đã trình bày một quy trình toàn diện từ việc hình thành ý tưởng (Conceive), khảo sát nghiệp vụ đến thiết kế chi tiết (Design) và xây dựng cơ sở dữ liệu (Implementation) cho ứng dụng thương mại điện tử. Hệ thống phân tích rõ ràng 3 tác nhân với 12 use case cùng 7 bảng dữ liệu quan hệ chuẩn hóa phục vụ đầy đủ các chức năng mua sắm, quản lý sản phẩm, đơn hàng và thống kê tài chính. Báo cáo đồ án là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc thực hành phân tích thiết kế hệ thống theo chuẩn CDIO và UML.