📌 الفروقات الحاسمة بين الأسهم - اتقن هذه!
رأس سهم ممتلئ (مثلث مصمت ▶)
- ✓ رسائل متزامنة (تنتظر الرد)
- ✓ تدفق التحكم (مخططات النشاط)
- ✓ التحولات بين الحالات
رأس سهم مفتوح (شكل V >)
- ✓ رسائل غير متزامنة (لا تنتظر)
- ✓ رسائل العودة (خط متقطع)
- ✓ تضمين/تمديد (خط متقطع)
مثلث مجوف (التوريث △)
- ✓ التعميم/التوريث فقط
- ✓ يشير دائماً إلى الأصل/الفئة الأم
- ✓ يستخدم في مخططات حالة الاستخدام والكلاس
بدون رأس سهم (الارتباط —)
- ✓ الارتباط (الممثل إلى حالة الاستخدام)
- ✓ علاقة ثنائية الاتجاه
- ✓ لا يوجد اتجاه محدد
1️⃣ مخططات حالة الاستخدام
بيضاوي / شكل بيضاوي
يمثل حالة استخدام - وظيفة محددة أو إجراء يقدمه النظام للممثلين.
📝 مثال: "تسجيل الدخول"، "معالجة الدفع"، "إنشاء تقرير"
شخصية العصا
يمثل ممثل - كيان خارجي (شخص، نظام، أو منظمة) يتفاعل مع النظام.
📝 مثال: "عميل"، "مدير النظام"، "بوابة الدفع"
مستطيل / صندوق
يمثل حدود النظام - يحدد نطاق النظام وما هو داخل النظام مقابل خارجه.
📝 يحتوي على جميع حالات الاستخدام للنظام
خط متصل (ارتباط)
يُظهر التواصل/المشاركة بين الممثل وحالة الاستخدام.
⚠️ خط متصل - بدون رأس سهم
📝 المعنى: الممثل يمكنه بدء أو المشاركة في حالة الاستخدام هذه
علاقة «include»
حالة الاستخدام الأساسية تضم دائمًا حالة الاستخدام المضمنة. تضمين إلزامي.
⚠️ خط متقطع + رأس سهم مفتوح
📝 مثال: "تسجيل الدخول" يتضمن "التحقق من بيانات الاعتماد"
علاقة «extend»
امتداد اختياري - حالة الاستخدام الممتدة قد تضيف سلوكًا لحالة الاستخدام الأساسية تحت ظروف معينة.
⚠️ خط متقطع + رأس سهم مفتوح (يشير إلى الأساسية)
📝 مثال: "معالجة الطلب" يمتد إلى "تطبيق كود الخصم"
التعميم (التوريث)
علاقة توريث بين الممثلين أو حالات الاستخدام. الابن يرث خصائص الأب.
⚠️ خط متصل + مثلث مجوف (يشير إلى الأصل)
📝 مثال: "المدير" و"الضيف" هما أنواع متخصصة من "المستخدم"
التجميع (معين مجوف)
علاقة "يملك" ضعيفة - الكل يحتوي على أجزاء، ولكن الأجزاء يمكن أن توجد بشكل مستقل عند تدمير الكل.
⚠️ خط متصل + معين مجوف (يشير إلى الكل)
📝 مثال: الجامعة لديها طلاب (الطلاب يمكن أن يوجدوا بدون الجامعة)
التكوين (معين ممتلئ)
علاقة "يملك" قوية - الكل يحتوي على أجزاء، الأجزاء لا يمكن أن توجد بشكل مستقل عند تدمير الكل.
⚠️ خط متصل + معين ممتلئ (يشير إلى الكل)
📝 مثال: المنزل يحتوي على غرف (الغرف لا يمكن أن توجد بدون المنزل)
2️⃣ مخططات النشاط
دائرة ممتلئة (●)
تمثل الحالة الأولية / عقدة البداية - حيث يبدأ النشاط.
📝 واحدة فقط لكل مخطط نشاط
هدف (◎)
تمثل الحالة النهائية / عقدة النهاية - حيث ينتهي النشاط.
📝 يمكن أن يكون هناك عدة عقد نهاية
مستطيل ذو زوايا دائرية
يمثل نشاط / حالة إجراء - مهمة أو عملية يتم تنفيذها.
📝 مثال: "معالجة الدفع"، "التحقق من المدخلات"، "إرسال بريد إلكتروني"
معين ممتلئ (◆) - قرار
عقدة قرار / تفرع - تدفق شرطي مع مسارات متعددة خارجة بناءً على الشروط.
⚠️ معين ممتلئ (لون مصمت من الداخل)
📝 تُظهر الحرس بين قوسين: [شرط]، [آخر]
معين فارغ (◇) - دمج
عقدة دمج - حيث تلتقي مسارات متعددة مرة أخرى في تدفق واحد.
⚠️ معين فارغ (مجوف، بدون تعبئة)
📝 يستخدم بعد القرار/التفرع لإعادة ضم المسارات
شريط سميك - تفرع
عقدة تفرع - تقسم التدفق إلى أنشطة متوازية/متزامنة تنفذ في نفس الوقت.
⚠️ مدخل واحد، مخارج متعددة
📝 تبدأ جميع الأنشطة المتوازية في نفس الوقت
شريط سميك - ربط
عقدة ربط / تزامن - تنتظر انتهاء جميع الأنشطة المتوازية قبل المتابعة.
⚠️ مدخلات متعددة، مخرج واحد
📝 يجب الانتظار حتى تنتهي جميع المهام (نقطة تزامن)
سهم (تدفق التحكم)
تدفق التحكم / تحول - يُظهر تسلسل واتجاه الأنشطة.
⚠️ خط متصل + رأس سهم ممتلئ
📝 يشير إلى ترتيب التنفيذ
حارة السباحة / قسم
قسم رأسي أو أفقي - ينظم الأنشطة حسب من ينفذها (الأدوار/الإدارات).
📝 يُظهر المسؤولية: حارة العميل، حارة النظام، حارة المدير
3️⃣ مخططات التسلسل
مستطيل بالاسم
يمثل كائن/مشارك في التفاعل. صيغة الاسم: :اسم_الفئة أو اسم_الكائن:اسم_الفئة
📝 مثال: :معالج_الدفع، مستخدم:مستخدم
شخصية العصا (ممثل)
يمثل ممثل خارجي - عادةً مستخدم بشري يتفاعل مع النظام.
📝 مثال: عميل، مدير النظام
خط عمودي متقطع
خط الحياة - يمثل وجود الكائن عبر الزمن في التسلسل.
⚠️ خط عمودي متقطع
📝 يمتد من صندوق الكائن للأسفل عبر التفاعل
صندوق التنشيط
مستطيل عمودي رفيع على خط الحياة - يُظهر متى يكون الكائن نشطًا في التنفيذ أو المعالجة.
📝 مدة تنفيذ الأسلوب أو الحالة النشطة
سهم متصل (متزامن)
رسالة متزامنة - المرسل ينتظر حتى يكمل المستقبل قبل المتابعة.
⚠️ خط متصل + رأس سهم ممتلئ
📝 مكالمة حاجزة - تنتظر الرد
سهم مفتوح (غير متزامن)
رسالة غير متزامنة - المرسل يواصل فورًا بدون انتظار المستقبل.
⚠️ خط متصل + رأس سهم مفتوح
📝 مكالمة غير حاجزة - أطلق وانسى
سهم متقطع (عودة)
رسالة عودة - رد أو نتيجة تُرسل مرة أخرى إلى المتصل.
⚠️ خط متقطع + رأس سهم مفتوح
📝 اختياري - غالبًا ما يكون ضمنيًا في المكالمات المتزامنة
إطار التفاعل (alt)
تدفقات بديلة - مثل عبارة if-else. فرع واحد فقط ينفذ.
📝 مشغلات شائعة: alt (بديل)، opt (اختياري)، loop (تكرار)، ref (مرجع)
إطار مرجعي (ref)
إشارة إلى مخطط آخر - يشير إلى استمرار التفاعل في مخطط تسلسل منفصل.
📝 يستخدم لتبسيط التفاعلات المعقدة بتقسيمها إلى مخططات أصغر
إطار حلقة (loop)
تكرار - يتكرر التفاعل بناءً على شرط أو عد.
📝 مثال: [لكل عنصر]، [بينما الشرط]، [1..10]
4️⃣ مخططات حالة الآلة
دائرة ممتلئة (●)
تمثل الحالة الأولية - حيث يبدأ الكائن دورة حياته.
📝 واحدة فقط لكل آلة حالة
هدف (◎)
تمثل الحالة النهائية - حيث تنتهي دورة حياة الكائن.
📝 يمكن أن يكون هناك عدة حالات نهائية
مستطيل ذو زوايا دائرية (حالة)
تمثل حالة - شرط أو موقف في دورة حياة الكائن.
📝 مثال: "خامل"، "قيد المعالجة"، "مكتمل"، "خطأ"
سهم (تحول)
تحول - تغيير من حالة إلى أخرى يتم تحفيزه بحدث.
⚠️ خط متصل + رأس سهم ممتلئ
📝 يُوسَم بـ: حدث [شرط] / إجراء
صيغة تسمية التحول
حدث [شرط] / إجراء - مواصفات التحول الكاملة.
📝 حدث = محفز، [شرط] = شرط، إجراء = ما يحدث
حالة مركبة
حالة مع أنشطة داخلية - تُظهر الإجراءات التي تتم خلال الحالة.
📝 دخول/ = عند الدخول، فعل/ = أثناء التواجد في الحالة، خروج/ = عند المغادرة
إجراء الدخول (entry /)
إجراء يتم تنفيذه عند دخول الحالة - يُنفذ مرة واحدة عند الدخول.
📝 مثال: تهيئة المتغيرات، تشغيل المؤقتات، تسجيل الدخول
نشاط الفعل (do /)
نشاط مستمر أثناء التواجد في الحالة - يستمر حتى خروج الحالة.
📝 مثال: مراقبة مستمرة، رسوم متحركة، استطلاع
إجراء الخروج (exit /)
إجراء يتم تنفيذه عند مغادرة الحالة - يُنفذ مرة واحدة عند الخروج.
📝 مثال: تنظيف الموارد، حفظ الحالة، تسجيل الخروج
💡 نصائح سريعة للحفظ
- الدوائر: نقاط البداية (●) والنهاية (◎) في مخططات النشاط والحالة
- المستطيلات: الأشياء التي تقوم بعمل أو تحتفظ بحالة (أنشطة، حالات، كائنات)
- معين ممتلئ (◆): نقاط القرار (التفرع) في مخططات النشاط
- معين فارغ (◇): نقاط الدمج أو التجميع (علاقة "يملك" ضعيفة)
- الشرائط السميكة: المعالجة المتوازية (تفرع للتقسيم، ربط للتزامن)
- سهم ممتلئ (▶): علاقة قوية (مكالمة متزامنة، تحول، تدفق تحكم)
- سهم مفتوح (>): علاقة ضعيفة/اعتمادية (غير متزامن، تضمين، تمديد، عودة)
- مثلث مجوف (△): يعني دائمًا التوريث/التعميم (يشير إلى الأصل)
- شخصيات العصا: دائمًا ممثلين خارجيين (أشخاص أو أنظمة)
- تذكر: ممتلئ = قوي/قرار، فارغ = ضعيف/دمج، متقطع = اعتمادية
🎯 مرجع الأسهم الكامل - جميع الأنواع
| شكل مرئي | نوع السهم | نمط الخط | نوع الرأس | يُستخدم في | المعنى |
|---|---|---|---|---|---|
| تدفق التحكم | متصل | مثلث ممتلئ ▶ | النشاط، الحالة | التسلسل/التحول | |
| مكالمة متزامنة | متصل | مثلث ممتلئ ▶ | التسلسل | ينتظر الرد | |
| مكالمة غير متزامنة | متصل | مفتوح (شكل V) | التسلسل | لا ينتظر، يواصل | |
| رسالة عودة | متقطع | مفتوح (شكل V) | التسلسل | رد/نتيجة | |
| «include» | متقطع | مفتوح (شكل V) | حالة الاستخدام | يتضمن دائمًا | |
| «extend» | متقطع | مفتوح (شكل V) | حالة الاستخدام | امتداد اختياري | |
| تعميم | متصل | مثلث مجوف △ | حالة الاستخدام، الحالة | التوريث | |
| ارتباط | متصل | لا يوجد | حالة الاستخدام | تواصل | |
| خط الحياة | متقطع (عمودي) | لا يوجد | التسلسل | وجود الكائن | |
| تجميع | متصل | معين مجوف ◇ | فئة | علاقة "يملك" ضعيفة | |
| تكوين | متصل | معين ممتلئ ◆ | فئة | علاقة "يملك" قوية |