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

Trong bối cảnh công nghệ thông tin ngày càng đóng vai trò quan trọng trong đời sống kinh tế và xã hội, việc ứng dụng tin học hóa vào quy trình quản lý bán hàng là xu hướng cần thiết nhằm thay thế các phương thức thủ công truyền thống. Đề tài "Quản lý cửa hàng bán sách" (Dự án 1) được thực hiện bởi nhóm sinh viên thuộc chuyên ngành Phát triển phần mềm, Trường Cao đẳng FPT Polytechnic Hà Nội dưới sự hướng dẫn của giảng viên Phạm Gia Khánh. Xuất phát từ nhu cầu thực tế của thị trường sách khi văn hóa đọc ngày càng được quan tâm, lượng khách hàng và danh mục ấn phẩm tăng cao khiến các cửa hàng gặp nhiều khó khăn trong khâu kiểm soát hoạt động kinh doanh bằng sổ sách giấy tờ.

Mục tiêu cụ thể của đề tài được tác giả xác định nhằm giải quyết các bài toán thiết yếu sau:

  1. Hỗ trợ nhân viên và nhà quản lý dễ dàng kiểm soát hóa đơn, thực hiện thanh toán nhanh chóng và chính xác cho khách hàng.
  2. Hỗ trợ cửa hàng quản lý toàn diện thông tin nhân viên và thông tin khách hàng.
  3. Hỗ trợ cửa hàng quản lý kho hàng, kiểm soát số lượng nhập, xuất và tồn kho của từng đầu sách.

Về đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý bán hàng, quản lý kho, quản lý danh mục sách, quản lý đối tác (tác giả, nhà xuất bản) và nhân sự tại các cửa hàng bán lẻ sách.
  • Phạm vi không gian: Khảo sát thực trạng tại 6 cửa hàng sách lớn và nhỏ hoạt động theo hình thức truyền thống trên địa bàn thành phố Hà Nội.
  • Phạm vi thời gian: Đề tài được khởi tạo, phân tích, thiết kế và triển khai thực hiện từ tháng 11 đến tháng 12 năm 2022.

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

Đề tài áp dụng các nguyên lý kỹ thuật phần mềm tiêu chuẩn để xây dựng tài liệu đặc tả yêu cầu phần mềm (SRS - Software Requirements Specification) và phát triển ứng dụng quản trị bán hàng trên nền tảng máy tính để bàn (Desktop Application).

Mô hình phát triển phần mềm

Nhóm tác giả lựa chọn mô hình Thác nước (Waterfall Model) làm phương pháp phát triển chính. Các giai đoạn trong mô hình được thực hiện nối tiếp nhau theo một trình tự tuyến tính cố định:

  • Khảo sát và xác định yêu cầu.
  • Phân tích và thiết kế hệ thống (sơ đồ Use Case, Activity Diagram, Class Diagram, ERD).
  • Thiết kế giao diện (UI Design).
  • Lập trình chức năng (Implementation).
  • Kiểm thử và hoàn thiện tài liệu.

Lý do lựa chọn mô hình Thác nước được nêu rõ: thời gian thực hiện dự án ngắn (khoảng 2 tháng), tiêu chí đầu vào và đầu ra của hệ thống được xác định rõ ràng ngay từ đầu, cấu trúc phát triển tuyến tính giúp nhóm dễ dàng quản lý tiến độ và kiểm soát chất lượng từng công đoạn.

Phương pháp thu thập và phân tích dữ liệu

  • Phương pháp khảo sát thực tế: Thực hiện bởi hai thành viên (Nguyễn Việt Dũng và Nguyễn Bình Dương) thông qua công cụ biểu mẫu hỏi gửi tới 6 cửa hàng sách truyền thống tại Hà Nội. Kết quả khảo sát chỉ ra 4 vấn đề lớn của mô hình thủ công: khó khăn trong phân loại ấn phẩm, tốc độ thống kê hàng hóa chậm, tỷ lệ nhầm lẫn đơn hàng còn tồn tại, và việc lập báo cáo hay viết hóa đơn bằng tay dễ phát sinh sai sót.
  • Phương pháp mô hình hóa dữ liệu và chức năng: Sử dụng mô hình quan hệ thực thể (ERD) để thiết kế cơ sở dữ liệu quan hệ, kết hợp ngôn ngữ mô hình hóa thống nhất (UML) gồm sơ đồ Use Case, sơ đồ hoạt động (Activity Diagram) và sơ đồ lớp (Class Diagram) để biểu diễn luồng nghiệp vụ và cấu trúc đối tượng của hệ thống.

Thiết kế và triển khai

Hệ thống "Quản lý cửa hàng bán sách" được thiết kế dưới dạng ứng dụng độc lập trên nền tảng hệ điều hành Windows, có kết nối cơ sở dữ liệu và yêu cầu máy tính kết nối Internet trong quá trình vận hành.

Kiến trúc công nghệ và môi trường vận hành

  • Ngôn ngữ lập trình: C# (.NET Framework/Windows Forms).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2012.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022.
  • Công cụ hỗ trợ quản lý và thiết kế: Trello (quản lý công việc), GitHub (quản lý mã nguồn), Diagrams.net / App Diagram (vẽ sơ đồ), Adobe Photoshop (xử lý hình ảnh đồ họa), Microsoft Excel 2016, Microsoft PowerPoint 2016, Google Docs, Google Meet.
  • Yêu cầu phần cứng tối thiểu: Bộ vi xử lý Intel Pentium IV trở lên; Bộ nhớ trong (RAM) tối thiểu 2GB; Dung lượng ổ đĩa cứng trống tối thiểu 1GB; Hệ điều hành Microsoft Windows.

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

Cơ sở dữ liệu của hệ thống bao gồm 10 bảng thực thể chính với các thuộc tính, kiểu dữ liệu và ràng buộc toàn vẹn được thiết kế chặt chẽ:

STT Tên bảng Khóa chính (PK) Khóa ngoại (FK) Các thuộc tính tiêu biểu
1 NhanVien ID (Guid) IDChucVu (Guid) Ten (Nvarchar 50), GioiTinh (Nvarchar 15), DiaChi (Nvarchar 50), IDGuiBC (Guid), Sdt (Nvarchar 15), NgaySinh (Datetime), TrangThai (Nvarchar 100), Anh (Nvarchar 200), Email (Nvarchar 100), Password (Nvarchar 50)
2 KhachHang ID (Guid) Không Ma (Nvarchar 15), GioiTinh (Nvarchar 15), DiaChi (Nvarchar 50), Sdt (Varchar 15), NgaySinh (Datetime)
3 HoaDon ID (Guid) IDKH (Guid), IDNV (Guid) Ma (Varchar 15), NgayTao (Datetime), TrangThai (Nvarchar 100), DonGia (Decimal)
4 HoaDonChiTiet ID (Guid) IDHoaDon (Guid), IDSachChiTiet (Guid) GiaBan (Decimal), SoLuong (int)
5 ChucVu ID (Guid) Không Ma (Varchar 15), Ten (Nvarchar 50)
6 NhaXuatBan ID (Guid) Không Ma (Varchar 15), Ten (Nvarchar 50)
7 TacGia ID (Guid) Không Ma (Varchar 15), Ten (Nvarchar 50)
8 TheLoai ID (Guid) Không Ma (Varchar 15), Ten (Nvarchar 50)
9 Sach ID (Guid) Không Ma (Varchar 15), Ten (Nvarchar 50)
10 SachChiTiet ID (Guid) IDSach, IDTacGia, IDTheLoai, IDNXB (Guid) MoTa (Nvarchar 200), GiaNhap (Decimal), GiaBan (Decimal), SoLuongTon (int), SoTrang (int), Anh (Nvarchar 100), Ma (Varchar 15)

Phân quyền người dùng và chức năng hệ thống

Hệ thống xác định hai nhóm đối tượng sử dụng chính:

  • Quản lý (Manager): Có quyền truy cập và thao tác trên toàn bộ các phân hệ chức năng của phần mềm, bao gồm cả quản trị nhân sự, chức vụ và xem báo cáo thống kê doanh thu tổng quát.
  • Nhân viên (Staff): Được phân quyền thực hiện các nghiệp vụ bán hàng, quản lý danh mục sách, thể loại, tác giả, nhà xuất bản, lập hóa đơn và quản lý khuyến mãi/mã giảm giá; bị giới hạn quyền truy cập đối với mô-đun quản lý nhân viên.

Quy ước thiết kế giao diện và kiểm soát điều khiển

Nhóm tác giả thiết lập quy chuẩn thống nhất cho toàn bộ giao diện của ứng dụng Windows Forms:

  • Thuộc tính giao diện: Font chữ Bahnschrift, kích thước chữ 14px, mã màu chữ chủ đạo #121212, nền container (Panel, GroupBox) sử dụng màu #FFFFFF.
  • Quy tắc đặt tên điều khiển (Control Naming Convention):
    • Nhãn hiển thị: tiền tố lb_ (Label)
    • Nút bấm thao tác: tiền tố btn_ (Button)
    • Bảng hiển thị dữ liệu: tiền tố dtg_ (DataGridView)
    • Danh sách trổ xuống: tiền tố cbb_ (ComboBox)
    • Ô nhập văn bản: tiền tố tbt_ (TextBox)
    • Hộp gom nhóm điều khiển: tiền tố grb_ (GroupBox)
    • Khung chứa: tiền tố pnl_ (Panel)
    • Hộp chứa hình ảnh: tiền tố pcb_ (PictureBox)
    • Điều khiển chọn ngày tháng: tiền tố dtp_ (DateTimePicker)
    • Hộp đánh dấu kiểm: tiền tố cb_ (CheckBox)

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

Báo cáo dự án được cấu trúc thành hai phần chính phản ánh toàn bộ tiến trình phân tích yêu cầu, thiết kế và cài đặt hệ thống.

PHẦN MỞ ĐẦU

  • Giới thiệu và Lý do chọn đề tài: Trình bày sự cần thiết của tin học hóa trong hoạt động bán lẻ sách, các mục tiêu cắt giảm thao tác thủ công, hạn chế thất thoát dữ liệu và tăng năng suất lao động.
  • Quy ước tài liệu và Bảng chú giải thuật ngữ: Định nghĩa quy chuẩn định dạng văn bản (font Times New Roman, cỡ chữ Heading 1 đến Heading 4 từ 22 đến 16, dãn dòng 1.2; nội dung cỡ 14, dãn dòng 1.3) và làm rõ các khái niệm kỹ thuật (Database, Use Case, Activity Diagram, Class Diagram, ERD, C#, CPU, RAM, SRS, Tester, Developer, PTPM).
  • Mục tiêu và Phạm vi đề tài: Phân định rõ phạm vi ứng dụng trong phạm vi quản lý nội bộ cửa hàng sách (quản lý bán hàng, quản lý kho, quản lý danh mục và người dùng).
  • Khởi tạo và Lập kế hoạch dự án: Phân công trách nhiệm nhân sự nhóm gồm 5 thành viên (Nguyễn Bình Dương - Trưởng nhóm & Lập trình viên; Nguyễn Việt Dũng - Lập trình viên & Kiểm thử viên; Nguyễn Quang Huy, Đỗ Ngọc Huy, Tăng Văn Đạt - Lập trình viên). Kế hoạch chi tiết được lập cho các mốc thời gian từ ngày 02/11/2022 đến ngày 10/12/2022.
  • Bối cảnh sản phẩm, Môi trường vận hành và Ràng buộc: Xác định đặc thù người dùng, yêu cầu hệ điều hành Windows, phụ thuộc kết nối Internet và danh mục các phần mềm, công cụ hỗ trợ phát triển.

PHẦN NỘI DUNG

  • Phân tích cơ sở dữ liệu: Chi tiết hóa lược đồ thực thể quan hệ ERD, định nghĩa cấu trúc chi tiết của 10 bảng dữ liệu bao gồm kiểu định danh toàn cầu duy nhất (Guid), độ dài trường dữ liệu và quan hệ khóa ngoại (1-n) giữa các thực thể Sach - SachChiTiet, HoaDon - HoaDonChiTiet, NhanVien - ChucVu.
  • Phân tích và Thiết kế hệ thống (UML):
    • Xây dựng sơ đồ Use Case tổng thể xác định tương tác giữa hai tác nhân (Quản lý, Nhân viên) với các nhóm chức năng.
    • Xây dựng hệ thống sơ đồ hoạt động (Activity Diagram) mô tả chi tiết quy trình xử lý cho 13 mô-đun: Đăng nhập, Màn hình chính, Quên mật khẩu, Quản lý nhân viên, Quản lý sách, Quản lý nhà xuất bản, Quản lý thể loại, Quản lý tác giả, Quản lý sản phẩm, Quản lý thống kê, Quản lý hóa đơn, Quản lý bán hàng, Quản lý khách hàng.
    • Xây dựng sơ đồ lớp (Class Diagram) mô tả cấu trúc các đối tượng thực thể trong hệ thống hướng đối tượng.
  • Thiết kế giao diện: Trình bày chi tiết bản vẽ thiết kế giao diện đồ họa (GUI) cho 14 màn hình chức năng của ứng dụng (Đăng nhập, Đổi mật khẩu, Quên mật khẩu, Màn hình chính, Bán hàng, Quản lý nhân viên, Quản lý chức vụ, Quản lý sách, Quản lý thể loại, Quản lý nhà xuất bản, Quản lý tác giả, Quản lý sản phẩm, Quản lý thống kê, Quản lý hóa đơn).
  • Các yêu cầu phi chức năng: Đưa ra các tiêu chí về tính sẵn sàng của hệ thống, tính an toàn, tính bảo mật dữ liệu tài khoản và các quy tắc nghiệp vụ kiểm soát nhập xuất.
  • Tổng kết: Đánh giá thời gian phát triển, mức độ hoàn thành các hạng mục, những khó khăn rủi ro kỹ thuật phát sinh và bài học kinh nghiệm thu nhận được sau quá trình thực hiện dự án.

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

Kết quả triển khai và mức độ hoàn thành công việc

Dự án đã hoàn thành toàn bộ các giai đoạn từ khảo sát, phân tích thiết kế đến lập trình chức năng theo đúng tiến độ đề ra trong bảng kế hoạch:

Hạng mục công việc Nhân sự phụ trách Thời gian thực hiện Tỷ lệ hoàn thành
Phân tích luồng và chức năng Nguyễn Bình Dương, Nguyễn Việt Dũng 02/11 - 07/11/2022 100%
Thiết kế Use Case & Sơ đồ ERD Nguyễn Bình Dương, Nguyễn Việt Dũng 02/11 - 07/11/2022 100%
Thiết kế Activity Diagram Nguyễn Bình Dương, Nguyễn Việt Dũng 04/12/2022 100%
Thiết kế Class Diagram Nguyễn Bình Dương 05/12/2022 100%
Xây dựng tài liệu dự án (Document) Nguyễn Việt Dũng 02/11 - 06/12/2022 90%
Thiết kế toàn bộ giao diện GUI (10 màn hình) Nguyễn Việt Dũng, Nguyễn Bình Dương 11/11 - 13/11/2022 100%
Lập trình chức năng Đăng nhập / Đổi MK / Nhân viên / Hóa đơn / Bán hàng Nguyễn Việt Dũng 14/11 - 01/12/2022 100%
Lập trình Quên MK / Thống kê / Sản phẩm Nguyễn Bình Dương 14/11 - 10/12/2022 100%
Lập trình Quản lý NXB / Tác giả Tăng Văn Đạt 14/11 - 04/12/2022 100%
Lập trình Quản lý Sách / Thể loại Đỗ Ngọc Huy 14/11 - 04/12/2022 100%
Lập trình Quản lý Chức vụ / Khách hàng Nguyễn Quang Huy 14/11 - 04/12/2022 100%

Đóng góp thực tiễn của đề tài

  1. Chuẩn hóa được toàn bộ quy trình quản lý thông tin sách, phân tách rõ ràng giữa thông tin tổng quát của đầu sách (Sach) và thông tin chi tiết từng phiên bản ấn phẩm nhập về kho (SachChiTiet gồm giá nhập, giá bán, số trang, số lượng tồn, ảnh minh họa).
  2. Xây dựng giải pháp phần mềm khép kín phục vụ đầy đủ các nghiệp vụ cơ bản tại quầy: tạo hóa đơn, tính tiền, trừ tồn kho tự động, quản lý hồ sơ khách hàng thân thiết và theo dõi biến động nhân sự.
  3. Cung cấp bộ tài liệu đặc tả yêu cầu (SRS) hoàn chỉnh cùng hệ thống sơ đồ UML, quy chuẩn đặt tên control và thiết kế bảng dữ liệu, tạo nền tảng thuận lợi cho công tác bảo trì phần mềm.

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

Hạn chế của đề tài

  • Phạm vi triển khai: Ứng dụng mới chỉ dừng lại ở mô hình ứng dụng máy trạm (Desktop Application) chạy trên hệ điều hành Windows, chưa hỗ trợ nền tảng Web hoặc thiết bị di động.
  • Ràng buộc hạ tầng: Phần mềm bắt buộc máy tính vận hành phải duy trì kết nối Internet liên tục để tương tác với cơ sở dữ liệu.
  • Kinh nghiệm thực tế: Do giới hạn về khung thời gian thực hiện ngắn (khoảng 2 tháng) và trình độ chuyên môn của sinh viên trong môn Dự án 1 còn ở giai đoạn tích lũy, các nghiệp vụ phức tạp chuyên sâu của ngành bán lẻ (như tích hợp cổng thanh toán trực tuyến, quét mã vạch tự động hóa cao) chưa được hoàn thiện chuyên sâu.

Hướng mở rộng và phát triển

  • Tối ưu hóa hiệu năng xử lý dữ liệu lớn khi quy mô danh mục sách và số lượng giao dịch tăng cao.
  • Nâng cấp và mở rộng hệ thống sang kiến trúc đa nền tảng (Web Application và Mobile App) nhằm hỗ trợ bán hàng đa kênh và quản lý từ xa.
  • Tích hợp thêm các phân hệ nâng cao như quản lý chương trình khuyến mãi tự động theo chiến dịch và phân tích hành vi mua sắm của khách hàng.

Giá trị tham khảo

Báo cáo dự án có giá trị thực tiễn và học thuật rõ ràng đối với các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin / Phát triển phần mềm: Tài liệu là hình mẫu tham khảo trực tiếp cho các môn học đồ án chuyên ngành (Dự án 1, Dự án tốt nghiệp), đặc biệt trong cách xây dựng tài liệu đặc tả SRS, phương pháp phân rã bảng dữ liệu quan hệ (ERD sử dụng khóa chính kiểu Guid), và cách tổ chức quy ước giao diện Windows Forms bằng ngôn ngữ C#.
  • Người học và lập trình viên ứng dụng Windows Forms / C#: Cung cấp tài liệu tham khảo chi tiết về hệ thống điều khiển giao diện, chuẩn đặt tên tiền tố control (btn_, dtg_, cbb_, tbt_) và cách tổ chức luồng xử lý dữ liệu qua sơ đồ hoạt động (Activity Diagram).
  • Chủ cửa hàng sách quy mô vừa và nhỏ: Cung cấp tài liệu phân tích nghiệp vụ thực tế giúp nhận diện các điểm nghẽn của quy trình quản lý bán lẻ thủ công và định hình các chức năng phần mềm cần có khi chuyển đổi số.

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

1. Đề tài được thực hiện bởi đơn vị nào, thuộc môn học gì và ai là người hướng dẫn?
Đề tài là báo cáo môn học "Dự án 1" do Nhóm 2 - Lớp IT17303 thuộc chuyên ngành Phát triển phần mềm, Trường Cao đẳng FPT Polytechnic thực hiện vào tháng 11/2022, dưới sự hướng dẫn chuyên môn của giảng viên Phạm Gia Khánh.

2. Nhóm tác giả đã tiến hành khảo sát thực tế như thế nào trước khi thiết kế hệ thống?
Hai thành viên Nguyễn Việt Dũng và Nguyễn Bình Dương đã gửi biểu mẫu hỏi khảo sát tới 6 cửa hàng bán sách lớn và nhỏ tại Hà Nội hoạt động theo phương thức truyền thống. Kết quả ghi nhận các khó khăn về phân loại sách, thống kê chậm, nhầm lẫn đơn hàng và sai sót khi viết hóa đơn/báo cáo thủ công.

3. Cơ sở dữ liệu của dự án gồm bao nhiêu bảng và sử dụng kiểu dữ liệu gì cho khóa chính?
Cơ sở dữ liệu được xây dựng trên Microsoft SQL Server 2012 bao gồm 10 bảng: NhanVien, KhachHang, HoaDon, HoaDonChiTiet, ChucVu, NhaXuatBan, TacGia, TheLoai, Sach, và SachChiTiet. Toàn bộ khóa chính (PK) của các bảng đều sử dụng kiểu dữ liệu định danh duy nhất toàn cầu (Guid).

4. Phân quyền người dùng trong phần mềm được chia thành những nhóm nào và có điểm gì khác biệt?
Hệ thống phân chia thành 2 nhóm người dùng: Quản lý (được phép truy cập và sử dụng tất cả chức năng trong phần mềm) và Nhân viên (được sử dụng các chức năng quản lý bán hàng, sách, thể loại, tác giả, hóa đơn nhưng không được phép truy cập mô-đun quản lý nhân viên).

5. Nhóm tác giả áp dụng mô hình phát triển phần mềm nào và cấu hình máy tính yêu cầu ra sao?
Dự án áp dụng mô hình Thác nước (Waterfall Model) trong thời gian thực hiện 2 tháng. Yêu cầu hệ thống bao gồm: CPU Intel Pentium IV trở lên, RAM tối thiểu 2GB, ổ cứng trống ít nhất 1GB, hệ điều hành Windows và bắt buộc có kết nối mạng Internet.


Kết luận

Đề tài "Quản lý cửa hàng bán sách" của nhóm sinh viên Trường Cao đẳng FPT Polytechnic đã giải quyết thành công bài toán số hóa nghiệp vụ bán lẻ sách truyền thống thông qua việc xây dựng một ứng dụng C# kết nối SQL Server hoàn chỉnh. Báo cáo cung cấp đầy đủ quy trình từ khảo sát thực tế 6 cửa hàng tại Hà Nội, xây dựng tài liệu đặc tả SRS, thiết kế 10 bảng dữ liệu quan hệ đến triển khai chi tiết 13 sơ đồ hoạt động và 14 giao diện chức năng. Hệ thống đáp ứng tốt các yêu cầu về kiểm soát hóa đơn, quản lý kho hàng và phân quyền bảo mật, tạo tiền đề vững chắc cho việc mở rộng ứng dụng trong môi trường thực tế.