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

यूएमएल क्यों?
बड़े उद्यम अनुप्रयोगों को इस तरह संरचित किया जाना चाहिए कि यह विस्तारशीलता, सुरक्षा और तनावपूर्ण स्थितियों में विश्वसनीय निष्पादन सुनिश्चित कर सके। अच्छी तरह से डिज़ाइन की गई संरचना कोड पुनर्उपयोग की अनुमति देती है, और रखरखाव कर्मचारियों को ऐसी त्रुटियों को ढूंढने और ठीक करने में सक्षम बनाती है जो मूल लेखकों द्वारा अन्य परियोजनाओं में चले जाने के बाद भी दिखाई देती हैं। मॉडलिंग बड़े सॉफ्टवेयर परियोजनाओं के लिए आवश्यक है, और मध्यम और छोटी परियोजनाओं के लिए भी सहायक है। एक मॉडल सुनिश्चित करता है कि व्यापार कार्यक्षमता पूर्ण और सही है, अंतिम उपयोगकर्ता की आवश्यकताएं पूरी होती हैं, और कार्यक्रम डिज़ाइन विस्तारशीलता, विश्वसनीयता, सुरक्षा, विस्तारशीलता और अन्य विशेषताओं की आवश्यकताओं का समर्थन करता है।
- मॉडल हमें विवरणों को छिपाने या मास्क करके उच्च स्तर के अमूर्तता पर काम करने में मदद करते हैं, बड़ी तस्वीर को उजागर करते हैं, या प्रोटोटाइप के विभिन्न पहलुओं पर ध्यान केंद्रित करते हैं।
- यूएमएल आपको किसी भी प्रकार के अनुप्रयोग का मॉडल बनाने की अनुमति देता है, जो किसी भी प्रकार के हार्डवेयर, ऑपरेटिंग सिस्टम, प्रोग्रामिंग भाषा और नेटवर्क पर चल रहा हो, और इसका उपयोग ओओ-आधारित अनुप्रयोगों के अलावा अन्य अनुप्रयोगों के मॉडलिंग के लिए भी किया जा सकता है।
- कुछ उपकरण मौजूदा स्रोत कोड का विश्लेषण करते हैं (या, कुछ का दावा है, ऑब्जेक्ट कोड!) और इसे एक सेट में वापस इंजीनियर करते हैंयूएमएल आरेख, जबकि अन्य यूएमएल मॉडल को निष्पादित करते हैं, आमतौर पर प्रोग्राम भाषा कोड उत्पन्न करते हैं जो तेजी से चलता है यदि कोड जनरेटर बेस्ट-प्रैक्टिस विस्तारशील पैटर्न को शामिल करता है।
- एप्लिकेशन की आवश्यकताओं को एकत्र करने और उनका विश्लेषण करने और उन्हें कार्यक्रम डिज़ाइन में शामिल करने की प्रक्रिया जटिल है। यूएमएल एक भाषा है जो आपको अपने विश्लेषण और डिज़ाइन के परिणामों को व्यक्त करने में सक्षम बनाती है।
इसका उद्गम कहाँ से है?
यूएमएल की जड़ें 1980 के दशक के अंत और 1990 के दशक के आरंभ में विकसित वस्तु-अभिमुखी प्रोग्रामिंग विधियों में हैं। जिम रुमबॉग, ग्रैडी बूच और आइवर जैकबसन ने अपने विचारों को एकीकृत विधि में मिलाया, जिसे बाद में एकीकृत मॉडलिंग भाषा (यूएमएल) कहा गया। ऑब्जेक्ट मैनेजमेंट ग्रुप (ओएमजी) द्वारा जारी पहले अनुरोध प्रस्ताव (आरएफपी) ने कई संगठनों को एक साथ आकर संयुक्त आरएफपी प्रतिक्रिया बनाने के लिए प्रेरित किया। आरएफपी प्रतिक्रिया, यूएमएल 1.0, अच्छी तरह से परिभाषित, व्यक्त करने योग्य, शक्तिशाली और सामान्य रूप से लागू थी और 1.1 से 1.5 तक सुधारी गई, और बाद में 01 से 06 तक यूएमएल 2.1 तक विकसित की गई (अब यूएमएल का वर्तमान संस्करण 2.5 है)

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

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

संरचनात्मक आरेख
चूंकि संरचनात्मक आरेख संरचना का प्रतिनिधित्व करते हैं, इनका उपयोग सॉफ्टवेयर प्रणालियों की सॉफ्टवेयर वास्तुकला के दस्तावेजीकरण में व्यापक रूप से किया जाता है। संरचनात्मक आरेख आपकी प्रणाली के तत्वों की स्थिर संरचना का चित्रण करते हैं। सात UML संरचनात्मक आरेख लगभग उन मुख्य समूहों के चारों ओर व्यवस्थित हैं जो एक प्रणाली के मॉडलिंग के दौरान प्राप्त होते हैं।
उदाहरण के लिए, घटक आरेख यह बताता है कि एक सॉफ्टवेयर प्रणाली को घटकों में कैसे विभाजित किया जाता है और इन घटकों के बीच निर्भरता को दिखाता है।
| संरचनात्मक आरेख | संक्षिप्त विवरण |
| संयुक्त संरचना आरेख | यह एक वर्गीकरण की आंतरिक संरचना, पोर्ट के माध्यम से वर्गीकरण के पर्यावरण के साथ अंतरक्रिया, या सहयोग के व्यवहार को दिखाता है। |
| निर्माण आरेख | यह नोड्स के एक सेट और उनके संबंधों को दिखाता है जो एक वास्तुकला के स्थिर निर्माण दृश्य को दर्शाता है। |
| पैकेज आरेख | यह संबंधित UML तत्वों को तार्किक रूप से संबंधित UML संरचना के एक संग्रह में समूहित करता है। |
| प्रोफाइल आरेख | |
| वर्ग आरेख | यह वर्गों, इंटरफेस और सहयोगों और उनके संबंधों के एक सेट को दिखाता है, जो आमतौर पर ऑब्जेक्ट-ओरिएंटेड प्रणालियों के मॉडलिंग में पाए जाते हैं। |
| वस्तु आरेख | यह वस्तुओं और उनके संबंधों के एक सेट को दिखाता है, जो क्लास आरेखों में पाए जाने वाली चीजों के उदाहरणों के स्थिर लेखांकन हैं। |
| घटक आरेख | यह घटकों और उनके संबंधों के एक सेट को दिखाता है जो प्रणाली के स्थिर कार्यान्वयन दृश्य को दर्शाता है। |
व्यवहार आरेख
UML के पांच व्यवहार आरेख प्रणाली के व्यवहार के मॉडलिंग के लिए उपयोग किए जाते हैं। ये दिखाते हैं कि डेटा प्रणाली में कैसे गति करता है, वस्तुएं एक दूसरे के साथ कैसे संचार करती हैं, समय के बीतने से प्रणाली पर कैसे प्रभाव पड़ता है, और कौन सी घटनाएं प्रणाली के आंतरिक अवस्थाओं को बदलने के लिए उत्तरदायी हैं।
| व्यवहार आरेख | संक्षिप्त विवरण |
| गतिविधि आरेख | यह चयन, पुनरावृत्ति और समानांतरता के समर्थन के साथ चरणबद्ध गतिविधियों और क्रियाओं के विधियों के आलेखीय प्रतिनिधित्व है |
| उपयोग केस आरेख | यह उपयोग केस के संदर्भ में एक प्रणाली की कार्यात्मक आवश्यकताओं का वर्णन करता है, जो आपको एक प्रणाली से क्या आवश्यकता है, और प्रणाली उन आवश्यकताओं को कैसे पूरा करती है, के बीच संबंध स्थापित करने में सक्षम बनाता है। |
| अवस्था मशीन आरेख | यह सीमित अवस्था संक्रमण के माध्यम से डिज़ाइन किए गए प्रणाली के एक हिस्से के अलग-अलग व्यवहार को दिखाता है। |
| अनुक्रम आरेख | यह परिदृश्य के कार्यात्मकता को प्राप्त करने के लिए आवश्यक वस्तुओं के बीच संदेशों के क्रम को दिखाता है। |
| संचार आरेख | यह अनुक्रमित संदेशों के स्वतंत्र व्यवस्था के माध्यम से वस्तुओं और/या भागों (जीवन रेखाओं के रूप में दर्शाए गए) के बीच अंतरक्रिया को दिखाता है। |
| अंतरक्रिया अवलोकन आरेख | यह नियंत्रण प्रवाह को दिखाता है, जिसमें अन्य नोड्स को समाहित करने वाले नोड्स होते हैंअंतरक्रिया आरेख. |
| समय आरेख | यह समय के बारे में तर्क करने के लिए रेखीय समय अक्ष के साथ जीवन रेखाओं के भीतर और उनके बीच परिवर्तित होने वाली स्थितियों पर ध्यान केंद्रित करके अंतरक्रिया को दिखाता है। |
1. क्लास आरेख
एक क्लास आरेखएक एप्लिकेशन के एक स्थिर दृश्य का चित्रण करता है, और एक्सीक्यूटेबल सॉफ्टवेयर कोड के निर्माण में सहायता करता है। यह विशेषताओं, क्लासों, फंक्शनों और संबंधों को दिखाता है ताकि सॉफ्टवेयर प्रणाली का एक समग्र दृश्य प्रदान किया जा सके। इनका उपयोग एप्लिकेशन के एक स्थिर दृश्य के निर्माण के लिए किया जाता है। ऑब्जेक्ट मॉडल आरेख कोडिंग से पहले एप्लिकेशन के एक सामान्य स्कीमेटिक प्रदान करके रखरखाव समय को कम कर सकता है।
प्रणाली की जटिलता के आधार पर, आप एकल क्लास आरेख का उपयोग करके पूरी प्रणाली का मॉडल बना सकते हैं, या आप प्रणाली के घटकों का मॉडल बनाने के लिए कई क्लास आरेखों का उपयोग कर सकते हैं। क्लास आरेख ऑब्जेक्ट मॉडलिंग प्रक्रिया के लिए मूलभूत हैं और प्रणाली की स्थिर संरचना का मॉडल बनाते हैं। विश्लेषण चरण में, क्लास आरेख आपको अपने समस्या क्षेत्र की आवश्यकताओं को समझने और उसके घटकों की पहचान करने में सहायता कर सकता है।
द क्लास आरेखक्लास आरेख ऑब्जेक्ट-ओरिएंटेड मॉडलिंग का मुख्य निर्माण ब्लॉक है। यह क्लासों, उनकी विशेषताओं, क्रियाओं और वस्तुओं के बीच संबंधों को दिखाकर ऑब्जेक्ट-ओरिएंटेड प्रणाली की संरचना को दिखाता है। ऊपरी खंड में क्लास का नाम होता है, मध्य खंड में इसकी विशेषताएं होती हैं, और निचले खंड में इसकी क्रियाएं होती हैं।
संबंधों को संबंध रेखा के मध्य में लिखा जाता है। उनके पास अक्सर एक छोटा तीर का सिरा होता है जो संबंध को पढ़ने की दिशा दिखाता है। संबंध में वस्तुओं की बहुलता को इस प्रकार व्यक्त किया जा सकता है: ठीक एक, शून्य, एक, बहुत सारे, एक या अधिक।

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

(विजुअल पैराडाइग्म (डेस्कटॉप) के साथ बनाया गया हैवस्तु आरेख टूल)
- एक वस्तु आरेख सिस्टम में वस्तुओं के बीच संबंध को दर्शाता है, और जटिल सिस्टम क्लास आरेखों की व्याख्या करने के लिए उपयोग किया जा सकता है।
- यूएमएल में, वस्तु आरेख मॉडल में क्लासिफायर के उदाहरणों और उनके संबंधों को दर्शाते हैं। आप क्लास, डेप्लॉयमेंट, कंपोनेंट और उपयोग-केस आरेखों में मॉडल तत्वों के उदाहरण बनाकर वस्तु आरेख बना सकते हैं।
- एक वस्तु आरेख विकसित करने के लिए, आपको सिस्टम के बनावट वाले तंत्रों की पहचान करनी होगी, और फिर उन तंत्र में भाग लेने वाले क्लासेस, इंटरफेस और अन्य तत्वों की पहचान करनी होगी, और इन चीजों के बीच संबंधों की पहचान करनी होगी।
- एक वस्तु आरेख का उपयोग किसी विशिष्ट क्षण पर वस्तुओं की स्थिति दिखाने के लिए किया जा सकता है।
3. कंपोनेंट आरेख
एककंपोनेंट आरेखएक कंपोनेंट आरेख एक बड़े ऑब्जेक्ट-ओरिएंटेड सिस्टम को छोटे-छोटे घटकों में बांटने के लिए उपयोग किया जाता है। यह सिस्टम में मौजूद घटकों के बीच संबंधों और संगठन को दर्शाता है। एक कंपोनेंट आरेख एक सॉफ्टवेयर सिस्टम के तार्किक घटकों और उनके संबंधों का प्रतिनिधित्व करता है, जो सिस्टम का एक स्थिर उपाधिन दृष्टिकोण है। इसका उपयोग आमतौर पर घटकों को दर्शाने, एक्जीक्यूटेबल बनाने और घटकों के संगठन और संबंधों का वर्णन करने के लिए किया जाता है।


इस यूएमएल कंपोनेंट आरेख को संपादित करें
- दकंपोनेंट आरेखएक घटक के प्रदान किए गए और आवश्यक इंटरफेस को दर्शाता है।
- एक घटक सिस्टम का एक मॉड्यूलर हिस्सा है। इसे ऊर्ध्वाधर रूप से लगाए गए वैकल्पिक कॉम्पार्टमेंट के साथ एक आयत के रूप में बनाया जाता है।
- एक लॉलीपॉप या सॉकेट का उपयोग एक घटक से एक इंटरफेस तक निर्भरता को दर्शाने के लिए किया जाता है, और एक आधा वृत्त का उपयोग एक घटक से आवश्यक इंटरफेस तक निर्भरता को दर्शाने के लिए किया जाता है।
4. डेप्लॉयमेंट आरेख
एक डेप्लॉयमेंट आरेख रनटाइम सिस्टम की संरचना और सॉफ्टवेयर के डेप्लॉय किए जाने वाले विभिन्न हार्डवेयर आइटम के बीच संचार मार्गों को दर्शाता है। एक डेप्लॉयमेंट आरेख नोड्स के बीच संबंधों को दर्शाने वाले नोड्स और आर्क्स का संग्रह है। यह सिस्टम इंजीनियर्स के लिए प्रदर्शन, स्केलेबिलिटी, रखरखाव और पोर्टेबिलिटी को नियंत्रित करने में उपयोगी है।

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

- पैकेज को फोल्डर प्रतीक के उपयोग से दिखाया जाता है, और मॉडल को ऊपरी दाहिने कोने में त्रिभुज के रूप में दिखाया जाता है।
- एक पैकेज आरेख नेस्टेड पैकेज के हायरार्किकल संरचना का अनुसरण करता है, उदाहरण के लिए, एक पैकेज आरेख उपयोग केस को तार्किक रूप से संबंधित उप-प्रणालियों में भी समूहित कर सकता है।
- यदि पैकेज A में कोई क्लास पैकेज B में किसी क्लास पर निर्भर है, या यदि दो क्लास के बीच क्लाइंट-सर्वर संबंध है, तो दो पैकेज के बीच निर्भरता मौजूद होती है।
- पैकेज आरेख यह हमें पैकेज के बीच निर्भरता को निर्दिष्ट करने में सक्षम बनाता है। एक निर्भरता डैश्ड तीर द्वारा मॉडल की जाती है।
- एक पैकेज आयात संबंध को लक्ष्य पैकेज से स्रोत पैकेज में तत्वों के आयात के रूप में व्याख्यायित किया जाता है।
- एक पैकेज मर्ज दो पैकेज के बीच एक दिशात्मक संबंध है। यह लक्ष्य पैकेज की विशेषताओं को स्रोत पैकेज की विशेषताओं में जोड़ता है।
- एक पैकेज अन्य मॉडल तत्वों के लिए एक कंटेनर है। एक पैकेज को हायरार्किकल रूप से नेस्ट किया जा सकता है, और कंटेनर को उसमें शामिल तत्वों के बिना हटाया या कॉपी किया जा सकता है।
6. संयुक्त संरचना आरेख
UML मॉडल में, एकसंयुक्त संरचना आरेख भागों, पोर्ट्स और कनेक्टर्स के उपयोग से संरचित वर्गीकरण की आंतरिक संरचना को दर्शाता है

(विजुअल पैराडाइम (डेस्कटॉप) केसंयुक्त संरचना आरेख टूल)
-
भाग: एक आरेख तत्व जो एक संरचित वर्गीकरण के द्वारा स्वामित्व वाले एक या एक से अधिक उदाहरणों के सेट का प्रतिनिधित्व करता है
- एक कनेक्टर पोर्ट्स को एक साथ बांधता है, एक सहयोग प्रतिनिधित्वों को एक साथ बांधता है, एक संरचित वर्गीकरण एक वर्ग का प्रतिनिधित्व करता है जिसे भागों के बीच अंतरक्रिया द्वारा वर्णित किया जा सकता है, और एक संकुल वर्गीकरण पोर्ट्स को समावेश करता है।
-
पोर्ट्स: एक वर्गीकरण उदाहरण और उसके वातावरण के बीच या वर्गीकरण के व्यवहार और उसके आंतरिक भागों के बीच अंतरक्रिया बिंदु को परिभाषित करते हैं
- इंटरफेस: इसे एक क्लास के रूप में मॉडल किया जा सकता है, लेकिन इसका उदाहरण नहीं बनाया जाता है। एक कॉन्क्रीट क्लास को इंटरफेस को लागू करना होता है, और बाहरी एकाइयाँ इंटरफेस का उपयोग आंतरिक कार्यान्वयन के बारे में चिंता किए बिना कर सकती हैं।
-
सहयोग: सहयोग के एक विशिष्ट लक्ष्य को प्राप्त करने के लिए आवश्यक भूमिकाओं और संबंधों को परिभाषित करने के लिए सहयोग उपयोग का उपयोग करें
वर्ग बनाम वस्तु बनाम संयुक्त संरचना आरेख
- वर्ग आरेख जटिल संरचना के बनावट वाले वर्गों के बीच संबंधों को दर्शाते हैं, जबकि वस्तु आरेख उस संरचना के विशिष्ट उदाहरणों को दर्शाते हैं।
- संयुक्त संरचना आरेख दिखाते हैं कि घटक कैसे अंतरक्रिया करते हैं।
7. प्रोफाइल आरेख
UML एक सामान्य उद्देश्य वाली मॉडलिंग भाषा है। हालांकि, कुछ परिस्थितियों में, दिए गए क्षेत्र के लिए अनुकूलित भाषा लाभदायक होती है।प्रोफ़ाइल आरेख विशिष्ट क्षेत्रों और प्लेटफ़ॉर्म के लिए UML मॉडल को कस्टमाइज़ करने की अनुमति देता है। इन आरेखों को स्टेरियोटाइप्स, टैग्ड वैल्यू परिभाषाओं और अनुबंधों का उपयोग करके परिभाषित किया जाता है।


इस प्रोफ़ाइल आरेख को संपादित करें
एक UML प्रोफ़ाइल तीन तरीकों से बनाया जा सकता है: एक नए मेटामॉडल के निर्माण, मौजूदा मेटामॉडल के विस्तार या भाषा-आंतरिक तंत्रों के उपयोग से।
- स्टेरियोटाइप्स आपको UML के शब्दावली को बढ़ाने में सक्षम बनाते हैं, नए निर्माण ब्लॉक बनाकर जो प्राथमिक लगते हैं और आपके क्षेत्र की भाषा में बोलते हैं।
- टैग्ड वैल्यू का उपयोग UML मॉडल तत्व में जानकारी जोड़ने के लिए किया जाता है। इनका उपयोग कोड उत्पादन, संस्करण नियंत्रण, विनियमन प्रबंधन, लेखन आदि के लिए किया जा सकता है।
- अनुबंध आपको UML निर्माण ब्लॉक के अर्थ को नए प्रोटोकॉल जोड़कर विस्तारित करने की अनुमति देते हैं। इन्हें संबंधित तत्व के पास ब्रैकेट में लिपित स्ट्रिंग के रूप में दर्शाया जाता है।
व्यवहार आरेख
UML व्यवहार आरेख एक प्रणाली के गतिशील पहलुओं को दृश्य बनाते हैं, निर्दिष्ट करते हैं, निर्माण करते हैं और दस्तावेज़ करते हैं। व्यवहार आरेख निम्नलिखित रूप में वर्गीकृत किए जाते हैं: उपयोग केस आरेख, अंतरक्रिया आरेख, अवस्था आरेख और गतिविधि आरेख।
1. उपयोग केस आरेख
एक उपयोग केस आरेख एक सॉफ्टवेयर प्रोग्राम के व्यवहार का दृश्य प्रतिनिधित्व है। यह डिज़ाइनरों को बाहरी रूप से दिखाई देने वाले प्रणाली व्यवहार को निर्दिष्ट करके उपयोगकर्ता को प्रणाली के व्यवहार के बारे में संचार करने में सहायता करता है। उपयोग केस केवल प्रणाली की कार्यात्मक आवश्यकताओं का प्रतिनिधित्व करते हैं। व्यावसायिक नियम, सेवा की गुणवत्ता की आवश्यकताएं और कार्यान्वयन सीमाएं अलग से प्रतिनिधित्व की जानी चाहिए। उपयोग केस आरेख एक प्रणाली में व्यक्तियों की भूमिकाओं का वर्णन करने के लिए उपयोग किए जाते हैं। इनका उपयोग आवश्यकताओं की योजना बनाने, हार्डवेयर डिज़ाइन की पुष्टि करने, सॉफ्टवेयर उत्पाद का परीक्षण करने या ऑनलाइन सहायता संदर्भ बनाने के लिए किया जा सकता है।
उपयोग केस मॉडलिंग का परिचय 1986 में आइवर जैकोबसन ने किया था। 1992 में, उनकी पुस्तक ऑब्जेक्ट-ओरिएंटेड सॉफ्टवेयर इंजीनियरिंग ने इस तकनीक को लोकप्रिय बनाने में मदद की। एक उपयोग केस आरेख प्रणाली का उच्च स्तर का दृश्य है। जब आवश्यक न हो, तो कम विस्तार के साथ कम विस्तार वाले स्तर पर उपयोग केस लिखना लाभदायक होता है। उपयोग केस आरेख आमतौर पर विकास के प्रारंभिक चरण में आवश्यकताओं को एकत्र करने, आर्किटेक्चर की पुष्टि करने और कार्यान्वयन को आगे बढ़ाने के लिए विकसित किए जाते हैं।

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

इस गतिविधि आरेख को ऑनलाइन संपादित करें
- गतिविधि आरेखों का उपयोग प्रणाली में क्रमागत क्रियाओं या नियंत्रण के प्रवाह के मॉडलिंग के लिए किया जाता है।
- एक हीरे का आकार एक निर्णय को दर्शाता है जिसमें विकल्प रास्ते होते हैं। विकल्पों को शर्तों के साथ लेबल किया जाना चाहिए।
- एक फॉर्क नोड एकल आने वाले प्रवाह को बहुत सारे समानांतर प्रवाह में विभाजित करता है।
- एक जॉइन नोड बहुत सारे समानांतर प्रवाहों को एक साथ जोड़ता है।
- पिन का उपयोग गड़बड़ गतिविधि आरेखों को साफ करने के लिए किया जाता है। ये एक क्रिया के एक इनपुट या आउटपुट का प्रतिनिधित्व करते हैं।
- सिग्नल का उपयोग प्रणाली में गतिविधियों को संशोधित करने के लिए किया जाता है। गतिविधि को संशोधित करने से पहले एक प्रतिक्रिया की आवश्यकता होती है।
- स्विमलेन्स का उपयोग एक्टिविटी डायग्राम में क्रियाओं के समूहन के लिए किया जाता है।
3. अनुक्रम डायग्राम
एक अनुक्रम डायग्राम एक सरल डायग्राम है जिसका उपयोग एक सिस्टम के भागों (जैसे उपप्रणाली या वस्तुएँ) के बीच अंतरक्रिया दिखाने के लिए किया जाता है। UML अनुक्रम डायग्राम समय के रूप में ऊर्ध्वाधर अक्ष का उपयोग करके वस्तुओं के समय के अंतरक्रिया को दिखाते हैं। अनुक्रम डायग्राम एक सिस्टम और उसके उपयोगकर्ता के बीच या सिस्टम के बीच अंतरक्रिया को कैप्चर करते हैं। एक अनुक्रम डायग्राम ऑपरेशन के कार्यान्वयन को दिखाता है। समय पेज के नीचे जाने के साथ बढ़ता है।
अनुक्रम डायग्राम में, संदेश वस्तुओं के बीच अंतरक्रिया का प्रतिनिधित्व करते हैं। कॉल संदेश एक ऑपरेशन को आह्वान करने के अनुरोध का प्रतिनिधित्व करते हैं, रिटर्न संदेश प्राप्तकर्ता से कॉलर तक सूचना प्रवाह का प्रतिनिधित्व करते हैं, और रिकर्सिव संदेश कॉलर को कॉल करने का प्रतिनिधित्व करते हैं।

इस अनुक्रम डायग्राम को संपादित करें
- एक अनुक्रम डायग्राम का उपयोग एक उपयोग केस को पूरा करने के लिए सिस्टम के विभिन्न भागों के बीच अंतरक्रिया को मॉडल करने के लिए किया जा सकता है, उदाहरण के लिए एक अनुक्रम डायग्राम क्लास के बीच अंतरक्रिया को दृश्य बनाने और नए सिस्टम में उत्तरदायित्व की खोज में मदद कर सकता है।
- अनुक्रम डायग्राम में, एक वस्तु दूसरी वस्तु को संदेश भेजती है। संदेश के आदान-प्रदान के दौरान दोनों वस्तुएँ सक्रिय होती हैं।
- संदेश तीर का उपयोग अनुक्रम डायग्राम में संदेश को इंगित करने के लिए किया जाता है। संदेश तीर के साथ एक विवरण, जिसे संदेश सिग्नेचर कहा जाता है, होता है।
- एक असिंक्रोनस संदेश तब भेजा जाता है जब संदेश कॉलर संदेश के प्रसंस्करण का इंतजार नहीं करता है।
4. स्टेट मशीन डायग्राम
एक स्टेट मशीन डायग्राम (जिसे स्टेट चार्ट, स्टेट ट्रांजिशन डायग्राम के रूप में जाना जाता है) का उपयोग एक सिस्टम में एक घटक के विभिन्न अवस्थाओं का वर्णन करने के लिए किया जाता है। यह बाहरी या आंतरिक घटनाओं द्वारा नियंत्रित होता है। इनका उपयोग सिस्टम की गतिशील प्रकृति को मॉडल करने के लिए किया जाता है। यह एक अवस्था से दूसरी अवस्था तक नियंत्रण के प्रवाह का वर्णन करता है और वस्तु के जन्म से समाप्ति तक जीवनकाल को मॉडल करने के लिए उपयोग किया जाता है। उदाहरण के लिए, स्टेट डायग्राम एक क्लास की वस्तुओं के सभी संभावित व्यवहार और घटनाओं के क्रम को दिखाते हैं, और सिस्टम की समझ के लिए आवश्यक हैं।
अधिकांश सिस्टम में, विभिन्न कक्षाओं की वस्तुओं के बीच अंतरक्रिया के कारण जटिलता उत्पन्न होती है, इसलिए हर कक्षा के लिए स्टेट डायग्राम आवश्यक नहीं होता है। हालांकि, जटिल कक्षाओं, जैसे प्रक्रिया नियंत्रण या संचार प्रणाली के लिए, वस्तुओं के व्यवहार को मॉडल करने के लिए स्टेट डायग्राम आवश्यक होता है।


ऑनलाइन इस स्टेट मशीन डायग्राम को संपादित करें
- एक सिस्टम या कक्षा की प्रारंभिक अवस्था का प्रतिनिधित्व करने के लिए काला भरा वृत्त।
- एक अवस्था से दूसरी अवस्था में संक्रमण का प्रतिनिधित्व करने के लिए एक ठोस तीर
- एक अवस्था का प्रतिनिधित्व करने के लिए एक गोल आयत।
- एक अवस्था से दूसरी अवस्था में स्थिति संक्रमण घटनाओं द्वारा प्रभावित होते हैं।
- गार्ड निश्चित संक्रमणों के पार जाने से रोकते हैं, और आंतरिक संक्रमण स्थिति संक्रमण को प्रभावित नहीं करते हैं।
- एक स्थिति आरेख में प्रारंभिक अवस्था, मध्य अवस्थाएँ, संक्रमण और अंतिम अवस्था शामिल होती है। इसमें गोल किनारों वाला बॉक्स, नाम, स्थिति चर और प्रत्येक अवस्था में किए गए क्रियाकलाप भी शामिल होते हैं।
एक अवस्था क्या है?
एक अवस्था वस्तु के जीवन के दौरान एक स्थिति या स्थिति है, और एक घटना एक उत्तेजना है जो अवस्था संक्रमण को ट्रिगर कर सकती है। एक गार्ड शर्त एक बूलियन व्यंजक का मूल्यांकन है, और एक संक्रमण में कई गार्ड शर्तें हो सकती हैं। स्टेट डायग्राम का उपयोग आमतौर पर इलेक्ट्रॉनिक घटकों के व्यवहार का वर्णन करने के लिए किया जाता है। स्टेट डायग्राम में अवस्थाओं को बहुत से अवस्थाओं में विभाजित करना, अवस्थाओं को जोड़ना, ऐतिहासिक अवस्थाएँ और संयुक्त अवस्थाएँ शामिल करना संभव है।
एक्टिविटी डायग्राम बनाम स्टेट डायग्राम
- UML में, एक्टिविटी डायग्राम उच्च स्तरीय गतिविधियों का प्रतिनिधित्व करते हैं। विशेष रूप से, एक्टिविटी डायग्राम समानांतरता और समन्वय का प्रतिनिधित्व कर सकते हैं।
- एक स्टेट मशीन डायग्राम में, शीर्ष वस्तु की अवस्थाओं का प्रतिनिधित्व करते हैं, और किनारे घटनाओं के घटित होने का प्रतिनिधित्व करते हैं। अतिरिक्त नोटेशन गतिविधियों के समन्वय के तरीके को कैप्चर करते हैं।
5. संचार डायग्राम
संचार डायग्राम दिखाते हैं कि वस्तुएँ कैसे अंतरक्रिया करती हैं। वे वस्तुओं के बीच यात्रा करने वाले संदेशों को भी दिखाते हैं। उपयोग केस और ऑपरेशन की कार्यक्षमता प्रदान करने वाली वस्तुओं के बीच संदेश वितरण का मॉडल बनाते हैं, और गुजरे हुए संदेशों को दिखाने वाली अंतरक्रिया को कैप्चर करते हैं। संचार डायग्राम में, वस्तुएँ (उपयोग केस में एक्टर्स) आयतों द्वारा दर्शाई जाती हैं, और वस्तुओं के बीच प्रेषित संदेशों को लेबल वाले तीर द्वारा दर्शाया जाता है जो प्रेषक वस्तु से शुरू होते हैं और प्राप्तकर्ता वस्तु पर समाप्त होते हैं। यह पढ़ने में आसान है क्योंकि संदेशों को संख्याओं के साथ लेबल किया जाता है।

(विजुअल पैराडाइग्म के साथ बनाया गया है संचार डायग्राम टूल)
- UML संचार डायग्राम दिखाते हैं कि एक सिस्टम या सॉफ्टवेयर के वस्तुओं के बीच संदेश कैसे भेजे और प्राप्त किए जाते हैं।
- रेखाएँ लिंक का प्रतिनिधित्व करती हैं, और तीर संदेशों का प्रतिनिधित्व करते हैं।
- संदेशों की संख्या क्रमानुसार नंबर दी जाती है और उनका वर्णन संख्याओं और दशमलव बिंदुओं के साथ किया जाता है।
संचार आरेख बनाम क्रमानुसार आरेख
संचार आरेख और क्रमानुसार आरेख समान हैं। वे एक ही जानकारी प्रस्तुत करते हैं, लेकिन संचार आरेख स्थान के अनुसार व्यवस्थित होता है, और क्रमानुसार आरेख समय के अनुसार व्यवस्थित होता है।
उदाहरण के लिए, यह गतिविधि और क्रमानुसार आरेख दोनों को एक साथ जोड़ता है और विशिष्ट कार्यों को प्राप्त करने के लिए एकता के बीच संदेशों का चित्रण करता है।
- क्रमानुसार आरेख संदेशों के समय क्रम को दर्शाता है, और
- संचार आरेख वस्तुओं के बीच संबंधों को दर्शाता है।
6. अंतरक्रिया अवलोकन आरेख
अंतरक्रिया अवलोकन आरेख गतिविधि आरेखों के समान होते हैं, लेकिन प्रत्येक व्यक्तिगत गतिविधि को एक फ्रेम के रूप में दर्शाया जाता है, जिसमें एक नेस्टेड अंतरक्रिया आरेख शामिल हो सकता है। UML अंतरक्रिया अवलोकन आरेख अंतरक्रिया मॉडल के उच्च स्तर के अब्स्ट्रैक्शन को प्रदान करते हैं। वे आरेखों के बीच गतिविधियों के प्रवाह को भी दर्शा सकते हैं। दूसरे शब्दों में, अंतरक्रिया आरेख संदेशों के क्रमिक क्रम और वस्तुओं की संरचनात्मक व्यवस्था का वर्णन करके प्रणाली के गतिशील व्यवहार को दर्शाते हैं जो संदेश भेजते और प्राप्त करते हैं।

(Visual Paradigm के साथ बनाया गया हैअंतरक्रिया अवलोकन आरेख टूल)
एक अंतरक्रिया अवलोकन आरेख गतिविधि आरेख के समान होता है, लेकिन प्रत्येक व्यक्तिगत गतिविधि को एक फ्रेम के रूप में दर्शाया जाता है, जिसमें एक नेस्टेड अंतरक्रिया आरेख शामिल हो सकता है। UML अंतरक्रिया अवलोकन आरेख अंतरक्रिया मॉडल के उच्च स्तर के अब्स्ट्रैक्शन को प्रदान करते हैं। वे आरेखों के बीच गतिविधि के प्रवाह को भी दर्शा सकते हैं। दूसरे शब्दों में, अंतरक्रिया आरेख संदेशों के समय क्रम और वस्तुओं की संरचनात्मक व्यवस्था का वर्णन करके प्रणाली के गतिशील व्यवहार को दर्शाते हैं जो संदेश भेजते और प्राप्त करते हैं।
एक अंतरक्रिया अवलोकन आरेख में अंतरक्रिया आरेखों का प्रतिनिधित्व करने वाले नोड्स शामिल होते हैं। उदाहरण के लिए, एकअंतरक्रिया घटना (या संदर्भ क्रमानुसार आरेख) आपको क्रमानुसार आरेख के भीतर एक अन्य क्रमानुसार आरेख के संदर्भ में करने की अनुमति देता है। इस कार्यक्षमता के द्वारा आप जटिल परिदृश्यों को छोटे परिदृश्यों में विभाजित कर सकते हैं जिन्हें पुनर्उपयोग किया जा सकता है। प्रत्येक परिदृश्य एक “अंतरक्रिया” है।
7. समय आरेख
एक समय आरेख अंतरक्रिया आरेख का एक हिस्सा है जो रेखीय समय रेखा के साथ जीवन रेखाओं के भीतर और बीच की स्थिति में परिवर्तन को दर्शाता है। यह दिखाता है कि वस्तुएँ एक निश्चित समय तक कैसे अंतरक्रिया करती हैं, प्रक्रिया के प्रत्येक चरण में कितना समय लगता है, और सुधार के लिए उपयोग किया जा सकता है।

(Visual Paradigm (डेस्कटॉप) के साथ बनाया गया हैसमय आरेख संपादक)
- एक समय आरेख रेखीय समय अक्ष के साथ अंतरक्रियाओं को दर्शाता है, और संदेश, जीवन रेखा, समय रेखा और वस्तु या भूमिका जैसे तत्वों को शामिल करता है।
- एक जीवन रेखा अंतरक्रिया में एक व्यक्तिगत भागीदार का प्रतिनिधित्व करती है। इसे आरेख फ्रेम या स्विमलेन के भीतर रखा जा सकता है।
- अवधि सीमा का उपयोग यह निर्धारित करने के लिए किया जाता है कि क्या एक सीमा एक निश्चित अवधि के लिए संतुष्ट होती है या नहीं।
- एक समय सीमा एक अंतराल सीमा है जो समय अंतराल का प्रतिनिधित्व करती है। एक उल्लंघित समय सीमा का अर्थ है कि प्रणाली विफल हो गई है।
UML संसाधन
यह पोस्ट Deutsche, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 और 繁體中文 में भी उपलब्ध है।














