نمذجة السلوك: نظرة عامة
نمذجة السلوك: نظرة عامة
حتى الآن في هذه الدورة تعلمت كيف تسأل ما الذي يوجد: ما البيانات التي يخزنها النظام، وما الكيانات المرتبطة ببعضها، وما الجهات الفاعلة التي تحتاج إلى حالات الاستخدام. تلك أسئلة بنيوية. الآن ننتقل إلى مجموعة مختلفة وبالغة الأهمية من الأسئلة: ما الذي يحدث، وبأي ترتيب، وتحت أي شروط؟ هذه أسئلة سلوكية، ويمنحنا UML عائلة متخصصة من المخططات للإجابة عنها.
يرسم هذا الدرس تلك الخريطة الكاملة لتصنيف مخططات UML، بحيث يجد كل مخطط تبنيه في الدروس القادمة مكانه الواضح في الصورة. فكّر في هذا الدرس كخريطة الملاح قبل أن يبحر في أي من تلك الأراضي.
المخططات البنيوية مقابل المخططات السلوكية
تنقسم الأنواع الأربعة عشر من مخططات UML القياسية إلى معسكرين واضحين.
تصف المخططات البنيوية البنية الثابتة للنظام: لبناته وعلاقاته الدائمة. وهي تجيب عن السؤال: "مم يتكون النظام؟" يستخدمها المحلل لنمذجة البيانات والفئات والمكونات وطبولوجيا النشر. أبرز الأمثلة التي التقيت بها مسبقاً:
- مخطط الفئات (Class Diagram) — الكيانات والسمات والعمليات والعلاقات.
- مخطط حالات الاستخدام (Use Case Diagram) — الجهات الفاعلة والوظائف التي تتفاعل معها.
- مخططا المكوّنات والنشر — كيفية تنظيم وحدات الكود وعقد الأجهزة.
تصف المخططات السلوكية كيف يتحرك النظام عبر الزمن. وهي تجيب عن السؤال: "ما الذي يفعله النظام، وكيف يفعله؟" يركز هذا البرنامج التعليمي على أكثر ثلاثة مخططات سلوكية فائدةً في عمل التحليل اليومي:
- مخطط التسلسل (Sequence Diagram) — التبادل الدقيق للرسائل بين المشاركين عبر الزمن.
- مخطط النشاط (Activity Diagram) — تدفق التحكم والبيانات عبر عملية ما، بما في ذلك التفرعات والأعمال المتوازية.
- مخطط آلة الحالة (State Machine Diagram) — الحالات المتمايزة التي يمر بها الكائن والأحداث التي تدفع التحولات بينها.
خريطة مخططات UML
يُنظّم المخطط أدناه تصنيف UML الكامل. المخططات الثلاثة المشمولة بهذا البرنامج التعليمي مُبرزة باللون الأخضر.
السؤال الذي يجيب عنه كل مخطط
اختيار المخطط الخاطئ هو أحد أكثر الأخطاء شيوعاً بين المحللين المبتدئين. يمنحك الجدول التالي قاعدة قرار سريعة. احفظها جيداً — ستستخدمها في كل مرة تجلس فيها للنمذجة.
مثال متكرر: المكتبة الإلكترونية للكتب
طوال هذا البرنامج التعليمي سنُنمذج النظام ذاته من ثلاث زوايا سلوكية مختلفة: متجر كتب إلكترونية حيث يتصفح العملاء الكتب ويطلبونها ويدفعون ثمنها. يُتيح هذا لك مقارنة الأنواع الثلاثة من المخططات جنباً إلى جنب.
فيما يلي لقطة سريعة لسيناريو "إتمام الطلب" يُروى بثلاث طرق مختلفة:
- من منظور مخطط التسلسل: يرسل العميل
addToCart()إلى السلة؛ ترسل السلةcheckStock()إلى المخزون؛ يرد المخزون؛ ترد السلة على العميل بتأكيد. - من منظور مخطط النشاط: العميل يتصفح الكتالوج ← يختار عنصراً ← النظام يتحقق من المخزون ← [متوفر؟] نعم ← يضيف إلى السلة ← العميل يتحقق من الطلب ← تتم معالجة الدفع ← يتأكد الطلب.
- من منظور آلة الحالة (كائن الطلب): يبدأ الطلب في حالة
Draft← عند الدفع: ينتقل إلىConfirmed← عند الشحن: ينتقل إلىShipped← عند التسليم: ينتقل إلىDelivered← عند طلب الإرجاع: ينتقل إلىReturned.
كل وجهة نظر صحيحة. كل منها غير مكتملة بمفردها. معاً يمنحانك أنت وأي مطور أو مختبر يقرأ المواصفات صورة سلوكية كاملة.
كيف تتعاون المخططات البنيوية والسلوكية
العائلتان ليستا متنافستين — بل هما طبقتان متكاملتان للنموذج ذاته. تقترنهما المواصفة المكتوبة بعناية:
- مخطط الفئات يخبرك أن لـ
Orderسماتstatusوtotal. وآلة الحالة تخبرك بالقيم القانونية لـstatusوقواعد تغييرها. - مخطط حالات الاستخدام يخبرك أن
Customerيمكنه إتمام الطلب. ومخطط التسلسل يخبرك بالرسائل الدقيقة المتبادلة لتحقيق ذلك. - مخطط الفئات يُعرّف مكوّن
PaymentService. ومخطط النشاط يُظهر متى ولماذا يُستدعى في سير عمل الطلب.
متى يرسم المحلل المخططات السلوكية؟
في دورة حياة المشروع النموذجية تظهر المخططات السلوكية في هذه اللحظات:
- خلال تحليل المتطلبات — ارسم مخططات النشاط مسودةً للاتفاق مع أصحاب المصلحة على العملية الحالية والعملية المرتقبة. هي أدوات تواصل أولاً، وأدوات دقة ثانياً.
- خلال تصميم النظام — ارسم مخططات تسلسل لكل سيناريو استخدام جوهري. هنا يُسلّم المحلل عقداً دقيقاً وغير ملتبس إلى المطورين.
- عندما يكون للكائن دورة حياة — ارسم آلة حالة لأي كيان يمكن أن يكون في واحدة من عدة حالات متمايزة بوضوح (طلب، موعد، كتاب مكتبة، سجل مريض).
- خلال المراجعة والاختبار — استخدم مخططات التسلسل لتتبع الخطأ عبر سلسلة الرسائل؛ واستخدم آلات الحالة كمراجع اختبار للتحقق من أن التحولات غير القانونية بين الحالات ممنوعة.
بهذه الخريطة في يدك أنت مستعد للغوص في العمق. يقدم الدرس التالي مخططات التسلسل: تدوينها الأساسي، وخطوط الحياة، والرسائل، ومستطيلات التفعيل — الآلية الكاملة لأكثر المخططات السلوكية استخداماً في تحليل الأنظمة الاحترافي.