Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 5. Tên công việc được sinh ra cố thông tin số lần thực hiện (lần 2, lần 3,...)

4. Use case (Các trường hợp có thể phát sinh)

4.1 Luồng tuần tự

Image Added

     4.1.1 Các trường hợp trả lại

  • Trả về cách bước: Bước 5 trả về bước 3. Bước 3 trả về bước 1

     4.1.2 Các trường hợp đi tiếp

  • Bước 1 đi tiếp theo quy trình, Bước 3 đi tiếp theo quy trình
  • Bước 1 đi tiếp theo quy trình, Bước 3 nhảy bước
  • Bước 1 nhảy bước, bước 3 đi tiếp theo quy trình
  • Bước 1 nhảy bước, bước 3 nhảy bước

4.2 Luồng song song cố định

Image Added

     Các trường hợp trả lại

  • TH1: Bước 4 trả về bước 3a. Bước 3a trả về bước 3b hoặc 3c 
    • Bước 3b thực hiện đi tiếp theo quy trình → chuyển đến Bước 4 (do bước 3a đã hoàn thành)
    • Bước 3b thực hiện trả về bước yêu cầu → sinh lại công việc Bước 3aBước 3a thực hiện đi tiếp → đến bước 4 (do bước 3b đã hoàn thành)
    • Bước 3b thực hiện trả về bước yêu cầu → sinh công việc Bước 3aBước 3a thực hiện trả về bước yêu cầu → đến Bước 4
  • TH2: Bước 4 trả về bước 3a. Bước 3a trả về Bước 2
    • Bước 2 thực hiện đi tiếp theo quy trình → sinh công việc bước 3a, 3b, 3cBước 3a thực hiện đi tiếp theo quy trình, Bước 3b, 3c xử lý bình thường → sinh công việc bước 4
    • Bước 2 thực hiện đi tiếp theo quy trình → sinh công việc bước 3a, 3b, 3cBước 3a thực hiện nhảy bước → sinh công việc bước 4, Bước 3b, 3c xử lý bình thường → sinh công việc bước 4 lần tiếp theo?
    • Bước 2 thực hiện nhảy bước → sinh công việc bước 3aBước 3a thực hiện đi tiếp → sinh công việc bước 4 (do 3b và 3c đã hoàn thành)
    • Bước 2 thực hiện nhảy bước → sinh công việc bước 3aBước 3a thực hiện nhảy bước → sinh công việc bước 4
  • TH3: Bước 3a trả về bước 2. Bước 2 trả về bước 1
    • Bước 1 thực hiện đi tiếp theo quy trình → sinh công việc bước 2Bước 2 thực hiện đi tiếp theo quy trình,  sinh công việc bước 3a, 3b, 3c
    • Bước 1 thực hiện đi tiếp theo quy trình → sinh công việc bước 2Bước 2 thực hiện nhảy bước,  sinh công việc bước 3a → hoàn thành công việc bước 3a → sinh công việc bước 4 (do bước 3b và 3c đã hoàn thành trước đó)
  • TH4:Bước 3a, 3b trả về bước 2. Bước 2 trả về bước 1
    • Bước 2 thực hiện đi tiếp công việc → sinh công việc bước 3a, 3b, 3c
    • Bước 2 thực hiện nhảy bước → sinh công việc bước 3a và 3b → hoàn thành bước 3a và 3b → sinh ra công việc bước 4 (do bước 3c đã hoàn thành trước đó)
  • TH5:Bước 5 trả về gateway để cả 3 bước 3a, 3b, 3c thực hiện lạ → có phát sinh nghiệp vụ này không?
    • Bước 3a, 3b, 3c thực hiện chạy tiếp quy trình → sinh công việc Bước 4
    • Bước 3a, 3b, 3c thực hiện nhảy bước → sinh ra công việc bước 5
    • Bước 3a thực hiện chạy tiếp quy trình, bước 3b 3c thực hiện nhảy bước → xử lý thế nào
  • TH6: Bước 5 trả về nhiều bước 3a, 3b, 3c, cả bước 3a và 3b trả về bước 3c
    • Bước 3c hoàn thành → bước 3a 3b từ chối → sinh công việc Bước 3c lần 3 → hoàn thành Bước 3c lần 3 → sinh công việc Bước 4
    • Bước 3a, 3b, 3c từ chối về các bước khác nhau?

4.3 Luồng node linh động

Image Added

Các trường hợp trả lại

  • Bước 5 trả về node linh động 1 (1 công việc):
    • Công việc node linh động sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn thực hiện theo quy trình → sinh ra công việc bước 3
    • Công việc node linh đông sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn nhảy bước → sinh ra công việc bước 5
  • Bước 5 trả về node linh động 1 (nhiều công việc song song):
    • Công việc node linh động sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn thực hiện theo quy trình → sinh ra công việc bước 3 (do các công việc linh động khác trước đó đã hoàn thành)
    • Công việc node linh đông sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn nhảy bước → sinh ra công việc bước 5
  • Bước 5 trả về node linh động 1 (nhiều công việc tuần tự: Công việc 1 - Công việc 2 - Công việc 3):
    • Công việc node linh động sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn thực hiện theo quy trình → sinh ra công việc công việc linh động 2 
    • Công việc node linh đông sinh ra → hoàn thành công việc linh động 1 sinh ra công việc lựa chọn nhảy bước → sinh ra công việc bước 5
  • Bước 5 trả về node linh động 1 (nhiều công việc tuần tự: Song song 1 - Song song 2 - Tuần tự 3):
    • Công việc song song 1 sinh ra → hoàn thành lựa chọn thực hiện theo quy trình → sinh ra công việc công việc Tuần tự 3 (do công việc song song 2 đã hoàn thành trước đó) 
    • Công việc song song 1 sinh ra → hoàn thành lựa chọn nhảy bước → sinh ra công việc Bước 5 
  • Công việc bước linh động 2 (1 công việc): trả về bước 1:
    • Bước 1 sinh ra → lựa chọn thực hiện theo quy trình → sinh ra công việc Node linh động 1
    • Bước 1 sinh ra → lựa chọn thực hiện theo quy trình → sinh ra công việc Node linh động 2
  • Công việc linh đông 2 (Công việc song song 1b - Công việc song song 2b - Công việc Tuần tự 3b) trả về công việc linh động 1 (Công việc song song 1a - Công việc song song 2a - Công việc Tuần tự 3a)
    • Công việc song song 1a sinh ra → hoàn thành lựa chọn thực hiện theo quy trình → sinh ra công việc công việc Tuần tự 3a (do công việc song song 2a đã hoàn thành trước đó) 
    • Công việc song song 1a sinh ra → hoàn thành lựa chọn nhảy bước → sinh ra công việc song song 1b bước linh động 2 → hoàn thành sinh ra công việc tuần tự 3b(do công việc song song 2b đã hoàn thành trước đó)
    • Công việc song song 1a sinh ra → hoàn thành lựa chọn nhảy bước → sinh ra công việc tuần tự 3b bước linh động 2 → trường hợp là node tuần tự 3b là bước trả về)

4.4 Trả về 2 lần khác subprocess

Image Added

  • Bước 4 trả về Bước 3, Bước 3 trả về một bước trong Subprocess 2
  • Bước 3 trả về một bước trong Subprocess 2, Subprocess 2 trả về Subprocess 1