Bối cảnh và vấn đề nghiên cứu
Khóa luận tốt nghiệp ngành Công nghệ thông tin tại Trường Đại học Tài nguyên và Môi trường Hà Nội với đề tài: "Nghiên cứu, xây dựng phần mềm quản lý cửa hàng Computer CAQ" (hay "Nghiên cứu, xây dựng phần mềm quản lý cửa hàng CAQ Computer sử dụng ReactJS") tập trung giải quyết bài toán tin học hóa hoạt động thương mại và vận hành bán lẻ cho một cửa hàng kinh doanh thiết bị máy tính thực tế.
Lý do chọn đề tài và bối cảnh thực tiễn
Công nghệ thông tin giữ vai trò then chốt trong nhiều lĩnh vực khoa học kỹ thuật, kinh tế, giáo dục và xã hội. Việc ứng dụng công nghệ thông tin đã giúp tối ưu hóa thời gian và nguồn lực trong công tác quản lý, điều hành tại các cơ quan, doanh nghiệp và cơ sở kinh doanh. Trong bối cảnh truyền thống trước khi mạng Internet phát triển rộng rãi, các giao dịch mua bán chủ yếu diễn ra trực tiếp tại siêu thị, chợ hoặc cửa hàng bán lẻ; hình thức này giúp khách hàng trải nghiệm sản phẩm trực quan nhưng bị giới hạn về không gian và thời gian.
Sự bùng nổ của các nền tảng thương mại điện tử hiện nay cho phép người tiêu dùng mua sắm từ xa và chủ động lựa chọn sản phẩm theo nhu cầu. Nhằm thích ứng với xu hướng công nghệ số và tháo gỡ những trở ngại trong quy trình vận hành thủ công, cửa hàng ComputerCAQ đặt ra nhu cầu cấp thiết về một hệ thống website bán hàng kết hợp quản lý chuyên biệt. Hệ thống này có nhiệm vụ đồng bộ các khâu từ trưng bày, mua bán sản phẩm đến kiểm soát đơn hàng một cách có hệ thống.
Mục tiêu và nhiệm vụ nghiên cứu
Đề tài xác lập hệ thống mục tiêu theo cấu trúc phân cấp:
- Mục tiêu chung:
- Nâng cao kiến thức chuyên môn về quy trình xây dựng ứng dụng web bằng thư viện ReactJS.
- Nắm vững bản chất ngôn ngữ lập trình JavaScript và cơ chế hoạt động của ReactJS.
- Khảo cứu và ứng dụng các thư viện bổ trợ thuộc hệ sinh thái JavaScript.
- Mục tiêu cụ thể:
- Ứng dụng quy trình phát triển phần mềm chuẩn vào bài toán quản lý cửa hàng ComputerCAQ.
- Xây dựng tài liệu đặc tả chức năng chi tiết cho hệ thống quản lý.
- Lập trình và triển khai hoàn thiện phần mềm quản lý cửa hàng ComputerCAQ với đầy đủ tính năng phục vụ người dùng và quản trị viên.
- Nội dung và nhiệm vụ nghiên cứu cụ thể:
- Tìm hiểu mô hình vận hành và các khó khăn nghiệp vụ thực tế tại cửa hàng ComputerCAQ; khảo sát ưu nhược điểm của quy trình hiện hành.
- Phân tích bài toán, thiết kế hệ thống thông qua các sơ đồ ca sử dụng (Use Case), sơ đồ tuần tự (Sequence Diagram), sơ đồ hoạt động (Activity Diagram) và sơ đồ cơ sở dữ liệu.
- Lựa chọn ngôn ngữ, công cụ lập trình và xây dựng mã nguồn cho toàn bộ các chức năng đã thiết kế.
- Thực hiện kiểm thử, đánh giá phần mềm trên các tập dữ liệu, từ đó đề xuất giải pháp xử lý phát sinh và định hướng nâng cấp hệ thống.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Ngôn ngữ lập trình JavaScript, thư viện ReactJS, các thư viện liên quan trong môi trường JavaScript, cùng quy trình nghiệp vụ bán hàng thực tế của cửa hàng ComputerCAQ.
- Phạm vi nghiên cứu: Toàn bộ dữ liệu, quy trình phân tích và thử nghiệm được giới hạn trong phạm vi hoạt động kinh doanh, buôn bán máy tính và thiết bị của cửa hàng ComputerCAQ.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng nền tảng dựa trên các công nghệ lập trình web hiện đại kết hợp với phương pháp luận nghiên cứu kỹ thuật phần mềm có hệ thống.
Khung lý thuyết và công nghệ sử dụng
Tác giả tổng hợp các nền tảng công nghệ cốt lõi phục vụ xây dựng hệ thống phần mềm:
- Ngôn ngữ JavaScript: Ngôn ngữ lập trình nền tảng chạy trên trình duyệt và môi trường máy chủ, hỗ trợ xử lý tương tác động và logic nghiệp vụ.
- JavaScript XML (JSX): Cú pháp mở rộng của JavaScript dùng trong ReactJS nhằm mô tả trực quan cấu trúc giao diện người dùng.
- Ngôn ngữ HTML (HyperText Markup Language): Ngôn ngữ cấu trúc định dạng trang web.
- Thư viện ReactJS: Thư viện giao diện người dùng phía client (front-end), hỗ trợ xây dựng các thành phần giao diện (components) có khả năng tái sử dụng cao và cập nhật dữ liệu nhanh thông qua Virtual DOM.
- Môi trường NodeJS và thư viện ExpressJS: Môi trường thực thi JavaScript phía máy chủ và framework hỗ trợ xây dựng hệ thống điều hướng, xử lý yêu cầu và cung cấp dịch vụ dữ liệu cho ứng dụng.
- Visual Studio Code: Môi trường phát triển tích hợp (IDE) chính dùng để soạn thảo, biên tập mã nguồn và kiểm soát dự án.
Phương pháp nghiên cứu
Nghiên cứu áp dụng phối hợp bốn phương pháp kỹ thuật phần mềm:
- Phương pháp thu thập, tổng hợp tài liệu: Thu thập thông tin từ các tạp chí, báo cáo khoa học trong và ngoài ngành CNTT, tài liệu kỹ thuật về các website thương mại điện tử kinh doanh máy tính và điện thoại. Từ đó, tác giả phân tích và tổng hợp số liệu để chỉ ra các điểm yếu của hệ thống cũ và xác định danh sách chức năng mới cần bổ sung.
- Phương pháp quan sát: Quan sát trải nghiệm, phản ứng và đánh giá của khách hàng khi thao tác trên web; đồng thời khảo sát trực tiếp các tính năng nổi bật cũng như hạn chế trên website của các đối thủ cạnh tranh để lựa chọn giải pháp thiết kế tối ưu.
- Phương pháp phân tích: Tiếp nhận các thông tin nghiệp vụ và bài toán từ thực tế, tiến hành bóc tách chi tiết từng chức năng nghiệp vụ, phân chia các luồng dữ liệu phục vụ thiết kế mô hình hóa hệ thống.
- Phương pháp thực nghiệm: Lập trình cài đặt các chức năng và thuật toán xử lý của hệ thống, triển khai chạy thử trên các tập dữ liệu mẫu được sử dụng phổ biến trong cộng đồng nghiên cứu kỹ thuật phần mềm; thực hiện kiểm tra, đánh giá tính ổn định trong quá trình vận hành để đưa ra phương án chỉnh sửa, hoàn thiện mã nguồn.
Nguồn dữ liệu
Dữ liệu nghiên cứu bao gồm: dữ liệu khảo sát nghiệp vụ thực tế của cửa hàng ComputerCAQ, thông số kỹ thuật và danh mục thiết bị máy tính, các mẫu tài liệu quy chuẩn kỹ thuật của ReactJS/NodeJS và các tập dữ liệu thực nghiệm dùng cho quá trình kiểm thử phần mềm.
Thiết kế và triển khai hệ thống
Khóa luận dành phần lớn dung lượng để mô hình hóa toàn diện hệ thống từ kiến trúc dữ liệu, sơ đồ chức năng cho đến giao diện hiển thị.
Mô hình dữ liệu quan hệ
Cơ sở dữ liệu của phần mềm được thiết kế theo mô hình quan hệ nhằm đáp ứng đầy đủ chu trình mua bán, quản trị và tương tác khách hàng. Hệ thống bao gồm 6 bảng dữ liệu trọng tâm:
| Tên bảng dữ liệu |
Vai trò và chức năng lưu trữ trong hệ thống |
ACCOUNT |
Quản lý định danh người dùng, mật khẩu, phân quyền truy cập (khách hàng hoặc quản trị viên). |
CATEGORY |
Quản lý danh mục phân loại thiết bị, linh kiện máy tính của cửa hàng. |
PRODUCT |
Lưu trữ chi tiết thông tin sản phẩm: tên thiết bị, thông số, đơn giá, hình ảnh, thuộc tính kỹ thuật. |
RECEIPT |
Quản lý thông tin tổng thể của đơn hàng: ngày đặt, khách hàng đặt, trạng thái đơn, tổng giá trị. |
RECEIPTDETAIL |
Lưu trữ chi tiết các mặt hàng trong đơn hàng: mã sản phẩm, số lượng mua, đơn giá áp dụng. |
MESSAGE |
Phục vụ tính năng trò chuyện trực tuyến, lưu trữ lịch sử tin nhắn giữa người dùng và cửa hàng. |
Phân tích và mô hình hóa chức năng bằng UML
Hệ thống xác định hai nhóm tác nhân chính là Khách hàng và Quản trị viên (Admin), được mô tả chi tiết qua hệ thống biểu đồ:
- Mô hình Use Case: Bao gồm sơ đồ Use Case tổng quát và 10 sơ đồ phân rã Use Case chức năng: Đăng ký, Đăng nhập, Đặt hàng, Quản lý giỏ hàng, Quản lý danh mục, Quản lý sản phẩm, Quản lý tài khoản, Quản lý hóa đơn, Thống kê, Nhắn tin trực tuyến.
- Biểu đồ tuần tự (Sequence Diagram): Tác giả thiết kế 15 biểu đồ tuần tự thể hiện sự tương tác theo trục thời gian giữa giao diện người dùng, bộ điều khiển và cơ sở dữ liệu:
- Nhóm tương tác khách hàng: Đăng ký, Đăng nhập, Mua hàng, Thêm sản phẩm vào giỏ hàng, Sửa giỏ hàng, Trò chuyện trực tuyến.
- Nhóm quản trị và vận hành: Thêm danh mục, Sửa danh mục, Xóa danh mục, Thêm sản phẩm, Sửa sản phẩm, Xóa sản phẩm, Sửa hóa đơn, Sửa tài khoản, Thống kê.
- Sơ đồ hoạt động (Activity Diagram): Tác giả mô hình hóa 15 sơ đồ hoạt động thể hiện luồng quyết định và rẽ nhánh của các tác vụ: Đặt hàng, Đăng ký, Đăng nhập, Trò chuyện, Thêm/Sửa/Xóa danh mục, Thêm/Sửa/Xóa sản phẩm, Thêm/Sửa/Xóa sản phẩm trong giỏ hàng, Xóa tài khoản, Sửa hóa đơn, Thống kê dữ liệu.
Giao diện và các phân hệ phần mềm
Hệ thống được lập trình hoàn thiện với các giao diện trực quan tương ứng với hai vai trò:
- Phân hệ người dùng cuối:
- Popup đăng ký và đăng nhập: Hỗ trợ người dùng thao tác nhanh mà không bị chuyển hướng toàn trang.
- Màn hình chính và màn hình danh sách sản phẩm: Trưng bày sản phẩm theo các khối danh mục máy tính, hỗ trợ lọc và tìm kiếm.
- Màn hình chi tiết sản phẩm: Hiển thị đầy đủ hình ảnh, mô tả, cấu hình kỹ thuật và nút thêm vào giỏ.
- Popup giỏ hàng và màn hình thanh toán: Cung cấp biểu mẫu điền thông tin giao nhận, tính toán tổng tiền và tạo hóa đơn.
- Màn hình quản lý thông tin tài khoản và chi tiết hóa đơn: Cho phép khách hàng tra cứu tiến trình đơn mua.
- Cửa sổ trò chuyện trực tuyến: Cho phép khách hàng gửi và nhận phản hồi trực tiếp với cửa hàng.
- Phân hệ quản trị (Admin Dashboard):
- Màn hình quản lý và biểu mẫu danh mục: Thêm, sửa, cập nhật trạng thái phân loại linh kiện/máy tính.
- Màn hình quản lý và biểu mẫu sản phẩm: Quản lý kho hàng, nhập liệu thông số kỹ thuật và hình ảnh thiết bị.
- Màn hình quản lý hóa đơn: Duyệt đơn, điều chỉnh thông tin hóa đơn và theo dõi trạng thái giao hàng.
- Màn hình quản lý tài khoản: Cấp phát, cập nhật thông tin, kích hoạt hoặc khóa tài khoản hệ thống.
- Màn hình thống kê: Tổng hợp số liệu bán hàng, phục vụ công tác theo dõi doanh thu và đánh giá hiệu quả kinh doanh.
Nội dung chính theo từng chương
Báo cáo khóa luận được bố cục thành 4 chương chính cùng phần Mở đầu, phản ánh tuần tự tiến trình xây dựng phần mềm:
Mở đầu
Trình bày bối cảnh chung của ngành thương mại điện tử và nhu cầu tin học hóa tại cửa hàng ComputerCAQ. Tác giả xác lập hệ thống mục tiêu nghiên cứu (chung và cụ thể), phương pháp tiếp cận kỹ thuật (nghiên cứu tài liệu, quan sát, phân tích, thực nghiệm), đối tượng nghiên cứu (JavaScript, ReactJS, quy trình nghiệp vụ bán hàng) và phạm vi giới hạn của đề tài.
Chương 1: Cơ sở lý thuyết
Tập trung làm rõ cơ sở công nghệ và môi trường thực thi của ứng dụng. Nội dung chương giới thiệu chi tiết về ngôn ngữ lập trình JavaScript, cú pháp JSX, cấu trúc thư viện ReactJS dùng cho giao diện người dùng, môi trường chạy máy chủ NodeJS, thư viện điều hướng ExpressJS và môi trường biên soạn Visual Studio Code. Các nội dung này đóng vai trò nền tảng kỹ thuật trước khi bước vào khâu phân tích và xây dựng hệ thống.
Chương 2: Phân tích thiết kế hệ thống
Đi sâu vào khảo sát thực trạng nghiệp vụ của cửa hàng ComputerCAQ và xác định những điểm nghẽn của quy trình bán hàng thủ công. Từ việc phát biểu bài toán, tác giả xác định tác nhân và xây dựng hệ thống sơ đồ UML hoàn chỉnh:
- Mô tả bảng các tác nhân và chức năng cụ thể: đăng ký, đăng nhập, thanh toán, thêm/sửa/xóa danh mục, thêm/sửa/xóa sản phẩm, giỏ hàng, trò chuyện trực tuyến, quản lý tài khoản và thống kê.
- Xây dựng 10 sơ đồ phân rã Use Case.
- Xây dựng 15 biểu đồ tuần tự chức năng mô tả chi tiết quá trình truyền thông điệp giữa các lớp đối tượng.
- Thiết lập 15 sơ đồ hoạt động quy định các bước xử lý logic cho từng luồng chức năng.
Chương 3: Thiết kế cơ sở dữ liệu
Chuyển hóa các yêu cầu lưu trữ thành mô hình dữ liệu quan hệ hoàn chỉnh. Chương này đặc tả cấu trúc của 6 bảng dữ liệu trọng tâm (ACCOUNT, CATEGORY, PRODUCT, RECEIPT, RECEIPTDETAIL, MESSAGE) kèm theo các kiểu dữ liệu, khóa chính, khóa ngoại và thiết kế sơ đồ quan hệ thực thể nhằm đảm bảo tính toàn vẹn dữ liệu trong quá trình hoạt động.
Chương 4: Xây dựng phần mềm quản lý cửa hàng Computer CAQ
Hiện thực hóa các phân tích, thiết kế thành sản phẩm phần mềm thực tế bằng công nghệ ReactJS và NodeJS. Tác giả trình bày kết quả cài đặt qua hệ thống giao diện người dùng chi tiết: từ trang chủ, danh sách sản phẩm, chi tiết sản phẩm, giỏ hàng, quy trình thanh toán đến các giao diện điều hành của quản trị viên (quản lý sản phẩm, danh mục, hóa đơn, tài khoản, khung chat trực tuyến và màn hình thống kê doanh số).
Kết quả và đóng góp
Kết quả chính
- Đồ án đã hoàn thành việc xây dựng phần mềm quản lý cửa hàng ComputerCAQ trên nền tảng web, kết hợp giữa thư viện giao diện ReactJS và môi trường máy chủ NodeJS.
- Chuẩn hóa toàn bộ quy trình nghiệp vụ bán máy tính thành 18 ca xử lý chức năng rõ ràng, có tài liệu đặc tả và sơ đồ logic chi tiết đi kèm.
- Thiết kế và cài đặt thành công cơ sở dữ liệu quan hệ 6 bảng, đảm bảo lưu trữ nhất quán các thực thể tài khoản, danh mục, sản phẩm, hóa đơn, chi tiết đơn hàng và tin nhắn.
- Xây dựng được đầy đủ các màn hình chức năng cho cả hai phân hệ: khách hàng mua sắm (hỗ trợ đặt hàng, trò chuyện trực tuyến) và quản trị viên (kiểm soát kho sản phẩm, hóa đơn, tài khoản và báo cáo thống kê).
Giải pháp và kiến nghị của tác giả
- Ứng dụng mô hình phân rã Use Case, biểu đồ tuần tự và sơ đồ hoạt động để chuẩn hóa luồng nghiệp vụ trước khi viết mã nguồn, giảm thiểu sai sót trong khâu tích hợp.
- Thay thế hoàn toàn quy trình ghi chép đơn hàng và quản lý kho thủ công bằng phần mềm tập trung.
- Tích hợp tính năng nhắn tin trực tuyến ngay trên nền tảng web nhằm rút ngắn thời gian tương tác giữa nhân viên cửa hàng và người mua.
Đóng góp của đề tài
- Hệ thống hóa bộ tài liệu phân tích thiết kế hệ thống hoàn chỉnh cho một cửa hàng kinh doanh thiết bị tin học có quy mô vừa và nhỏ.
- Chứng minh tính khả thi của việc ứng dụng thư viện ReactJS kết hợp hệ sinh thái JavaScript trong việc phát triển ứng dụng thương mại điện tử hoàn chỉnh từ giao diện người dùng đến quản trị nội bộ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Dữ liệu thử nghiệm và khảo sát nghiệp vụ mới chỉ dừng lại ở phạm vi hẹp tại cửa hàng ComputerCAQ, chưa kiểm thử trên mô hình chuỗi cửa hàng hoặc hệ thống phân phối đa kênh.
- Các đánh giá phần mềm chủ yếu được tiến hành thông qua việc chạy thử nghiệm trên các tập dữ liệu mẫu trong nội bộ nghiên cứu, chưa có dữ liệu kiểm thử tải quy mô lớn khi có số lượng người dùng đồng thời tăng đột biến.
- Chưa tích hợp các cổng thanh toán điện tử trung gian phức tạp bên ngoài biểu mẫu thanh toán hóa đơn nội bộ.
Hướng nghiên cứu tiếp
- Tiếp tục hoàn thiện các giải thuật kiểm thử, tối ưu hóa hiệu năng ứng dụng khi xử lý khối lượng dữ liệu lớn.
- Phát triển thêm các tiện ích nâng cao nhằm mở rộng nghiệp vụ bán hàng, tăng cường tự động hóa trong quản lý kho và chăm sóc khách hàng.
- Mở rộng phạm vi triển khai và tích hợp ứng dụng vào môi trường vận hành thực tế dài hạn của cửa hàng.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu học thuật có giá trị tham khảo cụ thể cho các nhóm đối tượng:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu mẫu hữu ích về cấu trúc một khóa luận tốt nghiệp ứng dụng; cung cấp phương pháp tiếp cận bài bản từ khảo sát, phân tích thiết kế hệ thống bằng UML (Use Case, Sequence, Activity Diagram) đến thiết kế cơ sở dữ liệu quan hệ.
- Người nghiên cứu và phát triển phần mềm bán hàng: Có thể tham khảo trực tiếp cấu trúc thiết kế 6 bảng cơ sở dữ liệu (
ACCOUNT, CATEGORY, PRODUCT, RECEIPT, RECEIPTDETAIL, MESSAGE) và mô hình luồng chức năng của một trang thương mại điện tử phân phối máy tính.
- Lập trình viên mới tiếp cận ReactJS và NodeJS: Tham khảo cách thức phân chia các thành phần giao diện, tổ chức luồng gọi API và hiện thực hóa các màn hình tương tác từ giao diện người dùng đến bảng điều khiển quản trị.
Câu hỏi thường gặp
1. Đề tài sử dụng những công nghệ và công cụ nào để xây dựng phần mềm?
Hệ thống sử dụng ngôn ngữ lập trình JavaScript cùng cú pháp JSX và HTML; thư viện ReactJS để xây dựng giao diện người dùng; môi trường thực thi NodeJS kết hợp thư viện ExpressJS cho phần máy chủ; và công cụ Visual Studio Code làm môi trường biên soạn mã nguồn chính.
2. Cơ sở dữ liệu của phần mềm gồm những bảng nào và mối quan hệ chính ra sao?
Cơ sở dữ liệu được tổ chức thành 6 bảng quan hệ: ACCOUNT (quản lý người dùng, phân quyền), CATEGORY (danh mục phân loại sản phẩm), PRODUCT (thông tin thiết bị máy tính), RECEIPT (hóa đơn tổng quát), RECEIPTDETAIL (chi tiết sản phẩm trong hóa đơn) và MESSAGE (dữ liệu hội thoại trực tuyến).
3. Tác giả đã sử dụng những loại sơ đồ UML nào để phân tích hệ thống?
Tác giả đã xây dựng 1 sơ đồ Use Case tổng quát, 10 sơ đồ phân rã Use Case, 15 biểu đồ tuần tự (Sequence Diagram) và 15 sơ đồ hoạt động (Activity Diagram), phản ánh chi tiết toàn bộ các luồng thao tác dữ liệu từ đăng ký, đăng nhập, đặt hàng, quản lý kho đến trò chuyện và thống kê.
4. Hệ thống có tính năng nào hỗ trợ tương tác trực tiếp giữa khách hàng và cửa hàng không?
Có. Hệ thống thiết kế riêng bảng dữ liệu MESSAGE, xây dựng Use Case, biểu đồ tuần tự và sơ đồ hoạt động cho tính năng "Trò chuyện", cùng với màn hình giao diện nhắn tin trực tuyến giúp khách hàng có thể trao đổi trực tiếp với nhân viên quản trị cửa hàng.
5. Khóa luận áp dụng những phương pháp nghiên cứu nào để hoàn thành mục tiêu?
Tác giả kết hợp bốn phương pháp nghiên cứu kỹ thuật: phương pháp thu thập và tổng hợp tài liệu (khảo sát tài liệu web bán máy tính), phương pháp quan sát (đánh giá hành vi khách hàng và đối thủ cạnh tranh), phương pháp phân tích (bóc tách bài toán nghiệp vụ) và phương pháp thực nghiệm (cài đặt thuật toán, chạy thử nghiệm hệ thống trên tập dữ liệu mẫu).
Kết luận
Khóa luận tốt nghiệp của sinh viên Khoa Công nghệ thông tin - Trường Đại học Tài nguyên và Môi trường Hà Nội đã giải quyết trọn vẹn bài toán xây dựng phần mềm quản lý và kinh doanh trực tuyến cho cửa hàng ComputerCAQ. Bằng việc ứng dụng ngôn ngữ JavaScript kết hợp thư viện ReactJS, NodeJS và hệ thống phân tích UML chi tiết, tác giả đã hiện thực hóa một giải pháp phần mềm hoàn chỉnh gồm 6 bảng dữ liệu và 18 nhóm chức năng nghiệp vụ từ bán hàng đến quản trị. Công trình đóng vai trò là một tài liệu tham khảo kỹ thuật có giá trị đối với sinh viên chuyên ngành CNTT trong việc nghiên cứu và triển khai các ứng dụng thương mại điện tử thực tế.