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

Đồ án tốt nghiệp "Xây dựng ứng dụng quản lý kho hàng trên nền web" của tác giả Vũ Tùng Lâm (ngành Công nghệ Thông tin, Trường Đại học Dân lập Hải Phòng, năm 2016) được thực hiện dựa trên nhu cầu tin học hóa quy trình quản lý thực tế tại đơn vị kinh doanh.

  • Lý do chọn đề tài và bối cảnh thực tiễn: Trước sự phát triển của công nghệ thông tin và mạng Internet, việc ứng dụng tin học vào công tác quản lý là xu hướng tất yếu nhằm nâng cao hiệu quả xử lý dữ liệu. Tại Cửa hàng rượu bia Thành Vang (địa chỉ: số 112 đường Lý Thường Kiệt, quận Hồng Bàng, thành phố Hải Phòng) – đơn vị chuyên phân phối các loại bia và rượu vang cao cấp (Penfolds, Champagne Bollinger, Champagne Taitinger, Baron Phillippe de Rothschild...) – hoạt động theo dõi kho hàng trước đây chủ yếu thực hiện bằng phương pháp ghi sổ truyền thống. Hình thức thủ công này bộc lộ nhiều nhược điểm: độ chính xác không cao, thời gian tra cứu và xử lý kéo dài, giấy tờ sổ sách dễ thất lạc hoặc khó bảo quản theo thời gian. Đặc biệt, cửa hàng sở hữu hệ thống gồm nhiều kho lưu trữ phân tán ở các vị trí địa lý khác nhau để duy trì nguồn hàng phục vụ bán buôn, bán lẻ, dẫn đến công tác theo dõi số lượng tồn kho và điều chuyển nội bộ gặp nhiều trở ngại.
  • Mục tiêu nghiên cứu:
    1. Tìm hiểu, khảo sát quy trình quản lý và vận hành kho hàng thực tế tại Cửa hàng rượu bia Thành Vang.
    2. Thu thập đầy đủ thông tin, tài liệu, biểu mẫu, sổ sách và báo cáo liên quan đến hoạt động nhập, xuất và quản lý hàng hóa.
    3. Phân tích và thiết kế hệ thống thông tin quản lý kho hàng phù hợp với đặc thù quản lý đa kho của đơn vị.
    4. Xây dựng ứng dụng quản lý kho hàng trên nền web, hỗ trợ thủ kho thực hiện các nghiệp vụ xuất, nhập, chuyển kho và lập báo cáo thống kê chính xác.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng nghiên cứu: Quy trình nghiệp vụ kho (nhập hàng, kiểm kê, xuất hàng theo thứ tự thời gian tồn, luân chuyển giữa các kho, tạo/sửa/xóa kho, báo cáo định kỳ) và luồng dữ liệu quản lý các mặt hàng rượu, bia.
    • Phạm vi không gian: Cửa hàng rượu bia Thành Vang và mạng lưới các kho hàng trực thuộc tại quận Hồng Bàng, thành phố Hải Phòng.
    • Phạm vi thời gian: Đề tài được giao ngày 18 tháng 4 năm 2016 và hoàn thành vào tháng 7 năm 2016.

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

Đồ án kết hợp giữa phương pháp phân tích thiết kế hệ thống thông tin có cấu trúc và các công nghệ phát triển ứng dụng web mã nguồn mở.

  • Khung lý thuyết và công nghệ nền tảng:
    • Kiến trúc Web động: Hoạt động theo mô hình Client - Server, xử lý yêu cầu phía trình duyệt thông qua giao thức truyền tải, truy vấn cơ sở dữ liệu trên máy chủ và kết xuất mã giao diện HTML trả về cho người dùng.
    • Ngôn ngữ HTML: Ngôn ngữ đánh dấu siêu văn bản định dạng cấu trúc trang web với các thẻ phần tử cơ bản (<head>, <title>, <body>, <table>, <form>, <input>, <select>, <textarea>).
    • Ngôn ngữ kịch bản PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản thực thi phía máy chủ (Server-Side), độc lập nền tảng phần cứng và hệ điều hành; sử dụng các cơ chế quản trị phiên làm việc qua Cookie, Session (session_start(), session_register()), nhận dữ liệu bằng phương thức GET/POST và tổ chức mã lệnh thông qua các hàm tự định nghĩa, tái sử dụng tệp (include, require, include_once, require_once).
    • Hệ quản trị cơ sở dữ liệu MySQL: Cơ sở dữ liệu quan hệ mã nguồn mở phục vụ lưu trữ, tổ chức, truy cập và xử lý dữ liệu thông qua ngôn ngữ SQL chuẩn (SELECT, INSERT, UPDATE, DELETE) cùng hệ thống hàm tập hợp (AVG, SUM, COUNT, MIN, MAX), hàm xử lý chuỗi và hàm thời gian (CURDATE, CURTIME, Period_Diff).
  • Phương pháp nghiên cứu thực tế:
    • Phương pháp khảo sát nghiệp vụ thực tế: Trực tiếp phỏng vấn, khảo sát hoạt động kho bãi và thu thập các chứng từ kế toán, sổ kho tại cửa hàng Thành Vang.
    • Phương pháp phân tích thiết kế hệ thống có cấu trúc (Structured System Analysis and Design):
      • Xây dựng sơ đồ chức năng nghiệp vụ, biểu đồ phân rã chức năng (BFD).
      • Lập ma trận thực thể chức năng (CRUD matrix) nhằm liên kết các nhóm nghiệp vụ với 13 hồ sơ dữ liệu.
      • Xây dựng biểu đồ luồng dữ liệu (DFD) từ mức ngữ cảnh (Context Diagram), DFD mức 0 đến DFD mức 1 cho từng chức năng chi tiết.
      • Xây dựng mô hình liên kết thực thể (ERD) và chuyển đổi sang mô hình dữ liệu quan hệ.
  • Nguồn dữ liệu: Các quy ước mã hàng, nhóm hàng, đơn giá, mẫu biểu phiếu nhập, phiếu xuất, phiếu chuyển kho, sổ theo dõi tồn kho thực tế do Cửa hàng Thành Vang cung cấp trong quá trình thực tập.

Thiết kế và triển khai

Hệ thống được thiết kế theo hướng module hóa, liên kết chặt chẽ giữa giao diện người dùng, logic xử lý nghiệp vụ trên máy chủ PHP và hệ thống cơ sở dữ liệu quan hệ MySQL.

1. Kiến trúc cơ sở dữ liệu

Cơ sở dữ liệu hệ thống được chuẩn hóa gồm 7 bảng dữ liệu quan hệ, đảm bảo tính toàn vẹn dữ liệu thông qua các khóa chính và khóa ngoại:

STT Tên bảng Tên các trường dữ liệu Khóa chính (PK) Khóa ngoại (FK)
1 Hàng hóa Mã hàng, Tên hàng, Đơn vị tính, Đơn giá (Bigint), Mã nhóm hàng Mã hàng Mã nhóm hàng
2 Nhóm hàng Mã nhóm hàng, Tên nhóm hàng, Ghi chú Mã nhóm hàng Không
3 Kho Mã kho, Tên kho, Địa điểm Mã kho Không
4 Thủ kho Mã thủ kho, Tên thủ kho Mã thủ kho Không
5 Phiếu nhập kho Mã phiếu nhập, Mã hàng, Mã thủ kho, Mã kho, Ngày nhập (Date), Số lượng nhập (Int) Mã phiếu nhập Mã hàng, Mã thủ kho, Mã kho
6 Phiếu xuất kho Mã phiếu xuất, Mã hàng, Mã thủ kho, Mã kho, Ngày xuất (Date), Số lượng xuất (Int) Mã phiếu xuất Mã hàng, Mã thủ kho, Mã kho
7 Chuyển kho Mã phiếu chuyển, Mã hàng, Mã thủ kho, Mã kho, Ngày chuyển (Date), Số lượng chuyển (Int) Mã phiếu chuyển Mã hàng, Mã thủ kho, Mã kho

2. Môi trường triển khai thử nghiệm

Ứng dụng được cài đặt và vận hành thử nghiệm trên môi trường phần cứng và phần mềm cụ thể:

  • Thiết bị phần cứng: Máy tính xách tay Laptop Acer 4349, bộ vi xử lý Intel Core i3, bộ nhớ trong RAM 4GB.
  • Hệ điều hành: Microsoft Windows 7.
  • Giao diện triển khai: Ứng dụng xây dựng hoàn chỉnh các màn hình chức năng bao gồm Trang chủ hệ thống, Đăng nhập người dùng, Đăng ký tài khoản, Quản lý danh sách hàng hóa và Quản lý danh sách nhóm hàng.

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

Chương 1: Giới thiệu ứng dụng quản lý kho hàng

Chương 1 trình bày tổng quan về bối cảnh thực tế tại đơn vị thực tập và mô tả chi tiết chu trình nghiệp vụ quản lý kho của Cửa hàng rượu bia Thành Vang (112 Lý Thường Kiệt, Hải Phòng). Tác giả làm rõ 5 quy trình nghiệp vụ chính của hệ thống:

  • Nghiệp vụ nhập kho: Thủ kho kiểm kê thực tế, lập phiếu nhập kho và đối chiếu sổ hàng trong kho. Phân loại sản phẩm theo quy ước nhóm hàng, lưu trữ các thông tin (mã hàng, tên hàng, đơn vị, số lượng, đơn giá) vào hồ sơ hàng hóa. Nếu mặt hàng mới chưa có trong danh mục thì tiến hành khởi tạo mới; cập nhật dữ liệu vào sổ nhập hàng và sổ hàng trong kho.
  • Nghiệp vụ xuất kho: Thủ kho kiểm tra tồn kho trên hệ thống. Áp dụng quy tắc quản lý hàng tồn lâu nhất được ưu tiên xuất trước (FIFO). Trường hợp kho chỉ định đủ số lượng sẽ tiến hành lập phiếu xuất và cập nhật sổ xuất hàng; trường hợp không đủ hàng, hệ thống phát sinh yêu cầu luân chuyển từ các kho khác.
  • Nghiệp vụ luân chuyển kho: Xử lý yêu cầu điều phối hàng hóa giữa các kho phân tán. Thủ kho kiểm tra lượng hàng khả dụng tại các kho phụ, lập phiếu chuyển kho trước khi vận chuyển, sau đó cập nhật lại số lượng tồn kho tại các kho liên quan và lưu vết vào lịch sử chuyển hàng.
  • Nghiệp vụ quản trị kho: Cho phép tạo mới thông tin kho, chỉnh sửa thông tin khi có sai lệch và xóa thông tin kho khi kho vật lý ngừng hoạt động.
  • Nghiệp vụ báo cáo: Tổng hợp số liệu theo kỳ phục vụ công tác quản lý của lãnh đạo cửa hàng (báo cáo nhập, báo cáo xuất, báo cáo tồn).

Chương 2: Tìm hiểu về lập trình web trên nền tảng PHP/SQL

Chương 2 đóng vai trò cung cấp cơ sở kỹ thuật và công nghệ phục vụ việc lập trình ứng dụng web:

  • World Wide Web và HTML: Khái quát lịch sử dịch vụ WWW, vai trò của Web Client (trình duyệt Internet Explorer, Google Chrome, Mozilla Firefox...) và Web Server (IIS, Apache, Tomcat). Phân biệt đặc tính của trang web tĩnh và web động; phân tích cú pháp HTML và tập hợp các thẻ hiển thị, biểu mẫu, bảng dữ liệu.
  • Ngôn ngữ PHP: Nêu nguồn gốc ra đời của PHP từ năm 1994 bởi Rasmus Lerdorf; phân tích cơ chế xử lý kịch bản phía máy chủ. Trình bày chi tiết cú pháp biến, quy tắc định nghĩa hằng số (define), toán tử nối chuỗi, phương thức truyền dữ liệu GET và POST, kỹ thuật duy trì trạng thái đăng nhập qua Cookie và Session, cùng các hàm triệu gọi tệp (include, require).
  • Cơ sở dữ liệu MySQL: Trình bày 4 mục đích cốt lõi của CSDL (lưu trữ, truy cập, tổ chức, xử lý); đặc tả chi tiết các kiểu dữ liệu số (Tinyint, Smallint, Mediumint, Int, Bigint, Float), kiểu chuỗi (Char, Varchar, Text, Blob) và kiểu ngày giờ (Date, Time, DateTime, TimeStamp). Trình bày cú pháp các lệnh thao tác bảng (SELECT, INSERT, UPDATE, DELETE) và hệ thống các hàm tích hợp trong MySQL.

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

Chương 3 tập trung xây dựng mô hình logic và mô hình dữ liệu chi tiết cho hệ thống thông tin quản lý kho:

  • Biểu đồ nghiệp vụ: Xây dựng biểu đồ ngữ cảnh xác định tác nhân chính tương tác với hệ thống (Thủ kho, Lãnh đạo). Phân rã hệ thống thành 5 nhóm chức năng chính:
    1. Nhập kho: 1.1 Tạo phiếu nhập kho, 1.2 Nhập hàng.
    2. Xuất kho: 2.1 Tạo phiếu xuất kho, 2.2 Xuất hàng.
    3. Cập nhật kho: 3.1 Tạo kho, 3.2 Sửa kho, 3.3 Xóa kho.
    4. Luân chuyển kho: 4.1 Chuyển hàng.
    5. Báo cáo: 5.1 Báo cáo nhập kho, 5.2 Báo cáo xuất kho, 5.3 Báo cáo tồn kho.
  • Hồ sơ dữ liệu và ma trận thực thể: Xác định danh sách 13 hồ sơ dữ liệu (hồ sơ hàng hóa, danh mục hàng, nhóm hàng, phiếu nhập kho, sổ nhập hàng, phiếu xuất kho, sổ xuất hàng, sổ hàng trong kho, hồ sơ kho, sổ kho, phiếu chuyển kho, sổ chuyển kho, lịch sử chuyển hàng) và ánh xạ quyền thao tác (Create/Update) trong ma trận thực thể dữ liệu.
  • Biểu đồ luồng dữ liệu (DFD): Đặc tả chi tiết luồng thông tin qua DFD mức 0 và 5 biểu đồ DFD mức 1 tương ứng với các chức năng nhập kho, xuất kho, cập nhật kho, luân chuyển kho và lập báo cáo.
  • Thiết kế dữ liệu: Xác định 4 thực thể chính (Hàng hóa, Nhóm hàng, Kho, Thủ kho) cùng các thuộc tính đặc trưng; thiết lập các mối quan hệ (Hàng hóa thuộc Nhóm hàng; Thủ kho nhập/xuất/chuyển Hàng hóa vào/từ Kho); xây dựng cấu trúc 7 bảng dữ liệu và sơ đồ quan hệ CSDL hoàn chỉnh.

Chương 4: Ứng dụng thực nghiệm

Chương 4 mô tả kết quả cài đặt và giao diện thực tế của chương trình:

  • Trình bày thông số môi trường máy tính thử nghiệm (Acer 4349, Core i3, RAM 4GB, Windows 7).
  • Trình bày các giao diện chức năng chính đã lập trình gồm: Giao diện Trang chủ, Giao diện Đăng nhập hệ thống, Giao diện Đăng ký tài khoản người dùng, Giao diện hiển thị Danh sách hàng hóa và Giao diện quản lý Danh sách nhóm hàng.

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

  • Kết quả chính:
    • Hoàn thành đầy đủ các giai đoạn khảo sát, thu thập thông tin và mô hình hóa chi tiết quy trình nghiệp vụ kho đa điểm tại Cửa hàng rượu bia Thành Vang.
    • Thiết kế thành công hệ thống biểu đồ phân tích chuẩn mực gồm: Biểu đồ ngữ cảnh, Biểu đồ phân rã chức năng (5 nhóm chức năng), Ma trận thực thể dữ liệu (13 hồ sơ), Hệ thống Biểu đồ luồng dữ liệu DFD (mức 0 và mức 1) và Mô hình ERD.
    • Xây dựng và chuẩn hóa cơ sở dữ liệu quan hệ gồm 7 bảng dữ liệu (Hàng hóa, Nhóm hàng, Kho, Thủ kho, Phiếu nhập kho, Phiếu xuất kho, Chuyển kho) trên MySQL.
    • Lập trình và cài đặt thử nghiệm thành công ứng dụng web quản lý kho bằng PHP/MySQL trên môi trường máy tính cá nhân, hoàn thiện các module giao diện quản lý danh mục và xác thực người dùng.
  • Giải pháp tác giả đề xuất: Đưa ra giải pháp số hóa toàn diện quy trình quản lý kho rượu bia bằng phần mềm web; đề xuất cơ chế tự động hóa kiểm tra tồn kho khi xuất hàng, tích hợp quy trình luân chuyển hàng giữa nhiều kho và lưu vết lịch sử điều chuyển, thay thế hoàn toàn việc ghi chép sổ sách thủ công.
  • Đóng góp tự nêu: Đồ án giải quyết bài toán quản lý kho sát với nhu cầu thực tế của Cửa hàng Thành Vang, giúp giảm thiểu độ phức tạp trong theo dõi nhiều kho hàng phân tán, hạn chế sai sót trong quá trình kiểm kê, bảo quản chứng từ và hỗ trợ thủ kho lập báo cáo định kỳ cho lãnh đạo một cách nhanh chóng.

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

  • Hạn chế:
    • Môi trường thử nghiệm chỉ mới thực hiện trên máy tính đơn lẻ (Laptop cá nhân cấu hình Intel Core i3, RAM 4GB, Windows 7), chưa kiểm thử tải và triển khai trên môi trường Internet thực tế.
    • Theo tài liệu thuyết minh, phần giao diện thực nghiệm mới chỉ công bố các màn hình cơ bản (Trang chủ, Đăng nhập, Đăng ký, Danh sách hàng hóa, Danh sách nhóm hàng), các giao diện phân hệ xuất - nhập - luân chuyển và báo cáo chi tiết chưa được thể hiện đầy đủ hình ảnh trong chương thực nghiệm.
  • Hướng nghiên cứu tiếp:
    • Tiếp tục hoàn thiện và trực quan hóa toàn bộ các giao diện nghiệp vụ còn lại của hệ thống (lập phiếu xuất, nhập, điều chuyển và xuất báo cáo động).
    • Tối ưu hóa cấu trúc cơ sở dữ liệu, nâng cao tính bảo mật của phiên làm việc (Session/Cookie) và triển khai ứng dụng lên Web Server công cộng để các kho ở xa có thể truy cập đồng bộ theo thời gian thực.

Giá trị tham khảo

Tài liệu đồ án này mang lại giá trị tham khảo cụ thể cho các nhóm độc giả sau:

  • Sinh viên ngành Công nghệ thông tin và Hệ thống thông tin: Là tài liệu tham khảo trực quan về quy trình thực hiện một đồ án tốt nghiệp phát triển ứng dụng quản lý, từ khâu khảo sát thực tế đến phân tích thiết kế hệ thống theo phương pháp có cấu trúc.
  • Người nghiên cứu bài toán quản lý kho đa điểm: Phần mô tả nghiệp vụ và hệ thống biểu đồ (BFD, DFD mức 1 chức năng luân chuyển kho, thiết kế bảng Chuyển kho và Phiếu chuyển kho) cung cấp giải pháp xử lý logic điều phối hàng hóa giữa nhiều kho phân tán khi một kho bị thiếu hàng.
  • Lập trình viên web PHP/MySQL cơ bản: Cung cấp tài liệu tổng hợp về kiến thức lập trình web (HTML, phương thức GET/POST, Session, Cookie) và mô hình 7 bảng cơ sở dữ liệu quan hệ quản lý kho mẫu.

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

1. Đề tài được nghiên cứu dựa trên quy trình thực tế của đơn vị nào?
Đề tài khảo sát và xây dựng ứng dụng cho Cửa hàng rượu bia Thành Vang, có địa chỉ tại số 112 đường Lý Thường Kiệt, quận Hồng Bàng, thành phố Hải Phòng – đơn vị kinh doanh các thương hiệu rượu vang như Penfolds, Bollinger, Taitinger, Baron Phillippe de Rothschild cùng các loại bia và rượu mạnh.

2. Khi một kho không đủ số lượng hàng để xuất, hệ thống xử lý nghiệp vụ như thế nào?
Khi kho được chỉ định không đủ số lượng hàng xuất, thủ kho sẽ kiểm tra số lượng tồn trên hệ thống tại các kho khác và kích hoạt nghiệp vụ "luân chuyển kho". Phiếu chuyển kho được lập trước, sau khi hàng từ các kho phụ chuyển về kho chỉ định đủ số lượng, thủ kho cập nhật lại tồn kho của các bên, ghi nhận vào lịch sử chuyển hàng rồi mới thực hiện xuất kho bình thường.

3. Cơ sở dữ liệu của ứng dụng bao gồm những bảng nào?
Cơ sở dữ liệu MySQL của hệ thống gồm 7 bảng: Bảng Hàng hóa, Bảng Nhóm hàng, Bảng Kho, Bảng Thủ kho, Bảng Phiếu nhập kho, Bảng Phiếu xuất kho và Bảng Chuyển kho.

4. Hệ thống phân rã thành bao nhiêu nhóm chức năng nghiệp vụ chính?
Theo biểu đồ phân rã chức năng (BFD), hệ thống được chia làm 5 nhóm chức năng chính: Nhập kho (Tạo phiếu nhập, Nhập hàng), Xuất kho (Tạo phiếu xuất, Xuất hàng), Cập nhật kho (Tạo, Sửa, Xóa kho), Luân chuyển kho (Chuyển hàng) và Báo cáo (Báo cáo nhập, Báo cáo xuất, Báo cáo tồn).

5. Ứng dụng được cài đặt thử nghiệm trên cấu hình phần cứng và phần mềm nào?
Ứng dụng được thử nghiệm trên máy tính xách tay Acer 4349 với cấu hình phần cứng gồm vi xử lý Intel Core i3, RAM 4GB, chạy trên hệ điều hành Microsoft Windows 7.


Kết luận

Đồ án tốt nghiệp "Xây dựng ứng dụng quản lý kho hàng trên nền web" của sinh viên Vũ Tùng Lâm đã phản ánh toàn diện quy trình khảo sát, phân tích thiết kế và xây dựng phần mềm quản lý kho cho Cửa hàng rượu bia Thành Vang. Tác giả đã chuẩn hóa được nghiệp vụ quản lý kho đa điểm, xây dựng hệ thống biểu đồ DFD/ERD chi tiết và thiết kế cơ sở dữ liệu quan hệ gồm 7 bảng trên MySQL. Kết quả thử nghiệm trên nền tảng PHP/Windows 7 cho thấy tính khả thi của giải pháp tin học hóa trong việc giải quyết các khó khăn của phương pháp quản lý kho thủ công truyền thống.