Xây dựng hệ thống crowdsourcing cho việc gán nhãn dữ liệu ảnh

107 1 0
Tài liệu đã được kiểm tra trùng lặp
Xây dựng hệ thống crowdsourcing cho việc gán nhãn dữ liệu ảnh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 1

Xây dựng hệ thống crowdsourcing cho việcgán nhãn dữ liệu ảnh

Trang 2

Biể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 3

Quy 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 4

Biể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 5

Cá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 6

PHỤ 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 7

Danh 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 8

Hì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 9

Hì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 10

Danh 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 12

2 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 13

3

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 14

4

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 15

4

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 16

5

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 17

6 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 18

7 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 19

8 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 20

9 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 21

10

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 22

11

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 23

12 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 24

13

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 25

14

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 26

15 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 27

16

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 28

17

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 29

18 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 30

19 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 31

20 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 32

21 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 33

22

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 35

24

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 36

25

Quy trình "Requester tạo việc làm"

Quy trình "Requester quản lý công việc"

Trang 37

26

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 38

27

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 39

28

Quy trình "Tìm kiếm worker"

Quy trình "Admin quản lý người dùng"

Trang 40

29

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

Ngày đăng: 16/05/2024, 13:26

Tài liệu cùng người dùng

Tài liệu liên quan