مخططات UML: الخصائص، المخططات، والأنواع

⚡ ملخص ذكي

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

  • 📐 التعريف الأساسي: لغة النمذجة الموحدة هي معيار معترف به من قبل المنظمة الدولية للمقاييس (ISO) يستخدم الرسوم البيانية التصويرية لتمثيل التصميمات والهياكل والسلوكيات الموجهة للكائنات لأنظمة البرمجيات.
  • 🏛️ فئتان: تنقسم مخططات UML إلى مخططات هيكلية (عرض ثابت للمكونات) ومخططات سلوكية (عرض ديناميكي للتفاعلات وسير العمل).
  • 🗂️ المخططات الهيكلية: تمثل مخططات الفئات والكائنات والحزم والمكونات والنشر البنية الثابتة والعلاقات بين عناصر النظام.
  • ⚡ مخططات سلوكية: تُصوّر مخططات النشاط وحالات الاستخدام وآلة الحالة تدفقات النظام وتفاعلات المستخدم وانتقالات الحالة بمرور الوقت.
  • 🛠️ الأدوات والذكاء الاصطناعي: أدوات مثل StarUML، فيزيو، و Lucidchart إنشاء مخططات UML بصريًا؛ يمكن للأدوات المدعومة بالذكاء الاصطناعي الآن إنشاء مخططات دقيقة من أوصاف نصية عادية أو شفرة مصدرية تلقائيًا.
  • 📅 تاريخ النسخة: لقد تطورت لغة النمذجة الموحدة (UML) من الإصدار 1.1 (1997) إلى الإصدار 2.5.1 (2017)، حيث أضاف كل إصدار أنواعًا من المخططات، وحسّن الدلالات، وبسط المواصفات.

مخططات UML

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

لماذا استخدام UML؟ التاريخ الكامل

كانت فترة التسعينيات عصر تطور اللغات الشيئية مثل C++تم استخدام هذه اللغات الموجهة للكائنات لإنشاء أنظمة معقدة ولكنها مقنعة.

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

بمجرد تقديم UML، تم إجراء العديد من التجارب والأساليب التي غيرت قواعد اللعبة لتبسيط مثل هذه المهام الصعبة لتحليل النظام.

UML هي لغة نمذجة موحدة موجهة للكائنات. تم اختراعه من قبل مهندسي البرمجيات اللامعين جرادي بوش، وإيفار جاكوبسون، وجيمس رامبو من شركة راشيونال للبرمجيات خلال عامي 1994 و1995. وكان قيد التطوير حتى عام 1996.

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

  • كانت طريقة Booch مرنة للغاية في العمل بها أثناء تصميم وبناء الأشياء.
  • قدمت طريقة جاكوبسون طريقة رائعة للتغلب على حالات الاستخدام. كما أن لديها نهجًا قويًا للتصميم عالي المستوى.
  • تبين أن طريقة رامبو مفيدة جدًا أثناء التعامل مع الأنظمة الحساسة.

Later في وقت لاحق، تم تقديم النماذج السلوكية ومخططات الحالة في لغة UML التي اخترعها ديفيد هاريل.

تم الاعتراف بـ UML كمعيار من قبل مجموعة إدارة الكائنات (OMG) في عام 1997. مجموعة إدارة الكائنات مسؤولة عن إدارة UML منذ اعتمادها كمعيار.

في عام 2005، وافقت المنظمة الدولية للمعايير على UML كمعيار ISO. يتم استخدامه في الصناعات المختلفة لإنشاء نماذج موجهة للكائنات.

أحدث إصدار من UML هو 2.5.1 والذي تم إصداره في ديسمبر 2017.

إصدارات UML

التاريخ التجريبية من نحن
نوفمبر 1997 1.1 تم اعتماد UML بواسطة مجموعة إدارة الكائنات. كانت هذه هي النسخة الأولى من UML.
مارس 2000 1.3 تم إجراء ترقية بسيطة للنموذج الحالي مع تغييرات ملحوظة في الدلالات، تصنيفاتوالنماذج الفوقية لـ UML.
سبتمبر 2001 1.4 كانت هذه فترة التحديث الرئيسي لـ UML. لقد قام بتحجيم UML من خلال توفير امتدادات مختلفة. تم تقديم الرؤية والقطع الأثرية والقوالب النمطية في المخططات.
مارس 2003 1.5 تمت إضافة ميزات مثل الإجراءات وآلية تدفق البيانات إلى UML.
يناير 2005 1.4.2 تم قبول UML كمعيار من قبل ISO.
أغسطس ٢٠١٥ 2.0 تمت إضافة مخططات جديدة مثل الكائن والحزمة والتوقيت والتفاعل إلى UML. تمت إضافة ميزات جديدة إلى مخططات النشاط والتسلسل. تمت إعادة تسمية مخطط التعاون إلى مخطط الاتصال. تم إدخال ميزات وتغييرات متعددة في المخططات الحالية.
أبريل 2006 2.1 تم إجراء التصحيحات على UML 2.0.
فبراير 2007 2.1.1 Upgradeتم تقديمها في UML 2.1.
نوفمبر 2007 2.1.2 تم إعادة تعريف UML 2.1.1.
فبراير 2009 2.2 تم إصلاح أخطاء UML 2.1.2.
مايو 2010 2.3 تمت مراجعة UML 2.2، وتم إجراء تغييرات طفيفة على المخططات المكونة.
أغسطس ٢٠١٥ 2.4.1 تم إجراء تغييرات على الفئات والحزم والقوالب النمطية. تمت مراجعة UML 2.3 مع ميزات التحسين.
يونيو 2015 2.5 تمت مراجعة UML 2.4.1 مع تغييرات طفيفة. تم تبسيط UML أكثر من ذي قبل، وتم إدخال ميزات سرعة الأداء وإنشاء نماذج أكثر فعالية، كما تم حذف الميزات القديمة، بالإضافة إلى حذف النماذج والقوالب كعناصر مساعدة.

خصائص UML

  1. إنها لغة النمذجة المعممة.
  2. وهي تختلف عن لغات البرمجة البرمجية مثل Python، C ، C++، الخ.
  3. إنها لغة مصورة يمكن استخدامها لإنشاء عناصر نمذجة قوية.
  4. يتعلق الأمر بالتصميمات والتحليلات الموجهة للكائنات.
  5. لديها تطبيقات غير محدودة حتى خارج صناعة البرمجيات. ويمكن استخدامه لتصور سير العمل في المصنع.

النموذج المفاهيمي

قبل البدء بمفهوم UML، يجب على المرء أن يفهم أساسيات النموذج المفاهيمي.

يتكون النموذج المفاهيمي من مفاهيم مختلفة مترابطة. ويساعدنا على فهم

  • ما هي الكائنات؟
  • كيف يحدث التفاعل لتنفيذ العملية؟

مطلوب نموذج مفاهيمي في UML. عليك أن تفهم الكيانات والعلاقات بينها قبل وضع نموذج فعلي للنظام.

المفاهيم الموجهة للكائنات التالية مطلوبة للبدء في UML:

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

أعلاه تسمى أيضًا باسم اللبنات الأساسية من UML.

ما هو مخطط UML؟

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

تنقسم مخططات UML إلى ثلاث فئات مختلفة مثل،

  • مخطط هيكلي
  • الرسم البياني السلوكي
  • مخطط التفاعل

المخططات الهيكلية في UML

تُستخدم المخططات الهيكلية لتمثيل رؤية ثابتة للنظام. إنه يمثل جزءًا من النظام الذي يشكل هيكل النظام. يُظهر الرسم التخطيطي الهيكلي كائنات مختلفة داخل النظام.

فيما يلي المخططات الهيكلية المختلفة في UML:

  • مخطط الطبقة
  • مخطط الكائن
  • مخطط الحزمة
  • مخطط المكون
  • مخطط النشر

المخططات السلوكية في UML

يمكن تمثيل أي نظام في العالم الحقيقي إما في شكل ثابت أو في شكل ديناميكي. يُقال عن النظام أنه مكتمل إذا تم التعبير عنه بالطرق الثابتة والديناميكية. يمثل الرسم البياني السلوكي عمل النظام.

تسمى مخططات UML التي تتعامل مع الجزء الثابت من النظام بالمخططات الهيكلية. تسمى مخططات UML التي تتعامل مع الأجزاء المتحركة أو الديناميكية للنظام بالمخططات السلوكية.

فيما يلي المخططات السلوكية المختلفة في UML:

  • الرسم النشاط
  • استخدم الرسم البياني
  • مخطط آلة الدولة

مخططات التفاعل في UML

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

فيما يلي مخططات التفاعل المختلفة في UML:

  • الرسم البياني توقيت
  • مخطط تسلسل
  • مخطط التعاون

تم شرح الشرح التفصيلي للمخططات المذكورة أعلاه في المزيد من البرامج التعليمية.

مخططات UML الهيكلية مقابل السلوكية

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

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

أدوات UML

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

سوف نستخدم StarUML تطبيق لإنشاء مخططات UML.

خطوات التثبيت: افتح الرابط: http://staruml.io/download

وفقًا لمواصفات جهاز الكمبيوتر لديك، قم بتنزيل أي إصدار من التطبيق. هنا سنختار خيار Windows.

StarUML التركيب

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

سوف ترى النافذة التالية،

StarUML التركيب

يمكنك الآن البدء في إنشاء مخططات UML.

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

📊 يحدد UML 2.x 14 نوعًا رسميًا من المخططات مقسمة إلى مجموعتين رئيسيتين: 7 مخططات هيكلية (الفئة، الكائن، المكون، النشر، الحزمة، الهيكل المركب، الملف الشخصي) و7 مخططات سلوكية (حالة الاستخدام، النشاط، آلة الحالة، التسلسل، الاتصال، التوقيت، نظرة عامة على التفاعل).

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

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

🤖 نعم. يمكن لنماذج الذكاء الاصطناعي مثل ChatGPT و GitHub Copilot أن تُنشئ PlantUML أو صيغة Mermaid من أوصاف نصية عادية أو شفرة مصدرية. أدوات مثل Lucidchart والآن، يتضمن برنامج Visio مساعدين يعملون بالذكاء الاصطناعي يقومون برسم مخططات الفئات والتسلسلات وحالات الاستخدام من خلال مطالبات اللغة الطبيعية في ثوانٍ.

🛠️ تشمل أدوات UML الرائدة المدعومة بالذكاء الاصطناعي ما يلي: Lucidchartمولد مخططات الذكاء الاصطناعي، Microsoft Visio Copilot و Eraser.io و Draw.io مع إضافات ChatGPT. PlantUML يتيح دمجها مع أي نموذج لغة كبير للمطورين كتابة المخططات كشفرة برمجية، بينما يمكن لـ GitLab و GitHub Copilot إجراء هندسة عكسية لمخططات الفئات من المستودعات الموجودة.

⭐ تُعدّ مخططات الفئات ومخططات التسلسل الأكثر استخدامًا. تُصوّر مخططات الفئات البنية الثابتة وهيكلية الكود، بينما تُصوّر مخططات التسلسل كيفية تفاعل الكائنات بمرور الوقت، مما يجعل كليهما شائعًا لتوثيق التصميم في فرق Agile وفرق المؤسسات.

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

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

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