एकीकृत मॉडलिंग भाषा (Unified Modelling Language) (UML) में एक अनुक्रम आरेख (sequence diagram) एक प्रकार का इंटरेक्शन आरेख है जो यह दर्शाता है कि प्रक्रियाएं (Processes) एक दूसरे के साथ कैसे और किस क्रम में ऑपरेट होती हैं। यह एक संदेश अनुक्रम चार्ट (Message Sequence Chart) का एक निर्माण है।

सरल रेस्तरां अनुक्रम आरेख
UML 2 आरेख का एक उदाहरण

अनुक्रम आरेख को कभी कभी घटना का पता लगाने वाला आरेख, या घटना परिदृश्य और समय आरेख कहा जाता है।[1]

समीक्षासंपादित करें

एक अनुक्रम आरेख सामानांतर उर्ध्व रेखाओं के रूप में ("जीवनरेखाओं") भिन्न प्रक्रियाओं और ऑब्जेक्ट्स को दर्शाता है, जो एक साथ रहते हैं और क्षैतिज तीरों के रूप में, उनके बीच उस क्रम में सन्देश का विनिमय होता है, जिसमें वे उत्पन्न होते हैं।

यह एक ग्राफीय तरीके से साधारण रन टाइम परिदृश्य के विनिर्देशन की अनुमति देता है। 

उदाहरण के लिए, दायीं ओर UML 1.x आरेख एक (साधरण) रेस्तरां प्रणाली के सन्देश के अनुक्रम का वर्णन करता है।

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

UML 2.0 अनुक्रम आरेख UML 1.x अनुक्रम आरेख के सामान संकेतन का समर्थन करता है जिसमें घटनाओं के मानक प्रवाह के लिए मोडलिंग की विभिन्नताओं का समर्थन भी शामिल है।


निर्माणात्मक ब्लॉक्स के आरेख (Diagram building blocks)संपादित करें

यदि समय रेखा एक ऑब्जेक्ट की है तो यह एक भूमिका को दर्शाती है। ध्यान दें कि उदाहरण के नाम को खाली छोड़ देना अनाम और बेनाम उदाहरणों का प्रतिनिधित्व करता है।

इंटरेक्शन का डिस्प्ले करने के लिए संदेशों का उपयोग किया जाता है। ये सन्देश नामों के साथ क्षैतिज तीर हैं जिन्हें उनके ऊपर लिखा गया है।

पूरे सिर से युक्त ठोस तीर तुल्यकालिक कॉल हैं, स्टिक सिर से युक्त ठोस तीर अतुल्यकालिक कॉल्स हैं, ओर स्टिक सिर से युक्त डेश वाले तीर वापसी सन्देश हैं। 
यह परिभाषा UML 2 के लिए सच है, UML 1.x से काफी अलग है। 


सक्रियकरण बॉक्स, या विधि-कॉल बॉक्स, अपारदर्शी आयत हैं, जिन्हें सन्देश की प्रतिक्रिया में प्रदर्शित की जाने वाली प्रक्रियाओं को अभिव्यक्त करने के लिए जीवनरेखाओं के शीर्ष पर चित्रित किया जाता है। (UML में निष्पादन विनिर्देशन).


खुद ऑब्जेक्ट को कॉल करने वाली विधियां संदेशों का उपयोग करती हैं और प्रोसिसंग के अगले स्तर को इंगित करने के लिए किसी अन्य के शीर्ष पर नए सक्रियण बॉक्स जोड़ती है।


जब एक ऑब्जेक्ट नष्ट हो जाता है (मेमोरी से हटा दिया जाता है), जीवन रेखा के शीर्ष पर एक X चित्रित किया जाता है और डेश युक्त रेखाएं इसके नीचे चित्रित की जाती हैं (हालांकि ऐसा पहले उदाहरण के मामले में नहीं होता है). यह या तो खुद ऑब्जेक्ट से या किसी ओर से एक सन्देश का परिणाम होना चाहिए.


आरेख के बाहर से भेजा गया सन्देश एक भरे हुए वृत्त से उत्पन्न होने वाले सन्देश के द्वारा अभिव्यक्त किया जा सकता है, (UML में "found message") या एक अनुक्रम आरेख की सीमा से अभिव्यक्त किया जा सकता है (UML में "gate").


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


उपयोग और सीमाएंसंपादित करें

कुछ प्रणालियों गतिशील सरल व्यवहार किया है कि वस्तुओं या प्रक्रियाओं का एक छोटा सा, निर्धारित संख्या के बीच संदेशों की विशिष्ट दृश्यों के रूप में व्यक्त कर सकते हैं। ऐसे मामलों दृश्य चित्र में पूरी तरह से सिस्टम के व्यवहार निर्दिष्ट कर सकते हैं। अक्सर, व्यवहार अधिक जटिल होता है, उदाहरण के लिए, जब संचार ऑब्जेक्ट का सेट बड़ा ओर अत्यधिक परिवर्तनशील हो, तब कई शाखा बिंदु होते हैं, (उदाहरण अपवाद), जब जटिल अंकन या तुल्यकालन के मुद्दे जैसे संसाधन पुनरुक्तियां हों.


ऐसे मामलों में, अनुक्रम आरेख सिस्टम के व्यवहार को पूरी तरह से वर्णित नहीं कर सकता है, लेकिन वे सिस्टम के लिए प्रारूपिक उपयोग मामलों को, व्यवहार में छोटे विवरण को, ओर इस व्यवहार के सरलीकृत परिदृश्य को निर्दिष्ट कर सकते हैं। 

सन्दर्भसंपादित करें

बाहरी कड़ियाँसंपादित करें


साँचा:UML