यूएमएल वर्ग आरेख एनम


145

मैं एक क्लास डायग्राम मॉडलिंग कर रहा हूं। एक वर्ग की एक विशेषता एक संलयन है। मैं इसका मॉडल कैसे बनाऊं? आम तौर पर आप ऐसा कुछ करते हैं:

- name : string

लेकिन एक एनम के साथ यह कैसे होता है?

जवाबों:


198

उन्हें बस इस तरह दिखाया गया है:

_______________________
|   <<enumeration>>   |
|    DaysOfTheWeek    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
|_____________________|

और फिर बस उस और आपकी कक्षा के बीच एक संबंध है।


16
गणना वास्तव में यूएमएल में कक्षाओं की तुलना में डेटाटाइप्स की तरह अधिक काम करती है, इसलिए आमतौर पर एसोसिएशनों को किसी भी प्रकार से अधिक नहीं दिखाया जाता है यदि आप एक प्रकार के इंटीजर होने की विशेषता घोषित करते हैं। यदि आपके मॉडलिंग टूल में गणना के लिए स्पष्ट समर्थन है, तो आपको उस का उपयोग करना चाहिए और यदि आवश्यक हो तो एक वापसी के रूप में कक्षा + << गणना> स्टीरियोटाइप संकेतन का उपयोग करें।
टॉम मॉरिस

क्या आप बता सकते हैं कि मैं कहाँ पा सकता हूँ << enumeration >> ArgoUML के लिए स्टीरियोटाइप?
टिमोफेई

@Tim ArgoUML में एन्युमरेशन्स के लिए प्रथम श्रेणी का समर्थन है, इसलिए स्टीरियोटाइप का उपयोग करने की कोई आवश्यकता नहीं है
टॉम मॉरिस

<<enumeration>>वास्तव में एक स्टीरियोटाइप नहीं है लेकिन एक कीवर्ड है। दुर्भाग्य से यूएमएल लेखकों ने कोई दृश्य भेदभाव नहीं किया।
qwerty_so

68

यदि आपके UML मॉडलिंग टूल के पास Enumeration को निर्दिष्ट करने के लिए समर्थन है, तो आपको इसका उपयोग करना चाहिए। यह करना आसान होगा और यह आपके मॉडल को मजबूत शब्दार्थ प्रदान करेगा। नेत्रहीन रूप से परिणाम एक <<enumeration>>स्टीरियोटाइप के साथ कक्षा के समान होगा , लेकिन यूएमएल मेटामोडेल में, एक एन्यूमरेशन वास्तव में एक अलग (मेटा) प्रकार है।

+---------------------+
|   <<enumeration>>   |
|    DayOfTheWeek     |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

एक बार जब यह परिभाषित हो जाता है, तो आप इसे एक अटैचमेंट के प्रकार के रूप में उपयोग कर सकते हैं जैसे आप एक डेटाटाइप या अपने स्वयं के वर्गों में से एक नाम।

+---------------------+
|        Event        |
|_____________________|
| day : DayOfTheWeek  |
| ...                 |
+---------------------+

यदि आप ArgoEclipse या ArgoUML का उपयोग कर रहे हैं, तो टूलबार पर एक पुलडाउन मेनू है जो डेटाटाइप, एन्यूमरेशन, सिग्नल, आदि के बीच चयन करता है जो आपको अपने स्वयं के एन्यूमरेशन बनाने की अनुमति देगा। डिब्बे में आम तौर पर विशेषताएँ होती हैं, फिर आपके गणन के मूल्यों के लिए EnumerationLiterals के साथ आबाद किया जा सकता है।

यहाँ ArgoUML में थोड़ा अलग उदाहरण की एक तस्वीर है: यहां छवि विवरण दर्ज करें


7
ArgoUML स्क्रीनशॉट के लिए धन्यवाद।
पेट्री टूनोनेन

1

आमतौर पर आप एनम को खुद को enumस्टीरियोटाइप के साथ एक वर्ग के रूप में मॉडल करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.