BPMN وتحليل عمليات الأعمال

المهام والعمليات الفرعية في BPMN

18 دقيقة الدرس 4 من 10

المهام والعمليات الفرعية في BPMN

في الدرس السابق تعرّفت على الأحداث التي تُحدّد حدود العملية. الآن نُركّز على ما يجري بين تلك الحدود: المهام التي ينفّذها المشاركون، والعمليات الفرعية التي تجمع مهامًا مترابطة في وحدات قابلة للطيّ وإعادة الاستخدام. فهم أنواع المهام ومؤشّرات العمليات الفرعية هو ما يُميّز المخطّط الدقيق تحليليًا عن المخطّط الذي يبدو صحيحًا فحسب.

ما هي المهمة؟

المهمة هي وحدة عمل ذريّة لا يمكن تحليلها إلى عناصر أبسط ضمن نطاق المخطّط الحالي. في BPMN تُرسم كل مهمة على هيئة مستطيل بزوايا مدوّرة، ويُكتب داخله اسم النشاط على شكل فعل ومفعول به: مراجعة الطلب، إرسال بريد التأكيد، احتساب إجمالي الفاتورة.

المهمة الخالية من أي مؤشّر تُسمى مهمة مجردة — وهي مقبولة في مرحلة التحليل المبكّر حين تكون تفاصيل التنفيذ مجهولة بعد. مع نضج النموذج، تُستبدل المهام المجردة بمهام مصنّفة تُعبّر بدقة عن طريقة تنفيذ العمل.

أنواع المهام السبعة القياسية

يُعرِّف BPMN 2.0 سبعة أنواع من المهام، يتميّز كل منها بأيقونة صغيرة في الزاوية العلوية اليسرى من شكل المستطيل المدوّر:

  • مهمة المستخدم (أيقونة شخص) — يتفاعل منفّذ بشري مع واجهة برمجية. مثال: يفتح مسؤول القروض نموذج طلب في نظام CRM ويُدخل قرار الموافقة.
  • المهمة اليدوية (أيقونة يد) — يُنجز الإنسان العمل دون أي دعم من النظام. مثال: موظف المستودع يتوجّه إلى الرف ويسحب صنفًا.
  • مهمة الخدمة (أيقونة تروس) — يستدعي النظام خدمة آلية أو واجهة برمجية دون تدخّل بشري. مثال: استدعاء بوابة الدفع لتحصيل مبلغ ببطاقة ائتمانية.
  • مهمة الإرسال (ظرف مملوء) — يُرسل النظام رسالةً إلى مشارك خارجي. مثال: إرسال بريد إلكتروني تأكيدي إلى العميل.
  • مهمة الاستقبال (ظرف فارغ) — يظل النظام في انتظار رسالة من مشارك خارجي. مثال: التوقف حتى يُرسل المورّد إشعار التسليم.
  • مهمة البرمجة النصية (أيقونة طومار) — يُنفّذ محرّك العملية سكريبتًا آليًا. مثال: دُفعة ليلية تحسب جميع الغرامات المتأخّرة.
  • مهمة قاعدة الأعمال (أيقونة جدول) — يُقيّم محرّك القواعد قرارًا محدّدًا. مثال: مجموعة قواعد تتحقق مما إذا كان مطالبة التأمين تتجاوز حدود الوثيقة.
نصيحة للمحلل: في ورش العمل الأولى لتوثيق الوضع الراهن، خصّص كل مهمة كمجردة (بدون أيقونة). حين تنتقل إلى نموذج الوضع المستهدف، أضف أنواع المهام لتوجيه نقاشات التنفيذ. مهمة المستخدم تعني "نحتاج شاشة واجهة هنا"؛ ومهمة الخدمة تعني "يجب أتمتة هذا بالكامل."
BPMN Task Types Reference BPMN Task Types — Icon Reference Abstract Task (no marker) User Task (human + UI) Manual Task (no system) Service Task (automated API) Send Task (emit message) Receive Task (await message) Script Task (engine script) Business Rule Task (rules engine) All task shapes are rounded rectangles; the icon appears in the top-left corner.
أنواع مهام BPMN 2.0 السبعة وأيقوناتها التعريفية.

مؤشّرات المهام

بمعزل عن أيقونة نوع المهمة، يُعرِّف BPMN مؤشّرات تظهر في أسفل منتصف شكل المهمة لتعديل سلوك التكرار أو التشغيل المتعدد:

  • مؤشّر الحلقة (سهم دائري) — تتكرر المهمة حتى تتحقق شرط. مثال: مراجعة المسوّدة تتكرر حتى تجتاز مراجعة الجودة.
  • مؤشّر النسخ المتعددة التسلسلية (ثلاثة خطوط أفقية) — تُنفَّذ المهمة مرات عدة بالتتابع. مثال: يُراجع المدير طلب الميزانية لكل من الأقسام الخمسة دوريًا.
  • مؤشّر النسخ المتعددة المتوازية (ثلاثة خطوط رأسية) — تُنفَّذ المهمة مرات عدة في آنٍ واحد. مثال: تسير مهمة الموافقة ذاتها للأقسام الخمسة في وقت واحد.
  • مؤشّر التعويض (سهمان متجهان يسارًا) — المهمة معالج تعويضي يُشغَّل لإلغاء مهمة أُكملت سابقًا إذا تراجعت العملية.
  • مؤشّر العشوائية Ad-Hoc (رمز التلدة، على العمليات الفرعية فقط) — يمكن تنفيذ المهام المحتواة بأي ترتيب وفق تقدير المنفّذ.

العمليات الفرعية

حين يزداد تعقيد قسم من العملية بحيث يستحق مخطّطه الخاص، يُرقَّى إلى عملية فرعية. تبدو العملية الفرعية كالمهمة (مستطيل مدوّر)، لكنها تحمل أيقونة زائد (+) صغيرة في أسفل المنتصف تُشير إلى إمكانية توسيعها إلى تدفق مستقل.

تأتي العمليات الفرعية في شكلين:

  • العملية الفرعية المضمّنة (Inline) — يقع التدفق الابني داخل المخطّط الأب ويشترك معه في سياق البيانات نفسه. يمكن توسيعها بالنقر على أيقونة الزائد.
  • نشاط الاستدعاء Call Activity (حدود سميكة) — يُشير إلى عملية مُعرَّفة بشكل منفصل وقابلة لإعادة الاستخدام. يشبه استدعاء دالة. إذا كانت مجموعة خطوات موحّدة — مثل التحقق من هوية KYC — تُستخدم في كل من عملية فتح الحساب وعملية طلب القرض، فتُعرَّف مرة واحدة كعملية عالمية وتُستدعى من كلتيهما.
تمييز أساسي: أيقونة + على شكل بحدود رفيعة = عملية فرعية مضمّنة. أيقونة + على شكل بحدود سميكة = نشاط استدعاء (قابل لإعادة الاستخدام). هذا مهم أثناء التنفيذ: العمليات الفرعية المضمّنة تشترك في متغيّرات الأب؛ أنشطة الاستدعاء تتواصل عادةً عبر معاملات إدخال/إخراج صريحة.

تطبيق متكامل: تنفيذ طلب إلكتروني

لنأخذ منصة تجارة إلكترونية. تتضمّن العملية الرئيسية خمس خطوات: استلام الطلب، التحقق من الدفع، تنفيذ الطلب (عملية فرعية)، إرسال إشعار الشحن، أرشفة الطلب. خطوة تنفيذ الطلب معقّدة بما يكفي لتكون عملية فرعية تحتوي: انتقاء الأصناف، تغليفها، فحص الجودة، طباعة ملصق الشحن. أما التحقق من الدفع فهو مهمة قاعدة أعمال (يتحقق محرّك القواعد من درجات الاحتيال والحدود الائتمانية)، وإرسال إشعار الشحن هو مهمة إرسال (يُرسل بريد إلكتروني أو رسالة نصية).

Online Order Fulfillment — Tasks and Sub-Process Order Fulfillment Process Order Received Receive Order Validate Payment [Business Rule] Fulfill Order Send Dispatch Notification [Send Task] Order Archived Fulfill Order (expanded) Pick Items [Manual] Pack Items [Manual] QC Package [User Task] Print Shipping Label [Service]
عملية تنفيذ الطلب: مهام مصنّفة وعملية فرعية مطويّة مع تدفقها الداخلي الموسَّع.

أنشطة الاستدعاء مقابل العمليات الفرعية المضمّنة

سؤال شائع في مقابلات المحللين: متى تستخدم نشاط الاستدعاء بدلًا من العملية الفرعية المضمّنة؟ استخدم نشاط الاستدعاء في هذه الحالات:

  1. تظهر مجموعة الخطوات ذاتها في أكثر من عملية.
  2. فريق مستقل يملك العملية الابنة ويصونها.
  3. تتطلّب الحوكمة إصدار العملية الابنة ومراجعتها بشكل منفصل.

استخدم العملية الفرعية المضمّنة حين تكون الخطوات المجمّعة خاصة بالعملية الأم وتشاركها متغيّراتها المحلية — مثلًا حساب خصم متعدد الخطوات يستخدم مجموعًا متراكمًا محفوظًا في العملية الأم.

خطأ شائع: يلجأ بعض المحللين أحيانًا إلى تداخل عمليات فرعية على ثلاثة مستويات أو أكثر. كقاعدة عامة، لا تتجاوز مستويين من التداخل. إذا احتجت إلى أكثر من ذلك، فنطاق العملية أكبر مما ينبغي — قسّمها إلى تعريفات عمليات منفصلة ترتبط بأنشطة استدعاء أو تدفقات رسائل.

دليل اختيار نوع المهمة

حين تستعرض عملية أعمال مع أصحاب المصلحة، اطرح هذه الأسئلة على كل نشاط:

  • هل ينفّذه إنسان ويستخدم نظامًا؟ ← مهمة مستخدم
  • هل ينفّذه إنسان دون أي نظام؟ ← مهمة يدوية
  • هل هو آلي بالكامل دون تدخّل بشري؟ ← مهمة خدمة
  • هل يُرسل رسالة أو إشعارًا للخارج؟ ← مهمة إرسال
  • هل يتوقف انتظارًا لرسالة من الخارج؟ ← مهمة استقبال
  • هل يُشغِّل دُفعة أو سكريبت تحويل؟ ← مهمة برمجية
  • هل يُقيّم سياسة أو قاعدة أو جدول قرار؟ ← مهمة قاعدة أعمال
  • هل هو معقّد بما لا يتّسع لشكل واحد؟ ← عملية فرعية
  • هل يُعاد استخدامه في عمليات متعددة؟ ← نشاط استدعاء

الدقّة في تحديد أنواع المهام ليست جمالية. إنها تُخبر فريق التنفيذ بالضبط عن نوع المكوّن الذي يجب بناؤه — نموذج واجهة مستخدم، أو استدعاء خدمة مصغّرة، أو تكامل بريد إلكتروني، أو تقييم محرّك قواعد — مباشرةً من المخطّط وبلا غموض.