एक डेटा फ्लो मॉडल एक ऐसा तरीका है जो सिस्टम द्वारा डेटा को कैसे प्रसंस्कृत किया जाता है, इसे समझाने के लिए उपयोगी है। विश्लेषणात्मक स्तर पर, उनका उपयोग मौजूदा सिस्टम में डेटा के प्रसंस्करण के तरीके को मॉडल करने के लिए किया जाना चाहिए।
प्रकाशन के बाद डेमार्को की पुस्तक स्ट्रक्चर्ड सिस्टम एनालिसिस, डेटा फ्लो मॉडल विश्लेषण में अधिक और अधिक लोकप्रिय हो गया है। इनका उपयोग इस कार्य से विकसित संरचित दृष्टिकोण का एक अभिन्न हिस्सा है। इन मॉडलों में उपयोग किए जाने वाले प्रतीक कार्य प्रसंस्करण (गोलाकार आयत), डेटा भंडारण (आयत), और कार्यों के बीच डेटा गति (लेबल वाले तीर) का प्रतिनिधित्व करते हैं।
डीएफडी सॉफ्टवेयर विकास के लिए अभी भी क्यों उपयोगी है?
हालांकि डेटा फ्लो आधारित मॉडलिंग कुछ सॉफ्टवेयर � ingineers द्वारा एक अप्रचलित तकनीक माना जाता है, लेकिन यह अभी भी सबसे अधिक उपयोग किए जाने वाले आवश्यकता विश्लेषण प्रतीकों में से एक है। हालांकि डेटा फ्लो आरेख (DFD) UML के औपचारिक हिस्से नहीं हैं, लेकिन उनका उपयोग UML आरेखों को संपूर्ण बनाने और सिस्टम की आवश्यकताओं और प्रक्रियाओं के बारे में अतिरिक्त जानकारी प्रदान करने के लिए किया जा सकता है।
डेटा फ्लो मॉडल की कीमत इसलिए है कि एक विशेष प्रक्रिया से संबंधित डेटा के सिस्टम के माध्यम से कैसे गति करता है, इसका ट्रैकिंग और रिकॉर्डिंग करने से विश्लेषकों को यह समझने में मदद मिलती है कि क्या हो रहा है। डेटा फ्लो आरेखों का लाभ यह है कि कुछ अन्य मॉडलिंग प्रतीकों के विपरीत, वे सरल और स्पष्ट हैं। उन्हें आमतौर पर भविष्य के सिस्टम उपयोगकर्ताओं को समझाया जा सकता है, जो आवश्यकता विश्लेषण और मान्यता के लिए शामिल हो सकते हैं।
डीएफडी क्यों?
डीएफडी फंक्शन या प्रक्रियाओं का ग्राफिकल रूप से प्रतिनिधित्व करता है, जो एक सिस्टम और उसके वातावरण के बीच और सिस्टम के घटकों के बीच डेटा को कैप्चर, मैनिपुलेट, स्टोर और वितरित करते हैं। दृश्य प्रतिनिधित्व इसे उपयोगकर्ता और सिस्टम डिजाइनर के बीच एक अच्छा संचार उपकरण बनाता है। डीएफडी की संरचना एक व्यापक अवलोकन से शुरू करने और विस्तृत आरेखों के पदानुक्रम में विस्तार करने की अनुमति देती है। डीएफडी का उपयोग निम्नलिखित कारणों से अक्सर किया जाता है:
- सिस्टम का तार्किक सूचना प्रवाह
- भौतिक सिस्टम निर्माण आवश्यकताओं का निर्धारण
- प्रतीकों की सरलता
- मैनुअल और स्वचालित सिस्टम आवश्यकताओं की स्थापना
डीएफडी एक ऊपर से नीचे की विभाजन प्रक्रिया है
डेटा फ्लो मॉडलिंग एक “ऊपर से नीचे” प्रक्रिया है। पहले पूरे आपूर्ति प्रक्रिया का विश्लेषण करें। फिर उप-प्रक्रियाओं का ऊपर से नीचे की विभाजन विधि से विश्लेषण करें।
डीएफडी का उपयोग किसी भी स्तर के अमूर्तता पर सिस्टम या सॉफ्टवेयर के मॉडलिंग के लिए किया जा सकता है। जैसा कि पहले बताया गया है, डीएफडी को ऐसे स्तरों में विभाजित किया जा सकता है जो बढ़ते हुए सूचना प्रवाह और कार्यात्मक विवरण का प्रतिनिधित्व करते हैं। डीएफडी में स्तर संख्या 0, 1, 2 या उससे अधिक होती है। यहाँ हम देखेंगे कि डेटा फ्लो आरेख में तीन मुख्य स्तर होते हैं, जिन्हें क्रमशः स्तर 0 डीएफडी, स्तर 1 डीएफडी और स्तर 2 डीएफडी कहा जाता है।

संदर्भ आरेख — डीएफडी के स्तर
संदर्भ आरेख (जिसे स्तर 0 डीएफडी के रूप में भी जाना जाता है), यह पूरे सॉफ्टवेयर आवश्यकता का एक बबल के रूप में प्रतिनिधित्व करता है, जहाँ इनपुट और आउटपुट डेटा को इनपुट और आउटपुट तीरों द्वारा दर्शाया जाता है।
फिर सिस्टम को बहुत सारे बबल वाले डीएफडी में विभाजित किया जाता है। प्रत्येक बबल द्वारा प्रतिनिधित्व किए गए सिस्टम के हिस्सों को फिर से विभाजित किया जाता है और बढ़ते हुए विस्तार के साथ डेटा फ्लो आरेखों में रिकॉर्ड किया जाता है। इस प्रक्रिया को आवश्यक स्तरों पर दोहराया जा सकता है जब तक कि हाथ में वाले प्रोग्राम को पूरी तरह समझ लिया जाए।
स्तरों के बीच इनपुट और आउटपुट की संख्या को बनाए रखना आवश्यक है, जिसे डेमार्को लेवलिंग के रूप में जाना जाता है। इसलिए, यदि बबल “A” में दो इनपुट X1 और X2 और एक आउटपुट Y है, तो ऊपरी स्तर डीएफडी “A” का प्रतिनिधित्व करने वाले उप-स्तर डेटा फ्लो आरेख में ठीक दो बाहरी इनपुट और एक बाहरी आउटपुट होने चाहिए।
1-स्तर डीएफडी में, संदर्भ आरेख को कई प्रक्रियाओं में विभाजित किया जाता है। इस स्तर पर हम सिस्टम के मुख्य कार्यों पर जोर देते हैं और स्तर 0 डीएफडी की उच्च स्तरीय प्रक्रिया को उप-प्रक्रियाओं में विभाजित करते हैं, ताकि प्रक्रिया गतिविधियों के विवरण को दर्शाया जा सके।
संदर्भ आरेख (स्तर 0 डीएफडी) — एक संदर्भ आरेख डीएफडी एक आरेख है जो सिस्टम के एक समग्र दृश्य और इसके “दुनिया” के बाकी हिस्सों के साथ अंतरक्रिया का प्रतिनिधित्व करता है।
स्तर 1 डेटा फ्लो आरेख — लेवल 1 DFD संपूर्ण प्रणाली के निर्माण करने वाले मुख्य उप प्रक्रियाओं और डेटा भंडार को दिखाकर संदर्भ आरेख की तुलना में प्रणाली के बारे में अधिक विस्तृत दृश्य प्रदान करता है।
लेवल 2 (या निचला) — डेटा फ्लो मॉडलिंग तकनीक का एक मुख्य लाभ यह है कि वास्तविक दुनिया की प्रणालियों की विस्तृत जटिलता को “लेवलिंग” नामक तकनीक के माध्यम से एक स्तर पर व्यवस्थित और मॉडल किया जा सकता है। किसी भी डेटा फ्लो आरेख के कुछ तत्वों को एक निचले स्तर पर अधिक विस्तृत मॉडल में विभाजित किया जा सकता है।
DFD स्तर — उदाहरण— भोजन आदेश प्रणाली
लेवल 0
इसे एक अन्य नाम से भी जाना जाता हैसंदर्भ आरेखयह एक अमूर्त दृश्य के रूप में डिज़ाइन किया गया है, जो प्रणाली को एकल प्रक्रिया के रूप में दिखाता है और इसके बाहरी एजेंसियों के साथ संबंध को दर्शाता है।
- संदर्भ आरेख को एक पृष्ठ में फिट होना चाहिए।
- संदर्भ आरेख में प्रक्रिया का नाम सूचना प्रणाली का नाम होना चाहिए।
- उदाहरण के लिए, ग्रेडिंग प्रणाली, आदेश प्रसंस्करण प्रणाली, पंजीकरण प्रणाली।

1-लेवल DFD में, संदर्भ आरेख को कई प्रक्रियाओं में विभाजित किया जाता है। इस स्तर पर हम प्रणाली के मुख्य कार्यों पर ध्यान केंद्रित करते हैं और 0-लेवल DFD की उच्च स्तरीय प्रक्रिया को उप प्रक्रियाओं में विभाजित करके प्रसंस्करण गतिविधियों के विवरण को दर्शाते हैं।
लेवल 1 — भोजन आदेश प्रणाली
1-लेवल DFD में, संदर्भ आरेख को कई प्रक्रियाओं में विभाजित किया जाता है। इस स्तर पर हम प्रणाली के मुख्य कार्यों पर ध्यान केंद्रित करते हैं और 0-लेवल DFD की उच्च स्तरीय प्रक्रिया को उप प्रक्रियाओं में विभाजित करके प्रसंस्करण गतिविधियों के विवरण को दर्शाते हैं।

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

प्रक्रिया उदाहरण

डेटा प्रवाह
एक डेटा प्रवाह डेटा के एक भाग से दूसरे भाग में जाने के लिए एक मार्ग है। डेटा प्रवाह एक डेटा तत्व जैसे कस्टमर आईडी का प्रतिनिधित्व कर सकता है या एक डेटा तत्व के सेट (या डेटा संरचना) का प्रतिनिधित्व कर सकता है।
उदाहरण:
- ग्राहक_जानकारी (अंतिम नाम, प्रथम नाम, एसएस#, फोन नंबर, आदि।)
- आदेश_जानकारी (आदेश_आईडी, आइटम#, आदेश_तिथि, ग्राहक_आईडी, आदि।)
डेटा प्रवाह उदाहरण:

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

डेटा स्टोर उदाहरण

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

बाहरी एकाइटी का उदाहरण

ध्यान दें कि:
- बाहरी एकाइटी को अंतिम बिंदु कहा जाता है क्योंकि वे डेटा के उत्पत्ति स्थल या अंतिम गंतव्य होते हैं।
- एक बाहरी एकाइटी को डेटा प्रवाह के माध्यम से एक प्रक्रिया से जोड़ा जाना चाहिए।
डेटा प्रवाह का नियम
DFD विकसित करने के नियमों में से एक यह है कि सभी प्रवाह को प्रक्रिया चरण से शुरू होना चाहिए और उसी पर समाप्त होना चाहिए। यह बहुत तार्किक है, क्योंकि डेटा बिना प्रक्रिया के अपने आप बदल नहीं सकता है। अंगूठे के नियम का उपयोग करके, एक DFD में अवैध डेटा प्रवाह की पहचान करना और उन्हें सुधारना बहुत आसान होता है।
गलत / सही वर्णन


कोई एकाइटी किसी अन्य एकाइटी को डेटा प्रदान नहीं कर सकती है जब तक कि कोई प्रक्रिया न हो जाए।


डेटा किसी एकाइटी से डेटा स्टोर में बिना प्रक्रिया के सीधे नहीं जा सकता है।


डेटा किसी डेटा स्टोर से बिना प्रक्रिया के सीधे नहीं जा सकता है।


डेटा एक डेटा स्टोर से दूसरे डेटा स्टोर में बिना प्रक्रिया के सीधे नहीं जा सकता है।
DFD में अन्य आम गलतियाँ
DFD की दूसरी श्रेणी की गलतियाँ तब उत्पन्न होती हैं जब एक प्रक्रिया चरण के आउटपुट उसके इनपुट के मेल नहीं खाते हैं और उन्हें निम्न श्रेणियों में वर्गीकृत किया जा सकता है:
- काले छेद — एक प्रक्रिया चरण में इनपुट प्रवाह हो सकते हैं लेकिन आउटपुट प्रवाह नहीं हो सकते हैं।
- चमत्कार — एक प्रक्रिया चरण में आउटपुट प्रवाह हो सकते हैं लेकिन इनपुट प्रवाह नहीं हो सकते हैं।
- ग्रे होल्स — एक प्रक्रिया चरण में आउटपुट इनपुट के योग से अधिक हो सकते हैं

मुफ्त UML टूल
- ऑनलाइन डेटा प्रवाह आरेख बनाने वाला
- डेटा प्रवाह आरेख (DFD) कैसे बनाएं?
- डेटा प्रवाह आरेख (DFD) सॉफ्टवेयर
DFD के विभिन्न प्रतीक
यह पोस्ट Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 और 繁體中文 में भी उपलब्ध है।













