Header Ads

classical waterfall, iterative waterfall, prototyping, evolution, spiral, RAD model ,SDLC in hindi

Software development life cycle 

SDLC–  एक सॉफ्टवेयर लाइफ साइकिल मॉडल जिसे प्रोसेस मॉडल भी कहा जाता है, लाइफ साइकिल का एक वर्णनात्मक और diagrammatic representation होता है। एक लाइफ साइकिल मॉडल अपनी लाइफ साइकिल चरणों के माध्यम से सॉफ्टवेयर प्रोडक्ट को transit करने के लिए आवश्यक सभी गतिविधियों का रिप्रजेंटेशन करता है।   यह उन ऑर्डर को भी कैप्चर कर लेता है जिससे यह गतिविधियां शुरू की जाती है।
दूसरे शब्दों में हम कह सकते हैं कि एक लाइफ साइकिल मॉडल विभिन्न गतिविधियों को प्रारंभ से लेकर अंत तक सॉफ्टवेयर प्रोडक्ट विकसित करने के लिए प्रदर्शित करता है। अलग-अलग लाइफ साइकिल मॉडल बेसिक विकास गतिविधियों को विभिन्न चरणबद्ध तरीकों से मैप कर सकते हैं।

सॉफ्टवेयर लाइफ साइकिल मॉडल की आवश्यकता– डेवलपमेंट टीम को particular प्रोजेक्ट के लिए एक उपयुक्त लाइफ साइकिल मॉडल की पहचान करनी चाहिए , साथ ही उसके बाद उसका पालन करना चाहिए। एक पर्टिकुलर लाइफ साइकिल मॉडल के उपयोग के बिना सॉफ्टवेयर उत्पाद(product) का विकास व्यवस्थित और अनुशासित तरीके से नहीं किया जा सकता। इसलिए जब किसी सॉफ्टवेयर प्रोडक्ट को विकसित किया जा रहा है, तो टीम के सदस्यों के बीच कब और क्या करना है इसके बारे में स्पष्ट समझ होनी चाहिए, अन्यथा यह अव्यवस्था और परियोजना विफलता का कारण होगा । एक सॉफ्टवेयर लाइफ साइकिल मॉडल हर चरण में एंट्री और एग्जिट मानदंड को डिफाइन करता है| एक चरण केवल तभी शुरू हो सकता है जब इसके प्रवेश चरण मानदंडों को संतुष्ट किया गया हो । इसलिए सॉफ्टवेयर लाइफ साइकिल मॉडल के बिना किसी चरण के प्रवेश और निकास(exit) मानदंड को मान्यता नही दी जा सकती है। सॉफ्टवेयर लाइफ साइकिल मॉडल जैसे क्लासिक वाटरफॉल मॉडल,iterative वाटर फॉल मॉडल , प्रोटोटाइपिंग माडल, इवोल्यूशनरी मॉडल, स्पाइरल मॉडल आदि के बिना परियोजना की प्रगति की निगरानी सॉफ्टवेयर प्रोजेक्ट मैनेजर के लिए मुश्किल हो जाता है।


एक ऐसी प्रोसेस है ।  जिसमें यूजर के द्वारा दी गई रिक्वायरमेंट के अनुसार  किसी भी एप्लीकेशन को डेवलप किया जाता है।  जैसे कि एप्लीकेशन सॉफ्टवेयर,  सिस्टम सॉफ्टवेयर,   यूटिलिटी सॉफ्टवेयर,  इन सॉफ्टवेयर को डेवलप करने के लिए सॉफ्टवेयर  इंजीनियरिंग के सभी ऑब्जेक्ट को यूज किया जाता है।  यह ऑब्जेक्ट कम्युनिकेशन लेकर डिप्लॉयमेंट तक होते हैं।  इसलिए इसे सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल कहते हैं ।  

वॉटरफॉल माडल, स्पाइरल मॉडल, classical waterfall, evolution, iterative waterfall, prototyping, RAD model, SDLC in hindi, Software engineering sdlc in hindi, spiral,

विभिन्न सॉफ्टवेयर लाइफ साइकिल मॉडल– अब तक कई सॉफ्टवेयर मॉडल प्रस्तुत किए गए हैं। जिसमें उनमें से प्रत्येक के पास कुछ फायदे हैं, तथा कुछ नुकसान भी है। कुछ महत्वपूर्ण तथा सामान्यता इस्तेमाल किए गए लाइक साइकिल मॉडल निम्नानुसार है–

 मॉडल–
 1)वाटरफॉल मॉडल प्रोग्राम
2)ITERATIVE  मॉडल
3) स्पाइरल मॉडल
4)RAD (रैपिड  मॉडल एप्लीकेशन डेवलपमेंट)
 5)प्रोटोटाइप मॉडल ओपन
 1)वाटरफॉल मॉडल प्रोग्राम–
 वाटरफॉल मॉडल प्रोग्राम  यह मॉडल एक सिंपल मॉडल है।  इस मॉडल की सहायता से हमारा प्रोग्रामर यूजर के रिक्वायरमेंट के अनुसार यूजर के लिए प्रोग्राम को तैयार करता है ।  इस मॉडल के माध्यम से एप्लीकेशन या सॉफ्टवेयर जल्दी तैयार हो जाता है।  लेकिन किसी भी सॉफ्टवेयर को डेवलप करने के लिए एक एक स्टेप का यूज़ किया जाता है।  इस मॉडल में नेक्स्ट स्टेप में जाया जा सकता है ।  लेकिन प्रीवियस स्टेप में वापस नहीं आ सकते,  इस मॉडल का सबसे बड़ा डिसएडवांटेज यही है।      
 इस मॉडल की प्रोसेस अप्रोच टॉप टू बॉटम होती है।  
वाटरफॉल मॉडल के डिसएडवांटेज
1) यह रियल टाइम सॉफ्टवेयर प्रोजेक्ट के साथ संतोषजनक रूप से विभिन्न प्रकार के जोखिमों को नहीं संभाल सकता क्योंकि यूज़र द्वारा आवश्यकताओं को पूर्व में ही तय किया गया होता है।

2) ज्यादातर रियल लाइफ प्रोजेक्ट वाटरफॉल मॉडल के सटीक फ्रेम अनुक्रम का पालन नहीं कर सकते हैं ।

2)ITERATIVE  मॉडल– किसी भी सॉफ्टवेयर या एप्लीकेशन को डेवलप करने के लिए हम ITERATIVE  मॉडल का प्रयोग करते हैं ।  इस मॉडल में  एक स्टेप एक से  ज्यादा बार उपयोग  किया जा सकता  है।  यह स्टेप यूजर के रिक्वायरमेंट के अनुसार होंगी।  यूजर की  जिस तरह की रिक्वायरमेंट होगी रिक्वायरमेंट के अनुसार प्रोग्रामर अपने प्रोसेस में चेंज करता है । इस चेंज की वजह से इस मॉडल में प्रोग्रामर के स्टेप एक से ज्यादा बार किए जा सकते हैं| इसलिए इस मॉडल को ITERATIVE  मॉडल कहते हैं।  यह मॉडल वाटरफॉल मॉडल से थोड़ा ज्यादा   costly होता है।  क्योंकि इस मॉडल में एक स्टेप को कई बार किये  है। 


3) स्पाइरल मॉडल–  स्पाइरल मॉडल का उपयोग जब हम किसी सॉफ्टवेयर को डेवलप करते हैं ,  तो उसे इंप्लीमेंट करने में किया जाता है।  इस मॉडल के अनुसार ही हमारा प्रोग्रामर  ,  यूजर के रिक्वायरमेंट को पूरा करता है।  यह मॉडल  भी ITERATIVE  मॉडल जैसा ही होता है।  क्योंकि इस मॉडल में भी एक कंटेंट को एक से ज्यादा बार यूज किया जा सकता है।  लेकिन इस मॉडल में हम  एक  स्टेप से दूसरे  स्टेप  में तभी जा सकते हैं, जब तक हम पूरी प्रोसेस कंप्लीट ना कर ले।  क्योंकि इस मॉडल में  हमारा डेवलपर या प्रोग्रामर पिछले  स्टेप  पर नहीं जा सकता है। 
 इस मॉडल के माध्यम से डेवलप किए गए नए एप्लीकेशन को ज्यादा  एफिशिएंसी माना जाता है।  क्योंकि इसमें हमारा प्रोग्राम किसी भी  स्टेप को एक से ज्यादा बार यूज करता है।  इसके कारण एप्लीकेशन की एफिशिएंसी बढ़ जाती है।  इसका डिसएडवांटेज  यह है कि यह दूसरे मॉडलों की अपेक्षा महंगा है,  और टाइम भी ज्यादा कंज्यूम करता है। 

 4)प्रोटोटाइप मॉडल– प्रोटोटाइप मॉडल  भी सॉफ्टवेयर या एप्लीकेशन को डेवलप करने के लिए यूज किया जाता है| यह मॉडल बिल्कुल वाटरफॉल मॉडल जैसा ही होता है क्योंकि इस मॉडल में भी प्रोग्रामर एक स्टेप से दूसरे स्टेप में जाता है लेकिन  इस मॉडल का   यूज प्रोग्रामर अपने  आवश्यकता अनुसार यूजर की रिक्वायरमेंट को पूरा करने के लिए  करता है ।  इस मॉडल की एक खासियत यह है ,   कि यह दोनों डायरेक्शन में काम करता है टॉप टू बॉटम ,  बाटम  TO TOP । 


5)RAD  मॉडल– रैपिड एप्लीकेशन डेवलपमेंट  मैं हम जब किसी भी नए सॉफ्टवेयर को डेवलप करते हैं।  तो उस  पूरे प्रोडक्ट या एप्लीकेशन को  मॉड्यूल के रूप में बांट देते हैं।  मॉड्यूल के अनुसार ही हमारा डेवलपर अपनी टीम को निर्धारित करता है।  यह  मॉड्यूल यूजर के रिक्वायरमेंट के अनुसार बनाया जाता है ।  अलग-अलग मॉड्यूल पर अलग-अलग  टीम के लोग अपने प्रोसेस को अप्लाई करते हैं।  और प्रोसेस कंप्लीट होने के बाद उस एप्लीकेशन के सभी मॉड्यूल को डेवलपर इंटीग्रेट कर देता है ।  इस मॉड्यूल के उपयोग से हमारा प्रोडक्ट या सॉफ्टवेयर जल्दी तैयार हो जाता है | जो हमारे सॉफ्टवेयर या प्रोडक्ट के लिए लाभदाई है। 
 लेकिन इसका डिसएडवांटेज  भी है ।  
इस मॉडल के यूज़ की वजह से प्रोग्राम की कंपलेक्सबिलिटी बढ़ जाती है।   क्योंकि इस एप्लीकेशन में 1 से ज्यादा  अलग-अलग लोगों ने काम किया है। 
 यह मॉडल भी दो मॉडलों की तरह होता है
 वाटरफॉल मॉडल,
ITERATIVE  मॉडल |


विभिन्न लाइफ साइकिल मॉडलों की तुलना–
 क्लासिकल वाटरफॉल मॉडल को मूल लाइफ साइकिल मॉडल माना जा सकता है, तथा अन्य सभी लाइफ साइकिल मॉडल को इस मॉडल के अलंकरण (embellishment) के रूप में माना जा सकता है। हलाकि क्लासिक वाटरफॉल मॉडल का उपयोग प्रैक्टिकल डेवलपमेंट प्रोजेक्ट मैं नहीं किया जा सकता है। क्योंकि क्लासिक वाटरफॉल मॉडल किसी भी चरण में किए गए त्रुटियों को संभालने के लिए किसी mechanism को सपोर्ट नहीं करता है। इस समस्या को iterative वाटरफॉल मॉडल मैं दूर किया जा सकता है। iterative वाटरफॉल मॉडल संभवता अब तक का व्यापक रूप से इस्तेमाल किया जाने वाला सॉफ्टवेयर लाइफ साइकिल मॉडल है । इस मॉडल को समझना और उपयोग करना आसान है। हालांकि यह मॉडल अच्छी तरह समझ में आने वाली समस्याओं के लिए उपयुक्त है। यह बहुत बड़ी परियोजनाओं तथा उन परियोजनाओं के लिए उपयुक्त नहीं है जो कि कई जोखिमों केआधीन(subject) है|
 प्रोटोटाइप मॉडल उन  प्रोजेक्ट के लिए उपयुक्त है जिनके लिए उपयोगकर्ताओं की आवश्यकताओं  या अंतर्निहित तकनीकी पहलुओं को अच्छी तरह से समझा नहीं जाता है । यह प्रोजेक्ट के यूजर इंटरफेस भाग को विकसित करने के लिए विशेष रूप से लोकप्रिय है।

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

स्पाइरल मॉडल को मेटा मॉडल कहा जाता है, क्योंकि यह अन्य सभी लाइफ साइकिल मॉडल को शामिल(include) करता है। जोखिम प्रबंधन को स्वाभाविक(inherently) रूप से इस माडल में बनाया गया है | स्पाइडर मॉडल तकनीकी रूप से चुनौतीपूर्ण सॉफ्टवेयर प्रोडक्ट के विकास के लिए उपयुक्त है।, हालांकि यह मॉडल अन्य मॉडलों की तुलना में बहुत जटिल है।

                                           कृपया अपने उपयोग के AD में क्लिक कर हमारा सपोर्ट करें 



एक टिप्पणी भेजें