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

Lĩnh vực tuyển dụng và tìm kiếm việc làm trong ngành Công nghệ Thông tin (IT) tại Việt Nam đang có sự chuyển dịch mạnh mẽ sang các nền tảng trực tuyến. Thực trạng khảo sát cho thấy thị trường hiện diện nhiều hệ sinh thái việc làm tổng hợp như VietnamWorks, CareerBuilder, JobStreet, TimViecNhanh, MyWork, TopCV, cùng các cổng thông tin việc làm chuyên biệt cho ngành IT như ITviec và TechJobs. Mặc dù các hệ thống hiện có đã cung cấp nhiều tiện ích cơ bản (tìm kiếm theo vị trí, ngành nghề, kỹ năng, địa điểm, quản lý hồ sơ và đăng tin tuyển dụng), nhu cầu về một hệ thống tối ưu hóa quy trình kết nối chuyên sâu cho nhân lực IT, có khả năng quản lý chuyên môn và gợi ý hồ sơ phù hợp vẫn là bài toán thực tiễn quan trọng. Khóa luận tốt nghiệp kỹ sư ngành Công nghệ Thông tin của sinh viên Dương Văn Nam và Lê Trung Kiên (Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, niên khóa 2019 - 2023) tập trung giải quyết bài toán này thông qua việc xây dựng một hệ thống website tuyển dụng chuyên ngành.

Mục tiêu nghiên cứu được xác định cụ thể gồm hai nhiệm vụ trọng tâm:

  1. Phân tích yêu cầu và thiết kế hệ thống website giúp người dùng tìm kiếm việc làm và tra cứu thông tin doanh nghiệp, đồng thời hỗ trợ kết nối các nhà tuyển dụng với nguồn ứng viên tiềm năng.
  2. Tìm hiểu sâu về các công nghệ hiện đại bao gồm ReactJS kết hợp Spring Boot, từ đó áp dụng các công nghệ này vào việc xây dựng và triển khai toàn bộ hệ thống theo các yêu cầu chức năng và phi chức năng đã đề ra.

Nhiệm vụ nghiên cứu được phân rã thành ba nhóm phân hệ tương ứng với các đối tượng người dùng:

  • Nhiệm vụ đối với phân hệ Quản trị viên (Admin/Super Admin): Xây dựng các chức năng quản lý tài khoản quản trị; xét duyệt đơn đăng ký của doanh nghiệp; xem và chỉnh sửa thông tin người dùng; cấu hình các mẫu thư điện tử (email template); quản lý danh mục ngành nghề, chuyên ngành, kỹ năng và kiểm duyệt kỹ năng mới; kiểm duyệt tin tuyển dụng; quản lý thông tin dịch vụ, lịch sử giao dịch và theo dõi số liệu thống kê tổng thể về tin tuyển dụng, hồ sơ ứng tuyển, người dùng mới và doanh thu.
  • Nhiệm vụ đối với phân hệ Ứng viên (User/Candidate): Xây dựng tính năng xác thực thông qua tài khoản Google; quản lý và cập nhật hồ sơ cá nhân; tạo và xuất hồ sơ ra tệp tin định dạng PDF; tìm kiếm công việc và công ty theo nhiều tiêu chí; thực hiện quy trình ứng tuyển và theo dõi danh sách việc làm đã nộp đơn.
  • Nhiệm vụ đối với phân hệ Nhà tuyển dụng (HR): Xây dựng tính năng đăng ký và đăng nhập tài khoản; quản lý và cập nhật thông tin doanh nghiệp; nâng cấp gói dịch vụ hội viên (Premium); quản lý tin tuyển dụng (thêm, sửa, xóa); tra cứu, tìm kiếm và xét duyệt hồ sơ ứng viên; xuất danh sách ứng viên ra tệp Excel; quản lý số dư tài khoản, lịch sử giao dịch và theo dõi số liệu thống kê đơn ứng tuyển.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ của các hệ thống tìm việc và tuyển dụng trực tuyến; nền tảng công nghệ front-end ReactJS và back-end Spring framework (Spring Boot).
  • Phạm vi nghiên cứu: Ứng dụng tập trung cho thị trường tuyển dụng nhân lực IT. Thời gian thực hiện đồ án kéo dài trong 17 tuần (từ ngày 06/03/2023 đến ngày 07/07/2023) tại Bộ môn Công nghệ Phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh dưới sự hướng dẫn của ThS. Nguyễn Minh Đạo.

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

Khóa luận được xây dựng dựa trên các cơ sở kỹ thuật phần mềm chuẩn mực, bao gồm mô hình kiến trúc đa tầng và các công nghệ phát triển ứng dụng web hiện đại:

Thành phần kiến trúc Công nghệ sử dụng Vai trò và đặc tính kỹ thuật
Front-end ReactJS, Redux Toolkit, RTK Query, React Router Xây dựng giao diện người dùng đơn trang (SPA) dựa trên component tái sử dụng; quản lý trạng thái tập trung; xử lý bất đồng bộ và nạp dữ liệu (data fetching); điều hướng đồng bộ URL qua DOM ảo
Back-end Spring Boot (Spring Framework) Xây dựng dịch vụ back-end độc lập; nhúng trực tiếp web server (Tomcat, Jetty hoặc Undertow); quản lý cấu hình tự động và dependencies qua Maven starter
Database MySQL Hệ quản trị cơ sở dữ liệu quan hệ đảm bảo lưu trữ toàn vẹn thông tin người dùng, hồ sơ, tin tuyển dụng và giao dịch

Về mô hình tổ chức, hệ thống áp dụng kiến trúc 3 lớp (3-tier architecture) chặt chẽ ở phía back-end:

  • Tầng giao diện / điều phối (Presentation Layer - Controller): Tiếp nhận các yêu cầu HTTP (HTTP Request) từ front-end, thực hiện ánh xạ định tuyến (URL mapping) và chuyển tiếp dữ liệu đến các phương thức xử lý nghiệp vụ tương ứng, sau đó phản hồi kết quả về máy khách dưới dạng HTTP Response.
  • Tầng xử lý nghiệp vụ (Business Logic Layer - Service): Chứa toàn bộ các quy tắc nghiệp vụ, logic tính toán, xử lý dữ liệu trung gian trước khi chuyển tiếp dữ liệu ra tầng Presentation hoặc lưu trữ xuống cơ sở dữ liệu.
  • Tầng truy cập dữ liệu (Data Access Layer - Repository): Đảm nhiệm việc kết nối trực tiếp với cơ sở dữ liệu MySQL, thực thi các truy vấn và chuyển đổi dữ liệu thành các đối tượng nghiệp vụ.

Phương pháp nghiên cứu được nhóm tác giả triển khai kết hợp qua ba hình thức:

  • Phương pháp nghiên cứu tài liệu kỹ thuật: Khảo sát, phân tích các tài liệu chuẩn (documentation) của thư viện ReactJS, hệ sinh thái Spring framework, Redux Toolkit và cơ chế cấu hình tự động của Spring Boot.
  • Phương pháp khảo sát và phân tích thực nghiệm: Trải nghiệm, phân tích ưu nhược điểm từ các hệ thống tuyển dụng trực tuyến đang vận hành tại Việt Nam nhằm rút trích bộ yêu cầu người dùng điển hình.
  • Phương pháp học tập và phát triển theo dự án (Project-based learning): Vận dụng quy trình phát triển phần mềm chuẩn mực từ khâu thu thập yêu cầu, đặc tả ca sử dụng (use case), thiết kế sơ đồ tuần tự (sequence diagram), thiết kế cơ sở dữ liệu, lập trình thực thi đến kiểm thử và đóng gói.

Nguồn dữ liệu của nghiên cứu bao gồm bộ tài liệu đặc tả yêu cầu người dùng, thông tin danh mục ngành nghề, chuyên môn, kỹ năng IT thực tế và bộ dữ liệu kiểm thử được thiết lập cho 15 kịch bản kiểm thử chức năng.

Thiết kế và triển khai

Hệ thống được thiết kế hoàn chỉnh theo quy trình công nghệ phần mềm từ mô hình kiến trúc, biểu đồ tương tác đến giao diện chi tiết:

Kiến trúc phân tầng và luồng dữ liệu

Hệ thống vận hành theo mô hình Client-Server độc lập. Máy khách (Front-end) giao tiếp với máy chủ (Back-end) thông qua giao thức HTTP RESTful API. Phía front-end sử dụng Redux Toolkit Query (RTK Query) để quản lý bộ nhớ đệm và tối ưu hóa các thao tác nạp dữ liệu từ máy chủ. Ở phía máy chủ, luồng dữ liệu di chuyển tuần tự: Request -> Controller -> Service -> Repository -> Database MySQL -> Phản hồi ngược lại Controller -> Response JSON -> Front-end cập nhật giao diện thông qua Virtual DOM của ReactJS.

Thiết kế Usecase và hành vi hệ thống

Hệ thống phân tách quyền hạn rõ rệt giữa hai phân hệ lớn:

  • Phân hệ Admin: Bao gồm các tác nhân ADMIN và SUPER_ADMIN. SUPER_ADMIN nắm toàn quyền quản lý danh sách các quản trị viên khác (thêm mới, đổi thông tin, đổi mật khẩu, vô hiệu hóa). Cả hai nhóm quản trị đều có quyền quản lý công ty, phê duyệt đơn đăng ký doanh nghiệp, vô hiệu hóa người dùng, thiết lập cấu hình trang web (setting name, value), quản lý mẫu email (email name, content), kiểm duyệt tin tuyển dụng, và quản lý cây danh mục nghề nghiệp gồm: Nhóm ngành (Major) -> Chuyên ngành (Specialization) -> Kỹ năng (Skill).
  • Phân hệ Client: Phục vụ ba nhóm tác nhân gồm VISITOR (khách vãng lai chưa đăng nhập), USER (ứng viên tìm việc đã đăng ký/đăng nhập qua Google) và HR (nhà tuyển dụng đại diện doanh nghiệp). Điểm nhấn kỹ thuật trong thiết kế luồng hành vi của phân hệ này là quy trình gợi ý hồ sơ: khi nhà tuyển dụng nâng cấp lên tài khoản PREMIUM, hệ thống cho phép kích hoạt use case "Xem CV tương thích với công việc", trong đó hệ thống tự động đối sánh kỹ năng yêu cầu trong tin tuyển dụng với kỹ năng của ứng viên để đưa ra danh sách đề xuất.

Thiết kế giao diện và cơ sở dữ liệu

Hệ thống được thiết kế giao diện trực quan và phân tách theo vai trò:

  • Giao diện Admin: Bao gồm trang quản lý quản trị viên, quản lý công ty, quản lý người dùng, quản lý mẫu email, quản lý kỹ năng, quản lý tin tuyển dụng và theo dõi lịch sử giao dịch giữa các công ty.
  • Giao diện HR: Bao gồm trang quản lý thông tin doanh nghiệp (profile, logo), giao diện đăng tin tuyển dụng, trang quản lý hồ sơ ứng viên, trang tìm kiếm ứng viên nâng cao và giao diện tích hợp nạp tiền/thanh toán.
  • Giao diện Người dùng/Ứng viên: Giao diện trang chủ, trang tìm kiếm công việc (lọc theo từ khóa, địa điểm, công ty), trang chi tiết việc làm, trang thông tin công ty, khu vực quản lý hồ sơ cá nhân và quản lý danh sách các công việc đã nộp đơn.

Cơ sở dữ liệu được mô hình hóa qua sơ đồ quan hệ thực thể và Class Diagram hoàn chỉnh, đảm bảo tính toàn vẹn dữ liệu cho các thực thể người dùng, công ty, tin tuyển dụng, hồ sơ cá nhân, kỹ năng, chuyên ngành và giao dịch tài chính.

Kiểm thử và cài đặt hệ thống

Khóa luận xác định rõ phạm vi kiểm thử chức năng tập trung vào 15 ca kiểm thử chính thông qua các bảng testcase (từ Bảng 48 đến Bảng 62):

  1. Kiểm thử chức năng nhà tuyển dụng tạo hồ sơ và đăng ký tài khoản.
  2. Kiểm thử chức năng quản trị viên xét duyệt đơn đăng ký của nhà tuyển dụng.
  3. Kiểm thử chức năng nhà tuyển dụng đăng nhập hệ thống.
  4. Kiểm thử chức năng nhà tuyển dụng cập nhật hồ sơ doanh nghiệp.
  5. Kiểm thử chức năng nhà tuyển dụng nạp tiền vào tài khoản.
  6. Kiểm thử chức năng nhà tuyển dụng khởi tạo và đăng tin tuyển dụng.
  7. Kiểm thử chức năng quản trị viên phê duyệt tin tuyển dụng.
  8. Kiểm thử chức năng ứng viên đăng nhập (xác thực Google).
  9. Kiểm thử chức năng ứng viên cập nhật thông tin cá nhân và hồ sơ kỹ năng.
  10. Kiểm thử chức năng ứng viên nộp hồ sơ ứng tuyển trực tuyến.
  11. Kiểm thử chức năng nhà tuyển dụng tiếp nhận và xét duyệt hồ sơ ứng viên.
  12. Kiểm thử chức năng nhà tuyển dụng quản lý và tra cứu lịch sử giao dịch.
  13. Kiểm thử chức năng nhà tuyển dụng xem thống kê đơn ứng tuyển.
  14. Kiểm thử chức năng quản trị viên quản lý lịch sử giao dịch toàn hệ thống.
  15. Kiểm thử chức năng quản trị viên xem báo cáo số liệu thống kê.

Quy trình cài đặt hệ thống được lập thành tài liệu hướng dẫn cụ thể cho cả môi trường máy chủ (Server Spring Boot cấu hình qua Maven) và hai môi trường máy khách riêng biệt: Client dành cho quản trị viên và Client dành cho ứng viên cùng nhà tuyển dụng.

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

CHƯƠNG 1: MỞ ĐẦU

Chương mở đầu tập trung trình bày mục đích nghiên cứu, xác định đối tượng và phương pháp nghiên cứu dựa trên định hướng Project-based learning. Tác giả thực hiện khảo sát toàn diện thực trạng các website tuyển dụng đang hoạt động tại Việt Nam, chỉ ra các tính năng chung cũng như xu hướng ứng dụng công nghệ di động và trí tuệ nhân tạo. Chương 1 kết thúc bằng việc thiết lập khung kết quả dự kiến đạt được, phân định chi tiết thành hệ thống yêu cầu chức năng (cho ba tác nhân Admin, Nhà tuyển dụng, Người tìm việc) và các yêu cầu phi chức năng về tính thẩm mỹ, độ ổn định, tính tiện lợi, độ an toàn và khả năng mở rộng bảo trì của phần mềm.

CHƯƠNG 2: TÌM HIỂU CÔNG NGHỆ

Chương này đi sâu vào phân tích cơ sở công nghệ và kiến trúc phần mềm được lựa chọn cho đồ án. Tác giả trình bày chi tiết kiến trúc tổng thể 3 thành phần (Front-end, Back-end, Database), phân tích cơ chế vận hành của ReactJS với các thành phần cốt lõi: React Router, cấu trúc Component tái sử dụng, kiến trúc quản lý trạng thái tập trung Redux Toolkit kết hợp cơ chế xử lý API tự động với RTK Query. Đồng thời, chương 2 làm rõ cấu trúc 3 tầng của Spring Boot (Presentation - Business Logic - Data Access), ưu thế của việc nhúng trực tiếp web server (Tomcat/Jetty/Undertow), cơ chế quản lý thư viện thông qua Maven starter dependencies và khả năng tự động cấu hình không phụ thuộc XML.

CHƯƠNG 3: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ HỆ THỐNG

Đây là chương có dung lượng lớn nhất trong khóa luận, thể hiện toàn bộ quy trình thiết kế công nghệ phần mềm:

  • Đặc tả yêu cầu chi tiết cho hai phân vùng Module Admin và Module Client thông qua use case tổng quát.
  • Xây dựng 47 bảng đặc tả use case chi tiết (từ Bảng 1 đến Bảng 47), mô tả đầy đủ tên ca sử dụng, tóm tắt, tác nhân, điều kiện tiên quyết, điều kiện sau, luồng sự kiện chính (Basic flow) và các luồng ngoại lệ/thay thế (Exception/Alternative flow) cho mọi chức năng: đăng nhập, quản lý admin, quản lý công ty, cấu hình hệ thống, quản lý email template, danh mục nhóm ngành - chuyên ngành - kỹ năng, tìm kiếm việc làm, đăng tin, ứng tuyển và gợi ý CV tương thích.
  • Xây dựng hệ thống 19 sơ đồ tuần tự (Sequence Diagram từ Hình 6 đến Hình 24), mô hình hóa luồng thông điệp giữa Actor, Front-end, Controller, Service và Repository cho các tác vụ quan trọng.
  • Trình bày sơ đồ lớp tổng thể (Class Diagram) và sơ đồ thiết kế cơ sở dữ liệu quan hệ (Hình 25, Hình 26).
  • Thiết kế chi tiết hệ thống giao diện người dùng qua 21 bản vẽ giao diện (Hình 27 đến Hình 47), phân định rõ ràng giữa các màn hình quản trị, màn hình nghiệp vụ HR và cổng tương tác dành cho ứng viên.

CHƯƠNG 4: CÀI ĐẶT & KIỂM THỬ HỆ THỐNG

Nội dung chương 4 thể hiện việc hiện thực hóa mô hình thiết kế vào thực tế lập trình và kiểm định chất lượng:

  • Xác định phạm vi kiểm thử chức năng của ứng dụng.
  • Lập bảng thiết kế testcase và ghi nhận kết quả thực nghiệm chi tiết cho 15 quy trình nghiệp vụ cốt lõi (từ Bảng 48 đến Bảng 62), bao quát từ khâu đăng ký tài khoản, nạp tiền, xét duyệt tin tuyển dụng, nộp hồ sơ đến các chức năng thống kê báo cáo.
  • Cung cấp tài liệu hướng dẫn cài đặt và triển khai hệ thống: liệt kê các phần mềm tiền đề, hướng dẫn biên dịch và khởi chạy server Spring Boot, hướng dẫn cài đặt và chạy ứng dụng client cho quản trị viên, hướng dẫn cài đặt client cho ứng viên và nhà tuyển dụng.

CHƯƠNG 5: KẾT LUẬN

Chương cuối cùng tổng kết toàn bộ quá trình 17 tuần thực hiện khóa luận tốt nghiệp. Tác giả đối chiếu kết quả thực tế đạt được so với mục tiêu và bản đề cương ban đầu, đánh giá khách quan các ưu điểm nổi bật của hệ thống website, chỉ ra những điểm hạn chế kỹ thuật còn tồn đọng trong quá trình xây dựng, đồng thời vạch ra các định hướng nghiên cứu và nâng cấp sản phẩm trong tương lai.

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

Khóa luận đã hoàn thành các mục tiêu đề ra theo kế hoạch 17 tuần với những kết quả cụ thể:

Kết quả triển khai thực tế

  • Hoàn thiện hệ thống website tuyển dụng chuyên biệt cho ngành IT với cấu trúc phân tầng hoàn chỉnh, kết hợp giữa ReactJS và Spring Boot, sử dụng MySQL làm hệ quản trị cơ sở dữ liệu.
  • Hiện thực hóa đầy đủ 3 phân hệ chức năng độc lập:
    • Phân hệ Admin: Kiểm soát toàn bộ hệ thống quản trị, hỗ trợ phân quyền giữa Admin và Super Admin, quản lý hệ thống danh mục đa cấp (nhóm ngành, chuyên ngành, kỹ năng), quản lý mẫu email thông báo và theo dõi dòng tiền qua lịch sử giao dịch.
    • Phân hệ Nhà tuyển dụng: Cung cấp đầy đủ công cụ quản lý tin tuyển dụng, xét duyệt ứng viên, xuất dữ liệu ứng viên ra tệp Excel, tích hợp cơ chế nạp tiền và gói dịch vụ nâng cao.
    • Phân hệ Ứng viên: Cung cấp công cụ tìm kiếm và lọc việc làm, hỗ trợ đăng nhập nhanh bằng Google, quản lý hồ sơ kỹ năng và cho phép xuất CV trực tiếp ra định dạng PDF.
  • Kiểm thử thành công 15 ca chức năng lớn từ Bảng 48 đến Bảng 62, đảm bảo hệ thống vận hành chính xác theo đúng các đặc tả luồng cơ bản và xử lý tốt các luồng lỗi ngoại lệ (trùng tên đăng nhập, sai định dạng mật khẩu, trùng tên công ty hoặc lỗi máy chủ).

Giải pháp và tính năng đề xuất nổi bật

  • Đề xuất mô hình phân cấp kỹ năng và ngành nghề chuyên sâu: Tách biệt rõ ràng giữa Nhóm ngành (Major) -> Chuyên ngành (Specialization) -> Kỹ năng (Skill), kết hợp cơ chế kiểm duyệt kỹ năng mới do nhà tuyển dụng hoặc ứng viên đề xuất nhằm làm giàu kho dữ liệu hệ thống mà vẫn giữ được tính chuẩn hóa.
  • Tích hợp tính năng đối sánh và gợi ý hồ sơ ứng viên tương thích (Matching CV): Xây dựng tính năng tự động đề xuất các CV phù hợp với yêu cầu công việc cho các tài khoản nhà tuyển dụng nâng cấp gói Premium, giúp rút ngắn thời gian sàng lọc ứng viên.
  • Cơ chế quản lý tài chính và dịch vụ: Xây dựng chức năng quản lý số dư (account balance), nạp tiền và ghi nhận lịch sử giao dịch dịch vụ cho từng doanh nghiệp.

Đóng góp về mặt kỹ thuật

  • Cung cấp tài liệu phân tích thiết kế phần mềm chi tiết, chuẩn mực với 47 bảng đặc tả use case, 19 sơ đồ tuần tự và hệ thống sơ đồ cơ sở dữ liệu, sơ đồ lớp đầy đủ.
  • Hiện thực hóa thành công việc ứng dụng Redux Toolkit Query (RTK Query) trong việc tối ưu hóa luồng dữ liệu front-end và áp dụng mô hình 3 lớp chuẩn mực trong Spring Boot để giải quyết bài toán tuyển dụng IT trực tuyến.

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

Dựa trên các nội dung được nhóm tác giả trình bày trong phần đánh giá ưu nhược điểm và phạm vi thực hiện của đề tài:

Hạn chế còn tồn đọng

  • Khóa luận được hoàn thành trong khung thời gian giới hạn 17 tuần bởi hai sinh viên, do đó phạm vi nghiên cứu và triển khai mới dừng lại ở phiên bản ứng dụng web, chưa xây dựng phiên bản ứng dụng di động hoàn chỉnh để đáp ứng đầy đủ xu hướng thị trường như đã khảo sát tại Chương 1.
  • Cơ chế gợi ý ứng viên tương thích cho tin tuyển dụng (tính năng dành cho tài khoản Premium) mới dừng lại ở mức so sánh độ trùng khớp kỹ năng dựa trên luật logic nghiệp vụ, chưa tích hợp sâu các thuật toán học máy hoặc trí tuệ nhân tạo để phân tích ngữ nghĩa của CV.
  • Việc hỗ trợ thanh toán nạp tiền và quản lý giao dịch mới được cài đặt ở mức độ mô phỏng số dư nghiệp vụ nội bộ, chưa tích hợp trực tiếp các cổng thanh toán điện tử trực tuyến bên thứ ba.

Hướng phát triển trong tương lai

  • Nghiên cứu và tích hợp các thuật toán trí tuệ nhân tạo (AI/Machine Learning) nhằm nâng cấp tính năng tự động phân tích CV, trích xuất dữ liệu tự động từ các tệp CV mẫu và tối ưu hóa độ chính xác của thuật toán gợi ý ứng viên tương thích cho nhà tuyển dụng.
  • Mở rộng nền tảng bằng việc phát triển thêm phiên bản ứng dụng di động (Mobile Application) đồng bộ với hệ thống máy chủ hiện tại nhằm nâng cao trải nghiệm người dùng.
  • Tích hợp các cổng thanh toán trực tuyến tiêu chuẩn nhằm tự động hóa quy trình nạp tiền và kích hoạt các gói dịch vụ hội viên Premium cho nhà tuyển dụng.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp này là nguồn tài liệu kỹ thuật có giá trị tham khảo thực tiễn cao cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm: Đồ án là một mẫu hình hoàn chỉnh về quy trình xây dựng đồ án tốt nghiệp kỹ sư, từ cách lập đề cương, phân bổ tiến độ theo tuần (17 tuần), khảo sát thực trạng đến các bước phân tích thiết kế phần mềm chuẩn mực.
  • Lập trình viên đang nghiên cứu phát triển hệ thống web với công nghệ ReactJS và Spring Boot: Khóa luận trình bày rõ ràng cách tổ chức kiến trúc front-end với Redux Toolkit / RTK Query và cách phân chia 3 tầng nghiệp vụ chuẩn (Controller - Service - Repository) trong Spring Boot.
  • Những người nghiên cứu và xây dựng hệ thống tuyển dụng trực tuyến: Cung cấp bộ 47 bảng đặc tả use case chi tiết và hệ thống sơ đồ cơ sở dữ liệu quan hệ hoàn chỉnh về quy trình tuyển dụng, quản lý hồ sơ ứng viên, xét duyệt tin tuyển dụng và phân quyền người dùng.

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

1. Khóa luận do ai thực hiện, thuộc đơn vị đào tạo nào và thời gian hoàn thành trong bao lâu?
Khóa luận do hai sinh viên Dương Văn Nam (MSSV: 19110400) và Lê Trung Kiên (MSSV: 19110383) thực hiện tại Bộ môn Công nghệ Phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Minh Đạo. Thời gian thực hiện đồ án là 17 tuần, từ ngày 06/03/2023 đến ngày 07/07/2023.

2. Hệ thống website được xây dựng dựa trên những công nghệ và kiến trúc nền tảng nào?
Hệ thống sử dụng kiến trúc phân tầng Client-Server tách biệt: Front-end được xây dựng bằng ReactJS kết hợp Redux Toolkit, RTK Query và React Router; Back-end phát triển bằng Spring Boot (hệ sinh thái Spring Framework) theo mô hình 3 lớp (Presentation Layer, Business Logic Layer, Data Access Layer) quản lý qua Maven; Cơ sở dữ liệu sử dụng MySQL.

3. Hệ thống phân chia các vai trò người dùng như thế nào và mỗi vai trò có đặc quyền gì chính?
Hệ thống phân chia thành 3 nhóm đối tượng chính:

  • Quản trị viên (Admin và Super Admin): Quản lý tài khoản quản trị, duyệt đơn đăng ký doanh nghiệp, vô hiệu hóa tài khoản, quản lý danh mục ngành nghề/chuyên ngành/kỹ năng, duyệt tin tuyển dụng, cấu hình mẫu email và xem thống kê doanh thu.
  • Nhà tuyển dụng (HR): Đăng ký tài khoản, cập nhật hồ sơ công ty, đăng tin tuyển dụng, xét duyệt ứng viên, xuất file Excel danh sách ứng viên, nạp tiền và sử dụng tính năng đề xuất CV (đối với gói Premium).
  • Ứng viên (User/Candidate): Đăng nhập qua Google, quản lý CV cá nhân, xuất CV ra file PDF, tìm kiếm việc làm/công ty và ứng tuyển trực tuyến.

4. Điểm khác biệt giữa tài khoản Nhà tuyển dụng thông thường và tài khoản nâng cấp Premium là gì?
Theo đặc tả use case của hệ thống, khi nhà tuyển dụng nâng cấp tài khoản lên gói hội viên Premium, họ được cấp quyền sử dụng các tính năng nâng cao bao gồm: xem danh sách và chi tiết các CV do hệ thống tự động gợi ý dựa trên độ tương thích kỹ năng với tin tuyển dụng, đồng thời được phép tìm kiếm hồ sơ ứng viên dựa trên từ khóa và kỹ năng chuyên sâu.

5. Khóa luận đã thực hiện kiểm thử những nội dung nào để đánh giá tính đúng đắn của phần mềm?
Khóa luận đã thiết kế và thực hiện kiểm thử chức năng cho 15 kịch bản nghiệp vụ chính (từ Bảng 48 đến Bảng 62), bao gồm việc kiểm tra tính hợp lệ của dữ liệu đầu vào, các thông báo lỗi khi trùng dữ liệu hoặc sai điều kiện, quy trình xét duyệt của Admin, quy trình nạp tiền và đăng tin của HR, quy trình nộp đơn của ứng viên và các chức năng thống kê báo cáo số liệu.

Kết luận

Khóa luận tốt nghiệp "Xây dựng website hỗ trợ tuyển dụng và tìm việc làm cho ngành IT" của sinh viên Dương Văn Nam và Lê Trung Kiên đã hoàn thành đầy đủ mục tiêu thiết kế và cài đặt một hệ sinh thái tuyển dụng chuyên ngành. Bằng việc kết hợp hiệu quả giữa thư viện ReactJS ở phía máy khách và nền tảng Spring Boot ở phía máy chủ cùng hệ quản trị cơ sở dữ liệu MySQL, đồ án đã giải quyết tốt các bài toán nghiệp vụ từ quản lý danh mục kỹ năng, kiểm duyệt tin đăng đến tự động hóa gợi ý hồ sơ ứng viên. Báo cáo khóa luận cung cấp hệ thống tài liệu phân tích thiết kế phần mềm chi tiết, có giá trị học thuật và ứng dụng thực tiễn cao cho sinh viên và kỹ sư phần mềm chuyên ngành Công nghệ thông tin.