C4 मॉडल

From Vigyanwiki

मॉडल सॉफ्टवेयर सिस्टम के आर्किटेक्चर के मॉडलिंग के लिए एक सरल ग्राफिकल नोटेशन तकनीक है।।[1][2] यह कंटेनरों और घटकों में एक प्रणाली के संरचनात्मक अपघटन पर आधारित है और आर्किटेक्चर निर्माण ब्लॉकों के अधिक विस्तृत अपघटन के लिए उपस्थित मॉडलिंग तकनीकों जैसे यूनिफाइड मॉडलिंग लैंग्वेज (यूएमएल) या एंटिटी रिलेशन डायग्राम (ईआरडी) पर निर्भर करता है।

इतिहास

C4 मॉडल को सॉफ़्टवेयर आर्किटेक्ट साइमन ब्राउन द्वारा 2006 और 2011 के बीच यूनिफाइड मॉडलिंग लैंग्वेज या यूनिफाइड मॉडलिंग लैंग्वेज (यूएमएल) और 4+1 आर्किटेक्चरल दृश्य मॉडल की जड़ों पर बनाया गया था। क्रिएटिव कामन्स लाइसेंस के तहत एक आधिकारिक वेबसाइट का शुभारंभ[3] और एक लेख[4] 2018 में प्रकाशित उभरती हुई तकनीक को लोकप्रिय बनाया गया था।[1]

अवलोकन

C4 मॉडल कई दृष्टिकोणों को दिखाकर एक सॉफ्टवेयर सिस्टम की वास्तुकला का दस्तावेजीकरण करता है[5] जो कंटेनरों और घटकों में सिस्टम के अपघटन, इन तत्वों के बीच संबंध और, जहां उपयुक्त हो, इसके उपयोगकर्ताओं के साथ संबंध की व्याख्या करता है।[3]

दृष्टिकोण उनके पदानुक्रमित स्तर के अनुसार व्यवस्थित किए गए हैं:[2][3]

  • संदर्भ आरेख (स्तर 1): सिस्टम को सीमा में और उपयोगकर्ताओं और अन्य सिस्टम के साथ उसके संबंध को दिखाएं;
  • कंटेनर आरेख (स्तर 2): एक सिस्टम को परस्पर संबंधित कंटेनरों में विघटित करें। एक कंटेनर एक एप्लिकेशन या डेटा स्टोर का प्रतिनिधित्व करता है;
  • घटक आरेख (स्तर 3): कंटेनरों को परस्पर संबंधित घटकों में विघटित करें, और घटकों को अन्य कंटेनरों या अन्य प्रणालियों से संबंधित करता है ;
  • कोड आरेख (स्तर 4): आर्किटेक्चरल तत्वों के डिज़ाइन के बारे में अतिरिक्त विवरण प्रदान करें जिन्हें कोड में मैप किया जा सकता है। C4 मॉडल इस स्तर पर उपस्थित नोटेशन जैसे यूनिफाइड मॉडलिंग लैंग्वेज या यूनिफाइड मॉडलिंग लैंग्वेज (यूएमएल), एंटिटी-रिलेशनशिप मॉडल या एंटिटी रिलेशन डायग्राम्स (ईआरडी) या एकीकृत विकास पर्यावरण द्वारा उत्पन्न डायग्राम्स इंटीग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) पर निर्भर करता है।

स्तर 1 से 3 के लिए, C4 मॉडल 5 मूलभूत आरेख तत्वों का उपयोग करता है: व्यक्ति, सॉफ्टवेयर सिस्टम, कंटेनर, घटक और संबंध तकनीक इन तत्वों के लेआउट, आकार, रंग और शैली के लिए निर्देशात्मक नहीं है। इसके अतिरिक्त , C4 मॉडल इंटरैक्टिव सहयोगी ड्राइंग की सुविधा के लिए नेस्टेड बॉक्स पर आधारित सरल आरेखों का उपयोग करने की अनुशंसा करता है। यह तकनीक अच्छी मॉडलिंग प्रथाओं को भी बढ़ावा देती है जैसे प्रत्येक आरेख पर एक शीर्षक और प्रसिद्ध प्रदान करना, और इच्छित दर्शकों द्वारा समझ को सुविधाजनक बनाने के लिए स्पष्ट लेबलिंग प्रदान करता है।

C4 मॉडल फुर्तीली टीमों के संदर्भ में सहयोगात्मक दृश्य वास्तुकला और विकासवादी वास्तुकला की सुविधा प्रदान करता है जहां अधिक औपचारिक अभिलेखों कि विधियां और अप-फ्रंट आर्किटेक्चर डिजाइन वांछित नहीं हैं।[6]


यह भी देखें

संदर्भ

  1. 1.0 1.1 Richards,Mark; Ford, Neal (2019). Fundamentals of software architecture: an engineering approach. O'REILLY MEDIA. p. 293. ISBN 978-1-4920-4342-3. OCLC 1138515057. some standard are emerging for diagramming software architecture (such as software architect Simon Brown's C4 model or The Open Group Archimate standard)
  2. 2.0 2.1 Enríquez, René (2018). Software Architecture with Spring 5. 0 : Design and Architect Highly Scalable, Robust, and High-Performance Java Applications. Salazar, Alberto. Packt Publishing Ltd. pp. 41–44. ISBN 978-1-78899-673-0. OCLC 1053798657.
  3. 3.0 3.1 3.2 Brown, Simon. "The C4 model for visualising software architecture". c4model.com (Official site of the modelling technique). Archived from the original on 2010-02-25. Retrieved 2020-08-22.
  4. Brown, Simon (2018-06-25). "The C4 Model for Software Architecture". InfoQ (in English). Archived from the original on 2018-12-12. Retrieved 2020-08-22.
  5. Keeling, Michael. Design it! : from programmer to software architect. Raleigh, North Carolina. ISBN 978-1-68050-345-6. OCLC 1024312521.
  6. "The Conflict Between Agile and Architecture: Myth or Reality?". resources.sei.cmu.edu. SATURN 2013 conference (in English). Software Engineering Institute of Carnegie Mellon University. Archived from the original on 2021-04-19. Retrieved 2020-08-22.


बाहरी संबंध