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

Báo cáo "Đồ án cơ sở 2" với đề tài "Xây dựng website quản lý cửa hàng laptop" do sinh viên Nguyễn Thị Ngọc (mã sinh viên: 22IT.B146), chuyên ngành Khoa học Máy tính thuộc Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn (VKU), Đại học Đà Nẵng thực hiện dưới sự hướng dẫn của TS. Lê Văn Minh vào tháng 12 năm 2023.

Bối cảnh thực tiễn được tác giả nêu rõ xuất phát từ sự bùng nổ của thị trường ứng dụng web và thương mại điện tử. Website hiện là một trong những phương thức phổ biến để người dùng tiếp cận thông tin, mua sắm trực tuyến và hỗ trợ các cơ sở kinh doanh vận hành hệ thống bán hàng. Các phần mềm quản lý trên nền tảng web được ưu tiên phát triển nhờ khả năng tương thích cao trên nhiều dòng thiết bị, tính khả dụng và hỗ trợ quản trị dòng tiền, thu chi hiệu quả, tiết kiệm thời gian vận hành cho doanh nghiệp.

Mục tiêu của đề tài là khảo sát nghiệp vụ và xây dựng một hệ thống website quản lý cửa hàng bán laptop hoàn chỉnh, phục vụ đồng thời hai nhóm đối tượng: khách hàng mua sắm trực tuyến và quản trị viên quản lý vận hành.

Nhiệm vụ nghiên cứu được cụ thể hóa thông qua tiến độ lập kế hoạch dự án kéo dài 18 tuần:

  • Tuần 1 – 2: Tìm hiểu tổng quan hệ thống quản lý cửa hàng bán laptop (tính khả thi, tính thiết thực) và tiến hành khảo sát bài toán thực tế.
  • Tuần 3 – 5: Xác định các yêu cầu nghiệp vụ chi tiết của bài toán quản lý cửa hàng.
  • Tuần 6 – 10: Xác định, mô tả, mô phỏng các nghiệp vụ, các chức năng của hệ thống và thiết kế giao diện tương tác.
  • Tuần 10 – 15: Xác định môi trường phát triển hệ thống, tiến hành thiết kế kiến trúc hệ thống và cơ sở dữ liệu.
  • Tuần 16 – 18: Tiến hành chạy thử, kiểm thử chức năng và lập kế hoạch bảo trì hệ thống.

Đối tượng nghiên cứu của đồ án là quy trình quản lý, kinh doanh laptop và mô hình ứng dụng web thương mại điện tử. Phạm vi nghiên cứu giới hạn trong phạm vi đồ án học phần cơ sở (Đồ án cơ sở 2), tập trung vào khảo sát nghiệp vụ bán lẻ laptop, phân tích thiết kế hệ thống bằng mô hình hướng đối tượng và cài đặt các chức năng tương tác cốt lõi tại thời điểm tháng 12 năm 2023.

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

Đề tài vận dụng nền tảng công nghệ Java Web truyền thống kết hợp phương pháp luận phân tích thiết kế hệ thống hướng đối tượng:

  • Khung công nghệ JavaServer Pages (JSP): JSP được sử dụng để xây dựng giao diện hiển thị web động thông qua việc kết hợp mã HTML/XML tĩnh với mã Java động. Bản chất của mỗi trang JSP là được máy chủ biên dịch thành một Java Servlet trước khi thực thi. Đồ án khai thác cú pháp thẻ nhúng <% %> để thực thi logic và thẻ <%= %> để xuất dữ liệu ra trình duyệt. Báo cáo cũng đề cập đến cơ chế quản lý trạng thái phiên làm việc (Session Management), thư viện thẻ (Tag Libraries) và khả năng tích hợp theo mô hình MVC (Model-View-Controller) phối hợp với các framework web như Apache Struts hoặc Spring MVC.
  • Khung công nghệ Java Servlets: Đóng vai trò là các lớp Java (classes) chuyên trách xử lý các yêu cầu (HTTP Requests) từ trình duyệt người dùng và khởi tạo phản hồi (HTTP Responses). Servlets đảm nhận logic nền, giao tiếp với hệ quản trị cơ sở dữ liệu, hỗ trợ xử lý đa nhiệm đồng thời và đảm bảo tính an toàn dữ liệu.
  • Phương pháp phân tích và thiết kế hệ thống: Tác giả sử dụng ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language - UML) để chuẩn hóa quy trình phát triển phần mềm. Phương pháp này bao gồm việc xác định tác nhân (Actors), phân rã ca sử dụng (Use Case), mô hình hóa cấu trúc tĩnh bằng biểu đồ lớp (Class Diagram) và mô hình hóa hành vi động thông qua biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram) cùng biểu đồ cộng tác/giao tiếp (Communication Diagram).
  • Phương pháp thiết kế cơ sở dữ liệu: Quy trình thiết kế cơ sở dữ liệu quan hệ (RDBMS) được tác giả triển khai qua quy trình kỹ thuật 5 bước:
    1. Bước 1: Xác định mục tiêu khai thác cơ sở dữ liệu.
    2. Bước 2: Xác định các bảng dữ liệu cần thiết tương ứng với từng đối tượng thông tin.
    3. Bước 3: Xác định các trường dữ liệu (thuộc tính) và kiểu dữ liệu quản lý trong mỗi bảng.
    4. Bước 4: Xác định các mối quan hệ logic giữa các bảng dữ liệu.
    5. Bước 5: Tinh chế, hiệu chỉnh lại thiết kế thông qua việc nhập dữ liệu kiểm thử và thẩm định tính toàn vẹn khi truy xuất.
  • Nguồn dữ liệu và tài liệu tham khảo: Tác giả khai thác các nguồn tài liệu kỹ thuật trực tuyến từ Viblo, AWS, Bizfly Cloud, CodeLearn, Iviettech liên quan đến các chủ đề về giao diện lập trình ứng dụng (API), kiến trúc UML, biểu đồ hoạt động, cùng các bài viết tham khảo về kiến trúc ứng dụng web (Next.js, Laravel).

Thiết kế và triển khai

Căn cứ trên các nội dung kỹ thuật được văn bản cung cấp, hệ thống được phân tích và thiết kế với các đặc tả thành phần cụ thể:

Ngăn xếp công nghệ

  • Giao diện phía máy khách (Front-end): HTML, CSS, JavaScript (JS).
  • Xử lý logic phía máy chủ (Back-end): Java Servlet kết hợp JavaServer Pages (JSP).
  • Lưu trữ dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).

Phân tích yêu cầu hệ thống

Hệ thống được xác lập dựa trên các tiêu chí kỹ thuật:

  • Yêu cầu người dùng: Giao diện tối ưu, trực quan; hệ thống hỗ trợ đa nền tảng; tích hợp chức năng sao lưu và phục hồi dữ liệu định kỳ; khả năng mở rộng và nâng cấp tính năng trong tương lai; có tài liệu và phương tiện hướng dẫn sử dụng chi tiết.
  • Yêu cầu chức năng: Phân chia thành ba nhóm nghiệp vụ chính: quản trị hệ thống (quản lý người dùng, phân quyền, quản lý sản phẩm, bán hàng, nhập hàng, thống kê số liệu doanh thu); quản lý thông tin tài khoản cá nhân; tra cứu thông tin sản phẩm và đơn hàng theo phân quyền.
  • Yêu cầu phi chức năng: Tốc độ truy xuất dữ liệu nhanh; an toàn bảo mật thông tin tài khoản (yêu cầu mã hóa mật khẩu); triệt tiêu nguy cơ lỗ hổng tấn công SQL Injection khi thao tác dữ liệu; kiểm soát bảo mật đường dẫn truy cập của trang quản trị.

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

Văn bản báo cáo đặc tả cấu trúc lưu trữ thông qua hai bảng dữ liệu chính phục vụ việc quản lý thông tin định danh:

Tên bảng Tên trường Kiểu dữ liệu Cho phép NULL Chú thích nghiệp vụ
Khách hàng hoten nvarchar(20) No Họ và tên khách hàng
gioitinh nvarchar(10) No Giới tính
quequan nvarchar(30) No Quê quán
CCCD varchar(20) No Căn cước công dân
SDT varchar(10) No Số điện thoại liên hệ
ngaysinh varchar(10) No Ngày tháng năm sinh
Quản trị viên hoten nvarchar(20) No Họ và tên quản trị viên
gioitinh nvarchar(10) No Giới tính
quequan nvarchar(20) No Quê quán
CCCD nvarchar(10) No Căn cước công dân
SDT varchar(10) No Số điện thoại liên hệ
ngaysinh varchar(10) No Ngày tháng năm sinh

Thiết kế hành vi và tương tác

Tác giả đã xây dựng hệ thống mô hình hóa UML gồm 57 hình vẽ, biểu diễn cấu trúc ca sử dụng và luồng thực thi chi tiết cho toàn bộ 18 chức năng thông qua Biểu đồ tuần tự (Sequence Diagram), Biểu đồ hoạt động (Activity Diagram) và Biểu đồ giao tiếp (Communication Diagram).

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

CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT

Chương này đặt nền móng lý luận cho đề tài. Tác giả trình bày tính khả thi của hệ thống website bán hàng trực tuyến, lập kế hoạch dự án chi tiết qua 5 mốc tiến độ (18 tuần), và phân tích các yêu cầu bài toán từ khảo sát thực tế. Nội dung lý thuyết tập trung giải trình sâu về công nghệ Java JSP và Java Servlet: cơ chế biên dịch trang JSP sang Servlet, cú pháp nhúng thẻ, khả năng quản lý phiên (Session), việc phân định mã giao diện và mã xử lý nghiệp vụ theo mô hình MVC, cùng các ưu điểm nổi bật của Servlet về khả năng xử lý HTTP đa luồng, tính tương thích cơ sở dữ liệu và hiệu suất vận hành máy chủ.

CHƯƠNG 2 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Nội dung chương 2 chiếm dung lượng lớn nhất trong báo cáo, bao gồm việc khảo sát chi tiết luồng nghiệp vụ giữa khách hàng và quản trị viên. Tác giả thực hiện đặc tả chi tiết 18 ca sử dụng hệ thống từ tiền điều kiện, luồng sự kiện chính, các luồng nhánh phụ (như đăng ký bằng biểu mẫu hoặc tài khoản Google; thanh toán trực tiếp COD hoặc thanh toán trực tuyến qua ngân hàng) đến hậu điều kiện hoàn thành. Toàn bộ 18 chức năng này được mô hình hóa bằng hệ thống biểu đồ UML đồ sộ: Biểu đồ Use Case tổng quát, Biểu đồ lớp (Class Diagram), 18 Biểu đồ tuần tự, 18 Biểu đồ hoạt động và 18 Biểu đồ giao tiếp. Chương này khép lại bằng việc xác lập quy trình 5 bước thiết kế cơ sở dữ liệu và đưa ra cấu trúc hai bảng dữ liệu: Bảng khách hàng và Bảng quản trị viên.

CHƯƠNG 3 : XÂY DỰNG WEBSITE QUẢN LÝ CỬA HÀNG LAPTOP

Chương 3 trình bày các kết quả xây dựng giao diện thực tế của ứng dụng web. Báo cáo liệt kê 11 màn hình giao diện chính kèm hình ảnh minh chứng: Giao diện đăng nhập, Giao diện trang chủ, Giao diện quản lý người dùng, Giao diện quản lý laptop (tìm kiếm theo danh mục), Giao diện quản lý doanh thu (xem chi tiết sản phẩm), Giao diện sửa chữa, Giao diện nhập hàng, Giao diện thêm thông tin (đặt hàng), Giao diện xóa dữ liệu, Giao diện tìm kiếm, và Giao diện sửa đổi thông tin (kiểm duyệt đơn đặt hàng). Phần kết luận chương 3 tóm lược việc tích hợp công nghệ giao diện HTML, CSS, JS với tầng xử lý Java Servlet phía máy chủ.

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

Kết quả chính đạt được

  • Đặc tả nghiệp vụ hoàn chỉnh: Phân tích và xây dựng kịch bản vận hành chi tiết cho 2 tác nhân chính với 18 ca sử dụng:
Nhóm tác nhân Tên ca sử dụng (Use Case) Mô tả tóm tắt luồng nghiệp vụ trong văn bản
Khách hàng Đăng ký tài khoản Điền thông tin cá nhân hoặc liên kết tài khoản Google
Đăng nhập Xác thực tài khoản và mật khẩu đã tạo
Tìm kiếm sản phẩm Gõ từ khóa để nhận đề xuất và danh sách sản phẩm
Tìm kiếm theo bộ lọc Lọc chi tiết sản phẩm theo các tiêu chuẩn phân loại
Tìm kiếm trên danh mục Duyệt danh sách thiết bị theo danh mục hệ thống
Xem chi tiết sản phẩm Xem thông số kỹ thuật, chất lượng, mẫu mã, thương hiệu
Thêm vào giỏ hàng Lưu trữ các sản phẩm đã lựa chọn vào phiên mua sắm
Xem giỏ hàng Kiểm tra danh mục và số lượng thiết bị dự kiến mua
Đặt hàng Nhập thông tin nhận hàng và xác nhận giao dịch
Thanh toán Chọn thanh toán trực tiếp (giao hàng) hoặc online qua ngân hàng
Đánh giá sản phẩm Gửi ý kiến và nhận xét về thiết bị đã trải nghiệm
Chỉnh sửa thông tin Cập nhật lại các trường thông tin tài khoản cá nhân
Quản trị viên Đăng nhập Admin Xác thực quyền hạn truy cập khu vực quản trị
Đăng bán sản phẩm Đăng tải thông tin, thông số cấu hình và hình ảnh laptop mới
Kiểm duyệt đơn đặt hàng Tiếp nhận đơn hàng, xem xét và quyết định chấp nhận giao dịch
Duyệt đánh giá Xét duyệt các bình luận của người mua trước khi hiển thị
Xóa tài khoản Hủy quyền sử dụng tài khoản người dùng vi phạm quy tắc
Viết tin tức lên Blog Soạn thảo và đăng tải bài viết khuyến mãi, sản phẩm mới
  • Hệ thống tài liệu thiết kế: Xây dựng hệ thống tài liệu phân tích thiết kế chi tiết với 1 biểu đồ ca sử dụng tổng quát, 1 biểu đồ lớp dữ liệu, cùng 54 biểu đồ tương tác (Sequence, Activity, Communication) phủ kín 18 chức năng nghiệp vụ.
  • Hiện thực hóa giao diện chức năng: Xây dựng thành công 11 giao diện mẫu minh họa các thao tác từ đăng nhập, hiển thị trang chủ, đặt hàng đến màn hình quản trị nghiệp vụ.

Đóng góp tự thân của tác giả

Tác giả đã hoàn thành mục tiêu xây dựng một đồ án cơ sở mang tính thực hành cao: tiếp cận bài toán quản lý cửa hàng thực tế, nắm vững quy trình phân tích thiết kế phần mềm chuẩn mực theo chuẩn UML và làm chủ công nghệ lập trình web Java truyền thống (JSP/Servlet).

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

Hạn chế được ghi nhận từ văn bản

  • Mức độ hoàn thiện chức năng: Tác giả tự thừa nhận do giới hạn về mặt thời gian và kinh nghiệm thực tế nên đồ án mới chỉ hoàn thiện được các chức năng cơ bản, chưa xây dựng trọn vẹn toàn bộ các tính năng nâng cao của một hệ thống quản trị thương mại điện tử chuyên nghiệp.
  • Hiện tượng sai lệch nội dung biên tập (sao chép văn bản): Trong phần tự đánh giá kết quả tại mục Kết luận của báo cáo, văn bản xuất hiện sự sai lệch nghiêm trọng về mặt nội dung khi tác giả liệt kê các kết quả đạt được gồm: "hoạt động khám của y tá, hoạt động sàng lọc và tiêm chủng của bác sĩ" và "việc quản lý bán đồng hồ online trở nên dễ dàng, thuận tiện hơn". Các nội dung này hoàn toàn không đồng nhất với đề tài nghiên cứu về quản lý cửa hàng laptop ở các chương trước, phản ánh sự sơ suất trong quá trình tổng hợp và biên tập báo cáo cuối khóa.

Hướng nghiên cứu tiếp theo

Để nâng cao hiệu quả vận hành của website, các định hướng hoàn thiện được đề xuất gồm:

  • Bổ sung, tinh chỉnh các màn hình giao diện nhằm tăng tính thân thiện và tiện lợi cho người sử dụng, đồng thời củng cố cơ chế an ninh, bảo mật hệ thống.
  • Phát triển thêm các phân hệ có tính tự động hóa cao.
  • Xây dựng mô-đun thống kê và phân tích lưu lượng người truy cập website.
  • Mở rộng phạm vi triển khai và hỗ trợ phân phối bán hàng trên quy mô rộng (văn bản đề cập định hướng mở rộng hệ thống website bán buôn ra toàn quốc).

Giá trị tham khảo

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

  • Sinh viên chuyên ngành Công nghệ thông tin / Khoa học máy tính: Tài liệu là mẫu tham khảo trực quan cho các học phần Đồ án cơ sở, Lập trình web Java hoặc Phân tích thiết kế hệ thống thông tin. Phần cơ sở lý thuyết cung cấp kiến thức nền tảng súc tích về vai trò và cách thức hoạt động của công nghệ Java JSP và Servlet.
  • Người học cần tài liệu mô hình hóa UML: Báo cáo cung cấp đầy đủ các mẫu đặc tả Use Case chi tiết (tiền điều kiện, luồng chính, luồng rẽ nhánh, hậu điều kiện) cùng hệ thống biểu đồ tuần tự, biểu đồ hoạt động và biểu đồ giao tiếp tương ứng cho từng chức năng thương mại điện tử cơ bản.
  • Bài học kinh nghiệm về biên tập học thuật: Báo cáo là một trường hợp thực tế về tầm quan trọng của việc kiểm duyệt, rà soát tính nhất quán của văn bản khoa học, giúp người nghiên cứu sau tránh được các lỗi sao chép nhầm lẫn nội dung từ các đề tài khác vào phần tổng kết đồ án.

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

Đề tài được triển khai theo tiến độ thời gian như thế nào và giai đoạn nào chiếm nhiều thời gian nhất?

Đồ án được phân bổ trong 18 tuần qua 5 mốc công việc. Trong đó, hai giai đoạn chiếm nhiều thời gian nhất là: giai đoạn xác định, mô phỏng nghiệp vụ và thiết kế giao diện (Tuần 6 – 10, kéo dài 5 tuần) và giai đoạn xác định môi trường cùng thiết kế hệ thống (Tuần 10 – 15, kéo dài 6 tuần). Các giai đoạn còn lại gồm khảo sát bài toán (2 tuần), xác định yêu cầu nghiệp vụ (3 tuần) và chạy thử, kiểm thử, bảo trì (3 tuần).

Kiến trúc công nghệ được lựa chọn để xây dựng hệ thống website là gì?

Hệ thống sử dụng các công nghệ tiêu chuẩn của Java Web:

  • Phía giao diện (Front-end): Sử dụng HTML, CSS và JavaScript.
  • Phía máy chủ (Back-end): Sử dụng JavaServer Pages (JSP) để hiển thị nội dung động và Java Servlets để điều phối logic, tiếp nhận và phản hồi các yêu cầu HTTP.
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) truy vấn qua SQL.

Hai tác nhân chính trong hệ thống có quyền hạn và ca sử dụng khác nhau như thế nào?

Hệ thống phân định ranh giới chức năng rõ ràng giữa hai tác nhân:

  • Khách hàng (12 ca sử dụng): Đăng ký, đăng nhập, tìm kiếm sản phẩm, tìm kiếm theo bộ lọc, tìm kiếm theo danh mục, xem chi tiết sản phẩm, thêm vào giỏ hàng, xem giỏ hàng, đặt hàng, thanh toán (trực tiếp hoặc trực tuyến), đánh giá sản phẩm, chỉnh sửa thông tin cá nhân.
  • Quản trị viên (6 ca sử dụng): Đăng nhập Admin, đăng bán sản phẩm mới, kiểm duyệt các đơn đặt hàng, xét duyệt các đánh giá của người mua, xóa tài khoản khách hàng vi phạm, viết và xuất bản tin tức/khuyến mãi lên blog.

Hai bảng dữ liệu "Khách hàng" và "Quản trị viên" trong báo cáo có cấu trúc như thế nào?

Cả hai bảng đều quản lý 6 trường thuộc tính với quy định không được để trống (NULL = no): hoten, gioitinh, quequan, CCCD, SDT, và ngaysinh. Điểm khác biệt nằm ở độ dài và kiểu dữ liệu: ở bảng Khách hàng, trường quequan dùng kiểu nvarchar(30) và CCCD dùng kiểu varchar(20); trong khi ở bảng Quản trị viên, trường quequan được khai báo là nvarchar(20) và trường CCCD là nvarchar(10).

Tại sao phần kết luận của báo cáo lại đề cập đến nghiệp vụ y tế và bán đồng hồ?

Đây là hệ quả của lỗi biên tập và sao chép văn bản (copy-paste) từ các tài liệu khác mà tác giả không rà soát kỹ lưỡng trước khi xuất bản. Mặc dù toàn bộ đề tài và các chương 1, 2, 3 tập trung vào hệ thống website quản lý cửa hàng laptop, phần Kết luận lại ghi nhận các chức năng như "hoạt động khám của y tá, tiêm chủng của bác sĩ" và "quản lý bán đồng hồ online", phản ánh hạn chế về tính nhất quán trong khâu biên tập tài liệu của sinh viên.

Kết luận

Báo cáo "Đồ án cơ sở 2: Xây dựng website quản lý cửa hàng laptop" của sinh viên Nguyễn Thị Ngọc phản ánh đầy đủ quy trình phân tích và thiết kế một ứng dụng web thương mại điện tử dựa trên ngăn xếp công nghệ Java JSP và Servlet. Đồ án hoàn thành tốt phần thiết kế hướng đối tượng với hệ thống 57 biểu đồ UML chuẩn mực và đặc tả chi tiết 18 ca sử dụng nghiệp vụ cốt lõi. Mặc dù còn bộc lộ hạn chế về mức độ hoàn thiện phần mềm và tồn tại sai sót trong khâu biên tập văn bản ở phần tổng kết, công trình vẫn là một tài liệu học tập có giá trị tham khảo rõ ràng cho sinh viên ngành Công nghệ thông tin trong các học phần phân tích thiết kế hệ thống tương tự.