بسم الله الرحمن الرحيم
شرح لطريقة رسم الـ O bject-interaction diagram
startPosition := kermit position.
newPosition := startPosition + 3.
Kermit position : newPosition
لاحظ سلسلة التعابير السابقة كيف ممكن نرسمها في تخطيط واحد ..؟
اولا نبدء بالتعبير الاول startPosition := Kermit position
لاحظ انه تعبير assignment ، بمعنى اننا نريد ان نجعل الـstartPosition اشارة للجواب الرسالة
kermit position
نقوم اولا برسم الكائن المستلم للرسالة Kermit ( في هذا النوع من الرسم يتم رسم الكائنات على شكل خط عمودي )
بعد ذلك نقوم برسم الرسالة التي سترسل للكائن المستلم والتي هي position ( يتم رسم الرسائل على شكل خط افقي )
طبعا التعبير الاول الغرض من ارسالة هو ان نجعل startPosition اشارة لناتج الرسالة Kermit position
يعني ناتج الرسالة راح يكون مشار اليه بـ startPosition و طريقة تمثيله كالتالي:
لاحظ اننا اشارنا لجواب الرسالة بخط افقي متقطع لانه جواب رسالة قابل لتغيير
نحن عرفنا في السابق ان تمثيل أي متغير عددي او string يكون بالشكل التالي:
مثلا لدينا المتغير age الذي يشير للعدد 43 يتم تمثيله كالتالي:
كذلك الـstring نمثله بنفس الاسلوب لنفرض لدينا 'Patel' نمثله كالتالي:
لنعود الى رسالتنا السابقة و تمثيلها ..
نلاحظ ان جواب الرسالة و ضعناه داخل مستطيل اطرافه غير حاده ، طيب لنفرض ان جواب الرسالة سوف يكون
مستلم لرسالة اخرى هل نرسمه بهذه الطريقة (أي داخل المستطيل) طبعا لا ، يتم رسمه على شكل خط عمودي
و السبب لان جواب الرسالة هو كائن و نحن في البداية اتفقنا ان جميع الكائنات تمثل على شكل خط عمودي
أي ان الرسمة تتغير لتصبح كالتالي:
بهذه الطريقة نكون قد انتهينا من تمثيل التعبير الاول للرسالة.
لننتقل الان الى الرسالة الثانية والتي هي newPosition := startPosition + 3
نحدد الكائنات المستلمه للرسائل و الرسائل المرسلة لها حتى نعرف ماالذي سنمثله بخط عمودي و ماالذي سنمثله بخط
افقي:
الكائنات هي (startPosition ) و (newPosition) أي سيتم تمثيلهما كخط عمودي كالتالي:
نلاحظ ان خط الكائنان ليس متساوي في المستوى و السبب ان الكائن الاعلى هو الاساس أي من خلاله سنحصل
على الكائن الذي اقل من مستواه.
بعد عملية تمثيل الكائنات نقوم بتمثيل الرسائل المرسلة و هي هنا ( +3 ) مرسلة للكائن startPosition
طيب الكائن newPosition وش وضعه؟
هو اجابة الرسالة أي اننا راح نشير اليه بواسطة سهم متقطع هذا السهم يخرج من الكائن startPosition كالتالي:
باقي لنا اخر رسالة و هي ليست رسالة assignment هي تعبير رسالة عادية
Kermit position : newPosition
الكائن الذي سيستلم الرسالة هو الـkermit أي سنمثله على شكل خط عمودي
و الرسالة التي سترسل اليه هي position: newPosition و يتم تمثيلها بخط افقي
أي تصبح الرسمة كالتالي:
و بكذا نكون رسمنا كل تعبير رسالة لوحدها و هو يريدنا ان نمثل سلسلة التعبير مع بعض لذا نقوم بالتالي:
نرسم جميع الكائنات المستلمة للرسائل و التي وضحناها من خلال رسمنا لكل تعبير لوحده
بعد ذلك نحدد الرسائل المرسلة لهذه الكائنات المستلمة
ملاحظه مهمه ( الرسائل ترسم كخط افقي متصل اما جواب الرسالة فيرسم كخط افقي متقطع )
فيصبح التمثيل لسلسلة الرسائل السابقة هو كالتالي:
منقول للفائدة















رد مع اقتباس
) +
)




المفضلات