BPMN กับ UML แตกต่างกันอย่างไรนะ

หลังจากได้ลองอ่านงานของเพื่อน ของรุ่นน้อง พบว่าหลายคนยังไม่เข้าใจถึง Idea ของการสร้าง UML และ BPMN ครับ เลยขอมาเขียน Blog อธิบายก่อนจะลืมครับ

อะไรเกิดก่อนกันครับ ?

BPMN กับ UML เหมือนกันอย่างไร ?

  • สิ่งที่ทั้ง BPMN และ UML เหมือนกัน
    • เพื่อให้การสื่อสาร และการทำงานร่วมกันสะดวกมาขึ้น ทำให้เห็นภาพได้ชัดเจนขึ้น
    • เพื่อใช้ในการทวนสอบความเข้าใจได้ด้วยครับ
  • มีการกำหนดรูปแบบ และสัญลักษณ์เป็นมาตรฐาน ทำให้ตีความได้ตรงกันครับ มากกว่ามาเขียนตัวหนังสือเยอะๆครับ

picture is worth a thousand words

BPMN กับ UML ต่างกันอย่างไร ?

  • ต่างกันที่มุมมองที่สร้าง IT (ตอบโจทย์การพัฒนาซอฟต์แวร์ / ระบบ) กับ Business (ตอบโจทย์การพัฒนากระบวนการธุรกิจ)
  • UML เกิดจากการออกแบบและพัฒนาระบบตามแนวคิดพัฒนาระบบเชิงวัตถุ (Object Oriented) เหมือนเป็นภาพร่างของระบบในมุมมองต่างๆ โดยที่ตัว UML มีแบบจำลอง แต่ละแบบที่ทำให้เห็นให้เสริมความเข้าใจระบบ อาทิ เช่น
    • Use Case Diagram : เน้นสรุปฟังค์ชันการทำงานของระบบ
    • Class Diagram : เน้นให้เห็นถึงโครงสร้างของระบบ ที่วัตถุใดโลกจริงๆ ถูกอธิบายด้วย Class ครับ
    • Sequence Diagram : เน้นให้เห็นถึงขั้นตอน / กิจกรรมของแต่ละ Object (Class ที่เกิดขึ้นมา Runtime) ว่ามีการส่งข้อความกันอย่างไร ถ้าในภาษา Dev มันก็คือ การ Call Method แหละครับ
    • Deployment Diagram : เน้นมุมมองการติดตั้งระบบ ทำให้เห็นถึงความสัมพันธ์ของ Software และ Hardware ครับ
  • กลับมาที่ทาง BPMN บ้าง ตัว BPMN เองพยายามจะอธิบายกระบวนการ (Process) ของธุรกิจครับ ว่าใครทำอะไรที่ไหน และมีความสัมพันธ์กันอย่างไรครับ โดยที่เน้นให้คนในฝั่งธุรกิจเข้าใจได้ง่่ายครับ เพราะ ถ้ามาให้พวกเค้ามาเรียนพวก Class / Object Oriented มีงงตายกันไปข้างนึงแหละครับ
  • ถ้าแบบจำลอง UML ที่ใกล้เคียงกัน BPMN น่าจะเป็น Activity Diagram และ Sequence Diagram ครับ จริงๆ พวกคน IT ถ้าข้ามไปศึกษาแบบจำลอง BPMN จะไวมากครับ เพราะมีพื้นฐานมาพอสมควรแล้วครัล

UML is object-oriented

BPMN is a process-oriented

สรุป


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.