مخطط الكلاس Class Diagram

اقرأ في هذا المقال


يعد مخطط الكلاس واحدة من أكثر أنواع المخططات فائدة في لغة النمذجة الموحدة (UML)؛ لأنه يحدد بوضوح بنية نظام معين من خلال توضيح الكلاسات والسمات والعمليات والعلاقات بين الكائنات.

ما هو مخطط الكلاس

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

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

الغرض من مخططات الكلاس

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

  • تحليل وتصميم الشكل الثابت للتطبيق.
  • وصف مسؤوليات النظام.
  • هو الأساس لمخططات النشر والمكونات.

رموز المستخدمة في مخطط الكلاس:

تتكون رموز الكلاس من ثلاث أجزاء:

1- اسم الكلاس

  • يظهر اسم الكلاس في القسم الأول.

2- سمات الكلاس

  • يتم عرض السمات في القسم الثاني.
  • تظهر نوع السمة بعد النقطتين الرأسيتين.
  • يُشار لسمات بمتغيرات الأعضاء (البيانات الأعضاء) في الكود.

3- عمليات الكلاس (دوال الكلاس)

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

02-simple-class

التمثيل الرسومي للكلاس والذي يسمى (MyClass) كما هو موضح أعلاه:

  • يحتوي كلاس (MyClass) على (3) سمات، و (3) عمليات.
  • المعامل (p3) للعملية (op2) من النوع (int).
  • تقوم العملية (op2) بإرجاع عدد عشري (float).
  • تقوم (op3) بإرجاع مؤشر (يُشار إليه بعلامة *) على (Class6).

إمكانية رؤية سمات وعمليات الكلاس والوصول إليها

في التصميم الموجه للكائنات، هناك رموز تشير إلى إمكانية الوصول للسمات والعمليات ورؤيتها، تكون هذه الرموز قبل اسم السمة واسم العملية في الكلاس، حيث تحدد لغة (UML) أربعة أنواع من الرؤية، وهي:

العامة (+):  يشير إلى السمات أو العمليات العامة، يعني أنه يمكن الوصول إلى هذه السمات أو العمليات من أعضاء نفس الكلاس ومن أعضاء الكلاسات الفرعية ومن أي عضو في أي كلاس أخر.

الخاصة (-): يدل على السمات أو العمليات الخاصة، يعني أنه يمكن الوصول إلى هذه السمات أو العمليات من أعضاء نفس الكلاس فقط، ولا يمكن الوصول إليه من أعضاء الكلاسات الفرعية أو من أي عضو في أي كلاس أخر.

المحمية (#): تشير إلى السمات أو العمليات المحمية، يعني أنه يمكن الوصول إلى هذه السمات أو العمليات من أعضاء نفس الكلاس ومن أعضاء الكلاسات الفرعية. ولا يمكن الوصول إليه من أي عضو في أي كلاس أخر.

02-simple-class-1

في المثال أعلاه، تعد:

  • (attribute1) و (op1) من كلاس (MyClassName) عامة.
  • (attribute3) و (OP3) محمية.
  • (attribute2) و (op2) خاصة.

العلاقات بين الكلاسات:

قد يشارك الكلاس في واحدة أو أكثر من العلاقات مع الكلاسات الأخرى، ويمكن أن تكون العلاقة أحد الأنواع التالية:

1- الوراثة (أو التعميم) Inheritance

03-inheritance

  • تمثل علاقة “is-a”.
  • رمز الوراثة هو خط متصل برأس سهم أجوف من الكلاس الفرعي إلى الكلاس الأصلي
  • (SubClass1 و SubClass2) هي كلاسات فرعية والتي قامت بوراثة السمات والعمليات من كلاس الأصل (SuperClass).

2- الاقتران البسيط Association

04-simple-association

  • رابط هيكلي بين كلاسين متماثلين.
  • رمز الاقتران خط متصل يربط بين كلاسين.
  • يوجد ارتباط بين (Class1 و Class2).

3- تجميع Aggregation

05-aggregation

  • نوع خاص من الإقترانات، ويمثل علاقة “part of”.
  • رمز التجميع خط متصل مع ماس غير معبأ في نهاية الارتباط متصل بالكلاس المركب.
  • تعني أن (Class2) هو جزء من (Class1).
  • في المثال أعلاه، يمكن ربط العديد من الكائنات من (Class2) (والمشار إليها بواسطة *)، بالـ (Class1).
  • كائنات (Class1 و Class2) لها عمر منفصل.

4- تكوين Composition

06-composition

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

5- الاعتماد Dependency

07-dependency

  • توجد بين كلاسين إذا كانت التغييرات على تعريف أحدهما قد تسبب تغييرات في الآخر (ولكن ليس العكس).
  • رمز الاعتماد خط متقطع مع سهم مفتوح.
  • تعني أن (Class1) يعتمد على (Class2).

المصدر: ?What is Class DiagramThe class diagram. A structured path towards systems.UML - Class Diagram


شارك المقالة: