مخطط الفئات

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

في هندسة البرمجيات ، يعد مخطط الفئة [ 1 ] في لغة النمذجة الموحدة (UML) نوعًا من مخططات الهيكل الثابتة التي تصف بنية النظام من خلال إظهار فئات النظام وسماتها وعملياتها (أو أساليبها) والعلاقات بين الكائنات.

يُعدّ مخطط الفئات اللبنة الأساسية في نمذجة الكائنات . يُستخدم للنمذجة المفاهيمية العامة لبنية التطبيق، وللنمذجة التفصيلية، وترجمة النماذج إلى شفرة برمجية . كما يُمكن استخدام مخططات الفئات لنمذجة البيانات . [ 2 ] تمثل الفئات في مخطط الفئات كلاً من العناصر الرئيسية والتفاعلات في التطبيق، والفئات التي سيتم برمجتها.

في الرسم التخطيطي، يتم تمثيل الفئات بمربعات تحتوي على ثلاثة أقسام:

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

في تصميم النظام، يتم تحديد عدد من الفئات وتجميعها في مخطط فئات يساعد على تحديد العلاقات الثابتة بينها. وفي النمذجة التفصيلية، غالبًا ما تُقسّم فئات التصميم المفاهيمي إلى فئات فرعية. [ 3 ]

من أجل وصف سلوك الأنظمة بشكل أكبر، يمكن استكمال مخططات الفئات هذه بمخطط حالة أو آلة حالة UML . [ 4 ]

أعضاء

يوفر UML آليات لتمثيل أعضاء الفئة، مثل السمات والأساليب، ومعلومات إضافية عنها مثل المنشئات.

الرؤية

لتحديد مدى رؤية عضو في فئة (أي أي سمة أو طريقة)، يجب وضع هذه الرموز قبل اسم العضو: [ 5 ]

+عام
-خاص
#محمي
~طَرد

الخاصية المشتقة هي خاصية يتم إنتاج قيمتها (أو قيمها) أو حسابها من معلومات أخرى، على سبيل المثال، باستخدام قيم خصائص أخرى.

يتم عرض الخاصية المشتقة باسمها مسبوقًا بشرطة مائلة للأمام '/'. [ 6 ]

نِطَاق

تحدد لغة النمذجة الموحدة (UML) نوعين من نطاق الأعضاء: نطاق المثيل ونطاق الفئة . يظهر اسم الفئة على شكل سلسلة متصلة مسطرة من اسم المثيل (إن وجد)، ثم نقطتين رأسيتين (:)، ثم اسم الفئة الفعلي. [ 1 ]

  • يتم تحديد نطاق أعضاء المثيل لمثيل معين.
    • قد تختلف قيم السمات بين الحالات
    • قد يؤثر استدعاء الأسلوب على حالة الكائن (أي تغيير سمات الكائن).
  • تُعرف عناصر الفئة عادةً باسم "الثابتة" في العديد من لغات البرمجة. ويُقصد بنطاقها الفئة نفسها.
    • تكون قيم السمات متساوية لجميع الحالات
    • لا يؤثر استدعاء الأسلوب على حالة المصنف

لتحديد نطاق المصنف لعضو ما، يجب وضع خط تحت اسمه. وإلا، فسيتم افتراض نطاق المثيل افتراضياً.

العلاقات

تدوين علاقات UML

العلاقة مصطلح عام يشمل أنواعًا محددة من الروابط المنطقية الموجودة في مخططات الفئات والكائنات. يُعرّف UML العلاقات التالية:

العلاقات على مستوى المثيل

التبعية

التبعية هي نوع من الارتباطات التي تربط بين عناصر النموذج التابعة والمستقلة. [ 7 ] وتنشأ التبعية بين عنصرين إذا كان تغيير تعريف أحدهما (الخادم أو الهدف) قد يؤدي إلى تغيير تعريف الآخر (العميل أو المصدر). هذا الارتباط أحادي الاتجاه. تُعرض التبعية بخط متقطع مع سهم مفتوح يشير من العميل إلى المورد.

منظمة

مثال على مخطط الفئات يوضح العلاقة بين فئتين

يمثل الارتباط مجموعة من الروابط الهيكلية. يُرمز للارتباط الثنائي بخط متصل بين فئتين. أما الارتباط الانعكاسي فهو ارتباط ثنائي بين الفئة ونفسها. ويُرمز للارتباط بين أكثر من فئتين بشكل معين متصل بخط متصل بكل فئة من الفئات المرتبطة. ويُسمى الارتباط بين ثلاث فئات ارتباطًا ثلاثيًا. أما الارتباط بين أكثر من فئة فيُسمى ارتباطًا من الرتبة n.

يمكن تسمية العلاقة، ويمكن تزيين نهاياتها بأسماء الأدوار، ومؤشرات التجميع، والتعددية، والرؤية، وسهولة التصفح، وخصائص أخرى. على سبيل المثال، تسمح صيغة النقطة بتمثيل أن نهاية العلاقة مملوكة للطرف الآخر بنقطة صغيرة على جانب أحد الأصناف. [ 8 ]

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

تجميع

مخطط الفئات الذي يوضح التجميع بين فئتين. هنا، لدى الأستاذ فئة لتدريسها.

التجميع هو شكل من أشكال علاقة الارتباط "يحتوي على"؛ وهو أكثر تحديدًا من الارتباط. يُمثل التجميع علاقة جزء بالكل أو جزء من. كما هو موضح في الصورة، "لدى" الأستاذ فصل دراسي لتدريسه. وباعتباره نوعًا من الارتباط، يمكن تسمية التجميع وإضفاء نفس السمات التي تُضفى على الارتباط. مع ذلك، لا يجوز أن يشمل التجميع أكثر من فصلين دراسيين؛ بل يجب أن يكون ارتباطًا ثنائيًا. علاوة على ذلك، يكاد لا يوجد فرق بين التجميعات والارتباطات أثناء التنفيذ، وقد يتجاهل المخطط علاقات التجميع تمامًا. [ 9 ]

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

في لغة النمذجة الموحدة (UML) ، يُمثَّل هذا العنصر بيانياً على شكل معين مجوف على الفئة الحاوية، مع خط واحد يربطه بالفئة المُحتواة. ويُعتبر هذا العنصر المُجمَّع، من الناحية الدلالية، كائناً مُمتداً يُعامل كوحدة واحدة في العديد من العمليات، على الرغم من أنه يتكون فعلياً من عدة كائنات أصغر.

تعبير

مخططان تصنيفيان. يوضح المخطط العلوي العلاقة بين فئتين: السيارة لها مكربن ​​واحد فقط، والمكربن ​​جزء من السيارة. لا يمكن أن يوجد المكربن ​​كجزء منفصل عن السيارة. يوضح المخطط السفلي العلاقة بين فئتين: البركة تحتوي على صفر أو أكثر من البط، والبطة لها بركة واحدة على الأكثر (في أي وقت). يمكن للبطة أن تعيش بمعزل عن البركة، مثلاً بالقرب من بحيرة. عند تدمير بركة، لا نقتل عادةً جميع البط.

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

الاختلافات بين التركيب والتجميع

علاقة التركيب
1. عند محاولة تمثيل العلاقات بين الكل والجزء في العالم الحقيقي، على سبيل المثال، المحرك هو جزء من السيارة.
2. عندما يتم تدمير الحاوية، يتم تدمير محتوياتها أيضًا، على سبيل المثال الجامعة وأقسامها.
علاقة التجميع
1. عند تمثيل علاقة بين برنامج أو قاعدة بيانات، على سبيل المثال، محرك طراز السيارة ENG01 هو جزء من طراز السيارة CM01، حيث أن المحرك ENG01 قد يكون أيضًا جزءًا من طراز سيارة مختلف. [ 10 ]
2. عندما يتم تدمير الحاوية، فإن محتوياتها عادة لا تدمر، على سبيل المثال، الأستاذ لديه طلاب؛ عندما يغادر الأستاذ الجامعة، لا يغادر الطلاب مع الأستاذ.

لذا، غالبًا ما تكون علاقة التجميع عبارة عن احتواء "فهرسي" لتمييزها عن الاحتواء "المادي" للتكوين. لا يحدد UML 2 أي دلالة للتجميع مقارنةً بالارتباط البسيط.

العلاقات على مستوى الصف

التعميم/الوراثة

مخطط الفئات الذي يوضح التعميم بين الفئة العليا Person والفئتين الفرعيتين Student و Professor

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

التمثيل الرسومي لـ UML للتعميم هو شكل مثلث مجوف في نهاية الفئة العليا للخط (أو شجرة الخطوط) التي تربطه بنوع فرعي واحد أو أكثر.

 رمز التعميم (الفئة الفرعية) ———————▻ (الفئة العليا)

العلاقة المقابلة للتعميم هي علاقة التخصص . ومن المصطلحات الأخرى التي تُطلق على فئة فرعية (متخصصة) من فئة أساسية أكثر عمومية: النوع الفرعي ، والفئة المشتقة ، والنوع المشتق ، والفئة الوارثة ، والنوع الوارث ، والفرع ، وفئة الفرع .

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

أ هو نوع من ب
على سبيل المثال، "شجرة البلوط نوع من أنواع الأشجار"، "السيارة نوع من أنواع المركبات".

لا يمكن إظهار التعميم إلا على مخططات الفئات ومخططات حالات الاستخدام .

التنفيذ/التحقيق

في نمذجة UML، تعتبر علاقة التحقيق علاقة بين عنصرين من عناصر النموذج، حيث يقوم أحد عناصر النموذج (العميل) بتحقيق (تنفيذ أو تطبيق) السلوك الذي يحدده عنصر النموذج الآخر (المورد).

يُمثل التمثيل الرسومي للتنفيذ في لغة النمذجة الموحدة (UML) شكل مثلث مجوف عند طرف الواجهة للخط المتقطع (أو شجرة الخطوط) الذي يربطه بمنفذ واحد أو أكثر. ويُستخدم رأس سهم عادي عند طرف الواجهة للخط المتقطع الذي يربطه بالمستخدمين. في مخططات المكونات، يُستخدم اصطلاح الكرة والمقبس (يُظهر المنفذون كرة أو شكل مصاصة، بينما يُظهر المستخدمون مقبسًا). لا يمكن عرض التنفيذات إلا في مخططات الفئات أو المكونات. التنفيذ هو علاقة بين الفئات والواجهات والمكونات والحزم تربط عنصر العميل بعنصر المورد. تُظهر علاقة التنفيذ بين الفئات/المكونات والواجهات أن الفئة/المكون يُنفذ العمليات التي توفرها الواجهة.

 رمز التنفيذ (المنفذ) -------▻ (الواجهة)

العلاقة العامة

مخطط الفئات الذي يوضح التبعية بين فئة "السيارة" وفئة "العجلة" (مثال أوضح هو "السيارة تعتمد على الوقود"، لأن السيارة تجمع بالفعل (ولا تستخدم فقط ) العجلة).

التبعية

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

التعددية

تشير علاقة الارتباط هذه إلى أن إحدى الفئتين المرتبطتين (على الأقل) تشير إلى الأخرى. وعادةً ما تُوصف هذه العلاقة بأنها "لـ أ هـ ب" (قطة أم تلد صغارًا، والصغار يلدون قطة أم).

يُمثل نموذج UML العلاقة بخط يصل بين الفئتين المرتبطتين. يوجد في كل طرف من طرفي الخط رموز اختيارية. على سبيل المثال، يمكننا الإشارة، باستخدام رأس سهم، إلى أن الطرف المدبب مرئي من ذيل السهم. كما يمكننا الإشارة إلى الملكية بوضع كرة، ودور عناصر ذلك الطرف بتحديد اسم لهذا الدور، وتعدد مثيلات هذا الكيان (نطاق عدد الكائنات المشاركة في العلاقة من منظور الطرف الآخر).

0لا توجد حالات (نادر)
0..1لا توجد حالات، أو حالة واحدة
1حالة واحدة فقط
1..1حالة واحدة فقط
0..*صفر أو أكثر من الحالات
*صفر أو أكثر من الحالات
1..*حالة واحدة أو أكثر

تحليل الصور النمطية

الكيانات

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

تُرسم هذه العناصر على شكل دوائر مع خط قصير متصل بأسفل الدائرة. أو يمكن رسمها كفئات عادية مع وضع رمز "الكيان" فوق اسم الفئة.

انظر أيضاً

مخططات ذات صلة

مراجع

  1. 1 2 "الفئات". لغة النمذجة الموحدة 2.5.1 . رقم وثيقة OMG : official/2017-12-05. منظمة تطوير معايير مجموعة إدارة الكائنات (OMG SDO). ديسمبر 2017. ص  194.
  2. سباركس، جيفري. "نمذجة قواعد البيانات في لغة النمذجة الموحدة" . تم الاطلاع عليه بتاريخ 8 سبتمبر 2011 .
  3. فلات، أميلي؛ لانجنر، آرني؛ ليبس، أولوف (2022)، "المرحلة الأولى: ربط المفاهيم القانونية بالكائنات التقنية" ، تطوير نماذج ملفات تعريف تطبيق أكوما نتوسو ، تشام: دار نشر سبرينغر الدولية، ص 13-17 ، doi : 10.1007/978-3-031-14132-4_3 ، ISBN  978-3-031-14131-7تم الاطلاع عليه بتاريخ 2023-01-07
  4. سكوت دبليو. أمبلر (2009) مخططات فئات UML 2. وثيقة ويب 2003-2009. تاريخ الوصول: 2 ديسمبر 2009
  5. بطاقة مرجعية UML، الإصدار 2.1.2 ، شركة هولوب أسوشيتس، أغسطس 2007 ، تم الاطلاع عليها في 12 مارس 2011
  6. "الخاصية المشتقة من لغة النمذجة الموحدة (UML) هي خاصية تُنتج قيمتها أو تُحسب من معلومات أخرى، على سبيل المثال، باستخدام خصائص أخرى" . www.uml-diagrams.org . تاريخ الاسترجاع: ٢٤ يناير ٢٠١٩ .
  7. فاولر (2003) UML Distilled: A Brief Guide to the Standard Object Modeling Language
  8. سيليك، بران (18 أبريل 2013). "الوصول إلى النقطة الصحيحة" (ملف PDF) . www.omg.org . مجموعة إدارة الكائنات . تاريخ الاسترجاع: 26 نوفمبر 2023 .
  9. "دليل UML الجزء 1: مخططات الفئات" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 2007-01-03 . تم الاطلاع عليه بتاريخ 2015-07-18 .
  10. غودوين، ديفيد. "النمذجة والمحاكاة، ص 26" (ملف PDF) . جامعة وارويك . تم الاطلاع عليه بتاريخ 28 نوفمبر 2015 .