تعميم الأطراف الفاعلة وحالات الاستخدام
تعميم الأطراف الفاعلة وحالات الاستخدام
في الأنظمة الحقيقية، نادرًا ما تكون الأطراف الفاعلة متماثلة تمامًا. العضو المسجّل في مكتبة قادر على كل ما يستطيع الزائر العادي فعله — وأكثر. والطبيب الأول يؤدي جميع مهام الطبيب العادي، بالإضافة إلى صلاحية الموافقة على الإحالات. تُوثَّق علاقة التخصص هذه في UML باستخدام سهم التعميم — خط متصل بنهاية مثلثية مجوفة تشير من العنصر المتخصص (الابن) نحو العنصر العام (الأب).
يسري التعميم على كلٍّ من الأطراف الفاعلة وحالات الاستخدام، وهو من أكثر الأدوات تعبيرًا في نموذج حالات الاستخدام. إذا استُخدم بالشكل الصحيح، فإنه يزيل التكرار ويوضح التسلسل الهرمي للأدوار ويكشف بدقة السلوك المُضاف أو المُعاد تعريفه على مستوى العنصر المتخصص.
تعميم الأطراف الفاعلة
عندما يرث طرف فاعل جميع حالات الاستخدام الخاصة بطرف آخر ويشارك في حالات استخدام إضافية من نفسه، نرسم سهم تعميم من الطرف الابن نحو الطرف الأب. الطرف الابن هو الدور الأكثر تخصصًا، والطرف الأب هو الدور الأكثر تجريدًا.
في نظام حجز عيادة طبية، تأمَّل الأدوار الثلاثة التالية:
- المستخدم (User) — أي شخص يتفاعل مع البوابة العامة: يستطيع تصفح المواعيد المتاحة وعرض ملفات الأطباء.
- المريض (Patient) — مستخدم مسجّل: يرث التصفح والعرض، ويضيف حجز موعد وإلغاء موعد وعرض السجل الطبي.
- المريض المميز (Premium Patient) — مشترك بباقة مدفوعة: يرث كل ما يقوم به المريض، ويضيف طلب موعد ذي أولوية وتنزيل التقارير.
يُرسم هذا التسلسل الهرمي الثلاثي المستويات بسهمَي تعميم: Patient → User و Premium Patient → Patient. المخطط الناتج أكثر وضوحًا بكثير من تكرار جميع الارتباطات الموروثة على كل طرف فاعل.
تعميم حالات الاستخدام
يمكن أيضًا تعميم حالات الاستخدام ذاتها. تُعرِّف حالة الاستخدام الأم الهدف الكلي والتدفق العام؛ أما حالة الاستخدام الابنة فترث ذلك السلوك وتُعيد تعريف خطوات بعينها أو تُوسِّعها دون الحاجة إلى إعادة تعريف التدفق بأكمله. ويختلف هذا عن «include» و«extend» اللذين يتعلقان بإعادة الاستخدام والإضافة الشرطية — إذ يتعلق التعميم بـتخصيص السلوك.
في متجر إلكتروني، تُعرِّف حالة الاستخدام معالجة الدفع (Process Payment) الهدف المجرد المتمثل في تحصيل المال من العميل. تخصِّصها حالتا استخدام ابنتان:
- الدفع ببطاقة الائتمان (Pay by Credit Card) — ترث التدفق العام للدفع وتُعيد تعريف الخطوة التي تُجمع فيها بيانات الدفع لتطلب رقم البطاقة وتاريخ انتهاء الصلاحية ورمز CVV.
- الدفع بالمحفظة الرقمية (Pay by Digital Wallet) — ترث الأم نفسها وتُعيد تعريف خطوة جمع البيانات لإعادة توجيه العميل إلى مزود المحفظة (PayPal، Apple Pay، إلخ).
يمكن للأطراف الفاعلة تشغيل حالات الاستخدام الابنة مباشرةً، في حين قد تكون حالة الاستخدام الأم مجردة — أي لا يُشغِّلها أي طرف فاعل بشكل مباشر، بل وجودها محصورٌ في تحديد البنية المشتركة التي ترثها الحالات الابنة.
الفرق بين التعميم و«include» و«extend»
كثيرًا ما يخلط المحللون الجدد بين التعميم والعلاقتين الأخريين في حالات الاستخدام. يوضح الجدول التالي الفرق:
«include»؛ وإذا كنت ستقول "ب تُضيف أحيانًا سلوكًا لأ" فاستخدم «extend».
تعميم الأطراف الفاعلة في نظام مكتبة
تأمَّل نظام إدارة مكتبة يضم التسلسل الهرمي التالي للأدوار:
- عضو المكتبة (Library Member) — يستطيع البحث في الفهرس واستعارة مادة وإعادة مادة وسداد غرامة.
- موظف المكتبة (Staff Member) — يرث كل ما يستطيعه العضو العادي، ويضيف معالجة إعارة وتسجيل عضو جديد وتوليد التقارير.
- رئيس المكتبة (Head Librarian) — يرث من موظف المكتبة، ويضيف ضبط إعدادات النظام واعتماد الميزانية.
هنا السلسلة الهرمية هي Staff Member → Library Member وHead Librarian → Staff Member. رسم هذين السهمين بدلًا من تكرار كل ارتباط موروث يجعل المخطط أكثر إيجازًا ودقةً دلاليًا.
المجرد مقابل الملموس في تعميم حالات الاستخدام
تُسمى حالة الاستخدام الأم مجردة (Abstract) عندما لا يُشغِّلها أي طرف فاعل مباشرةً — فوجودها محصورٌ في تعريف البنية المشتركة التي ترثها الحالات الابنة وتُخصِّصها. تُعرَض حالات الاستخدام المجردة باصطلاح بإطار بيضاوي بخط متقطع أو بكتابة الاسم بـخط مائل (italic).
أما حالة الاستخدام الملموسة (Concrete) فيمكن للطرف الفاعل تشغيلها مباشرةً. وهي ترث جميع خطوات الأم ويجب أن تستوفي الشروط اللاحقة نفسها، لكنها قد تُعيد تعريف خطوات معينة وتضيف شروطًا مسبقة خاصة بها.
ملخص
- التعميم = علاقة "هو نوع من" (IS-A)؛ الابن يرث جميع ارتباطات وسلوكيات الأب.
- اتجاه السهم: من الابن (المتخصص) نحو الأب (العام)، مع رأس سهم مثلثي مجوف عند نهاية الأب.
- يسري على كلٍّ من الأطراف الفاعلة (وراثة الأدوار) وحالات الاستخدام (تخصيص السلوك).
- حالة الاستخدام الأم المجردة لا تحمل ارتباطات مباشرة مع أطراف فاعلة — فقط حالاتها الملموسة الابنة تُشغَّل مباشرةً.
- فضِّل التعميم على تكرار الارتباطات متى وُجدت علاقة IS-A حقيقية بين الأطراف الفاعلة أو حالات الاستخدام.