1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết Kế Phần Mềm Akajob Kiến Trúc Phần Mềm – Các Chủ Để Nâng.pdf

50 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Trường Công nghệ thông tin và Truyền thông

Tài liệu kiến trúc phần mềm

(Software Architecture Document) Phiên bản 1.4

THIẾT KẾ PHẦN MỀM AKAJOB

Học phần Kiến trúc phần mềm – Các chủ để : nâng cao

Nhóm 7

Hoàng Việt Bách – 20212236M Cao Minh Sơn - 20212625M

CNTT21B

Hà Nội, ngày 30 tháng 05 năm 2023

Trang 2

Lịch sử thay đổi tài liệu

30/05/2023 1.0 Tạo dàn ý báo cáo Hoàng Việt Bách 02/06/2023 1.1 Hoàn thành các phần giới thiệu tổng

diagram

Hoàng Việt Bách

Trang 3

2.1 Giới thiệu chung 8

2.2 Các yêu cầu phi chức năng 9

2.2.1 Yêu cầu về hiệu năng 9

2.2.2 Yêu cầu về tính sẵn sàng 9

2.2.3 Yêu cầu về tính tích hợp 9

2.2.4 Yêu cầu về bảo mật 10

2.2.5 Yêu cầu về cơ sở dữ liệu 10

2.2.6 Yêu cầu về phân quyền 10

2.2.7 Yêu cầu về giám sát, ghi nhật ký và cảnh báo 10

2.2.8 Yêu cầu về sao lưu – khôi phục 10

3 Khung nhìn Use case 10

3.1 Biểu đồ use case 11

3.1.1 Biểu đồ use case tổng quan 11

3.1.2 Biểu đồ use case phân rã 12

5.1 Các mẫu kiến trúc đang sử dụng 31

5.1.1 Mẫu kiến trúc Microservice 32

5.1.2 Mẫu kiến trúc Client-server 31

5.2 Công nghệ sử dụng 35

Trang 4

6.3.3 Thiết kế kiến trúc theo khía cạnh tĩnh 42

6.3.4 Thiết kế kiến trúc theo khía cạnh động 46

7 Đánh giá mẫu kiến trúc hiện tại 47

8 Đánh giá mã nguồn 48

Trang 5

Danh mục hình vẽ

Hình 1 : Biểu đồ usecase tổng quan các chức năng của Ứng viên, QLDA, Admin, Trưởng

đơn vị 11

Hình 2 : Biểu đồ phân rã usecase “Các chức năng khai báo thông tin” 12

Hình 3 Biểu đồ phân rã usecase “Các chức năng liên quan tới tuyển dụng/chi trả” 13

Hình 4 Biểu đồ phân rã usecase “Các chức năng phê duyệt công việc” 13

Hình 5 Biểu đồ phân rã usecase “Cấu hình hệ thống” 14

Hình 6 Quy trình nghiệp vụ của module Job 15

Hình 7 Biểu đồ hoạt động chức năng “Đăng tuyển công việc” 17

Hình 8 Biểu đồ hoạt động chức năng “Phê duyệt công việc” 20

Hình 9 Biểu đồ hoạt động chức năng “Ứng tuyển công việc” 22

Hình 10 Biểu đồ hoạt động chức năng “Thuê ứng viên” 24

Hình 11 Biểu đồ hoạt động chức năng “Phê duyệt ứng viên” 27

Hình 12 Biểu đồ hoạt động chức năng “Chi trả ứng viên” 29

Hình 13 Ý tưởng kiến trúc sử dụng 30

Hình 14 Kiến trúc tổng quan của hệ thống Akajob 32

Hình 15 Kiến trúc chi tiết hệ thống Akajob 33

Hình 16 Công nghệ sử dụng trong hệ thống Akajob 35

Hình 17 Kiến trúc tổng quan theo mô hình Client-Server 36

Hình 18 Cấu trúc liên kết giữa Client và Server 36

Hình 19.Thiết kế một component trong Angular 37

Hình 20.Thiết kế một module trong Angular 38

Hình 21 Luồng hoạt động của ứng dụng Angular 39

Hình 22 Kiến trúc đề xuất cải tiến 40

Hình 23 Kiến trúc Service Job 41

Hình 24 Biểu đồ gói của service Job 42

Hình 25 Biểu đồ lớp một số chức năng của service Job 44

Hình 26 Biểu đồ triển khai của hệ thống akajob 45

Hình 27 Biểu đồ trình tự chức năng “Đăng tuyển công việc” 46

Hình 28 Biểu đồ trình tự chức năng “Ứng tuyển công việc” 46

Trang 6

Hình 29 Mã nguồn ví dụ về vi phạm Content coupling 49

Hình 30 Mã nguồn ví dụ về vi phạm Control coupling 50

Hình 31 Mã nguồn ví dụ về vi phạm Stamp coupling 50

Hình 32 Mã nguồn ví dụ về vi phạm Temporal cohesion 51

Hình 33 Mã nguồn ví dụ về vi phạm Procedural coupling 51

Hình 34 Mã nguồn ví dụ về tuân thủ nguyên tắc “Dependency Inversion Principle” 52

Trang 7

1 Giới thiệu

1.1 Mục đích

Tài liệu này mô tả một cách tổng quan và giải thích kiến trúc của hệ thống Akajob Akajob là một hệ thống kết nối việc làm đang được sử dụng bởi gần 30.000 người dùng trong nội bộ doanh nghiệp, được sử dụng như một nơi trung gian để kết nối giữa người tuyển dụng và ứng viên

Tài liệu này sẽ cung cấp một cái nhìn tổng quan về kiến trúc phần mềm đang được áp dụng trong hệ thống Akajob, các usecase chính đang được sử dụng, các mô hình thiết kế,… Các cơ sở lý thuyết của kiến trúc hiện tại sẽ được đề cập trong tài liệu này nhằm giúp người đọc hiểu rõ hơn về hệ thống Ngoài ra, tài liệu cũng sẽ phân tích các ưu nhược điểm hiện có của hệ thống và đề xuất các phương án cải thiện

1.2 Phạm vi

Do mô hình và số lượng service của hệ thống Akajob là tương đối lớn, tài liệu này sẽ tập trung phân tích kiến trúc tổng quan, các mẫu thiết kế đang áp dụng và đi sâu vào phân tích các dịch vụ chính của hệ thống bao gồm phân tích use case, luồng nghiệp vụ,…

Các thành viên thực hiện tài liệu này bao gồm:

- Thực hiện vẽ, phân tích các usecase - Thực hiện vẽ, phân tích các mẫu kiến

trúc

Divide and conquer, Increase cohesion, Reduce coupling, …

- Đánh giá mã nguồn theo các tiêu chí Coupling, Cohesion, SOLID

1.3 Khái niệm, từ viết tắt

Báo cáo sử dụng các khái niệm, các từ viết tắt sau: • QLDA – Quản lý dự án

• HTTP – Hypertext Transfer Protocol

• Request – Yêu cầu được gửi từ phía client

Trang 8

• Response – Phản hồi của hệ thống• User - Người dùng hệ thống

Cuối cùng, sẽ mô tả chi tiết về các mẫu kiến trúc đã lựa chọn Bằng việc chọn một vài component chính để thiết kế chi tiết, sẽ giúp mọi người hiểu rõ hơn về biểu đồ giữa các lớp, biểu đồ triển khai; cũng như sự tương tác giữa các component như thế nào

2 Mục đích và các ràng buộc

2.1 Giới thiệu chung

Hiện nay trong các doanh nghiệp lớn, cụ thể là trong các doanh nghiệp công nghệ thông tin, số lượng đơn vị, phòng ban là rất nhiều, kèm theo đó là khối lượng công việc, các dự án mà các đơn vị, phòng ban đó phụ trách cũng rất lớn, khiến cho nguồn nhân lực hiện có của các đơn vị thường xuyên bị quá tải và cần bổ sung nhân lực gấp Tuy nhiên, việc tuyển dụng thêm nhân lực đôi khi mất quá nhiều thời gian, khiến cho dự án có thể bị chậm tiến độ, dẫn đến giảm uy tín của công ty Thêm vào đó, việc tuyển dụng thêm có thể có ích cho dự ántrong một thời điểm nhất định, tuy nhiên khi dự án kết thúc, đơn vị sẽ bị dư thừa nhân lực Ngoài ra, hiện nay, nhu cầu nhận thêm việc làm thêm của các nhân viên trong công ty là rất lớn, ngoài thời gian làm việc cho dự án chính, họ mong muốn được nhận thêm việc để kiếm thêm thu nhập

Hiểu được các nhu cầu đó, hệ thống Akajob ra đời, đóng vai trò như một cầu nối giúp các dự án cần tuyển dụng và các ứng viên có nhu cầu làm thêm có thể kết nối với nhau Người quản lý của các dự án sẽ đăng tải các công việc cần tuyển lên hệ thống, bao gồm các thông tin như ngân sách tuyển dụng, số lượng tuyển dụng, mô tả công việc, kỹ năng yêu cầu,… Các ứng viên cũng sẽ cần khai báo các thông tin lên hệ thống như các kỹ năng hiện có, chứng chỉ, khóa học đã đạt được,… Sau khi đôi bên đã cung cấp đủ thông tin, hệ thống sẽ tính toán và gợi ý cho đôi bên về các đối tượng phù hợp, sau đó dự án có thể thuê ứng viên và ngược lại, các ứng viên có thể ứng tuyển vào các dự án được gợi ý Sau khi hoàn thành

Trang 9

tất cả, hoặc một phần công việc, quản lý dự án sẽ tiến hành đăng ký chi trả cho ứng viên Việc chi trả sẽ được thực hiện thông qua một bên thứ ba, từ đó số tiền quyết toán sẽ được cộng vào kỳ lương tiếp theo của ứng viên

Ngoài chức năng kết nối tuyển dụng, về sau, Akajob cũng đã được phát triển bổ sung các tính năng như theo dõi, quản lý tiến độ học tập của nhân viên, quản lý chứng chỉ, kết nối người học và người dạy,…

Các đối tượng chính sử dụng trong hệ thống bao gồm: nhân viên trong công ty, quản lý dự án, trưởng đơn vị, quản trị hệ thống

Các giá trị mà hệ thống Akajob mang lại:

- Tối ưu hóa nguồn lực của công ty, tận dụng ngay các ứng viên trong công ty để tuyển dụng

- Là cấu nối giúp dự án tuyển dụng và ứng viên tìm thấy nhau

- Tiết kiệm chi phí cho dự án, dự án không cần phải thuê dài hạn với một người mới trong thời gian dài

- Tạo cơ hội để nhân viên có thể kiếm thêm thu nhập

- Là một kênh để nhân viên quản lý các chứng chỉ, kỹ năng của bản thân

2.2 Các yêu cầu phi chức năng

2.2.1 Yêu cầu về hiệu năng Về thời gian phản hồi:

- Thời gian tìm kiếm không vượt quá 1 giây - Thời gian load page không vượt quá 2 giây - Thời gian nhận phản hồi API không vượt quá 1 giây Số lượng người dùng đồng thời:

- Hệ thống phải có khả năng chịu tải khi có 200 người dùng đồng thời nhưng vẫn đảm bảo yêu cầu về thời gian phản hồi như trên

Trang 10

2.2.4 Yêu cầu về bảo mật

- Người dùng hệ thống phải được xác thực và cấp quyền trước khi sử dụng, đảm bảo user không có quyền không thể truy cập các chức năng giới hạn

- Hệ thống có thể ngăn ngừa tấn công Cross site - Hệ thống đảm bảo giới hạn dung lượng file tải lên 2.2.5 Yêu cầu về cơ sở dữ liệu

- Cơ sở dữ liệu phải có khả năng truy cập bất hợp pháp - Cơ sở dữ liệu có cơ chế sao lưu – khôi phục2.2.6 Yêu cầu về phân quyền

- Hệ thống phải đảm bảo các yêu cầu về xác thực theo quy định của công ty

- Hệ thống phải có cơ chế phân quyền đến các chức năng theo phạm vi sử dụng của từng đơn vị

2.2.7 Yêu cầu về giám sát, ghi nhật ký và cảnh báo

- Hệ thống phải cung cấp các dạng nhật ký để theo dõi, giám sát và dễ dàng truy vết các hoạt động của người dùng trên từng module như nhật ký truy cập để ghi nhận các request từ người dùng, nhật ký lỗi để ghi nhận các lỗi xảy ra trong hệ thống, nhật ký hệ thống để ghi nhận các thao tác, thời điểm và dữ liệu đã bị tác động vởi người dùng

- Hệ thống phải cung cấp cơ chế cảnh báo cho quản trị hệ thống nếu tài nguyên máy chủ đạt một ngưỡng nhất định hoặt khi hệ thống đang có số lượng người truy cập cao bất thường

2.2.8 Yêu cầu về sao lưu – khôi phục

- Hệ thống phải có các giải pháp sao lưu định kỳ - Đảm bảo có thể khôi phục hệ thống

3 Khung nhìn Use case

Như đã trình bày ở trên, do số lượng service của hệ thống tương đối lớn, nên trong tài liệu này nhóm xin phép tập trung vào phân tích các tác nhân của các service chính trong hệ thống Các tác nhân bao gồm: Ứng viên, Quản lý dự án (QLDA), Trưởng đơn vị và Admin.Trong đó, ứng viên là những nhân viên có nhu cầu tìm kiếm việc làm thêm

Quản lý dự án là người đứng đầu của dự án, phụ trách đăng tải các công việc lên hệ thống và tuyển dụng ứng viên.

Trưởng đơn vị là người đứng đầu đơn vị của Quản lý dự án Việc đăng tải công việc, tuyển dụng và chi trả đều phải có sự phê duyệt của Trưởng đơn vị

Trang 11

Admin là quản trị của toàn hệ thống, phụ trách cấu hình, phân quyền trên hệ thống

3.1 Biểu đồ use case

3.1.1 Biểu đồ use case tổng quan

Với người dùng là ứng viên, hệ thống sẽ yêu cầu ứng viên khai báo các thông tin cá nhân ở lần đăng nhập đầu tiên Ứng viên sẽ phải khai báo các thông tin như bằng cấp, kỹ năng và mức độ của mỗi kỹ năng, chứng chỉ đã đạt được, các khóa học đã hoàn thành

Với đối tượng là QLDA, khi người dùng đăng tuyển dụng lên hệ thống sẽ phải nhập các thông tin như Ngân sách MM, số người cần tuyển, thời gian công việc, mô tả công việc, kỹ năng yêu cầu,… Sau khi được Trưởng đơn vị phê duyệt, QLDA mới có thể thuê ứng viên Trưởng đơn vị là người có nhiệm vụ phê duyệt các yêu cầu như phê duyệt công việc, phê duyệt thuê ứng viên, phê duyệt chi trả cho ứng viên

Admin là quản trị hệ thống, có nhiệm vụ cấu hình các thông số của hệ thống cũng như phân quyền cho người dùng của hệ thống

Hình 1 : Biểu đồ usecase tổng quan các chức năng của Ứng viên, QLDA, Admin, Trưởng đơn vị

Trang 12

3.1.2 Biểu đồ use case phân rã

3.1.2.1 Phân rã use case “Các chức năng khai báo thông tin”

Hình 2 : Biểu đồ phân rã usecase “Các chức năng khai báo thông tin”3.1.2.2 Phân rã use case “Các chức năng liên quan tới tuyển dụng/chi trả”

Trang 13

Hình 3 Biểu đồ phân rã usecase “Các chức năng liên quan tới tuyển dụng/chi trả”3.1.2.3 Phân rã use case “Các chức năng phê duyệt công việc”

Hình 4 Biểu đồ phân rã usecase “Các chức năng phê duyệt công việc”

Trang 14

- Đã đăng nhập vào hệ thống- Có quyền đăng ký công việc

d Luồng sự kiện chính (đăng ký thành công) - Bước 1: QLDA chọn chức năng “Tạo công việc”- Bước 2: Hệ thống hiển thị giao diện Tạo công việc- Bước 3: QLDA điền thông tin

- Bước 4: QLDA click vào nút Submit

- Bước 5: Hệ thống kiểm tra xem các trường bắt buộc đã được nhập hay chưa- Bước 6: Hệ thống kiểm tra xem các trường đã nhập có hợp lệ hay không

- Bước 7: Hệ thống hiển thị Popup hỏi QLDA có muốn gửi mail cho các ứng viên tiềm năng hay không

Các luồng sự kiện phụ, có thể khiến chức năng hoạt động khác luồng chính:

1 Bước 5 Nếu QLDA nhập thiếu trường

Hệ thống báo lỗi cần nhập các trường yêu cầu

Bước 2 2 Bước 6 Nếu QLDA nhập thông

Bước 10

Trang 15

tiềm năng f Biểu đồ hoạt động

Hình 7 Biểu đồ hoạt động chức năng “Đăng tuyển công việc”g Dữ liệu đầu vào

Trang 16

4 Headcount Số người muốn thuê

thiểu cho mỗi ứng viên

14 Xjob recruitment Type

Loại hình thuê Có 15 Job description Mô tả công việc Có

năng

Có h Dữ liệu đầu ra

Không i Hậu điều kiện Không

3.2.2.2 Đặc tả usecase UC 02 “Phê duyệt công việc”a Giới thiệu

-Usecase mô tả tương tác giữa Trưởng đơn vị và hệ thống khi Trưởng đơn vị phê duyệt công việc

b Tác nhân

Trang 17

Trưởng đơn vị c Tiền điều kiện

- Đã đăng nhập vào hệ thống- Có quyền Trưởng đơn vị

- QLDA đăng ký công việc trực thuộc phòng ban của Trưởng đơn vịd Luồng sự kiện chính (phê duyệt thành công)

- Bước 1: Trưởng đơn vị truy cập chi tiết công việc cần phê duyệt- Bước 2: Hệ thống hiển thị màn hình chi tiết công việc- Bước 3: Trưởng đơn vị click nút “Approve”

- Bước 4: Hệ thống hiển thị popup bao gồm các trường BudgetedMM (đang được hiển thị thông tin Budgeted MM mà QLDA đã nhập)

- Bước 5: Trưởng đơn vị chọn “Yes”

- Bước 6: Hệ thống kiểm tra xem trường bắt buộc đã được nhập chưa- Bước 7: Hệ thống kiểm tra xem thông tin đầu vào có hợp lệ không- Bước 8: Hệ thống cập nhật trạng thái cho công việc và gửi mail cho QLDA- Bước 9: Hệ thống cập nhật lại màn chi tiết công việc

e Luồng sự kiện thay thế

Các luồng sự kiện phụ, có thể khiến chức năng hoạt động khác luồng chính:

1 Bước 3 Nếu trưởng đơn vị click nút Reject và chọn Yes

Hệ thống hiện thị popup để nhập lý do từ chối và hai nút “Yes”, “Cancel” Nếu chọn Yes, cập nhật trạng thái cho CV, gửi mail cho QLDA Cập nhật lại trang chi tiết CV

Bước 2

2 Bước 3 Nếu trưởng đơn vị click nút Reject và chọn Cancel

Nếu chọn Cancel, trở lại màn hình chi tiết CV

Bước 2

3 Bước 6 Nếu trưởng đơn vị xóa thông tin ở trường BudgetedMM và ấn Yes

Hệ thống báo lỗi cần nhập các trường yêu cầu

Bước 4

Trang 18

4 Bước 6 Nếu trưởng đơn vị chỉnh sửa thông tin Bugeted MM và ấn yes

Hệ thống lưu cập nhật CV với Budgeted MM mà Trưởng đơn vị vừa chỉnh sửa, gửi mail cho QLDA

Trang 19

1 Budgeted MM Quỹ MM h Dữ liệu đầu ra

Không i Hậu điều kiện Không

3.2.2.3 Đặc tả usecase UC-03 “Ứng tuyển công việc” a Giới thiệu

Usecase mô tả tương tác giữa Ứng viên và hệ thống khi Ứng viên ứng tuyển vào công việc b Tác nhân

Ứng viên c Tiền điều kiện

- Đã đăng nhập vào hệ thống- Có quyền nhân viên

- Công việc đã được trưởng đơn vị phê duyệtd Luồng sự kiện chính (ứng tuyển thành công) - Bước 1: Ứng viên truy cập công việc - Bước 2: Hệ thống hiển thị chi tiết công việc- Bước 3: Ứng viên click “Apply”

- Bước 4: Hệ thống hiện thị popup xác nhận, bao gồm trường “Lý do ứng tuyển” và 2 button “Submit” và “Cancel”

- Bước 5: Ứng viên điền thông tin và ấn “Submit”- Bước 6: Hệ thống kiểm tra trường bắt buộc

- Bước 7: Hệ thống lưu thông tin ứng viên vào hệ thống, gửi mail cho QLDAe Luồng sự kiện thay thế

Các luồng sự kiện phụ, có thể khiến chức năng hoạt động khác luồng chính:

Trang 20

Hình 9 Biểu đồ hoạt động chức năng “Ứng tuyển công việc”g Dữ liệu đầu vào

3.2.2.4 Đặc tả usecase UC-04 “Thuê ứng viên” a Giới thiệu

Trang 21

Usecase mô tả tương tác giữa QLDA và hệ thống khi QLDA thuê ứng viên b Tác nhân

QLDA c Tiền điều kiện

- Đã đăng nhập vào hệ thống- Có quyền QLDA

- Công việc đã được trưởng đơn vị phê duyệt- Ứng viên đã ứng tuyển vào công việcd Luồng sự kiện chính (thuê thành công) - Bước 1: QLDA truy cập danh sách ứng viên- Bước 2: Hệ thống hiển thị danh sách ứng viên- Bước 3: QLDA click nút “Hire” với ứng viên tương ứng- Bước 4: Hệ thống hiển thị popup điền thông tin thuê- Bước 5: QLDA nhập thông tin và ấn “Hire”- Bước 6: Hệ thống kiểm tra các trường bắt buộc

- Bước 7: Hệ thống kiểm tra dữ liệu đầu vào có hợp lệ không

- Bước 8: Hệ thống lưu thông tin ứng viên và gửi mail cho trưởng đơn vị- Bước 9: Cập nhật lại màn danh sách ứng viên

e Luồng sự kiện thay thế

Các luồng sự kiện phụ, có thể khiến chức năng hoạt động khác luồng chính:

1 Bước 3 Nếu QLDA click “Add candidate”

Hiển thị form giống ở bước 4 nhưng tại trường Account, QLDA sẽ nhập account của ứng viên muốn tuyển

tin không hợp lệ bao gồm:

- Skill của ứng

Hệ thống hiển thị lỗi thông tin không hợp lệ

Bước 4

Trang 22

viên không phù hợp của Công việc

- Ứng viên chưa hoàn thành ít nhất 90% công việc ở dự án chính của mình - Số MM thuê >

Số budget MM - Tổng tiền thuê

(bao gồm MM * giá mỗi MM) > số tiền tối đa ở mục chi tiết CV f Biểu đồ hoạt động

Hình 10 Biểu đồ hoạt động chức năng “Thuê ứng viên”g Dữ liệu đầu vào

hợp lệ

Ví dụ

Trang 23

1 Account Account ứng viên Có

3.2.2.5 Đặc tả usecase UC-05 “Phê duyệt ứng viên”a Giới thiệu

Usecase mô tả tương tác giữa Trưởng đơn vị và hệ thống khi Trưởng đơn vị thuê ứng viên b Tác nhân

Trưởng đơn vị c Tiền điều kiện

- Đã đăng nhập vào hệ thống- Có quyền Trưởng đơn vị

- Công việc đã được trưởng đơn vị phê duyệt

- QLDA của công việc trực thuộc phòng ban của trưởng đơn vị- Ứng viên đã được QLDA thuê

d Luồng sự kiện chính (phê duyệt thành công)

- Bước 1: Trưởng đơn vị truy cập danh sách ứng viên chờ phê duyệt- Bước 2: Hệ thống hiển thị danh sách ứng viên chờ phê duyệt- Bước 3: Trưởng đơn vị click nút “Approve”

Trang 24

- Bước 4: Hệ thống hiển thị popup gồm các trường như số MM, giá mỗi MM và tổng số tiền Trường MM và giá mỗi MM có giá trị khởi tạo là giá trị là QLDA đã nhập, các trường này có thể sửa được

- Bước 5: Trưởng đơn vị click nút “Agree”- Bước 6: Hệ thống kiểm tra các trường bắt buộc

- Bước 7: Hệ thống kiểm tra tính hợp lệ của dữ liệu đầu vào

- Bước 8: Hệ thống cập nhật trạng thái và các thông tin sửa đổi nếu có cho ứng viên, gửi mail cho QLDA và ứng viên

e Luồng sự kiện thay thế

Các luồng sự kiện phụ, có thể khiến chức năng hoạt động khác luồng chính:

click “Reject”, sau đó chọn Yes

Hiển thị form yêu cầu nhập lý do từ chối Nếu chọn Yes, hệ thống validate trường bắt buộc Hệ thống cập nhật thông tin của ứng viên

Bước 2

click “Reject”, sau đó chọn No

Đóng popup, trở lại màn hình trước đó

Bước 2

buộc không được nhập

Hệ thống báo lỗi yêu cầu nhập các trưởng bắt buốc

Bước 4

đổi số MM và giá mỗi Mm

Hệ thống kiểm tra xem thông tin nhập có hợp lệ không, báo lỗi trong các trường hợp sau:

- Nếu số MM lớn hơn số Budgeted MM

- Tổng giá lớn hơn tổng số tiền chi tối đa ở trong phần thông tin công việc

Bước 4

Ngày đăng: 13/06/2024, 09:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN