Với đề tài “Xây dựng website tổng hợp thông tin và ứng tuyển việc làm cho sinh viên IT newsCV.tech”, nhóm chúng em đã đưa lên trang web những thông tin về việc làm của mảng công nghệ thông tin, từ đó sinh viên có thể tham khảo để tìm kiếm việc làm phù hợp với chính mình cũng như là để các doanh nghiệp có thể đăng tin tuyển dụng phù hợp với nhu cầu của công ty, cùng với đó là những tính năng cực hữu ích giúp cho ứng viên và doanh nghiệp dễ dàng kết nối với nhau.
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
Đềtài:
XÂY DỰNG WEBSITE TỔNG HỢP TIN TỨC VÀ ỨNG
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN THS MAI ANH THƠ
Trang 2Ngành: Công nghệThông tin
2 Ưu điểm
3 Khuyết điểm
4 Đềnghịcho bảo vệhay không
5 Đánh giá loại
6 Điểm
TP HồChí Minh, ngày … tháng … năm
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 3Ngành: Công nghệThông tin
Tên đề tài:Xây dựng website tổng hợp tin tức và ứng tuyển việc làm cho sinh viên
2 Ưu điểm
3 Khuyết điểm
4 Đềnghịcho bảo vệ hay không
5 Đánh giá loại
6 Điểm
TP HồChí Minh, ngày … tháng … năm
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 4LỜI CẢM ƠN
Lời đầu tiên, cho phép nhóm thực hiện đề tài được gửi lời cảm ơn đến Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, đã tạo điều kiện cho sinh viên chúng em được học tập, trau dồi và tích lũy nền tảng kiến thức vững chắc, phục vụ cho quá trình thực hiện đề tài này
Bên cạnh đó, nhóm xin gửi lời cảm ơn chân thành và sâu sắc nhất đến ThS Mai Anh Thơ – giáo viên hướng dẫn nhóm thực hiện Khóa luận tốt nghiệp Trong suốt quá trình thực hiện đề tài, cô đã tận tâm chỉ bảo nhiệt tình, kịp thời góp ý, sửa chữa để giúp nhóm hoàn thiện hơn
Tuy nhiên, vì kiến thức là vô tận Đồng thời với các lý do khách quan như giới hạn về mặt thời gian, số lượng công việc cần phải thực hiện là tương đối lớn đối với nhóm 2 người Chính vì vậy, việc xảy ra những thiếu sót là điều khó có thể tránh khỏi Nhóm hi vọng nhận được sự góp ý tận tình của quý thầy (cô), để từ đó có thể hoàn thiện đề tài một cách tốt nhất có thể
Xin chân thành cảm ơn!
Trang 5
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP
Chuyên ngành: Công nghệ phần mềm
Tên luận văn: Xây dựng website tổng hợp tin tức và ứng tuyển việc làm cho sinh viên IT.
Giảng viên hướng dẫn: ThS Mai Anh Thơ
Nhiệm vụ của luận văn:
1 Lý thuyết:
Tìm hiểu các công nghệ: Spring Boot, RESTful API, JSON Web Token, Angular, Typescript, HTML, SCSS, MySQL
2 Thực hành:
+ Sửdụng RESTful API, Spring Boot để viết API và gửi dữliệu vềFrontEnd
+ Sửdụng MySQL đểlưu trữdữliệu
+ Sử dụng JWT để xác thực và ủy quyền cho hệ thống API hoạt động có phân quyền một cách rõ ràng
+ Sửdụng Angular Framework và HTML, SCSS để thiết kế và xửlý giao diện cho người dùng cũng như tương tác với dữliệu
+ Sửdụng Dependency Injection đểgiảm sựphụthuộc giữa các class với nhau
Đềcương viết luận văn:
Trang 6CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
1.2 Mục tiêu
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG
2.1 Phân tích đánh giá các công trình
2.2 Kinh nghiệm rút ra
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Yêu cầu chức năng hệ thống
3.2 Yêu cầu chức năng nghiệp vụ
3.3 Danh sách yêu cầu chức năng nghiệp vụ
3.4 Danh sách yêu cầu chức năng hệ thống
3.5 Danh sách yêu cầu phi chức năng
3.6 Các Actor của hệ thống
3.7 Các Use Case chính của hệ thống
3.8 Các Sequence Diagram chính của hệ thống
Trang 77.2 Ưu điểm
7.3 Nhược điểm7.4 Hướng phát triển
Trang 8STT Thời gian Công việc Ghi chú
+ Thiết kế cơ sở dữ liệu
+ Thiết kế usecase
Bắt đầu tiểu luận chuyên
ngành
MySQL + Tìm hiểu về Angular, Typescript, HTML, SCSS
+ Tìm hiểu về AWS và Azure
+ Cách deploy trang web
+ Tìm hiểu về JSON WEB TOKEN
+ Tìm hiểu các xây dựng RESTful API
+ Tiến hành codebase của
dự án bao gồm front-end
và back-end
+ Tìm hiểu các design pattern
Trang 9phần cần thêm, bảo dưỡng trong dự án
Bắt đầu khóa luận tốt nghiệp
giáo viên + Bảo trì lại code ở TLCN + Thiết kế lại giao diện
backend + Tiến hành design giao diện cho Front end
12 + Lắp ráp, kiểm thử hệ
thống, tiến hành sửa lỗi
+ Thực hiện test project sau khi thực hiện xong các chức năng
Trang 10MỤC LỤC
LỜI CẢM ƠN 1-3
Chương 1: Giới thiệu về đề tài 1
1.1.Tổng quan về đề tài 1
1.2.Lý do chọn đề tài 1
1.3.Mục tiêu của đề tài 2
Chương 2: Khảo sát hiện trạng 3
2.1.Phân tích đánh giá các công trình 3
2.1.1 Careerbuilder 3
2.1.2 Itviec 4
2.1.3 TopCV 5
2.1.4 ItNavi 6
2.1.5 Ybox 7
2.2.Kinh nghiệm rút ra 8
Chương 3: Phân tích thiết kế hệ thống 9
3.1.Yêu cầu chức năng hệ thống 9
3.1.1 Các nghiệp vụ của hệ thống 9
3.1.1.1 Nghiệp vụ của người sử dụng 9
3.1.1.2 Nghiệp vụ của nhà tuyển dụng 9
3.1.1.3 Nghiệp vụ của quản trị viên hệ thống 9
3.1.2 Yêu cầu chức năng 9
3.1.3 Yêu cầu phi chức năng 11
3.2.Yêu cầu chức năng nghiệp vụ 11
Trang 113.4.Danh sách yêu cầu chức năng hệ thống 15
3.5.Danh sách yêu cầu phi chức năng 15
3.6.Các Actor của hệ thống 17
3.7.Các Use Case chính của hệ thống 18
3.7.1 Use case tổng quát 18
3.7.2 Tác nhân “Khách” 19
3.7.3 Tác nhân “Người dùng” 27
3.7.4 Tác nhân “Quản trị viên công ty” 37
3.7.5 Tác nhân “Quản trị viên hệ thống” 44
3.8.Các Sequence Diagram chính của hệ thống 49
3.8.1 Sơ đồ tuần tự quá trình đăng nhập 49
3.8.2 Sơ đồ tuần tự quá trình tìm kiếm công việc 49
3.8.3 Sơ đồ tuần tự quá trình ứng tuyển 49
3.8.4 Sơ đồ tuần tự quá trình đăng hoặc update bài viết 50
3.9.Class Diagram 51
3.9.1 Class User 52
3.9.2 Class Application 53
3.9.3 Class Role 53
3.9.4 Class News 54
3.9.5 Class ScholarshipNews 55
3.9.6 Class EventNews 55
3.9.7 Class ContestNews 55
3.9.8 Class Comment 56
Trang 123.9.10.Class JobNews 57
3.9.11.Class Company 58
3.9.12.Class CV 58
3.9.13.Class PositionJob 58
3.9.14.Class AutoJob 59
3.9.15.Class Subcription 60
3.9.16.Class Advertisement 60
3.9.17.Class SubscriptionHistory 61
3.9.18.Class TransactionHistory 61
3.9.19.Class InterviewSchedule 62
Chương 4: Kiến tRúc hệ thống 65
4.1.Kiến trúc của hệ thống 65
4.1.1 Mô hình tổng thể kiến trúc chung 65
4.1.2 Khái quát công nghệ sử dụng 65
4.2.Các công nghệ sử dụng 65
4.2.1 Front-end 65
4.2.2 Back-end 66
4.2.3 Database 67
4.2.4 Deploy 68
4.2.5 Các công nghệ khác 68
4.3.Database Diagram 69
Chương 5: Giao diện ứng dụng 70
5.1.Giao diện đăng nhập 70
Trang 135.3.Giao diện trang chủ 71
5.4.Giao diện danh sách công ty 72
5.5.Giao diện chi tiết công ty 73
5.6.Giao diện thêm công ty 73
5.7.Giao diện danh sách tin tuyển dụng 74
5.8.Giao diện chi tiết tin tuyển dụng 75
5.9.Giao diện thêm tin tuyển dụng 75
5.10 Giao diện chỉnh sửa tin tuyển dụng 76
5.11 Giao diện danh sách tin học bổng 77
5.12 Giao diện chi tiết tin học bổng 77
5.13 Giao diện thêm tin học bổng 78
5.14 Giao diện chỉnh sửa tin học bổng 79
5.15 Giao diện danh sách tin sự kiện 79
5.16 Giao diện chi tiết tin sự kiện 80
5.17 Giao diện thêm tin sự kiện 81
5.18 Giao diện chỉnh sửa tin sự kiện 81
5.19 Giao diện danh sách tin cuộc thi 82
5.20 Giao diện chi tiết tin cuộc thi 82
5.21 Giao diện thêm tin cuộc thi 83
5.22 Giao diện chỉnh sửa tin cuộc thi 84
5.23 Giao diện quản trị của tài khoản công ty 84
5.24 Giao diện quản trị của tài khoản admin 85
5.24.1.Giao diện thống kê chung 85
Trang 145.24.3.Giao diện thống kê tin tức học bổng 87
5.24.4.Giao diện thống kê tin tức cuộc thi 88
5.24.5.Giao diện thống kê tin tức sự kiện 89
5.24.6.Giao diện thống kê tin tức tuyển dụng 90
5.25 Giao diện thông tin cá nhân 91
5.26 Giao diện đăng nhập với trang web dành cho doanh nghiệp 92
5.27 Giao diện đăng ký cho doanh nghiệp 93
5.28 Giao diện trang chủ cho trang doanh nghiệp 94
5.29 Giao diện các gói đăng ký 95
5.30 Giao diện đăng ký gói 96
5.31 Giao diện thanh toán gói 97
5.32 Giao diện thống kê dành cho doanh nghiệp 98
5.33 Giao diện xem lịch trình phỏng vấn 99
5.34 Giao diện quy trình tạo cuộc phỏng vấn 100
5.35 Giao diện thống kê cho admin với trang web cho doanh nghiệp 102
Chương 6: KIỂM THỬ PHẦN MỀM 104
6.1.Kiểm thử hộp trắng 104
6.1.1 Kiểm thử đơn vị code: ChangePasswordForForget 104
6.1.2 Kiểm thử đơn vị code: registerUser 114
6.1.3 Kiểm thử đơn vị code: AdminCustomerController method doPost 128
6.2.Kiểm thử hộp đen 139
Chương 7: KẾT LUẬN 142
7.1 Kết quả đạt được 142
Trang 157.3 Nhược điểm 142
7.4 Hướng phát triển 142
TÀI LIỆU THAM KHẢO 144
Trang 16DANH SÁCH HÌNH ẢNH
Hình 2.1: Trang web careerbuilder 3
Hình 2.2: Trang web itviec 4
Hình 2.3: Trang web topCV 5
Hình 2.4: Trang web ItNavi 6
Hình 2.5: Trang web Ybox 7
Hình 3.1: Use case tổng quát 18
Hình 3.2: Use case của tác nhân Khách 19
Hình 3.3: Use case các chức năng của người dùng 27
Hình 3.4: Use case của quản trị viên công ty 37
Hình 3.5: Use case của tác nhân quản trị viên hệ thống 44
Hình 3.6: Sơ đồ tuần tự quá trình đăng nhập 49
Hình 3.7: Sơ đồ tuần tự quá trình tìm kiếm công việc 49
Hình 3.8: Sơ đồ tuần tự quá trình ứng tuyển công việc 50
Hình 3.9: Sơ đồ tuần tự quá trình đăng và cập nhập bài viết 50
Hình 3.10: Class Diagram 51
Hình 3.11: Class User 52
Hình 3.12: Class Application 53
Hình 3.13: Class Role 53
Hình 3.14: Class News 54
Hình 3.15: Class ScholarshipNews 55
Hình 3.16: Class EventNews 55
Hình 3.17: Class ContestNews 56
Hình 3.18: Class Comment 56
Hình 3.19: Class Category 57
Hình 3.20: Class JobNews 57
Hình 3.21: Class Company 58
Hình 3.22: Class CV 58
Trang 17Hình 3.25: Class Subscription 60
Hình 3.26: Class Advertisement 60
Hình 3.27: Class SubscriptionHistory 61
Hình 3.28: Class TransactionHistory 61
Hình 3.29: Class InterviewSchedule 62
Hình 4.1: Mô hình tổng thế kiến trúc chung 65
Hình 4.2: Database diagram 70
Hình 5.1: Giao diện đăng nhập 70
Hình 5.2: Giao diện đăng ký 71
Hình 5.3: Giao diện trang chủ 72
Hình 5.4: Giao diện danh sách công ty 73
Hình 5.5: Giao diện chi tiết công ty 73
Hình 5.6: Giao diện thêm công ty 74
Hình 5.7: Giao diện danh sách tin tuyển dụng 75
Hình 5.8: Giao diện chi tiết tin tuyển dụng 75
Hình 5.9: Giao diện thêm tin tuyển dụng 76
Hình 5.10: Giao diện chỉnh sửa tin tuyển dụng 77
Hình 5.11: Giao diện danh sách tin học bổng 77
Hình 5.12: Giao diện chi tiết tin học bổng 78
Hình 5.13: Giao diện thêm tin học bổng 79
Hình 5.14: Giao diện chỉnh sửa tin học bổng 79
Hình 5.15: Giao diện danh sách tin sự kiện 80
Hình 5.16: Giao diện chi tiết tin sự kiện 80
Hình 5.17: Giao diện thêm tin sự kiện 81
Hình 5.18: Giao diện chỉnh sửa tin sự kiện 82
Hình 5.19: Giao diện danh sách tin cuộc thi 82
Hình 5.20: Giao diện chi tiết tin cuộc thi 83
Hình 5.21: Giao diện thêm tin cuộc thi 84
Trang 18Hình 5.24: Giao diện thống kê chung 86
Hình 5.25: Giao diện thống tuyển dụng 87
Hình 5.26: Giao diện thống kê tin học bổng 88
Hình 5.27: Giao diện thống kê tin cuộc thi 89
Hình 5.28: Giao diện thống kê tin sự kiện 90
Hình 5.29: Giao diện thống kê tin tuyển dụng 91
Hình 5.30: Giao diện thông tin cá nhân 92
Hình 5.31: Giao diện đăng nhập cho trang doanh nghiệp 93
Hình 5.32: Giao diện đăng ký cho doanh nghiệp 94
Hình 5.33: Giao diện trang chủ 95
Hình 5.34: Giao diện các gói đăng ký 96
Hình 5.35: Giao diện đăng ký gói 97
Hình 5.36: Giao diện thanh toán gói 98
Hình 5.37: Giao diện thống kê cho doanh nghiệp 99
Hình 5.38: Giao diện lịch trình phỏng vấn 100
Hình 5.39: Giao diện quy trình tạo cuộc phỏng vấn 102
Hình 5.40: Giao diện thống kê cho admin với trang web dành cho doanh nghiệp 103
Hình 6.1: Mã nguồn hàm ChangePasswordForForget 104
Hình 6.2: Biểu đồ luồng điều khiển ChangePasswordForForget 105
Hình 6.3: Luồng dữ liệu cho tất cả các biến của hàm ChangePasswordForForget 108
Hình 6.4: Luồng dữ liệu của biến tokenemail 109
Hình 6.5: Luồng dữ liệu của biến tokennewpass 110
Hình 6.6: Luồng dữ liệu của biến email 111
Hình 6.7: Luồng dữ liệu của biến pass 112
Hình 6.8: Luồng dữ liệu của biến user 113
Hình 6.9: Luồng dữ liệu của biến acc 114
Hình 6.10: Mã Nguồn của hàm registerUser 115
Hình 6.11: Biểu đồ luồng điều khiển của hàm registerUser 116
Trang 19Hình 6.14: Luồng dữ liệu của biến password 120
Hình 6.15: Luồng dữ liệu của biến email 121
Hình 6.16: Luồng dữ liệu của biến roleid 122
Hình 6.17: Luồng dữ liệu của biến role 123
Hình 6.18: Luồng dữ liệu của biến acc 124
Hình 6.19: Luồng dữ liệu của biến user 125
Hình 6.20: Luồng dữ liệu của biến account 126
Hình 6.21: Luồng dữ liệu của biến usersEntity 127
Hình 6.22: Luồng dữ liệu của biến mailUtils 128
Hình 6.23: Mã nguồn của hàm AdminCustomerController method doPost 129
Hình 6.24: Biểu đồ luồng điều khiển AdminCustomerController method doPost 130
Hình 6.25: Luồng dữ liệu cho tất cả các biến của hàm AdminCustomerController method doPost 132
Hình 6.26: Luồng dữ liệu biến req 133
Hình 6.27: Luồng dữ liệu biến resp 134
Hình 6.28: Luồng dữ liệu biến id 135
Hình 6.29: Luồng dữ liệu biến idCustomer 136
Hình 6.30: Luồng dữ liệu biến users 137
Hình 6.31: Luồng dữ liệu biến ban 138
Hình 6.32: Luồng dữ liệu biến e 139
Trang 20DANH SÁCH BẢNG
Bảng 3.1: Quản lí thông tin người dùng 12
Bảng 3.2: Quản lí bài viết 13
Bảng 3.3: Quản lí thông tin website 14
Bảng 3.4: Quản lí tài khoản 15
Bảng 3.5: Bảng danh sách yêu cầu chức năng hệ thống 15
Bảng 3.6: Danh sách yêu cầu phi chức năng 17
Bảng 3.7: Usecase “Đăng kí tài khoản” 21
Bảng 3.8: Usecase “Xem danh sách các bài viết tin tức” 22
Bảng 3.9: Usecase “Xem thông tin các công ty” 23
Bảng 3.10: Usecase “Xem chi tiết bài viết” 24
Bảng 3.11: Usecase “Đăng nhập” 26
Bảng 3.12: Usecase “Thay đổi mật khẩu” 28
Bảng 3.13: Usecase “Quản lý thông tin tài khoản” 30
Bảng 3.14: Usecase “Quản lý thông tin cá nhân” 31
Bảng 3.15: Usecase “Quản lý thông tin tài khoản” 32
Bảng 3.16: Usecase “Tương tác với các bài viết” 33
Bảng 3.17: Usecase “Thêm bài viết” 35
Bảng 3.18: Usecase “Chỉnh sửa thông tin sản phẩm” 36
Bảng 3.19: Usecase “Thêm sản phẩm” 38
Bảng 3.20: Usecase “Chỉnh sửa nội dung bài viết tuyển dụng” 40
Bảng 3.21: Usecase “Xóa bài viết tuyển dụng” 41
Bảng 3.22: Usecase “Xem các đơn ứng tuyển của các bài tuyển dụng” 42
Bảng 3.23: Usecase “Đánh dấu trạng thái các đơn ứng tuyển” 44
Bảng 3.24: Usecase “Cấp quyền tài khoản” 46
Bảng 3.25: Usecase “Khóa tài khoản” 47
Bảng 3.26: Usecase “thống kê các tương tác” 48
Bảng 6.1: Thiết kế test cases cho Kiểm thử đơn vị code: ChangePasswordForForget 107
Trang 21Bảng 6.3: Thiết kế test cases cho Kiểm thử đơn vị code: AdminCustomerController method doPost 131
Trang 22CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Tổng quan về đề tài
Với đề tài “Xây dựng website tổng hợp thông tin và ứng tuyển việc làm cho sinh
viên IT newsCV.tech”, nhóm chúng em đã đưa lên trang web những thông tin về việc làm
của mảng công nghệ thông tin, từ đó sinh viên có thể tham khảo để tìm kiếm việc làm phù hợp với chính mình cũng như là để các doanh nghiệp có thể đăng tin tuyển dụng phù hợp với nhu cầu của công ty, cùng với đó là những tính năng cực hữu ích giúp cho ứng viên
và doanh nghiệp dễ dàng kết nối với nhau
1.2 Lý do chọn đề tài
Trong những năm gần đây, việc ứng tuyển xin việc trực tiếp đã không còn được ưa chuộng, mà thay vào đó là ứng tuyển trực tuyển thông qua các trang web tìm kiếm việc làm Việc ứng tuyển trực tuyến như vậy giúp cho cả ứng viên lẫn nhà tuyển dụng linh hoạt trong thời gian và có thể trao đổi nhanh chóng, cũng như là tìm được ứng viên phù hợp với doanh nghiệp thông qua việc đọc trước hồ sơ ứng tuyển của ứng viên, còn ứng viên thì tìm được doanh nghiệp phù hợp với bản thân thông qua việc đọc thông tin của doanh nghiệp đăng tin
Theo thống kê cho thấy lượng người truy cập vào các trang web tuyển dụng việc
làm hiện nay rất lớn, ví dụ như Vn.indeed.com - 3.45 triệu lượt truy cập/tháng, Vietnamworks - 3.1 triệu lượt truy cập/tháng……Từ đó ta có thể thấy được thực trạng
nhu cầu của nhà tuyển dụng cũng như là ứng viên hiện nay là rất cao đối với việc tuyển dụng qua website
Do đây là nhu cầu tất yếu của thời đại 4.0 hiện nay, nên việc tìm kiếm việc làm qua các website rất là cần thiết, nó sẽ giúp ích rất nhiều cho việc tìm kiếm việc làm, giảm số lượng người thất nghiệp, tiết kiệm thời gian tìm kiếm việc làm Chính vì vậy, chúng em
đã lựa chọn đề tài “Xây dựng website tổng hợp thông tin và ứng tuyển việc làm cho sinh
viên IT newsCV.com”
Trang 231.3 Mục tiêu của đề tài
Tạo ra website tổng hợp thông tin và ứng tuyển việc làm cho sinh viên IT đơn giản,
hỗ trợ cho việc tìm kiếm việc làm của sinh viên IT, tuyển dụng việc làm của các doanh nghiệp, tạo hồ sơ xin việc theo mẫu, chia sẻ thông tin tuyển dụng và ứng tuyển
Trang 24CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG 2.1 Phân tích đánh giá các công trình
Hiện nay, có rất nhiều website giúp chúng ta có thể tìm việc làm một cách nhanh chóng
có thể nhắc đến như topcv.vn, topdev.vn, careerlink.vn, …
2.1.1 Careerbuilder
Hình 2.1: Trang web careerbuilder
Các chức năng cần chú ý: Tìm kiếm việc làm, Tạo CV, Các tin tức liên quan đến vấn đề tuyển dụng và tạo hồ sơ công việc
Giao diện thiết kế dễ nhìn với font màu trắng sáng Với thanh header giúp cho người dùng
dễ tìm kiếm
Tìm việc làm: sắp xếp công việc theo từng item bao gồm : tên và logo công ty, vị trí tuyển dụng, mức lương đề xuất, địa điểm làm việc, thời gian hết hạn Ngoài ra ta có thể lọc công việc tùy theo các thông tin đưa vào
Chi tiết công việc: Trình bày ngắn gọn các thông tin cơ bản, mô tả công việc, yêu cầu công việc, thông tin liên hệ và cách thức ứng tuyển
Tạo CV: Có nhiều mẫu template đẹp Có các bước để tạo CV bằng cách nhập thông tin lần lượt các bước theo hướng dẫn
Phần tin tức: Chứa hình ảnh và các thông tin
Nhược điểm theo em đánh giá: Vì trang web tìm việc cho tất cả các ngành nghề nên nhiều các yêu cầu liên quan đến IT chưa được thể hiện rõ
Trang 252.1.2 Itviec
Hình 2.2: Trang web itviec
Các chức năng cần chú ý: Tìm kiếm việc làm, tạo và xem các blog
Giao diện thiết kế đẹp , với thanh header ở trang chủ, ngoài ra còn thanh tìm kiếm giúp cho người dùng dễ dàng hơn khi sử dụng
Các công việc được trình bày ngắn gọn gồm logo công ty, vị trí tuyển dụng, mức lương, ngôn ngữ lập trình đề xuất, vị trí làm việc, thời gian kết thúc
Blog: như các phần tin tức bao gồm một số phần cần chú ý như tiêu đề, nội dung, hình ảnh, …
Trang 262.1.3 TopCV
Hình 2.3: Trang web topCV
Các chức năng cần chú ý: Tìm kiếm việc làm, tạo hồ sơ xin việc, danh sách các công ty Giao diện: dễ dùng, đặc biệt phần lọc kết quả tìm kiếm ở trang web này rất hay
Tìm việc làm: Hiển thị danh sách các công việc rất dễ nhìn và đầy đủ thông tin Bao gồm tên và logo công ty, vị trí tuyển dụng , ngôn ngữ lập trình, mức lương, địa điểm và thời gian đăng bài, thời gian còn lại
Ngoài ra, khi tim kiếm công ty trang web sẽ hiện thị các job mà công ty đó đang trong thời gian tuyển dụng
Tạo hồ sơ: Lưu hồ sơ được tải lên hoặc tự tạo hồ sơ cho bản thân Điều đặt biệt là việc điền thông tin vào CV được thực hiện trực tiếp trên nền template CV luôn Các mẫu CV
có sẵn trên trang web và được chuyển đổi sang nhiều ngôn ngữ
Trang 272.1.4 ItNavi
Hình 2.4: Trang web ItNavi
Các chức năng cần chú ý: Tìm kiếm việc làm, thông tin tuyển dụng, các bài tin tức và sự kiện cho sinh viên IT
Giao diện: dễ nhìn
Trang 28Tìm kiếm công việc: dễ sử dụng, dễ nhìn và dễ thực hiện Gồm các bộ lọc thông tin và thanh tìm kiếm để phù hợp với yêu cầu người dùng
Phần tạo CV: khá phức tạo với nhiều hiệu ứng
Phần tin tức và sự kiện: xây dựng như mọi web tin tức khác Với các thông tin chữ viết đi cùng với hình ảnh Thêm cả phần bình luận
2.1.5 Ybox
Hình 2.5: Trang web Ybox
Các chức năng cần chú ý: Tạo CV, tuyển dụng, các tin tức như học bổng, sự kiện, cuộc thi dành cho sinh viên IT
Tạo CV: Thực hiện đơn giản nhưng đầy đủ các yêu cầu cho CV xin việc IT Hỗ trợ làm
CV tiếng việt và tiếng anh Không sử dụng nhiều template
Tuyển dụng: Được filter theo mục như là : chất lượng, tính chất công việc, chuyên môn, mức lương, kinh nghiệm Phần thông tin việc làm gồm các mục giới thiệu về công ty, mô
tả công việc, yêu cầu ứng viên, chính sách đãi ngộ, cách thức ứng tuyển và liên hệ
Về phần tin tức: mỗi thể loại tin tức sẽ có thông tin riêng Nhìn chung thì phần tin tức trình bày khá đầy đủ cộng với hình ảnh sinh đoạn
Trang 292.2 Kinh nghiệm rút ra
Thông qua các website đã khảo sát ở trên, nhóm em quyết định các chức năng chính của trang web của mình đó là: Quản lý và tạo CV xin việc cho sinh viên, đưa ra các thông tin tuyển dụng sinh viên từ các công ty, quản lý và tổng hợp các tin tức nóng liên quan đến các cuộc thi, học bổng và các sự kiện để cho sinh viên IT nắm được một cách nhanh chóng
Trang 30CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.1 Yêu cầu chức năng hệ thống
3.1.1 Các nghiệp vụ của hệ thống
Website sẽ bao gồm ba nhóm người dùng đó là: người tìm việc và sự dụng dịch vụ (sinh viên), nhà tuyển dụng (các công ty) và quản trị viên hệ thống
3.1.1.1 Nghiệp vụ của người sử dụng
Người sử dụng là nhóm người dùng chính của trang web Các chức năng chính mà nhóm người dùng có bao gồm chức năng đăng nhập, đăng ký tài khoản, quản lý tài khoản, tìm kiếm các công việc, các công ty trên website và cuối cùng là nộp đơn ứng tuyển vào vị trí thích hợp, xem các bài tin tức về các hoạt động liên quan đến ngành công nghệ thông tin, ngoài ra người dùng có thể đăng cái bài về các sự kiện, cuộc thi hoặc học bổng liên quan
và sẽ được kiểm duyệt bởi quản trị viên của hệ thống Bên cạnh đó người dùng có thể nhận được các công việc tự động hằng trên hệ thống gửi về email
3.1.1.2 Nghiệp vụ của nhà tuyển dụng
Song song với người tìm việc nhà tuyển dụng đóng vai trò lớn trong việc tạo ra các công
ty, đăng các tin tuyển dụng trên hệ thống và quản lý các tin tuyển dụng này để có thể tìm kiếm và liên lạc được với những người ứng tuyển Ngoài ra nhà tuyển dụng có thể đăng cái hình ảnh và video về công ty của mình để quản bá đến người dùng
3.1.1.3 Nghiệp vụ của quản trị viên hệ thống
Quản trị viên có trách nhiệm xác nhận các người dùng, các công ty, các tin tuyển dụng được đăng lên hệ thống nhằm đảm bảo tính minh bạch rõ ràng của trang web tránh các trường hợp người dùng tạo các công ty, các tin tuyển dụng giả gây ảnh hưởng đến trang web
Kiểm duyệt các nội dung và người dùng hoặc nhà tuyển dụng tăng
3.1.2 Yêu cầu chức năng
Các chức năng chính của hệ thống sẽ bao gồm các chức năng sau:
- Chức năng đăng ký: Một người dùng chỉ được đăng ký tài khoản một lần với một email, khi đăng ký sẽ có email gửi về mã xác nhận OTP, nhập đúng mã xác nhập
Trang 31- Chức năng đăng nhập: Hệ thống sẽ quản lý người dùng qua các token được gửi về mỗi lần đăng nhập Khi token hết hạn hệ thống sẽ tự đưa người dùng về trang đăng nhập
- Chức năng tìm kiếm: Tìm kiếm sẽ bao gồm tìm kiếm theo công việc và công ty, và các bài viết liên quan tới các hoạt động trong ngành công nghệ thông tin
- Chức năng quản lý thông tin: Mỗi người dùng có thể xem và chỉnh sửa thông tin cá nhân
- Chức năng quản lý cv: CV được tạo bằng 2 cách.Thứ nhất là CV được upload từ máy tính lên hệ thống Thứ hai là được tạo ra từ trên hệ thống
- Chức năng ứng tuyển: người tìm việc có thể ứng tuyển vào một tin đăng tuyển khi
đã có cv
- Chức năng tìm việc tự động: Người dùng khi mở chức năng này sẽ được nhận các công việc phù hợp với mình và có thể các công ty sẽ liên hệ với ứng viên nếu họ đang phù hợp với các yêu cầu của nhà tuyển dụng
- Chức năng quản lý đơn ứng tuyển của nhà tuyển dụng: giúp loại bỏ hoặc chấp nhận các đơn ứng tuyển từ ứng viên và sẽ gửi mail tự động kết quả đến cho người dùng
- Chức năng quản lý các bài đăng tuyển: Mỗi người dùng khi đã tạo thành công một công ty và được quản trị viên kích hoạt thì có thể tạo các bài đăng tuyển dụng nhằm tìm kiếm nhân viên cho mình Người tuyển dụng có thể quản lý các bài đăng tuyển này bao gồm các việc cập nhật thông tin công việc, thống kê, báo cáo danh sách người ứng tuyển và khoá hoặc xoá tin tuyển dụng
- Chức năng quản lý người dùng: chức năng này chỉ dành cho quản trị viên Quản trị viên có quyền xem danh sách những người dùng của hệ thống, kích hoạt hoặc khoá tài khoản của người dùng nếu cần thiết
- Chức năng đăng quảng cáo cho công ty
- Chức năng thanh toán cho công ty
- Chức năng thống kê và lịch sử giao dịch
Trang 32- Thống kê doanh thu của quản trị
- Chức năng thông báo: Mỗi người dùng trong quá trình làm việc trên website sẽ nhận được thông báo từ hệ thống khi có sự thay đổi hoặc cập nhật
3.1.3 Yêu cầu phi chức năng
- Yêu cầu hiệu quả: Hệ thống phải làm việc chính xác đúng với mong đợi của người dùng Tỷ lệ xảy ra lỗi không được quá 5%
- Yêu cầu hệ thống: hệ thổng phải có cơ chế bảo mật an toàn thông tin người dùng,
có cơ chế phân quyền rõ ràng tránh việc tấn công từ kẻ tấn công bên ngoài
3.2 Yêu cầu chức năng nghiệp vụ
Lưu trữ
Lưu trữ thông tin của người dùng
Lưu trữ thông tin các bài viết
Lưu trữ thông tin các công việc ứng tuyển
Lưu trữ thông tin các công ty
Lưu trữ thông tin các user của hệ thống
Lưu trữ các giao dịch của công ty
Lưu trữ các tương tác của user trên các bài viết
Tra cứu
Tra cứu các bài báo, các bài tuyển dụng: Lọc sản phẩm theo các điều kiện có sẵn Tìm kiếm sản phẩm theo tên
Thống kê
Thống kê, quản lý người dùng trong hệ thống
Thống kê, quản lý lượt xem, lượt chia sẻ, lượt lưu của người dùng
Thống kê các đơn ứng tuyển công việc
Thống kê các gói đăng ký và quảng cáo bán được
Thống kê doanh thu theo từng công ty và theo tháng
3.3 Danh sách yêu cầu chức năng nghiệp vụ
Quản lí thông tin người dùng
Trang 33STT Công Việc Loại Công
Việc
Quy định/ công thức liên quan
Biểu mẫu liên quan Ghi chú
số điện thoại,
họ và tên, địa chỉ nhà riêng,
3 Quản lí lịch sử
hoạt động Tra cứu
Bảng 3.1: Quản lí thông tin người dùng
Quản lí bài viết
STT Công Việc Loại Công
Việc
Quy định/ công thức liên quan
Biểu mẫu liên quan Ghi chú
1 Thêm bài viết Lưu trữ
Sửa thông tin
bài viết Lưu trữ
Sửa thông tin
cơ bản của bài viết
Trang 344 Xem thông tin
chi tiết bài viết Tra cứu
Bảng 3.2: Quản lí bài viết
Trang 35 Quản lí thông tin website
STT Công Việc Loại Công
Việc
Quy định/ công thức liên quan
Biểu mẫu liên quan Ghi chú
1
Tổng hợp thông
tin tương tác
của các bài viết
Trang 36 Quản lí tài khoản
STT Công Việc Loại Công
Việc
Quy định/ công thức liên quan
Biểu mẫu liên quan Ghi chú
1 Tạo tài khoản
Bảng 3.4: Quản lí tài khoản
3.4 Danh sách yêu cầu chức năng hệ thống
STT Nội dung Mô tả chi tiết Ghi chú
1 Phân quyền
sử dụng
- Người dùng: được phép quản lý tài khoản (chỉnh sửa thông tin cá nhân, thông tin tài khoản), đăng bài viết và chờ được kiểm duyệt Xem các bài viết và tương tác lên chúng Tìm kiếm, lọc bài viết
- Quản trị viên: được phép sử dụng chức năng của người dùng, quản lý người dùng (xem thông tin người dùng, cấp quyền quản trị, tạo tài khoản mới (có thể là người dùng hoặc quản trị viên)), duyệt các bài viết được đăng , xem thấy kê, báo cáo
Bảng 3.5: Bảng danh sách yêu cầu chức năng hệ thống
3.5 Danh sách yêu cầu phi chức năng
STT Nội dung Tiêu chuẩn Mô tả chi tiết
Trang 371
Tốc độ xử lý quá trình tương tác của người
Hiệu quả
Tiết kiệm thời gian so với quản lý thủ công Dữ liệu được sao lưu trên máy, có thể dễ dàng phục hồi
4
Dễ dàng quản lý, kiểm soát người dùng, bài viết, các chức năng tương tác
Tiện dụng
Chỉ cần thông qua các chức năng quản lý mạng xã hội âm thanh, nhân viên kiểm duyệt có thể dễ dàng kiểm soát được tình hình các bài hát, bình luận, lượt cảm xúc, lượt nghe của
người dùng
5
Có thể thiết kế thêm theo yêu cầu của doanh
nghiệp
Tiến hóa Các đối tác có thể yêu cầu thêm tính
năng hữu ích cho chương trình
6 Cho phép thay đổi quy
định, công thức tính toán Tiến hóa
Người dùng có thể dễ dàng thay đổi, cập nhập các bài viết,…
7 Giao diện thân thiện,
Khách hàng ở mọi lứa tuổi đều có thể
dễ dàng sử dụng
8 Dễ thao tác Tiện dụng Các thao tác nhập xuất chỉnh sửa đơn
giản, gần gũi với người dùng
Trang 38Bảng 3.6: Danh sách yêu cầu phi chức năng
Company (công ty tuyển dụng): Là actor sẽ tương tác với hệ thống qua các chức năng quản lý các tin tuyển dụng, tương tác với người tìm việc qua các yêu cầu ứng tuyển
Admin (Quản trị viên): Là actor quản lý hệ thống bao gồm các user trong hệ thống, các tin được đăng, các công ty, ngoài ra là thống kê về các tương tác của bài viết
Trang 393.7 Các Use Case chính của hệ thống
3.7.1 Use case tổng quát
Hình 3.1: Use case tổng quát
Trang 403.7.2 Tác nhân “Khách”
Hình 3.2: Use case của tác nhân Khách
Usecase “Đăng kí tài khoản”