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

Thị trường lao động tại Việt Nam chịu tác động kép từ khủng hoảng kinh tế và đại dịch COVID-19, dẫn đến tình trạng thất nghiệp gia tăng ở nhiều nhóm dân số. Người lao động có nhu cầu tìm việc nhưng gặp khó khăn khi phải tiếp cận từng doanh nghiệp riêng lẻ, trong khi nhà tuyển dụng cũng thiếu kênh tập trung để tiếp cận nguồn nhân lực. Bối cảnh đó, cùng với sự phát triển nhanh của công nghệ thông tin, tạo ra yêu cầu thực tiễn cho một nền tảng số kết nối hai phía.

Đồ án được thực hiện bởi sinh viên Nguyễn Thị Thanh Tuyền, lớp 19T2, ngành Công nghệ Thông tin, Khoa Công nghệ Số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng, dưới sự hướng dẫn của TS. Nguyễn Tấn Thuận, hoàn thành và nộp tháng 6 năm 2023.

Mục tiêu đề tài được trình bày gồm hai hướng chính:

  1. Giúp người lao động tìm kiếm việc làm nhanh chóng, dễ dàng, có thể lọc theo hình thức lương và nghề nghiệp phù hợp với mong muốn cá nhân.
  2. Giúp nhà tuyển dụng tiếp cận nguồn nhân lực dồi dào một cách nhanh chóng thông qua nền tảng trực tuyến thống nhất.

Đối tượng nghiên cứu: Phân tích và thiết kế các chức năng đăng bài tuyển dụng, nộp hồ sơ ứng tuyển (CV), và quản lý hồ sơ trên nền tảng web.

Phạm vi nghiên cứu: Hệ thống được xây dựng và áp dụng cho khu vực thành phố Đà Nẵng; tác giả xác định có thể mở rộng ra các tỉnh thành khác trong các giai đoạn phát triển tiếp theo.


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

Giải pháp công nghệ

Đồ án sử dụng bộ công nghệ web phía máy chủ và phía máy khách như sau:

Thành phần Công nghệ
Ngôn ngữ lập trình phía server PHP (Hypertext Preprocessor)
Ngôn ngữ đánh dấu giao diện HTML (HyperText Markup Language)
Định dạng giao diện CSS (Cascading Style Sheets)
Framework giao diện Bootstrap
Hệ quản trị cơ sở dữ liệu MySQL
Công cụ phát triển Visual Studio, MySQL Workbench

PHP được chọn vì tốc độ nhanh, cú pháp gần với C và Java, thích hợp cho phát triển ứng dụng web động, và có thời gian xây dựng sản phẩm ngắn hơn so với nhiều ngôn ngữ khác. MySQL được chọn vì là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở tốc độ cao, ổn định, hỗ trợ nhiều hệ điều hành và miễn phí hoàn toàn. Bootstrap cung cấp tính năng responsive và mobile-first, giúp giao diện tương thích với nhiều thiết bị từ điện thoại đến máy tính để bàn.

Phương pháp nghiên cứu

Đồ án kết hợp hai phương pháp:

  • Phương pháp nghiên cứu lý thuyết: Thu thập thông tin qua internet, tài liệu, sách để xây dựng cơ sở lý thuyết về các công nghệ được sử dụng.
  • Phương pháp triển khai thực nghiệm: Khảo sát thực tế nhu cầu người dùng, sau đó trực tiếp xây dựng và kiểm thử hệ thống website.

Nguồn dữ liệu

Dữ liệu đầu vào của hệ thống đến từ khảo sát người dùng thực tế về nhu cầu tìm việc và tuyển dụng tại Đà Nẵng, kết hợp với phân tích yêu cầu nghiệp vụ từ các tác nhân trong hệ thống.


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

Chương I — Giải pháp công nghệ

Chương này trình bày nền tảng lý thuyết về các công nghệ được áp dụng. Tác giả giới thiệu lịch sử phát triển của PHP từ khi Rasmus Lerdorf tạo ra vào năm 1994, qua các mốc phiên bản PHP 3 (1998), PHP 4 (2000), PHP 5 (2004 — bổ sung lập trình hướng đối tượng), đến PHP 7 (2015 — cải thiện hiệu suất và bảo mật). MySQL được trình bày là hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL), hỗ trợ đa nền tảng bao gồm Windows, Linux, Mac OS X, Unix, FreeBSD, Solaris. Chương cũng trình bày vai trò của HTML trong xây dựng cấu trúc trang, CSS trong tạo phong cách trình bày, và Bootstrap trong việc xây dựng giao diện responsive.

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

Đây là chương trọng tâm phân tích nghiệp vụ của đồ án. Tác giả xác định bốn tác nhân chính trong hệ thống:

  • Khách vãng lai (User): Xem danh sách bài đăng, tìm kiếm việc làm, xem chi tiết bài đăng, đăng ký/đăng nhập.
  • Người ứng tuyển (Employee): Bao gồm toàn bộ quyền của User, bổ sung thêm nộp hồ sơ, quản lý hồ sơ cá nhân, tạo CV, đánh dấu yêu thích, nhận thông báo kết quả qua email.
  • Nhà tuyển dụng: Bao gồm quyền của User, bổ sung cập nhật thông tin cá nhân, quản lý danh sách ứng viên, xem lịch sử ứng tuyển, gửi mail phản hồi, đăng và cập nhật bài đăng tuyển dụng.
  • Người quản lý (Admin): Duyệt bài đăng, phân quyền người dùng, quản lý danh mục ngành nghề, thống kê số liệu.

Chương xây dựng đầy đủ hệ thống biểu đồ UML gồm sơ đồ use-case tổng quát, sơ đồ use-case chi tiết cho từng nhóm chức năng (đăng ký/đăng nhập, cập nhật thông tin cá nhân, xem danh sách bài đăng và tìm kiếm, tạo CV, đăng và cập nhật bài đăng, quản lý danh sách ứng viên, thống kê), sơ đồ hoạt động và sơ đồ tuần tự cho từng chức năng. Mỗi use-case được đặc tả bằng bảng scenario đầy đủ gồm tên, mô tả, tác nhân, đầu vào, đầu ra, luồng chính và luồng ngoại lệ — tổng cộng 11 bảng scenario (Bảng 2.1 đến Bảng 2.11).

Chương cũng thiết kế cơ sở dữ liệu quan hệ dưới dạng sơ đồ ERD, trong đó văn bản trình bày cụ thể cấu trúc bảng danh mục (Bảng 2.4) và bảng bài đăng yêu thích (Bảng 2.6).

Yêu cầu phi chức năng xác định ba nhóm: giao diện đẹp, đơn giản, dễ sử dụng; đảm bảo tính bảo mật và an toàn; tốc độ xử lý nhanh chóng.

Chương III — Xây dựng chương trình

Chương trình bày kết quả hiện thực hóa hệ thống, bao gồm toàn bộ giao diện và chức năng được xây dựng. Các giao diện được minh họa gồm: trang chủ, xem danh sách bài đăng, xem thông tin chi tiết bài đăng, cập nhật thông tin cá nhân (user và nhà tuyển dụng), tìm kiếm, ứng tuyển (apply CV), yêu thích, đăng bài, quản lý bài đăng, gửi email phản hồi, phân quyền user, duyệt bài đăng, tạo danh mục, danh sách danh mục, và thống kê số bài viết/số người dùng. Tổng cộng 15 giao diện chức năng được trình bày có hình minh họa (Hình 3.1 đến 3.15).


Thiết kế và triển khai

Kiến trúc hệ thống

Website được xây dựng theo mô hình phân tầng với giao diện người dùng sử dụng HTML, CSS, Bootstrap; xử lý nghiệp vụ phía server bằng PHP; và lưu trữ dữ liệu trên MySQL. Hệ thống phân quyền bốn cấp (khách vãng lai, ứng viên, nhà tuyển dụng, admin) kiểm soát quyền truy cập vào từng chức năng.

Các chức năng kỹ thuật đáng chú ý

  • Tạo CV trực tuyến: Ứng viên nhập thông tin trực tiếp trên hệ thống, lưu dưới dạng hồ sơ số và có thể sử dụng để ứng tuyển.
  • Upload CV: Ứng viên ứng tuyển vào bài đăng bằng cách upload hồ sơ, hệ thống ghi nhận và thông báo ứng tuyển thành công.
  • Gửi email phản hồi: Nhà tuyển dụng có thể gửi email thông báo kết quả trực tiếp đến ứng viên qua hệ thống.
  • Quy trình duyệt bài đăng: Bài đăng tuyển dụng sau khi nhà tuyển dụng đăng sẽ chuyển sang trạng thái chờ duyệt; Admin xem xét và phê duyệt trước khi hiển thị công khai.
  • Thống kê: Admin có thể lọc theo khoảng thời gian (ngày bắt đầu và ngày kết thúc) để xem thống kê số lượng bài đăng và số người dùng.
  • Tìm kiếm: Hỗ trợ tìm kiếm theo hình thức lương và ngành nghề, khả dụng cho cả khách vãng lai lẫn người dùng đã đăng nhập.

Kiểm thử

Đồ án thực hiện kiểm thử chương trình theo danh sách nhiệm vụ ban đầu đã được xác định, đảm bảo các luồng chính và luồng ngoại lệ trong từng use-case hoạt động đúng theo kịch bản đã đặc tả.


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

Kết quả chính

Đồ án hoàn thành một hệ thống website tìm kiếm việc làm hoạt động đầy đủ với bốn nhóm tác nhân, bao gồm tổng cộng 11 use-case được đặc tả và hiện thực hóa, 15 giao diện chức năng được xây dựng, cùng hệ thống cơ sở dữ liệu MySQL đầy đủ. Sản phẩm đáp ứng toàn bộ danh sách yêu cầu chức năng và phi chức năng được xác định trong giai đoạn phân tích.

Giải pháp tác giả đề xuất

Tác giả đề xuất mô hình vận hành website với quy trình kiểm duyệt bài đăng hai bước (nhà tuyển dụng đăng → admin duyệt → hiển thị công khai), giúp kiểm soát chất lượng nội dung. Chức năng gửi email phản hồi tích hợp trực tiếp trong hệ thống giúp nhà tuyển dụng thông báo kết quả cho ứng viên mà không cần công cụ ngoài.

Đóng góp so với nghiên cứu trước

Tác giả xây dựng hệ thống hướng đến đặc thù địa phương — tập trung vào thị trường lao động tại thành phố Đà Nẵng — thay vì nền tảng tổng quát toàn quốc. Hệ thống tích hợp đồng thời chức năng tạo CV trực tuyến, upload CV sẵn có, và quản lý bài đăng yêu thích trong một nền tảng duy nhất.


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

Tác giả nêu trong phần Kết luận và Hướng phát triển rằng phạm vi địa lý hiện tại chỉ áp dụng cho Đà Nẵng, và hệ thống có thể mở rộng ra các tỉnh thành khác trong giai đoạn phát triển tiếp theo. Đây là hướng mở rõ ràng nhất được văn bản ghi nhận.

Dựa trên phạm vi của đồ án, một số giới hạn có thể nhận ra: hệ thống chưa đề cập đến tính năng gợi ý việc làm dựa trên hồ sơ ứng viên, chưa tích hợp xác thực danh tính nhà tuyển dụng, và chức năng thống kê hiện chỉ giới hạn ở số lượng bài đăng và số người dùng.


Giá trị tham khảo

Đồ án phù hợp làm tài liệu tham khảo cho các đối tượng sau:

  • Sinh viên ngành Công nghệ Thông tin đang thực hiện đồ án tốt nghiệp về xây dựng hệ thống web với PHP và MySQL, đặc biệt muốn tham khảo quy trình phân tích thiết kế từ use-case đến cơ sở dữ liệu đến hiện thực hóa giao diện.
  • Sinh viên học phần Phân tích thiết kế hệ thống có thể tham khảo toàn bộ hệ thống biểu đồ UML (use-case, hoạt động, tuần tự) và bộ bảng scenario (11 bảng) như mẫu tham chiếu về cách đặc tả nghiệp vụ.
  • Người thực hiện đề tài tương tự về nền tảng tuyển dụng trực tuyến phạm vi địa phương có thể tham khảo thiết kế phân quyền bốn cấp và quy trình duyệt nội dung.

Phần đáng tham khảo nhất là Chương II với hệ thống biểu đồ use-case, sơ đồ hoạt động, sơ đồ tuần tự và bảng scenario — đây là phần phân tích nghiệp vụ được trình bày có hệ thống nhất trong đồ án.


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

1. Hệ thống phân biệt bao nhiêu loại tài khoản và quyền khác nhau? Hệ thống có bốn tác nhân với quyền hạn tăng dần: khách vãng lai (User), người ứng tuyển (Employee), nhà tuyển dụng, và quản trị viên (Admin). Mỗi tác nhân cấp cao hơn bao gồm toàn bộ quyền của tác nhân cấp thấp hơn và bổ sung thêm quyền đặc thù của vai trò đó.

2. Nhà tuyển dụng đăng bài có được hiển thị ngay không? Không. Theo kịch bản use-case "Đăng bài" (Bảng 2.5), sau khi nhà tuyển dụng nhấn "Đăng bài", hệ thống thông báo trạng thái chờ duyệt. Admin phải thực hiện chức năng "Duyệt bài đăng" (Bảng 2.10) thì bài mới được chuyển sang trạng thái duyệt thành công và hiển thị công khai.

3. Ứng viên có thể nộp hồ sơ theo những cách nào? Đồ án mô tả hai hình thức: (1) Tạo CV trực tuyến trong hệ thống bằng cách nhập thông tin vào biểu mẫu rồi lưu lại (use-case "Tạo CV", Bảng 2.6); và (2) Upload CV từ thiết bị khi xem chi tiết bài đăng và nhấn "Ứng tuyển ngay" (use-case "Upload CV", Bảng 2.9).

4. Chức năng thống kê của Admin cung cấp thông tin gì và có thể lọc theo tiêu chí nào? Theo kịch bản use-case "Thống kê" (Bảng 2.11), Admin có thể chọn thông tin muốn thống kê kèm theo ngày bắt đầu và ngày kết thúc; hệ thống tính toán và hiển thị số liệu, hoặc hiển thị rỗng nếu không có dữ liệu. Giao diện thống kê (Hình 3.15) hiển thị số bài viết và số người dùng.

5. Công nghệ nào được sử dụng để xây dựng giao diện và tại sao Bootstrap được chọn? Giao diện sử dụng HTML, CSS và Bootstrap. Tác giả chọn Bootstrap vì framework này định nghĩa sẵn các class CSS, cung cấp đoạn mã giao diện có thể tái sử dụng, và đặc biệt hỗ trợ tính năng responsive cùng mobile-first — giúp website tự co giãn để tương thích với nhiều thiết bị từ điện thoại di động đến máy tính để bàn mà không cần viết nhiều CSS tùy chỉnh.


Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Thị Thanh Tuyền trình bày quá trình xây dựng hoàn chỉnh một website tìm kiếm và quản lý việc làm tập trung cho khu vực Đà Nẵng, sử dụng bộ công nghệ PHP, HTML, CSS, Bootstrap và MySQL. Hệ thống giải quyết nhu cầu thực tiễn của hai phía — người lao động cần tìm việc nhanh và nhà tuyển dụng cần tiếp cận nhân lực — thông qua bốn nhóm tài khoản phân quyền rõ ràng với các luồng nghiệp vụ được đặc tả bài bản bằng hệ thống biểu đồ UML và bảng scenario. Đồ án có giá trị tham khảo thực tiễn cho sinh viên CNTT tìm hiểu quy trình phân tích thiết kế hệ thống web ứng dụng từ giai đoạn yêu cầu đến triển khai giao diện, đồng thời đặt nền tảng cho hướng mở rộng phạm vi địa lý ra các tỉnh thành khác trong tương lai.