क्लास डायग्राम
क्लासेस, एट्रिब्यूट्स और रिलेशनशिप के साथ ऑब्जेक्ट-ओरिएंटेड सिस्टम को मॉडल करें। सॉफ्टवेयर आर्किटेक्चर प्लानिंग के लिए आवश्यक।
क्लास डायग्राम क्या है?
क्लास डायग्राम UML संरचनात्मक डायग्राम हैं जो ऑब्जेक्ट-ओरिएंटेड सिस्टम की स्थैतिक संरचना को मॉडल करते हैं। वे क्लासेस, उनके एट्रिब्यूट्स, मेथड्स और उनके बीच के संबंधों (इनहेरिटेंस, एसोसिएशन, कम्पोज़िशन, एग्रीगेशन) को दिखाते हैं। क्लास डायग्राम सॉफ्टवेयर आर्किटेक्चर के ब्लूप्रिंट के रूप में काम करते हैं, जो डेवलपर्स को कोड लिखने से पहले सिस्टम डिज़ाइन विज़ुअलाइज़ करने में मदद करते हैं।
संपादित करें और पूर्वावलोकन करें
Mermaid सिंटैक्स के साथ क्लास डायग्राम बनाएँ और तुरंत परिवर्तन देखें।
Example
Class diagram example
A compact UML class diagram showing a diagram model connected to export methods.

Mermaid code
classDiagram
class Diagram {
+String code
+String type
+render()
}
class Exporter {
+toPNG()
+toSVG()
+toPDF()
}
Diagram --> Exporter : usesसामान्य उपयोग
सॉफ्टवेयर आर्किटेक्चर प्लानिंग
कार्यान्वयन से पहले एप्लिकेशन की संरचना डिज़ाइन करें। रखरखाव योग्य, स्केलेबल सिस्टम बनाने के लिए क्लासेस, उनकी जिम्मेदारियों और उनके इंटरैक्शन को परिभाषित करें।
ऑब्जेक्ट-ओरिएंटेड डिज़ाइन
इनहेरिटेंस पदानुक्रम, इंटरफेस और एब्सट्रैक्ट क्लासेस को मॉडल करें। पॉलिमॉर्फिज़्म, एनकैप्सुलेशन और Factory, Singleton, या Observer जैसे डिज़ाइन पैटर्न को विज़ुअलाइज़ करें।
कोड डॉक्यूमेंटेशन
मौजूदा कोड संरचना का विज़ुअल डॉक्यूमेंटेशन जनरेट करें। नई टीम के सदस्यों को जटिल क्लास पदानुक्रम और डिपेंडेंसी को जल्दी समझने में मदद करें।
डेटाबेस स्कीमा प्लानिंग
ऑब्जेक्ट मॉडल को डेटाबेस टेबल में मैप करें। ORM मॉडल या डेटाबेस स्कीमा लागू करने से पहले एंटिटीज़, संबंधों और कार्डिनैलिटी की पहचान करें।
प्रमुख विशेषताएँ
क्लास संरचना परिभाषा
विज़िबिलिटी मॉडिफायर्स (public, private, protected) के साथ क्लास नाम, एट्रिब्यूट्स और रिटर्न टाइप और पैरामीटर के साथ मेथड्स को परिभाषित करें।
संबंध प्रकार
उचित UML नोटेशन के साथ इनहेरिटेंस (जनरलाइज़ेशन), एसोसिएशन, एग्रीगेशन, कम्पोज़िशन और डिपेंडेंसी संबंधों को मॉडल करें।
इंटरफेस और एब्सट्रैक्ट क्लासेस
मानक UML परंपराओं और स्टीरियोटाइप का उपयोग करके कंक्रीट क्लासेस, एब्सट्रैक्ट क्लासेस और इंटरफेस के बीच अंतर करें।
मल्टिप्लिसिटी और बाधाएँ
संबंध कार्डिनैलिटी (1..1, 1..*, 0..*) निर्दिष्ट करें और व्यावसायिक नियमों और डिज़ाइन निर्णयों को स्पष्ट करने के लिए बाधाएँ या नोट्स जोड़ें।
सर्वोत्तम प्रथाएँ
मुख्य क्लासेस से शुरू करें
सबसे महत्वपूर्ण डोमेन एंटिटीज़ से शुरू करें और धीरे-धीरे सहायक क्लासेस जोड़ें। सब कुछ एक साथ मॉडल करने की कोशिश न करें।
उचित विज़िबिलिटी का उपयोग करें
एट्रिब्यूट्स और मेथड्स को उचित विज़िबिलिटी के साथ चिह्नित करें: + public के लिए, - private के लिए, # protected के लिए। यह एनकैप्सुलेशन निर्णयों को दस्तावेज़ करता है।
प्रासंगिक संबंध दिखाएँ
केवल सार्थक संबंध शामिल करें। हर क्लास इंटरैक्शन दिखाने की आवश्यकता नहीं—आर्किटेक्चरल महत्व पर ध्यान दें।
डायग्राम केंद्रित रखें
एक विशाल डायग्राम के बजाय विभिन्न सबसिस्टम के लिए कई छोटे डायग्राम बनाएँ। प्रत्येक को एक स्पष्ट कहानी बतानी चाहिए।
अन्य डायग्राम प्रकार देखें
फ्लोचार्ट
नोड्स और दिशात्मक तीरों के साथ प्रक्रियाओं, वर्कफ़्लो और एल्गोरिदम को विज़ुअलाइज़ करें। व्यावसायिक प्रक्रियाओं और निर्णय ट्री के लिए उपयुक्त।
सीक्वेंस डायग्राम
समय के साथ विभिन्न एक्टर्स या सिस्टम के बीच इंटरैक्शन को दस्तावेज़ करें। API डॉक्यूमेंटेशन और सिस्टम डिज़ाइन के लिए आदर्श।
स्टेट डायग्राम
सिस्टम या एप्लिकेशन में स्टेट ट्रांज़िशन का प्रतिनिधित्व करें। लाइफसाइकिल स्टेट्स और वर्कफ़्लो को मॉडल करने के लिए बढ़िया।
गैंट चार्ट
कार्यों और निर्भरताओं के साथ प्रोजेक्ट टाइमलाइन की योजना बनाएँ और ट्रैक करें। प्रोजेक्ट प्रबंधन और शेड्यूलिंग के लिए उपयुक्त।
ER डायग्राम
एंटिटीज़ और रिलेशनशिप के साथ डेटाबेस स्कीमा डिज़ाइन करें। डेटाबेस मॉडलिंग और डॉक्यूमेंटेशन के लिए आदर्श।
यूज़र जर्नी
टचपॉइंट्स पर यूज़र अनुभवों और इंटरैक्शन को मैप करें। UX डिज़ाइन और कस्टमर जर्नी मैपिंग के लिए उत्कृष्ट।
Git ग्राफ
Git ब्रांचिंग रणनीतियों और कमिट इतिहास को विज़ुअलाइज़ करें। वर्शन कंट्रोल वर्कफ़्लो को समझाने में सहायक।
माइंडमैप
विचारों को व्यवस्थित करें, ब्रेनस्टॉर्म करें और पदानुक्रमिक दृश्य संरचनाएँ बनाएँ। योजना बनाने और ज्ञान मैपिंग के लिए उपयुक्त।
पाई चार्ट
गोलाकार चार्ट के साथ आनुपातिक डेटा वितरण प्रदर्शित करें। प्रतिशत और बाज़ार हिस्सेदारी दिखाने के लिए आदर्श।
टाइमलाइन
समय अक्ष पर कालानुक्रमिक घटनाओं और माइलस्टोन को विज़ुअलाइज़ करें। प्रोजेक्ट इतिहास और रोडमैप के लिए उत्कृष्ट।
कानबन बोर्ड
वर्कफ़्लो चरणों का प्रतिनिधित्व करने वाले कॉलम में कार्यों को व्यवस्थित करें। एजाइल प्रोजेक्ट प्रबंधन और कार्य ट्रैकिंग के लिए उपयुक्त।
क्वाड्रंट चार्ट
तुलना और प्राथमिकता के लिए दो-अक्ष ग्रिड पर आइटम प्लॉट करें। फीचर प्राथमिकता और रणनीतिक विश्लेषण के लिए आदर्श।
सैंकी डायग्राम
आनुपातिक तीरों के साथ नोड्स के बीच प्रवाह मात्रा को विज़ुअलाइज़ करें। ऊर्जा प्रवाह, बजट आवंटन और कन्वर्शन फ़नल के लिए उपयुक्त।
XY चार्ट
अनुकूलन योग्य अक्षों के साथ बार चार्ट और लाइन चार्ट बनाएँ। डेटा विज़ुअलाइज़ेशन और ट्रेंड विश्लेषण के लिए आदर्श।
ब्लॉक डायग्राम
कॉलम और पंक्तियों में व्यवस्थित ब्लॉकों के साथ संरचित लेआउट बनाएँ। सिस्टम आर्किटेक्चर और कंपोनेंट ओवरव्यू के लिए उत्कृष्ट।
आर्किटेक्चर डायग्राम
सर्विस आइकन और कनेक्शन के साथ क्लाउड और सिस्टम आर्किटेक्चर डिज़ाइन करें। इन्फ्रास्ट्रक्चर डॉक्यूमेंटेशन के लिए उपयुक्त।
पैकेट डायग्राम
बिट-स्तरीय फ़ील्ड लेआउट के साथ नेटवर्क प्रोटोकॉल पैकेट संरचनाओं को विज़ुअलाइज़ करें। नेटवर्क प्रोटोकॉल डॉक्यूमेंटेशन के लिए आवश्यक।