عارض ومحرر مخططات C4

المؤلفون
  • عارض ومحرر مخططات C4

عارض ومحرر مخططات C4: ملعب MassiveDiag

تقديم نمذجة C4 داخل MassiveDiag

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

سواء كنت بحاجة إلى:

  • تحويل كود C4 إلى SVG لتوثيق الويب
  • تحويل كود C4 إلى ملف Word للمواصفات التقنية
  • تحويل كود نموذج C4 إلى PNG للعروض التقديمية
  • تحويل نموذج C4 إلى PDF للتوثيق الرسمي

يوفر لك MassiveDiag Playground ذلك بسلاسة وكفاءة.

مثال

جرّب محرر مخططات C4 من MassiveDiag الآن →


ما هو نموذج C4؟

نموذج C4 هو أسلوب متعدد الطبقات لتصور بنية الأنظمة البرمجية، تم تطويره بواسطة Simon Brown. يوفر طريقة قياسية لتوثيق الأنظمة البرمجية من خلال أربعة مستويات من المخططات:

  1. مخططات السياق (Context) – تعرض الصورة الكلية وتفاعلات النظام
  2. مخططات الحاوية (Container) – توضح التقنيات على المستوى العالي
  3. مخططات المكونات (Component) – تفصيل مكونات النظام داخل الحاويات
  4. مخططات الكود (Code) – تفاصيل التنفيذ الدقيقة (اختياري)

يُعد MassiveDiag أداة قوية لتوليد مخططات نموذج C4 من الكود، مما يجعلها متاحة للمطورين والمعماريين الفنيين.


كيف تبدأ باستخدام كود مخطط C4

مثال على مخطط السياق

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml

title System Context diagram for Internet Banking System

Person(customer, "عميل البنك", "عميل يملك حسابات مصرفية شخصية.")
System(banking_system, "نظام الإنترنت البنكي", "يسمح للعملاء بعرض معلومات حساباتهم وتنفيذ المدفوعات.")
System_Ext(mail_system, "نظام البريد الإلكتروني", "نظام البريد الداخلي من نوع Microsoft Exchange.")
System_Ext(mainframe, "النظام البنكي الرئيسي", "يخزن كافة معلومات الحسابات والمعاملات.")

Rel(customer, banking_system, "يستخدم")
Rel(banking_system, mail_system, "يرسل رسائل بريد إلكتروني عبر")
Rel(banking_system, mainframe, "يستخدم")
@enduml

مثال


مثال على مخطط الحاويات

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

title Container diagram for Internet Banking System

Person(customer, "عميل البنك", "عميل يملك حسابات مصرفية شخصية.")

System_Boundary(c1, "نظام الإنترنت البنكي") {
    Container(web_app, "تطبيق الويب", "Java وSpring MVC", "يعرض المحتوى الثابت وتطبيق SPA البنكي.")
    Container(spa, "تطبيق صفحة واحدة", "JavaScript وAngular", "يقدم الوظائف البنكية للعملاء.")
    Container(mobile_app, "تطبيق الجوال", "Xamarin", "يقدم جزءاً من الوظائف البنكية.")
    Container(api, "تطبيق API", "Java وSpring MVC", "يوفر وظائف بنكية عبر JSON/HTTPS.")
    Container(database, "قاعدة البيانات", "Oracle", "يخزن بيانات التسجيل وسجلات الدخول.")
}

System_Ext(mainframe, "النظام البنكي الرئيسي", "يحتوي على البيانات الأساسية.")
System_Ext(email, "نظام البريد الإلكتروني", "Microsoft Exchange.")

Rel(customer, web_app, "يستخدم", "HTTPS")
Rel(customer, spa, "يستخدم", "HTTPS")
Rel(customer, mobile_app, "يستخدم")
Rel(web_app, spa, "يعرض عبر المتصفح")
Rel(spa, api, "ينفذ استدعاءات API", "JSON/HTTPS")
Rel(mobile_app, api, "ينفذ استدعاءات API", "JSON/HTTPS")
Rel(api, database, "يقرأ ويكتب", "JDBC")
Rel(api, mainframe, "يتصل عبر", "XML/HTTPS")
Rel(api, email, "يرسل بريد إلكتروني")
@enduml

مثال


كيفية استخدام MassiveDiag كعارض لمخططات C4

1. أنشئ أو حضّر كود نموذج C4

يمكنك كتابة كود C4 يدويًا أو استخدام أدوات الذكاء الاصطناعي مثل ChatGPT لتوليد هيكل أساسي.

@startuml Basic Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

Person(admin, "مدير النظام", $sprite="person2", $link="https://github.com/plantuml-stdlib/C4-PlantUML/blob/master/LayoutOptions.md#hide_person_sprite-or-show_person_spritesprite")
System_Boundary(c1, "النظام التجريبي", $link="https://github.com/plantuml-stdlib/C4-PlantUML") {
    Container(web_app, "تطبيق ويب", "C#, ASP.NET Core", $descr="لمقارنة جداول تويتر", $link="https://github.com/plantuml-stdlib/C4-PlantUML/blob/master/LayoutOptions.md")
}
System(twitter, "تويتر", $link="https://github.com/plantuml-stdlib/C4-PlantUML")

Rel(admin, web_app, "يستخدم", "HTTPS", $link="https://plantuml.com/link")
Rel(web_app, twitter, "يحصل على التغريدات من", "HTTPS", $link="https://plantuml.com/link")
@enduml

2. الصق الكود في MassiveDiag Playground

اذهب إلى ملعب MassiveDiag – لا حاجة للتسجيل أو التنزيل. الصق أو حمّل الكود الخاص بك.

خطوة 2


3. اختر نوع المخطط "C4"

يكتشف المحرر نوع المخطط تلقائيًا، ولكن يمكنك اختيار "C4 PlantUML" يدويًا إن رغبت.

خطوة 3


4. أنشئ مخططك

اضغط على "إنشاء مخطط" لتحويل الكود إلى مخطط بصري.

خطوة 4


5. عدل وحدث المخطط

باستخدام واجهة العرض المزدوجة:

  • عدل الكود وشاهد التغييرات مباشرة
  • قم بتعديلات مرئية باستخدام محرر SVG التفاعلي

6. صدّر المخطط بالصيغ المطلوبة

اختر من عدة خيارات للتصدير:

  • SVG للاستخدام على الويب
  • PNG للعروض التقديمية
  • PDF للتوثيق
  • Word للمواصفات
  • JSX تفاعلي لمواقع React

خطوة 5

ابدأ بإنشاء أول مخطط C4 لك الآن →


استخدامات عملية لمخططات C4

توثيق بنية البرمجيات

وثّق تصميم النظام على مستويات متعددة:

  • السياق لأصحاب العلاقة
  • الحاوية للفرق التقنية
  • المكونات للتخطيط التطبيقي

المواصفات التقنية

أنشئ مخططات للآتي:

  • مقترحات الأنظمة
  • قرارات التصميم (ADR)
  • المواصفات والمتطلبات

الإعداد ونقل المعرفة

أنشئ نظرات بصرية شاملة للنظام تساعد:

  • في فهم حدود النظام والتفاعلات
  • في توضيح بنية التقنية
  • في توضيح مهام المكونات وعلاقاتها

الأسئلة الشائعة حول مخططات C4 وMassiveDiag

ما الذي يميز C4 عن غيره من أساليب النمذجة؟

يوفر نموذج C4 نهجًا هرميًا وموحدًا لتوثيق بنية البرمجيات.

هل أحتاج إلى خبرة برمجية لاستخدام عارض مخططات C4؟

المعرفة الأساسية بتركيب الكود مفيدة لكنها ليست إلزامية.

هل يمكنني التعاون مع الآخرين؟

نعم، يمكنك مشاركة كود مخططات C4 أو تصديرها للتعاون والمراجعة.

كيف أدمج مخططات C4 في مستنداتي؟

  • استخدم SVG/PNG للويب والعروض
  • استخدم PDF/Word للتوثيق الرسمي

أنشئ مخططات C4 احترافية الآن →