यूएमएल आरेख: विशेषताएं, आरेख और प्रकार

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

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

  • 📐 मूल परिभाषा: यूनिफाइड मॉडलिंग लैंग्वेज एक आईएसओ-मान्यता प्राप्त मानक है जो सॉफ्टवेयर सिस्टम के ऑब्जेक्ट-ओरिएंटेड डिजाइन, संरचनाओं और व्यवहारों को दर्शाने के लिए चित्रात्मक आरेखों का उपयोग करता है।
  • दो श्रेणियाँ: यूएमएल आरेख संरचनात्मक आरेखों (घटकों का स्थिर दृश्य) और व्यवहारिक आरेखों (अंतःक्रियाओं और कार्यप्रवाहों का गतिशील दृश्य) में विभाजित होते हैं।
  • संरचनात्मक आरेख: क्लास, ऑब्जेक्ट, पैकेज, कंपोनेंट और डिप्लॉयमेंट डायग्राम सिस्टम के तत्वों के बीच स्थिर आर्किटेक्चर और संबंधों को दर्शाते हैं।
  • व्यवहारिक आरेख: एक्टिविटी, यूज़ केस और स्टेट मशीन डायग्राम समय के साथ सिस्टम फ्लो, उपयोगकर्ता इंटरैक्शन और स्टेट ट्रांजिशन को कैप्चर करते हैं।
  • उपकरण और एआई: ऐसे उपकरण जैसे StarUML, विज़ियो, और Lucidchart यूएमएल आरेखों को दृश्य रूप से तैयार करें; एआई-संचालित उपकरण अब सादे पाठ विवरणों या स्रोत कोड से सटीक आरेख स्वचालित रूप से तैयार कर सकते हैं।
  • 📅 संस्करण इतिहास: यूएमएल का विकास संस्करण 1.1 (1997) से लेकर 2.5.1 (2017) तक हुआ है, जिसमें प्रत्येक रिलीज में आरेख प्रकारों को जोड़ा गया है, अर्थ विज्ञान में सुधार किया गया है और विनिर्देश को सरल बनाया गया है।

यूएमएल आरेख

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

UML का उपयोग क्यों करें? संपूर्ण इतिहास

1990 का दशक ऑब्जेक्ट-ओरिएंटेड भाषाओं के विकास का युग था जैसे C++इन ऑब्जेक्ट-ओरिएंटेड भाषाओं का उपयोग जटिल लेकिन आकर्षक प्रणालियों को बनाने के लिए किया गया था।

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

जैसे ही यूएमएल को पेश किया गया, सिस्टम के विश्लेषण जैसे कठिन कार्यों को सरल बनाने के लिए कई खेल-परिवर्तनकारी प्रयोग और दृष्टिकोण अपनाए गए।

यूएमएल एक ऑब्जेक्ट-ओरिएंटेड यूनिफाइड मॉडलिंग लैंग्वेज है। इसका आविष्कार 1994 और 1995 के दौरान रेशनल सॉफ्टवेयर के शानदार सॉफ्टवेयर इंजीनियर ग्रैडी बूच, इवर जैकबसन और जेम्स रंबॉघ ने किया था। यह 1996 तक विकास के अधीन था।

यूएमएल के प्रत्येक आविष्कारक, अर्थात् ग्रेडी बूच, इवर जैकबसन और जेम्स रंबॉघ के पास एक ऐसी भाषा को डिजाइन करने का एक शानदार विचार था जो जटिलता को कम करेगी।

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

Later 1942 में, यूएमएल में व्यवहार मॉडल और स्टेट-चार्ट पेश किए गए जिनका आविष्कार डेविड हेरेल ने किया था।

UML को 1997 में ऑब्जेक्ट मैनेजमेंट ग्रुप (OMG) द्वारा एक मानक के रूप में मान्यता दी गई थी। ऑब्जेक्ट मैनेजमेंट ग्रुप, UML को मानक के रूप में अपनाए जाने के बाद से ही इसके प्रबंधन के लिए जिम्मेदार है।

2005 में, अंतर्राष्ट्रीय मानकीकरण संगठन ने UML को ISO मानक के रूप में मंजूरी दी। इसका उपयोग विभिन्न उद्योगों में ऑब्जेक्ट-ओरिएंटेड मॉडल बनाने के लिए किया जाता है।

नवीनतम यूएमएल संस्करण 2.5.1 है जो दिसंबर 2017 में जारी किया गया था।

यूएमएल संस्करण

तारीख संस्करण हमारे बारे में
नवम्बर 1997 1.1 UML को ऑब्जेक्ट मैनेजमेंट ग्रुप द्वारा अपनाया गया। यह UML का पहला संस्करण था।
मार्च 2000 1.3 मौजूदा मॉडल में मामूली उन्नयन किया गया, जिसमें अर्थविज्ञान में उल्लेखनीय परिवर्तन किए गए। रेटिंग्स, और यूएमएल के मेटा-मॉडल।
सितम्बर 2001 1.4 यह UML के प्रमुख अपडेट का दौर था। इसने विभिन्न एक्सटेंशन प्रदान करके UML को बढ़ाया। आरेखों में दृश्यता, आर्टिफैक्ट, स्टीरियोटाइप पेश किए गए।
मार्च 2003 1.5 प्रक्रियाएं, डेटा प्रवाह तंत्र जैसी विशेषताएं यूएमएल में जोड़ी गईं।
जनवरी 2005 1.4.2 यूएमएल को आईएसओ द्वारा मानक के रूप में स्वीकार किया गया।
अगस्त 2005 2.0 UML में ऑब्जेक्ट, पैकेज, टाइमिंग, इंटरैक्शन जैसे नए आरेख जोड़े गए। गतिविधि और अनुक्रम आरेखों में नई विशेषताएं जोड़ी गईं। सहयोग आरेख का नाम बदलकर संचार आरेख कर दिया गया। मौजूदा आरेखों में कई विशेषताएं और बदलाव पेश किए गए।
अप्रैल 2006 2.1 यूएमएल 2.0 में सुधार किये गये।
फ़रवरी 2007 2.1.1 Upgradeइन्हें UML 2.1 में प्रस्तुत किया गया था।
नवम्बर 2007 2.1.2 यूएमएल 2.1.1 को पुनः परिभाषित किया गया।
फ़रवरी 2009 2.2 यूएमएल 2.1.2 की बगें ठीक कर दी गईं।
मई 2010 2.3 यूएमएल 2.2 को संशोधित किया गया, तथा घटक आरेखों में मामूली परिवर्तन किए गए।
अगस्त 2011 2.4.1 कक्षाओं, पैकेजों और स्टीरियोटाइप में परिवर्तन किए गए। यूएमएल 2.3 को संवर्द्धन सुविधाओं के साथ संशोधित किया गया।
जून 2015 2.5 UML 2.4.1 में कुछ मामूली बदलाव किए गए। UML को पहले से सरल बनाया गया। इसमें तेज़ कार्यप्रणाली और अधिक प्रभावी मॉडल बनाने की सुविधा जोड़ी गई। अप्रचलित सुविधाओं को हटा दिया गया। सहायक संरचनाओं के रूप में मॉडल और टेम्पलेट्स को हटा दिया गया।

यूएमएल की विशेषताएँ

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

संकल्पनात्मक निदर्श

यूएमएल अवधारणा को शुरू करने से पहले, संकल्पनात्मक मॉडल की मूल बातें समझनी चाहिए।

एक संकल्पनात्मक मॉडल विभिन्न अवधारणाओं से बना होता है जो आपस में जुड़े होते हैं। यह हमें समझने में मदद करता है

  • वे वस्तुएं क्या हैं?
  • किसी प्रक्रिया को निष्पादित करने के लिए अंतःक्रिया कैसे होती है?

यूएमएल में एक वैचारिक मॉडल की आवश्यकता होती है। सिस्टम को वास्तव में मॉडल करने से पहले आपको इकाइयों और उनके बीच संबंधों को समझना होगा।

यूएमएल के साथ शुरुआत करने के लिए निम्नलिखित ऑब्जेक्ट-ओरिएंटेड अवधारणाओं की आवश्यकता होती है:

  • वस्तुयह एक वास्तविक दुनिया की इकाई है। एक ही सिस्टम के भीतर कई ऑब्जेक्ट उपलब्ध होते हैं। यह यूएमएल का एक मूलभूत आधार है।
  • वर्गक्लास एक ऐसा कंटेनर मात्र है जहाँ ऑब्जेक्ट और उनके संबंध बनाए रखे जाते हैं।
  • Abstracउत्पादन: यह कार्यान्वयन विवरण दिखाए बिना किसी इकाई का प्रतिनिधित्व करने का एक तंत्र है। इसका उपयोग किसी ऑब्जेक्ट के व्यवहार को देखने के लिए किया जाता है।
  • विरासतयह एक मौजूदा वर्ग को विस्तारित करके नया वर्ग बनाने की एक प्रणाली है।
  • बहुरूपतायह एक वस्तु को अनेक रूपों में प्रस्तुत करने की एक प्रणाली है जिसका उपयोग विभिन्न उद्देश्यों के लिए किया जाता है।
  • कैप्सूलीकरण: यह ऑब्जेक्ट और डेटा को एक इकाई के रूप में एक साथ बांधने की एक विधि है। यह ऑब्जेक्ट और डेटा के बीच मजबूत युग्मन सुनिश्चित करता है।

उपरोक्त को भी कहा जाता है बुनियादी बिल्डिंग ब्लॉक एक यूएमएल का.

यूएमएल आरेख क्या है?

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

यूएमएल आरेखों को तीन अलग-अलग श्रेणियों में विभाजित किया गया है, जैसे,

  • संरचनात्मक आरेख
  • व्यवहार आरेख
  • अंतःक्रिया आरेख

यूएमएल में संरचनात्मक आरेख

संरचनात्मक आरेखों का उपयोग किसी सिस्टम के स्थिर दृश्य को दर्शाने के लिए किया जाता है। यह सिस्टम के उस हिस्से को दर्शाता है जो सिस्टम की संरचना बनाता है। एक संरचनात्मक आरेख सिस्टम के भीतर विभिन्न वस्तुओं को दर्शाता है।

यूएमएल में विभिन्न संरचनात्मक आरेख निम्नलिखित हैं:

  • वर्ग आरेख
  • वस्तु आरेख
  • पैकेज आरेख
  • घटक आरेख
  • परिनियोजन आरेख

यूएमएल में व्यवहार आरेख

किसी भी वास्तविक दुनिया प्रणाली को स्थिर रूप या गतिशील रूप में दर्शाया जा सकता है। एक प्रणाली को पूर्ण कहा जाता है यदि इसे स्थिर और गतिशील दोनों तरीकों से व्यक्त किया जाता है। व्यवहार आरेख एक प्रणाली के कामकाज का प्रतिनिधित्व करता है।

यूएमएल आरेख जो किसी सिस्टम के स्थिर भाग से संबंधित होते हैं उन्हें संरचनात्मक आरेख कहा जाता है। यूएमएल आरेख जो सिस्टम के गतिशील या गतिशील भागों से संबंधित होते हैं उन्हें व्यवहारिक आरेख कहा जाता है।

यूएमएल में विभिन्न व्यवहार आरेख निम्नलिखित हैं:

  • गतिविधि आरेख
  • उपयोग केस आरेख
  • राज्य मशीन आरेख

यूएमएल में इंटरेक्शन आरेख

इंटरेक्शन डायग्राम कुछ और नहीं बल्कि व्यवहारिक डायग्राम का एक उपसमूह है। इसका उपयोग किसी सिस्टम के विभिन्न उपयोग केस तत्वों के बीच प्रवाह को दर्शाने के लिए किया जाता है। इंटरेक्शन डायग्राम का उपयोग दो संस्थाओं के बीच इंटरेक्शन दिखाने और उनके भीतर डेटा के प्रवाह को दिखाने के लिए किया जाता है।

यूएमएल में विभिन्न अंतःक्रिया आरेख निम्नलिखित हैं:

  • समय आरेख
  • अनुक्रम आरेख
  • सहयोग आरेख

उपरोक्त आरेखों का विस्तृत विवरण आगे के ट्यूटोरियल में समझाया गया है।

संरचनात्मक बनाम व्यवहारिक यूएमएल आरेख

नीचे दी गई तालिका दो यूएमएल आरेख श्रेणियों की तुलना करती है ताकि टीमों को सही प्रकार का चयन करने में मदद मिल सके।

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

यूएमएल उपकरण

यूएमएल आरेख बनाने के लिए बाज़ार में कई उपकरण उपलब्ध हैं। कुछ डेस्कटॉप आधारित हैं जबकि अन्य का उपयोग ऑनलाइन किया जा सकता है। निम्नलिखित उन उपकरणों की एक सूची है जिनका उपयोग यूएमएल मॉडल बनाने के लिए किया जा सकता है:

हम उपयोग करने जा रहे हैं StarUML यूएमएल आरेख तैयार करने के लिए अनुप्रयोग।

स्थापना चरण: लिंक खोलें: http://staruml.io/download

अपने पीसी की विशेषताओं के अनुसार। एप्लिकेशन का कोई भी संस्करण डाउनलोड करें। यहाँ हम विंडोज़ विकल्प चुनने जा रहे हैं।

StarUML स्थापना

एप्लिकेशन डाउनलोड हो जाने के बाद, इसे सभी डिफ़ॉल्ट विकल्पों के साथ इंस्टॉल करें। इंस्टॉलेशन के बाद, इसे लॉन्च करें। StarUML अपने पीसी में एप्लिकेशन इंस्टॉल करें।

आपको निम्न विंडो दिखाई देगी,

StarUML स्थापना

अब आप UML आरेख बनाना शुरू कर सकते हैं।

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

📊 यूएमएल 2.x दो मुख्य समूहों में विभाजित 14 आधिकारिक आरेख प्रकारों को परिभाषित करता है: 7 संरचनात्मक आरेख (क्लास, ऑब्जेक्ट, कंपोनेंट, डिप्लॉयमेंट, पैकेज, कंपोजिट स्ट्रक्चर, प्रोफाइल) और 7 व्यवहारिक आरेख (यूज़ केस, एक्टिविटी, स्टेट मशीन, सीक्वेंस, कम्युनिकेशन, टाइमिंग, इंटरेक्शन ओवरव्यू)।

🗄️ यूएमएल आरेख ऑब्जेक्ट-ओरिएंटेड सॉफ़्टवेयर सिस्टम को मॉडल करते हैं और संरचना एवं व्यवहार दोनों को कवर करते हैं। एंटिटी-रिलेशनशिप (ईआर) आरेख विशेष रूप से डेटाबेस स्कीमा और डेटा एंटिटीज़ के बीच संबंधों पर केंद्रित होते हैं। यूएमएल क्लास आरेख डेटाबेस टेबल को दर्शा सकते हैं, लेकिन इनमें अतिरिक्त ऑब्जेक्ट-ओरिएंटेड सिमेंटिक्स होते हैं जो ईआर आरेखों में नहीं होते।

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

🤖 जी हाँ। चैटजीपीटी और गिटहब कोपायलट जैसे एआई मॉडल परिणाम उत्पन्न कर सकते हैं। PlantUML या सादे पाठ विवरण या स्रोत कोड से मरमेड सिंटैक्स। जैसे उपकरण Lucidchart और अब विज़ियो में एआई सहायक शामिल हैं जो प्राकृतिक भाषा के संकेतों से कुछ ही सेकंड में क्लास, सीक्वेंस और यूज़-केस डायग्राम तैयार कर देते हैं।

🛠️ प्रमुख एआई-संचालित यूएमएल टूल में शामिल हैं: Lucidchart's AI डायग्राम जनरेटर, Microsoft Visio चैटजीपीटी प्लगइन के साथ कोपायलट, इरेज़र.आईओ और ड्रॉ.आईओ। PlantUML किसी भी बड़े भाषा मॉडल के साथ संयुक्त होने पर डेवलपर्स आरेखों को कोड के रूप में लिख सकते हैं, जबकि GitLab और GitHub Copilot मौजूदा रिपॉजिटरी से क्लास आरेखों को रिवर्स-इंजीनियर कर सकते हैं।

⭐ क्लास डायग्राम और सीक्वेंस डायग्राम सबसे व्यापक रूप से उपयोग किए जाते हैं। क्लास डायग्राम स्थिर संरचना और कोड आर्किटेक्चर को मॉडल करते हैं, जबकि सीक्वेंस डायग्राम यह दर्शाते हैं कि ऑब्जेक्ट समय के साथ कैसे परस्पर क्रिया करते हैं, जिससे ये दोनों एजाइल और एंटरप्राइज टीमों में डिजाइन डॉक्यूमेंटेशन के लिए लोकप्रिय हो जाते हैं।

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

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

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