Software Engineering के एक और अध्याय What is Waterfall Model in Hindi में हम चर्चा करेंगे कि वाटरफॉल मॉडल क्या है, इसके विभिन्न phases, advantages और disadvantage. लेख को अंत तक पढ़ने के बाद आपको Waterfall Model की पूरी जानकारी हो जाएगी।
Jump to:
वाटरफॉल मॉडल क्या है
फायदे और नुकसान
FAQs (अक्सर पूछे गए सवाल)
What is Waterfall Model in Hindi? (वाटरफॉल मॉडल क्या है)
Waterfall model सबसे पहला SDLC model है जिसका उपयोग software development process के रूप में किया जाता है। इस model को waterfall नाम इसलिए दिया गया क्योंकि एक झरना उप्पर से नीचे की ओर बहता है वो कभी नीचे आने के बाद उप्पर की और नही बहता।
यही condition इस SDLC approach के साथ भी है कि अगर आप पहले phase से दूसरे phase में चले गए तो आप वापस पहले phase में नहीं जा सकते। यानी phases नीचे की ओर बढ़ते हैं।
इसे linear sequential life cycle model भी कहते है। इसका अर्थ हुआ कि इसमें एक phase के खत्म होने के बाद ही दूसरा phase शुरू होता है और पहले phase से जो output generate होता है उसे दूसरे phase के लिये input के रूप serve किया जाता है। उदाहरण के लिये requirement analysis phase का output, design phase के लिए input के रूप में काम करता है।
Waterfall Model को सबसे basic SDLC approach माना जाता है। इसको समझना और इस्तेमाल करना बहुत ही आसान होता है। चूंकि इसमें phases क्रमबद्ध तरीके से execute होते है इसी वजह से phases के बीच overlapping की कोई समस्या नही आती हैं।
अन्य SDLC Models: Iterative model, Prototype model, Spiral model, Agile model, RAD model, Incremental model.
यह आरेख Waterfall Model के five sequential phases का प्रतिनिधित्व करता है।
1. Requirements Analysis
यह Waterfall model का first phase है जिसके अंतर्गत customer की exact requirements को समझा जाता है और उन्हें एक document में specify किया जाता है। इससे हम ये समझने की कोशिश करते है कि customer कैसा software बनवाना चाहता है, उसे किस तरह के features चाहिए, उसकी product से क्या expectations है, आदि।
सभी requirements को जानने के बाद उन्हें SRS (Software Requirement Specification) document में specified किया जाता है। इस document का उपयोग developer और customer के बीच एक contract के रूप में होता हैं।
2. Design
इस phase में हम customer की requirements के आधार पर एक structure बनाते है। ताकि उसे हम implementation phase में किसी भी programming language के माध्यम से code कर पाएं।
इस ढांचे या structure को जिस document में specified किया जाता है उसे SDD (Software Design Document) कहा जाता है। यह दस्तावेज coding start करने के लिये उपयोगी होता है।
3. Implementation & Unit Testing
जो भी structure हमने design phase में बनाया था उसे हम Implementation phase में implement करना शुरू करते है। आसान शब्दों मे हमने software का जो भी design तैयार किया होता है उसकी coding इस phase में start कर दी जाती है। इसके लिए हम एक उपयुक्त programming language का उपयोग करते है। इसे Coding phase भी कहा जाता है।
इसके अलावा इस phase में unit testing भी की जाती है। अर्थात software को code करते समय आपने जो different modules लिखें होंगे उन्हें individually test किया जाता है। ताकि हम ये सुनिश्चित कर पाए कि प्रत्येक module अपनी desired functionality प्रदान कर रहा है या नहीं।
4. Integration & System Testing
इस phase में हम different modules को एक साथ combined करके एक पूर्ण software बनाते है। एक बार सभी modules को सफलतापूर्वक integrated कर देने के बाद system testing की जाती है।
हालांकि unit testing में हमने प्रत्येक module को individually test कर दिया था लेकिन जब हम सभी modules को एक साथ लाते है तो ये जांचना जरूरी होता है कि क्या वो सही से काम कर रहे है या नहीं।
System testing तीन प्रकार की होती है –
Alpha testing
Beta testing
Acceptance testing
5. Operation & Maintenance
Software की delivery के बाद जब वह customer के सिस्टम में operate करने लगता है तो ऐसे में maintenance phase बेहद महत्वपूर्ण हो जाता है। ये इसलिए महत्वपूर्ण है क्योंकि हमें समय के साथ s/w की value को बनाएं रखना है। इसके अंतर्गत अगर कोई error आता है तो हम उसे fix करते है, customer के feedback के आधार पर s/w को enhanced करते है, obsolete functionality को remove करते है, आदि।
Maintenance के मूल रूप से तीन प्रकार है –
Corrective Maintenance
Perfective Maintenance
Adaptive Maintenance
आइये अब समझे Waterfall Model का use कब किया जाता है:
- इस model का use तब किया जाता है जब user की जो requirements होती है वो fixed और clear हो जिन्हें change नहीं किया जा सकता है।
- इसका उपयोग small projects के लिए ज्यादातर किया जाता है।
- अगर आवश्यक विशेषज्ञता वाले पर्याप्त संशाधन स्वतंत्र रूप से उपलब्ध हो।
- टेक्नोलॉजी को अच्छी तरह से समझ लिया है तो इस मॉडल का उपयोग कर सकते हैं।
- ऐसे स्थिती में आप इस मॉडल का उपयोग कर सकते है जब risk बिल्कुल न हो या minimum हो।
- क्लाइंट की कोई अस्पष्ट आवश्यकताएं (ambiguous requirements) नहीं हो।
Advantages and Disadvantages of Waterfall Model in Hindi
Waterfall Model के Advantages:
- यह मॉडल सरल और समझने में आसान है।
- यह छोटे प्रोजेक्ट्स के लिये बेहद उपयोगी है।
- इस मॉडल को मैनेज करना आसान है।
- अंतिम लक्ष्य को जल्दी निर्धारित किया जाता है।
- इस मॉडल के प्रत्येक phase को अच्छी तरह से स्पष्ट किया गया है।
- यह चीजों को करने के लिये एक स्ट्रक्चर तरीका प्रदान करता है।
- यह एक base model है इसके बाद जितने भी SDLC models आये वो इसी को देखते हुए बनाये गए थे हालांकि उन्होंने इसकी खामियों को दूर करने का काम किया।
- इस मॉडल में पहले phase के सफलतापूर्वक पूरा हो जाने के बाद ही हम अगले phase में जा सकते है ताकि phases के बीच कोई overlapping न हो।
Waterfall Model के Disadvantages:
- इस मॉडल में development process के आरंभ में complete और accurate requirements की अपेक्षा की जाती है।
- Development life cycle के दौरान बहुत देर तक working s/w उपलब्ध नहीं होता है।
- हम पिछले phase में वापस नहीं जा सकते जिसके कारण आवश्कताओं में बदलाव करना बहुत मुश्किल होता है।
- इसमें जोखिम का आंकलन नहीं किया जाता इसलिए इस मॉडल में high risk और uncertainty होती है।
- इसमें testing period बहुत देर से आता है।
- अपने sequential nature कर कारण यह मॉडल आज की दुनिया में realistic नहीं है।
- यह बड़े और जटिल प्रोजेक्ट्स के लिए एक अच्छा मॉडल नहीं है।
FAQs
वाटरफॉल मॉडल को कब पेश किया गया था?
इसकी स्थापना 1970 में Winston w. Royce द्वारा की गई थी।
वाटरफॉल मॉडल में कितने Phases होते है?
इसमें कुल 5 Phases होते है जिसमें Requirements Analysis, Design, Implementation & Unit Testing, Integration & System Testing, Operation & Maintenance शामिल है।
वाटरफॉल मॉडल का उपयोग कब करें?
इस मॉडल का उपयोग तब किया जाना चाहिए जब customers की requirements बार-बार change नहीं हो रही हो बल्कि वे clear और fixed हो।
वाटरफॉल मॉडल की कमियां क्या है?
यह एक sequential model है इसलिए पिछले phases में changes करने के लिए वापस जाना बहुत कठिन है।
वाटरफॉल मॉडल और एजाइल मॉडल में अंतर
वाटरफॉल मॉडल एक linear और sequential approach है जबकि एजाइल मॉडल में incremental approach को follow किया जाता है।
Conclusion (संक्षेप में)
क्या है वाटरफॉल मॉडल? किसी s/w को develop करने के लिये यह एक linear sequential approach है। इसका मतलब हुआ कि development process के अगले phase में आप तब तक नहीं बढ़ सकते जब तक पिछला phase पूरा नहीं हो जाता। यानी phases उप्पर से नीचे की ओर बढ़ते हैं जैसे एक झरना।
तो, उम्मीद है इस पोस्ट What is Waterfall Model in Hindi को पढ़ने के बाद आपकी इस विषय से सम्बंधित सभी शंकाये दूर हो गयी होगीं। अगर फिर भी कोई सवाल या सुझाव हो तो कृपया हमें नीचे कमेंट के माध्यम से जरूर बताएं।
बहुत खूब समझाया 👌