एक आवश्यकता आरेख एक विशेषज्ञ � ingineering दृश्यीकरण उपकरण है जिसका उपयोग सिस्टम आर्किटेक्ट्स, उत्पाद प्रबंधक और सॉफ्टवेयर इंजीनियर्स तकनीकी विशिष्टताओं, सिस्टम सीमाओं और प्रमाणीकरण परीक्षणों को नक्शा बनाने के लिए करते हैं। सिसीएमएल (सिस्टम मॉडलिंग भाषा) मानक पर आधारित, मूल आवश्यकता आरेखइंजन आपको टेक्स्ट-आधारित घोषणाओं का उपयोग करके संक्षिप्त डिजाइन आवश्यकताओं को भौतिक सिस्टम घटकों और परीक्षण मामलों से सीधे जोड़ने की अनुमति देता है।
आवश्यकता आरेख तत्वों को समझना
एक आवश्यकता आरेख मुख्य रूप से दो अलग-अलग संरचनात्मक निर्माण ब्लॉकों से बनता है: आवश्यकता ब्लॉक (जो नियमों को निर्दिष्ट करते हैं) और तत्व ब्लॉक (जो कोड, हार्डवेयर या परीक्षण स्क्रिप्ट के मॉडल के रूप में कार्य करते हैं)। फिर इन ब्लॉकों के बीच संबंध बनाए जाते हैं ताकि स्पष्ट ट्रेसेबिलिटी मैट्रिक्स बन सके।
मूल सिंटैक्स संरचना
प्रत्येक आरेख के साथ शुरू होता है आवश्यकता आरेखघोषणा हेडर। इसके बाद नेस्टेड गुणों, तत्व ब्लॉक और दिशात्मक संबंध रेखाओं के साथ आवश्यकता ब्लॉक को परिभाषित किया जाता है।
आवश्यकता आरेख
आवश्यकता परीक्षण_req {
आईडी: 1
पाठ: "सिस्टम को भुगतान को सुरक्षित ढंग से प्रक्रिया करना चाहिए।"
जोखिम: उच्च
प्रमाणित_विधि: परीक्षण
} 
पूर्ण आवश्यकता प्रकार वर्गीकरण
सभी इंजीनियरिंग आवश्यकताएं समान नहीं होती हैं। इंजन आपकी विशिष्टताओं को दृश्यात्मक और अर्थपूर्ण रूप से वर्गीकृत करने के लिए छह अलग-अलग ब्लॉक कीवर्ड प्रदान करता है। प्रत्येक प्रकार रेंडर किए गए आरेख बॉक्स के भीतर प्रदर्शित हेडर लेबल को बदलता है:
आवश्यकता: एक मानक या सामान्य सिस्टम विशिष्टता।कार्यात्मक आवश्यकता: सिस्टम द्वारा किए जाने वाले क्रिया या व्यवहारात्मक क्षमता को निर्दिष्ट करता है।इंटरफेस आवश्यकता: घटकों के बीच संयोजन बिंदुओं, डेटा आदान-प्रदान या संचार प्रोटोकॉल को परिभाषित करता है।प्रदर्शन आवश्यकता: गति, स्केलेबिलिटी, थ्रूपुट या क्षमता जैसे मापने योग्य कार्यान्वयन मापदंडों को सेट करता है।भौतिक आवश्यकता: सामग्री सीमाओं, आयामों, वजन या हार्डवेयर सीमाओं को निर्धारित करता है।डिज़ाइन सीमा: सॉफ्टवेयर चयन, आर्किटेक्चरल शैलियों, फ्रेमवर्क या संगतता मानकों को सीमित करता है।
आवश्यकता आरेख
डिज़ाइन सीमा पुरानी सीमा {
id: "CON-04"
text: "बैकएंड को PHP 8.2 पाइपलाइन्स के साथ पिछली संगतता बनाए रखनी होगी।"
जोखिम: कम
सत्यापन विधि: जांच
} 
वाक्य रचना संदर्भ: आवश्यकता तत्व और संशोधक
नीचे दी गई तालिका आवश्यकता व्याख्याकर्ता द्वारा मूल रूप से पहचाने जाने वाले प्राथमिक अर्थवाचक कीवर्ड, आवश्यक विशेषताओं और वर्गीकरण संरचनाओं को विभाजित करती है।
| वाक्य रचना घटक | प्रकार आवश्यकता | विवरण और समर्थित सिस्टम विशेषताएं |
|---|---|---|
| घोषणा | कीवर्ड पहचानकर्ता | SysML आवश्यकता कार्यक्षेत्र कैनवास को प्रारंभ करता है। बिल्कुल उसी का उपयोग करना होगाआवश्यकता आरेख ब्लॉक शीर्षक। |
| एकल पहचान विशेषता | id: अक्षर श्रृंखला / पूर्णांक |
एक अनिवार्य नेस्टेड पैरामीटर जो ट्रैकिंग फ्रेमवर्क के अंदर ट्रैकिंग सूचकांक या एकल अल्फान्यूमेरिक संदर्भ कोड प्रदान करता है। मिश्रित अंतराल अनुमत हैं। |
| पाठ विशेषता | पाठ:उद्धृत अक्षर श्रृंखला |
एक अनिवार्य वर्णनात्मक अक्षर श्रृंखला जो आइटम की वास्तविक विशिष्टता या व्यवहारात्मक सीमा का विवरण देती है। हमेशा डबल कोट्स में लपेटें। |
| जोखिम विशेषता | जोखिम:गंभीरता झंडी |
एक वैकल्पिक चिह्न जो आर्किटेक्चरल जोखिम की गंभीरता को ट्रैक करता है। कम स्तरीय टोकन स्वीकार करता है: कम, मध्यम, या उच्च. |
| प्रमाणन गुण | प्रमाणनविधि: विधि टैग |
एक वैकल्पिक पैरामीटर जो नियम के प्रमाणीकरण के तरीके की घोषणा करता है। मानक � ingineering मानों को स्वीकार करता है: विश्लेषण, प्रदर्शन, जांच, या परीक्षण. |
| प्रणाली तत्व | तत्व ब्लॉक |
सिंटैक्स का उपयोग करके एक भौतिक घटक, सॉफ्टवेयर घटक, या परीक्षण स्क्रिप्ट की घोषणा करता है: तत्व तत्व_नाम { प्रकार: "घटक_प्रकार" }. |
उन्नत संबंध और ट्रेसेबिलिटी लिंक
आवश्यकता आरेख की प्राथमिक शक्ति आवश्यकताओं को वास्तविक प्रणालियों से जोड़ने में निहित है। लिंक को विशेष, प्रकार वाले तीर संयोजकों (उदाहरण के लिए, - संतुष्ट करता है ->) का उपयोग करके स्पष्ट संरचनात्मक इरादा स्थापित किया जाता है।
समर्थित संबंध ऑपरेटर
| संबंध सिंटैक्स टोकन | रणनीतिक इंजीनियरिंग अर्थ | दिशात्मक प्रवाह नियम |
|---|---|---|
स्रोत - समावेश करता है -> लक्ष्य |
एक व्यापक मातृ आवश्यकता को एक छोटी, नेस्टेड उप-आवश्यकता में विभाजित करता है। | मातृ आवश्यकता ब्लॉक से उप-आवश्यकता ब्लॉक की ओर इशारा करता है। |
तत्व - संतुष्ट करता है -> आवश्यकता |
सिद्ध करता है कि एक भौतिक सॉफ्टवेयर या हार्डवेयर घटक एक नियम को सफलतापूर्वक पूरा करता है। | से इशारा करता हैतत्व ब्लॉक की ओर लक्षितआवश्यकता ब्लॉक। |
तत्व - सत्यापित करता है -> आवश्यकता |
संकेत देता है कि एक विशिष्ट परीक्षण स्क्रिप्ट या परीक्षण मामला एक नियम की सटीकता की जांच करता है। | परीक्षण से इशारा करता हैतत्व ब्लॉक की ओर लक्षितआवश्यकता ब्लॉक। |
स्रोत - प्रतिलिपि बनाता है -> लक्ष्य |
एक प्रतिलिपि आवश्यकता को इंगित करता है जो दूसरी जगह स्थित मुख्य आवश्यकता से पूरी तरह मैप होती है। | प्रतिलिपि क cop ब्लॉक की ओर इशारा करता है मुख्य मूल ब्लॉक की ओर। |
स्रोत - ट्रेस करता है -> लक्ष्य |
दो अलग-अलग आवश्यकताओं के बीच एक व्यापक निर्भरता या ऐतिहासिक संबंध स्थापित करता है। | आश्रित आवश्यकता से मुख्य लक्ष्य ब्लॉक की ओर इशारा करता है। |
स्रोत - व्युत्पन्न होता है -> लक्ष्य |
संकेत देता है कि एक आवश्यकता को दूसरी आवश्यकता के सीधे परिणाम के रूप में गणना या उत्पन्न किया गया था। | व्युत्पन्न बच्चे ब्लॉक से स्रोत मातृ ब्लॉक की ओर इशारा करता है। |
स्रोत - सुधारता है -> लक्ष्य |
एक बहुत जटिल, उच्च स्तरीय तकनीकी विवरण में अतिरिक्त बातचीत या स्पष्टता जोड़ता है। | सुधारित विवरण से मूल लक्ष्य ब्लॉक की ओर इशारा करता है। |
उपयोगकर्ता-परिभाषित तत्व एवं विस्तारित लक्षण
मानक आवश्यकताओं के अतिरिक्त, यह तत्वकीवर्ड आपको अपने ट्रेस पथ में विशिष्ट एप्लिकेशन स्क्रिप्ट, हार्डवेयर आइटम या तृतीय-पक्ष पैकेज को मैप करने की अनुमति देता है। प्रत्येक तत्व ब्लॉक को अपने कुंजी-मान विशेषताओं के रूप में कस्टम कुंजी-मान मेटाडेटा गुणों को संग्रहीत करने की अनुमति देता है, जिसके लिए आपको उसके कोष्ठकों के भीतर प्रकार: स्कीमा का उपयोग करके।
आवश्यकता आरेख
तत्व payment_gateway_api {
प्रकार: "स्ट्राइप माइक्रोसर्विस मॉड्यूल"
}
तत्व compliance_audit_log {
प्रकार: "अपरिवर्तनीय डेटाबेस तालिका"
} 
वास्तविक दुनिया का ब्लूप्रिंट: जटिल ई-कॉमर्स सुरक्षा ढांचा
यह व्यापक ब्लूप्रिंट एक पूर्ण उत्पादन सुसंगतता पारिस्थितिकी तंत्र का अनुसरण करता है। यह समावेश करता है, प्रदर्शन सीमाओं को मैप करता है, सॉफ्टवेयर मॉड्यूल को संतुष्ट करता है, और एकीकृत टेस्ट केस को सत्यापित करता है लूप के माध्यम से मैप करता है।
आवश्यकता आरेख
%% आवश्यकता पदानुक्रम परत
आवश्यकता security_master_req {
id: "SEC-001"
text: "एप्लिकेशन प्लेटफॉर्म को सख्त PCI-DSS मानक सुसंगतता बनाए रखनी चाहिए।"
जोखिम: उच्च
सत्यापन विधि: परीक्षण
}
प्रदर्शन आवश्यकता checkout_speed_req {
id: "PERF-22"
text: "MFA क्रिप्टोग्राफिक प्रमाणीकरण हैंडशेक को 200ms के भीतर संकलित करना चाहिए।"
जोखिम: मध्यम
सत्यापन विधि: विश्लेषण
}
इंटरफेस आवश्यकता secure_token_req {
id: "INT-09"
text: "API डेटा स्थानांतरणों को एन्क्रिप्टेड JSON वेब टोकन (JWT) का उपयोग करना चाहिए।"
जोखिम: उच्च
सत्यापन विधि: परीक्षण
}
%% सिस्टम तत्व परत
तत्व auth_service_code {
प्रकार: "Go बैकएंड माइक्रोसर्विस"
}
तत्व load_tester_script {
प्रकार: "K6 प्रदर्शन स्क्रिप्ट"
}
तत्व jwt_validator_test {
प्रकार: "Jest एकीकृत इकाई सूट"
}
%% संरचनात्मक संबंध मार्ग
security_master_req - समावेश करता है -> checkout_speed_req
security_master_req - समावेश करता है -> secure_token_req
auth_service_code - संतुष्ट करता है -> secure_token_req
load_tester_script - सत्यापित करता है -> checkout_speed_req
jwt_validator_test - सत्यापित करता है -> secure_token_req 
सामान्य सिंटैक्स त्रुटियाँ और सिस्टम सीमाएँ
सटीक इंजीनियरिंग नक्शों को संकलित करते समय, पार्सिंग त्रुटियों से बचने के लिए इन सत्यापन पैरामीटर्स को ध्यान में रखें:
- स्ट्रिंग्स के लिए अनिवार्य डबल कोट्स: पाठ ब्लॉक और प्रकार (उदाहरण के लिए,
text: "विवरण",प्रकार: "घटक") *अनिवार्य* डबल कोट्स में लपेटे जाने चाहिए। सिंगल कोट्स का उपयोग करना या स्ट्रिंग्स को अनकोटेड छोड़ना कंपाइलर को क्रैश कर देगा। - कठोर विशेषता सिंटैक्स: कोष्ठक के भीतर विशेषताओं का उपयोग कोलन के बाद सीधे मानों के साथ किया जाना चाहिए (उदाहरण के लिए,
आईडी: 1). कोलन को भूलना या उन्हें सही इंडेंटेशन स्पेसिंग के बिना एक ही लाइन पर लिखना त्रुटियाँ फेंक सकता है। - सीमित मान विकल्प: द
खतराऔरसत्यापन विधिपैरामीटर केवल स्पष्ट सिस्टम टोकन स्वीकार करते हैं (उदाहरण के लिए,कम,मध्यम,उच्चखतरे के लिए;विश्लेषण,प्रदर्शन,जांच,परीक्षणसत्यापन विधि के लिए)। कस्टम मान टाइप करना जैसेखतरा: चरमलेआउट बिल्डर को तोड़ देगा। - तीर स्थानांतरण अखंडता: दिशात्मक रेखाओं को ऑपरेटरों के चारों ओर स्थान स्थापित करके टाइप किया जाना चाहिए (उदाहरण के लिए,
ए - संतुष्ट करता है -> बी). स्ट्रिंग को संक्षिप्त करनाए-संतुष्ट करता है->बीसिस्टम प्रोसेसिंग एक्सेप्शन्स को ड्रॉप करेगा।