सॉफ्टवेयर इंजीनियरिंग या सिस्टम डिज़ाइन सीखते समय, आपको विभिन्न प्रकार के डायग्राम्स का सामना करना पड़ेगा। उनमें से, ऑब्जेक्ट डायग्रामएक विशिष्ट दृश्य के रूप में उभरता है। सामान्य फ्लोचार्ट्स के विपरीत, यह डायग्राम एक निश्चित क्षण पर सिस्टम की स्थिति को कैप्चर करता है। यह एक स्थिर स्नैपशॉट है। यह मार्गदर्शिका इन डायग्राम्स के बारे में स्पष्ट और गहन जानकारी प्रदान करती है, उन्हें पढ़ने और उन्हें अनावश्यक जटिलता के बिना बनाने के तरीके के बारे में।

🔍 ऑब्जेक्ट डायग्राम क्या है?
एक ऑब्जेक्ट डायग्राम यूएमएल (यूनिफाइड मॉडलिंग लैंग्वेज) डायग्राम का एक प्रकार है। यह एक निश्चित समय पर विस्तृत स्थितियों का स्नैपशॉट दिखाता है। इसे एक चल रहे सिस्टम की तस्वीर के रूप में सोचें। जबकि एक क्लास डायग्राम ब्लूप्रिंट (योजना) दिखाता है, एक ऑब्जेक्ट डायग्राम वर्तमान में सिस्टम में रह रहे वास्तविक डेटा को दिखाता है।
- क्लास डायग्राम: चीजों के प्रकार को परिभाषित करता है (उदाहरण के लिए, उपयोगकर्ता, आदेश).
- ऑब्जेक्ट डायग्राम: विशिष्ट उदाहरणों को परिभाषित करता है (उदाहरण के लिए, उपयोगकर्ता_001, आदेश_554).
इस अंतर का छात्रों के लिए बहुत महत्व है। आप क्लास डायग्राम्स का उपयोग संरचना डिज़ाइन करने के लिए करते हैं। आप ऑब्जेक्ट डायग्राम्स का उपयोग यह सत्यापित करने के लिए करते हैं कि यह संरचना वास्तविक डेटा के साथ काम करती है।
🧱 मुख्य घटक और सिंटैक्स
इन डायग्राम्स को पढ़ने या बनाने के लिए, आपको दृश्य भाषा को समझना होगा। प्रत्येक तत्व सख्त नियमों का पालन करता है। इन नियमों से विचलन करने से डायग्राम अन्य इंजीनियरों के लिए पढ़ने योग्य नहीं बन जाता है।
1. ऑब्जेक्ट उदाहरण
ऑब्जेक्ट्स आयताकार रूप में दिखाई देते हैं। आयत के अंदर, आपको विशिष्ट पाठ स्वरूपण मिलेगा:
- ऑब्जेक्ट नाम: लिखा गया है इटैलिक और अंडरलाइन किया गया है। उदाहरण: जॉन_डो.
- क्लास नाम: वस्तु के नाम के नीचे दिखाई देता है, एक दांत के चिह्न द्वारा अलग किया गया है। उदाहरण: john_doe : उपयोगकर्ता.
- लक्षण: कक्षा के नाम के नीचे सूचीबद्ध। ये वर्तमान मान रखते हैं।
2. लक्षण और मान
वस्तु आरेख में लक्षण केवल प्रकार नहीं होते; वे मान होते हैं। यदि एक कक्षा परिभाषित करती है नाम: स्ट्रिंग, तो वस्तु आरेख में वास्तविक डेटा दिखाना आवश्यक है, जैसे कि नाम: “एलिस”.
- दृश्यता: आप चिह्नों का उपयोग कर सकते हैं जैसे
+सार्वजनिक के लिए या-निजी के लिए। - डेटा प्रकार: आवश्यकता होने पर मान के पास प्रकार शामिल करें (उदाहरण के लिए,
उम्र: 25). - नॉल मान: यदि कोई मान अनुपलब्ध है, तो इसे अक्सर
नॉलया मानक के अनुसार खाली छोड़ दिया जाता है।
3. संबंध और संबंधता
वस्तुएं दूसरी वस्तुओं से जुड़ती हैं। इन रेखाओं का प्रतिनिधित्व संबंधों के रूप में किया जाता है। ये कक्षा आरेखों में उनके समान हैं, लेकिन विशिष्ट प्रतिनिधित्व वस्तुओं के बीच विशिष्ट लिंक को दर्शाते हैं।
- संबंध: दो वस्तुओं को जोड़ने वाली एक रेखा। इसका तात्पर्य है कि वे एक-दूसरे के बारे में जानते हैं।
- बहुलता: रेखाओं के छोर पर संख्याएँ। ये बताती हैं कि कितनी वस्तुएँ जुड़ सकती हैं। उदाहरण:
1,0..1,1..*. - भूमिका का नाम: संबंध का वर्णन करने वाला रेखा पर लिखा गया पाठ (उदाहरण के लिए, मालिक है, प्रबंधित करता है).
📊 वर्ग आरेख बनाम वस्तु आरेख
छात्र अक्सर इन दोनों को गलती से जोड़ देते हैं। एक तुलनात्मक तालिका त्वरित रूप से अंतर स्पष्ट करने में मदद करती है।
| विशेषता | वर्ग आरेख | वस्तु आरेख |
|---|---|---|
| फोकस | संरचना और नक्शा | विशिष्ट उदाहरण और डेटा |
| समय | समयरहित (स्थिर योजना) | स्नैपशॉट (समय का बिंदु) |
| नाम | वर्ग के नाम (मोटे, बड़े अक्षरों में) | उदाहरण के नाम (इटैलिक, छोटे अक्षरों में) |
| गुण | प्रकार (उदाहरण के लिए, int) | मान (उदाहरण के लिए, 42) |
| उपयोग | डिज़ाइन चरण | परीक्षण, डिबगिंग, दस्तावेज़ीकरण |
🛠️ ऑब्जेक्ट डायग्राम कैसे बनाएं
डायग्राम बनाने के लिए तार्किक चरणों की आवश्यकता होती है। इसके लिए आपको सॉफ्टवेयर की आवश्यकता नहीं है; आपको स्पष्ट मन और ग्रिड की आवश्यकता है। इस प्रक्रिया का पालन करें।
चरण 1: परिदृश्य की पहचान करें
वह विशिष्ट स्थिति को परिभाषित करें जिसके बारे में आप मॉडलिंग कर रहे हैं। क्या आप लेनदेन की शुरुआत का मॉडलिंग कर रहे हैं? लॉगिन के अंत का? शॉपिंग कार्ट की स्थिति का? परिदृश्य निर्धारित करता है कि कौन से ऑब्जेक्ट दिखाई देंगे।
चरण 2: ऑब्जेक्ट्स का चयन करें
इस परिदृश्य में मौजूद उदाहरणों की पहचान करें। प्रणाली के हर क्लास को शामिल न करें। केवल वे ही शामिल करें जो वर्तमान स्थिति से संबंधित हैं। यदि आप एक पूर्ण आदेश का मॉडलिंग कर रहे हैं, तो भुगतान ऑब्जेक्ट मौजूद है। कार्ट ऑब्जेक्ट खाली हो सकता है या गायब हो सकता है।
चरण 3: संबंधों को परिभाषित करें
ऑब्जेक्ट्स के बीच रेखाएं खींचें। सुनिश्चित करें कि रेखाएं आपके क्लास डायग्राम में परिभाषित नियमों के अनुरूप हों। यदि क्लास डायग्राम कहता है कि एक उपयोगकर्ता कई आदेशों हो सकते हैं, तो ऑब्जेक्ट डायग्राम में मान्य बहुलता को दर्शाना चाहिए (उदाहरण के लिए, एक उपयोगकर्ता ऑब्जेक्ट तीन आदेश ऑब्जेक्ट्स से जुड़ा हुआ)।
चरण 4: मान निर्धारित करें
विशेषताओं को भरें। सुनिश्चित करें कि डेटा प्रकार मेल खाते हों। सुनिश्चित करें कि मान तार्किक रूप से समझ में आएं। उदाहरण के लिए, एक तारीख विशेषता को तारीख की तरह दिखना चाहिए, यानी यादृच्छिक पाठ नहीं।
चरण 5: बहुलता की समीक्षा करें
संबंध रेखाओं के सिरों की जांच करें। क्या वे प्रणाली की सीमाओं के अनुरूप हैं? यदि एक संबंध के ठीक एक आइटम की आवश्यकता है, लेकिन आप दो खींचते हैं, तो आरेख गलत है।
🌍 वास्तविक दुनिया का उदाहरण: एक पुस्तकालय प्रणाली
समझ को मजबूत करने के लिए एक वास्तविक उदाहरण पर विचार करें। एक पुस्तकालय प्रणाली की कल्पना करें। हमें पुस्तकालय के खुलने के एक विशिष्ट सुबह को मॉडल करने की आवश्यकता है।
दृश्य
सारा नाम की एक पुस्तकालय अधिकारी लॉग इन करती है। उसने टॉम नाम के एक छात्र को एक पुस्तक आवंटित की है। पुस्तक वर्तमान में उधार ली गई है।
वस्तुएँ
- साराह_एल : पुस्तकालय अधिकारी
- टॉम_एस : छात्र
- पुस्तक_101 : पुस्तक
गुण
- साराह_एल:
आईडी: "एल001",स्थिति: "सक्रिय" - टॉम_एस:
आईडी: "एस055",स्थिति: "उधार लेना" - पुस्तक_101:
शीर्षक: "उन्नत यूएमएल",स्थिति: "उधार लिया गया"
संबंध
- लाइन से सराह_एल से तॉम_एस लेबल किया गया प्रबंधित करता है (गुणवत्ता: छात्र पक्ष पर 1..*).
- लाइन से तॉम_एस से पुस्तक_101 लेबल किया गया उधार लेता है (गुणवत्ता: पुस्तक पक्ष पर 1).
यह दृश्य प्रतिनिधित्व हमें बिल्कुल यह बताता है कि क्या हो रहा है। हम सराह, तॉम और पुस्तक को देखते हैं। हम उनके विशिष्ट पहचान संख्या देखते हैं। हम उनके बीच संबंध को देखते हैं। यह शब्दों के साथ अकेले बनाए गए विवरण से अधिक सूचनाप्रद है।
🚫 बचने के लिए सामान्य गलतियाँ
यहां अनुभवी डिजाइनर भी गलतियां करते हैं। छात्र के रूप में इन जालों से बचने से आपके ग्रेड और डिजाइन कौशल में सुधार होगा।
- प्रकारों को मिलाना: क्लास विशेषताओं को ऑब्जेक्ट मानों के पास न रखें। उन्हें अलग रखें।
- गुणवत्ता को नजरअंदाज करना: सुनिश्चित करें कि ऑब्जेक्ट की संख्या क्लास डायग्राम में अनुमत सीमा के अनुरूप हो।
- बहुत अधिक ऑब्जेक्ट्स: ऑब्जेक्ट डायग्राम जल्दी से गड़बड़ हो सकता है। सीमा को सीमित रखें। एक दृश्य में पूरे डेटाबेस को न दिखाएं।
- लेबल गायब: हमेशा लाइनों को लेबल करें। एक अलेबल लाइन अस्पष्ट होती है।
- गलत प्रारूपण: याद रखें: ऑब्जेक्ट नाम इटैलिक और अंडरलाइन होते हैं। क्लास नाम बोल्ड होते हैं।
🔗 गुणवत्ता को गहराई से समझना
गुणांक आपके आरेख का गणित हैं। वे सीमाएँ निर्धारित करते हैं। आम प्रतीकों का विश्लेषण यहाँ दिया गया है।
- 1:बिल्कुल एक उदाहरण। एक और केवल एक है।
- 0..1:शून्य या एक उदाहरण। यह वैकल्पिक है, लेकिन यदि यह मौजूद है, तो केवल एक ही होगा।
- 1..*:एक या अधिक उदाहरण। अनिवार्य है, और बहुत सारे हो सकते हैं।
- 0..*:शून्य या अधिक उदाहरण। वैकल्पिक है, और बहुत सारे हो सकते हैं।
- 2..5:एक विशिष्ट सीमा। दो और पांच उदाहरणों के बीच।
जब ड्राइंग कर रहे हों, तो इन संख्याओं को उस संबंध रेखा के अंत में रखें जो वर्ग के निकटतम हो जिसे वे वर्णित करते हैं। यह पाठक को बताता है कि उस विशिष्ट वर्ग के कितने उदाहरण दूसरे के साथ जुड़ सकते हैं।
📈 ऑब्जेक्ट आरेखों का महत्व क्यों है
इन्हें ड्राइंग करने में समय क्यों बर्बाद करें? ये केवल होमवर्क एक्सरसाइज नहीं हैं। वे सॉफ्टवेयर विकास में व्यावहारिक उद्देश्यों के लिए काम आते हैं।
1. प्रमाणीकरण
कोड लिखने से पहले, आप जांच सकते हैं कि क्या आपकी तर्कशक्ति ठीक रहती है। यदि एक आरेख एक को दिखाता हैउपयोगकर्तासे जुड़ा हुआ है500 आदेशसीमा के बिना, आपको लग सकता है कि आपको डेटाबेस स्कीमा में एक सीमा जोड़ने की आवश्यकता है।
2. संचार
स्टेकहोल्डर्स को आमतौर पर सारांश वर्ग आरेखों के साथ कठिनाई होती है। विशिष्ट डेटा उदाहरण दिखाने वाला आरेख आमतौर पर तकनीकी नहीं वाले लोगों के लिए समझने में आसान होता है। यह दिखाता है कि “यह कैसा दिखता है,” केवल “यह कैसे बनाया गया है” नहीं।
3. परीक्षण
परीक्षण � ingineers ऑब्जेक्ट आरेखों का उपयोग परीक्षण मामलों को परिभाषित करने के लिए करते हैं। यदि एक परीक्षण मामले को एक विशिष्ट स्थिति की आवश्यकता होती है, तो ऑब्जेक्ट आरेख उस स्थिति को सटीक रूप से परिभाषित करता है। यह प्रमाणीकरण के लिए एक चेकलिस्ट बन जाता है।
4. डीबगिंग
जब कोई बग उत्पन्न होता है, तो सिस्टम स्थिति बिगड़ जाती है। बग के समय स्थिति को ड्राइंग करने से समस्या का पता लगाने में मदद मिलती है। आप अपेक्षित ऑब्जेक्ट आरेख की तुलना वास्तविक डेटा के साथ कर सकते हैं।
🛑 स्थिर बनाम गतिशील दृश्य
यह जानना महत्वपूर्ण है कि इस आरेख का बड़े चित्र में क्या स्थान है। UML में कई आरेख हैं। कुछ व्यवहार (गतिशील) दिखाते हैं, और कुछ संरचना (स्थिर) दिखाते हैं।
- स्थिर संरचना:वर्ग आरेख, ऑब्जेक्ट आरेख, घटक आरेख।
- गतिशील व्यवहार: क्रम आरेख, राज्य मशीन आरेख, गतिविधि आरेख।
वस्तु आरेख एक स्थिर संरचना आरेख है। यह गति को नहीं दिखाता है। यह समय बीतने को नहीं दिखाता है। यह समय को जमे हुए रखता है। यह इसकी विशिष्ट ताकत और सीमा है। यह एक प्रवाह आरेख नहीं है।
✅ छात्रों के लिए सर्वोत्तम प्रथाएँ
अपने कार्य को पेशेवर और स्पष्ट बनाने के लिए, इन दिशानिर्देशों का पालन करें।
- साफ रखें: जहां संभव हो, लाइनों के प्रतिच्छेदन से बचें। झुकी हुई लाइनों के बजाय लंबवत रेखाएँ (समकोण) का उपयोग करें।
- संगति: दस्तावेज में सभी जगह एक ही फॉन्ट और शैली का उपयोग करें।
- दस्तावेजीकरण: यदि कोई संबंध जटिल है, तो उसे समझाने के लिए आरेख के बाहर एक नोट जोड़ें।
- परिसर नियंत्रण: यदि आरेख बहुत बड़ा है, तो इसे कई दृश्यों में विभाजित करें (उदाहरण के लिए, एक उपयोगकर्ताओं के लिए, एक आदेशों के लिए)।
- नामकरण प्रथाएँ: वस्तुओं के लिए एक संगत नामकरण प्रथा का पालन करें। जानकारी के लिए प्रीफिक्स का उपयोग करें जैसे
obj_याinst_यदि स्पष्टता के लिए आवश्यक हो।
🧩 उन्नत संबंध: समावेश और संघटन
मानक संबंध सरल रेखाएँ होती हैं। हालांकि, कुछ संबंध स्वामित्व या भाग-पूर्ण संरचना को शामिल करते हैं। इन्हें विशिष्ट प्रतीकों की आवश्यकता होती है।
समावेश
समावेश का अर्थ है एक “पूर्ण-भाग” संबंध जहां भाग स्वतंत्र रूप से अस्तित्व में हो सकते हैं। दृश्य रूप से, यह एक रेखा है जिसके पूर्ण छोर पर एक खाली हीरे का आकार होता है।
- उदाहरण: एक विभाग और प्रोफेसर। यदि विभाग बंद हो जाता है, तो प्रोफेसर अभी भी अस्तित्व में हैं।
संघटन
संघटन समावेश का एक मजबूत रूप है। भाग पूर्ण के बिना अस्तित्व में नहीं हो सकते। दृश्य रूप से, यह एक रेखा है जिसके पूर्ण छोर पर एक भरा हुआ हीरा का आकार होता है।
- उदाहरण: एक घर और कमरे। यदि घर नष्ट हो जाता है, तो कमरे उस घर के हिस्से के रूप में अस्तित्व में नहीं रहते।
जब इन्हें एक वस्तु आरेख में बनाया जाता है, तो सुनिश्चित करें कि हीरे को “पूर्ण” वस्तु की ओर रखा जाए। इससे निर्भरता संरचना को दृश्य रूप से स्पष्ट किया जाता है।
📝 मुख्य बातों का सारांश
मुख्य बिंदुओं की समीक्षा करने से यह सुनिश्चित होता है कि आप जानकारी को याद रखें। यहां महत्वपूर्ण अवधारणाओं का त्वरित सारांश है।
- परिभाषा: एक निश्चित समय पर उदाहरणों की एक तस्वीर।
- दृश्यात्मकता: वस्तुओं को इटैलिक और नीचे रेखांकित किया जाता है।
- गुण: केवल प्रकारों के बजाय वास्तविक मान दिखाएं।
- संबंध: बहुलता वाली रेखाएं सीमाओं को परिभाषित करती हैं।
- उपयोग के मामले: सत्यापन, परीक्षण और दस्तावेजीकरण।
- तुलना: वर्ग आरेखों से अलग जो नक्शे दिखाते हैं।
इन अवधारणाओं को समझने से सिस्टम डिजाइन के लिए एक मजबूत आधार मिलता है। आप अमूर्त योजना से वास्तविक प्रमाणीकरण की ओर बढ़ते हैं। यह संक्रमण दृढ़ सॉफ्टवेयर प्रणालियों के निर्माण के लिए आवश्यक है।









