Đang tải... (xem toàn văn)
Hệ thống được thiết kế để hỗ trợ ba bài toán gán nhãn quan trọng, đó là Object detection, Semantic segmentation, và Image classification. Ngoài ra, hệ thống cũng hỗ trợ người dùng trong việc quản lý và thực hiện công việc hiệu quả. Cụ thể, các worker được cung cấp các gợi ý gán nhãn thông qua các mô hình học máy được tích hợp, và các công cụ xử lý ảnh để phục vụ cho công việc. Người yêu cầu dễ dàng nhận được kết quả tổng hợp công việc, đối chiếu/so sánh công việc giữa các worker. Do đó, hệ thống là một cách tiếp cận hiệu quả cho việc giải quyết thách thức gán nhãn một lượng lớn dữ liệu.
Trang 1Xây dựng hệ thống crowdsourcing cho việcgán nhãn dữ liệu ảnh
Trang 2Biểu đồ phân rã ca sử dụng Requester quản lý công việc 4
Biểu đồ phân rã ca sử dụng Tìm kiếm worker 4
Biểu đồ phân rã ca sử dụng Tìm việc làm 5
2.3 Đặc tả ca sử dụng 5
Ca sử dụng UC01: Đăng ký 5
Ca sử dụng UC02: Đăng nhập 7
Ca sử dụng UC03: Worker tìm kiếm việc làm 8
Ca sử dụng UC04: Tìm kiếm worker 10
Ca sử dụng UC05: Requester tạo việc làm 11
Ca sử dụng UC06: Requester quản lý thông tin cá nhân 13
Ca sử dụng UC07: Worker quản lý thông tin cá nhân 14
Ca sử dụng UC08: Requester phê duyệt yêu cầu làm việc 16
Ca sử dụng UC09: Requester quản lý công việc 17
Ca sử dụng UC10: Requester quản lý phân công công việc 17
Ca sử dụng UC11: Worker làm việc 18
Ca sử dụng UC12: Admin quản lý requester 19
Ca sử dụng UC13: Admin quản lý worker 20
Ca sử dụng UC14: Admin quản lý công việc 21
Ca sử dụng UC15: Worker quản lý công việc 22
2.4 Quy trình nghiệp vụ của hệ thống 23
Quy trình "Đăng ký" 23
Quy trình "Đăng nhập" 24
Trang 3Quy trình "Worker tìm việc làm" 24
Quy trình "Requester tạo việc làm" 25
Quy trình "Requester quản lý công việc" 25
Quy trình "Requester quản lý phân công công việc" 26
Quy trình "Quản lý thông tin cá nhân" 26
Quy trình "Worker quản lý công việc" 27
Quy trình "Worker làm việc" 27
Quy trình "Tìm kiếm worker" 28
Quy trình "Admin quản lý người dùng" 28
Quy trình "Admin quản lý công việc" 29
Quy trình "Requester phê duyệt yêu cầu làm việc" 29
2.5 Yêu cầu phi chức năng 30
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 31
3.1 Mô hình hoá cấu trúc 31
Ca sử dụng UC01: Đăng ký 31
Ca sử dụng UC02: Đăng nhập 31
Ca sử dụng UC03: Worker tìm kiếm việc làm 32
Ca sử dụng UC04: Tìm kiếm worker 32
Ca sử dụng UC05: Tạo việc làm 32
Ca sử dụng UC06: Quản lý thông tin cá nhân requester 33
Ca sử dụng UC07: Quản lý thông tin các nhân worker 33
Ca sử dụng UC08: Requester phê duyệt yêu cầu làm việc 33
Ca sử dụng UC09: Requester quản lý công việc 34
Ca sử dụng UC10: Requester quản lý phân công công việc 34
Ca sử dụng UC11: Worker làm việc 34
Ca sử dụng UC12: Admin quản lý requester 35
Ca sử dụng UC13: Admin quản lý worker 35
Ca sử dụng UC14: Admin quản lý công việc 35
Ca sử dụng UC15: Worker quản lý công việc 36
3.2 Mô hình hoá tương tác 36
Biểu đồ tuần tự cho ca sử dụng "Đăng ký" 36
Biểu đồ tuần tự cho ca sử dụng "Đăng nhập" 37
Biểu đồ tuần tự cho ca sử dụng "Tìm kiếm việc làm" 37
Biểu đồ tuần tự cho ca sử dụng "Tìm kiếm worker" 38
Trang 4Biểu đồ tuần tự cho ca sử dụng "Tạo việc làm" 38
Biểu đồ tuần tự cho ca sử dụng "Requester quản lý thông tin cá nhân" 39
Biểu đồ tuần tự cho ca sử dụng "Worker quản lý thông tin cá nhân" 40
Biểu đồ tuần tự cho ca sử dụng "Requester phê duyệt yêu cầu làm việc" 40
Biểu đồ tuần tự "Requester quản lý công việc" 41
Biểu đồ tuần tự "Requester quản lý phân công công việc" 42
Biểu đồ tuần tự ca sử dụng "Worker làm việc" 43
Biểu đồ tuần tự ca sử dụng "Admin quản lý requester" 44
Biểu đồ tuần tự ca sử dụng "Admin quản lý worker" 44
Biểu đồ tuần tự ca sử dụng "Admin quản lý công việc" 45
Biểu đồ tuần tự ca sử dụng "Worker quản lý công việc" 45
3.3 Thiết kế giao diện 46
Giao diện dành cho Guest 46
Giao diện cho Requester 47
Giao diện cho Worker 50
3.4 Thiết kế chi tiết lớp 53
Sơ đồ lớp tổng quan 53
Đặc tả chi tiết các lớp 56
3.5 Thiết kế cơ sở dữ liệu 70
Tổng quan cơ sở dữ liệu 70
Đặc tả chi tiết các bảng dữ liệu 71
CHƯƠNG 4 TRIỂN KHAI HỆ THỐNG 75
Trang 5Các loại công việc 83
4.4 Đánh giá hiệu năng hệ thống 88
Cấu hình hệ thống 88
Đánh giá hiệu năng API Tìm kiếm worker 88
Đánh giá hiệu năng API Tìm kiếm công việc 90
Đánh giá hiệu năng API lấy thông tin chi tiết phân công công việc 92
Kết luận 93
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 94
5.1 Kết luận 94
5.2 Hướng phát triển 95
Trang 6PHỤ LỤC A Bảng các thuật ngữ
STTViết tắt Thuật ngữ Giải thích
2 AI Artificial Intelligence Trí tuệ nhân tạo
3 DOM Document Object Model Mô hình đối tượng tài liệu 4 RAM Random Access Memory Bộ nhớ truy cập tạm thời 5 RDBMS Relational Database
8 CPU Central Processing Unit Đơn vị xử lý trung tâm
10 HTTP Hypertext Transfer Protocol
Giao thức truyền siêu văn bản
Trang 7Danh mục hình ảnh
Hình 2.1 Biểu đồ ca sử dụng tổng quan 4
Hình 2.2 Biểu đồ phân rã ca sử dụng Requester quản lý công việc 4
Hình 2.3 Biểu đồ phân rã ca sử dụng Tìm kiếm worker 4
Hình 2.4 Biểu đồ phân rã ca sử dụng Tìm việc làm 5
Hình 2.5 Biểu đồ hoạt động Đăng ký 23
Hình 2.6 Biểu đồ hoạt động Đăng nhập 24
Hình 2.7 Biểu đồ hoạt động Worker tìm việc làm 24
Hình 2.8 Biểu đồ hoạt động Requester tạo việc làm 25
Hình 2.9 Biểu đồ hoạt động Requester quản lý công việc 25
Hình 2.10 Biểu đồ hoạt động Requester quản lý phân công công việc 26
Hình 2.11 Biểu đồ hoạt động Quản lý thông tin cá nhân 26
Hình 2.12 Biểu đồ hoạt động Worker quản lý công việc 27
Hình 2.13 Biểu đồ hoạt động Worker làm việc 27
Hình 2.14 Biểu đồ hoạt động Tìm kiếm worker 28
Hình 2.15 Biểu đồ hoạt động Admin quản lý người dùng 28
Hình 2.16 Biểu đồ hoạt động Admin quản lý công việc 29
Hình 2.17 Biểu đồ hoạt động Requester phê duyệt yêu cầu làm việc 29
Hình 3.1 Biểu đồ lớp Đăng ký 31
Hình 3.2 Biểu đồ lớp Đăng nhập 31
Hình 3.3 Biểu đồ lớp Tìm kiếm việc làm 32
Hình 3.4 Biểu đồ lớp Tìm worker 32
Hình 3.5 Biểu đồ lớp Tạo việc làm 32
Hình 3.6 Biểu đồ lớp Quản lý thông tin cá nhân của requester 33
Hình 3.7 Biểu đồ lớp Quản lý thông tin cá nhân của worker 33
Hình 3.8 Biểu đồ lớp Requester phê duyệt yêu cầu làm việc 33
Hình 3.9 Biểu đồ lớp Requester quản lý công việc 34
Hình 3.10 Biểu đồ lớp Requester quản lý phân công công việc 34
Hình 3.11 Biểu đồ lớp Woker làm việc 34
Hình 3.12 Biểu đồ lớp Admin quản lý requester 35
Hình 3.13 Biểu đồ lớp Admin quản lý worker 35
Hình 3.14 Biểu đồ lớp Admin quản lý công việc 35
Hình 3.15 Biểu đồ lớp Worker quản lý công việc 36
Hình 3.16 Biểu đồ tuần tự cho ca sử dụng Đăng ký 36
Hình 3.17 Biểu đồ tuần tự cho ca sử dụng Đăng nhập 37
Trang 8Hình 3.18 Biểu đồ tuần tự cho ca sử dụng Tìm kiếm việc làm 37
Hình 3.19 Biểu đồ tuần tự cho ca sử dụng Tìm kiếm worker 38
Hình 3.20 Biểu đồ tuần tự ca sử dụng Tạo việc làm 38
Hình 3.21 Biểu đồ tuần tự cho ca sử dụng Requester quản lý thông tin cá nhân 39Hình 3.22 Biểu đồ tuần tự cho ca sử dụng Worker quản lý thông tin cá nhân 40
Hình 3.23 Biểu đồ tuần tự cho ca sử dụng Requester phê duyệt yêu cầu làm việc 40
Hình 3.24 Biểu đồ tuần tự cho ca sử dụng Requester quản lý công việc 41
Hình 3.25 Biều đồ tuần tự cho ca sử dụng Requester quản lý phân công công việc 42
Hình 3.26 Biểu đồ tuần tự cho ca sử dụng Worker làm việc 43
Hình 3.27 Biểu đồ tuần tự cho ca sử dụng Admin quản lý requester 44
Hình 3.28 Biểu đồ tuần tự cho ca sử dụng Admin quản lý worker 44
Hình 3.29 Biểu đồ tuần tự cho ca sử dụng Admin quản lý công việc 45
Hình 3.30 Biểu đồ tuần tự cho ca sử dụng Worker quản lý công việc 45
Hình 3.31 Giao diện Đăng ký 46
Hình 3.32 Giao diện Đăng nhập 46
Hình 3.33 Giao diện Requester tạo công việc 47
Hình 3.34 Giao diện Tìm kiếm worker 47
Hình 3.35 Giao diện Quản lý thông tin cá nhân 48
Hình 3.36 Giao diện Quản lý công việc 48
Hình 3.37 Giao diện Quản lý phân công công việc 49
Hình 3.38 Giao diện Thông tin chi tiết worker 49
Hình 3.39 Giao diện Tìm kiếm việc làm 50
Hình 3.40 Giao diện Worker làm việc 50
Hình 3.41 Giao diện Thông tin chi tiết công việc 51
Hình 3.42 Giao diện Worker quản lý công việc 51
Hình 3.43 Giao diện Quản lý thông tin cá nhân 52
Hình 3.44 Sơ đồ lớp gói Guest 53
Hình 3.45 Sơ đồ lớp gói Worker 54
Hình 3.46 Sơ đồ lớp gói Requester 54
Hình 3.47 Sơ đồ lớp gói Admin 55
Hình 3.48 Sơ đồ lớp gói Truy cập và xử lý dữ liệu 55
Hình 3.49 Sơ đồ gói lớp Dự đoán 56
Hình 3.50 Tổng quản cơ sở dữ liệu 70
Hình 4.1 Mô hình microservices [6] 75
Hình 4.2 Mô hình microservices của hệ thống 76
Hình 4.3 Worker thực hiện vẽ khung hình chữ nhật 84
Trang 9Hình 4.4 Sử dụng mô hình YOLOv5 sinh ra khung hình chữ nhật 84
Hình 4.5 Worker thực hiện gán nhãn ảnh 2 85
Hình 4.6 Requester xem kết quả công việc 85
Hình 4.8 Worker thực hiện vẽ đường bao 86
Hình 4.7 Sử dụng thư viện detectron2 để sinh ra đường bao 86
Hình 4.9 Worker lựa chọn nhãn phù hợp nhất với bức ảnh 87
Hình 4.10 Kết quả đo điểm chuẩn API Tìm kiếm worker với 1000 request/s 88
Hình 4.11 Kết quả đo điểm chuẩn API Tìm kiếm worker với 2000 request/s 89
Hình 4.12 Kết quả đo điểm chuẩn API Tìm kiếm worker với 2500 request/s 89
Hình 4.13 Biểu đồ mô tả mối quan hệ giữa số lượng request/s và độ trễ của API Tìm kiếm worker 89
Hình 4.14 Kết quả đo điểm chuẩn API Tìm kiếm công việc với 100 request/s 90
Hình 4.15 Kết quả đo điểm chuẩn API Tìm kiếm công việc với 300 request/s 90
Hình 4.16 Kết quả đo điểm chuẩn API Tìm kiếm công việc với 500 request/s 91
Hình 4.17 Biểu đồ mô tả mối quan hệ giữa số lượng request/s và độ trễ của API Tìm kiếm công việc 91
Hình 4.18 Kết quả đo điểm chuẩn API lấy thông tin chi tiết phân công công việc với 1000 request/s 92
Hình 4.19 Kết quả đo kiểm chuẩn API lấy thông tin chi tiết phân công công việc với 3500 request/s 92
Hình 4.20 Kết quả đo điểm chuẩn API lấy thông tin chi tiết phân công công việc với 4000 request/s 93
Hình 4.21 Biểu đồ mô tả mối quan hệ giữa số lượng request/s và độ trễ của API lấy thông tin chi tiết phân công việc 93
Trang 10Danh mục bảng
Bảng 2.1 Bảng đặc tả ca sử dụng Đăng ký 6
Bảng 2.2 Bảng dữ liệu đầu vào ca sử dụng Đăng ký 7
Bảng 2.3 Bảng đặc tả ca sử dụng Đăng nhập 8
Bảng 2.4 Bảng dữ liệu đầu vào ca sử dụng Đăng nhập 8
Bảng 2.5 Bảng đặc tả ca sử dụng Worker tìm kiếm việc làm 9
Bảng 2.6 Bảng dữ liệu đầu vào ca sử dụng Worker tìm kiếm việc làm 9
Bảng 2.7 Bảng đặc tả ca sử dụng Tìm kiếm worker 10
Bảng 2.8 Bảng dữ liệu đầu vào ca sử dụng Tìm kiếm worker 11
Bảng 2.9 Bảng đặc tả ca sử dụng Requester tạo việc làm 12
Bảng 2.10 Bảng dữ liệu đầu vào ca sử dụng Requester tạo việc làm 12
Bảng 2.11 Bảng đặc tả ca sử dụng Requester quản lý thông tin cá nhân 13
Bảng 2.12 Bảng dữ liệu đầu vào ca sử dụng Requester quản lý thông tin cá nhân 14
Bảng 2.13 Bảng đặc tả ca sử dụng Worker quản lý thông tin cá nhân 15
Bảng 2.14 Bảng dữ liệu đầu vào ca sử dụng Worker quản lý thông tin cá nhân 15Bảng 2.15 Bảng đặc tả ca sử dụng Requester phê duyệt yêu cầu làm việc 16
Bảng 2.16 Bảng đặc tả ca sử dụng Requester quản lý công việc 17
Bảng 2.17 Bảng đặc tả ca sử dụng Requester quản lý phân công công việc 18
Bảng 2.18 Bảng đặc tả ca sử dụng Worker làm việc 19
Bảng 2.19 Bảng đặc tả ca sử dụng Admin quản lý requester 20
Bảng 2.20 Bảng đặc tả ca sử dụng Admin quản lý worker 21
Bảng 2.21 Bảng đặc tả ca sử dụng Admin quản lý công việc 21
Bảng 2.22 Bảng đặc tả ca sử dụng Worker quản lý công việc 22
Trang 11Để giúp cho các ứng dụng trí tuệ nhân tạo gia tăng tính chính xác và mức độ hiệu quả, các nhà phát triển cần một lượng lớn các tập dữ liệu đầu vào và các nhãn chú thích của chúng Phần dữ liệu mô tả này, sau đó sẽ được sử dụng để huấn luyện các mô hình học máy cũng như việc đánh giá hiệu quả của hệ thống Hiện nay, các tập dữ liệu thô có số lượng rất lớn, tuy vậy lượng dữ liệu được gán nhãn chỉ chiếm một phần nhỏ Việc xây dựng những bộ dữ liệu gán nhãn đòi hỏi một khối lượng lớn công sức và thời gian, khiến nó trở thành một rào cản đối với mọi nhà phát triển ứng dụng Trí tuệ nhân taọ Để giải quyết vấn đề này, họ có thể tự đầu tư, xây dựng bộ dữ liệu gán nhãn Tuy nhiên, tính khả thi của giải pháp này không cao bởi hạn chế về nguồn lực hiện có, cũng như việc sử dụng lượng lớn lao động chỉ cho một giai đoạn cụ thể Một lựa chọn khác là tìm đến sự hỗ trợ của lực lượng lao động tự do - freelancer trong việc gán nhãn dữ liệu
Crowdsourcing (tìm kiếm nguồn lực từ đám đông) [2] là một mô hình tìm kiếm nguồn nhân lực, trong đó một cá nhân hoặc tổ chức kêu gọi sự tham gia thực hiện của cộng đồng thông qua mạng Internet để giải quyết một công việc nào đó Các công việc được hỗ trợ rất đa dạng như lập trình, thiết kế ý tưởng, thiết kế logo, khảo sát ý kiến, v.v Người tham gia hỗ trợ có thể nhận được các phần thưởng từ người kêu gọi cho phần công việc thực hiện.Với khả năng kết nối mạnh mẽ, thuận tiện đến một lượng lớn nhân lực tự do, crowsourcing là một hình thức phù hợp để triển khai các công việc cần thực hiện trong khoảng thời gian ngắn, có khối lượng công việc lớn, hay không định kỳ Chính vì vậy, mô hình này hoàn toàn phù hợp để áp dụng cho bài toán gán nhãn dữ liệu Hiện nay ở Việt Nam, cũng đã có một số hệ thống crowdsourcing, nhưng chưa có một hệ thống nào hỗ trợ thuận tiện cho bài toán gán nhãn dữ liệu
Nhận thấy được các vấn đề trên, đồ án này sẽ trình bày việc xây dựng một hệ thống crowdsourcing, giúp kết nối những người cần thuê gán nhãn dữ liệu (người yêu cầu) và những người thực hiện gán nhãn dữ liệu (người lao động) Hệ thống cung
Trang 122 cấp các cơ chế như tổng hợp kết quả, đánh giá chất lượng công việc của người lao động Trong giới hạn thời gian thực hiện đồ án, hệ thống hiện đưa ra giải pháp cho ba bài toán bao gồm phân loại ảnh, phát hiện đối tượng và phân đoạn ngữ nghĩa Lý do lựa chọn ba bài toán này vì chúng có sự tương đồng và là những mũi nhọn nghiên cứu trong lĩnh vực Trí tuệ nhân tạo
1.2 Mô tả đề tài
Hệ thống là một trang web cho phép kết nối người cần thuê gán nhãn dữ liệu (requester) và người lao động (worker) Các chức năng chính hệ thống cung cấp bao gồm: đăng công việc gán nhãn; tìm kiếm công việc; quản lý, tổng hợp, đánh giá kết quả gán nhãn; đánh giá chất lượng làm việc của người gán nhãn Ngoài ra, hệ thống cũng cung cấp các công cụ hỗ trợ cho việc gán nhãn dữ liệu, nhằm giảm thiểu công sức của người lao động và gia tăng độ chính xác
Ba bài toán mà hệ thống hỗ trợ:
- Object detection (Phát hiện đối tượng): Xác định vị trí hiện diện của các đối tượng trong các hình hộp giới hạn theo các nhãn khác nhau Hệ thống hỗ trợ worker các công cụ như phóng to, thu nhỏ, di chuyển, thay đổi độ tương phản, độ sáng của ảnh; vẽ, xoá, ẩn, hiện đường bao quanh đối tượng; hoàn tác thao tác; sử dụng mô hình AI có sẵn để tạo ra các đường bao
- Semantic segmentation (Phân đoạn ngữ nghĩa): Xác định các đối tượng bằng đường bao quanh của chúng sử dụng những nhãn cho trước Hệ thống hỗ trợ worker tương tự như bài toán Object detection
- Image classification (Phân loại ảnh): Xác định nhãn của bức ảnh là gì Hệ thống hỗ trợ worker các công cụ như phóng to, thu nhỏ, di chuyển ảnh Một công việc do requester tạo sẽ được hệ thống phân chia thành nhiều phân công công việc, giao cho mỗi worker một phần việc Mỗi phân công gồm nhiều bức ảnh cần được gán nhãn Ngoài ra, một phân công có thể được giao cho nhiều người cùng thực hiện để tăng độ tin cậy về kết quả
1.3 Bố cục tổng quan
Đồ án bao gồm 5 chương có nội dung như sau:
Chương 1: Trình bày thực trạng thiếu hụt nguồn dữ liệu được gán nhãn trong các
hệ thống trí tuệ nhân tạo, nguyên nhân của vấn đề này Từ đó đưa ra giải pháp để giải quyết vấn đề trên
Chương 2: Phân tích yêu cầu của hệ thống, bao gồm các đối tượng sử dụng, quy
trình nghiệp vụ, biểu đồ hoạt động, biểu đồ ca sử dụng, đặc tả ca sử dụng và các yêu cầu phi chức năng của hệ thống
Trang 133
Chương 3: Thiết kết hệ thống, bao gồm các biểu đồ mô hình hoá cấu trúc, mô hình
hoá sự tương tác, thiết kế chi tiết lớp, cơ sở dữ liệu, thiết kế giao diện, kiến trúc hệ thống và các bài toán được hỗ trợ
Chương 4: Các công nghệ mà hệ thống sử dụng, trình bày chi tiết các bài toán,
đánh giá hiệu năng của hệ thống và kết quả đạt được
Chương 5: Trình bày kết luận, những gì đã làm được, chưa làm được của đồ án
và đưa ra hướng phát triển trong tương lai
Trang 144
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 2.1 Các tác nhân
Hệ thống có 4 tác nhân là Guest, Requester, Worker, Admin
• Guest là người truy cập vào hệ thống nhưng chưa đăng nhập Sau khi đăng nhập thành công Guest sẽ trở thành Requester, Worker, Admin tương ứng với vai trò của mình
• Requester là người thuê gán nhãn dữ liệu.• Worker là người thực hiện gán nhãn dữ liệu
• Admin là người quản trị hệ thống, có quyền xoá tài khoản, xoá công việc, xoá bình luận
2.2 Biểu đồ ca sử dụng
Biểu đồ ca sử dụng tổng quan
Hình 2.1 Biểu đồ ca sử dụng tổng quan
Trang 154
Biểu đồ phân rã ca sử dụng Requester quản lý công việc
Hình 2.2 Biểu đồ phân rã ca sử dụng Requester quản lý công việc
Biểu đồ phân rã ca sử dụng Tìm kiếm worker
Hình 2.3 Biểu đồ phân rã ca sử dụng Tìm kiếm worker
Trang 165
Biểu đồ phân rã ca sử dụng Tìm việc làm
Hình 2.4 Biểu đồ phân rã ca sử dụng Tìm việc làm
Trang 176 Luồng sự kiện
công Luồng sự kiện
thay thế STT Thực hiện Hành động
5a Hệ thống Thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu Guest nhập thiếu 5b Hệ thống Thông báo lỗi: Các trường nhập
không đúng định dạng
5c Hệ thống Thông báo lỗi: Email đã tồn tại 6a Hệ thống Tạo tài khoản lỗi: Thông báo lỗi Hậu điều kiện Guest đăng ký thành công tài khoản, hệ thống đã lưu tài
khoản mới, sẵn sàng đăng nhập
Trang 187 5 Xác nhận
Mục đích sử dụng Xác thực người dùng, cho phép người dùng sử dụng các chức năng của tác nhân "admin", "requester", "worker" Sự kiện kích hoạt Guest click vào button đăng nhập
4 Guest Yêu cầu đăng nhập
5 Hệ thống Kiểm tra tính hợp lệ và đầy đủ của các trường Guest nhập
6 Hệ thống Kiểm tra tài khoản tồn tại hay không 7 Hệ thống Chuyển hướng đến màn hình "Trang
chủ"
Trang 198 Luồng sự kiện
Hậu điều kiện Hệ thống lưu thông tin đăng nhập của người sử dụng, tạo lập một phiên hoạt động, lưu trạng thái, cho phép người sử dụng có thể sử dụng các chức năng và vai trò của họ
Bảng 2.3 Bảng đặc tả ca sử dụng Đăng nhập
Dữ liệu đầu vào của thông tin cá nhân bao gồm những trường sau:
STT Trường dữ liệu
Mô tả
Bắt buộc?
Điều kiện hợp lệ
Ví dụ
Bảng 2.4 Bảng dữ liệu đầu vào ca sử dụng Đăng nhập
Ca sử dụng UC03: Worker tìm kiếm việc làm
Mã usecase UC03 Tên usecase Worker tìm kiếm việc làm
Tác nhân Worker Tiền điều kiện Không
Mục đích sử dụng Cho phép người dùng tìm kiếm việc làm theo các giá trị của từng thuộc tính
Sự kiện kích hoạt Người dùng click vào tìm kiếm việc làm
Trang 209 Luồng sự kiện
chính STT Thực hiện Hành động
1 Worker Chọn chức năng "tìm kiếm việc làm" 2 Hệ thống Hiển thị màn hình tìm kiếm việc làm 3 Worker Nhập các trường tìm kiếm (mô tả
phía dưới *) 4 Worker Ấn chọn tìm kiếm
5 Hệ thống Thực hiện truy vấn vào cơ sở dữ liệu theo các trường đã nhập
Hậu điều kiện Hệ thống trả về danh sách tìm kiếm cho người dùng
Bảng 2.5 Bảng đặc tả ca sử dụng Worker tìm kiếm việc làm
Mô tả dữ liệu
STT Trường dữ liệu Bắt buộc? Điều kiện hợp lệ 1 Loại công việc không
3 Yêu cầu chất lượng worker không
Bảng 2.6 Bảng dữ liệu đầu vào ca sử dụng Worker tìm kiếm việc làm
Trang 2110
Ca sử dụng UC04: Tìm kiếm worker
Mã usecase UC04 Tên usecase Tìm kiếm worker Tác nhân Requester
Tiền điều kiện Không
Mục đích sử dụng Cho phép người dùng tìm kiếm worker theo từng giá trị của thuộc tính
Sự kiện kích hoạt Người dùng click vào tìm kiếm worker Luồng sự kiện
chính STT Thực hiện Hành động
1 Requester Chọn chức năng "tìm kiếm worker" 2 Hệ thống Hiển thị màn hình tìm kiếm worker 3 Requester Nhập các trường tìm kiếm (mô tả
phía dưới *) 4 Requester Ấn chọn tìm kiếm
5 Hệ thống Thực hiện truy vấn vào cơ sở dữ liệu theo các trường đã nhập
6 Hệ thống Trả về danh sách tìm kiếm 7 Requester Click vào worker muốn xem 8 Hệ thống Hiển thị màn hình chi tiết worker 9 Requester Ấn nút mời làm việc
10 Hệ thống Lưu thông tin mời làm việc của requester
Luồng sự kiện thay thế
Hậu điều kiện Hệ thống trả về danh sách tìm kiếm cho người dùng
Bảng 2.7 Bảng đặc tả ca sử dụng Tìm kiếm worker
Trang 2211
Mô tả trường dữ liệu
STT Trường dữ liệu Bắt buộc? Điều kiện hợp lệ
2 Chất lượng làm việc của worker không
Bảng 2.8 Bảng dữ liệu đầu vào ca sử dụng Tìm kiếm worker
Ca sử dụng UC05: Requester tạo việc làm
Mã usecase UC05 Tên usecase Requester tạo việc làm Tác nhân Requester
Tiền điều kiện Không
Mục đích sử dụng Cho phép người dùng tạo việc làm Sự kiện kích hoạt Người dùng click vào Tạo việc làm Luồng sự kiện
4 Requester Ấn nút Tạo việc
5 Hệ thống Kiểm tra tính hợp lệ và đầy đủ của các trường người dùng nhập 6 Hệ thống Tạo công việc
7 Requester Click vào worker muốn xem 8 Hệ thống Hiển thị màn hình chi tiết worker 9 Requester Ấn nút mời làm việc
10 Hệ thống Lưu thông tin mời làm việc của requester
Trang 2312 Luồng sự kiện
thay thế Hậu điều kiện
Bảng 2.9 Bảng đặc tả ca sử dụng Requester tạo việc làm
Mô tả các trường tìm kiếm
STT Trường dữ liệu Bắt buộc? Điều kiện hợp lệ
4 Số lượng task mỗi worker có 5 Tiền thưởng mỗi task có 6 Thời gian hết hạn có 7 Số lượng bản sao của mỗi assignment có 8 Yêu cầu chất lượng của worker có 9 Dữ liệu của công việc có
Bảng 2.10 Bảng dữ liệu đầu vào ca sử dụng Requester tạo việc làm
Trang 2413
Ca sử dụng UC06: Requester quản lý thông tin cá nhân
usecase
Requester quản lý thông tin cá nhân
Tác nhân Requester Tiền điều kiện Không
Mục đích sử dụng Cho phép người dùng xem, chỉnh sửa thông tin các nhân của mình
Sự kiện kích hoạt Người dùng ấn vào Thông tin các nhân Luồng sự kiện
Hậu điều kiện Hệ thống cập nhật các thông tin của requester
Bảng 2.11 Bảng đặc tả ca sử dụng Requester quản lý thông tin cá nhân
Trang 2514
Mô tả các trường cập nhật :
STT Trường dữ liệu Điều kiện hợp lệ Ví dụ
2 Số điện thoại 0972053783
4 Ảnh đại diện https://cloudinary.com/abc
Bảng 2.12 Bảng dữ liệu đầu vào ca sử dụng Requester quản lý thông tin cá nhân
Ca sử dụng UC07: Worker quản lý thông tin cá nhân Mã usecase UC07 Tên usecase Worker quản lý thông tin cá nhân
Tác nhân Worker Tiền điều kiện Không
Mục đích sử dụng Cho phép người dùng xem, chỉnh sửa thông tin các nhân của mình
Sự kiện kích hoạt Người dùng ấn vào Thông tin các nhân Luồng sự kiện
Trang 2615 Luồng sự kiện
thay thế STT Thực hiện Hành động
6a Hệ thống Thông báo lỗi: sai định dạng các giá trị nhập
Hậu điều kiện Hệ thống cập nhật các thông tin của worker
Bảng 2.13 Bảng đặc tả ca sử dụng Worker quản lý thông tin cá nhân
Mô tả các trường cập nhật :
STT Trường dữ liệu Điều kiện hợp lệ Ví dụ
2 Số điện thoại 0972053783
4 Ảnh đại diện https://cloudinary.com/abc
Bảng 2.14 Bảng dữ liệu đầu vào ca sử dụng Worker quản lý thông tin cá nhân
Trang 2716
Ca sử dụng UC08: Requester phê duyệt yêu cầu làm việc
usecase
Requester phê duyệt yêu cầu làm việc
Tác nhân Requester Tiền điều kiện Không
Mục đích sử dụng Cho phép requester quản lý công việc Sự kiện kích hoạt Requester ấn vào quản lý công việc Luồng sự kiện
Bảng 2.15 Bảng đặc tả ca sử dụng Requester phê duyệt yêu cầu làm việc
Trang 2817
Ca sử dụng UC09: Requester quản lý công việc
Mã usecase UC09 Tên usecase Requester quản lý công việc Tác nhân Requester
Tiền điều kiện
Mục đích sử dụng Cho phép người dùng quản lý công việc Sự kiện kích hoạt Requester ấn vào "Quản lý công việc" Luồng sự kiện
Hậu điều kiện Hệ thống hiển thị trang quản lý công việc
Bảng 2.16 Bảng đặc tả ca sử dụng Requester quản lý công việc
Ca sử dụng UC10: Requester quản lý phân công công việc
usecase Requester quản lý phân công công việc Tác nhân Requester
Tiền điều kiện
Mục đích sử dụng Cho phép requester quản lý phân công công việc của từng công việc
Trang 2918 Sự kiện kích hoạt Requester ấn vào phân công công việc ở Danh sách phân
công công việc Luồng sự kiện
của công việc đó
5 Requester Người dùng ấn vào phân công công việc ở danh sách phân công công việc 6 Hệ thống Trả về trang kết quả các đơn vị công
việc của phân công công việc
7 Requester Chấp nhận hoặc từ chối đơn vị công việc
8 Hệ thống Lưu lại thông tin Luồng sự kiện
thay thế
Hậu điều kiện Hệ thống hiển thị trang quản lý phân công công việc, chấp nhận từ chối đơn vị công việc
Bảng 2.17 Bảng đặc tả ca sử dụng Requester quản lý phân công công việc
Ca sử dụng UC11: Worker làm việc
Mã usecase UC11 Tên usecase Worker làm việc Tác nhân Worker
Tiền điều kiện
Mục đích sử dụng Cho phép worker làm việc
Sự kiện kích hoạt Worker ấn vào công việc ở danh sách công việc
Trang 3019 Luồng sự kiện chính STT Thực hiện Hành động
1 Worker Chọn chức năng "Quản lý công việc"
2 Hệ thống Hiển thị màn hình danh sách công việc
3 Worker Click vào công việc muốn làm 4 Hệ thống Trả về màn hình làm việc
5 Worker Người dùng làm việc và nộp kết quả
6 Hệ thống Lưu kết quả làm việc Luồng sự kiện thay
thế
Hậu điều kiện Hệ thống hiển thị màn hình làm việc, lưu kết quả làm việc
Bảng 2.18 Bảng đặc tả ca sử dụng Worker làm việc
Ca sử dụng UC12: Admin quản lý requester
Mã usecase UC12 Tên usecase Admin quản lý requester Tác nhân Admin
Tiền điều kiện
Mục đích sử dụng Cho phép admin quản lý requester Sự kiện kích hoạt Admin ấn vào tìm kiếm requester
Trang 3120 Luồng sự kiện chính STT Thực
hiện Hành động
1 Admin Chọn chức năng "Tìm kiếm requester"
2 Hệ thống Hiển thị màn hình Tìm kiếm requester
3 Admin Ấn nút xóa requester 4 Hệ thống Lưu thông tin
Luồng sự kiện thay thế
Hậu điều kiện Hệ thống hiển thị danh sách requester, lưu thông tin
Bảng 2.19 Bảng đặc tả ca sử dụng Admin quản lý requester
Ca sử dụng UC13: Admin quản lý worker
Mã usecase UC13 Tên usecase Admin quản lý worker Tác nhân Admin
Tiền điều kiện
Mục đích sử dụng Cho phép admin quản lý worker Sự kiện kích hoạt Admin ấn vào tìm kiếm worker Luồng sự kiện chính STT Thực
hiện Hành động
1 Admin Chọn chức năng "Tìm kiếm worker"
2 Hệ thống Hiển thị màn hình Tìm kiếm worker
3 Admin Ấn nút xóa worker 4 Hệ thống Lưu thông tin Luồng sự kiện thay
thế
Trang 3221 Hậu điều kiện Hệ thống hiển thị danh sách worker, lưu thông tin
Bảng 2.20 Bảng đặc tả ca sử dụng Admin quản lý worker
Ca sử dụng UC14: Admin quản lý công việc
Mã usecase UC14 Tên usecase Admin quản lý công việc Tác nhân Admin
Tiền điều kiện
Mục đích sử dụng Cho phép admin quản lý công việc Sự kiện kích hoạt Admin ấn vào tìm kiếm công việc Luồng sự kiện chính STT Thực
hiện Hành động
1 Admin Chọn chức năng "Tìm kiếm công việc"
2 Hệ thống Hiển thị màn hình Tìm kiếm công việc
3 Admin Ấn nút xóa công việc 4 Hệ thống Lưu thông tin
Luồng sự kiện thay thế
Hậu điều kiện Hệ thống hiển thị danh sách công việc, lưu thông tin người dùng
Bảng 2.21 Bảng đặc tả ca sử dụng Admin quản lý công việc
Trang 3322
Ca sử dụng UC15: Worker quản lý công việc
Mã usecase UC15 Tên usecase Worker quản lý công việc Tác nhân Worker
Tiền điều kiện
Mục đích sử dụng Cho phép người dùng quản lý công việc Sự kiện kích hoạt Worker ấn vào "Quản lý công việc" Luồng sự kiện
Hậu điều kiện Hệ thống hiển thị trang quản lý công việc
Bảng 2.22 Bảng đặc tả ca sử dụng Worker quản lý công việc
Trang 3524
Quy trình "Đăng nhập"
Hình 2.6 Biểu đồ hoạt động Đăng nhập
Quy trình "Worker tìm việc làm"
Trang 3625
Quy trình "Requester tạo việc làm"
Quy trình "Requester quản lý công việc"
Trang 3726
Quy trình "Requester quản lý phân công công việc"
Quy trình "Quản lý thông tin cá nhân"
Trang 3827
Quy trình "Worker quản lý công việc"
Quy trình "Worker làm việc"
Hình 2.13 Biểu đồ hoạt động Worker làm việc
Trang 3928
Quy trình "Tìm kiếm worker"
Quy trình "Admin quản lý người dùng"
Trang 4029
Quy trình "Admin quản lý công việc"
Hình 2.16 Biểu đồ hoạt động Admin quản lý công việc
Quy trình "Requester phê duyệt yêu cầu làm việc"
Hình 2.17 Biểu đồ hoạt động Requester phê duyệt yêu cầu làm việc