waterfallfeature

Waterfall model in Hindi: वॉटरफॉल मॉडल हिंदी में, Advantages & Disadvantages

दोस्तों इस ब्लॉग में मै आपको waterfall model के बारे में बताने वाला हूँ, जिसका अध्यन शायद आपने सॉफ्टवेयर इंजीनियरिंग में किया होगा या कर रहे होंगे |
waterfall model सॉफ्टवेयर को बनाने की प्रक्रिया का एक प्रकार है! इसे linear sequential मॉडल अथवा क्लासिक लाइफ साइकिल(Classic life cycle model) मॉडल भी कहा जाता है!

जैसा की आप निचे दिए हुए चित्र में देख सकते है कि वाटर फल मॉडल(waterfall model) कि शुरुआत सॉफ्टवेयर बनाने की जरूरतों को एकत्रित करने(Requirement gathering) से होती है! और फिर अगले चरण में ये प्रक्रिया analysis, designing, coding, testing and maintenance phase से होकर गुजरती है!

waterfall model featureimg
Waterfall Model

Requirement gathering and Analysis

Requirement gathering and Analysis फेज waterfall model का बहुत ही महत्वपूर्ण होता है क्योकि यह एक सॉफ्टवेयर को बनाने की प्रक्रिया का पहला पार्ट होता है, और अगर यहाँ पर कोई गलती की जाती है तो वो पुरे सॉफ्टवेयर को खराब कर सकती है! इस फेज में सॉफ्टवेयर इंजीनियर द्वारा सॉफ्टवेयर से सम्बंधित सारी जानकारी एकत्रित की जाती है!

जैसे की सॉफ्टवेयर बनाने का उद्देस्य क्या है, उसके क्या क्या फंक्शन होंगे और वह कैसा बेहेवियर करेगा, इन सभी जानकारियों को एकत्रित करके एक डॉक्यूमेंट में समाहित किया जाता है! और इसके बाद कस्टमर के साथ कई डिसकसशन किये जाते है उनकी समीछा लेने के लिए. और जब कस्टमर और सॉफ्टवेयर इंजीनियर Requirement gathering and analysis से संतुस्ट हो जाते है तब एनालिस्ट(सॉफ्टवेयर इंजीनियर) अपने अगले चरण की ओर अग्रसर होता है!

Suppose that आपको लाइब्रेरी सिस्टम पर एक प्रोजेक्ट बनाना है, तब आप सबसे पहले लाइब्रेरी जाकर इनफार्मेशन कलेक्ट करंगे जैसे कि वह पर सिस्टम कैसे चलता है| आप निम्नलिखित बिन्दुओ पर इनफार्मेशन कलेक्ट कर सकते है|

लाइब्रेरी में बुक्स का मैनेजमेंट कैसे होता है, मतलब अलग अलग सेमेस्टर की सब्जेक्ट वाइज बुक कैसे राखी जाती है, जिससे की उन्हें आसानी से ढूंढा जा सके |

स्टूडेंट का रिकार्ड्स कैसे मेन्टेन होता है?

लाइब्रेरी बुक्स पर फाइन कैसे लगता है और कितना लगता है और कब कब लगता है?

ये सब Request gathering का हिस्सा होता है | और इसके बाद आप और आपकी टीम इस पर बैठ कर एनालिसिस(analysis) करते है और अपने अपने सुझाव प्रका करते है | This was all about the first model of waterfall model.

Design

सॉफ्टवेयर मेकिंग की प्रक्रिया में or in waterfall model, अगला स्टेप डिजाइनिंग(Design) का होता है! यह रेक्विरेमेंट एकत्रित करने और कोडिंग करने के बीच का स्टेप है!
डिज़ाइन की प्रक्रिया निम्नलिखित बिन्दुओ पर निर्भर करती है!]

डाटा स्ट्रक्चर (Data Structure)
सॉफ्टवेयर आर्किटेक्चर (Software Architecture)
इंटरफ़ेस रिप्रजेंटेशन (Interface Representation)
अल्गोरिथम डिटेल्स (Algorithm details)

पहले चरण(Of waterfall model)) में एकत्रित की गयी जानकारी को कई छोटे छोटे मॉडल में कन्वर्ट करना पड़ता है जिससे की हम उसकी आसानी से कोडिंग कर सके! हम इस डिज़ाइन को डॉक्यूमेंट में उतार लेते है जिससे की कोडिंग करते टाइम हम इसे आसानी से समझ पाए!

डिज़ाइन फेज में हम मुख्य रूप से दो मॉडल पर काम करते है एक तो बैकेंड और डेटाबेस एंड फ्रंट-एन्ड डिज़ाइन और जी यू आई(GUI) डिज़ाइन, बैकेंड डिज़ाइन में हम फिक्स करते है की कितनी टेबल बनेगी एंड वो एक दूसरे से कैसे रेलेट होंगी और फ्रंट-एन्ड में हम तय करते है की कितने पेज होंगे और उन पर कंटेंट कैसे होगा मेनू कैसे होगा |

Coding

डिज़ाइन फेज के बाद अगला चरण(In waterfall Model) कोडिंग का आता है जो की बहुत ही महत्वपूर्ण चरण है! यहाँ पर सॉफ्टवेयर इंजीनियर द्वारा और डेवलपर द्वारा इसके पहले चरण में डिज़ाइन की गयी चीज़ो को मशीन रेडबले लैंग्वेज में कन्वर्ट किया जाता है! अगर हमारी डिज़ाइन अच्छी तरह की गयी होती है तो फिर कोडिंग बहुत ही इफेक्टिव होती है! इस फेज में प्रोग्राम बांये जाते है जिसे हम सॉफ्टवेयर प्रोग्राम कहते है जो की एक खास प्रक्रिया को पूरा करते है!

Testing

कोडिंग(Coding) के बाद जो अगला फेज होता है है वो होता है टेस्टिंग(Testing) का(In waterfall model), इस फेज में हम पिछले स्टेप में बनाये गए प्रोग्रम को टेस्ट करते है कि वो सही तरह से काम कर रहा है कि नहीं! टेस्टिंग करने का मेन फोकस उसकी लॉजिकल फंक्शनिंग चेक करना होता है! ताकि हम चेक कर सके कि जिस काम के लिए सॉफ्टवेयर को बनाया गया है वो काम सही से कर रहा है कि नहीं! For example- हमने एक सॉफ्टवेयर बनाया जो कि दो नंबर को जोड़ता है है और फिर उसका रिजल्ट हमें स्क्रीन पर दिखाता है! मतलब अगर यूजर कोई दो नंबर एंटर करता है तो उसका सम स्क्रीन पर आउटपुट के तौर पर दिखता है! अब अगर प्रोग्राम में कुछ गड़बड़ होगी तो ये जोड़ सही नहीं करेगा!

तो कहने का मतलब यह है कि टेस्टिंग फेज में सभी प्रकार कि प्रॉब्लमस त्रुटि जो कि प्रोग्राम में होती है वो सभी पहले खोजी जाती है बार बार प्रोग्राम को चला कर, और बाद में जब कोई त्रुटि मिल जाती है तो उसे सही किया जाता है! टेस्टिंग फेज में प्रोग्रम के सभी फंक्शन और पैरामीटर, बेहेवियर को चेक किया जाता है कि वो ठीक से काम कर रहे है कि नहीं!

Maintenance:

मेंटेनेंस(In waterfall model) एक लम्बी और सतत चलने वाली प्रक्रिया है, जब तक सॉफ्टवेयर चलता है तब तक यह प्रक्रिया भी चलती रहती है! मेंटेनेंस के अंतर्गत या तो सॉफ्टवेयर में आने वाली त्रुटि और दिक्कत को सही किया जाता है या फिर लोगो कि जरूरतों के अनुसार जानकारी लेकर सॉफ्टवेयर को अपडेट अथवा एनहान्स किया जाता है! यूजर कि रेक्विरेमेंट लेकर सॉफ्टवेयर में नए फंक्शन जोड़े जाते है!

वाटर फॉल(waterfall model) सॉफ्टवेयर बिल्डिंग तकनीक का इस्तेमाल बड़े तौर पर होता है | जबकि इस मॉडल में कुछ कमिया ड्रॉबैक्स और बेनिफिट है |

बेनिफिट ऑफ़ वॉटरफॉल मॉडल(Benefits of waterfall model):-

वाटर फॉल मॉडल(waterfall model) का क्रियान्वन करना बहुत सरल है |

वाटर फॉल मॉडल(waterfall model) छोटे सॉफ्टवेयर और सिस्टम बनाने के लिए उपर्युक्त है|

ड्रॉबैक्स ऑफ़ वाटर फॉल मॉडल(Drawbacks of waterfall model):-


सॉफ्टवेयर डेवलपमेंट प्रोसेस में(In waterfall model) ये प्रोग्राम बनाने का ये क्रमबध फ्लो बहुत ही कठिन है | क्योकि अगर हमें किसी भी फेज में कोई चेंज करना पड़ता है तो फिर बहुत कन्फूशन हो सकता है|

जानकारी को एकत्रित करना पहले फेज में होता है , पर कभी कभी यह पॉसिबल नहीं होता कि हमें सारी जानकारी सुरु में ही मिल जाये | इस कारन से प्रोजेक्ट में दिक्कत आ जाती है!

सॉफ्टवेयर का वर्किंग मॉडल और फाइनल मॉडल कस्टमर को सबसे लास्ट में देखने मिलता है| अगर इस स्टेज पे कस्टमर इस सॉफ्टवेयर से संतुस्ट नहीं होता है तब यह एक गंभीर समस्या हो जाती है|

वाटर फॉल मॉडल(Waterfall Model) का Linear नेचर होने के कारन इसमें बहुत सारी ब्लॉकिंग स्टेट होती है, क्योकि कुछ टास्क पहले वाली टास्क पर निर्भर हो सकती है | ऐसे में ये जरुरी हो जाता है कि हम ऐसे डिपेंडेंट टास्क को पहले एक्सेक्यूटे करे| कभी कभी यह लम्बे इंतज़ार का कारन बन सकता है|

इस वॉटरफॉल ब्लॉग(waterfall model) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते a5theorys@gmail.com पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस वॉटरफॉल मॉडल(waterfall model) पोस्ट को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|