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

Trong bối cảnh chuyển đổi số và hiện đại hóa công tác quản trị kinh doanh, việc số hóa các hoạt động vận hành tại các cơ sở bán lẻ dược phẩm trở thành nhu cầu cấp thiết. Thực trạng quản lý truyền thống tại các nhà thuốc vừa và nhỏ phần lớn vẫn dựa trên sổ sách và giấy tờ thủ công. Khi khối lượng giao dịch và danh mục dược phẩm ngày càng mở rộng, phương thức thủ công bộc lộ nhiều điểm nghẽn nghiêm trọng, làm gia tăng thời gian tra cứu, dễ dẫn đến sai sót số liệu và gây khó khăn cho công tác kiểm soát tồn kho cũng như quản lý tài chính. Đề tài "Phân Tích và Thiết Kế Hệ Thống Thông Tin Quản Lý Hiệu Thuốc" được nhóm tác giả tại Học viện Kỹ thuật Mật mã thực hiện nhằm xây dựng giải pháp tự động hóa toàn diện quy trình quản lý nhà thuốc, nâng cao độ chính xác, tính minh bạch và hiệu quả vận hành.

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

  1. Nắm bắt và hệ thống hóa toàn bộ quy trình nghiệp vụ thực tế của một cơ sở bán lẻ dược phẩm, bao gồm nhập kho, xuất bán, quản lý hạn sử dụng, theo dõi thu chi và quản trị nhân sự.
  2. Áp dụng phương pháp luận phân tích và thiết kế hệ thống thông tin hiện đại để xây dựng mô hình ca sử dụng (Usecase), biểu đồ lớp, biểu đồ tương tác và biểu đồ hoạt động.
  3. Thiết lập các yêu cầu chức năng, yêu cầu phi chức năng và thiết kế cơ sở dữ liệu quan hệ chuẩn hóa phục vụ cho bài toán quản lý hiệu thuốc.
  4. Xây dựng kiến trúc hệ thống, lựa chọn nền tảng công nghệ hiện đại và thiết kế giao diện người dùng đáp ứng các tiêu chuẩn nghiệp vụ y tế và bán lẻ.

Đối tượng và phạm vi nghiên cứu của đề tài được triển khai khảo sát trực tiếp tại Nhà thuốc WG2:

  • Địa điểm khảo sát: Số 142 đường Chiến Thắng, xã Tân Triều, huyện Thanh Trì, thành phố Hà Nội.
  • Quy mô cơ sở: Diện tích mặt bằng 90 m², hoạt động từ tháng 08/2016 do bà Nguyễn Thị Am làm chủ cơ sở.
  • Cơ cấu nhân sự: Đội ngũ chuyên môn gồm 6 dược sĩ phụ trách tư vấn, bán hàng và quản lý kho.
  • Phạm vi hoạt động: Cung ứng thuốc chữa bệnh, thực phẩm chức năng, mỹ phẩm và dụng cụ y khoa; phục vụ khách hàng trên địa bàn trong và ngoài khu vực Hà Nội thông qua hai kênh bán hàng trực tiếp tại quầy và trực tuyến qua website.

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

Đề tài áp dụng khung lý thuyết phân tích thiết kế hướng đối tượng (OOAD - Object-Oriented Analysis and Design) kết hợp với ngôn ngữ mô hình hóa hợp nhất UML (Unified Modeling Language) để chuẩn hóa toàn bộ tài liệu thiết kế phần mềm.

Phương pháp nghiên cứu được triển khai thông qua các bước cụ thể:

  • Phương pháp khảo sát hiện trạng nghiệp vụ: Khảo sát trực tiếp thực địa tại Nhà thuốc WG2 nhằm thu thập các quy tắc quản lý, quy trình luân chuyển chứng từ (phiếu nhập, phiếu xuất, hóa đơn bán hàng, phiếu thu, phiếu chi), cách thức tổ chức lưu trữ thông tin khách hàng, nhà cung cấp và quản lý thời hạn của thuốc.
  • Phương pháp phân tích và mô hình hóa: Phân rã chức năng nghiệp vụ thành các ca sử dụng tổng quát và chi tiết; mô hình hóa dữ liệu tĩnh thông qua biểu đồ lớp (Class Diagram) và mô hình cơ sở dữ liệu quan hệ; mô hình hóa hành vi động của hệ thống thông qua biểu đồ trình tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram).
  • Phương pháp thiết kế kiến trúc và phần mềm: Thiết kế kiến trúc phân tầng dựa trên biểu đồ thành phần (Component Diagram) và biểu đồ triển khai (Deployment Diagram); xây dựng cấu trúc cơ sở dữ liệu trên hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở Postgres; định hướng lập trình xử lý an toàn bộ nhớ bằng ngôn ngữ Rust.

Nguồn dữ liệu của nghiên cứu là dữ liệu sơ cấp được thu thập từ quy trình hoạt động thực tế, hệ thống sổ sách ghi chép, danh mục phân loại thuốc và cấu trúc nhân sự tại Nhà thuốc WG2.


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

Khảo sát hệ thống

Chương này tập trung phản ánh hiện trạng vận hành thực tế tại Nhà thuốc WG2, phân tích các phân hệ nghiệp vụ cốt lõi, xác định ưu nhược điểm của quy trình thủ công và thiết lập bảng yêu cầu hệ thống.

Đánh giá nghiệp vụ hiện trạng

Hoạt động của nhà thuốc được phân rã thành 4 phân hệ chính:

  • Quản lý kho thuốc: Nhà thuốc tiếp nhận và lưu trữ thông tin thuốc nhập từ các nhà cung cấp sau khi đã qua khâu kiểm duyệt. Dựa trên nhu cầu bổ sung thực tế của kho, dược sĩ lập đề xuất trình người quản lý phê duyệt để tiến hành ký hợp đồng mua hàng. Sau khi ký kết, dược sĩ chịu trách nhiệm nhận hàng, đối soát, thanh toán hóa đơn nhập và lập báo cáo gửi cấp quản lý.
  • Quản lý bán thuốc: Phân định rõ hai luồng xử lý:
    • Bán thuốc lẻ (không theo đơn): Dược sĩ khai thác dấu hiệu bệnh lý, chẩn đoán sơ bộ, tư vấn loại thuốc phù hợp (công dụng, hoạt chất, xuất xứ, đơn giá), lập hóa đơn bán hàng, hướng dẫn cách sử dụng và các lưu ý kiêng kỵ trong ăn uống.
    • Bán thuốc theo đơn: Dược sĩ kiểm tra thời hạn của đơn thuốc (quy định nếu đơn thuốc quá 1 tuần thì yêu cầu bệnh nhân tái khám để lấy đơn mới). Nếu đơn thuốc hợp lệ, dược sĩ kiểm tra lượng tồn trên kệ; trường hợp đáp ứng đủ sẽ tạo hóa đơn bán hàng, lập phiếu thu tương ứng và cập nhật sổ quản lý; trường hợp thiếu thuốc sẽ hẹn khách hàng hoặc giới thiệu đến cơ sở uy tín khác.
    • Quản lý thông tin chứng từ và khách hàng: Hóa đơn bán hàng gồm số hóa đơn, ngày lập, thông tin khách hàng (mã khách, họ tên, địa chỉ, số điện thoại, email), tổng tiền, số tiền thanh toán, tiền nợ và hạn trả nợ; chi tiết thuốc gồm tên thuốc, đơn vị tính, số lượng, đơn giá, thành tiền. Phiếu xuất được lưu trữ đối chiếu, một bản giao cho khách hàng phục vụ bảo hành hoặc trả nợ.
  • Quản lý tài chính: Toàn bộ khoản thu chi được ghi chép vào sổ sách và tổng hợp theo ca, ngày, tuần, tháng. Kết thúc ca, nhân viên đối soát doanh thu thực tế và bàn giao tiền cho quản lý. Quản lý nhận báo cáo doanh thu hàng ngày và phê duyệt ngân sách nhập thuốc.
  • Quản lý nhân sự: Quản lý theo dõi thời gian làm việc vào/ra ca, chấm công, tính tổng giờ làm, tính toán lương thưởng, lập phiếu chi và chi trả lương cho nhân viên.

Đánh giá hiện trạng và quy tắc quản lý

  • Quy tắc đối với dược sĩ: Làm việc đúng giờ; thái độ trung thực, thân thiện; ghi đơn bán thuốc rõ ràng, đầy đủ; thống kê chính xác doanh số bán hàng và lượng tồn kho để báo cáo.
  • Quy tắc đối với quản lý: Không lạm quyền; nắm bắt chính xác biến động tồn kho để chủ động kế hoạch nhập hàng.
  • Ưu điểm hiện trạng: Mô hình vận hành sổ sách đơn giản, dễ tiếp cận ban đầu.
  • Nhược điểm hiện trạng: Tra cứu thuốc thủ công tốn thời gian; phụ thuộc hoàn toàn vào trí nhớ và thao tác con người dẫn đến sai sót; khó quản lý thông tin khách hàng, nhà cung cấp; khó tổng hợp số liệu để hoạch định chiến lược kinh doanh.

Đặc tả yêu cầu chức năng hệ thống

Hệ thống được xác định gồm 10 chức năng nghiệp vụ trọng yếu:

STT Tên chức năng Đối tượng sử dụng Điều kiện đầu vào Nội dung và kết quả xử lý
1 Đăng nhập Nhân viên bán thuốc, Quản lý Tài khoản đã tồn tại trong hệ thống Kiểm tra thông tin đăng nhập; cấp quyền chuyển vào trang quản lý hoặc báo lỗi
2 Đăng xuất Nhân viên bán thuốc, Quản lý Đã đăng nhập thành công Thoát phiên làm việc hiện tại, điều hướng về màn hình đăng nhập
3 Tìm kiếm thuốc Nhân viên bán thuốc, Quản lý Không bắt buộc Nhập mã, tên thuốc, hoạt chất, nhóm thuốc, nhà cung cấp; hiển thị thông tin thuốc, vị trí và nút tạo đơn hàng
4 Bán thuốc Nhân viên bán thuốc Đã đăng nhập hệ thống Chọn thuốc, kiểm tra tồn kho, tính tổng tiền, thuế, tiền thừa; lưu hóa đơn, tự động giảm tồn kho và tăng quỹ tiền
5 Nhập thuốc Quản lý Đã đăng nhập hệ thống Nhập thông tin lô thuốc, số lượng, nhà cung cấp, hạn sử dụng; lưu hóa đơn nhập và tăng lượng tồn kho
6 Tạo khoản chi Quản lý Đã đăng nhập hệ thống Nhập nội dung và số tiền chi; kiểm tra số dư quỹ, trừ tiền trong kho và lập phiếu chi
7 Quản lý nhân viên Quản lý, Quản trị viên Đã đăng nhập hệ thống Xem danh sách, tạo mới nhân viên, chỉnh sửa thông tin (tên, giới tính, năm sinh, chức vụ; quản lý không được đổi chức vụ)
8 Thống kê kho thuốc Nhân viên bán hàng, Quản lý Đã đăng nhập hệ thống Truy vấn và phân loại danh sách thuốc theo số lượng (hết/sắp hết) hoặc theo hạn sử dụng (quá hạn/sắp hết hạn)
9 Thống kê hóa đơn Nhân viên bán hàng, Quản lý Đã đăng nhập hệ thống Lọc và hiển thị danh sách hóa đơn theo khoảng thời gian (mã hóa đơn, ngày tạo, số tiền, người lập)
10 Thống kê tài chính Nhân viên bán hàng, Quản lý Đã đăng nhập hệ thống Tính tổng dòng tiền vào/ra theo khoảng thời gian chọn; hiển thị danh sách hóa đơn bán và phiếu chi tương ứng

Yêu cầu phi chức năng

Hệ thống được yêu cầu đảm bảo: tuân thủ nghiêm ngặt các nguyên tắc kế toán tài chính; tốc độ xử lý nhanh, vận hành ổn định và chính xác; giao diện trực quan, dễ thao tác; đảm bảo an toàn thông tin; cung cấp đầy đủ thông tin chi tiết về thuốc và quầy thuốc; biểu mẫu phiếu xuất, nhập, thu, chi rõ ràng; báo cáo xuất nhập tồn chuẩn xác; hỗ trợ thao tác cập nhật, chỉnh sửa, xóa dữ liệu thuận tiện.


Chương II. Thiết kế hệ thống

Chương này trình bày toàn bộ giải pháp kỹ thuật, cấu trúc mô hình hóa UML, thiết kế cơ sở dữ liệu và giao diện người dùng.

Hệ thống mô hình hóa UML

  • Biểu đồ Usecase: Phân rã thành 6 sơ đồ bao gồm Usecase tổng quát và 5 Usecase phân hệ chuyên biệt (Usecase bán hàng, Usecase quản lý thuốc, Usecase quản lý hóa đơn bán hàng, Usecase quản lý nhân viên, Usecase quản lý tài chính).
  • Biểu đồ lớp (Class Diagram): Xây dựng cấu trúc các lớp thực thể, định nghĩa các thuộc tính, phương thức và mối liên kết phục vụ ánh xạ sang cơ sở dữ liệu quan hệ.
  • Biểu đồ trình tự (Sequence Diagram): Thiết kế chi tiết 18 kịch bản tương tác giữa người dùng, giao diện, bộ xử lý logic và cơ sở dữ liệu:
    1. Đăng nhập
    2. Đăng xuất
    3. Bán hàng
    4. Kiểm tra hóa đơn bán hàng
    5. Hủy hóa đơn bán hàng
    6. Thống kê hóa đơn bán hàng
    7. Tìm kiếm sản phẩm
    8. Sửa thông tin sản phẩm
    9. Nhập sản phẩm
    10. Xuất sản phẩm
    11. Thống kê sản phẩm
    12. Kiểm tra tài chính
    13. Tạo phiếu thu
    14. Tạo phiếu chi
    15. Thống kê tài chính
    16. Tạo nhân viên mới
    17. Sửa thông tin nhân viên
    18. Xem danh sách nhân viên
  • Biểu đồ hoạt động (Activity Diagram): Chi tiết hóa 9 luồng xử lý nghiệp vụ với các điều kiện rẽ nhánh logic:
    1. Hoạt động bán hàng
    2. Hoạt động kiểm tra đơn hàng
    3. Hoạt động hủy đơn hàng
    4. Hoạt động thống kê bán hàng
    5. Hoạt động nhập hàng
    6. Hoạt động sửa thông tin sản phẩm
    7. Hoạt động tạo phiếu thu
    8. Hoạt động thêm nhân viên mới
    9. Hoạt động sửa thông tin nhân viên

Thiết kế kiến trúc và giao diện người dùng

Hệ thống thiết lập Biểu đồ thành phần nhằm tổ chức các mô-đun phần mềm, Biểu đồ triển khai để ánh xạ cấu hình phần cứng - mạng, Mô hình cơ sở dữ liệu quan hệ và hệ thống màn hình tương tác bao gồm: Giao diện đăng nhập, Giao diện bán hàng và Giao diện quản lý sản phẩm.


Thiết kế và triển khai

Hệ thống thông tin quản lý hiệu thuốc được thiết kế và triển khai với các thông số kỹ thuật và kế hoạch thực hiện rõ ràng:

Kế hoạch tiến độ và nhân lực

  • Tiến độ thời gian: Tổng thời gian thực hiện là 4 tháng, trong đó giai đoạn phân tích và thiết kế hệ thống chiếm 2 tháng; giai đoạn thi công, kiểm thử và triển khai chiếm 2 tháng.
  • Tổ chức nhân lực: Nhóm dự án gồm 5 thành viên tham gia xuyên suốt tất cả các công đoạn từ khảo sát, mô hình hóa, thiết kế kiến trúc đến phát triển và thử nghiệm.

Kiến trúc công nghệ và môi trường thực thi

  • Môi trường máy chủ: Hệ điều hành Linux tối ưu hóa tính ổn định và bảo mật.
  • Thiết bị đầu cuối người dùng: Tương thích trên trình duyệt web máy tính để bàn (PC/Laptop) và trình duyệt web trên thiết bị di động (Smartphone/Tablet).
  • Hệ quản trị cơ sở dữ liệu: Sử dụng cơ sở dữ liệu quan hệ mã nguồn mở Postgres, đáp ứng khả năng truy vấn dữ liệu giao dịch tốc độ cao và đảm bảo tính toàn vẹn dữ liệu.
  • Ngôn ngữ lập trình: Ngôn ngữ Rust được lựa chọn cho phía máy chủ nhằm đạt hiệu năng thực thi cao, tiêu tốn ít tài nguyên hệ thống, triệt tiêu các lỗi về quản lý bộ nhớ và hỗ trợ xử lý đa luồng an toàn.
  • Giao diện web: Xây dựng bằng HTML và CSS, được xử lý trực tiếp từ phía máy chủ để tối ưu tốc độ phản hồi.
  • Quản lý mã nguồn và kiểm thử: Quản lý mã nguồn dự án qua Git; quy trình kiểm thử được hỗ trợ trực tiếp từ bộ công cụ kiểm thử của Rust và tự động hóa quy trình kiểm thử liên tục (CI) trên hệ thống GitHub Actions.

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

Đề tài đã hoàn thành các mục tiêu nghiên cứu và thiết kế với những kết quả cụ thể:

  1. Chuẩn hóa nghiệp vụ quản lý nhà thuốc: Khảo sát chi tiết mô hình bán lẻ dược phẩm tại Nhà thuốc WG2, quy chuẩn hóa 4 luồng nghiệp vụ lớn (kho thuốc, bán thuốc lẻ/theo đơn, tài chính thu chi, chấm công nhân sự).
  2. Hệ thống hóa tài liệu phân tích thiết kế: Xây dựng hoàn chỉnh 10 bảng đặc tả ca sử dụng, 6 biểu đồ Usecase, 1 biểu đồ lớp, 18 biểu đồ trình tự, 9 biểu đồ hoạt động, biểu đồ thành phần, biểu đồ triển khai và mô hình cơ sở dữ liệu quan hệ trên Postgres.
  3. Đưa ra giải pháp công nghệ hiện đại: Thiết kế kiến trúc hệ thống trên nền tảng Linux, ngôn ngữ Rust và cơ sở dữ liệu Postgres, tích hợp quy trình kiểm thử tự động qua GitHub Actions, giúp giảm thiểu rủi ro lỗi bộ nhớ và tối ưu hóa hiệu năng máy chủ.
  4. Giải quyết bài toán thực tế: Cung cấp mô hình số hóa thay thế toàn diện phương thức quản lý bằng sổ sách truyền thống, khắc phục triệt để tình trạng thất thoát thuốc, sai lệch thu chi và chậm trễ trong tra cứu dữ liệu.

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

  • Hạn chế: Phạm vi khảo sát và thiết kế của đề tài tập trung chuyên sâu cho mô hình hoạt động của một nhà thuốc đơn lẻ (Nhà thuốc WG2), chưa mở rộng thiết kế cho bài toán chuỗi nhà thuốc đa chi nhánh với cơ chế đồng bộ kho tập trung; các giao diện được thiết kế mẫu trong báo cáo tập trung vào 3 màn hình nghiệp vụ chính (đăng nhập, bán hàng, quản lý sản phẩm).
  • Hướng phát triển: Tiếp tục hoàn thiện toàn bộ các màn hình giao diện còn lại theo đặc tả; triển khai thử nghiệm thực tế trên môi trường sản xuất tại Nhà thuốc WG2; nghiên cứu tích hợp sâu luồng dữ liệu giữa phần mềm quản lý tại quầy với cổng bán thuốc trực tuyến trên website của nhà thuốc.

Giá trị tham khảo

Báo cáo bài tập học phần này là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin và Hệ thống thông tin: Cung cấp tài liệu mẫu mực về phương pháp luận phân tích thiết kế hệ thống theo chuẩn UML, cách thức phân rã từ bài toán thực tế thành các biểu đồ Usecase, Sequence, Activity và Class Diagram.
  • Các nhà phát triển phần mềm quản lý bán lẻ y tế: Tham khảo cấu trúc nghiệp vụ bán thuốc lẻ, bán thuốc theo đơn (quy tắc kiểm tra đơn thuốc 1 tuần), cơ chế tính thuế, quản lý hạn sử dụng thuốc và mô hình hóa cơ sở dữ liệu kế toán thu chi nhà thuốc.
  • Người nghiên cứu ứng dụng ngôn ngữ mới: Cung cấp định hướng lựa chọn công nghệ an toàn bộ nhớ (Rust) kết hợp Postgres và GitHub Actions trong xây dựng phần mềm quản lý doanh nghiệp.

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

1. Đề tài khảo sát và thiết kế hệ thống áp dụng cho cơ sở thực tế nào?

Hệ thống được thiết kế dựa trên số liệu khảo sát thực tế tại Nhà thuốc WG2, tọa lạc tại số 142 đường Chiến Thắng, xã Tân Triều, huyện Thanh Trì, thành phố Hà Nội. Cơ sở có diện tích 90 m², hoạt động từ tháng 08/2016 do bà Nguyễn Thị Am làm chủ, với đội ngũ 6 dược sĩ kinh doanh thuốc tại cửa hàng và qua website.

2. Nghiệp vụ bán thuốc theo đơn tại Nhà thuốc WG2 có quy tắc kiểm tra như thế nào?

Khi khách hàng mua thuốc theo đơn, dược sĩ bắt buộc phải kiểm tra ngày lập của đơn thuốc. Nếu đơn thuốc đã quá thời hạn 1 tuần, dược sĩ sẽ từ chối bán và yêu cầu bệnh nhân đi khám lại để lấy đơn thuốc mới. Nếu đơn thuốc hợp lệ, dược sĩ tiến hành kiểm tra tồn kho trên kệ để lập hóa đơn hoặc hẹn khách nếu thiếu thuốc.

3. Hệ thống phần mềm quản lý nhà thuốc bao gồm những phân hệ chức năng nào?

Hệ thống bao gồm 10 chức năng chính được phân bổ vào các nhóm nghiệp vụ: Xác thực (Đăng nhập, Đăng xuất), Nghiệp vụ bán hàng (Tìm kiếm thuốc, Bán thuốc, Thống kê hóa đơn), Nghiệp vụ kho (Nhập thuốc, Thống kê kho thuốc theo số lượng/hạn dùng), Nghiệp vụ tài chính (Tạo khoản chi, Thống kê tài chính thu/chi) và Quản trị hệ thống (Quản lý nhân viên).

4. Nhóm tác giả đã lựa chọn ngăn xếp công nghệ (tech stack) nào cho hệ thống?

Hệ thống được hoạch định triển khai trên nền tảng máy chủ Linux, cơ sở dữ liệu quan hệ Postgres, ngôn ngữ lập trình Rust cho phía máy chủ, giao diện web dựng bằng HTML/CSS xử lý từ máy chủ, mã nguồn quản lý bằng Git và kiểm thử tự động trên GitHub Actions.

5. Tiến độ thực hiện và phân bổ thời gian của đồ án được hoạch định ra sao?

Dự án được xây dựng với tổng thời gian 4 tháng do nhóm 5 sinh viên thực hiện, trong đó 2 tháng đầu dành cho công tác phân tích và thiết kế hệ thống, 2 tháng tiếp theo dành cho giai đoạn thi công lập trình, kiểm thử và triển khai.


Kết luận

Báo cáo bài tập học phần "Phân Tích và Thiết Kế Hệ Thống Thông Tin Quản Lý Hiệu Thuốc" của nhóm sinh viên Học viện Kỹ thuật Mật mã đã giải quyết thành công bài toán số hóa nghiệp vụ bán lẻ dược phẩm tại Nhà thuốc WG2. Thông qua việc ứng dụng chuẩn mực mô hình hóa UML với hệ thống biểu đồ chi tiết và thiết kế cơ sở dữ liệu quan hệ chuẩn hóa, đề tài đã đặt nền móng vững chắc cho việc phát triển phần mềm quản lý bán hàng. Việc đề xuất sử dụng ngôn ngữ Rust kết hợp cơ sở dữ liệu Postgres và kiểm thử tự động trên GitHub Actions mang lại giải pháp công nghệ có độ tin cậy và hiệu năng cao, đáp ứng tốt các yêu cầu nghiệp vụ thực tế của nhà thuốc.