BPMN Mining
VI EN
Đăng nhập Đăng ký miễn phí
Tài liệu / Chức năng

Sơ đồ BPMN

Cách vẽ, dàn trang tự động và ý nghĩa màu sắc.

Sơ đồ BPMN là góc nhìn “đúng ký pháp”, dùng để trình bày với người khác — ai quen BPMN đều đọc được ngay mà không cần giải thích.

Ký pháp

HìnhNghĩaMàu
Hình tròn viền mảnhSự kiện bắt đầuXanh lá
Hình tròn viền đôiSự kiện kết thúcĐỏ
Chữ nhật bo gócCông việc, kèm thời gian và chi phíXanh dương
Hình thoi ✕Cổng loại trừCam
Hình thoi +Cổng song songVàng
Viền hồngNằm trên đường găngHồng
Nét đứt camLuồng quay lui (rework)Cam

Xem sơ đồ: thu phóng, kéo, toàn màn hình

Thanh công cụ phía trên sơ đồ có bộ điều khiển dùng cho cả sơ đồ BPMN lẫn đồ thị:

Thao tácCách làm
Phóng to / thu nhỏ Nút + / −, hoặc Ctrl + cuộn chuột (điểm dưới con trỏ giữ nguyên vị trí)
Về 100%Bấm vào con số phần trăm
Vừa khungNút Vừa khung, hoặc nhấn đúp vào sơ đồ
Di chuyển trong sơ đồKéo thả bằng chuột, hoặc cuộn như bình thường
Toàn màn hìnhNút ⛶; thoát bằng Esc
Đổi chiều cao khungKéo góc dưới bên phải của khung

“Vừa khung” khớp theo bề ngang rồi cuộn dọc. Sơ đồ dọc có thể cao hơn hai nghìn điểm ảnh; ép vừa cả chiều cao thì tỉ lệ rơi xuống dưới 20% và chữ thành vệt mờ.

Toạ độ: giữ bản vẽ gốc hay tự dàn trang

Nếu file tải lên có đủ toạ độ cho mọi bước, công cụ vẽ lại đúng bố cục bạn đã vẽ. Thêm bước mới (chưa có toạ độ) thì nó tự chuyển sang dàn trang tự động cho toàn sơ đồ. Công tắc Toạ độ gốc cho phép chủ động chọn.

ℹ
Vì sao chọn “Dọc” lại tự tắt “Toạ độ gốc”
Hai thứ này loại trừ nhau: giữ nguyên toạ độ trong file nghĩa là không dàn trang lại, nên hướng Ngang/Dọc không có chỗ bám. Khi bạn chọn hướng, công cụ tắt “Toạ độ gốc” giúp và báo một dòng ngay dưới thanh công cụ. Bật lại là quay về đúng bố cục trong file.

Thuật toán dàn trang

Khi tự dàn trang, công cụ dùng phương pháp Sugiyama bốn bước:

  1. Phá vòng — DFS đánh dấu cạnh ngược để đồ thị tạm thành không chu trình.
  2. Gán lớp — theo đường dài nhất; cạnh nhảy nhiều lớp được chèn node ảo.
  3. Giảm giao cắt — barycenter nhiều lượt, rồi hoán vị hai node kề nhau chừng nào còn bớt được giao cắt.
  4. Nắn thẳng — kéo mỗi node về gần trung bình vị trí láng giềng, node ảo được nắn thẳng hoàn toàn để cạnh dài không gấp khúc.
Thuật toán giảm giao cắt giữa các lớp
for sweep in range(8):
    downward = sweep % 2 == 0
    neighbours = prev_of if downward else next_of
    for level in levels:
        keys.sort(key=barycenter)             # sắp theo trọng tâm láng giềng

    for level in range(max_layer):            # hoán vị kề nếu bớt được giao cắt
        while improved:
            for index in range(len(lower) - 1):
                current = crossings(upper, lower)
                lower[index], lower[index + 1] = lower[index + 1], lower[index]
                if crossings(upper, lower) >= current:
                    lower[index], lower[index + 1] = lower[index + 1], lower[index]

Điều khiển hiển thị

  • Ngang / Dọc — hướng dòng chảy.
  • Vừa khung — thu nhỏ cho vừa màn hình; tắt đi để xem đúng cỡ và cuộn.
  • Hiện Id — in mã bước lên trên hình, tiện khi đối chiếu với bảng.
ℹ
Sơ đồ được vẽ ở máy chủ dưới dạng SVG thuần. Mọi chữ do người dùng nhập đều được escape trước khi ghép vào SVG, nên không có đường nào để chèn mã độc qua tên bước.

Tinh chỉnh vùng

Nút Vùng… trên thanh công cụ sơ đồ mở danh sách các vùng đang có, kèm số bước của mỗi vùng. Ở đó bạn đổi tên một vùng (đổi cho tất cả các bước thuộc nó cùng lúc), xoá một vùng (các bước không bị xoá, chỉ trở thành chưa khai vùng), và sắp thứ tự các dải bằng hai nút ↑↓.

Để gán vùng cho một bước thì gõ thẳng vào cột Vùng ở thẻ Bước — gõ một tên chưa có là tạo vùng mới.

Chỗ nào khó hiểu hoặc còn thiếu?