C4 मॉडल

From Vigyanwiki
Revision as of 11:22, 10 July 2023 by alpha>Indicwiki (Created page with "{{Short description|Technique for modelling software architecture}} C4 मॉडल सॉफ्टवेयर सिस्टम के आर्किटेक्चर क...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

इतिहास

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


सिंहावलोकन

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

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

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

स्तर 1 से 3 के लिए, सी4 मॉडल 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.


बाहरी संबंध