UML: مخططات التسلسل والنشاط والحالة

نمذجة السلوك: نظرة عامة

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

نمذجة السلوك: نظرة عامة

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

يرسم هذا الدرس تلك الخريطة الكاملة لتصنيف مخططات UML، بحيث يجد كل مخطط تبنيه في الدروس القادمة مكانه الواضح في الصورة. فكّر في هذا الدرس كخريطة الملاح قبل أن يبحر في أي من تلك الأراضي.

المخططات البنيوية مقابل المخططات السلوكية

تنقسم الأنواع الأربعة عشر من مخططات UML القياسية إلى معسكرين واضحين.

تصف المخططات البنيوية البنية الثابتة للنظام: لبناته وعلاقاته الدائمة. وهي تجيب عن السؤال: "مم يتكون النظام؟" يستخدمها المحلل لنمذجة البيانات والفئات والمكونات وطبولوجيا النشر. أبرز الأمثلة التي التقيت بها مسبقاً:

  • مخطط الفئات (Class Diagram) — الكيانات والسمات والعمليات والعلاقات.
  • مخطط حالات الاستخدام (Use Case Diagram) — الجهات الفاعلة والوظائف التي تتفاعل معها.
  • مخططا المكوّنات والنشر — كيفية تنظيم وحدات الكود وعقد الأجهزة.

تصف المخططات السلوكية كيف يتحرك النظام عبر الزمن. وهي تجيب عن السؤال: "ما الذي يفعله النظام، وكيف يفعله؟" يركز هذا البرنامج التعليمي على أكثر ثلاثة مخططات سلوكية فائدةً في عمل التحليل اليومي:

  • مخطط التسلسل (Sequence Diagram) — التبادل الدقيق للرسائل بين المشاركين عبر الزمن.
  • مخطط النشاط (Activity Diagram) — تدفق التحكم والبيانات عبر عملية ما، بما في ذلك التفرعات والأعمال المتوازية.
  • مخطط آلة الحالة (State Machine Diagram) — الحالات المتمايزة التي يمر بها الكائن والأحداث التي تدفع التحولات بينها.
لماذا ثلاثة مخططات للسلوك؟ كل مخطط يضيء بُعداً مختلفاً. مخطط التسلسل يُظهر من يتحدث مع من. مخطط النشاط يُظهر كيف يتدفق العمل. آلة الحالة تُظهر كيف يتغير الكائن. تحتاج المواصفة السلوكية الكاملة لأي عملية غير بديهية عادةً إلى الأنواع الثلاثة معاً.

خريطة مخططات UML

يُنظّم المخطط أدناه تصنيف UML الكامل. المخططات الثلاثة المشمولة بهذا البرنامج التعليمي مُبرزة باللون الأخضر.

UML Diagram Taxonomy: Structural vs Behavioral UML Diagrams Structural Behavioral Class Object Component Deployment Package Composite Structure Use Case Sequence ★ this tutorial Activity ★ this tutorial State Machine ★ this tutorial Communication Interaction Overview Timing
تصنيف مخططات UML. المخططات البنيوية (باللون الأزرق) تجيب عن "ما الذي يوجد"؛ المخططات السلوكية (باللون الأخضر) تجيب عن "ما الذي يحدث". المخططات الثلاثة المميزة بنجمة هي محور هذا البرنامج التعليمي.

السؤال الذي يجيب عنه كل مخطط

اختيار المخطط الخاطئ هو أحد أكثر الأخطاء شيوعاً بين المحللين المبتدئين. يمنحك الجدول التالي قاعدة قرار سريعة. احفظها جيداً — ستستخدمها في كل مرة تجلس فيها للنمذجة.

Diagram | Core Question | Best Used When -------------------+----------------------------------------+-------------------------------- Class | What data exists and how is it related?| Designing the data model Use Case | Who does what with the system? | Capturing functional requirements Sequence | Who sends what message, in what order? | Documenting a specific scenario Activity | How does work flow from start to end? | Mapping a business process State Machine | What states can this object be in? | Modeling an object with a lifecycle Communication | Which objects collaborate on a task? | Auditing object interactions
نصيحة للمحلل: في المقابلات أو ورش العمل، استمع إلى الكلمات الدلالية. إذا قال صاحب المصلحة "الطلب يمر بعدة مراحل"، فابحث عن آلة الحالة. وإذا قال "أولاً يقدّم المريض طلبه، ثم تتحقق المستقبِلة، ثم يؤكد النظام"، فابحث عن مخطط التسلسل. وإذا قال "نحتاج إلى رسم خريطة لعملية الدفع بأكملها"، فابحث عن مخطط النشاط.

مثال متكرر: المكتبة الإلكترونية للكتب

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

فيما يلي لقطة سريعة لسيناريو "إتمام الطلب" يُروى بثلاث طرق مختلفة:

  • من منظور مخطط التسلسل: يرسل العميل addToCart() إلى السلة؛ ترسل السلة checkStock() إلى المخزون؛ يرد المخزون؛ ترد السلة على العميل بتأكيد.
  • من منظور مخطط النشاط: العميل يتصفح الكتالوج ← يختار عنصراً ← النظام يتحقق من المخزون ← [متوفر؟] نعم ← يضيف إلى السلة ← العميل يتحقق من الطلب ← تتم معالجة الدفع ← يتأكد الطلب.
  • من منظور آلة الحالة (كائن الطلب): يبدأ الطلب في حالة Draft ← عند الدفع: ينتقل إلى Confirmed ← عند الشحن: ينتقل إلى Shipped ← عند التسليم: ينتقل إلى Delivered ← عند طلب الإرجاع: ينتقل إلى Returned.

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

كيف تتعاون المخططات البنيوية والسلوكية

العائلتان ليستا متنافستين — بل هما طبقتان متكاملتان للنموذج ذاته. تقترنهما المواصفة المكتوبة بعناية:

  • مخطط الفئات يخبرك أن لـOrder سمات status وtotal. وآلة الحالة تخبرك بالقيم القانونية لـstatus وقواعد تغييرها.
  • مخطط حالات الاستخدام يخبرك أن Customer يمكنه إتمام الطلب. ومخطط التسلسل يخبرك بالرسائل الدقيقة المتبادلة لتحقيق ذلك.
  • مخطط الفئات يُعرّف مكوّن PaymentService. ومخطط النشاط يُظهر متى ولماذا يُستدعى في سير عمل الطلب.
مبدأ جوهري: تُعرّف المخططات البنيوية مفردات النموذج (الفئات، الجهات الفاعلة، المكونات). وتكتب المخططات السلوكية الجمل — قصص ما يحدث وقت التشغيل. لا يمكنك كتابة جمل جيدة بدون مفردات راسخة، والمفردات دون جمل لا تحكي أي قصة.

متى يرسم المحلل المخططات السلوكية؟

في دورة حياة المشروع النموذجية تظهر المخططات السلوكية في هذه اللحظات:

  1. خلال تحليل المتطلبات — ارسم مخططات النشاط مسودةً للاتفاق مع أصحاب المصلحة على العملية الحالية والعملية المرتقبة. هي أدوات تواصل أولاً، وأدوات دقة ثانياً.
  2. خلال تصميم النظام — ارسم مخططات تسلسل لكل سيناريو استخدام جوهري. هنا يُسلّم المحلل عقداً دقيقاً وغير ملتبس إلى المطورين.
  3. عندما يكون للكائن دورة حياة — ارسم آلة حالة لأي كيان يمكن أن يكون في واحدة من عدة حالات متمايزة بوضوح (طلب، موعد، كتاب مكتبة، سجل مريض).
  4. خلال المراجعة والاختبار — استخدم مخططات التسلسل لتتبع الخطأ عبر سلسلة الرسائل؛ واستخدم آلات الحالة كمراجع اختبار للتحقق من أن التحولات غير القانونية بين الحالات ممنوعة.
خطأ شائع: يتخطى المحللون أحياناً المخططات السلوكية بالكامل وينتقلون مباشرة إلى سرد مكتوب أو قائمة خطوات. هذا يترك غموضاً لا يظهر إلا خلال مرحلة التطوير — في أسوأ لحظة ممكنة. يستغرق رسم مخطط التسلسل عشرين دقيقة ويوفّر أياماً من إعادة العمل.

بهذه الخريطة في يدك أنت مستعد للغوص في العمق. يقدم الدرس التالي مخططات التسلسل: تدوينها الأساسي، وخطوط الحياة، والرسائل، ومستطيلات التفعيل — الآلية الكاملة لأكثر المخططات السلوكية استخداماً في تحليل الأنظمة الاحترافي.