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

Trong bối cảnh chuyển đổi số và sự phát triển của thương mại điện tử, thói quen tìm kiếm thông tin sản phẩm và dịch vụ trực tuyến của người tiêu dùng ngày càng trở nên phổ biến. Đối với lĩnh vực dịch vụ ẩm thực và giải trí, đặc biệt là văn hóa thưởng thức cà phê tại các đô thị lớn như Hà Nội, nhu cầu tìm kiếm, đánh giá và so sánh các địa điểm quán café phù hợp với sở thích cá nhân diễn ra thường xuyên. Việc tiếp cận các thông tin nhận xét (review) đa chiều, trung thực giúp người dùng tiết kiệm thời gian, tối ưu hóa công sức tìm kiếm và đưa ra quyết định tiêu dùng phù hợp. Xuất phát từ thực tiễn đó, tác giả Tạ Quyền Linh đã thực hiện đồ án tốt nghiệp chuyên ngành Công nghệ thông tin tại Trường Đại học Đại Nam (năm 2023) dưới sự hướng dẫn của ThS. Phạm Văn Tiệp với đề tài: "Xây dựng ứng dụng web chia sẻ và review các quán café ở Hà Nội".

Mục tiêu nghiên cứu được xác định trong văn bản bao gồm:

  1. Nghiên cứu và phát triển trang web phục vụ mục đích quản lý các bài viết review quán café một cách hiệu quả.
  2. Vận dụng các kiến thức chuyên ngành và cơ sở lý thuyết về phân tích thiết kế hệ thống để xây dựng hoàn chỉnh ứng dụng web.
  3. Đảm bảo ứng dụng web vận hành hiệu quả, hoạt động ổn định, có giao diện thân thiện, dễ sử dụng, tinh gọn các thao tác dư thừa nhằm mang lại sự thuận tiện cho người sử dụng.

Để đạt được các mục tiêu trên, tác giả đã cụ thể hóa thành 5 nhiệm vụ nghiên cứu:

  1. Khảo sát và tổng hợp kiến thức nền tảng về việc xây dựng trang web chia sẻ, đánh giá tiệm café.
  2. Đề xuất các nhóm tính năng nghiệp vụ cần thiết cho hệ thống web.
  3. Tham vấn ý kiến định hướng từ giảng viên hướng dẫn trong suốt quá trình triển khai.
  4. Tiến hành phân tích và thiết kế kiến trúc hệ thống trang web.
  5. Cài đặt mã nguồn, triển khai thử nghiệm và đánh giá chất lượng hệ thống.

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

  • Đối tượng nghiên cứu: Ứng dụng web phục vụ quản lý bài viết, chia sẻ trải nghiệm và đánh giá quán café.
  • Phạm vi nghiên cứu:
    • Về mặt công nghệ: Tập trung nghiên cứu, khai thác nền tảng ASP.NET Core MVC và hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server.
    • Về mặt không gian và nội dung: Quản lý thông tin và dữ liệu bài viết đánh giá các tiệm café trên địa bàn thành phố Hà Nội.

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

Cơ sở kỹ thuật của đồ án dựa trên các công nghệ và giao thức phát triển phần mềm hiện đại từ hệ sinh thái của Microsoft:

  • Khung công nghệ (Framework): ASP.NET Core MVC (được đề cập trong văn bản là nền tảng framework mã nguồn mở của Microsoft) hỗ trợ xây dựng ứng dụng web và API đa nền tảng, nâng cao hiệu năng xử lý, hỗ trợ giao thức HTTP/3, cải thiện khả năng tái sử dụng mã nguồn và cơ chế định tuyến.
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server, chịu trách nhiệm lưu trữ có cấu trúc, xử lý truy vấn dữ liệu, sao lưu, phục hồi và bảo đảm tính toàn vẹn thông tin của hệ thống.
  • Công cụ phát triển (IDE): Visual Studio 2022, cung cấp các tính năng hỗ trợ lập trình như IntelliSense, trình gỡ lỗi (Debugging), công cụ thiết kế trực quan và hệ thống quản lý phiên bản mã nguồn tích hợp (Git Source Control).
  • Cơ chế xác thực và bảo mật: Chuẩn mã thông báo JSON Web Tokens (JWT), bao gồm cấu trúc ba thành phần: Tiêu đề (Header), Phần tải dữ liệu (Payload) và Chữ ký số (Signature). JWT được ứng dụng để đóng gói thông tin định danh, quyền truy cập của người dùng và truyền tải qua tiêu đề HTTP Authorization để máy chủ giải mã, kiểm tra tính hợp lệ và thời gian hết hạn của phiên làm việc.

Phương pháp nghiên cứu được tác giả triển khai kết hợp giữa nghiên cứu tài liệu kỹ thuật và thực nghiệm công nghệ:

  • Phương pháp phân tích tài liệu: Nghiên cứu cấu trúc và nguyên lý hoạt động của các hệ thống web review hiện có trên thị trường.
  • Phương pháp tổng hợp tài liệu kỹ thuật: Khai thác các bài viết công nghệ chuyên ngành, diễn đàn lập trình và tài liệu kỹ thuật chính thức từ Microsoft.
  • Phương pháp tham vấn chuyên gia: Tiếp nhận hướng dẫn chuyên môn và giải pháp kỹ thuật từ giảng viên hướng dẫn.
  • Phương pháp thực nghiệm: Triển khai cài đặt thử nghiệm hệ thống, chạy thử các luồng chức năng để đánh giá tính tối ưu và độ ổn định của giải pháp công nghệ đã chọn.

Nguồn dữ liệu của đồ án gồm dữ liệu phân loại quán café (phân loại quán truyền thống, cổ điển), thông tin tương tác của người dùng (bình luận, hình ảnh, điểm đánh giá) và dữ liệu kiểm thử được sinh ra trong quá trình vận hành hệ thống.


Thiết kế và triển khai

Hệ thống được xây dựng theo mô hình phân tầng hướng đối tượng, tập trung vào việc xử lý hai nhóm tác nhân chính là Quản trị viên (Admin) và Người dùng (User).

Bảng phân tích tác nhân và ca sử dụng (Actor & Use Case)

STT Tác nhân (Actor) Nhóm ca sử dụng (Use Case) Mô tả chi tiết chức năng
1 Quản trị viên (Admin) Đăng nhập / Đăng xuất Xác thực danh tính để vào trang điều hành hệ thống.
Quản lý tài khoản người dùng Tìm kiếm tài khoản, thực hiện chức năng nâng cấp quyền (tăng tính năng/thời gian) hoặc xóa tài khoản khỏi CSDL.
Duyệt bài viết Xem danh sách bài viết chờ duyệt; chấp nhận phê duyệt hiển thị lên website hoặc xóa bài viết khỏi danh sách chờ.
Quản lý bài viết Quản lý danh sách các bài viết đã duyệt; thực hiện ghim bài viết lên đầu trang, hủy ghim, gắn nhãn quảng cáo bài viết hoặc hủy quảng cáo.
2 Người dùng (User) Đăng nhập / Đăng ký Khởi tạo tài khoản mới; đăng nhập hệ thống với cơ chế tự động ghi nhớ phiên qua cookie.
Xem bài viết Xem chi tiết bài viết; xem danh sách bài viết mới, bài viết xu hướng (trending), bài viết có lượt xem cao nhất; lọc bài viết theo loại hình café (truyền thống, cổ điển).
Tương tác bài viết Đăng tải bình luận, đính kèm hình ảnh và gửi điểm số đánh giá tiệm café.
Quản lý trang cá nhân Chỉnh sửa thông tin cá nhân; thay đổi ảnh đại diện; tạo bài viết review mới kèm hình ảnh; sửa bài viết đã đăng; đăng ký quảng cáo hoặc hủy quảng cáo cho bài viết.

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

Hệ thống đưa ra các tiêu chí phi chức năng nhằm định hình chất lượng phần mềm:

  • Độ tin cậy và bảo mật: Bảo vệ thông tin tài khoản người dùng, mã hóa phiên truy cập thông qua JWT và kiểm soát dữ liệu cá nhân. (Lưu ý: Văn bản gốc tại mục 3.1.2 có đoạn sao chép nguyên văn mẫu yêu cầu của hệ thống quản lý nhân sự liên quan đến "thông tin nhân sự, tiền lương, phòng ban" - đây là điểm sai sót kỹ thuật trong quá trình biên soạn văn bản của tác giả).
  • Hiệu suất: Tối ưu hóa truy vấn cơ sở dữ liệu để đáp ứng khả năng truy cập đồng thời của nhiều người dùng và xử lý các tập dữ liệu bài viết kèm hình ảnh.
  • Khả năng mở rộng: Thiết kế kiến trúc phân tầng cho phép nâng cấp tính năng và bổ sung các mô-đun nghiệp vụ mới trong tương lai.
  • Khả năng tương thích: Vận hành tốt trên các trình duyệt web phổ biến và các thiết bị phần cứng khác nhau.
  • Hỗ trợ kỹ thuật: Sẵn sàng khắc phục sự cố phần mềm phát sinh trong quá trình vận hành thực tế.

Đặc tả nghiệp vụ và quy tắc xác thực (Validation Rules)

Văn bản quy định chặt chẽ các điều kiện ràng buộc dữ liệu tại các biểu mẫu (form):

  • Quy trình đăng ký tài khoản:
    • Họ và tên: Bắt buộc, độ dài tối thiểu từ 8 ký tự trở lên (nếu không đạt sẽ cảnh báo: "Vui lòng nhập đủ 8 ký tự!").
    • Tên đăng nhập: Bắt buộc, độ dài phải lớn hơn 6 ký tự (cảnh báo: "Tài khoản phải lớn hơn 6 ký tự").
    • Mật khẩu: Bắt buộc, độ dài phải lớn hơn 6 ký tự (cảnh báo: "Mật khẩu phải lớn hơn 6 ký tự").
    • Xác nhận mật khẩu: Bắt buộc trùng khớp với mật khẩu đã nhập (cảnh báo: "Mật khẩu chưa trùng khớp").
    • Email, số điện thoại, ngày sinh: Bắt buộc nhập đầy đủ thông tin hợp lệ.
    • Lưu trữ phiên: Khi đăng ký thành công, mật khẩu và tài khoản được hỗ trợ lưu tự động qua cookie.
  • Quy trình đăng nhập:
    • Tên đăng nhập và mật khẩu không được phép để trống (hệ thống thông báo: "[field] không được để trống").
    • Xác thực đúng sẽ lưu cookie đăng nhập tự động cho những lần truy cập kế tiếp; xác thực sai sẽ xuất thông báo lỗi đăng nhập thất bại.

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

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

Chương 1 trình bày lý do lựa chọn đề tài dựa trên nhu cầu thực tiễn của người dùng internet trong việc tra cứu quán cà phê tại Hà Nội. Tác giả nêu bật vai trò của một nền tảng review chuyên biệt giúp tiết kiệm thời gian, tối ưu hóa việc so sánh các địa điểm và giúp người dùng đưa ra quyết định phù hợp. Chương này công bố mục tiêu nghiên cứu, 5 nhiệm vụ trọng tâm, xác định đối tượng là ứng dụng web review quán cà phê và phạm vi nghiên cứu xoay quanh công nghệ ASP.NET Core MVC kết hợp SQL Server, đồng thời xác lập 5 phương pháp nghiên cứu để thực hiện đề tài.

CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG

Chương 2 mô tả hệ thống công cụ và nền tảng kỹ thuật được lựa chọn để phát triển đồ án:

  • Phân tích vai trò của môi trường phát triển tích hợp Visual Studio 2022 với 5 đặc trưng: IntelliSense, Debugging, Source Control, công cụ thiết kế và hỗ trợ đa nền tảng.
  • Phân tích hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server với khả năng lưu trữ, truy vấn, bảo mật và sao lưu dữ liệu.
  • Giới thiệu framework ASP.NET Core (trong văn bản có chỗ viết tắt "ASP.0", "2.0") với những cải tiến về tốc độ xử lý, hỗ trợ chuẩn HTTP/3, định tuyến và nâng cao cơ chế phòng thủ bảo mật.
  • Trình bày giải pháp bảo mật và ủy quyền bằng JSON Web Tokens (JWT), nêu rõ cấu trúc ba phần (Header, Payload, Signature), quy trình giải mã, kiểm tra chữ ký số và cơ chế kiểm soát thời hạn của mã thông báo để quản lý phiên làm việc của người dùng.

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

Đây là chương nội dung kỹ thuật trọng tâm của đồ án, bao gồm:

  • Thiết lập danh mục yêu cầu chức năng cho hai đối tượng người dùng (Quản trị viên và Người dùng thông thường) cùng các yêu cầu phi chức năng.
  • Xây dựng hệ thống tài liệu phân tích hướng đối tượng UML hoàn chỉnh:
    • Hệ thống Biểu đồ Ca sử dụng (Use Case Diagrams): Biểu đồ Use Case tổng quát, đăng nhập, quản trị admin, quản lý tài khoản, quản lý bài viết, duyệt bài viết, chức năng người dùng, quản lý trang cá nhân, thêm bài review, sửa bài review, xem bài viết.
    • Bảng đặc tả chi tiết ca sử dụng cho các chức năng Đăng nhập, Đăng ký tài khoản, Quản trị admin, và Chức năng người dùng (bao gồm mục đích, tác nhân, điều kiện tiên quyết, luồng sự kiện chính, ngoại lệ và các yêu cầu đặc biệt).
    • Hệ thống Biểu đồ Hoạt động (Activity Diagrams) cho 17 thao tác: Đăng nhập, Đăng ký, Nâng cấp tài khoản, Xóa tài khoản, Duyệt bài viết, Xóa bài viết, Ghim bài viết, Hủy ghim bài viết, Quảng cáo bài viết, Hủy quảng cáo bài viết, Bình luận, Thêm ảnh, Đánh giá bài viết, Sửa ảnh đại diện, Sửa thông tin người dùng, Thêm bài review, Sửa bài review.
    • Hệ thống Biểu đồ Trình tự (Sequence Diagrams) tương ứng mô tả tương tác giữa các lớp đối tượng trong hệ thống.
    • Thiết kế lớp và thiết kế cơ sở dữ liệu quan hệ.

XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG

Nội dung phần này (được bố cục tương đương Chương 4 trong cấu trúc đồ án) trình bày kết quả thực thi phần mềm và kiểm thử:

  • Kết quả giao diện ứng dụng: Triển khai hoàn chỉnh giao diện cho các màn hình: Đăng nhập, Đăng ký, Duyệt bài viết, Nâng cấp tài khoản, Quản lý bài viết; Giao diện trang chủ (gồm 3 bố cục/giao diện khác nhau), Bài viết mới, Bài viết trending, Bài viết xem nhiều nhất (most view); Giao diện lọc theo loại hình café (café truyền thống, café cổ điển); Giao diện trang cá nhân (3 màn hình), Chỉnh sửa ảnh, Sửa thông tin người dùng, Thêm bài review (2 màn hình) và Sửa bài review (2 màn hình).
  • Kết quả kiểm thử chức năng: Đồ án lập bảng kiểm thử các chức năng chính gồm kiểm thử chức năng đăng nhập (Bảng 3.6) và kiểm thử chức năng đăng ký (Bảng 3.7) nhằm xác nhận tính hợp lệ của việc xử lý dữ liệu đầu vào và tính toàn vẹn của hệ thống khi chạy thực tế.

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

Đồ án ghi nhận các kết quả cụ thể theo đúng nội dung được công bố trong văn bản:

  • Hoàn thành đầy đủ hồ sơ phân tích thiết kế hệ thống phần mềm với bảng phân tích tác nhân, 11 biểu đồ use case chi tiết, 17 biểu đồ hoạt động và 17 biểu đồ trình tự mô tả tường minh luồng xử lý của hệ thống.
  • Xây dựng thành công ứng dụng web với đầy đủ các phân hệ chức năng cho Quản trị viên (duyệt bài viết, quản lý bài ghim, quản lý quảng cáo, nâng cấp và xóa tài khoản) và Người dùng (xem bài viết theo 4 tiêu chí lọc, bình luận kèm ảnh, chấm điểm đánh giá, quản lý hồ sơ và quản lý bài review cá nhân).
  • Thiết kế hệ thống giao diện phong phú, hỗ trợ phân loại chi tiết các quán café tại Hà Nội theo mô hình phong cách (cà phê cổ điển và cà phê truyền thống).
  • Áp dụng thành công cơ chế xác thực JWT và lưu cookie hỗ trợ duy trì phiên đăng nhập của người dùng.
  • Về mặt đóng góp: Đồ án cung cấp một mô hình ứng dụng web thực tế giải quyết bài toán chia sẻ và tìm kiếm địa điểm quán café tại khu vực Hà Nội, đồng thời là tài liệu mẫu hoàn chỉnh về quy trình phân tích thiết kế phần mềm từ yêu cầu nghiệp vụ đến mô hình hóa UML trong chương trình đào tạo kỹ sư/cử nhân công nghệ thông tin.

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

Căn cứ trên các dữ kiện được trình bày trong toàn bộ tài liệu, đồ án tồn tại một số hạn chế kỹ thuật:

  • Đồ án chưa tích hợp các thuật toán gợi ý thông minh dựa trên lịch sử tương tác hoặc sở thích cụ thể của người dùng mà chủ yếu lọc dữ liệu tĩnh theo nhóm (bài mới, trending, most view, phong cách quán).
  • Về mặt tài liệu, phần yêu cầu phi chức năng còn tồn tại lỗi biên tập khi đưa nhầm các yêu cầu của hệ thống quản lý nhân sự (thông tin lương, phòng ban nhân sự) vào tài liệu phân tích của website review café.
  • Phạm vi dữ liệu của hệ thống mới tập trung trong phạm vi các quán cà phê tại khu vực Hà Nội.
  • Phần kiểm thử trong văn bản chủ yếu tập trung vào kiểm thử chức năng cho mô-đun đăng nhập và đăng ký, chưa cung cấp số liệu thực nghiệm đo lường hiệu năng tải hoặc kiểm thử an ninh mạng chuyên sâu.

Hướng mở rộng được xác định dựa trên phạm vi nghiên cứu:

  • Hoàn thiện và chuẩn hóa lại bộ tài liệu phân tích đặc tả yêu cầu phi chức năng.
  • Nâng cấp hệ thống gợi ý địa điểm thông minh dựa trên thuật toán học máy hoặc lọc cộng tác.
  • Mở rộng phạm vi quản lý địa điểm quán café sang các đô thị và tỉnh thành khác.
  • Bổ sung các phương pháp kiểm thử tự động, kiểm thử tải đa người dùng để tối ưu hóa hiệu suất truy vấn trên SQL Server.

Giá trị tham khảo

Đồ án có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo tốt về phương pháp xây dựng đồ án tốt nghiệp ứng dụng web sử dụng nền tảng ASP.NET Core kết hợp Microsoft SQL Server.
  • Người học phân tích thiết kế hệ thống: Đồ án cung cấp hệ thống sơ đồ UML tương đối chi tiết và chuẩn mực, bao gồm đầy đủ Use Case, Activity Diagram và Sequence Diagram cho từng tác vụ chức năng cụ thể.
  • Lập trình viên web mới bắt đầu: Có thể tham khảo cách thức triển khai xác thực người dùng bằng JSON Web Tokens (JWT), quy trình tổ chức bảng dữ liệu, và cách thức thiết kế luồng duyệt bài viết phân quyền giữa Admin và Người dùng.

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

1. Đồ án quy định các ràng buộc kiểm tra dữ liệu đầu vào (validation) nào cho chức năng đăng ký tài khoản?
Theo đặc tả Use Case Đăng ký, hệ thống bắt buộc kiểm tra các trường thông tin: Họ và tên phải đủ tối thiểu 8 ký tự; Tên đăng nhập và Mật khẩu đều phải có độ dài lớn hơn 6 ký tự; Mật khẩu xác nhận phải trùng khớp tuyệt đối với mật khẩu đã nhập; các trường Email, Số điện thoại và Ngày sinh không được để trống và phải đúng định dạng. Nếu vi phạm, hệ thống sẽ kích hoạt các thông báo lỗi tương ứng.

2. Cơ chế quản lý phiên làm việc và bảo mật đăng nhập trong hệ thống được thiết kế như thế nào?
Hệ thống sử dụng mã thông báo JWT (JSON Web Tokens) gồm 3 phần (Header, Payload, Signature) để thực hiện xác thực và phân quyền người dùng qua tiêu đề Authorization. Đồng thời, theo đặc tả nghiệp vụ, khi người dùng đăng ký hoặc đăng nhập thành công, hệ thống áp dụng cơ chế tự động lưu cookie để duy trì phiên cho các lần truy cập sau mà không yêu cầu đăng nhập lại, trừ khi người dùng chủ động đăng xuất.

3. Quản trị viên (Admin) có những quyền hạn đặc thù nào đối với các bài viết và tài khoản người dùng?
Quản trị viên có các quyền hạn riêng biệt gồm: duyệt bài viết từ danh sách chờ để cho phép hiển thị trên website hoặc xóa bài viết khỏi danh sách chờ; quản lý các bài viết đã duyệt bằng cách ghim/hủy ghim lên đầu trang hoặc gắn nhãn/hủy nhãn quảng cáo; quản lý người dùng thông qua việc nâng cấp tài khoản (tăng quyền hạn, chức năng và ghi nhận thời gian) hoặc xóa bỏ tài khoản khỏi cơ sở dữ liệu.

4. Người dùng có thể tìm kiếm và xem bài viết review quán café theo những tiêu chí lọc nào?
Hệ thống cung cấp cho người dùng 4 tiêu chí duyệt bài viết: xem bài viết mới đăng, xem bài viết đang thịnh hành (trending), xem bài viết có lượt xem cao nhất (most view) và lọc bài viết theo loại hình không gian café (trong đó đồ án thiết kế sẵn hai giao diện lọc là café truyền thống và café cổ điển).

5. Điểm dị biệt trong nội dung yêu cầu phi chức năng của đồ án là gì?
Trong mục 3.1.2 về "Yêu cầu phi chức năng", văn bản đồ án mô tả chi tiết độ tin cậy, hiệu suất và khả năng tương thích nhưng nội dung lại đề cập đến việc "bảo vệ thông tin cá nhân của Nhân Sự, thông tin về lương và các thông tin khác liên quan đến nhân sự" và "hỗ trợ sự liên kết giữa các phòng ban trong tổ chức". Đây là dấu hiệu của việc kế thừa hoặc sao chép nhầm lẫn từ một tài liệu mẫu về hệ thống quản lý nhân sự sang đồ án ứng dụng web review quán café.


Kết luận

Đồ án tốt nghiệp "Xây dựng ứng dụng web chia sẻ và review các quán café ở Hà Nội" của sinh viên Tạ Quyền Linh là một công trình kỹ thuật phần mềm hoàn chỉnh về quy trình xây dựng ứng dụng web hướng đối tượng. Tác giả đã hoàn thành mục tiêu nghiên cứu thông qua việc thiết kế hệ thống sơ đồ UML chi tiết, áp dụng công nghệ ASP.NET Core kết hợp cơ sở dữ liệu SQL Server và cơ chế xác thực JWT. Mặc dù còn một số hạn chế trong khâu biên tập tài liệu đặc tả phi chức năng, đồ án vẫn cung cấp giá trị tham khảo rõ ràng cho sinh viên công nghệ thông tin trong việc phân tích, thiết kế và phát triển các hệ thống web tương tác cộng đồng.