أنواع علاقات UML: الارتباط، التبعية، التعميم

⚡ ملخص ذكي

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

  • 🔗 جمعية: رابط هيكلي تتصل فيه الأشياء، مع وجود قيود وتعدد يحددان عدد المشاركين.
  • ➡️ الاعتماد: علاقة أحادية الاتجاه حيث قد يؤثر تغيير في عنصر المورد على العميل التابع.
  • 🌳 تعميم: علاقة بين الأب والابن تُطبّق مبدأ التوريث بين كيان عام وكيان متخصص.
  • 🧩 ادراك: واجهةtracحيث يقوم كيان واحد بتحديد المسؤولية ويقوم كيان آخر بتنفيذها، ويظهر ذلك في شكل قانوني أو مختصر.
  • 💠 التركيب والتجميع: العلاقات بين الكل والجزء؛ فالتركيب يدمر الأجزاء مع الكل، بينما يسمح التجميع للأجزاء بالبقاء بعد الكل.

أنواع علاقات UML

ما هي علاقة UML؟

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

دعونا ندرسها بالتفصيل

أنواع علاقات مخطط فئة UML

علاقات مخطط فئة UML

جمعية

إنها مجموعة من الروابط التي تربط عناصر نموذج UML. كما أنه يحدد عدد الكائنات المشاركة في تلك العلاقة.

التبعية

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

تعميم

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

تحقيق

في علاقة تحقيق UML، يشير أحد الكيانات إلى بعض المسؤوليات التي لا يتم تنفيذها بنفسه والكيان الآخر الذي ينفذها. هذه العلاقة موجودة في الغالب في حالة واجهات.

جمعية

إنها علاقة بنيوية تمثل إمكانية ربط الأشياء أو ربطها بأشياء أخرى داخل النظام. ويمكن تطبيق القيود التالية على علاقة الارتباط.

  • {ضمني} - القيود الضمنية تحدد أن العلاقة غير واضحة؛ لأنه يقوم على مفهوم.
  • {أمر} - تحدد القيود المرتبة أن مجموعة الكائنات الموجودة في أحد طرفي الارتباط تكون بطريقة معينة.
  • {قابل للتغيير} - يحدد القيد القابل للتغيير إمكانية إضافة الاتصال بين الكائنات المختلفة في النظام وإزالته وتعديله وفقًا للمتطلبات.
  • {أضف فقط} - يحدد أنه يمكن إضافة الاتصالات الجديدة من كائن يقع في الطرف الآخر من الارتباط.
  • {مجمدة} - يحدد أنه عند إضافة رابط بين كائنين، لا يمكن تعديله بينما يكون القيد المجمد نشطًا على الرابط أو الاتصال المحدد.

يمكننا أيضًا إنشاء فئة لها خصائص الارتباط؛ يطلق عليه فئة الارتباط.

جمعية انعكاسية

الارتباط الانعكاسي هو نوع فرعي من علاقة الارتباط في UML. في الارتباط الانعكاسي، يمكن أن ترتبط مثيلات نفس الفئة ببعضها البعض. يقال أيضًا أن مثيل الفصل هو كائن.

ينص الارتباط الانعكاسي على إمكانية وجود رابط أو اتصال داخل كائنات من نفس الفئة.

دعونا نفكر في مثال على فاكهة الصف. تحتوي فئة الفاكهة على حالتين، مثل المانجو والتفاح. ينص الارتباط الانعكاسي على أن الرابط بين المانجو والتفاح يمكن أن يكون موجودًا لأنهما من نفس الفئة، مثل الفاكهة.

جمعية موجهة

كما يوحي الاسم، يرتبط الارتباط الموجه باتجاه التدفق داخل فئات الارتباط.

في الارتباط الموجه، يتم توجيه التدفق. يتدفق الارتباط من فئة إلى فئة أخرى في اتجاه واحد فقط.

يتم الإشارة إليه باستخدام خط متصل برأس سهم.

على سبيل المثال:

يمكنك القول أن هناك علاقة ارتباط موجهة بين الخادم والعميل. يمكن للخادم معالجة طلبات العميل. هذا التدفق أحادي الاتجاه، يتدفق من الخادم إلى العميل فقط. ومن ثم يمكن أن توجد علاقة ارتباط موجهة داخل خوادم وعملاء النظام.

التبعية

باستخدام علاقة التبعية في UML، يمكن للمرء أن يربط كيف تعتمد الأشياء المختلفة داخل نظام معين على بعضها البعض. يتم استخدام التبعية لوصف العلاقة بين العناصر المختلفة في UML التي تعتمد على بعضها البعض.

القوالب النمطية

  • "ربط" - الربط هو قيد يحدد أن المصدر يمكنه تهيئة القالب في الموقع المستهدف، باستخدام المعلمات أو القيم المتوفرة.
  • "استخلاص" - يمثل أنه يمكن حساب موقع الكائن المصدر من الكائن الهدف.
  • «صديق» - يحدد أن المصدر يتمتع برؤية فريدة في الكائن الهدف.
  • "حالة" - يحدد أن مثيل المصنف الهدف هو الكائن المصدر.
  • «إنشاء مثيل» - يحدد أن الكائن المصدر قادر على إنشاء مثيلات للكائن الهدف.
  • "صقل" – يحدد ذلك أن الكائن المصدر يتمتع بخصائص مطلقة استثنائيةtraction من ذلك الخاص بالهدف.
  • "يستخدم" - يتم استخدامه عند إنشاء الحزم في UML. تصف الصورة النمطية للاستخدام أن عناصر الحزمة المصدر يمكن أن تكون موجودة داخل الحزمة المستهدفة أيضًا. ويصف أن الحزمة المصدر تستفيد من بعض عناصر الحزمة المستهدفة.
  • "بديل" – يحدد أنه يجوز استبدال العميل بالمورد في وقت التشغيل.
  • "وصول" - يحدد إمكانية وصول الحزمة المصدر إلى عناصر الحزمة المستهدفة والذي يسمى أيضًا بالدمج الخاص.
  • "يستورد" - يحدد أنه يمكن للهدف استيراد عناصر الحزمة المصدر كما تم تعريفها داخل ملف الهدف والذي يسمى أيضًا بالدمج العام.
  • "يسمح" - يحدد أن عنصر المصدر لديه حق الوصول إلى عنصر المورد مهما كانت الرؤية المعلنة للمورد.
  • "يمتد" - يساعدك على تحديد أن الهدف يمكنه توسيع سلوك العنصر المصدر.
  • "يشمل" - يسمح لك بتحديد العنصر المصدر الذي يمكن تضمين سلوك عنصر آخر في موقع محدد. (مثل استدعاء دالة في c/c++)
  • "يصبح" – يحدد أن الهدف مشابه للمصدر بقيم وأدوار مختلفة.
  • "يتصل" - يحدد أن المصدر يمكنه استدعاء طريقة الكائن الهدف.
  • "ينسخ" - يحدد أن الكائن الهدف مستقل، نسخة من الكائن المصدر.
  • «المعلمة» – يُعد المورد أحد معايير عمليات العميل.
  • "يرسل" - العميل عبارة عن عملية ترسل إلى المورد هدفًا غير محدد.

الصور النمطية بين أجهزة الدولة

  • "يرسل" - يحدد أن عملية المصدر ترسل الحدث المستهدف.

تعميم

إنها علاقة بين كيان عام وكيان فريد موجود داخل النظام.

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

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

يُعرف هذا النوع من العلاقات إجمالاً بعلاقة التعميم.

الصور النمطية وقيودها

  • "تطبيق" - تُستخدم هذه الصورة النمطية لتمثيل أن الكيان الفرعي يتم تنفيذه بواسطة الكيان الأصلي عن طريق وراثة بنية وسلوك الكائن الأصلي دون انتهاك القواعد. ملاحظة: يُستخدم هذا النمط النمطي على نطاق واسع في واحد وراثة.

تحتوي علاقة التعميم على قيود مثل كاملة وغير كاملة للتحقق مما إذا كان يتم تضمين جميع الكيانات الفرعية في العلاقة أم لا.

تحقيق

في علاقة تحقيق UML، يشير أحد الكيانات إلى بعض المسؤوليات التي لا يتم تنفيذها بنفسه والكيان الآخر الذي ينفذها. هذه العلاقة موجودة في الغالب في حالة واجهات.

يمكن تمثيل الإدراك بطريقتين:

  • باستخدام الشكل الكنسي
  • استخدام العام شكل محذوف
تحقيق في UML
تحقيق في UML

في الرسم البياني أعلاه، تدرك قواعد عمل الحساب الواجهة IRuleAgent.

أنواع الإنجاز

  1. الشكل المعياري: في علاقة التنفيذ في لغة النمذجة الموحدة (UML)، يُستخدم الشكل المعياري لتنفيذ الواجهات عبر النظام. يعتمد هذا الشكل على نمط الواجهة لإنشاء واجهة، بينما تُستخدم علاقة التنفيذ لتنفيذ تلك الواجهة تحديدًا. في الشكل المعياري، تُرمز علاقة التنفيذ بخط متقطع موجه برأس سهم مفتوح كبير. في الرسم التوضيحي أعلاه، تم تنفيذ الواجهة Iruleagent باستخدام كائن يُسمى Account Business Rules.
  2. الصيغة المختصرة: التحقيق في مخطط فئة UML يمكن أيضًا تمثيلها باستخدام صيغة مختصرة. في هذه الصيغة، يُشار إلى الواجهة بدائرة، تُعرف أيضًا بصيغة المصاصة. عند تطبيق هذه الواجهة باستخدام أي عنصر موجود داخل النظام، ينتج عنها بنية مختصرة. في الرسم التوضيحي أعلاه، تُمثل الواجهة Iruleagent بصيغة مختصرة، ويتم تطبيقها بواسطة acctrule.dll.

التركيب

إنها ليست علاقة UML قياسية، ولكنها لا تزال تستخدم في العديد من التطبيقات.

التجميع المركب هو نوع فرعي من علاقة التجميع بخصائص مثل:

  • إنه ارتباط ثنائي الاتجاه بين الكائنات.
  • إنها علاقة كاملة/جزئية.
  • إذا تم حذف مركب، فسيتم حذف جميع الأجزاء الأخرى المرتبطة به.

يوصف التجميع المركب بأنه ارتباط ثنائي مزين بماسة سوداء مملوءة عند الطرف الكلي (الكامل).

التكوين في UML

التكوين في UML

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

يُعرف هذا النوع من العلاقات في UML بعلاقة التجميع المركبة.

تجميع

An تجميع يُعدّ هذا النوع فرعياً من علاقات الارتباط في لغة النمذجة الموحدة (UML). ويُعتبر كلٌّ من التجميع والتركيب نوعين من علاقات الارتباط في لغة النمذجة الموحدة. ويمكن وصف علاقة التجميع ببساطة بأنها "يمكن لكائن من فئة ما أن يمتلك أو يصل إلى كائنات من فئة أخرى".

في علاقة التجميع، يبقى الكائن التابع ضمن نطاق العلاقة حتى عندما يتم تدمير الكائن المصدر.

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

الأسئلة الشائعة

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

يستخدم UML نهايات خطوط مختلفة لإظهار أنواع العلاقات: خط عادي للارتباط، ورأس سهم مفتوح للتبعية، ومثلث مجوف للتعميم، وخط متقطع مع مثلث مجوف للتنفيذ، ومعين للتجميع أو التركيب.

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

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

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

تلخيص هذه التدوينة بـ: