2009-01-05 9 views
115

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

- name : string 

लेकिन यह एक enum के साथ ऐसा कैसे करता है?

उत्तर

144

वे बस इस तरह से पता चला रहे हैं के साथ enum ही मॉडल एक वर्ग के रूप:

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

और फिर सिर्फ इतना है कि और अपने वर्ग के बीच एक संबंध है।

+13

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

+0

क्या आप बता सकते हैं कि मुझे <> ArgoUML के लिए स्टीरियोटाइप कहां मिल सकता है? – Tim

+0

@Tim ArgoUML की गणना के लिए प्रथम श्रेणी का समर्थन है, इसलिए स्टीरियोटाइप –

1

आमतौर पर आप enum स्टीरियोटाइप

56

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

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

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

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

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

यहाँ ArgoUML में एक अलग उदाहरण की एक तस्वीर है: enter image description here

+6

का उपयोग करने की आवश्यकता नहीं है ArgoUML स्क्रीनशॉट के लिए धन्यवाद। –