مخطط حالة الاستخدام (Use Case Diagram) هو أحد مخططات UML السلوكية الذي يركز على التفاعل بين المستخدمين والنظام من منظور عالي المستوى.
🎯 الأهداف التعليمية
- فهم مفهوم مخططات حالات الاستخدام
- التعرف على العناصر الأساسية: الممثلين وحالات الاستخدام
- فهم العلاقات بين حالات الاستخدام (التعميم، الإدراج، الامتداد)
- القدرة على رسم مخططات حالات الاستخدام
🏗️ المكونات الأساسية لمخططات حالات الاستخدام
الممثل (Actor)
- أي شيء يتفاعل مباشرة مع النظام
- يمثل الأدوار التي تلعبها الكيانات الخارجية
- يكون خارج حدود النظام
أنواع الممثلين:
- 👨💼 مستخدمين بشريين (العميل، المدير، الموظف)
- 🖥️ أنظمة خارجية (نظام الدفع، نظام الشحن)
- ⏰ أحداث زمنية (نظام يبدأ تلقائياً في وقت محدد)
حالة الاستخدام (Use Case)
- نشاط يقوم به النظام استجابة لطلب من المستخدم
- يحدد المتطلبات الوظيفية للنظام
- يُسمى باستخدام صيغة فعل-اسم (Verb-Noun)
امثلة على حالات الاستخدام:
- إضافة منتج إلى السلة
- تسجيل الدخول
- إنشاء طلب جديد
- تتبع الطلب
حدود الآلية (Automation Boundary)
- الحد الفاصل بين الجزء المؤتمت من التطبيق والمستخدمين الذين يشغلون التطبيق
- يُرسم كمستطيل يحيط بحالات الاستخدام
الرموز الأساسية:
تحديد الممثلين (Actors)
اسأل هذه الأسئلة:
- من يستخدم النظام؟
- ما الأدوار التي يلعبونها في التفاعل؟
- ما هي الأنظمة الأخرى التي تستخدم هذا النظام؟
- من يحصل ويوفر المعلومات للنظام؟
تحديد حالات الاستخدام (Use Cases)
اسأل هذه الأسئلة:
- ما الوظائف التي يريدها ممثل معين من النظام؟
- هل يخزن النظام ويسترد المعلومات؟
- ماذا يحدث عندما يتغير حالة النظام؟
- هل يتفاعل النظام مع أي أنظمة خارجية؟
- هل يولد النظام أي تقارير؟
💡 مثال عملي: متجر البقالة الإلكتروني
الممثلون:
👤 العميل (Customer)
👤 مسؤول النظام (Admin)
👤 مندوب التوصيل (Delivery Person)
🖥️ نظام الدفع (Payment System)
حالات الاستخدام:
- تصفح المنتجات
- إضافة منتج إلى السلة
- إنشاء طلب
- تسجيل الدخول
- إدارة المخزون
- تتبع الطلب
🔗 علاقات حالات الاستخدام
تعميم الممثلين (Actor Generalization)
المشكلة: عندما يكون لدينا ممثلين متشابهين في التفاعل مع النظام
الحل: استخدام علاقة التعميم (الوراثة) حيث يرث الممثل الفرعي خصائص الممثل الأب
مثال:
المندوب يرث جميع علاقات العميل مع النظام ويضيف علاقات إضافية
علاقة الإدراج <<include>>
الاستخدام: عندما تكون هناك سلوكيات مشتركة بين عدة حالات استخدام
الخصائص:
- حالة الاستخدام الأساسية غير مكتملة بدون الحالة المدرجة
- الإدراج إلزامي وضروري
- يحدث في مكان محدد في تدفق الأحداث
مثال:
علاقة الامتداد <<extend>>
الاستخدام: لإضافة سلوك اختياري إلى حالة الاستخدام الأساسية
الخصائص:
- حالة الاستخدام الأساسية مكتملة بدون الامتداد
- الامتداد اختياري وليس إلزامياً
- يحدد نقاط امتداد في تدفق الأحداث
الممثلون الرئيسيون:
- 👤 العميل (Customer)
- 👤 مسؤول النظام (Admin)
- 👤 مدير المبيعات (Sales Manager)
- 🖥️ نظام الدفع (Payment Gateway)
حالات الاستخدام الرئيسية:
للعميل:
التسجيل في النظام
تصفح المنتجات ──<<include>>── البحث عن منتج
إدارة السلة ──<<include>>── إضافة منتج
إتمام الشراء ──<<extend>>── تطبيق كوبون
للمسؤول:
- إدارة المنتجات
- إدارة المستخدمين
- مراقبة المبيعات








