We are still cooking the magic in the way!
اختيار مخطط السلوك المناسب
اختيار مخطط السلوك المناسب
تعلمت الآن ثلاثة مخططات سلوكية مختلفة في UML: مخطط التسلسل، ومخطط الأنشطة، ومخطط آلة الحالة. صُمِّم كل منها للإجابة عن نوع مختلف من الأسئلة حول النظام. لحظة الارتباك لدى كثير من المحللين لا تأتي أثناء رسم المخطط، بل قبل ذلك — حين يجب تحديد أي مخطط يُرسم أصلًا. يمنحك هذا الدرس إطار القرار الذي يتبعه المحللون المخضرمون كي تصل إلى الأداة الصحيحة تلقائيًا.
ما الذي يسأله كل مخطط فعلًا
أوضح طريقة للتمييز بين المخططات الثلاثة هي فهم السؤال الجوهري الذي صُمِّم كل منها للإجابة عنه:
- مخطط التسلسل — "من يتحدث إلى من، وبأي ترتيب؟" يُنمذج تبادل الرسائل بين المشاركين عبر الزمن. التركيز على التفاعل: أي كائن يستدعي أيًا، وما البيانات المُمررة، وكيف ينتقل التحكم بين المشاركين في سيناريو محدد.
- مخطط الأنشطة — "ما هي الخطوات، وكيف يتدفق العمل عبرها؟" يُنمذج المنطق الإجرائي وتدفق العمل. التركيز على الإجراءات: تسلسلها، والقرارات بينها، والفروع المتوازية، ومسؤولية كل خطوة (مسارات السباحة).
- مخطط آلة الحالة — "ما الحالات التي يمكن أن يكون عليها هذا الكائن، وما الذي يُحرّك كل تغيير؟" يُنمذج دورة حياة كائن أو نظام واحد. التركيز على الحالات: الأوضاع التي يمكن للكائن أن يكون فيها، والأحداث التي تُسبب الانتقالات، وأي إجراءات تُطلَق عند دخول حالة أو مغادرتها.
مقارنة سريعة في نظرة واحدة
يضع المخطط أدناه المخططات الثلاثة جنبًا إلى جنب باستخدام نفس النطاق — نظام حجز عيادة — لإظهار كيف يلتقط كل منها زاوية مختلفة من الواقع ذاته.
متى تستخدم كل مخطط
يوجز الجدول أدناه قواعد القرار العملية التي يطبقها المحللون في المشاريع الحقيقية. استخدمه مرجعًا سريعًا حين تجلس لنمذجة متطلب أو عملية.
الاختبار الثلاثي في الممارسة
يطرح المحللون المخضرمون ثلاثة أسئلة تشخيصية حين يبدؤون نمذجة أي متطلب جديد:
- هل ثمة مشاركون متعددون يتبادلون الرسائل؟ إن كانت الإجابة نعم وتحتاج إلى إظهار التسلسل الدقيق للاستدعاءات في سيناريو واحد — ارسم مخطط تسلسل. مثال: نمذجة استدعاءات API الدقيقة بين بوابة المريض وخدمة الحجز وخدمة الإشعارات عند تأكيد موعد في عيادة.
- هل ثمة سير عمل بخطوات وقرارات وربما مسارات متوازية؟ إن كانت الإجابة نعم — ارسم مخطط أنشطة. مثال: توثيق عملية جدولة الموعد بأكملها من ملء المريض للنموذج حتى استلام الطبيب تأكيد الموعد، مع إشعارات متوازية تحدث في الوقت ذاته.
- هل للكائن أو الكيان دورة حياة محددة — مجموعة من الأوضاع التي يمكن أن يكون فيها مع أحداث تُنقله بينها؟ إن كانت الإجابة نعم — ارسم مخطط آلة حالة. مثال: تحديد أن موعد العيادة يمكن أن يكون في حالة مطلوب، أو مؤكد، أو قائمة انتظار، أو حُضر، أو مُلغى، وأي الأحداث تُحرّك كل انتقال.
الجمع بين المخططات في مشروع حقيقي
هذه المخططات ليست متنافية. يشمل النموذج الكامل لطلب في متجر إلكتروني في الغالب:
- آلة حالة لكيان
Order(جديد ← قيد المعالجة ← تم الشحن ← تم التسليم / مُلغى / مُسترد) — يُتفق عليها مع صاحب العمل باعتبارها التعريف الرسمي لدورة الحياة. - مخطط أنشطة لسير عمل التنفيذ — يُظهر التقاط المستودع وفحص الجودة والإرسال كمسارات سباحة مع إجراءات متوازية.
- عدة مخططات تسلسل — واحد لكل سيناريو رئيسي: إتمام الطلب، ومعالجة الدفع، ومعالجة الدفع الفاشل، وبدء الإرجاع.
يعيش كل مخطط على مستوى مختلف من التجريد ويخدم جمهورًا مختلفًا. تُعدّ آلة الحالة عقدًا موجزًا للمطورين المُنفِّذين لقواعد الأعمال. يُوصّل مخطط الأنشطة العملية من البداية إلى النهاية لمديري العمليات. مخططات التسلسل مواصفات تقنية لفريق التكامل.
مخطط القرار
أخطاء شائعة يجب تجنبها
تظهر أخطاء متكررة حين يختار المحللون المخطط الخاطئ:
- استخدام مخطط التسلسل لعرض جميع السيناريوهات دفعة واحدة. يُنمذج مخطط التسلسل سيناريوًا واحدًا لكل مخطط. إن وجدت نفسك ترسم عشرات الفروع داخل مخطط واحد، انتقل إلى مخطط الأنشطة لتصوير سير العمل وارسم مخططات تسلسل منفصلة للمسارات الفردية.
- محاولة إظهار دورة الحياة في مخطط الأنشطة. إن كان مخطط الأنشطة لديك يحتوي على "حالات" مكتوبة داخل عُقَد الإجراءات (مثل "الطلب أصبح مؤكدًا الآن")، فأنت في الواقع تُنمذج آلة حالة. استخرج دورة الحياة إلى مخطط حالة صحيح.
- رسم آلة حالة لعملية لا لكائن. تنتمي آلة الحالة لكائن واحد. إن وجدت نفسك تُلصق بالحالات خطواتٍ تشمل أطرافًا متعددة ("الخطوة 3: المستودع يُجهّز الطلبية")، فأنت تصف سير عمل — ارسم مخطط أنشطة بمسارات سباحة.
ملخص
- مخطط التسلسل — يُنمذج سيناريوًا محددًا للتفاعل بين مشاركين متعددين؛ التركيز على ترتيب الرسائل واتجاهها.
- مخطط الأنشطة — يُنمذج سير العمل أو العملية؛ التركيز على الإجراءات والقرارات والتدفقات المتوازية والمسؤوليات (مسارات السباحة).
- مخطط آلة الحالة — يُنمذج دورة حياة كائن واحد؛ التركيز على الحالات والأحداث والانتقالات.
- استخدم الاختبار التشخيصي الثلاثي: مشاركون متعددون يتواصلون؟ ← تسلسل؛ سير عمل بخطوات وقرارات؟ ← أنشطة؛ كائن بدورة حياة محددة؟ ← آلة حالة.
- في الممارسة، يستخدم النموذج الكامل لأي ميزة غير بديهية المخططات الثلاثة معًا، يخدم كل منها جمهورًا وغرضًا مختلفًا.