- vừa được xem lúc

Tìm hiểu về mô hình quy trình nghiệp vụ BPMN(Phần 1)

0 0 21

Người đăng: Hoàng Nguyễn

Theo Viblo Asia

Mô hình hóa nghiệp vụ là cụm từ được nhắc rất nhiều trong khi anh em làm spec, làm tài liệu. Chúng ta có thể định nghĩa như sau: Mô hình hóa là sự trừu tượng hóa sự vật, hiện tượng trong thế giới thực. Trong đó mô hình hóa quy trình nghiệp vụ là sự mô tả bằng hình vẽ chuỗi các hoạt động của quy trình nghiệp vụ thực tế. Khi chúng ta làm công việc này thì chúng ta một phần nào đó cũng diễn tả một hay nhiều khía cạnh của hệ thống, xác định diễn biến những hành động có thể xảy ra của hệ thống giúp cho đội phát triển có thế dev một cách chính xác hơn.

Khoảng cách giữa người làm kỹ thuật và người biết nghiệp vụ đó chính là người làm kỹ thuật thì chỉ hiểu các ngôn ngữ kỹ thuật, cài đặt và làm thế nào đó cho hệ thống thực thi; còn người làm nghiệp vụ chỉ hiểu ngôn ngữ nghiệp vụ của họ thôi. Vì vậy để giải quyết vẫn đề này thì chúng ta cần có mô hình nào giảm thiểu sự nhập nhằng về ngôn ngữ giúp cho cả hai bên đều có thể hiểu được và đạt được mục đích cuối cùng là làm ra một sản phẩm vừa đáp ứng được nhu cầu nghiệp vụ, vừa có thể thực thi được. Từ đó đưa ra giải pháp là mô hình BPMN - Business Process Model Notation.

1. BPMN là gì ?

BPMN là cụm từ viết tắt Business Process Modeling Notation, chúng ta có thể hiểu BPMN là tập hợp các ký hiệu để mô hình hóa trực quan các quy trình nghiệp vụ xử lý.

Mục đích chính là cung cấp các ký hiểu để giúp cả người không làm kỹ thuật lần người làm kỹ thuật dễ hểu, dễ đọc. Đối với dân lập trình viên thì có trách nhiệm trong việc cài đặt, triển khai, vận hành, sử dụng công nghệ. Đối với dân business thì sẽ chịu trách nhiệm quản lý, giám sát quy trình và nghiệm thu kết quả.

Nhìn vảo ảnh trên chúng ta có thể thấy được BPMN được coi như là công cụ để kết nối giữa việc phân tích quy trình nghiệp vụ và việc triển khai, cài đặt.

2. Lịch sử phát triển

BPMN được phát triển bới Business Process Management Initiative (BPMI).

Phiên bản 1.0 được release vào 5-2004.

6-2005, BPMI sát nhập với OMG-Object Management Group. BPMN Specification document được release bởi OMG vào 2-2006.

Phiên bản 2.0 được phát triển vào năm 2010, và nó được release vào 12-2013.

Phiên bản mới nhất 2.0.2 được ISO chính thức xuất bản dưới dạng tiêu chuẩn ISO/IEC 19510 với một số tính năng mở rộng như sau:

  • Hình thức hóa được ngữ nghĩa
  • Có sự tương quan giữa các sự kiện
  • Thêm nhiều ký hiệu tương tác với user
  • Choreography model

Các phiên bản 1.2 trở về trước thì các ký hiệu chưa nhất quán, một số ký hiệu bị nhập nhằng về ngữ nghia.

3. Lợi ích

Khi chúng ta lấy yêu cầu trong buổi họp với khách hàng, một điều đặc biệt khi chúng ta làm việc với khách hàng có rất nhiều sự khó khăn khi tiếp cận với quy trình nghiệp vụ của họ. Nhiều khi chúng ta chưa mường tượng nó ra cái gì nhưng vẫn phải lắng nghe và take not vào. Sau đó về phải làm document lại. Mỗi khách hàng, mỗi doanh nghiệp lại khác nhau về quy trình nghiệp vụ, phức tạp. Document sao cho ngắn gọn, dễ đọc, dễ hiểu mà vẫn đảm bảo được đúng nội dung mà khách hàng yêu cầu. BPMN chính là giải pháp cho chúng ta.

Ưu điểm :

  • Nhiều ký hiệu gần gũi quen thuộc với đời sống hằng ngày nên nhìn vào có thể hiểu được 70-80% nó đang làm cái gì cho cả dân biết tech và non-tech.
  • Mô tả rõ ràng, hạn chế nhập nhằng, dễ đọc, dễ hiểu.
  • Phát sinh ra ngôn ngữ thực thi BPEL(cái này mình sẽ nói trong một bài khác).

3. Đối tượng có thể sử dụng

BPMN dành cho cả người dùng high level lần lower level đọc. Tức là người quản lý cấp trên, họ chỉ quan tâm tới cái tổng quan, cái chung nhất và nắm được quy trình nghiệp vụ chứ không cần biết dùng công nghệ gì để triển khai dự án, không quan tâm cài đặt bằng cái gì. Ví dụ khách hàng muốn làm chức năng order thì những người high level chỉ cần biết à cần có mấy bước, tương tác với những đối tượng nào, hoặc có những document nào liên quan ...

Cón lower level là những người dùng trực tiếp (developer), họ nhìn vào sẽ thấy được là quy trình họ cần làm như thế nào. Do đó, BPMN cho những đối tượng này thường rất chi tiết và phải bao quát được tất cả các trường hợp có thể xảy ra.

4. Phân biệt với UML

Trước hết chúng ta phải định nghĩa UML nó là cái gì, UML được viết tắt bởi Unified Modeling Language, chúng ta tạm dịch là ngôn ngữ mô hình thống nhất. Như các bạn đã biết đấy, UML là nhiều các diagram và các ký hiệu để mô tả phần mềm.

Như các bạn biết đấy, BPMN tiếp cận theo hướng process-oriented tức là trả lời cho hàng loại câu hỏi user phải làm bao nhiêu bước, đó là những bước gì trong khoảng thời gian cho phép là bao lâu để hoàn thành được mục tiêu, còn UML tiếp cận theo hướng object-oriented tập trung cho việc xây dựng object theo nhiều góc khía cạnh, giúp cho việc xây dựng và thiết kế hệ thống rõ ràng hơn.

Cho nên là khi chúng ta đi xây dựng UML cho một object nào đó thì chúng ta cần biết là object đó nó có những thuộc tính gì, relationship với các object khác ra sao, có thể làm những tính năng gì, tương tác với các đối tượng khác ra sao, hoạt động của object đó theo trình tự thời gian như thế nào, ...

Trong khi như các bạn biết đấy BPMN thì chỉ thấy 1 diagram duy nhất vởi vì nó chỉ có mục đích thể hiện được quy trình nghiệp vụ.

Tóm lại là UML và BPMN là hai loại hoàn toàn khác nhau, nó không đối nghịch nhau mà còn bổ trợ nhau trong quá trình làm dự án. Một dự án nên cần kết hợp cả 2 loại này vào thì sẽ cover được hết những trường hợp.

5. Kết luận

Qua một vài những chia sẻ của mình ở trên thì mong rằng các bạn cũng hiểu một phần nào về khái niệm BPMN. Mong rằng những chia sẻ trên sẽ giúp ích cho các bạn, cảm ơn các bạn đã bớt chút thời gian ra đọc bài viết của mình.

6.Tham khảo

https://www.trisotech.com/blog/bpmn-introduction-and-history https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 519

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 390

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 722

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 350

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 440

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 429