2009-07-13 5 views
6

मेरे पास काफी बुनियादी सी # घटना आधारित प्रणाली है लेकिन मुझे यकीन नहीं है कि मैं इसे यूएमएल में कैसे मॉडल करता हूं। मैं obviosuly घटना प्रकाशक, ग्राहक, हैंडलर और EventArgs कक्षाओं को दिखाना चाहता हूं .. मुझे लगता है कि आप 'सिग्नल' का उपयोग करते हैं लेकिन मुझे कोई उदाहरण नहीं मिल रहा है। क्या कोई मुझे किसी उदाहरण के लिए इंगित कर सकता है या कोई प्रकाश डाल सकता है?स्थिर यूएमएल मॉडल में किसी ईवेंट आधारित आर्किटेक्चर का प्रतिनिधित्व कैसे करें?

धन्यवाद

संपादित करें: मैं एक स्थिर मॉडल बनाने हूँ, मैं प्रक्रिया के माध्यम से राज्य या पथ का प्रतिनिधित्व करने की जरूरत नहीं है। क्षमा करें अगर मैंने प्रारंभिक प्रश्न में यह स्पष्ट नहीं किया ..

उत्तर

0

एक राज्य आरेख या गतिविधि आरेख का उपयोग करें।

0

गतिविधि आरेख के लिए here देखें और गतिविधि चित्र के लिए here, फिर चुनें कि आपकी आवश्यकताओं के अनुरूप क्या है!

2

lexu और जॉन ने संकेत के रूप में, आप statecharts और गतिविधि आरेख का उपयोग आपके सिस्टम के गतिशील पहलुओं में से कुछ मॉडल करने के लिए कर सकते हैं।

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

0

मैं शायद सिर्फ एक तार्किक घटक मॉडल का उपयोग करेंगे स्रोतों/उपभोक्ताओं और टकसाली संचालन प्रतिनिधित्व करने के लिए बातचीत का विवरण देने में ..

हालांकि बाएं क्षेत्र विचार के रूप में - एक और possbility मेरे लिए ocurrs ....

मुझे आश्चर्य है कि क्या आप बीपीएमएन के कुछ पहलुओं का उपयोग कर सकते हैं। - कई यूमल उपकरण जैसे स्पार्क्स ईए में

इसके मैसेज सिंटैक्स को आपको स्रोत ईवेंट का वर्णन करने की अनुमति देनी चाहिए, और आप पूल या गतिविधियों का उपयोग करके उपभोक्ताओं/हैंडलरों का वर्णन करने में सक्षम हो सकते हैं- बिना किसी चिंता के अपने आप को चिंता करने के लिए आंतरिक व्यवहार इसी तरह, आप संदेश भेजने interactionns का उपयोग कर सकते पेलोड/EventArgs

sepcify को (मैं ब्रूस siver के "level1" BPMN के लिए इसी तरह अमूर्त के स्तर के बारे में सोच रहा हूँ) यदि आप;। स्पार्क्स के लिए इसी तरह somthing उपयोग कर रहे हैं, आप शायद बीपीएम तत्वों से सी # कोड के "वास्तविक" वर्ग मॉडल में ट्रेस निर्भरता जोड़ सकते हैं।

4

"प्रकाशक-सब्सक्राइबर" जोड़ी पैटर्न ("पर्यवेक्षक" a.k.a), प्रत्येक प्रोग्रामिंग (भाषा) ढांचे में विभिन्न लागू किया जा सकता है, इसलिए, विभिन्न डिजाइन, U.M.L. में

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

अन्य उत्तर पहले से ही उल्लेख किया है, आप स्थिर मॉडल का वर्णन करने के लिए एक (वर्ग) आरेख की आवश्यकता हो सकती। (नोट एक "एकत्रीकरण" है कि वहाँ, नहीं "संरचना", "संघ" इस्तेमाल किया जा सकता):

.............................. 
+--------------------------+.. 
|  <<Publisher>>  |.. 
|  VectorDrawApp  |.. 
+--------------------------+.. 
| [+] create()    |.. 
+--------------------------+.. 
| [+] send(EventArgs e) |.. 
+------------+-------------+.. 
............/ \............... 
............\ /............... 
.............|................ 
.............|................ 
+------------+-------------+.. 
|  <<Subscriber>>  |.. 
|   Figure   |.. 
+--------------------------+.. 
| [+] create()    |.. 
+--------------------------+.. 
| [+] receive(EventArgs e) |.. 
+--------------------------+.. 
.............................. 
+--------------------------+.. 
|  <<Event>>   |.. 
|  EventArgs   |.. 
+--------------------------+.. 
| [+] Sender: TObject  |.. 
+--------------------------+.. 
| [+] receive(EventArgs e) |.. 
+------------+-------------+.. 
.............|................ 
.............+................ 
............/ \............... 
...........+---+.............. 
.............|................ 
+------------+-------------+.. 
|  <<Event>>   |.. 
| FillEventArgs: EventArgs|.. 
+--------------------------+.. 
| [+] ForeColor   |.. 
| [+] BackColor   |.. 
| [+] FillStyle   |.. 
+--------------------------+.. 
.............................. 

और यह भी, आप गतिशील मॉडल का वर्णन करने के लिए एक चित्र की आवश्यकता हो सकती:

......................................... 
+----------------+..+----------------+... 
| <<Publisher>> |..| <<Subscriber>> |... 
| VectorDrawApp |..|  Figure |... 
+--------+-------+..+--------+-------+... 
.........|...................|........... 
.......+-+-+...............+-+-+......... 
.......| |...send(fill)..| |..Fill(). 
.......| +==============>+ +---+..... 
.......| |...............| |...|..... 
.......| |...<<return>>..| |...|..... 
.......| |<--------------+ +<--+..... 
.......| |...............| |......... 
.......+-+-+...............+-+-+......... 
.........|...................|........... 
.........X...................X........... 
......................................... 
यूएमएल में

स्टीरियोटाइप, क्या आपके "पीने ​​वाले दोस्त", हैं और आपको अभिनेता, ऑब्जेक्ट, कक्षा, विशेषता, या इंटरफ़ेस क्या वर्णन या प्रतिबंधित करने की अनुमति देता है।

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

चीयर्स।

+0

उन आकर्षक ASCII आरेखों से प्यार करें! +1 –

0

एक इकाई जीवन इतिहास कोण से समस्या के निकट (घटना मॉडलिंग, रेफरी, उदाहरण के लिए, Jackson System [of] Development।):

UML and Data Modeling: A Reconciliation By David C. Hay रेफरी। p.34

Software Evolution with UML and XML edited by Hongji Yang 'इकाई जीवन इतिहास - मुद्दों और समस्याओं', p142 - मैं btw असहमत हैं, एक दृश्य diag। प्रश्न में इकाई के लिए प्रतिबंधित होने पर, अपेक्षाकृत आसानी से नियोजित किया जा सकता है, जबकि एक राज्य डायग। Software Systems Architecture, Nick Rozanski, Eoin Woods, 'सूचना जीवनचक्र मॉडल', पी 317 में सफलतापूर्वक चित्रित किया गया है। पृष्ठ 317.

+0

मुझे लगता है कि तकनीक एक यूएमएल उपयोग के मामले को स्केच करना होगा, और एक राज्य आरेख के साथ ईवेंट आर्किटेक्चर का मॉडल करना होगा, जैसा कि पूर्व में एम्बेड किया गया है 'वर्णन केस व्यवहार व्यवहार' http: //www.uml-diagrams .org/use-case-diagrams-how-to.html - एक ही वेबसाइट यह भी बताती है कि यूएमएल अन्य मॉडलिंग तकनीकों के उपयोग को रोकता नहीं है, ईएलएच वास्तव में टेक्स्ट मोड में स्केच करने में काफी आसान है, इसके नामकरण की आवश्यकता नहीं है एक राज्य (सुविधाजनक रूप से प्रारंभिक नहीं होने पर सुविधाजनक), और जब भी एक राज्य आरेख में परिवर्तित हो जाता है तो ईएलएच संरचना (इंक। अमूर्त स्तर) भी पार किया जा सकता है। – user5321531

+0

शर्तों को निर्दिष्ट करने के लिए विस्तारित उपयोग केस की व्याख्या का उपयोग करना एक और दृष्टिकोण होगा? रेफरी। 'यूएमएल यूज केस एक्सपेन्ड' http://www.uml-diagrams.org/use-case-extend.html#extension-point, यह पोस्ट भी देखें https://stackoverflow.com/questions/23223704/precondition-in- एक-यूज-केस – user5321531

संबंधित मुद्दे