सॉफ्टवेयर मॉडलिंग और यूएमएल
सॉफ्टवेयर मॉडलिंग एक प्रणाली को अमूर्तताओं के माध्यम से दर्शाती है जो उसकी संरचना और व्यवहार को दर्शाती हैं, और यूनिफाइड मॉडलिंग लैंग्वेज (यूएमएल) ऐसे मॉडलों को व्यक्त करने के लिए मानक ग्राफिकल नोटेशन है।
Definition
सॉफ्टवेयर मॉडलिंग एक सॉफ्टवेयर प्रणाली के अमूर्त प्रतिनिधित्व का निर्माण है ताकि उसका विश्लेषण, डिज़ाइन और संचार किया जा सके, और यूएमएल एक मानकीकृत सामान्य-उद्देश्य वाली मॉडलिंग भाषा है जो इन प्रतिनिधित्वों के लिए आरेख प्रकारों का एक एकीकृत सेट प्रदान करती है।
Scope
यह विषय संरचनात्मक मॉडल जैसे क्लास, कंपोनेंट और डिप्लॉयमेंट डायग्राम; व्यवहार संबंधी मॉडल जैसे यूज़-केस, सीक्वेंस, एक्टिविटी और स्टेट-मशीन डायग्राम; विश्लेषण, डिज़ाइन और संचार में मॉडलों की भूमिका; मॉडल-ड्रिवेन इंजीनियरिंग और कोड जनरेशन; और किसी दिए गए प्रोजेक्ट के लिए मॉडलिंग कठोरता का उचित स्तर शामिल करता है।
Core questions
- एक प्रणाली के किन पहलुओं को संरचनात्मक बनाम व्यवहार संबंधी मॉडलों द्वारा दर्शाया जाता है?
- मुख्य यूएमएल आरेख प्रकार एक डिज़ाइन का प्रतिनिधित्व कैसे करते हैं?
- किसी दिए गए प्रोजेक्ट के लिए मॉडलिंग कठोरता का कितना स्तर उचित है?
- मॉडलों से स्वचालित कोड जनरेशन कब सार्थक होता है?
Key theories
- एक प्रणाली के कई दृश्य
- एक प्रणाली को पूरक दृष्टिकोणों से मॉडल किया जाता है — स्थिर संरचना, इंटरैक्शन, स्थिति व्यवहार और परिनियोजन — प्रत्येक को उपयुक्त आरेख प्रकारों द्वारा दर्शाया जाता है, क्योंकि कोई भी एकल दृश्य सभी प्रासंगिक डिज़ाइन जानकारी को व्यक्त नहीं करता है।
- मॉडल-ड्रिवेन इंजीनियरिंग
- मॉडल प्राथमिक विकास कलाकृतियों के रूप में कार्य कर सकते हैं जिनसे कार्यान्वयन आंशिक या पूर्ण रूप से परिवर्तनों के माध्यम से उत्पन्न होते हैं, जिससे अमूर्तता का स्तर बढ़ता है और डिज़ाइन को सीधे कोड से जोड़ा जाता है।
Clinical relevance
मॉडल डिज़ाइन के इरादे को स्पष्ट करते हैं, कोड मौजूद होने से पहले विश्लेषण का समर्थन करते हैं, और एक टीम में एक साझा भाषा प्रदान करते हैं; उनका मूल्य मॉडलिंग की सही मात्रा का उपयोग करने पर निर्भर करता है, क्योंकि अत्यधिक या बासी मॉडल बिना लाभ के लागत लगाते हैं।
Evidence & guidelines
ओएमजी यूएमएल स्पेसिफिकेशन मानक नोटेशन और सिमेंटिक्स को परिभाषित करता है, और संबंधित ओएमजी मानक जैसे SysML और MOF मॉडलिंग को सिस्टम इंजीनियरिंग और मेटामॉडलिंग तक विस्तारित करते हैं।
History
यूएमएल 1990 के दशक के मध्य में बूच, ओएमटी और ऑब्जेक्टरी विधियों के एकीकरण से उभरा, 1997 में एक ओएमजी मानक के रूप में अपनाया गया, और यूएमएल 2 के माध्यम से विकसित हुआ; मॉडल-ड्रिवेन दृष्टिकोण और हल्के स्केचिंग इस बहस के साथ सह-अस्तित्व में हैं कि कितना औपचारिक मॉडलिंग फायदेमंद होता है।
Debates
- हेवीवेट मॉडल-ड्रिवेन डेवलपमेंट बनाम लाइटवेट स्केचिंग
- क्या मॉडल आधिकारिक कलाकृतियाँ होनी चाहिए जो कोड जनरेशन को संचालित करती हैं या संचार के लिए अनौपचारिक स्केच होनी चाहिए, यह विवादास्पद है; मॉडल-एज़-प्रोग्राम विजन संगति का वादा करता है, जबकि स्केच-उन्मुख उपयोग कम ओवरहेड और अनुकूलनशीलता को महत्व देता है।
Key figures
- Grady Booch
- James Rumbaugh
- Ivar Jacobson
- Martin Fowler
Related topics
Seminal works
- booch2005
- omg2017uml
- fowler2003
Frequently asked questions
- क्या यूएमएल अभी भी फुर्तीले विकास में प्रासंगिक है?
- हाँ, हालांकि अक्सर इसका उपयोग हल्के ढंग से किया जाता है। फुर्तीली टीमें यूएमएल आरेखों का उपयोग डिज़ाइन के बारे में संवाद करने और तर्क करने के लिए अनौपचारिक स्केच के रूप में करती हैं, न कि विस्तृत विशिष्टताओं के रूप में, हाथ में समस्या को स्पष्ट करने के लिए पर्याप्त मॉडलिंग लागू करती हैं।
- क्या मॉडलिंग के लिए यूएमएल की आवश्यकता होती है?
- नहीं। यूएमएल सबसे व्यापक रूप से मानकीकृत नोटेशन है, लेकिन मॉडलिंग अन्य नोटेशन या डोमेन-विशिष्ट भाषाओं का उपयोग कर सकती है; आवश्यक विचार संरचना और व्यवहार का अमूर्तन है, जिसके लिए यूएमएल एक अच्छी तरह से समर्थित विकल्प है।