Bảng 4.14. Đặc tả usecase tìm kiếm CV
Use case ID UC_16.4
Tên Search CV
Mô tả Người tìm việc tìm kiếm CV.
Actors Job seeker
49
Basic flow 1) Nhấn vào mục avatar cá nhân bên phải trên thanh
navigation. Sau đó một popup hiện ra. Chọn “CV”. Chuyển đến trang thông tin cá nhân.
2) Nhấn nút “CV” ở thanh navigation bên phải. Sau đó danh sách CV sẽ hiện ra
3) Nhập thơng tin cần tìm ở ơ input phía trên bên phải danh sách. Sau đó nhấn nút “Tìm kiếm”. Kết quả sẽ hiển thị trong danh sách.
Alternative flow
Không
Bussiness rule Không
4.3.5. Usecase ứng tuyển thông tin tuyển dụng (Apply for employment infomation) infomation)
Hình 4.17. Usecase ứng tuyển thơng tin tuyển dụng Bảng 4.15. Đặc tả usecase ứng tuyển thông tin tuyển dụng
Use case ID UC_20
Tên Apply for employment information
Mơ tả Người tìm việc ứng tuyển thơng tin tuyển dụng.
Actors Job seeker
50
Basic flow 1) Chọn công việc cần ứng tuyển trong danh sách công việc hiển thị trên trang chủ. Sau đó sẽ chuyển đến trang “Xem chi tiết thơng tin tuyển dụng”
2) Nhấn nút “Ứng tuyển”, sau đó modal danh sách CV hiện lên
3) Nhấn chọn một CV để ứng tuyển
4) Nhấn nút “Ứng tuyển” phía dưới bên phải của modal. Hồn tất q trình ứng tuyển, modal đóng và nút “Ứng tuyển” đổi thành “Đã ứng tuyển”
Alternative flow Bước 2. Nhấn “Hủy” để tắt modal danh sách CV
Bước 3. Nhấn “Hủy” để tắt modal danh sách CV
Bussiness rule Không
4.3.6. Usecase hủy ứng tuyển thông tin tuyển dụng (Apply for employment infomation) employment infomation)
Hình 4.18. Usecase hủy ứng tuyển thông tin tuyển dụng Bảng 4.16. Đặc tả usecase ứng tuyển thông tin tuyển dụng Bảng 4.16. Đặc tả usecase ứng tuyển thông tin tuyển dụng
Use case ID UC_21
Tên Apply for employment information
Mơ tả Người tìm việc ứng tuyển thơng tin tuyển dụng.
Actors Job seeker
51
Basic flow 1) Chọn công việc cần ứng tuyển trong danh sách công việc hiển thị trên trang chủ. Sau đó sẽ chuyển đến trang “Xem chi tiết thơng tin tuyển dụng”
2) Nhấn nút “Hủy ứng tuyển”. Sau đó modal xác nhận hủy ứng tuyển sẽ hiện lên
3) Nhấn nút “Hủy ứng tuyển”. Hồn tất q trình hủy ứng tuyển, modal đóng và nút “Đã ứng tuyển” đổi thành “Ứng tuyển”
Alternative flow Bước 2. Nhấn “Hủy” để tắt modal xác nhận ứng tuyển Bussiness rule Không
4.3.7. Usecase nhà tuyển dụng đăng tin tuyển dụng “Post employment information” information”
Hình 4.19. Usecase nhà tuyển dụng đăng tin tuyển dụng Bảng 4.17. Đặc tả usecase Nhà tuyển dụng đăng tin tuyển dụng Bảng 4.17. Đặc tả usecase Nhà tuyển dụng đăng tin tuyển dụng
Use case ID UC_24
Tên Post employment information
Mô tả Nhà tuyển dụng đăng tin tuyển dụng.
Actors Employer
52
Basic flow 1) Di chuyển chuột đến nav logo của nhà tuyển dụng, sau đó một popup sẽ hiện lên, nhấn vào mục “Tuyển dụng nhân sự”. Sau đó sẽ chuyển đến trang quản lý việc làm
2) Nhấn vào mục “Đăng tin tuyển dụng” ở thanh side bar bên phải, sau đó sẽ chuyển đến trang “Đăng tin tuyển dụng” 3) Điền đầy đủ thông tin trên form “Đăng tin tuyển dụng” 4) Nhấn nút “Lưu” để hoàn thất đăng tin tuyển dụng. Sau khi
tạo thành công sẽ chuyển đến trang “Danh sách công việc đã đăng” và hiển thị thông báo “Thêm mới thành công”
Alternative flow Bước 4: Khi thêm mới thông tin tuyển dụng đã tồn tại sẽ hiện
thông báo “Thông tin tuyển dụng đã tồn tại”
53
CHƯƠNG 5. THIẾT KẾ PHẦN MỀM
Thiết kế lược đồ tuần tự
Một số lược đồ tuần tự chính trong ứng dụng.
5.1.1. Lược đồ tuần tự “ứng tuyển việc làm”
Lược đồ tuần tự “ứng tuyển việc làm” mô tả luồng xử lý của usecase “Apply for employment information” (UC_29)
54
5.1.2. Lược đồ tuần tự “hủy ứng tuyển việc làm”
Lược đồ tuần tự “hủy ứng tuyển việc làm” mô tả luồng xử lý của usecase
“Cancel apply for employment information” (UC_29)
55
5.1.3. Lược đồ tuần tự “duyệt CV đã ứng tuyển”
Lược đồ tuần tự “duyệt CV đã ứng tuyển” mô tả luồng xử lý của usecase
“Review CV” (UC_35)
56
5.1.4. Lược đồ tuần tự “lưu thông tin tuyển dụng quan tâm”
Lược đồ tuần tự “lưu thông tin tuyển dụng quan tâm” mô tả luồng xử lý của usecase “Save interested job” (UC_23)
Hình 5.4. Lược đồ tuần tự "lưu thông tin tuyển dụng quan tâm" 5.1.5. Lược đồ tuần tự “hủy lưu thông tin tuyển dụng quan tâm”
Lược đồ tuần tự “hủy lưu thông tin tuyển dụng quan tâm” mô tả luồng xử lý của usecase “Unsave interested job” (UC_24.2)
57
Hình 5.5. Lược đồ tuần tự " hủy lưu thông tin tuyển dụng quan tâm" 5.1.6. Lược đồ tuần tự “xóa tất cả thông tin tuyển dụng quan tâm”
Lược đồ t̀n tự “xóa tất cả thơng tin tuyển dụng quan tâm” mô tả luồng xử lý của usecase “Remove all interested employment employment” (UC_24.3)
58
5.1.7. Lược đồ tuần tự “xóa CV”
Lược đồ tuần tự “xóa CV” mơ tả luồng xử lý của usecase “Delete CV”
(UC_16.5)
Hình 5.7. Lược đồ tuần tự “xóa CV” 5.1.8. Lược đồ tuần tự “tạo tài khoản sinh viên”
Lược đồ tuần tự “tạo tài khoản sinh viên” mô tả luồng xử lý của usecase “Add
59
Hình 5.8. Lược đồ tuần tự “tạo tài khoản sinh viên” 5.1.9. Lược đồ tuần tự “cập nhật tài khoản sinh viên”
Lược đồ tuần tự “cập nhật tài khoản sinh viên” mô tả luồng xử lý của usecase
60
Hình 5.9. Lược đồ tuần tự “cập nhật tài khoản sinh viên” 5.1.10. Lược đồ tuần tự “thay đổi trạng thái tài khoản sinh viên”
Lược đồ tuần tự “thay đổi trạng thái tài khoản sinh viên” mô tả luồng xử lý của usecase “Change status job seeker” (UC_3.5)
61
Thiết kế Database
5.2.1. Collection – các collection chính
5.2.1.1. Database diagram
62
5.2.1.2. Đặc tả database
Bảng 5.1. Đặc tả collection CV
Mục đích: Lưu thơng tin CV (Curriculum Vitae)
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 sinhVien objectId FK Id sinh viên tạo
CV
3 hinhThe string Hình thẻ của
sinh viên
4 mucTieuNgheNghiep string Mục tiêu nghề
nghiệp
5 mucTieuNgheNghiepEn string Mục tiêu nghề
nghiệp tiếng anh
6 hocVan string Học vấn
7 hocVanEn string Học vấn tiếng
anh
8 soNamKinhNghiem int Số năm kinh
nghiệm
9 quaTrinhHocTaps Qua Trinh
Hoc Tap [] ✓ Danh sách quá
trình học tập
10 quaTrinhLamViecs Qua Trinh
Lam Viec [] ✓ Danh sách quá
trình làm việc
11 giaiThuong string ✓ Giải thưởng đã
đạt được
12 chungChis string[] ✓
Danh sách chứng chỉ đã đạt được
13 loaiHinhCongViec string Loại hình cơng
63 Partime,
Remote, Intern
14 createdDate date Ngày tạo CV
15 lastModifiedDate date Ngày cập nhật
CV lần cuối
16 createdBy string Tên người tạo
CV 17 lastModifiedBy string Tên người cập nhật CV lần cuối 18 trangThai bool Trạng thái hoạt động hay không hoạt động
Bảng 5.2. Đặc tả collection Thông Tin Tuyển Dụng
Mục đích: Lưu thơng tin Thơng tin tuyển dụng
STT Column Type Key Allow
null
Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 tenCongViec string Tên công việc
3 tenCongViecEn string Tên công việc
tiếng anh
4 linhVucs objectId [] FK Danh sách id
lĩnh vực
5 ngayHetHan date Ngày hết hạn
của công việc
6 noiLamViec Noi Lam
Viec
Nơi làm việc
64
8 gioiTinh bool Giới tính tuyển:
bao gồm cả nam lẫn nữ
9 nganhDaoTaos objectId [] FK Danh sách id
ngành đào tạo
10 phucLoi string Phúc lợi
11 phucLoiEn string Phúc lợi tiếng
anh
12 moTaCongViec string Mô tả công việc
13 moTaCongViecEn string Mô tả công việc
tiếng anh
14 yeuCauCongViec string Yêu cầu công
việc
15 yeuCauCongViecEn string Yêu cầu công
việc tiếng anh
16 nhaTuyenDung objectId FK Id của nhà tuyển
dụng tạo tin đăng
17 viTriCongViec objectId FK Vị trí cơng việc
18 loaiHinhCongViec string Loại hình cơng
việc: Fulltime, Parttime, Remote, Intern 19 hoSoUngTuyens Ho So Ung Tuyen [] ✓ Danh sách hồ sơ sinh viên ứng tuyển
20 luongKhoiDiem double Lương khởi
điểm
21 daDuyet bool ✓ Trạng thái
admin đã duyệt tin hay chưa
65
23 createdBy string Tên người đăng
tin
24 trangThai bool Trạng thái cịn
hoạt động hay khơng hoạt động
Bảng 5.3. Đặc tả collection Nhà tuyển dụng
Mục đích: Lưu thơng tin Nhà Tuyển Dụng
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 email string Email nhà tuyển
dụng
3 password string Mật khẩu đăng
nhập
4 tenCongTy string Tên công ty
5 tenCongTyEn string Tên công ty
tiếng anh
6 thongTinLienHeCongTy
Thong Tin Lien He Cong Ty
Thông tin người đại diện để liên hệ với công ty
7 diaChi Noi Lam
Viec ✓ Địa chỉ công ty
8 linhVucs objectId [] FK
Danh sách id lĩnh vực hoạt động
9 logo string ✓ Logo công ty
66
11 thoaThuanSuDung string ✓
Thỏa thuận sửa dụng với người dùng 12 cacHoatDongHoTroNha Truong string ✓ Các hoạt động đã và đang hỗ trợ nhà trường 13 roles string [] Danh sách role được phép sử dụng trên phần mềm. 14 daDuyet bool ✓ Trạng thái admin đã duyệt nhà tuyển dụng hay chưa
15 createdDate date Ngày tạo
16 trangThai bool
Trạng thái hoạt động hay không hoạt động
Bảng 5.4. Đặc tả collection Khoa
Mục đích: Lưu thơng tin Khoa
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 thuTu int Thứ tự bản ghi
3 maKhoa string Mã khoa
4 tenKhoa string Tên khoa
5 tenKhoaEn string Tên khoa tiếng
67 6 trangThai bool Trạng thái hoạt động hay không hoạt động Bảng 5.5. Đặc tả collection Lĩnh vực
Mục đích: Lưu thơng tin Lĩnh vực
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 thuTu int Thứ tự bản ghi
3 maLinhVuc string Mã lĩnh vực
4 tenLinhVuc string Tên lĩnh vực
5 tenLinhVucEn string Tên lĩnh vực
tiếng anh
6 trangThai bool
Trạng thái hoạt động hay không hoạt động
Bảng 5.6. Đặc tả collection Ngành đào tạo
Mục đích: Lưu thơng tin Ngành đào tạo
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 thuTu int Thứ tự bản ghi
3 maNganh string Mã lĩnh vực
4 tenNganh string Tên lĩnh vực
5 tenNganhEn string Tên lĩnh vực
68
6 khoa objectId FK Id của khoa
thuộc ngành này
7 trangThai bool
Trạng thái hoạt động hay không hoạt động
Bảng 5.7. Đặc tả collection Sinh Viên
Mục đích: Lưu thơng tin Sinh viên
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 maSV int Mã số sinh viên
3 hoTen string Họ tên
4 email string
Email sinh viên, dùng để đăng nhập
5 ngaySinh date Ngày sinh
6 queQuan string FK Quê quán
7 thoiGianTotNghiepDu
Kien date
Thời gian tốt nghiệp dự kiến
8 password string Mật khẩu đăng
nhập 9 roles string [] Danh sách role được phép sử dụng trên phần mềm.
10 dienThoai string Số điện thoại
11 gioiTinh bool Giới tính: true
69
12 nganhDaoTao objectId Id của ngành
đào tạo
13 trangThai bool
Trạng thái hoạt động hay khơng hoạt động
Bảng 5.8. Đặc tả collection Vị trí cơng việc
Mục đích: Lưu thơng tin Vị trí cơng việc
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 tenViTriCongViec string
Tên vị trí cơng việc: Nhân viên, quản lý …
3 tenViTriCongViecEn string Tên vị trí cơng
việc tiếng anh
4 trangThai bool
Trạng thái hoạt động hay không hoạt động
Bảng 5.9. Đặc tả collection Thỏa thuận người dùng
Mục đích: Lưu thơng tin Thỏa thuận người dùng
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 noiDung string Nội dung thỏa
thuận
3 noiDungEn string Nội dung thỏa
70
4 trangThai bool
Trạng thái hoạt động hay không hoạt động
Bảng 5.10. Đặc tả collection Tài khoản
Mục đích: Lưu thơng tin Tài khoản của admin
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 email string Email đăng nhập
3 password string Mật khẩu đăng
nhập
4 hoTen string Họ tên admin
5 roles string [] Danh sách role được phép sử dụng trên phần mềm. 6 trangThai bool Trạng thái hoạt động hay không hoạt động
Bảng 5.11. Đặc tả collection Thông tin tuyển dụng quan tâm
Mục đích: Lưu thơng tin Thông tin tuyển dụng quan tâm của sinh viên
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
71
3 thongTinTuyenDung
Thong Tin Tuyen Dung
So Luoc
Thông tin tuyển dụng sơ lược, gồm một số field cần thiết của Thông Tin Tuyển Dụng để hiển trị lên view
4 createdDate date Ngày tạo
Bảng 5.12. Đặc tả collection Câu hỏi khảo sát danh nghiệp
Mục đích: Lưu thơng tin Câu hỏi khảo sát doanh nghiệp
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 thuTu int Thứ tự câu hỏi
3 cauHoi string Nội dung câu
hỏi
4 loaiCauHoi string
Enum loại câu hỏi: CHON_MOT, CHON_NHIEU, NHAP_LIEU, SAP_XEP 5 luaChonToiDa int Số lượng lựa chọn tối đa đối với câu hỏi chọn nhiều, bằng 0 thì lựa chọn khơng giới hạn
6 danhSachLuaChon string [] ✓ Thứ tự các câu trả lời là index trong mảng, câu
72 hỏi NHAP_LIEU thì mảng rỗng 7 cauHoiBatBuoc bool Trạng thái câu hỏi có bắt buộc trả lời hay không 8 trangThai bool Trạng thái hoạt động hay không hoạt động
Bảng 5.13. Đặc tả collection Câu hỏi khảo sát sinh viên
Mục đích: Lưu thông tin Câu hỏi khảo sát sinh viên
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 thuTu int Thứ tự câu hỏi
3 cauHoi string Nội dung câu
hỏi
4 loaiCauHoi string
Enum loại câu hỏi: CHON_MOT, CHON_NHIEU, NHAP_LIEU, SAP_XEP 5 luaChonToiDa int Số lượng lựa chọn tối đa đối với câu hỏi chọn nhiều, bằng 0 thì lựa chọn khơng giới hạn
73 6 danhSachLuaChon string [] ✓ Thứ tự các câu trả lời là index trong mảng, câu hỏi NHAP_LIEU thì mảng rỗng 7 cauHoiBatBuoc bool Trạng thái câu hỏi có bắt buộc trả lời hay không 8 trangThai bool Trạng thái hoạt động hay không hoạt động
Bảng 5.14. Đặc tả collection Kết quả khảo sát sinh viên
Mục đích: Lưu thông tin Kết quả khảo sát sinh viên
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 userKhaoSat objectId FK Id của sinh viên
làm khảo sát
3 thoiGianTraLoi date Nội dung câu
hỏi
4 cauTraLoi string
Với câu hỏi CHON_MOT hay NHAP_LIEU thì mảng là một phần tử, câu SAP_XEP: là mảng được sắp xep71 theo thứ
74 tự ưu tiên giảm dần (vị trí 0 là vị trí ưu tiên nhất)
5 cauHoi objectId FK
Id của câu hỏi sinh viên làm khảo sát 6 trangThai string [] Trạng thái hoạt động hay không hoạt động
Bảng 5.15. Đặc tả collection Kết quả khảo sát doanh nghiệp
Mục đích: Lưu thơng tin Kết quả khảo sát doanh nghiệp
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 userKhaoSat objectId FK
Id của doanh nghiệp làm khảo sát
3 thoiGianTraLoi date Nội dung câu
hỏi
4 cauTraLoi string
Với câu hỏi CHON_MOT hay NHAP_LIEU thì mảng là một phần tử, câu SAP_XEP: là mảng được sắp xep71 theo thứ tự ưu tiên giảm dần (vị trí 0 là vị trí ưu tiên nhất)
75
5 cauHoi objectId FK
Id của câu hỏi doanh nghiệp làm khảo sát 6 trangThai string [] Trạng thái hoạt động hay không hoạt động
76
5.2.2. Một số collection quản lý khác
5.2.2.1. Database diagram
77
5.2.2.2. Đặc tả database
Bảng 5.16. Đặc tả collection Tỉnh thành
Mục đích: Lưu thơng tin Tỉnh thành
STT Column Type Key Allow
null Mô tả
1 _id objectId PK Khóa duy nhất,
tự sinh
2 maTinhThanh string
Tên vị trí cơng việc: Nhân viên, quản lý …
3 tenTinhThanh string Tên vị trí cơng
việc tiếng anh
4 tenTinhThanhEn string
5 trangThai bool
Trạng thái hoạt động hay không