एक उपयोग केस आरेख क्या है?
एक उपयोग केस आरेखएक व्यवहारात्मक नक्शा है जिसका उपयोग एक प्रणाली के उपयोगकर्ताओं (जिन्हें अभिनेता कहा जाता है) और उनके द्वारा प्राप्त करने के लिए विशिष्ट क्रियाओं या लक्ष्यों (जिन्हें उपयोग केस कहा जाता है) के बीच संबंधों को दृश्यमान करने के लिए किया जाता है। चरण-दर-चरण तर्क लूप को दिखाने के बजाय, एक उपयोग केस आरेख प्रणाली के कार्यात्मक सीमा का उच्च स्तर का अवलोकन प्रदान करता है, जिससे यह परियोजना आवश्यकताओं, प्रणाली सीमाओं और हितधारक प्रवाह को परिभाषित करने के लिए एक उत्कृष्ट उपकरण बन जाता है।
साथ में VPasCode, आप दृश्य कैनवास संरेखण के लिए लड़ने के बिना स्पष्ट, पेशेवर उपयोग केस आरेख तुरंत बना सकते हैं। यह गाइड भ्रामक, पुराने निर्देशों को छोड़ देता है और दैनिक सॉफ्टवेयर दस्तावेजीकरण के लिए आपको आवश्यक व्यावहारिक सिंटैक्स तत्वों पर ध्यान केंद्रित करता है।
मूल सिंटैक्स गाइड: तत्व और निर्माण
PlantUML में उपयोग केस आरेख बनाने के लिए कुछ सरल संरचनात्मक तत्वों पर निर्भरता होती है, जो आपके मानक @startuml और @enduml टैगों के भीतर लपेटे गए हैं।
1. अभिनेताओं की घोषणा
एक अभिनेता एक बाहरी संस्था का प्रतिनिधित्व करता है जो आपके एप्लिकेशन के साथ बातचीत करता है (जैसे मानव उपयोगकर्ता, बैकग्राउंड सेवा या बाहरी हार्डवेयर API)। आप अभिनेता की घोषणा करने के लिए अभिनेताकीवर्ड के बाद एक आ inter शॉर्टहैंड ID का उपयोग करके करते हैं:
अभिनेता ग्राहक
अभिनेता प्रशासक के रूप में "सिस्टम प्रशासक" 
प्रो टिप: का उपयोग करें के रूप मेंकीवर्ड का उपयोग करके जटिल अभिनेता पहचान को स्पष्ट, मानव-पठनीय प्रदर्शन डेटा निर्धारित करें।
2. उपयोग केस को परिभाषित करना
एक उपयोग केस एक कार्यात्मक लक्ष्य या व्यावसायिक प्रक्रिया का प्रतिनिधित्व करता है। आप एक उपयोग केस को दो तरीकों से परिभाषित कर सकते हैं: परिप्रेक्ष्य के भीतर पाठ को घेरकर (आपका उपयोग केस), या स्पष्ट रूप से उपयोग केसजटिल प्रारूपण के लिए कीवर्ड:
(डैशबोर्ड में लॉगिन करें)
उपयोग केस चेकआउट के रूप में "क्रेडिट कार्ड भुगतान प्रक्रिया" 
3. मूल बातचीत का नक्शा बनाना
अपने अभिनेताओं को उनके संबंधित उपयोग केस से जोड़ने के लिए, मूल दिशित या अदिश संबंध रेखाओं का उपयोग करें। आप एक बातचीत के लिए महत्वपूर्ण संदर्भ जोड़ने के लिए पाठात्मक लेबल भी जोड़ सकते हैं:
ग्राहक --> (डैशबोर्ड में लॉगिन करें)
प्रशासक --> चेकआउट : "रिफंड की मंजूरी देता है" 
4. उन्नत संबंध: शामिल करें और विस्तारित करें
जब जटिल प्रणाली व्यवहार के मॉडलिंग करते हैं, तो आपको मानक UML स्टेरियोटाइपिंग का उपयोग करके विभिन्न उपयोग केसों के बीच निर्भरता दिखाने की आवश्यकता होती है:
- शामिल करें (अनिवार्य निर्भरता):यह इंगित करता है कि एक मूल उपयोग केस किसी अन्य सहायक उपयोग केस पर निर्भर है ताकि इसके कार्यान्वयन को सफलतापूर्वक पूरा किया जा सके। एक बिंदुदार कनेक्टर लाइन का उपयोग करें (
..>) पाठात्मक लेबल के साथ जोड़ें:Plantuml Edit Plantuml in VPasCode(चेकआउट प्रक्रिया) ..> (बैलेंस की जांच) : <<शामिल करें>>
- विस्तारित करें (वैकल्पिक/शर्ताधीन व्यवहार):यह इंगित करता है कि विशिष्ट शर्तों के तहत एक वैकल्पिक वर्कफ्लो मूल उपयोग केस से अलग हो सकता है। ध्यान दें कि तीर *विस्तारित* उपयोग केस से *मूल* उपयोग केस की ओर इशारा करता है:
Plantuml Edit Plantuml in VPasCode
(प्रमोशन कोड लागू करें) ..> (चेकआउट प्रक्रिया) : <<विस्तारित करें>>
5. प्रणाली सीमाओं को लागू करना
अपने सॉफ्टवेयर एप्लिकेशन के भीतर क्या होता है और बाहर क्या होता है, उसे स्पष्ट रूप से अलग करने के लिए, “आयत आंतरिक उपयोग के मामलों को लपेटने के लिए कीवर्ड। महत्वपूर्ण बात यह है कि एक्टर्स को इस कंटेनर ब्लॉक के बाहर रखा जाना चाहिए ताकि उनकी स्थिति के रूप में बाहरी सहभागी को दर्शाया जा सके:
एक्टर कस्टमर
आयत "ई-कॉमर्स प्लेटफॉर्म" {
(कैटलॉग ब्राउज़ करें)
(कार्ट में जोड़ें)
}
customer --> (कैटलॉग ब्राउज़ करें)
customer --> (कार्ट में जोड़ें) 
स्पष्ट लेआउट के लिए सर्वोत्तम प्रथाएं
- पाठ संक्षिप्त रखें: उपयोग के मामले हमेशा स्पष्ट, सक्रिय क्रिया से शुरू होने चाहिए (उदाहरण के लिए, “रिपोर्ट जनरेट करें”, “प्रोफाइल अपडेट करें”) लंबे वाक्य के बजाय।
- दिशात्मक एंकर्स का उपयोग करें: यदि आपके एक्टर्स और उपयोग के मामले एक अव्यवस्थित ढेर में जमा हो जाते हैं, तो स्थानिक दिशा तीरों का उपयोग करें जैसे
-दाएं->या-नीचे->लेआउट इंजन को एक स्पष्ट, पढ़ने योग्य संरचना में धीरे से धकेलने के लिए। - प्रणाली सीमाओं को अलग करें: जब एप्लिकेशन के बाहरी तीसरे पक्ष के बहुत सारे माइक्रोसर्विसेज़ के साथ बातचीत कर रहे हों, तो हमेशा एक सीमा आयत का उपयोग करें। इससे तुरंत स्पष्ट हो जाता है कि किसी प्रक्रिया का कौन जिम्मेदार है।
वास्तविक दुनिया के प्लांटयूएमएल उपयोग के मामले आरेख उदाहरण
निम्नलिखित व्यावहारिक ब्लूप्रिंट्स को सीधे अपने VPasCode लाइव संपादक पैनल में कॉपी और पेस्ट करें ताकि आप देख सकें कि वे डायनामिक रूप से कैसे रेंडर होते हैं।
उदाहरण 1: मुख्य उपयोगकर्ता प्रमाणीकरण और खाता प्रबंधन
यह ब्लूप्रिंट एक मानक एप्लिकेशन पारिस्थितिकी तंत्र का मॉडल बनाता है जिसमें मुख्य उपयोगकर्ता, एक प्रशासनिक ऑपरेटर और मुख्य सुरक्षा तंत्र वाला एक सीमा बॉक्स शामिल है।
@startuml
' लेआउट दिशा बाएं से दाएं सेट करें
बाएं से दाएं दिशा
एक्टर "अंतिम उपयोगकर्ता" को user के रूप में नामित करें
एक्टर "सुरक्षा प्रशासक" को admin के रूप में नामित करें
आयत "पहचान प्रदाता सेवा" {
(लॉग इन करें)
(पासवर्ड रीसेट करें)
(प्रोफाइल डेटा अपडेट करें)
(सुरक्षा लॉग रीव्यू करें)
(खाते डिएक्टिवेट करें)
}
user --> (लॉग इन करें)
user --> (पासवर्ड रीसेट करें)
user --> (प्रोफाइल डेटा अपडेट करें)
(सुरक्षा लॉग रीव्यू करें) <-- admin
(खाते डिएक्टिवेट करें) <-- admin
@enduml 
सिंटैक्स विश्लेषण: निर्देश बाएं से दाएं दिशा लेआउट इंजन को एक्टर्स को बाहरी पंखों पर स्थित करने और उपयोग केस को ऊर्ध्वाधर बजाय क्षैतिज रूप से बढ़ाने के लिए मजबूर करता है। ध्यान दें कि एक्टर घोषणाओं को स्पष्ट रूप से आयत लेपन के बाहर रखने से उन्हें व्यवस्थित रखता है, जबकि प्रशासक उपयोगकर्ता के लिए तीर के कोने की दिशा को उलट देता है (<-- प्रशासक) उन्हें आरेख मैट्रिक्स के दाहिनी ओर स्पष्ट रूप से जोड़ता है।
उदाहरण 2: बाहरी निर्भरताओं के साथ उन्नत ई-कॉमर्स चेकआउट
यह वास्तविक दुनिया का सिस्टम लेआउट एक जटिल चेकआउट वर्कफ्लो को नक्शा बनाता है जो बाहरी बैंकिंग एपीआई, संरचनात्मक शामिलता और वैकल्पिक विस्तार झंडियों पर निर्भर करता है।
@startuml
बाएं से दाएं दिशा
एक्टर "ग्राहक" को customer के रूप में नामित करें
एक्टर "गोदाम कर्मचारी" को staff के रूप में नामित करें
एक्टर "स्ट्राइप गेटवे" को stripe के रूप में नामित करें
आयत "ऑनलाइन स्टोर फुलफिलमेंट सिस्टम" {
(आदेश दें)
(कूपन लागू करें)
(बिल जनरेट करें)
(पिक पैक आइटम्स)
(शिपिंग स्थिति अपडेट करें)
}
' सिस्टम सीमाओं तक बाहरी अंतरक्रियाएं
customer --> (आदेश दें)
(आदेश दें) --> stripe : "फंड अधिकृत करें"
' शामिल और विस्तार संरचनाएं
(आदेश दें) ..> (बिल जनरेट करें) : <<शामिल>>
(कूपन लागू करें) ..> (आदेश दें) : <<विस्तार>>
' फुलफिलमेंट मार्ग
(पिक पैक आइटम्स) <-- staff
(शिपिंग स्थिति अपडेट करें) <-- staff
(बिल जनरेट करें) --> staff : "ईमेल कॉपी"
@enduml 
सिंटैक्स विश्लेषण: यह टेम्पलेट यह दर्शाता है कि एकल उपयोग केस (आदेश दें) के एक आह्वान को अनिवार्य करता है (बिल जनरेट करें) के उपयोग से <<शामिल>> टैग बिंदु रेखा के ऊपर। इसी बीच, कूपन कोड लागू करना सही तरीके से आधार निष्पादन की ओर पीछे की ओर इशारा करते हुए वैकल्पिक शाखा के रूप में मॉडल किया गया है।<<विस्तार>> आधार निष्पादन की ओर पीछे की ओर इशारा करता है। सभी बाहरी एक्टर्स स्पष्ट रूप से सिस्टम एनवेलॉप के बाहर रहते हैं।