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ẽ, việc ứng dụng tin học hóa đóng vai trò then chốt trong hoạt động vận hành của các tổ chức, doanh nghiệp. Mạng Internet tạo ra phương thức truyền tải, trao đổi dữ liệu toàn cầu với tốc độ cao và chi phí tối ưu, từ đó thúc đẩy sự hình thành và mở rộng của thương mại điện tử. Đối với các đơn vị kinh doanh và cửa hàng bán lẻ, nhu cầu xây dựng các kênh trực tuyến để quảng bá, giới thiệu sản phẩm và tiếp cận khách hàng trở thành yêu cầu thiết thực, đặc biệt trong lĩnh vực thiết bị và công nghệ điện tử.

Đề tài "Xây dựng hệ thống quản lý Website bán hàng Lazada" được thực hiện dưới dạng báo cáo chuyên đề học phần Công nghệ phần mềm tại Khoa Công nghệ Thông tin, Trường Đại học Điện Lực (Hà Nội, hoàn thành ngày 04/12/2022) do sinh viên Tạ Quang Đạt (Lớp D15CNPM7, Khóa D15) thực hiện dưới sự hướng dẫn của TS. Nguyễn Thị Hồng Khánh.

Nhiệm vụ nghiên cứu và mục tiêu kỹ thuật của đề tài bao gồm việc xây dựng một hệ thống quản trị website bán hàng trực tuyến với 5 nhóm chức năng trọng tâm:

  1. Quản lý đăng nhập và đăng xuất tài khoản hệ thống.
  2. Quản lý sản phẩm (bao gồm danh mục sản phẩm và danh sách chi tiết các mặt hàng).
  3. Quản lý tài khoản người dùng và khách hàng.
  4. Quản lý nhân viên vận hành.
  5. Quản lý thông tin khách hàng và quy trình tương tác đơn hàng.

Đối tượng nghiên cứu của đồ án là quy trình xây dựng phần mềm thương mại điện tử từ khâu khảo sát, lập kế hoạch quản lý dự án, phân tích thiết kế hệ thống, xây dựng cơ sở dữ liệu, lập trình giao diện đến kiểm thử và bảo trì. Phạm vi thực hiện gói gọn trong khuôn khổ một đồ án học phần chuyên ngành do 01 nhân sự thực hiện trong giai đoạn từ tháng 11/2022 đến tháng 12/2022.


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

Đề tài áp dụng các nguyên lý và quy trình chuẩn của kỹ nghệ phần mềm (Software Engineering) để tổ chức vòng đời phát triển dự án phần mềm theo từng giai đoạn rõ ràng:

  • Mô hình hóa và phân tích hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) kết hợp công cụ phần mềm Rational Rose để xây dựng các biểu đồ phân tích chức năng và luồng tương tác, bao gồm biểu đồ Use Case (Use Case Diagram), biểu đồ hoạt động (Activity Diagram) và biểu đồ trình tự (Sequence Diagram).
  • Phương pháp quản lý dự án: Áp dụng phương pháp phân rã công việc (WBS) để ước lượng chi phí, ước lượng thời gian cho từng đầu việc và lập bảng tiến độ theo dõi thực hiện chi tiết.
  • Phương pháp kiểm thử: Áp dụng phương pháp kiểm thử hộp đen (Black-box testing) để kiểm tra các chức năng giao diện, tính đúng đắn của việc xử lý dữ liệu và xác định các lỗi phát sinh mà không can thiệp sâu vào cấu trúc mã nguồn nội bộ.
  • Nguồn dữ liệu: Dữ liệu khảo sát nghiệp vụ bán hàng điện tử thực tế và các yêu cầu chức năng của mô hình sàn thương mại điện tử Lazada.

Thiết kế và triển khai

Hệ thống được thiết kế và triển khai hoàn chỉnh dựa trên các tiêu chuẩn kỹ thuật phần mềm hướng web:

Kiến trúc công nghệ

  • Ngôn ngữ lập trình: PHP (lựa chọn nhờ ưu điểm chuyên dụng cho phát triển ứng dụng web, khả năng nhúng trực tiếp vào mã HTML, tốc độ thực thi nhanh và cú pháp dễ tiếp cận).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.
  • Công cụ phát triển: Môi trường phát triển tích hợp Microsoft Visual Studio.

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

Cơ sở dữ liệu của hệ thống được tổ chức thành các bảng quan hệ chính, được mô hình hóa qua sơ đồ Diagram:

  • Bảng Người dùng (CSDL Table 1): Lưu trữ thông tin tài khoản, phân quyền và thông tin định danh cá nhân.
  • Bảng Sản phẩm (CSDL Table 2): Lưu trữ dữ liệu về mã sản phẩm, tên, giá cả, thông số kỹ thuật và danh mục.
  • Bảng Giỏ hàng (CSDL Table 3): Lưu trữ thông tin các mặt hàng được khách hàng lựa chọn trong phiên mua sắm.
  • Sơ đồ quan hệ dữ liệu tổng thể (CSDL Table 4: Diagram).

Phân hệ giao diện (UI/UX)

Hệ thống phân tách thành hai phân hệ giao diện độc lập:

  • Phân hệ người dùng (Frontend): Bao gồm giao diện Đăng nhập (Frontend giao diện 1), Trang chủ (Frontend giao diện 2), Chi tiết sản phẩm (Frontend giao diện 3), và Giỏ hàng (Frontend giao diện 4).
  • Phân hệ quản trị (Backend): Bao gồm giao diện Đăng nhập quản trị (Backend giao diện 1), Quản lý User (Backend giao diện 2), Quản lý sản phẩm (Backend giao diện 3), và Quản lý giỏ hàng (Backend giao diện 4).

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

CHƯƠNG 1: GIỚI THIỆU DỰ ÁN

Chương mở đầu tập trung vào khảo sát thực trạng ứng dụng công nghệ thông tin và thương mại điện tử trong kinh doanh hàng công nghệ. Tác giả xác định bài toán cần giải quyết gồm 4 mô-đun nghiệp vụ chính: quản lý hiển thị sản phẩm theo nhóm thông tin và tính năng, công cụ tìm kiếm thông tin theo từ khóa có hỗ trợ phân trang kết quả, mô-đun giỏ hàng trực tuyến và khu vực hiển thị sản phẩm/tin tức mới tại trang chủ.

Chương 1 cũng đặc tả chi tiết các yêu cầu của hệ thống:

  • Yêu cầu chức năng: Chức năng cung cấp thông tin sản phẩm đầy đủ (nguồn gốc, mẫu mã, giá bán), chức năng tìm kiếm có dấu, chức năng giỏ hàng hỗ trợ đặt hàng, và các tính năng hỗ trợ quảng bá trực tuyến (chuẩn SEO, tích hợp chia sẻ mạng xã hội).
  • Yêu cầu phi chức năng: Tính khả dụng (giao diện dễ sử dụng, khả năng truy cập ổn định), tính tin cậy, an toàn bảo mật thông tin và khả năng sàng lọc tìm kiếm theo giá, chức năng, nhà cung cấp.

CHƯƠNG 2: QUẢN LÝ DỰ ÁN

Chương này thực hiện các bước lập kế hoạch và quản lý dự án thông qua việc ước lượng nguồn lực cụ thể.

Ước lượng chi phí dự án (Bảng 1 trong văn bản):

Giai đoạn Công việc chính Mô tả công việc Chi phí (VND)
Quản lý dự án Thu thập dữ liệu dự án Khảo sát yêu cầu 50.000
Quản lý dự án Triển khai và thiết lập Bắt đầu dự án 100.000
Quản lý dự án Lập kế hoạch chi tiết phạm vi Lập kế hoạch làm việc 100.000
Quản lý dự án Tổng kết quản lý dự án Viết báo cáo tổng kết 0
Phân tích và thiết kế Mô tả chi tiết các yêu cầu Đặc tả chi tiết yêu cầu khách hàng 100.000
Phân tích và thiết kế Xây dựng use case và trình tự Mô tả hệ thống bằng Rational Rose 100.000
Phân tích và thiết kế Xây dựng trường dữ liệu Thiết kế cơ sở dữ liệu 300.000
Phân tích và thiết kế Thiết kế giao diện phần mềm Xây dựng các chức năng chính 500.000
Phân tích và thiết kế Viết báo cáo phân tích thiết kế Viết bài phân tích chi tiết 100.000
Xây dựng các chức năng Phân tích yêu cầu cụ thể module Xây dựng nhiệm vụ chính 100.000
Xây dựng các chức năng Xây dựng chức năng cùng sự kiện Thiết kế các module 150.000
Xây dựng các chức năng Xử lý các tính năng khi thao tác Xây dựng code 600.000
Xây dựng các chức năng Cài đặt các module Demo module khi xây dựng xong 200.000
Kiểm thử cho module Kiểm tra giao diện, độ chính xác Module thống kê sản phẩm, tìm lỗi 100.000
Kiểm thử cho module Trình bày báo cáo chi tiết Viết báo cáo hoàn thiện module 50.000
Thích hợp và hoàn thành Lắp ghép các module Tích hợp các module lại hoàn chỉnh 100.000
Thích hợp và hoàn thành Kiểm thử phần mềm Test lại toàn bộ hệ thống 150.000
Thích hợp và hoàn thành Tìm kiếm lỗi phát sinh Fix code 200.000
Đóng gói phần mềm Viết báo cáo hướng dẫn Viết bản hướng dẫn sử dụng 0
Đóng gói phần mềm Lên kế hoạch bảo trì Đề ra kế hoạch bảo trì 0
Đóng gói phần mềm Tổng kết quá trình làm dự án Kết thúc dự án 1

Ước lượng thời gian và nhân sự (Bảng 2 trong văn bản):

  • Dự án ước lượng thực hiện bởi 01 nhân sự.
  • Tổng thời gian ước tính phân bổ cho các công việc từ khảo sát, lập sơ đồ (5 ngày), thiết kế giao diện (10 ngày), viết mã nguồn (5 ngày), kiểm thử và sửa lỗi (4 ngày) cùng các hoạt động đóng gói và viết tài liệu hướng dẫn.
  • Tiến độ thực tế được kiểm soát qua Bảng 3 "Lập lịch và theo dõi" với thời gian bắt đầu từ 15/11/2022.

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

Nội dung chương 3 mô hình hóa toàn diện các luồng nghiệp vụ thông qua UML:

  • Xác định tác nhân (Actor): Phân định rõ 2 nhóm tác nhân:
    • Admin (Quản trị viên): Đăng nhập hệ thống, quản lý danh mục sản phẩm, quản lý tài khoản khách hàng.
    • Người dùng (Khách hàng): Đăng nhập hệ thống, quản lý thông tin tài khoản cá nhân, xem sản phẩm và mua hàng.
  • Hệ thống biểu đồ mô hình hóa chi tiết:
    • Chức năng đăng nhập/đăng xuất: Biểu đồ Use case (Biểu đồ 2), Biểu đồ hoạt động đăng nhập (Biểu đồ 3) và đăng xuất (Biểu đồ 4), Biểu đồ trình tự đăng nhập (Biểu đồ 5) và đăng xuất (Biểu đồ 6).
    • Chức năng quản lý sản phẩm: Biểu đồ Use case cho Admin với các quan hệ extend: thêm, sửa, xóa, xem sản phẩm (Biểu đồ 7); các Biểu đồ hoạt động tương ứng cho tìm kiếm (Biểu đồ 8), xóa (Biểu đồ 9), thêm/sửa sản phẩm (Biểu đồ 10); các Biểu đồ trình tự xử lý dữ liệu qua các lớp đối tượng Admin, DanhSachSanPham, QL DanhSachSanPham, CSDL (Biểu đồ 11, 12, 13).
    • Chức năng mua hàng: Biểu đồ Use case mua hàng của Khách hàng (Biểu đồ 14), Biểu đồ hoạt động mua hàng (Biểu đồ 15) và Biểu đồ trình tự tương tác qua các đối tượng Khach hang, Muahang, QL Muahang, CSDL (Biểu đồ 16).
    • Chức năng xem sản phẩm: Biểu đồ Use case xem và đánh giá sản phẩm (Biểu đồ 17), Biểu đồ hoạt động xem sản phẩm (Biểu đồ 18), Biểu đồ trình tự xem thông tin sản phẩm (Biểu đồ 19).

CHƯƠNG 4: THIẾT KẾ

Chương này chuyển hóa kết quả phân tích sang thiết kế cấu trúc vật lý:

  • Thiết kế chi tiết các bảng dữ liệu: Bảng Người Dùng, Bảng Sản Phẩm, Bảng Giỏ Hàng và sơ đồ quan hệ thực thể Diagram.
  • Thiết kế hệ thống màn hình hiển thị phía người dùng (Frontend): Giao diện form Đăng nhập, Trang chủ trưng bày sản phẩm, Trang thông tin chi tiết từng sản phẩm và Trang hiển thị Giỏ hàng.

CHƯƠNG 5: LẬP TRÌNH

Chương 5 trình bày việc hiện thực hóa các mô-đun phần mềm bằng mã nguồn:

  • Lựa chọn nền tảng công nghệ PHP kết hợp cơ sở dữ liệu SQL Server, phát triển trên Visual Studio.
  • Xây dựng hoàn chỉnh các màn hình xử lý phía quản trị (Backend): Màn hình đăng nhập hệ thống quản trị, màn hình quản lý danh sách User (thành viên), màn hình quản trị danh mục và danh sách sản phẩm, màn hình quản lý giỏ hàng/đơn hàng.

CHƯƠNG 6: KIỂM THỬ PHẦN MỀM

Chương 6 trình bày việc kiểm thử ứng dụng bằng phương pháp hộp đen (Black-box testing). Tác giả tiến hành thiết lập các ca kiểm thử (Test cases) được tổng hợp tại Bảng 5 nhằm kiểm tra tính chính xác của các luồng xử lý dữ liệu nhập vào, tính hợp lệ của tài khoản, các thao tác thêm/sửa/xóa sản phẩm và việc hiển thị giỏ hàng.

CHƯƠNG 7: ĐÓNG GÓI VÀ BẢO TRÌ PHẦN MỀM

Chương cuối cùng hoàn thiện quy trình công nghệ phần mềm:

  • Thiết lập quy trình đóng gói phần mềm và soạn thảo tài liệu hướng dẫn sử dụng cho người dùng cuối và quản trị viên.
  • Phân tích cơ sở lý thuyết về bảo trì phần mềm: Định nghĩa bảo trì, lý do cần bảo trì hệ thống, phân loại bảo trì (sửa lỗi, thích nghi, hoàn thiện, phòng ngừa) và phân tích các yếu tố ảnh hưởng trực tiếp đến chi phí bảo trì trong suốt vòng đời vận hành của website.

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

Báo cáo chuyên đề đã ghi nhận các kết quả cụ thể:

  • Hoàn thành đầy đủ đề cương chuyên đề học phần Công nghệ phần mềm theo đúng chuẩn quy trình kỹ thuật.
  • Xây dựng thành công hệ thống website bán hàng Lazada hoàn chỉnh ở mức độ mô hình hóa và triển khai đơn giản, đáp ứng được các yêu cầu nghiệp vụ bán lẻ trực tuyến cơ bản.
  • Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết bao gồm 19 biểu đồ UML (Use Case, Activity, Sequence Diagram) và 4 bảng cơ sở dữ liệu.
  • Lập bảng định lượng cụ thể về ước tính chi phí, thời gian và lịch trình thực hiện cho một dự án phần mềm quy mô nhỏ do 1 người đảm nhiệm.

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

Dựa trên nội dung và phạm vi nghiên cứu được tác giả trình bày:

  • Hạn chế: Hệ thống được phát triển trong khuôn khổ bài tập lớn/chuyên đề cá nhân của sinh viên nên kiến trúc cơ sở dữ liệu còn ở mức độ cơ bản (chỉ gồm các bảng cốt lõi: Người dùng, Sản phẩm, Giỏ hàng), chưa tích hợp sâu các cổng thanh toán điện tử trực tuyến tự động hoặc các dịch vụ vận chuyển bên thứ ba.
  • Hướng mở rộng: Tiếp tục hoàn thiện các chức năng nâng cao, tối ưu hóa giao diện người dùng theo chuẩn responsive, và triển khai các giải pháp bảo trì phần mềm định kỳ theo kế hoạch đã đề ra ở Chương 7.

Giá trị tham khảo

Báo cáo chuyên đề này là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm đang chuẩn bị thực hiện đồ án môn học hoặc báo cáo chuyên đề về phát triển ứng dụng web.
  • Người học cần một mẫu tài liệu có cấu trúc đầy đủ các bước của một vòng đời phát triển phần mềm: từ ước lượng chi phí/thời gian quản lý dự án, vẽ biểu đồ UML chuẩn bằng Rational Rose, thiết kế CSDL SQL Server, đến lập trình PHP và viết quy trình kiểm thử hộp đen.

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

1. Hệ thống website Lazada trong đồ án được xây dựng bằng những công nghệ nào?
Hệ thống sử dụng ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu Microsoft SQL Server, phần mềm hỗ trợ viết code Microsoft Visual Studio và công cụ Rational Rose để thiết kế biểu đồ UML.

2. Đồ án xác định những tác nhân (Actor) nào tham gia vào hệ thống?
Có 2 tác nhân chính được xác định tại Bảng 4 của đồ án: Admin (thực hiện đăng nhập, quản lý danh mục sản phẩm, quản lý tài khoản khách hàng) và Người dùng/Khách hàng (thực hiện đăng nhập, quản lý tài khoản cá nhân, xem và mua sản phẩm).

3. Cơ sở dữ liệu của phần mềm bao gồm những bảng chính nào?
Hệ thống được thiết kế với 3 bảng dữ liệu chính gồm Bảng Người Dùng (CSDL Table 1), Bảng Sản Phẩm (CSDL Table 2), Bảng Giỏ Hàng (CSDL Table 3) cùng sơ đồ cấu trúc quan hệ Diagram (CSDL Table 4).

4. Phương pháp kiểm thử nào được áp dụng trong đề tài?
Tác giả áp dụng phương pháp kiểm thử hộp đen (Black-box testing) tại Chương 6 để kiểm tra chức năng và độ chính xác của các mô-đun mà không cần can thiệp cấu trúc mã nguồn nội bộ.

5. Chi phí và nhân sự thực hiện dự án được ước lượng như thế nào?
Dự án được ước lượng thực hiện bởi 01 nhân sự (sinh viên Tạ Quang Đạt) với tổng hợp chi phí được phân bổ chi tiết cho từng công việc cụ thể (từ 50.000 VND cho khảo sát đến 600.000 VND cho xây dựng code) được trình bày tại Bảng 1 của báo cáo.


Kết luận

Báo cáo chuyên đề "Website bán hàng Lazada" của sinh viên Tạ Quang Đạt (Đại học Điện Lực) đã phản ánh quy trình phát triển một ứng dụng thương mại điện tử theo đúng quy chuẩn bộ môn Công nghệ phần mềm. Tài liệu thể hiện chi tiết từ bước lập kế hoạch, ước lượng chi phí, phân tích mô hình hóa UML, thiết kế cơ sở dữ liệu đến lập trình web bằng PHP/SQL Server và kiểm thử hộp đen. Đây là công trình học thuật thực hành hoàn chỉnh, đáp ứng tốt yêu cầu đánh giá của học phần chuyên ngành Công nghệ phần mềm.