यूएमएल संबंध प्रकार: एसोसिएशन, निर्भरता, सामान्यीकरण

⚡ स्मार्ट सारांश

यूएमएल संबंध संरचनात्मक, व्यवहारिक और समूहिक पहलुओं को जोड़ते हैं।ping यह संसाधन मॉडल के उन तत्वों को दर्शाता है जो निष्पादन के दौरान वस्तुओं के एक दूसरे पर निर्भर होने को प्रदर्शित करते हैं। यह संसाधन एसोसिएशन, डिपेंडेंसी, जनरलाइजेशन, रियलाइजेशन, कंपोजिशन और एग्रीगेशन की व्याख्या करता है, साथ ही प्रत्येक प्रकार के लिए संकेतन और वास्तविक दुनिया के उदाहरण भी प्रस्तुत करता है।

  • 🔗 एसोसिएशन: एक संरचनात्मक कड़ी जहां वस्तुएं जुड़ती हैं, और बाधाएं और बहुलता यह परिभाषित करती हैं कि कितनी वस्तुएं भाग लेती हैं।
  • ➡️ निर्भरता: एकतरफा संबंध जहां आपूर्तिकर्ता तत्व में परिवर्तन आश्रित ग्राहक को प्रभावित कर सकता है।
  • 🌳 सामान्यीकरण: एक सामान्य इकाई और एक विशिष्ट इकाई के बीच वंशानुक्रम को लागू करने वाला माता-पिता-बच्चे का संबंध।
  • 🧩 अहसास: एक इंटरफ़ेस contracजहां एक इकाई जिम्मेदारी को परिभाषित करती है और दूसरी इकाई इसे लागू करती है, जिसे प्रामाणिक या संक्षिप्त रूप में दर्शाया गया है।
  • 💠 संरचना और एकत्रीकरण: संपूर्ण-भाग संबंध; संयोजन भागों को संपूर्ण के साथ नष्ट कर देता है, जबकि समूहीकरण भागों को उससे आगे तक जीवित रहने देता है।

यूएमएल संबंध प्रकार

यूएमएल संबंध क्या है?

यूएमएल में संबंध इनका उपयोग संरचनात्मक, व्यवहारिक या समूहिक संबंधों को दर्शाने के लिए किया जाता है।ping इसे एक लिंक भी कहा जाता है जो यह बताता है कि किसी सिस्टम के निष्पादन के दौरान दो या दो से अधिक चीजें एक दूसरे से कैसे संबंधित हो सकती हैं। यूएमएल संबंध के प्रकार हैं: एसोसिएशन, डिपेंडेंसी, जनरलाइजेशन और रियलाइजेशन।

आइये इनका विस्तार से अध्ययन करें

यूएमएल क्लास डायग्राम संबंधों के प्रकार

यूएमएल क्लास आरेख संबंध

संघ

यह लिंक का एक सेट है जो UML मॉडल के तत्वों को जोड़ता है। यह यह भी परिभाषित करता है कि उस संबंध में कितने ऑब्जेक्ट भाग ले रहे हैं।

निर्भरता

निर्भरता संबंध में, जैसा कि नाम से पता चलता है, दो या दो से अधिक तत्व एक दूसरे पर निर्भर होते हैं। इस तरह के रिश्ते में, अगर हम किसी खास तत्व में बदलाव करते हैं, तो यह संभव है कि बाकी सभी तत्व भी उस बदलाव से प्रभावित होंगे।

सामान्यीकरण

इसे अभिभावक-बाल संबंध भी कहा जाता है। सामान्यीकरण में, एक तत्व दूसरे सामान्य घटक का विशेषज्ञता है। इसे इसके लिए प्रतिस्थापित किया जा सकता है। इसका उपयोग अधिकतर विरासत को दर्शाने के लिए किया जाता है।

वसूली

यूएमएल के एक प्राप्ति संबंध में, एक इकाई कुछ जिम्मेदारी को दर्शाती है जिसे स्वयं द्वारा कार्यान्वित नहीं किया जाता है और दूसरी इकाई जो उन्हें कार्यान्वित करती है। यह संबंध ज्यादातर निम्नलिखित मामलों में पाया जाता है इंटरफेस।

संघ

यह एक संरचनात्मक संबंध है जो दर्शाता है कि ऑब्जेक्ट सिस्टम के अंदर किसी अन्य ऑब्जेक्ट से जुड़े या संबद्ध हो सकते हैं। एसोसिएशन रिलेशनशिप पर निम्नलिखित प्रतिबंध लागू किए जा सकते हैं।

  • {अंतर्निहित} - अंतर्निहित बाधाएं निर्दिष्ट करती हैं कि संबंध प्रकट नहीं है; यह एक अवधारणा पर आधारित है।
  • {आदेशित} - आदेशित प्रतिबंध निर्दिष्ट करते हैं कि किसी एसोसिएशन के एक छोर पर वस्तुओं का सेट एक विशिष्ट तरीके से है।
  • {परिवर्तनीय} - परिवर्तनीय बाधा यह निर्दिष्ट करती है कि सिस्टम में विभिन्न वस्तुओं के बीच कनेक्शन को आवश्यकता के अनुसार जोड़ा, हटाया और संशोधित किया जा सकता है।
  • {केवल जोड़ें} - यह निर्दिष्ट करता है कि नए कनेक्शन उस ऑब्जेक्ट से जोड़े जा सकते हैं जो एसोसिएशन के दूसरे छोर पर स्थित है।
  • {जमा हुआ} - यह निर्दिष्ट करता है कि जब दो ऑब्जेक्ट्स के बीच एक लिंक जोड़ा जाता है, तो इसे संशोधित नहीं किया जा सकता है, जबकि फ्रोजन कंस्ट्रेन्ट दिए गए लिंक या कनेक्शन पर सक्रिय है।

हम एक ऐसा क्लास भी बना सकते हैं जिसमें एसोसिएशन गुण हों; इसे एसोसिएशन क्लास कहा जाता है।

प्रतिवर्ती संगति

रिफ़्लेक्टिव एसोसिएशन UML में एसोसिएशन रिलेशनशिप का एक उपप्रकार है। रिफ़्लेक्टिव एसोसिएशन में, एक ही क्लास के उदाहरण एक दूसरे से संबंधित हो सकते हैं। क्लास के एक उदाहरण को ऑब्जेक्ट भी कहा जाता है।

रिफ्लेक्टिव एसोसिएशन यह बताता है कि एक लिंक या कनेक्शन एक ही वर्ग की वस्तुओं के भीतर मौजूद हो सकता है।

आइए हम एक वर्ग फल का उदाहरण लें। फल वर्ग के दो उदाहरण हैं, जैसे कि आम और सेब। रिफ्लेक्सिव एसोसिएशन बताता है कि आम और सेब के बीच एक लिंक मौजूद हो सकता है क्योंकि वे एक ही वर्ग के उदाहरण हैं, जैसे कि फल।

निर्देशित संघटन

जैसा कि नाम से पता चलता है, निर्देशित संघ, संघ वर्गों के भीतर प्रवाह की दिशा से संबंधित है।

निर्देशित संघ में प्रवाह निर्देशित होता है। एक वर्ग से दूसरे वर्ग तक संघ केवल एक ही दिशा में प्रवाहित होता है।

इसे तीर के निशान वाली ठोस रेखा का उपयोग करके दर्शाया जाता है।

उदाहरण:

आप कह सकते हैं कि सर्वर और क्लाइंट के बीच एक निर्देशित एसोसिएशन संबंध होता है। सर्वर क्लाइंट के अनुरोधों को संसाधित कर सकता है। यह प्रवाह एकदिशीय है, जो केवल सर्वर से क्लाइंट की ओर प्रवाहित होता है। इसलिए एक निर्देशित एसोसिएशन संबंध सिस्टम के सर्वर और क्लाइंट के बीच मौजूद हो सकता है।

निर्भरता

यूएमएल में निर्भरता संबंध का उपयोग करके, कोई यह बता सकता है कि किसी विशेष सिस्टम के अंदर विभिन्न चीजें एक दूसरे पर कैसे निर्भर हैं। निर्भरता का उपयोग यूएमएल में विभिन्न तत्वों के बीच संबंधों का वर्णन करने के लिए किया जाता है जो एक दूसरे पर निर्भर हैं।

Stereotypes

  • "बाँध" - बाइंड एक बाधा है जो निर्दिष्ट करती है कि स्रोत प्रदान किए गए मापदंडों या मूल्यों का उपयोग करके लक्ष्य स्थान पर टेम्पलेट को आरंभ कर सकता है।
  • «व्युत्पन्न» - यह दर्शाता है कि स्रोत ऑब्जेक्ट का स्थान लक्ष्य ऑब्जेक्ट से गणना किया जा सकता है।
  • "दोस्त" - यह निर्दिष्ट करता है कि स्रोत की लक्ष्य ऑब्जेक्ट में अद्वितीय दृश्यता है।
  • «इंस्टेंसऑफ» - यह निर्दिष्ट करता है कि लक्ष्य क्लासिफायर का उदाहरण स्रोत ऑब्जेक्ट है।
  • «तत्क्षण» - यह निर्दिष्ट करता है कि स्रोत ऑब्जेक्ट लक्ष्य ऑब्जेक्ट के उदाहरण बनाने में सक्षम है।
  • «परिष्कृत करें» – यह निर्दिष्ट करता है कि स्रोत वस्तु में असाधारण अनुपस्थिति हैtracलक्ष्य वस्तु की तुलना में अधिक तीव्र गति।
  • "उपयोग" - इसका उपयोग तब किया जाता है जब पैकेज UML में बनाए जाते हैं। स्टीरियोटाइप का उपयोग बताता है कि स्रोत पैकेज के तत्व लक्ष्य पैकेज के अंदर भी मौजूद हो सकते हैं। यह बताता है कि स्रोत पैकेज लक्ष्य पैकेज के कुछ तत्वों का उपयोग करता है।
  • "विकल्प" - निर्दिष्ट करता है कि क्लाइंट को रनटाइम पर आपूर्तिकर्ता के लिए प्रतिस्थापित किया जा सकता है।
  • "पहुँच" - यह निर्दिष्ट करता है कि स्रोत पैकेज लक्ष्य पैकेज के तत्वों तक पहुँचता है जिसे निजी विलय भी कहा जाता है।
  • "आयात" - यह निर्दिष्ट करता है कि लक्ष्य स्रोत पैकेज के तत्व को आयात कर सकता है जैसे कि वे अंदर परिभाषित हैं लक्ष्य जिसे सार्वजनिक विलय भी कहा जाता है।
  • "आज्ञा देना" - निर्दिष्ट करता है कि स्रोत तत्व के पास आपूर्तिकर्ता तत्व तक पहुंच है, चाहे आपूर्तिकर्ता की घोषित दृश्यता कुछ भी हो।
  • "बढ़ाना" - यह निर्दिष्ट करने में आपकी सहायता करता है कि लक्ष्य स्रोत तत्व के व्यवहार का विस्तार कर सकता है।
  • "शामिल करना" - आपको स्रोत तत्व को निर्दिष्ट करने की अनुमति देता है जिसे निर्दिष्ट स्थान पर किसी अन्य तत्व के व्यवहार में शामिल किया जा सकता है। (सी/सी++ में फ़ंक्शन कॉल के समान)
  • "बनना" - यह निर्दिष्ट करता है कि लक्ष्य भिन्न मानों और भूमिकाओं के साथ स्रोत के समान है।
  • "पुकारना" - यह निर्दिष्ट करता है कि स्रोत लक्ष्य ऑब्जेक्ट विधि को लागू कर सकता है।
  • "प्रतिलिपि" - यह निर्दिष्ट करता है कि लक्ष्य ऑब्जेक्ट स्वतंत्र है, स्रोत ऑब्जेक्ट की प्रतिलिपि है।
  • «पैरामीटर» – आपूर्तिकर्ता ग्राहक के संचालन का एक मापदंड है।
  • "भेजना" – क्लाइंट एक ऐसी प्रक्रिया है जो आपूर्तिकर्ता को कोई अनिर्दिष्ट लक्ष्य भेजती है।

राज्य मशीनों के बीच रूढ़िवादिता

  • "भेजना" - निर्दिष्ट करता है कि स्रोत ऑपरेशन लक्ष्य ईवेंट भेजता है।

सामान्यीकरण

यह एक सामान्य इकाई और एक अद्वितीय इकाई के बीच का संबंध है जो सिस्टम के अंदर मौजूद है।

सामान्यीकरण संबंध में, वस्तु-उन्मुख अवधारणा को कहा जाता है विरासत लागू किया जा सकता है। दो वस्तुओं के बीच एक सामान्यीकरण संबंध मौजूद होता है, जिसे इकाई या चीजें भी कहा जाता है। सामान्यीकरण संबंध में, एक इकाई माता-पिता होती है, और दूसरी को संतान कहा जाता है। इन संस्थाओं को विरासत का उपयोग करके दर्शाया जा सकता है।

इनहेरिटेंस में, किसी भी पैरेंट का चाइल्ड पैरेंट ऑब्जेक्ट के अंदर निर्दिष्ट कार्यक्षमता तक पहुंच सकता है, उसे अपडेट कर सकता है या इनहेरिट कर सकता है। चाइल्ड ऑब्जेक्ट अपनी कार्यक्षमता को खुद में जोड़ सकता है और साथ ही पैरेंट ऑब्जेक्ट की संरचना और व्यवहार को इनहेरिट कर सकता है।

इस प्रकार के संबंध को सामूहिक रूप से सामान्यीकरण संबंध के रूप में जाना जाता है।

रूढ़िवादिता और उनकी सीमाएं

  • "कार्यान्वयन" - इस स्टीरियोटाइप का उपयोग यह दर्शाने के लिए किया जाता है कि चाइल्ड इकाई को नियमों का उल्लंघन किए बिना पैरेंट ऑब्जेक्ट की संरचना और व्यवहार को विरासत में लेकर पैरेंट इकाई द्वारा कार्यान्वित किया जा रहा है। नोट: यह रूढ़िवादी सोच व्यापक रूप से एक ही संदर्भ में उपयोग की जाती है विरासत.

सामान्यीकरण संबंध में पूर्ण, अपूर्ण जैसे प्रतिबंध होते हैं, जिससे यह जांचा जा सके कि सभी संतान निकाय संबंध में शामिल किए जा रहे हैं या नहीं।

वसूली

यूएमएल के एक प्राप्ति संबंध में, एक इकाई कुछ जिम्मेदारी को दर्शाती है जिसे स्वयं द्वारा कार्यान्वित नहीं किया जाता है और दूसरी इकाई जो उन्हें कार्यान्वित करती है। यह संबंध ज्यादातर निम्नलिखित मामलों में पाया जाता है इंटरफेस।

बोध को दो तरीकों से दर्शाया जा सकता है:

  • एक का प्रयोग कानूनी फॉर्म
  • वर्ष का उपयोग करना संक्षिप्त रूप
यूएमएल में कार्यान्वयन
यूएमएल में कार्यान्वयन

उपरोक्त आरेख में, खाता व्यवसाय नियम इंटरफ़ेस IRuleAgent को साकार करते हैं।

प्राप्ति के प्रकार

  1. कैनोनिकल फॉर्म: यूएमएल के रियलाइज़ेशन रिलेशनशिप में, सिस्टम भर में इंटरफेस को रियलाइज़ करने के लिए कैनोनिकल फॉर्म का उपयोग किया जाता है। यह एक इंटरफेस स्टीरियोटाइप का उपयोग करके एक इंटरफेस बनाता है और रियलाइज़ेशन रिलेशनशिप का उपयोग उस विशेष इंटरफेस को रियलाइज़ करने के लिए किया जाता है। कैनोनिकल फॉर्म में, रियलाइज़ेशन रिलेशनशिप को एक बड़े खुले तीर के निशान वाली डैश वाली निर्देशित रेखा द्वारा दर्शाया जाता है। ऊपर दिए गए चित्र में, इंटरफेस Iruleagent को अकाउंट बिज़नेस रूल्स नामक ऑब्जेक्ट का उपयोग करके रियलाइज़ किया गया है।
  2. संक्षिप्त रूप: प्राप्ति यूएमएल वर्ग आरेख इसे संक्षिप्त रूप में भी दर्शाया जा सकता है। संक्षिप्त रूप में, इंटरफ़ेस को एक वृत्त द्वारा दर्शाया जाता है जिसे लॉलीपॉप नोटेशन भी कहा जाता है। सिस्टम में मौजूद किसी भी चीज़ का उपयोग करके इस इंटरफ़ेस को लागू करने पर एक संक्षिप्त संरचना बनती है। ऊपर दिए गए चित्र में, इंटरफ़ेस Iruleagent को संक्षिप्त रूप में दर्शाया गया है जिसे acctrule.dll द्वारा लागू किया जा रहा है।

रचना

यह एक मानक UML संबंध नहीं है, लेकिन फिर भी इसका उपयोग विभिन्न अनुप्रयोगों में किया जाता है।

समग्र एकत्रीकरण एकत्रीकरण संबंध का एक उपप्रकार है जिसकी विशेषताएं इस प्रकार हैं:

  • यह वस्तुओं के बीच दो-तरफ़ा संबंध है।
  • यह एक सम्पूर्ण/अंश सम्बन्ध है।
  • यदि कोई संयुक्त भाग हटा दिया जाता है, तो उससे संबद्ध अन्य सभी भाग भी हटा दिए जाते हैं।

संयुक्त एकत्रीकरण को एक द्विआधारी संगठन के रूप में वर्णित किया जाता है, जो समुच्चय (संपूर्ण) सिरे पर एक भरे हुए काले हीरे से सुसज्जित होता है।

यूएमएल में रचना

यूएमएल में रचना

फ़ोल्डर एक संरचना है जिसमें n संख्या में फ़ाइलें होती हैं। फ़ोल्डर का उपयोग इसके अंदर फ़ाइलों को संग्रहीत करने के लिए किया जाता है। प्रत्येक फ़ोल्डर किसी भी संख्या में फ़ाइलों से संबद्ध हो सकता है। कंप्यूटर सिस्टम में, प्रत्येक फ़ाइल फ़ाइल संगठन प्रणाली के अंदर कम से कम एक फ़ोल्डर का हिस्सा होती है। वही फ़ाइल किसी अन्य फ़ोल्डर का हिस्सा भी हो सकती है, लेकिन यह अनिवार्य नहीं है। जब भी फ़ोल्डर से कोई फ़ाइल हटाई जाती है, तो फ़ोल्डर अप्रभावित रहता है जबकि उस विशेष फ़ाइल से संबंधित डेटा नष्ट हो जाता है। यदि फ़ोल्डर पर डिलीट ऑपरेशन निष्पादित किया जाता है, तो यह फ़ोल्डर के अंदर मौजूद सभी फ़ाइलों को भी प्रभावित करता है। फ़ोल्डर को सिस्टम से हटा दिए जाने के बाद फ़ोल्डर से जुड़ी सभी फ़ाइलें अपने आप नष्ट हो जाती हैं।

यूएमएल में इस प्रकार के संबंध को समग्र एकत्रीकरण संबंध के नाम से जाना जाता है।

एकत्रीकरण

An एकत्रीकरण यूएमएल में एसोसिएशन रिलेशनशिप का एक उपप्रकार है। एग्रीगेशन और कंपोजीशन दोनों ही यूएमएल में एसोसिएशन रिलेशनशिप के प्रकार हैं। एग्रीगेशन रिलेशनशिप को सरल शब्दों में इस प्रकार परिभाषित किया जा सकता है: "एक क्लास का ऑब्जेक्ट दूसरी क्लास के ऑब्जेक्ट्स का स्वामित्व रख सकता है या उन तक पहुंच सकता है।"

एकत्रीकरण संबंध में, आश्रित ऑब्जेक्ट, स्रोत ऑब्जेक्ट के नष्ट हो जाने पर भी, संबंध के दायरे में बना रहता है।

आइए एक कार और एक पहिये का उदाहरण लें। एक कार को सही ढंग से काम करने के लिए एक पहिये की आवश्यकता होती है, लेकिन एक पहिये को हमेशा कार की आवश्यकता नहीं होती है। इसका उपयोग बाइक, साइकिल या किसी अन्य वाहन के साथ भी किया जा सकता है, लेकिन किसी विशेष कार के साथ नहीं। यहाँ, पहिया ऑब्जेक्ट कार ऑब्जेक्ट के बिना भी सार्थक है। इस प्रकार के संबंध को एकत्रीकरण संबंध कहा जाता है।

अक्सर पूछे जाने वाले प्रश्न

मल्टीप्लिसिटी यह बताती है कि किसी संबंध में एक क्लास के कितने इंस्टेंस दूसरी क्लास के इंस्टेंस से जुड़ सकते हैं, जिसे 1, 0..1, या 1..* जैसे मानों के रूप में लिखा जाता है। उदाहरण के लिए, एक फ़ोल्डर में शून्य या कई फ़ाइलें हो सकती हैं।

यूएमएल संबंध प्रकारों को दर्शाने के लिए विभिन्न रेखा अंत चिह्नों का उपयोग करता है: जुड़ाव के लिए एक सादी रेखा, निर्भरता के लिए एक खुला तीर का निशान, सामान्यीकरण के लिए एक खोखला त्रिकोण, प्राप्ति के लिए एक खोखले त्रिकोण के साथ एक धराशायी रेखा, और एकत्रीकरण या संयोजन के लिए एक हीरा।

सहसंबंध एक संरचनात्मक कड़ी है जहाँ वस्तुएँ एक दूसरे के बारे में लंबे समय तक जानती हैं। निर्भरता एक कमजोर, अस्थायी संबंध है जहाँ एक तत्व दूसरे का उपयोग करता है, इसलिए आपूर्तिकर्ता में परिवर्तन ग्राहक को केवल थोड़े समय के लिए ही प्रभावित कर सकता है।

एआई कोड-विश्लेषण उपकरण क्लास को स्कैन कर सकते हैं और ऑब्जेक्ट्स के एक-दूसरे को संदर्भित करने के तरीके के आधार पर संभावित संबंधों (जैसे कि जुड़ाव, निर्भरता, सामान्यीकरण या एकत्रीकरण) का सुझाव दे सकते हैं। इंजीनियरों को सुझावों की पुष्टि करनी चाहिए, क्योंकि एआई अप्रत्यक्ष या गतिशील संबंधों को गलत समझ सकता है।

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: