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

Trong bối cảnh công nghệ thông tin phát triển và ứng dụng tin học hóa trở thành yếu tố then chốt giúp tối ưu hóa vận hành, các đơn vị bán lẻ quy mô vừa và nhỏ đối mặt với yêu cầu phải chuyển đổi từ phương thức quản lý thủ công sang quản lý tự động bằng phần mềm. Đối với các cửa hàng thương mại bán lẻ, việc xử lý dữ liệu trao đổi hàng hóa giữa người mua, cửa hàng và các nhà phân phối đòi hỏi tính chuẩn xác cao, kiểm soát hàng tồn kho liên tục và rút ngắn quy trình lập hóa đơn thanh toán.

Đề tài "Xây dựng ứng dụng quản lý bán đồ chơi trẻ em cho Store An An" được tác giả Nguyễn Lập An Khương thực hiện trong khuôn khổ Đồ án học phần Kỹ thuật phần mềm 1 tại Khoa Công nghệ Thông tin, Trường Đại học Kỹ thuật – Công nghệ Cần Thơ (năm 2020), dưới sự hướng dẫn của TS. Trần Văn Út. Xuất phát điểm của nghiên cứu là khảo sát thực tế tại Store An An – một cơ sở kinh doanh bán lẻ đa dạng các chủng loại đồ chơi (thú nhồi bông, mô hình nhân vật, hình dán, đồ chơi kỹ năng cơ bản, xếp hình trí tuệ, xe mô hình điều khiển...) với nguồn hàng cung ứng trong và ngoài nước, phục vụ khách hàng nhiều lứa tuổi và có các bộ phận chuyên trách như quầy thu ngân, kế toán.

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

  1. Xây dựng công cụ phần mềm quản lý hoạt động bán hàng chuyên biệt cho cửa hàng đồ chơi nhằm nâng cao chất lượng dịch vụ khách hàng.
  2. Tự động hóa quy trình quản lý thông tin hàng hóa, theo dõi kho hàng, hỗ trợ lập hóa đơn bán lẻ và kiểm soát xuất – nhập sản phẩm.
  3. Hỗ trợ quản lý dữ liệu đối tác bao gồm nhà cung cấp, thông tin nhân viên và hồ sơ tích lũy doanh số của khách hàng.
  4. Tiết kiệm thời gian xử lý thủ công và giảm thiểu chi phí phát sinh do nhu cầu sử dụng quá nhiều nhân sự vận hành.

Đối tượng nghiên cứu là quy trình nghiệp vụ bán lẻ và quản lý kho tại cửa hàng đồ chơi Store An An. Phạm vi không gian của đề tài giới hạn tại cơ sở Store An An trên địa bàn Cần Thơ, với phạm vi kỹ thuật thuộc khuôn khổ đồ án học phần Kỹ thuật phần mềm 1 trên nền tảng ứng dụng Windows Forms.

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

Đề tài kết hợp giữa lý thuyết phân tích thiết kế hệ thống thông tin và kỹ thuật lập trình hướng đối tượng trên nền tảng công nghệ của Microsoft:

  • Kiến trúc phần mềm ba lớp (Three-Layer Architecture): Tách biệt hệ thống thành Presentation Layer (giao diện người dùng), Business Logic Layer (BLL - xử lý quy tắc nghiệp vụ) và Data Access Layer (DAL - tương tác cơ sở dữ liệu), kết hợp cùng lớp phụ DTO (Data Transfer Objects) để đóng gói và vận chuyển dữ liệu giữa các tầng.
  • Mẫu thiết kế (Design Pattern): Áp dụng mẫu Singleton để đảm bảo một lớp chỉ duy nhất có một thực thể tồn tại trong suốt vòng đời ứng dụng, hỗ trợ điểm truy cập toàn cục và tối ưu hóa tài nguyên bộ nhớ.
  • Công nghệ phát triển và lưu trữ:
    • Ngôn ngữ lập trình C# trên nền tảng .NET Framework.
    • Hệ quản trị cơ sở dữ liệu quan hệ MS SQL Server 2019, thao tác dữ liệu qua ngôn ngữ Transact-SQL.
    • Bộ thư viện tương tác dữ liệu ADO.NET với các đối tượng kết nối và xử lý: SqlConnection, SqlCommand, SqlDataAdapter, SqlDataReader, SqlParameter, DataSet.
    • Công cụ hỗ trợ: StarUML phục vụ mô hình hóa cấu trúc và hành vi hệ thống theo chuẩn UML (MDA); môi trường phát triển tích hợp Microsoft Visual Studio 2019.

Phương pháp nghiên cứu được tác giả triển khai trên thực tế gồm:

  • Khảo sát thực tế cơ cấu tổ chức và hoạt động bán lẻ tại các cửa hàng tương tự nhằm thu thập yêu cầu nghiệp vụ.
  • Tổng hợp và phân tích tài liệu kỹ thuật về lập trình C#, cơ chế kết nối cơ sở dữ liệu của ADO.NET và quản trị dữ liệu MS SQL Server 2019.
  • Phân tích thiết kế hệ thống bằng ngôn ngữ mô hình hóa thống nhất (UML): xây dựng sơ đồ ca sử dụng (Use Case Diagram), đặc tả ca sử dụng, sơ đồ lớp thực thể (Class Diagram) và thiết kế lược đồ quan hệ cơ sở dữ liệu.
  • Phương pháp thực nghiệm: lập trình, cài đặt hệ thống thực tế và kiểm thử giao diện chức năng trên máy trạm.

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

Hệ thống được thiết kế theo cấu trúc giải pháp (Solution) chuẩn mực gồm 4 dự án thành phần liên kết chặt chẽ:

  • BusinessLogicLayer (Class Library): Tiếp nhận yêu cầu từ PresentationLayer, kiểm tra quy tắc nghiệp vụ và điều phối gọi xuống DataAccessLayer. Chứa các lớp nghiệp vụ: CTHDBL, HoaDonBL, LoaiNhanVienBL, NCCBL, PhieuNhapBL, SanPhamBL, TaiKhoanBL, TrangChuBL.
  • DataAccessLayer (Class Library): Thành phần duy nhất tương tác trực tiếp với cơ sở dữ liệu SQL Server thông qua lớp kết nối DataProvider.cs và các lớp xử lý truy vấn: CTHDDL, CTPNDL, HoaDonDL, KhachHangDL, LoaiNhanVienDL, LoaiSanPhamDL, NCCDL, NhanVienDL, PhieuNhapDL, SanPhamDL, TaiKhoanDL, TrangChuDL.
  • DTO (Class Library): Định nghĩa các lớp ánh xạ bảng dữ liệu nhằm vận chuyển đối tượng: CTHDDTO, KhachHangDTO, LoaiSanPhamDTO, NhanVienDTO, NhaSanXuatDTO, PhieuNhapDTO, SanPhamDTO.
  • PresentationLayer (Windows Forms App): Chứa toàn bộ giao diện tương tác (Forms, UserControls, Resources, Reports) và cấu hình điều khiển App.cs.

Cơ sở dữ liệu của ứng dụng được xây dựng trên MS SQL Server 2019 gồm 13 bảng lưu trữ:

STT Tên bảng dữ liệu Thuộc tính chính và khóa ngoại Mục đích lưu trữ trong hệ thống
1 TAIKHOAN MANV (PK, FK), MATKHAU Lưu thông tin định danh và mật khẩu mã hóa của nhân viên
2 QUYEN MAQUYEN (PK), TENQUYEN Danh mục quyền quản trị trong hệ thống
3 PHANQUYEN MANV (PK, FK), MAQUYEN (PK, FK) Phân quyền tương ứng cho từng mã nhân viên
4 NCC MANCC (PK), TENNCC, DIACHI, SDT, EMAIL, NGUNGHOPTAC Thông tin các nhà cung cấp phân phối đồ chơi
5 PHIEUNHAP MAPHIEU (PK), NGAYLAP, MANCC (FK), MANV (FK) Thông tin chung về các đợt nhập hàng về kho
6 CHITIETPHIEUNHAP MACTPHIEUNHAP (PK), MAPHIEU (FK), MASP (FK), SOLUONG, DONGIANHAP Dữ liệu từng mặt hàng trong phiếu nhập
7 LOAISANPHAM MALOAISP (PK), TENLOAISP, NGUNGKINHDOANH Danh mục phân loại sản phẩm đồ chơi
8 SANPHAM MASP (PK), TENSP, MALOAISP (FK), DVT, MANCC (FK), NGAYSX, NGAYHETHAN, SOLUONG, DONGIABAN, DONGIANHAP, LOINHUAN, HINHANH, KHUYENMAI, NGUNGKINHDOANH Quản lý thông tin chi tiết các mặt hàng đồ chơi
9 NHANVIEN MANV (PK), HOTEN, SDT, EMAIL, GIOITINH, NGAYSINH, HINHANH, MALOAI (FK), DATHOIVIEC Hồ sơ nhân sự làm việc tại cửa hàng
10 LOAINHANVIEN MALOAI (PK), TENLOAI Danh mục chức vụ (Quản lý, Bán hàng)
11 KHACHHANG MAKH (PK), HOTEN, DIACHI, SDT, GIOITINH, NGAYDK, EMAIL, DOANHSO, DAXOA Hồ sơ khách hàng và theo dõi tích lũy doanh số
12 HOADON SOHD (PK), NGAYLAP, MAKH (FK), MANV (FK), THANHTIEN, DATHANHTOAN, TIENKHACHHANGTRA, TIENTHUA Quản lý giao dịch thanh toán xuất kho
13 CTHD MACTHD (PK), SOHD (FK), MASP (FK), SOLUONG Chi tiết số lượng từng món đồ chơi trên hóa đơn

Về an toàn dữ liệu, ứng dụng triển khai giải thuật mã hóa mật khẩu đối xứng bằng hàm tích hợp sẵn của SQL Server:

  • Mật khẩu lưu trữ dưới kiểu varbinary(8000).
  • Sử dụng hàm EncryptByPassPhrase khi khởi tạo hoặc cập nhật mật khẩu, và hàm DecryptByPassPhrase khi kiểm tra đăng nhập với chuỗi khóa bí mật là !@#<>?.

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

Chương 1: Tổng quan

Chương 1 trình bày lý do lựa chọn đề tài xuất phát từ nhu cầu ứng dụng công nghệ để nâng cao năng lực cạnh tranh cho các cửa hàng bán lẻ quy mô vừa và nhỏ. Tác giả xác định rõ mục tiêu của hệ thống là cung cấp công cụ tự động hóa toàn diện quy trình bán hàng, kiểm soát kho và quản lý các mối quan hệ nghiệp vụ tại Store An An. Chương này cũng phân định phạm vi đồ án học phần Kỹ thuật phần mềm 1, phương pháp tiếp cận công nghệ C#, ADO.NET, SQL Server và bố cục 5 chương của báo cáo.

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

Chương 2 mô tả hiện trạng hoạt động thực tế tại cửa hàng với các nghiệp vụ bán buôn, quản lý nhân viên, chăm sóc khách hàng và lập hóa đơn thu ngân. Hệ thống xác định 8 chức năng nghiệp vụ then chốt: Đăng nhập, Quản lý hóa đơn, Quản lý nhập sản phẩm, Quản lý khách hàng, Quản lý sản phẩm, Quản lý nhân viên, Quản lý nhà cung cấp, và Thiết lập. Về yêu cầu phi chức năng, phần mềm cam kết người dùng có thể thao tác thuận tiện sau 10 phút làm quen; thời gian khắc phục lỗi vận hành tối đa là 1 ngày; xác lập cấu hình phần cứng tối thiểu (CPU Intel Core i3, RAM 2GB, Windows 7 SP1) và khuyến nghị (CPU Intel Core i3 trở lên, RAM 4GB trở lên, Windows 7 SP1 64-bit trở lên). Chương 2 đồng thời trình bày các khái niệm về C#, MS SQL Server 2019, StarUML, Visual Studio 2019, kiến trúc 3 lớp, thư viện ADO.NET và mẫu Singleton kèm ví dụ mã nguồn thực nghiệm.

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

Chương 3 tập trung vào việc mô hình hóa hệ thống. Tác giả xác định 2 tác nhân chính tham gia tương tác: Nhân viên bán hàng và Nhân viên quản lý (Admin). Chương trình bày 8 ca sử dụng tổng quan và đặc tả chi tiết bằng văn bản kèm các sơ đồ Use Case:

  • Đăng nhập: Kiểm tra tính hợp lệ của tài khoản và mật khẩu, phân nhánh hiển thị lỗi hoặc truy cập form chính theo quyền hạn.
  • Quản lý khách hàng: Thao tác xem, thêm mới (họ tên tối đa 50 ký tự, địa chỉ tối đa 200 ký tự, số điện thoại từ 10-12 số, email hợp lệ), cập nhật và xóa khách hàng.
  • Bán sản phẩm: Tìm kiếm khách hàng theo số điện thoại, lập hóa đơn mua hàng, tự động tính tổng tiền dựa trên đơn giá, số lượng, tỷ lệ khuyến mãi, ghi nhận tiền khách trả và tiền thừa; hỗ trợ phím tắt F9 (Thanh toán) và F12 (Hủy).
  • Quản lý sản phẩm: Quản lý thông tin đồ chơi (tên tối đa 200 ký tự, đơn vị tính, ngày sản xuất trước hạn sử dụng, tỷ lệ lợi nhuận > 0, mã nhà cung cấp còn hợp tác), cập nhật thông tin và ngừng kinh doanh sản phẩm.
  • Quản lý nhân viên: Nhân viên bán hàng chỉ được chỉnh sửa số điện thoại/email cá nhân; nhân viên quản lý có toàn quyền thêm nhân viên mới (tối thiểu đủ 18 tuổi), cập nhật hoặc sa thải nhân sự.
  • Quản lý nhà cung cấp: Xem danh sách, thêm mới, cập nhật và ngừng hợp tác đối với nhà cung cấp.
  • Quản lý nhập sản phẩm: Tạo phiếu nhập hàng theo nhà cung cấp, ghi nhận số lượng, lưu phiếu và cập nhật trạng thái "Xác nhận hàng đã về kho" để tự động cộng dồn tồn kho.
  • Thiết lập: Thực hiện đổi mật khẩu tài khoản (yêu cầu mật khẩu mới từ 8 đến 20 ký tự, cho phép chứa ký tự đặc biệt).

Phần cuối của chương cung cấp sơ đồ lớp thực thể (Class Diagram) và chi tiết lược đồ vật lý của 13 bảng cơ sở dữ liệu.

Chương 4: Xây dựng hệ thống

Chương 4 thuyết minh kết quả triển khai giao diện và mã nguồn của giải pháp phần mềm thông qua hệ thống biểu đồ và 39 hình ảnh minh họa giao diện:

  • Minh họa cấu trúc Solution 4 tầng (BusinessLogicLayer, DataAccessLayer, DTO, PresentationLayer).
  • Trình bày mã nguồn giải mã mật khẩu bằng DecryptByPassPhrase trong thủ tục kiểm tra đăng nhập.
  • Giao diện đăng nhập kiểm soát ràng buộc dữ liệu: nút đăng nhập chỉ kích hoạt đổi sang màu xanh khi đã nhập đủ thông tin; hỗ trợ ẩn/hiện mật khẩu.
  • Thiết kế thanh tiến trình (ProgressBar) bất đồng bộ kết hợp giữa hai tác vụ LoadProgressBar và LoadUserControl khi điều hướng chức năng.
  • Giao diện Trang chủ (Dashboard) trực quan hóa các chỉ số tổng hợp: tổng sản phẩm đã bán, tổng doanh thu, tổng số khách hàng; tích hợp biểu đồ doanh thu và biểu đồ Top 10 sản phẩm bán chạy có khả năng lọc theo các mốc thời gian: Hôm nay, Hôm qua, 7 ngày qua, Tháng này, Tháng trước.
  • Giao diện Bán sản phẩm hiển thị danh mục đồ chơi phân trang (8 sản phẩm/trang), bộ lọc tìm kiếm linh hoạt, bảng chi tiết hóa đơn thanh toán và xuất bản in hóa đơn hoàn chỉnh.
  • Các giao diện quản trị thành phần: Quản lý sản phẩm (hỗ trợ nút thêm nhanh loại sản phẩm và nhà cung cấp ngay trên giao diện), Quản lý nhà cung cấp, Quản lý nhập hàng và duyệt kho, Quản lý nhân viên, Quản lý khách hàng và form Thiết lập đổi mật khẩu.

Chương 5: Kết quả thực hiện

Chương 5 đúc kết các kết quả đạt được, nêu rõ các mặt hạn chế của phiên bản phần mềm hiện tại và định hướng các nội dung cần tiếp tục nghiên cứu, phát triển trong các giai đoạn sau.

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

Nghiên cứu đạt được các kết quả cụ thể đã được kiểm chứng qua giao diện và hệ thống chức năng thực tế:

  • Hoàn thiện trọn vẹn 8 phân hệ chức năng theo đúng mục tiêu phân tích thiết kế, phục vụ đầy đủ vòng đời nghiệp vụ bán lẻ đồ chơi tại cửa hàng.
  • Thiết lập hệ thống cơ sở dữ liệu quan hệ gồm 13 bảng với các ràng buộc toàn vẹn khóa chính, khóa ngoại chặt chẽ trên MS SQL Server 2019.
  • Hiện thực hóa giao diện bán hàng trực quan, hỗ trợ phân trang (8 sản phẩm/trang), thao tác bàn phím thuận tiện qua hệ thống phím tắt chức năng (F9 để thanh toán, F12 để hủy hóa đơn), tự động tính tiền thừa và in phiếu tính tiền chuyên nghiệp.
  • Cung cấp mô-đun phân tích thống kê trên trang chủ với biểu đồ trực quan về doanh thu và danh sách 10 sản phẩm bán chạy theo 5 chu kỳ thời gian khác nhau.
  • Triển khai cơ chế bảo mật mật khẩu nội bộ sử dụng thuật toán mã hóa của hệ quản trị cơ sở dữ liệu (EncryptByPassPhrase / DecryptByPassPhrase).

Về đóng góp học thuật và thực tiễn: Đồ án đóng góp một mô hình thiết kế ứng dụng quản lý thương mại bán lẻ hoàn chỉnh trên nền tảng .NET/Windows Forms tuân thủ kiến trúc phân tầng chuẩn mực (Three-Layer Architecture kết hợp DTO) và áp dụng mẫu thiết kế Singleton. Đây là sản phẩm học phần có tính thực nghiệm cao, kết nối trực tiếp kiến thức lý thuyết về cơ sở dữ liệu và kỹ thuật phần mềm vào việc giải quyết bài toán nghiệp vụ cho một cơ sở kinh doanh thực tế.

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

Bên cạnh những kết quả đạt được, tác giả tự đánh giá các mặt hạn chế còn tồn tại trong đồ án gồm:

  • Cách thức tổ chức dữ liệu và kỹ thuật lập trình ở một số phân đoạn chưa đạt độ tối ưu cao.
  • Khâu xử lý kiểm tra và bắt lỗi người dùng (validation) chưa bao quát toàn diện các trường hợp biên.
  • Tính linh động trong việc tùy biến cấu hình các chức năng chương trình còn hạn chế.
  • Cơ chế bảo mật mới chỉ dừng lại ở việc mã hóa mật khẩu tài khoản người dùng, chưa mã hóa toàn diện các luồng dữ liệu nhạy cảm khác trong cơ sở dữ liệu.
  • Phần mềm còn thiếu các tính năng tiện ích quan trọng trong vận hành doanh nghiệp như nhập/xuất dữ liệu từ Excel (Import/Export), cũng như công cụ sao lưu và phục hồi dữ liệu tự động (Backup & Restore).

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Tối ưu hóa xử lý sự kiện, hoàn thiện khả năng bắt lỗi ngoại lệ phát sinh từ thao tác người dùng và môi trường hệ thống.
  • Bổ sung các tính năng nghiệp vụ mở rộng, hoàn thiện các ràng buộc dữ liệu chặt chẽ hơn trên C#.
  • Nâng cao tính linh động của giao diện và chức năng, hướng tới xây dựng phiên bản hoàn chỉnh đáp ứng đầy đủ tiêu chuẩn ứng dụng thực tế tại Store An An.
  • Nghiên cứu cơ chế bảo mật đa tầng cho toàn bộ dữ liệu lưu trữ và truyền nhận.

Giá trị tham khảo

Báo cáo đồ án mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo cụ thể về phương pháp triển khai đồ án học phần phần mềm; cách thức tổ chức mã nguồn một ứng dụng Windows Forms theo mô hình 3 lớp chuẩn hóa tách rời Presentation, BLL, DAL và DTO.
  • Người nghiên cứu các đề tài quản lý bán lẻ: Cung cấp mẫu lược đồ cơ sở dữ liệu 13 bảng chuẩn hóa và tập tài liệu đặc tả ca sử dụng chi tiết (các ràng buộc độ dài trường dữ liệu, số điện thoại, độ tuổi, điều kiện tính giá bán và lợi nhuận) cho các hệ thống quản lý bán hàng đồ chơi hoặc siêu thị mini.
  • Các phân đoạn có giá trị ứng dụng cao: Phần đặc tả ca sử dụng (Chương 3), cấu trúc Project trong Visual Studio (Chương 4) và giải pháp tích hợp biểu đồ thống kê đa chiều trên Windows Forms.

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

1. Ứng dụng triển khai cơ chế mã hóa mật khẩu như thế nào?
Mật khẩu người dùng được mã hóa bằng hàm EncryptByPassPhrase của SQL Server với chuỗi khóa '!@#<>?' và lưu dưới trường MATKHAU có kiểu dữ liệu varbinary(8000). Khi đăng nhập, hệ thống sử dụng hàm DecryptByPassPhrase với cùng chuỗi khóa để giải mã chuỗi nhị phân về varchar(8000) rồi so sánh với mật khẩu do người dùng nhập vào.

2. Cấu trúc Solution của phần mềm được phân chia thành những dự án con nào?
Solution gồm 4 dự án: BusinessLogicLayer (xử lý logic nghiệp vụ), DataAccessLayer (chịu trách nhiệm duy nhất kết nối và truy vấn SQL Server qua DataProvider), DTO (chứa các lớp thực thể ánh xạ bảng) và PresentationLayer (chứa giao diện người dùng Windows Forms, UserControls và Reports).

3. Yêu cầu cấu hình phần cứng tối thiểu và khuyến nghị để chạy phần mềm là gì?
Cấu hình tối thiểu: CPU Intel Core i3, bộ nhớ RAM 2GB, hệ điều hành Windows 7 SP1. Cấu hình khuyến nghị: CPU Intel Core i3 trở lên, bộ nhớ RAM từ 4GB trở lên, hệ điều hành Windows 7 SP1 (bản 64-bit) trở lên.

4. Chức năng bán hàng hỗ trợ những phím tắt thao tác nhanh nào?
Tại màn hình Bán sản phẩm, nhân viên có thể sử dụng phím tắt F9 để thực hiện thanh toán hóa đơn và phím tắt F12 để hủy hóa đơn bán hàng.

5. Màn hình Trang chủ cung cấp những biểu đồ thống kê nào và có các tùy chọn thời gian nào?
Trang chủ tích hợp 2 biểu đồ: Biểu đồ doanh thu và Biểu đồ Top 10 sản phẩm bán chạy (thống kê theo số lượng hoặc doanh thu). Cả hai đều hỗ trợ lọc dữ liệu theo 5 mốc thời gian: Hôm nay, Hôm qua, 7 ngày qua, Tháng này và Tháng trước.

Kết luận

Đồ án "Xây dựng ứng dụng quản lý bán đồ chơi trẻ em cho Store An An" của tác giả Nguyễn Lập An Khương đã giải quyết trọn vẹn yêu cầu tin học hóa quy trình quản lý bán lẻ cho một cửa hàng thực tế. Hệ thống được xây dựng bài bản từ khâu khảo sát, mô hình hóa phân tích bằng UML đến việc cài đặt mã nguồn theo kiến trúc ba lớp trên nền tảng C# WinForms và MS SQL Server 2019. Mặc dù còn một số hạn chế về khả năng nhập xuất dữ liệu Excel và cơ chế sao lưu tự động, đồ án đã hoàn thành tốt mục tiêu học phần Kỹ thuật phần mềm 1 và cung cấp một tài liệu tham khảo có tính thực tiễn cao cho sinh viên ngành công nghệ phần mềm.