यूएमएल उपकरण: Difference between revisions

From Vigyanwiki
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 9: Line 9:
इस संदर्भ में आरेखण का अर्थ है यूएमएल आरेख बनाना और संपादित करना; यह ऐसे आरेख हैं जो एकीकृत प्रतिरूपण भाषा के ग्राफिकल संकेत चिन्हों का अनुसरण करते हैं।
इस संदर्भ में आरेखण का अर्थ है यूएमएल आरेख बनाना और संपादित करना; यह ऐसे आरेख हैं जो एकीकृत प्रतिरूपण भाषा के ग्राफिकल संकेत चिन्हों का अनुसरण करते हैं।


सॉफ़्टवेयर डेवलपर्स द्वारा अधिकतर [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तु उन्मुख]] सॉफ़्टवेयर के [[आरेख]] बनाने के साधन के रूप में यूएमएल आरेखों के उपयोग पर सहमति व्यक्त की जाती है। जब डेवलपर्स [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तु उन्मुख]] सॉफ़्टवेयर के आरेख बनाते हैं, तो वे सामान्यतौर पर यूएमएल संकेत चिन्हों का पालन करते हैं। दूसरी ओर, अक्सर इस बात पर बहस होती है कि क्या उन आरेखों की आवश्यकता है, सॉफ़्टवेयर विकास प्रक्रिया के किस चरण के दौरान उनका उपयोग किया जाना चाहिए, और कैसे उन्हें नवीनतम रखा जाना चाहिए। सॉफ़्टवेयर कोड की प्रमुखता के कारण अक्सर आरेख अप्रचलित हो जाते हैं।
सॉफ़्टवेयर विकासक द्वारा अधिकतर [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तु उन्मुख]] सॉफ़्टवेयर के [[आरेख]] बनाने के साधन के रूप में यूएमएल आरेखों के उपयोग पर सहमति व्यक्त की जाती है। जब विकासक [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तु उन्मुख]] सॉफ़्टवेयर के आरेख बनाते हैं, तो वे सामान्यतौर पर यूएमएल संकेत चिन्हों का पालन करते हैं। दूसरी ओर, अक्सर इस बात पर बहस होती है कि क्या उन आरेखों की आवश्यकता है, सॉफ़्टवेयर विकास प्रक्रिया के किस चरण के दौरान उनका उपयोग किया जाना चाहिए, और कैसे उन्हें नवीनतम रखा जाना चाहिए। सॉफ़्टवेयर कोड की प्रमुखता के कारण अक्सर आरेख अप्रचलित हो जाते हैं।


===[[राउंड-ट्रिप इंजीनियरिंग|राउंड-ट्रिप इंजीनियरिंग '''(आरटीई)''']]===
===[[राउंड-ट्रिप इंजीनियरिंग|राउंड-ट्रिप इंजीनियरिंग '''(आरटीई)''']]===
Line 17: Line 17:
इस संदर्भ में [[स्वचालित प्रोग्रामिंग]] का अर्थ है कि उपयोगकर्ता यूएमएल आरेख बनाता है, जिसमें कुछ संयोजित प्रतिरूप डेटा होता है, और यूएमएल उपकरण सॉफ़्टवेयर तंत्र के लिए आरेख का भाग या सभी स्रोत कोड से प्राप्त होता है। कुछ उपकरण में उपयोगकर्ता स्रोत कोड [[टेम्पलेट (प्रोग्रामिंग)]] के रूप में प्रोग्राम [[सोर्स कोड|स्रोत कोड]] का एक ढांचा प्रदान कर सकता है, जहां कोड उत्पादन प्रक्रिया के समय में पूर्वनिर्धारित संकेत को प्रोग्राम स्रोत कोड भागों से बदल दिया जाता है।
इस संदर्भ में [[स्वचालित प्रोग्रामिंग]] का अर्थ है कि उपयोगकर्ता यूएमएल आरेख बनाता है, जिसमें कुछ संयोजित प्रतिरूप डेटा होता है, और यूएमएल उपकरण सॉफ़्टवेयर तंत्र के लिए आरेख का भाग या सभी स्रोत कोड से प्राप्त होता है। कुछ उपकरण में उपयोगकर्ता स्रोत कोड [[टेम्पलेट (प्रोग्रामिंग)]] के रूप में प्रोग्राम [[सोर्स कोड|स्रोत कोड]] का एक ढांचा प्रदान कर सकता है, जहां कोड उत्पादन प्रक्रिया के समय में पूर्वनिर्धारित संकेत को प्रोग्राम स्रोत कोड भागों से बदल दिया जाता है।


जैक डब्ल्यू रीव्स के अनुसार डिज़ाइन का अंतिम स्वरूप स्रोत कोड में निहित होता है, और अक्सर उद्धृत आलोचना यह होती है कि यूएमएल आरेखों में उस विवरण का अभाव है जो प्रोग्राम स्रोत के साथ सुरक्षित की गई समान जानकारी को सम्मिलित करने के लिए आवश्यक होता है। जैक डब्ल्यू रीव्स यह कथन अक्सर उद्धृत किया जाता है कि कोड ही डिज़ाइन है <ref>http://www.developerdotstar.com/mag/articles/reeves_design_main.html by Jack W. Reeves</ref> इसका गलत अर्थ यह लगाया गया है कि मध्यवर्ती और उच्च-स्तरीय सॉफ़्टवेयर-डिज़ाइन कलाकृतियों, जैसे यूएमएल आरेख या सॉफ़्टवेयर-आवश्यकता दस्तावेज़ की कोई आवश्यकता नहीं है।
जैक डब्ल्यू रीव्स के अनुसार डिज़ाइन का अंतिम स्वरूप स्रोत कोड में निहित होता है, और अक्सर उद्धृत आलोचना यह होती है कि यूएमएल आरेखों में उस विवरण का अभाव है जो प्रोग्राम स्रोत के साथ सुरक्षित की गई समान जानकारी को सम्मिलित करने के लिए आवश्यक होता है। जैक डब्ल्यू रीव्स यह कथन अक्सर उद्धृत किया जाता है कि कोड ही डिज़ाइन है <ref>http://www.developerdotstar.com/mag/articles/reeves_design_main.html by Jack W. Reeves</ref> इसका गलत अर्थ यह लगाया गया है कि मध्यवर्ती और उच्च-स्तरीय सॉफ़्टवेयर-डिज़ाइन कलाकृतियों, जैसे यूएमएल आरेख या सॉफ़्टवेयर दस्तावेज़ की कोई आवश्यकता नहीं है।


====[[रिवर्स इंजीनियरिंग|उत्क्रम इंजीनियरिंग]]====
====[[रिवर्स इंजीनियरिंग|उत्क्रम इंजीनियरिंग]]====
Line 24: Line 24:
उत्क्रम इंजीनियरिंग की कुछ चुनौतियाँ हैं:
उत्क्रम इंजीनियरिंग की कुछ चुनौतियाँ हैं:
* स्रोत कोड में अक्सर उससे कहीं अधिक विस्तृत जानकारी होती है जो कोई डिज़ाइन आरेखों में देखना चाहता है। इस समस्या का समाधान सॉफ़्टवेयर आर्किटेक्चर पुनर्निर्माण द्वारा किया जाता है।
* स्रोत कोड में अक्सर उससे कहीं अधिक विस्तृत जानकारी होती है जो कोई डिज़ाइन आरेखों में देखना चाहता है। इस समस्या का समाधान सॉफ़्टवेयर आर्किटेक्चर पुनर्निर्माण द्वारा किया जाता है।
* आरेख डेटा सामान्य तौर पर प्रोग्राम स्रोत के साथ सम्मिलित नहीं होता है: जैसे कि यूएमएल उपकरण को, कम से कम शुरुआती चरण में एक ऐसे तरीके की आवश्यकता होती है जिससे उपयोगकर्ता आरेख को समझ सके। यूएमएल संकेत चिन्हों के ग्राफिकल प्रतीकों का कुछ यादृच्छिक विन्यास बनाना पड़ता है या प्रतीकों को रखने के लिए कुछ स्वचालित [[लेआउट एल्गोरिथ्म|विन्यास कलन विधि]] का उपयोग करना पड़ता है। उदाहरण के लिए, संकेतों को ड्राइंग सतह पर ऐसे स्थानों पर रखा जाना चाहिए ताकि वे अतिव्यापी न हों। सामान्यतौर पर, यूएमएल उपकरण की ऐसी कार्यक्षमता के उपयोगकर्ता को कुछ सार्थकता प्राप्त करने के लिए स्वचालित रूप से उत्पादन किए गए आरेखों को हस्तचालित रूप से संपादित करना पड़ता है। पूरे कार्यक्रम स्रोत के चित्र बनाने का भी अक्सर कोई मतलब नहीं होता है, क्योंकि यह यूएमएल आरेखों के स्तर पर रुचिकर होने के लिए बहुत अधिक विवरण का प्रतिनिधित्व करता है।
* आरेख डेटा सामान्य तौर पर प्रोग्राम स्रोत के साथ सम्मिलित नहीं होता है: जैसे कि यूएमएल उपकरण को, कम से कम शुरुआती चरण में एक ऐसे तरीके की आवश्यकता होती है जिससे उपयोगकर्ता आरेख को समझ सके। यूएमएल संकेत चिन्हों के ग्राफिकल प्रतीकों का कुछ यादृच्छिक विन्यास बनाना पड़ता है या प्रतीकों को रखने के लिए कुछ स्वचालित [[लेआउट एल्गोरिथ्म|विन्यास कलन विधि]] का उपयोग करना पड़ता है। उदाहरण के लिए, संकेतों को आरेख सतह पर ऐसे स्थानों पर रखा जाना चाहिए ताकि वे अतिव्यापी न हों। सामान्यतौर पर, यूएमएल उपकरण की ऐसी कार्यक्षमता के उपयोगकर्ता को कुछ सार्थकता प्राप्त करने के लिए स्वचालित रूप से उत्पादन किए गए आरेखों को हस्तचालित रूप से संपादित करना पड़ता है। पूरे कार्यक्रम स्रोत के चित्र बनाने का भी अक्सर कोई मतलब नहीं होता है, क्योंकि यह यूएमएल आरेखों के स्तर पर रुचिकर होने के लिए बहुत अधिक विवरण का प्रतिनिधित्व करता है।
* कुछ [[प्रोग्रामिंग भाषा]]ओं की भाषा विशेषताएं हैं, जैसे [[C++]] प्रोग्रामिंग भाषा के श्रेणी या क्रिया निर्देश, जिन्हें उनकी पूरी जटिलता में स्वचालित रूप से यूएमएल आरेख में परिवर्तित करना बेहद कठिन होता है।
* कुछ [[प्रोग्रामिंग भाषा]]ओं की भाषा विशेषताएं हैं, जैसे [[C++]] प्रोग्रामिंग भाषा के श्रेणी या क्रिया निर्देश, जिन्हें उनकी पूरी जटिलता में स्वचालित रूप से यूएमएल आरेख में परिवर्तित करना बेहद कठिन होता है।


Line 31: Line 31:


===प्रतिरूप परिवर्तन===
===प्रतिरूप परिवर्तन===
[[मॉडल-संचालित वास्तुकला|प्रतिरूप-संचालित वास्तुकला]] पहल से जुड़ी प्रमुख अवधारणा यह है की इसमें एक प्रतिरूप को दूसरे प्रतिरूप में बदलने की क्षमता होती है। उदाहरण के लिए, कोई कार्यान्वयन के लिए प्लेटफ़ॉर्म-स्वतंत्र कार्यक्षेत्र प्रतिरूप को जावा प्लेटफ़ॉर्म-विशिष्ट प्रतिरूप में बदल सकता है। अधिक संक्षिप्त और सुव्यवस्थित यूएमएल प्रतिरूप तैयार करने के लिए यूएमएल प्रतिरूप को दोबारा तैयार करना भी संभव है। अन्य प्रतिरूपण संकेत चिन्हों, जैसे [[बीपीएमएन]], जो स्वयं एक [[यूएमएल प्रोफाइल]] है, से यूएमएल प्रतिरूप उत्पन्न करना संभव है। जो मानक इसका समर्थन करता है उसे क्वेरीज़/व्यू/ट्रांसफ़ॉर्मेशन के लिए [[QVT|क्यूवीटी]] कहा जाता है। विवृत-स्रोत क्यूवीटी -समाधान का एक उदाहरण [[INRIA|'''इनरिया''']] द्वारा निर्मित [[एटलस परिवर्तन भाषा|एटलस परिवर्तन]] भाषा है।
[[मॉडल-संचालित वास्तुकला|प्रतिरूप-संचालित आर्किटेक्चर]] पहल से जुड़ी प्रमुख अवधारणा यह है की इसमें एक प्रतिरूप को दूसरे प्रतिरूप में बदलने की क्षमता होती है। उदाहरण के लिए, कोई कार्यान्वयन के लिए प्लेटफ़ॉर्म-स्वतंत्र कार्यक्षेत्र प्रतिरूप को जावा प्लेटफ़ॉर्म-विशिष्ट प्रतिरूप में बदल सकता है। अधिक संक्षिप्त और सुव्यवस्थित यूएमएल प्रतिरूप तैयार करने के लिए यूएमएल प्रतिरूप को दोबारा तैयार करना भी संभव है। अन्य प्रतिरूपण संकेत चिन्हों, जैसे [[बीपीएमएन]], जो स्वयं एक [[यूएमएल प्रोफाइल]] है, से यूएमएल प्रतिरूप उत्पन्न करना संभव है। जो मानक इसका समर्थन करता है उसे क्वेरीज़/व्यू/ट्रांसफ़ॉर्मेशन के लिए [[QVT|क्यूवीटी]] कहा जाता है। विवृत-स्रोत क्यूवीटी -समाधान का एक उदाहरण [[INRIA|'''इनरिया''']] द्वारा निर्मित [[एटलस परिवर्तन भाषा|एटलस परिवर्तन]] भाषा है।


==यह भी देखें==
==यह भी देखें==
Line 49: Line 49:
* [http://www.umltools.net/ UML Tools Directory]
* [http://www.umltools.net/ UML Tools Directory]


{{DEFAULTSORT:Uml Tool}}[[Category: यूएमएल उपकरण| यूएमएल उपकरण]] [[Category: एकीकृत मॉडलिंग भाषा]]
{{DEFAULTSORT:Uml Tool}}


 
[[Category:Articles with Curlie links|Uml Tool]]
 
[[Category:Created On 01/07/2023|Uml Tool]]
[[Category: Machine Translated Page]]
[[Category:Machine Translated Page|Uml Tool]]
[[Category:Created On 01/07/2023]]
[[Category:Pages with script errors|Uml Tool]]
[[Category:Templates Vigyan Ready|Uml Tool]]
[[Category:एकीकृत मॉडलिंग भाषा|Uml Tool]]
[[Category:यूएमएल उपकरण| यूएमएल उपकरण]]

Latest revision as of 10:26, 15 July 2023

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

यूएमएल उपकरण का उपयोग यहां व्यापक रूप से उन अनुप्रयोग प्रोग्रामों को सम्मिलित करने के लिए किया जाता है जो विशेष रूप से यूएमएल पर केंद्रित नहीं हैं, लेकिन जो यूएमएल के कुछ कार्यों का या तो योगात्मक के रूप में, घटक के रूप में ' या उनकी समग्र कार्यक्षमता के भाग के रूप में समर्थन करते हैं।

कार्यक्षमता के प्रकार

यूएमएल उपकरण निम्नलिखित प्रकार की कार्यक्षमता का समर्थन करते हैं:

आरेख

इस संदर्भ में आरेखण का अर्थ है यूएमएल आरेख बनाना और संपादित करना; यह ऐसे आरेख हैं जो एकीकृत प्रतिरूपण भाषा के ग्राफिकल संकेत चिन्हों का अनुसरण करते हैं।

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

राउंड-ट्रिप इंजीनियरिंग (आरटीई)

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

कोड उत्पादन

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

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

उत्क्रम इंजीनियरिंग

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

उत्क्रम इंजीनियरिंग की कुछ चुनौतियाँ हैं:

  • स्रोत कोड में अक्सर उससे कहीं अधिक विस्तृत जानकारी होती है जो कोई डिज़ाइन आरेखों में देखना चाहता है। इस समस्या का समाधान सॉफ़्टवेयर आर्किटेक्चर पुनर्निर्माण द्वारा किया जाता है।
  • आरेख डेटा सामान्य तौर पर प्रोग्राम स्रोत के साथ सम्मिलित नहीं होता है: जैसे कि यूएमएल उपकरण को, कम से कम शुरुआती चरण में एक ऐसे तरीके की आवश्यकता होती है जिससे उपयोगकर्ता आरेख को समझ सके। यूएमएल संकेत चिन्हों के ग्राफिकल प्रतीकों का कुछ यादृच्छिक विन्यास बनाना पड़ता है या प्रतीकों को रखने के लिए कुछ स्वचालित विन्यास कलन विधि का उपयोग करना पड़ता है। उदाहरण के लिए, संकेतों को आरेख सतह पर ऐसे स्थानों पर रखा जाना चाहिए ताकि वे अतिव्यापी न हों। सामान्यतौर पर, यूएमएल उपकरण की ऐसी कार्यक्षमता के उपयोगकर्ता को कुछ सार्थकता प्राप्त करने के लिए स्वचालित रूप से उत्पादन किए गए आरेखों को हस्तचालित रूप से संपादित करना पड़ता है। पूरे कार्यक्रम स्रोत के चित्र बनाने का भी अक्सर कोई मतलब नहीं होता है, क्योंकि यह यूएमएल आरेखों के स्तर पर रुचिकर होने के लिए बहुत अधिक विवरण का प्रतिनिधित्व करता है।
  • कुछ प्रोग्रामिंग भाषाओं की भाषा विशेषताएं हैं, जैसे C++ प्रोग्रामिंग भाषा के श्रेणी या क्रिया निर्देश, जिन्हें उनकी पूरी जटिलता में स्वचालित रूप से यूएमएल आरेख में परिवर्तित करना बेहद कठिन होता है।

प्रतिरूप और आरेख विनिमय

एक्सएमएल मेटाडेटा इंटरचेंज (XMI) यूएमएल प्रतिरूप विनिमय का प्रारूप है। एक्सएमआई यूएमएल आरेख विनिमय का समर्थन नहीं करता है, जो यूएमएल आरेख को एक प्रतिरूप से दूसरे प्रतिरूप में आयात करने की अनुमति देता है।

प्रतिरूप परिवर्तन

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

यह भी देखें

संदर्भ


बाहरी संबंध