यूएमएल में स्टेट मशीन आरेख और स्टेटचार्ट आरेख

स्टेट मशीन आरेख क्या है?

राज्य आरेख किसी सॉफ़्टवेयर सिस्टम के व्यवहार को कैप्चर करने के लिए उपयोग किया जाता है। UML स्टेट मशीन आरेखों का उपयोग किसी क्लास, सबसिस्टम, पैकेज या यहाँ तक कि पूरे सिस्टम के व्यवहार को मॉडल करने के लिए किया जा सकता है। इसे स्टेटचार्ट या स्टेट ट्रांज़िशन डायग्राम भी कहा जाता है।

स्टेटचार्ट आरेख क्या है?

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

यूएमएल में कुल दो प्रकार के स्टेट मशीन आरेख हैं:

1. व्यवहारिक राज्य मशीन आरेख

  • यह सिस्टम में मौजूद किसी इकाई के व्यवहार को दर्शाता है।
  • इसका उपयोग किसी तत्व के विशिष्ट कार्यान्वयन को दर्शाने के लिए किया जाता है।
  • किसी प्रणाली के व्यवहार को OOAD में व्यवहारिक राज्य मशीन आरेख का उपयोग करके मॉडल किया जा सकता है।

2. प्रोटोकॉल स्टेट मशीन आरेख

  • इन आरेखों का उपयोग किसी प्रोटोकॉल के व्यवहार को दर्शाने के लिए किया जाता है।
  • यह दर्शाता है कि घटना के संबंध में प्रोटोकॉल की स्थिति कैसे बदलती है। यह सिस्टम में होने वाले संगत परिवर्तनों को भी दर्शाता है।
  • वे किसी तत्व के विशिष्ट कार्यान्वयन का प्रतिनिधित्व नहीं करते हैं।

स्टेट मशीन आरेख क्यों?

स्टेटचार्ट डायग्राम का उपयोग सिस्टम के गतिशील पहलू को पकड़ने के लिए किया जाता है। स्टेट मशीन डायग्राम का उपयोग किसी एप्लिकेशन के व्यवहार को दर्शाने के लिए किया जाता है। एक ऑब्जेक्ट अपने जीवनकाल के दौरान विभिन्न अवस्थाओं से गुजरता है। किसी ऑब्जेक्ट का जीवनकाल तब तक बना रहता है जब तक प्रोग्राम समाप्त नहीं हो जाता। ऑब्जेक्ट के भीतर होने वाली घटना के आधार पर ऑब्जेक्ट कई अवस्थाओं से गुजरता है। प्रत्येक अवस्था ऑब्जेक्ट के बारे में कुछ अनूठी जानकारी दर्शाती है।

स्टेटचार्ट आरेखों का उपयोग ऐसे इंटरैक्टिव सिस्टम को डिज़ाइन करने के लिए किया जाता है जो आंतरिक या बाहरी घटना पर प्रतिक्रिया करते हैं। UML में स्टेटचार्ट आरेख किसी ऑब्जेक्ट के एक राज्य से दूसरे राज्य में निष्पादन के प्रवाह को दर्शाता है।

यह किसी वस्तु के निर्माण से लेकर उसके नष्ट या समाप्त होने तक की स्थिति को दर्शाता है।

स्टेटचार्ट डायग्राम का प्राथमिक उद्देश्य इंटरेक्टिव सिस्टम को मॉडल करना और किसी ऑब्जेक्ट की प्रत्येक स्थिति को परिभाषित करना है। स्टेटचार्ट डायग्राम को किसी एप्लिकेशन सिस्टम के गतिशील व्यवहार को कैप्चर करने के लिए डिज़ाइन किया गया है। इन डायग्राम का उपयोग सिस्टम की विभिन्न स्थितियों और सिस्टम के भीतर मौजूद इकाइयों को दर्शाने के लिए किया जाता है।

स्टेट मशीन डायग्राम (स्टेटचार्ट डायग्राम) के लिए संकेतन और प्रतीक

नीचे विभिन्न संकेत दिए गए हैं जिनका उपयोग पूरे राज्य चार्ट आरेख में किया गया है। इन सभी संकेतों को मिलाकर एक एकल आरेख बनाया जाता है।

यूएमएल स्टेट डायग्राम संकेतन
यूएमएल राज्य आरेख संकेतन

प्रारम्भिक अवस्था

प्रारंभिक अवस्था प्रतीक का उपयोग स्टेट मशीन आरेख की शुरुआत को इंगित करने के लिए किया जाता है।

अंतिम अवस्था

इस प्रतीक का उपयोग स्टेट मशीन आरेख के अंत को इंगित करने के लिए किया जाता है।

निर्णय बॉक्स

इसमें एक शर्त होती है। मूल्यांकित गार्ड स्थिति के परिणाम के आधार पर, प्रोग्राम निष्पादन के लिए एक नया रास्ता अपनाया जाता है।

संक्रमण

संक्रमण एक अवस्था से दूसरी अवस्था में परिवर्तन है जो किसी घटना के कारण होता है। संक्रमण के कारण किसी वस्तु की अवस्था में परिवर्तन होता है।

राज्य बॉक्स

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

इसे गोल कोनों वाले एक आयत का उपयोग करके दर्शाया जाता है। गोल आयत के अंदर राज्य का नाम लिखा जाता है।

किसी राज्य का नाम आयत के बाहर भी रखा जा सकता है। यह कम्पोजिट या सबमशीन राज्यों के मामले में किया जा सकता है। कोई व्यक्ति किसी राज्य का नाम आयत के अंदर या आयत के बाहर एक सारणीबद्ध बॉक्स में रख सकता है। कोई एक ही समय में दोनों काम नहीं कर सकता।

कोई भी अवस्था सक्रिय या निष्क्रिय हो सकती है। जब कोई अवस्था कार्यशील मोड में होती है, तो वह सक्रिय होती है, जैसे ही वह क्रियान्वित होना बंद कर देती है और किसी अन्य अवस्था में चली जाती है, पिछली अवस्था निष्क्रिय हो जाती है, और वर्तमान अवस्था सक्रिय हो जाती है।

राज्य के प्रकार

यूनिफाइड मॉडलिंग लैंग्वेज तीन प्रकार की अवस्थाओं को परिभाषित करती है:

  • सरल अवस्था
  • उनका कोई उपराज्य नहीं है।
  • समग्र अवस्था
  • इस प्रकार के राज्यों में एक या एक से अधिक उपराज्य हो सकते हैं।
  • दो या अधिक उप-अवस्थाओं वाली मिश्रित अवस्था को ऑर्थोगोनल अवस्था कहा जाता है।
  • सबमशीन की स्थिति
  • ये अवस्थाएं शब्दार्थ की दृष्टि से संयुक्त अवस्थाओं के बराबर हैं।
  • संयुक्त अवस्था के विपरीत, हम सबमशीन अवस्था का पुनः उपयोग कर सकते हैं।

स्टेटचार्ट आरेख कैसे बनाएं?

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

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

राज्य चार्ट आरेख बनाते समय निम्नलिखित नियमों पर विचार किया जाना चाहिए:

  1. राज्य संक्रमण का नाम अद्वितीय होना चाहिए.
  2. राज्य का नाम आसानी से समझने योग्य होना चाहिए और राज्य के व्यवहार का वर्णन करना चाहिए।
  3. यदि अनेक वस्तुएं हों, तो केवल आवश्यक वस्तुओं का ही क्रियान्वयन किया जाना चाहिए।
  4. प्रत्येक संक्रमण और घटना के लिए उचित नाम दिए जाने चाहिए।

स्टेट मशीन आरेख का उपयोग कब करें?

स्टेट डायग्राम का उपयोग वास्तविक जीवन के कार्यशील मॉडल और ऑब्जेक्ट-ओरिएंटेड सिस्टम को गहराई से लागू करने के लिए किया जाता है। इन डायग्राम का उपयोग सिस्टम के गतिशील व्यवहार को कैप्चर करके सिस्टम की गतिशील और स्थिर प्रकृति की तुलना करने के लिए किया जाता है।

स्टेटचार्ट आरेखों का उपयोग सिस्टम की विभिन्न इकाइयों में शुरू से अंत तक परिवर्तनों को पकड़ने के लिए किया जाता है। इनका उपयोग यह विश्लेषण करने के लिए किया जाता है कि कैसे एक घटना सिस्टम की कई स्थितियों में परिवर्तन को ट्रिगर कर सकती है।

राज्य वर्ण आरेख का उपयोग किया जाता है:

  1. किसी प्रणाली की वस्तुओं का मॉडल बनाना।
  2. इंटरैक्टिव प्रणालियों का मॉडल तैयार करना और उनका क्रियान्वयन करना।
  3. राज्यों के भीतर परिवर्तन लाने वाली घटनाओं को प्रदर्शित करने के लिए।

स्टेट मशीन का उदाहरण

निम्नलिखित राज्य आरेख उदाहरण चार्ट उपयोगकर्ता प्रमाणीकरण प्रक्रिया का प्रतिनिधित्व करता है।

यूएमएल स्टेट डायग्राम

यूएमएल स्थिति आरेख

कुल दो अवस्थाएँ हैं, और पहली अवस्था यह दर्शाती है कि पहले OTP दर्ज करना होगा। उसके बाद, निर्णय बॉक्स में OTP की जाँच की जाती है, यदि यह सही है, तो केवल राज्य संक्रमण होगा, और उपयोगकर्ता को मान्य किया जाएगा। यदि OTP गलत है, तो संक्रमण नहीं होगा, और यह फिर से शुरुआती अवस्था में वापस चला जाएगा जब तक कि उपयोगकर्ता सही OTP दर्ज नहीं करता है जैसा कि ऊपर दिए गए स्टेट मशीन आरेख उदाहरण में दिखाया गया है।

स्टेट मशीन आरेख बनाम फ्लोचार्ट

स्टेटचार्ट डायग्राम और फ्लोचार्ट के बीच मुख्य अंतर निम्नलिखित हैं

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

सारांश

  • स्टेटचार्ट आरेखों को स्टेट मशीन आरेख भी कहा जाता है।
  • इन आरेखों का उपयोग घटना-आधारित प्रणाली को मॉडल करने के लिए किया जाता है।
  • किसी इकाई की स्थिति को किसी घटना की सहायता से नियंत्रित किया जाता है।
  • कुल दो प्रकार के स्टेट मशीन आरेख हैं: 1) व्यवहार स्टेट मशीन आरेख 2) प्रोटोकॉल स्टेट मशीन आरेख
  • स्टेटचार्ट आरेख का उपयोग किसी प्रणाली के गतिशील पहलू को दर्शाने के लिए किया जाता है।
  • अवस्था किसी वस्तु के जीवनकाल में एक विशिष्ट क्षण होता है।