सॉफ्टवेयर विकास जीवन चक्र (एसडीएलसी) चरण और मॉडल

एसडीएलसी क्या है?

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

एसडीएलसी क्यों?

यहां कुछ प्रमुख कारण दिए गए हैं कि सॉफ्टवेयर सिस्टम विकसित करने के लिए SDLC क्यों महत्वपूर्ण है।

  • यह परियोजना नियोजन, समय-निर्धारण और आकलन के लिए आधार प्रदान करता है
  • गतिविधियों और वितरण के मानक सेट के लिए एक रूपरेखा प्रदान करता है
  • यह परियोजना पर नज़र रखने और नियंत्रण के लिए एक तंत्र है
  • विकास प्रक्रिया में शामिल सभी हितधारकों के लिए परियोजना नियोजन की दृश्यता बढ़ जाती है
  • विकास की गति में वृद्धि एवं वृद्धि
  • बेहतर ग्राहक संबंध
  • परियोजना जोखिम और परियोजना प्रबंधन योजना ओवरहेड को कम करने में आपकी सहायता करता है

 

एसडीएलसी चरण

संपूर्ण SDLC प्रक्रिया निम्नलिखित SDLC चरणों में विभाजित है:

एसडीएलसी चरण
एसडीएलसी चरण
  • चरण 1: आवश्यकता संग्रहण और विश्लेषण
  • चरण 2: व्यवहार्यता अध्ययन
  • चरण 3: डिजाइन
  • चरण 4: कोडिंग
  • चरण 5: परीक्षण
  • चरण 6: स्थापना/तैनाती
  • चरण 7: रखरखाव

इस ट्यूटोरियल में, मैंने इन सभी सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल चरणों को समझाया है

चरण 1: आवश्यकता संग्रहण और विश्लेषण

यह आवश्यकता SDLC प्रक्रिया का पहला चरण है। इसे उद्योग के सभी हितधारकों और डोमेन विशेषज्ञों से इनपुट लेकर वरिष्ठ टीम के सदस्यों द्वारा संचालित किया जाता है। गुणता आश्वासन आवश्यकताओं और इसमें शामिल जोखिमों की पहचान भी इसी स्तर पर की जाती है।

यह चरण संपूर्ण परियोजना के दायरे और प्रत्याशित मुद्दों, अवसरों और निर्देशों की स्पष्ट तस्वीर देता है, जिनके कारण परियोजना शुरू हुई।

आवश्यकताएँ एकत्र करने के चरण में टीमों को विस्तृत और सटीक आवश्यकताएँ प्राप्त करने की आवश्यकता होती है। इससे कंपनियों को उस सिस्टम के काम को पूरा करने के लिए आवश्यक समयसीमा को अंतिम रूप देने में मदद मिलती है।

चरण 2: व्यवहार्यता अध्ययन

एक बार आवश्यकता विश्लेषण चरण पूरा हो जाने के बाद अगला एसडीएलसी चरण सॉफ्टवेयर आवश्यकताओं को परिभाषित करना और उनका दस्तावेजीकरण करना है। यह प्रक्रिया 'सॉफ्टवेयर आवश्यकता विनिर्देश' दस्तावेज़ की सहायता से संचालित की जाती है जिसे 'एसआरएस' दस्तावेज़ के रूप में भी जाना जाता है। इसमें वह सब कुछ शामिल है जिसे परियोजना जीवन चक्र के दौरान डिज़ाइन और विकसित किया जाना चाहिए।

व्यवहार्यता जांच मुख्यतः पांच प्रकार की होती है:

  • आर्थिक: क्या हम परियोजना को बजट के भीतर पूरा कर पाएंगे या नहीं?
  • कानूनी: क्या हम इस परियोजना को साइबर कानून और अन्य नियामक ढांचे/अनुपालन के रूप में संभाल सकते हैं।
  • Operaव्यवहार्यता: क्या हम ऐसे ऑपरेशन बना सकते हैं जो ग्राहक द्वारा अपेक्षित हों?
  • तकनीकी: यह जांचने की आवश्यकता है कि क्या वर्तमान कंप्यूटर सिस्टम सॉफ्टवेयर का समर्थन कर सकता है
  • अनुसूची: निर्णय लें कि परियोजना निर्धारित समय सीमा के भीतर पूरी हो सकती है या नहीं।

चरण 3: डिजाइन

इस तीसरे चरण में, सिस्टम और सॉफ्टवेयर डिज़ाइन दस्तावेज़ आवश्यकता विनिर्देश दस्तावेज़ के अनुसार तैयार किए जाते हैं। इससे समग्र सिस्टम आर्किटेक्चर को परिभाषित करने में मदद मिलती है।

यह डिज़ाइन चरण मॉडल के अगले चरण के लिए इनपुट के रूप में कार्य करता है।

इस चरण में दो प्रकार के डिज़ाइन दस्तावेज़ विकसित किए जाते हैं:

उच्च स्तरीय डिजाइन (एचएलडी)

  • प्रत्येक मॉड्यूल का संक्षिप्त विवरण और नाम
  • प्रत्येक मॉड्यूल की कार्यक्षमता के बारे में एक रूपरेखा
  • मॉड्यूल के बीच इंटरफ़ेस संबंध और निर्भरता
  • डेटाबेस तालिकाओं को उनके प्रमुख तत्वों के साथ पहचाना गया
  • प्रौद्योगिकी विवरण के साथ-साथ संपूर्ण वास्तुकला आरेख

निम्न-स्तरीय डिज़ाइन (एलएलडी)

  • मॉड्यूल का कार्यात्मक तर्क
  • डेटाबेस तालिकाएँ, जिनमें प्रकार और आकार शामिल हैं
  • इंटरफ़ेस का पूरा विवरण
  • सभी प्रकार की निर्भरता संबंधी समस्याओं का समाधान करता है
  • त्रुटि संदेशों की सूची बनाना
  • प्रत्येक मॉड्यूल के लिए पूर्ण इनपुट और आउटपुट

चरण 4: कोडिंग

सिस्टम डिज़ाइन चरण समाप्त होने के बाद, अगला चरण कोडिंग है। इस चरण में, डेवलपर्स चुने हुए प्रोग्रामिंग भाषा का उपयोग करके कोड लिखकर पूरे सिस्टम का निर्माण शुरू करते हैं। कोडिंग चरण में, कार्यों को इकाइयों या मॉड्यूल में विभाजित किया जाता है और विभिन्न डेवलपर्स को सौंपा जाता है। यह सॉफ़्टवेयर डेवलपमेंट लाइफ़ साइकिल प्रक्रिया का सबसे लंबा चरण है।

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

चरण 5: परीक्षण

एक बार जब सॉफ्टवेयर पूरा हो जाता है और इसे परीक्षण वातावरण में तैनात किया जाता है, तो परीक्षण टीम पूरे सिस्टम की कार्यक्षमता का परीक्षण शुरू कर देती है। यह सत्यापित करने के लिए किया जाता है कि पूरा एप्लिकेशन ग्राहक की आवश्यकता के अनुसार काम करता है।

इस चरण के दौरान, QA और परीक्षण टीम को कुछ बग/दोष मिल सकते हैं, जिन्हें वे डेवलपर्स को बताते हैं। विकास टीम बग को ठीक करती है और पुनः परीक्षण के लिए QA को वापस भेजती है। यह प्रक्रिया तब तक जारी रहती है जब तक कि सॉफ़्टवेयर बग-मुक्त, स्थिर और उस सिस्टम की व्यावसायिक आवश्यकताओं के अनुसार काम नहीं करता।

चरण 6: स्थापना/तैनाती

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

चरण 7: रखरखाव

एक बार जब सिस्टम तैनात हो जाता है, और ग्राहक विकसित सिस्टम का उपयोग करना शुरू कर देते हैं, तो निम्नलिखित 3 गतिविधियाँ होती हैं

  • बग फिक्सिंग - बग की रिपोर्ट कुछ परिदृश्यों के कारण की जाती है जिनका बिल्कुल भी परीक्षण नहीं किया जाता है
  • Upgrade – एप्लीकेशन को सॉफ्टवेयर के नए संस्करण में अपग्रेड करना
  • संवर्द्धन – मौजूदा सॉफ्टवेयर में कुछ नई सुविधाएँ जोड़ना

इस SDLC चरण का मुख्य फोकस यह सुनिश्चित करना है कि आवश्यकताएं पूरी होती रहें और सिस्टम पहले चरण में उल्लिखित विनिर्देशों के अनुसार कार्य करता रहे।

लोकप्रिय SDLC मॉडल

सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल (SDLC) के कुछ सबसे महत्वपूर्ण मॉडल यहां दिए गए हैं:

SDLC में वाटरफॉल मॉडल

वाटरफॉल एक व्यापक रूप से स्वीकृत SDLC मॉडल है। इस दृष्टिकोण में, सॉफ्टवेयर विकास की पूरी प्रक्रिया को SDLC के विभिन्न चरणों में विभाजित किया जाता है। इस SDLC मॉडल में, एक चरण का परिणाम अगले चरण के लिए इनपुट के रूप में कार्य करता है।

यह SDLC मॉडल दस्तावेजीकरण-प्रधान है, जिसमें पहले चरणों में यह दस्तावेजीकरण किया जाता है कि बाद के चरणों में क्या किया जाना चाहिए।

SDLC में वृद्धिशील मॉडल

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

SDLC में V-मॉडल

इस प्रकार के SDLC मॉडल परीक्षण और विकास में, चरण समानांतर रूप से योजनाबद्ध किया जाता है। इसलिए, एक तरफ SDLC के सत्यापन चरण और दूसरी तरफ सत्यापन चरण होते हैं। V-मॉडल कोडिंग चरण द्वारा जुड़ता है।

SDLC में एजाइल मॉडल

एजाइल कार्यप्रणाली एक अभ्यास है जो किसी भी परियोजना की SDLC प्रक्रिया के दौरान विकास और परीक्षण की निरंतर बातचीत को बढ़ावा देता है। एजाइल पद्धति में, पूरी परियोजना को छोटे-छोटे वृद्धिशील बिल्ड में विभाजित किया जाता है। ये सभी बिल्ड पुनरावृत्तियों में प्रदान किए जाते हैं, और प्रत्येक पुनरावृत्ति एक से तीन सप्ताह तक चलती है।

सर्पिल मॉडल

सर्पिल मॉडल एक जोखिम-संचालित प्रक्रिया मॉडल है। यह SDLC परीक्षण मॉडल टीम को वाटरफॉल, इंक्रीमेंटल, वाटरफॉल आदि जैसे एक या अधिक प्रक्रिया मॉडल के तत्वों को अपनाने में मदद करता है।

यह मॉडल प्रोटोटाइपिंग मॉडल और वॉटरफॉल मॉडल की सर्वोत्तम विशेषताओं को अपनाता है। सर्पिल कार्यप्रणाली डिजाइन और विकास गतिविधियों में तीव्र प्रोटोटाइपिंग और समवर्तीता का एक संयोजन है।

बिग बैंग मॉडल

बिग बैंग मॉडल सॉफ्टवेयर विकास और कोडिंग में सभी प्रकार के संसाधनों पर ध्यान केंद्रित कर रहा है, जिसमें कोई योजना नहीं है या बहुत कम है। आवश्यकताओं को समझा जाता है और जब वे आती हैं तो उन्हें लागू किया जाता है।

यह मॉडल छोटे आकार की विकास टीम के साथ मिलकर काम करने वाली छोटी परियोजनाओं के लिए सबसे अच्छा काम करता है। यह अकादमिक सॉफ्टवेयर विकास परियोजनाओं के लिए भी उपयोगी है। यह एक आदर्श मॉडल है जहाँ आवश्यकताएँ या तो अज्ञात हैं या अंतिम रिलीज़ तिथि नहीं दी गई है।

सारांश

  • सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल (एसडीएलसी) सॉफ्टवेयर निर्माण की एक व्यवस्थित प्रक्रिया है जो निर्मित सॉफ्टवेयर की गुणवत्ता और शुद्धता सुनिश्चित करती है
  • एसडीएलसी का पूर्ण रूप सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल या सिस्टम डेवलपमेंट लाइफ साइकिल है।
  • सॉफ्टवेयर इंजीनियरिंग में SDLC गतिविधियों और डिलीवरेबल्स के एक मानक सेट के लिए एक ढांचा प्रदान करता है
  • सात अलग-अलग SDLC चरण हैं: 1) आवश्यकता संग्रह और विश्लेषण 2) व्यवहार्यता अध्ययन: 3) डिज़ाइन 4) कोडिंग 5) परीक्षण: 6) स्थापना/तैनाती और 7) रखरखाव
  • वरिष्ठ टीम के सदस्य इसका संचालन करते हैं आवश्यकता विश्लेषण चरण
  • व्यवहार्यता अध्ययन चरण में वह सब कुछ शामिल होता है जिसे परियोजना जीवन चक्र के दौरान डिजाइन और विकसित किया जाना चाहिए
  • डिज़ाइन चरण में, सिस्टम और सॉफ़्टवेयर डिज़ाइन दस्तावेज़ आवश्यकता विनिर्देश दस्तावेज़ के अनुसार तैयार किए जाते हैं
  • कोडिंग चरण में, डेवलपर्स चुनी हुई प्रोग्रामिंग भाषा का उपयोग करके कोड लिखकर संपूर्ण सिस्टम का निर्माण शुरू करते हैं
  • परीक्षण अगला चरण है जो यह सत्यापित करने के लिए आयोजित किया जाता है कि संपूर्ण एप्लिकेशन ग्राहक की आवश्यकता के अनुसार काम करता है।
  • स्थापना और परिनियोजन का कार्य तब शुरू होता है जब सॉफ्टवेयर परिक्षण चरण समाप्त हो गया है, और सिस्टम में कोई बग या त्रुटि नहीं बची है
  • रखरखाव के क्षेत्र में बग फिक्सिंग, अपग्रेड और सहभागिता संबंधी कार्य शामिल हैं
  • वाटरफॉल, इंक्रीमेंटल, एजाइल, वी मॉडल, स्पाइरल, बिग बैंग सॉफ्टवेयर इंजीनियरिंग में कुछ लोकप्रिय एसडीएलसी मॉडल हैं
  • सॉफ्टवेयर परीक्षण में SDLC में एक विस्तृत योजना शामिल होती है जो बताती है कि विशिष्ट सॉफ्टवेयर की योजना कैसे बनाई जाए, उसका निर्माण कैसे किया जाए और उसका रखरखाव कैसे किया जाए