مخططات التفاعل Interaction Diagrams

اقرأ في هذا المقال


ما هي مخططات التفاعل

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

تمتلك عناصر لغة النمذجة الموحدة المختلفة عادةً مخططات تفاعل، ويمكن عرض تفاصيل التفاعل باستخدام عدة رموز مثل مخطط التسلسل، مخطط التوقيت، مخطط الاتصال. مخططات التفاعل تركز على رسم السلوك الديناميكي لأي نظام، وتوفر لنا حالة التفاعل بين واحد أو أكثر من خطوط الحياة في النظام.

الغرض من مخططات التفاعل

في لغة النمذجة الموحدة، تُستخدم مخططات التفاعل للأغراض التالية:

  • تُستخدم مخططات التفاعل لمراقبة السلوك الديناميكي للنظام.
  • تصور مخططات التفاعل الاتصال وتسلسل الرسائل التي تمر في النظام.
  • يمثل مخطط نمذجة تفاعل الجوانب الهيكلية للعديد من الكائنات في النظام.
  • يمثل مخطط التفاعل ترتيب سلسلة التفاعلات داخل النظام.
  • يوفر مخطط التفاعل وسائل تصور البيانات في الوقت الحقيقي عبر لغة النمذجة الموحدة.
  • يمكن استخدام مخططات التفاعل لشرح بنية النظام الموجه للكائنات أو النظام الموزع.

مصطلحات مهمة في مخططات التفاعل:

تحتوي مخططات التفاعل على خطوط الحياة والرسائل والمشغلين وثوابت الحالة والقيود.

– خط الحياة lifeline

يمثل خط الحياة جزء واحد في التفاعل، ويصف كيفية مشاركة مثيل لكلاس معين في التفاعل. يمثل خط الحياة دورًا قد يلعبه مثيل الكلاس في التفاعل. فيما يلي سمات مختلفة لخط الحياة:

الاسم: يتم استخدامه للإشارة إلى خط الحياة ضمن تفاعل معين، اسم خط الحياة اختياري.

النوع: وهو اسم الكلاس الذي يمثل خط الحياة مثيلاً له.

المُحدِّد: وهو شرط منطقي يستخدم لتحديد مثيل معين يلبي المتطلبات، سمة المحدِّد اختيارية أيضًا.

– الرسائل Messages

الرسالة هي نوع محدد من الاتصال بين خطوط الحياة في التفاعل. تتضمن الرسالة الأنشطة التالية:

1- رسالة استدعاء تُستخدم لاستدعاء عملية.

2- رسالة لإنشاء مثيل.

3- رسالة لتدمير مثيل.

4- لإرسال إشارة.

عندما يتلقى خط الحياة رسالة استدعاء، فإنه يعمل على طلب لاستدعاء عملية لها (signature) مماثل كما هو محدد في الرسالة. عندما يُنفِّذ خط الحياة الرسالة، فإن تمركز التحكم يكون لديه. مع تقدم التفاعل بمرور الوقت، ينتقل تمركز التحكم بين خطوط الحياة المختلفة، وهذه الحركة تسمى تدفق السيطرة.

فيما يلي الرسائل المستخدمة في مخطط تفاعل النظام:

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

– ثوابت الحالة وقيودها 

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

– المشغل أو العامل Operator

المُشغل يحدد عملية “كيفية تنفيذ المعاملات”، يتم استخدام مُشغلي (opt و alt) لعمليات التفريع. يتم استخدام مشغل (loop) لضمان عمليات التكرار التي يتم فيها تنفيذ الشرط بشكل متكرر حتى يتم إنتاج النتيجة المرضية. يتم استخدام مشغل (Break) داخل الحلقة أو عمليات التكرار، إذ يضمن إنهاء الحلقة عند مواجهة عامل فاصل، وإذا لم يتم تحديد شرط (break)، فإن الحلقة تنفذ عدد لا نهائي من المرات، مما يؤدي إلى تعطل البرنامج.

– التكرار Iteration

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

– التفرع Branching

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

أنواع مخطط التفاعل:

فيما يلي الأنواع المختلفة لمخططات التفاعل المحددة في لغة النمذجة الموحدة:

1- مخطط التسلسل

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

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

062819_0838_Interaction2

2- مخطط الاتصال

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

وفقًا للبرمجة الشيئية (OOPs)، فإن للكيان الكائن سمات مختلفة مرتبطة به. عادة، هناك كائنات متعددة موجودة داخل نظام الموجه للكائنات حيث يمكن ربط كل كائن بأي كائن آخر داخل النظام. تُستخدم مخططات التعاون لاستكشاف بنية الكائنات داخل النظام، ويمكن تمثيل تدفق الرسائل بين الكائنات باستخدام مخطط التعاون.

062819_0838_Interaction5

3- مخطط توقيت

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

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

062819_0838_Interaction6

المصدر: Interaction, Collaboration & Sequence Diagrams with Examples


شارك المقالة: