طراز C4

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

ابتكر مهندس البرمجيات سيمون براون نموذج C4 بين عامي 2006 و2011، مستندًا إلى لغة النمذجة الموحدة (UML) ونموذج العرض المعماري 4+1 . وقد ساهم إطلاق موقع إلكتروني رسمي بموجب ترخيص المشاع الإبداعي [ 3 ] ومقال [ 4 ] نُشر عام 2018 في انتشار هذه التقنية الناشئة. [ 1 ]
ملخص
يوثق نموذج C4 بنية نظام البرمجيات ، من خلال عرض وجهات نظر متعددة [ 5 ] تشرح تجزئة النظام إلى حاويات ومكونات ، والعلاقة بين هذه العناصر، وعند الاقتضاء، العلاقة مع مستخدميه. [ 3 ]
يتم تنظيم وجهات النظر وفقًا لمستواها الهرمي: [ 2 ] [ 3 ]
- مخططات السياق (المستوى 1): توضح النظام في نطاقه وعلاقته بالمستخدمين والأنظمة الأخرى؛
- مخططات الحاويات (المستوى 2): تقسيم النظام إلى حاويات مترابطة. تمثل الحاوية تطبيقًا أو مخزن بيانات؛
- مخططات المكونات (المستوى 3): تقسيم الحاويات إلى مكونات مترابطة، وربط المكونات بحاويات أخرى أو أنظمة أخرى؛
- مخططات الشفرة (المستوى 4): توفر تفاصيل إضافية حول تصميم العناصر المعمارية التي يمكن ربطها بالشفرة. يعتمد نموذج C4 في هذا المستوى على الرموز الموجودة مثل لغة النمذجة الموحدة (UML) ومخططات علاقات الكيانات (ERD) أو المخططات التي تولدها بيئات التطوير المتكاملة (IDE) .
يستخدم نموذج C4، للمستويات من 1 إلى 3، خمسة عناصر أساسية للرسم التخطيطي: الأشخاص، وأنظمة البرمجيات، والحاويات، والمكونات، والعلاقات. لا يفرض هذا النموذج قيودًا على تخطيط هذه العناصر أو شكلها أو لونها أو أسلوبها. بل يوصي باستخدام مخططات بسيطة تعتمد على مربعات متداخلة لتسهيل الرسم التعاوني التفاعلي. كما يشجع هذا النموذج على ممارسات النمذجة الجيدة، مثل إضافة عنوان ومفتاح لكل مخطط، وتسمية واضحة لا لبس فيها لتسهيل فهم الجمهور المستهدف.
يُسهّل نموذج C4 عملية التصميم المعماري المرئي التعاوني والتصميم المعماري التطوري في سياق فرق العمل المرنة حيث لا يُفضّل استخدام أساليب التوثيق الرسمية والتصميم المعماري المسبق . [ 6 ]
أدوات
- IcePanel : أداة تعاونية لرسم المخططات والنمذجة بواجهة مستخدم تعتمد على السحب والإفلات.
- Structurizr : يعتمد Structurizr على "الرسوم البيانية كشفرة برمجية"، مما يسمح لك بإنشاء العديد من مخططات بنية البرمجيات من نموذج واحد.
- PlantUML : يجمع C4-PlantUML بين مزايا PlantUML ونموذج C4 لتوفير طريقة بسيطة لوصف وتوصيل بنى البرمجيات.
- C4InterFlow : إطار عمل الهندسة المعمارية ككود (AaC) يسمح لك بنمذجة الهندسة المعمارية في الكود مرة واحدة (مثل YAML وJSON وما إلى ذلك) ثم يقوم بإنشاء مخططات لأي نطاق ومستوى من التفاصيل (مثل السياق والحاوية والمكون) وأنواع (مثل C4 وC4 Static (التبعيات) والتسلسل).
انظر أيضاً
مراجع
- 1 2 ريتشاردز، مارك؛ فورد، نيل (2019). أساسيات هندسة البرمجيات: منهج هندسي . أورايلي ميديا. ص 293. ISBN 978-1-4920-4342-3. OCLC 1138515057 .
تظهر بعض المعايير لرسم مخططات بنية البرمجيات (مثل نموذج C4 لمهندس البرمجيات سيمون براون أو معيار Archimate لمجموعة Open Group)
- 1 2 إنريكيز، رينيه (2018). هندسة البرمجيات باستخدام Spring 5.0 : تصميم وبناء تطبيقات جافا عالية الأداء وقابلة للتوسع بشكل كبير . سالازار، ألبرتو. Packt Publishing Ltd. الصفحات 41-44 . ISBN 978-1-78899-673-0. OCLC 1053798657 .
- براون ، سيمون. "نموذج C4 لتصوير بنية البرمجيات" . c4model.com (الموقع الرسمي لتقنية النمذجة). مؤرشف من الأصل بتاريخ 25 فبراير 2010. تم الاطلاع عليه بتاريخ 22 أغسطس 2020 .
- ↑ براون، سيمون (25 يونيو 2018). "نموذج C4 لهندسة البرمجيات" . InfoQ . مؤرشف من الأصل في 12 ديسمبر 2018. تم الاطلاع عليه في 22 أغسطس 2020 .
- ↑ كيلينغ، مايكل. صممه! : من مبرمج إلى مهندس برمجيات . رالي، كارولاينا الشمالية. ISBN 978-1-68050-345-6. OCLC 1024312521 .
- ↑ "الصراع بين منهجية أجايل وهندسة البرمجيات: خرافة أم حقيقة؟" . resources.sei.cmu.edu . مؤتمر ساتورن 2013. معهد هندسة البرمجيات بجامعة كارنيجي ميلون . 10 مايو 2013. مؤرشف من الأصل في 19 أبريل 2021. تم الاطلاع عليه في 22 أغسطس 2020 .
روابط خارجية
- لغة وصف العمارة
- هندسة البرمجيات
- الرسوم البيانية
- الترميز
- تمثيل المعرفة
- لغة نمذجة البرمجيات
- لغات النمذجة
