एक शीर्ष-स्तरीय फ़ंक्शन के लिए UML वर्ग आरेख प्रतीक


13

UML वर्ग आरेख संकेतन में, मैं एक शीर्ष-स्तरीय फ़ंक्शन को कैसे निरूपित करता हूं जिसमें कोई एन्कैप्सुलेटिंग वर्ग या अन्य संरचना नहीं है?

उदाहरण के लिए मेरे पास URL से डेटा प्राप्त करने के लिए एक फ़ंक्शन है। चूंकि यह केवल अपने मापदंडों और एक साझा वैश्विक स्थिति का एक फ़ंक्शन (गणित की समझ में) है, फ़ंक्शन को एक कक्षा में नहीं रखा जाता है, बल्कि एक शीर्ष-स्तरीय विधि के रूप में छोड़ दिया जाता है।

अब हालांकि, मुझे इसका उपयोग करके एक कार्यक्रम के लिए एक यूएमएल आरेख बनाने की आवश्यकता है, और मुझे शीर्ष-स्तरीय फ़ंक्शन को कैसे चिह्नित करना है, इसके बारे में कुछ भी नहीं मिल सकता है। मैं यह कैसे करु?


आप इसे staticएक विशेष वर्ग की विधि के रूप में मॉडल कर सकते हैं, जैसेglobal
xmojmr

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

जवाबों:


10

यूएमएल भाषा स्टैंड-अलोन कार्यों की धारणा का समर्थन नहीं करती है। यूएमएल के भीतर, सभी कार्यों को एक कक्षा का हिस्सा होना चाहिए।

एक काम के आसपास के रूप में, आप अपने स्टैंड-अलोन कार्यों को एक वर्ग के स्थिर सदस्यों के रूप में मॉडल कर सकते हैं जो वे निकट से संबंधित हैं। यदि ऐसी कोई कक्षा नहीं है, तो आप उन कार्यों को डमी कक्षा का हिस्सा बना सकते हैं, जैसे globalटिप्पणी में @xmojmr द्वारा उल्लिखित वर्ग।


7

एक स्टीरियोटाइप बनाएं जिसे आप "क्लास" क्लासिफायरियर से जोड़ सकते हैं, उदाहरण के लिए <<global function>>। तब आप प्रत्येक वैश्विक फ़ंक्शन के लिए एक एकल स्टिरियोटाइप्ड "क्लास" बना सकते हैं, जिसमें एक पूरी तरह से निर्दिष्ट स्थिर ऑपरेशन होता है।

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


मुझे यह देखने में कठिनाई हो रही है कि आपका उत्तर बार्ट से अलग कैसे है ...
एडम जुकरमैन

3
@ अदमज़ुकरमैन - बार्ट "वैश्विक" नामक एक एकल वर्ग बनाता है जो सभी वैश्विक कार्यों को एकत्र करता है, जिससे यह जानना मुश्किल हो जाता है कि वैश्विक संदर्भ और निर्भरताएँ किस संदर्भ में लागू होती हैं। मैं जिस स्टीरियोटाइप का प्रस्ताव करता हूं, वह वर्ग को एक फ़ंक्शन के रूप में व्याख्या करने के लिए आरेख पढ़ने वाले व्यक्ति को बताता है। एक वर्ग आयत (स्टीरियोटाइप के साथ) एक एकल फ़ंक्शन का प्रतिनिधित्व करता है, जबकि यह निर्भरताएं उस एकल फ़ंक्शन की निर्भरता का प्रतिनिधित्व करती हैं।
डग नाइसेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.