युनिफाइड मोंडलिंग लैंग्वेज
यूनिफाइड मॉडलिंग लेंगुएज (यूएमएल) सॉफ्टवेयर इंजीनियरिंग क्षेत्र की एक मानकीकृत सामान्य-उद्देश्य मॉडलिंग भाषा है। मानक, वस्तु प्रबंधन समूह द्वारा रचा गया और इसी के द्वारा संभाला जाता है।
यूएमएल सॉफ्टवेयर वृद्धिकर प्रणाली के दृश्य मॉडल बनाने के लिए चित्रमय संकेतन तकनीक का एक सेट सम्मिलित करता है।
यूनिफाइड मॉडलिंग लेंगुएज (UML), विकास के अंतर्गत एक वस्तु-अभिविन्यस्त सॉफ्टवेयर गहन प्रणाली की शिल्पकृति को उल्लिखित, रूपांतर, निर्माण और दस्तावेज़ करने के लिए उपयोग की जाती है। यूएमएल एक प्रणाली की वास्तुशिल्पीय रूपरेखा को देखने के लिए एक मानक तरीका प्रदान करता है, जिसमें निम्नलिखित तत्व शामिल हैं:
यूएमएल डेटा मॉडलिंग (एंटिटी रिलेशनशिप आरेख), व्यापार मॉडलिंग (काम प्रवाह), वस्तु मॉडलिंग और घटक मॉडलिंग से बेहतरीन तकनीकों का सम्मिश्रण करता है। सॉफ्टवेयर विकास के जीवन चक्र में और विभिन्न कार्यान्वयन प्रौद्योगिकियों के पार, यह सभी प्रक्रियाओं के साथ इस्तेमाल किया जा सकता है। यूएमएल ने बूच विधि, वस्तु मॉडलिंग तकनीक {OMT) और {0}वस्तु-अभिविन्यस्त सॉफ्टवेयर इंजीनियरिंग (OOSE) को एक सामान्य, एकल और अधिक प्रयोग करने योग्य मॉडलिंग भाषा के रूप में जोड़ कर, उनके अंकन का संश्लेषण किया है। यूएमएल का उद्देश्य है एक मानक मॉडलिंग भाषा बनाना जो समवर्ती और वितरण प्रणाली को मॉडल कर सके. यूएमएल एक वास्तविक उद्योग मानक है और वस्तु प्रबंधन समूह (OMG) के तत्त्वावधान में विकसित हो रही है। OMG ने शुरू में वस्तु-अभिविन्यस्त तरीकों पर जानकारी मांगी जो एक कठोर सॉफ्टवेयर मॉडलिंग भाषा बना सकती. कई उद्योग के नेताओं ने यूएमएल मानक बनाने में मदद करने के लिए अपरिहास जवाब दिया है।
यूएमएल मॉडल, OMG द्वारा समर्थित, QVT-जैसी रूपांतर भाषाओँ के माध्यम से स्वतः अन्य प्रतिवेदनों (जैसे जावा) में बदल सकते हैं। यूएमएल वितान्य है और अनुकूलन के लिए निम्नलिखित तंत्र पेश करता है: खाका और छवि. "प्रोफाइल द्वारा विस्तार" के शब्दार्थ विज्ञान का यूएमएल 2.0 प्रमुख संशोधन के साथ सुधार किया गया है।
वर्ष 1994 में जनरल इलैक्ट्रिक से जेम्स रूमबॉग की सेवायें किराये पर लेने के उपरांत रेशनल सॉफ्टवेयर कॉरपोरेशन आज के दो सर्वाधिक लोकप्रिय वस्तु उन्मुख मॉडलिंग तरीकों (ऑब्जेक्ट ओरिएंटेड मॉडलिग एप्रोचेस) का स्रोत बन गया : रूमबॉग का ओ एम टी, जो कि ऑब्जेक्ट ओरिएंटेड एनालिसिस (ओ ओ ए) हेतु बेहतर था, तथा ग्रेडी बूच का बूच तरीका, जो कि ऑब्जेक्ट ओरिएंटेड डिजाइन (ओ ओ डी) हेतु बेहतर था। उनके प्रयासों में उन्हें शीघ्र ही ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर इंजीनियरिंग (ओ.ओ.एस.ई) के सृजक आइवर जैकबसन से सहायता प्राप्त हुई. कंपनी ऑब्जेक्टरी ए बी के रेशनल द्वारा अधिग्रहण के उपरांत जैकबसन ने वर्ष 1995 में रेशनल में कार्यभार ग्रहण किया। तीनों कार्यपद्धतिविदों को सामूहिक रूप से "थ्री एमीगोस" के नाम से जाना जाता था, क्योंकि वे कार्य पद्धति व्यवहार के बारे में आपस में प्रायः तर्क करते रहने के लिये जाने जाते थे।
वर्ष 1996 में रेशनल ने यह पाया कि मॉडलिंग भाषाओं की बहुतायत ऑब्जेक्ट प्रौद्योगिकी को अपनाने की दर को धीमा कर रही थी, अतः एक एकीकृत (यूनीफाइड) तरीके से कार्य को पुनः व्यवस्थित करते हुये उन्होंने थ्री एमीगोस को एक नॉन प्रोपराइटरी यूनीफाइड मॉडलिंग लैग्वेज़ के विकास का कार्य सौंपा. प्रतिस्पर्धी ऑब्जैक्ट प्रौद्योगिकी कंपनियों के प्रतिनिधियों से ओ ओ पी एस एल ए '96(OOPSLA '96) के दौरान परामर्श किया गया; उन्होंने ग्राडी बूच के बूच तरीके की अंकन पद्धति, जिसमें "क्लाउड" (बादल) रूपी प्रतीकों का प्रयोग किया गया था, के स्थान पर श्रेणियों को दर्शाने के लिये "बॉक्सेस" का चयन किया।
थ्री एमीगोस" के तकनीकी नेतृत्व में "यूनीफाइड मॉडलिंग लैग्वेज (यू एम एल)" वर्गीकरणों को पूर्ण करने तथा इसे ओ एम जी आर एफ पी के एक प्रतिउत्तर के रूप में प्रस्तावित करने के लिये वर्ष 1996 में यू.एम.एल. पार्टनर्स नामक एक अंतर्राष्ट्रीय संघ का गठन किया गया। यू एम एल पार्टनर्स का यू एम एल 1.0 वर्गीकरण मसौदा जनवरी 1997 में ओ एम जी को प्रस्तावित किया गया। इसी माह यू एम एल पार्टनर्स ने क्रिस कॉबरायन की अध्यक्षता एवं एड आयखोल्ट के प्रशासन में वर्गीकरणों के सीमैन्टिकस को अंतिम रूप देने तथा इसे अन्य मानकीय प्रयासों के साथ एकीकृत करने के लिए एक सीमैन्टिक्स टास्क फोर्स का गठन किया। इस कार्य के परिणाम, यू एम एल 1.1, को अगस्त 1997 में ओ एम जी को प्रस्तुत किया गया एवं ओ एम जी द्वारा इसे नवम्बर 1997 में अपनाया गया। ते
एक मॉडलिंग संकेतन के रूप में, OMT संकेतन का प्रभाव हावी है (उदाहरण, वर्गों और वस्तुओं के लिए आयतों का उपयोग). हालांकि बूच "क्लाउड" अंकन हटा दिया गया था, बूच के कम-स्तर डिजाइन वृत्तांत को निर्दिष्ट करने की क्षमता का आलिंगन किया गया। ओब्जेक्टारी से उपयोग मामला अंकन और बूच से घटक अंकन को अन्य संकेत पद्धतियों के साथ संघटित किया गया, लेकिन शब्दार्थ विज्ञान एकीकरण यूएमएल 1.1 में अपेक्षाकृत कमजोर था और यूएमएल 2.0 प्रमुख संशोधन तय करने तक असल में निश्चित नहीं किया गया।
कई अन्य OO तरीकों से भी अवधारणाओं को यूएमएल के साथ ढीली तरह से संघटित किया गया इस उद्देश्य के साथ की यूएमएल सभी OO तरीकों का समर्थन करेगा. जैसे ही समूह ने वास्तविक समय प्रणाली डोमेन में व्यापक कवरेज सुनिश्चित करने की कोशिश की, कई अन्य लोगों ने भी इसमें योगदान दिया, जिनकी पहुंच ने, टोनी वास्सर्मेंन और पिटर पिरचार के "ऑब्जेक्ट-ओरिएंनटिड स्ट्रक्चर्ड डिजाइन (OOSD)" संकेतन (पद्धति नहीं), रे बहर के "सिस्टम डिसाइन विद अडा", आर्ची बोवन के उपयोग मामले और समय विश्लेषण, पॉल वार्ड के डेटा विश्लेषण और डेविड हारेल के "स्टेटचार्ट" सहित आज के कई मॉडल को झलक दी. परिणामस्वरूप, यूएमएल इंजीनियरिंग समस्याओं की कई किस्मों में उपयोगी है, एकल प्रक्रिया, एकल उपयोगकर्ता प्रयोज्यता से समवर्ती, वितरण व्यवस्था, जो यूएमएल को समृद्ध बनाते हैं पर बड़ा भी.
यूनिफाइड मॉडलिंग भाषा एक अंतरराष्ट्रीय मानक है:
यूएमएल 1.1 के बाद से यूएमएल महत्वपूर्णता से परिपक्व हुआ है। कई छोटे संशोधनों (यूएमएल 1.3, 1.4 और 1.5) ने यूएमएल के प्रथम संस्करण की कमियां और बग ठीक किये, जिसके बाद यूएमएल 2.0 प्रमुख संशोधन हुआ जो 2005 में OMG द्वारा स्वीकार किया गया।
यूएमएल 2.x विनिर्देशन के चार भाग हैं: इन मानकों के वर्तमान संस्करण यूएमएल परमढाँचा संस्करण 2.2, यूएमएल बुनियादी ढांचा संस्करण 2.2, OCL संस्करण 2.0 और यूएमएल आरेख आदान-प्रदान संस्करण 1.0 का पालन करते हैं।
हालांकि कई यूएमएल उपकरण यूएमएल 2.x की नई सुविधाओं में से कुछ का समर्थन करते हैं, OMG उनकी विशिष्टताओं के साथ सामान्य रूप से परीक्षण अनुपालन करने के लिए कोई परीक्षण स्थान उपलब्ध नहीं करवाता.
यूएमएल स्वयं में एक परिवृद्धि तरीका नहीं है, तथापि, इसे अपने समय के प्रमुख वस्तु-उद्देश्य सॉफ्टवेयर विकास के तरीकों के साथ अनुकूल होने के लिए बनाया गया था (उदाहरण के लिए OMT, बूच विधि, ओब्जेक्टरी). जब से यूएमएल विकसित हुआ है, इन में से कुछ तरीकों को नए अंकन का लाभ लेने के लिए फिर से ढाला गया है और नए तरीके यूएमएल के आधार पर निर्मित किए गए हैं। सबसे अच्छा ज्ञात है आईबीएम रेशनल यूनिफाइड प्रोसेस (RUP). कई अन्य यूएमएल-आधारित विधियां हैं जैसे, संक्षेपण तरीका, गतिशील सिस्टम विकास तरीका और अन्य जो अधिक विशिष्ट समाधान, या विभिन्न उद्देश्य प्राप्ति उपलब्ध करवाने के लिए डिज़ाइन किए गए हैं।
एक प्रणाली के चित्र के सेट और यूएमएल मॉडल के बीच अंतर करना बहुत महत्वपूर्ण है। एक आरेख एक सिस्टम के मॉडल का आंशिक चित्रमय प्रतिनिधित्व है। मॉडल में एक 'शब्दार्थ विज्ञान पश्च समतल" भी होता हैं - प्रलेखन जैसे लिखे उपयोग मामले जो मॉडल तत्वों और चित्र को कर्मशक्ति देते हैं।
यूएमएल चित्र एक मॉडल प्रणाली के दो अलग विचारों का प्रतिनिधित्व करते हैं।
XMI विनिमय प्रारूप का उपयोग करने से यूएमएल उपकरणों के बीच यूएमएल मॉडल विनिमय किए जा सकते है।
यूएमएल 2.2 में 14 प्रकार के हैं जिन्हें दो श्रेणियों में विभाजित किया गया है। सात आरेख प्रकार "संरचनात्मक" सूचना दर्शाते हैं और अन्य सात सामान्य प्रकार का "व्यवहार" दर्शाते हैं, जिनमें से चार "बातचीत" के विभिन्न पहलुओं को दर्शाते हैं। यह चित्र तारतम्य रूप से वर्गीकृत किए जा सकते है जैसा निम्न श्रेणी के चित्र में दिखाया गया है: यूएमएल, यूएमएल तत्व प्रकार को एक निश्चित आरेख प्रकार तक सीमित नहीं करता. आमतौर पर, हर यूएमएल तत्व लगभग सभी प्रकार के चित्र पर प्रकट हो सकता है, यह लचीलापन यूएमएल 2.0 में आंशिक रूप से प्रतिबंधित किया गया है। यूएमएल प्रोफाइल अतिरिक्त आरेख प्रकार को परिभाषित या अतिरिक्त अंकन के साथ मौजूदा चित्र का विस्तार कर सकते हैं।
इंजीनियरिंग ड्राइंग, की परंपरा को ध्यान में रखते हुए, उपयोग, बाधा, या मंशा स्पष्ट करने के लिए यूएमएल आरेख में एक टिप्पणी या लेख की अनुमति है।
संरचना रेखाचित्र, मॉडल किए जाने वाली प्रणाली में क्या चीज़ें होंगी इस पर ज़ोर डालते हैं।
चूँकि संरचना चित्र एक प्रणाली की संरचना का प्रतिनिधित्व करते हैं, उन्हें सोफ्टवेयर प्रणाली के स्थापत्य का दस्तावेजीकरण बनाने के लिए बड़े पैमाने पर इस्तेमाल किया जाता है।
व्यवहार चित्र इस बात पर जोर डालता है कि मॉडल किये जाने वाली प्रणाली में क्या होना चाहिए:
चूँकि व्यवहार चित्र एक प्रणाली के व्यवहार का वर्णन करते हैं, उन्हें बड़े पैमाने पर सॉफ्टवेयर प्रणाली की कार्यक्षमता का वर्णन करने के लिए इस्तेमाल किया जाता है।
संपर्क चित्र, व्यवहार चित्र का एक सबसेट, जो मॉडल किये जाने वाली प्रणाली की चीज़ों के बीच डाटा और नियंत्रण प्रवाह करने पर जोर देता है:
प्रोटोकॉल राज्य मशीन एक राज्य मशीन का उप-संस्करण है। यह एक नेटवर्क संचार प्रोटोकॉल को मॉडल करने के लिए इस्तेमाल किया जा सकता है।
ऑब्जेक्ट मेनेजमेंट समूह (OMG) ने यूनिफाइड मोडलिंग लेंगुएज (UML) को परिभाषित करने के लिए, मेटा-ऑब्जेक्ट फेसिलिटी नामक मेटा मोडलिंग स्थापत्य विकसित किया है। मेटा-वस्तु सुविधा मॉडल-चालित इंजीनियरिंग के लिए एक मानक है, जिसे एक चार परत वास्तुकला के रूप में डिजाइन किया गया है, जैसा दाहिनी ओर दी गई छवि में दिखाया गया है। यह शीर्ष स्तर पर, M3 परत नामक, एक मेटा-मेटा मॉडल उपलब्ध कराता है। यह एम3 भाषा, मेटा-ऑब्जेक्ट फेसिलिटी द्वारा एम2 मॉडल नामक मेटामॉडल बनाने के लिए प्रयुक्त की जा रही है। एक परत 2 मेटा-ऑब्जेक्ट सुविधा मोडल का सबसे प्रमुख उदाहरण यूएम्एल है, वह मॉडल जो खुद यूएमएल का वर्णन है। यह एम2 मॉडल एम1 परत के तत्वों का वर्णन करता है और इस प्रकार एम 1 मॉडल का. यह, उदाहरण के लिए, यूएमएल में लिखे गए मॉडल होंगे. आखिरी परत M0-परत या डेटा परत है। यह असली दुनिया की वस्तुओं का वर्णन करने के लिए उपयोग की जाती है।
एम 3 मॉडल के परे मेटा-वस्तु सुविधा, COBRA इंटरफेस, जो उन परिचालनों का वर्णन करते हैं, उसे परिभाषित करते हुए मेटामॉडल और मॉडल को बनाने एंव उनका हेरफेर करने का वर्णन करती है। मेंटा-वस्तु सुविधा एम3-मॉडल और यूएमएल संरचना मॉडल के बीच की समानता के कारण मेटा-वस्तु सुविधा मेटा मोडल्स आमतौर पर यूएमएल वर्ग चित्र के रूप में मॉडल किये जाते हैं। XMI मेटा-वस्तु सुविधा का एक समर्थन मानक है, जो एम3-, एम2- या एम1- परत पर मोडल के लिए एक XML-आधारित निविमय स्वरूप परिभाषित करता है।
हालांकि यूएमएल एक व्यापक रूप से मान्य और इस्तेमाल किया गया मॉडलिंग मानक है, उसकी अक्सर निम्नलिखित के लिए आलोचना की गई है:बरट्रेंड मेयर की "यूएमएल: द पोज़िटिव स्पिन", और "युज़िज़ एंड एब्युज़िज़ ऑफ़ द स्टीरियोटाइप मेकेनिज्म इन यूएमएल 1.x एंड 2.0" में ब्रायन हेंडरसन-सेलर्स सहित, मॉडलिंग विशेषज्ञों ने यूएमएल की तीव्र आलोचना लिपिबद्ध की है।