यूएमएल क्लास डायग्राम ट्यूटोरियल: उदाहरणों के साथ एब्सट्रैक्ट क्लास

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

A यूएमएल में कक्षा आरेख एक ब्लूप्रिंट है जिसका उपयोग किसी ऑब्जेक्ट या ऑब्जेक्ट के सेट को बनाने के लिए किया जाता है। क्लास परिभाषित करता है कि कोई ऑब्जेक्ट क्या कर सकता है। यह विभिन्न ऑब्जेक्ट बनाने और सिस्टम में उनके व्यवहार को लागू करने के लिए एक टेम्पलेट है। UML में एक क्लास को एक आयत द्वारा दर्शाया जाता है जिसमें क्लास के नाम, विशेषताएँ और ऑपरेशन वाली पंक्तियाँ शामिल होती हैं।

क्लास डायग्राम क्या है?

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

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

क्लास डायग्राम के लाभ

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

यूएमएल वर्ग आरेख के आवश्यक तत्व

यूएमएल वर्ग आरेख के आवश्यक तत्व हैं:

  1. कक्षा का नाम
  2. गुण
  3. Operaमाहौल

कक्षा का नाम

UML में क्लास का नाम

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

किसी वर्ग का प्रतिनिधित्व करते समय निम्नलिखित नियमों का ध्यान रखना चाहिए:

  1. क्लास का नाम हमेशा बड़े अक्षर से शुरू होना चाहिए।
  2. क्लास का नाम हमेशा प्रथम कम्पार्टमेंट के केन्द्र में होना चाहिए।
  3. क्लास का नाम हमेशा लिखा जाना चाहिए पिन प्रारूप.
  4. यूएमएल अमूर्त वर्ग का नाम इटैलिक प्रारूप में लिखा जाना चाहिए।

गुण

विशेषता किसी क्लास की नामित संपत्ति होती है जो मॉडल की जा रही वस्तु का वर्णन करती है। क्लास डायग्राम में, इस घटक को नाम-डिब्बा के ठीक नीचे रखा जाता है।

UML में विशेषताएँ

व्युत्पन्न विशेषता की गणना अन्य विशेषताओं से की जाती है। उदाहरण के लिए, छात्र की आयु की गणना उसकी जन्म तिथि से आसानी से की जा सकती है।

UML में विशेषताएँ

विशेषताएँ विशेषताएँ

  • विशेषताओं को सामान्यतः दृश्यता कारक के साथ लिखा जाता है।
  • सार्वजनिक, निजी, संरक्षित और पैकेज चार दृश्यताएं हैं जिन्हें क्रमशः +, -, #, या ~ चिह्नों द्वारा दर्शाया जाता है।
  • दृश्यता किसी वर्ग की विशेषता की पहुंच-योग्यता का वर्णन करती है।
  • विशेषताओं का एक सार्थक नाम होना चाहिए जो वर्ग में उसके उपयोग का वर्णन करता हो।

रिश्ते

मुख्यतः तीन प्रकार के होते हैं यूएमएल में संबंध:

  1. निर्भरता
  2. सामान्यीकरण
  3. संघों

निर्भरता

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

निम्नलिखित UML वर्ग आरेख उदाहरणों में, छात्र की निर्भरता कॉलेज पर है

यूएमएल में संबंध

सामान्यीकरण:

यूएमएल में संबंध

सामान्यीकरण उपवर्ग को उसके सुपरक्लास से जोड़ने में मदद करता है। उपवर्ग को उसके सुपरक्लास से विरासत में प्राप्त किया जाता है। सामान्यीकरण संबंध का उपयोग इंटरफ़ेस कार्यान्वयन को मॉडल करने के लिए नहीं किया जा सकता है। क्लास डायग्राम कई सुपरक्लास से विरासत में प्राप्त करने की अनुमति देता है।

इस उदाहरण में, Student वर्ग को Person वर्ग से सामान्यीकृत किया गया है।

एसोसिएशन:

इस प्रकार का संबंध वर्ग A और B के बीच स्थैतिक संबंधों का प्रतिनिधित्व करता है। उदाहरण के लिए; एक कर्मचारी किसी संगठन के लिए काम करता है।

एसोसिएशन के लिए कुछ नियम यहां दिए गए हैं:

  • एसोसिएशन ज्यादातर क्रिया या क्रिया वाक्यांश या संज्ञा या संज्ञा वाक्यांश होता है।
  • इसका नामकरण एसोसिएशन पथ के अंत में संलग्न वर्ग द्वारा निभाई गई भूमिका को इंगित करने के लिए किया जाना चाहिए।
  • प्रतिवर्ती संघों के लिए अनिवार्य

इस उदाहरण में छात्र और कॉलेज के बीच संबंध दिखाया गया है जो कि पढ़ाई है।

यूएमएल में संबंध

बहुलता

यूएमएल में संबंध

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

मान लीजिए कि एक कॉलेज में 100 छात्र हैं। कॉलेज में कई छात्र हो सकते हैं।

एकत्रीकरण

एकत्रीकरण एक विशेष प्रकार का संघटन है जो समुच्चय और उसके भागों के बीच सम्पूर्ण-भाग संबंध का मॉडल प्रस्तुत करता है।

यूएमएल में संबंध

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

रचना:

यूएमएल में संबंध

संरचना एक विशेष प्रकार का एकत्रीकरण है जो दो वर्गों के बीच मजबूत स्वामित्व को दर्शाता है जब एक वर्ग दूसरे वर्ग का हिस्सा होता है।

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

एकत्रीकरण बनाम रचना

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

सार वर्ग

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

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

यूएमएल में, अमूर्त वर्ग का वही संकेतन होता है जो वर्ग का होता है। एक वर्ग और एक अमूर्त वर्ग के बीच एकमात्र अंतर यह है कि वर्ग का नाम सख्ती से इटैलिक फ़ॉन्ट में लिखा जाता है।

एक अमूर्त वर्ग को आरंभीकृत या त्वरित नहीं किया जा सकता।

अमूर्त वर्ग संकेतन
अमूर्त वर्ग संकेतन

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

यूएमएल क्लास डायग्राम का उदाहरण

क्लास डायग्राम बनाना एक सीधी प्रक्रिया है। इसमें बहुत ज़्यादा तकनीकी बातें शामिल नहीं हैं। यहाँ एक उदाहरण दिया गया है:

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

नीचे एक यूएमएल क्लास आरेख उदाहरण दिया गया है:

यूएमएल क्लास आरेख उदाहरण

यूएमएल क्लास आरेख उदाहरण

यह भी जांचें: - यूएमएल आरेख: इतिहास, प्रकार, विशेषताएँ, संस्करण, उपकरण

सॉफ्टवेयर विकास जीवनचक्र में क्लास डायग्राम

क्लास डायग्राम का उपयोग विभिन्न सॉफ्टवेयर विकास चरणों में किया जा सकता है। यह तीन अलग-अलग दृष्टिकोणों से क्लास डायग्राम को मॉडलिंग करने में मदद करता है।

1. वैचारिक परिप्रेक्ष्य: संकल्पनात्मक आरेख वास्तविक दुनिया में चीजों का वर्णन कर रहे हैं। आपको एक आरेख बनाना चाहिए जो अध्ययन के तहत डोमेन में अवधारणाओं का प्रतिनिधित्व करता है। ये अवधारणाएँ वर्ग से संबंधित हैं और यह हमेशा भाषा-स्वतंत्र होती हैं।

2. विनिर्देशन परिप्रेक्ष्य: विनिर्देशन परिप्रेक्ष्य विनिर्देशों और इंटरफेस के साथ सॉफ्टवेयर अमूर्तता या घटकों का वर्णन करता है। हालांकि, यह विशिष्ट कार्यान्वयन के लिए कोई प्रतिबद्धता नहीं देता है।

3. कार्यान्वयन परिप्रेक्ष्य: इस प्रकार के क्लास डायग्राम का उपयोग किसी विशिष्ट भाषा या अनुप्रयोग में कार्यान्वयन के लिए किया जाता है। कार्यान्वयन परिप्रेक्ष्य, सॉफ्टवेयर कार्यान्वयन के लिए उपयोग करें।

क्लास डायग्राम डिजाइनिंग के सर्वोत्तम अभ्यास

क्लास डायग्राम सॉफ्टवेयर एप्लीकेशन डेवलपमेंट के लिए इस्तेमाल किए जाने वाले सबसे महत्वपूर्ण UML डायग्राम हैं। क्लास डायग्राम बनाते समय कई ऐसे गुण हैं जिन पर विचार किया जाना चाहिए। वे एक सॉफ्टवेयर एप्लीकेशन के विभिन्न पहलुओं का प्रतिनिधित्व करते हैं।

यहां कुछ बिंदु दिए गए हैं जिन्हें वर्ग आरेख बनाते समय ध्यान में रखा जाना चाहिए:

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

निष्कर्ष

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

यह भी जांचें: - शुरुआती लोगों के लिए UML आरेख ट्यूटोरियल: मुफ़्त में ऑनलाइन UML सीखें