de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

सॉफ्टवेयर डेवलपमेंट लाइफसाइकिल (SDLC) का समीक्षा

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

मुख्य विकास मॉडल में वॉटरफॉल मॉडल, आवर्धन मॉडल, स्पाइरल मॉडल, फाउंटेन मॉडल, स्मार्ट मॉडल, V मॉडल, RAD मॉडल, CBSD मॉडल, प्रोटोटाइप विधि, XP विधि, RUP विधि आदि शामिल हैं।

वॉटरफॉल मॉडल

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

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

रूपांतरण मॉडल

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

स्पाइरल मॉडल

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

फाउंटेन मॉडल

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

V मॉडल

विकास मॉडल में परीक्षण को आमतौर पर स्थिति को ठीक करने के लिए एक बाद की बात के रूप में उपयोग किया जाता है, लेकिन एक परीक्षण-केंद्रित विकास मॉडल भी है, जिसे V मॉडल कहा जाता है। V मॉडल को सॉफ्टवेयर उद्योग में केवल धुंधली तरह से पहचाना गया है। V मॉडल का दावा है कि परीक्षण एक बाद की बात नहीं है, बल्कि विकास प्रक्रिया के बराबर महत्वपूर्ण प्रक्रिया है।

V मॉडल कुछ अलग-अलग परीक्षण स्तरों का वर्णन करता है और इन स्तरों के लिए जीवन चक्र के अलग-अलग चरणों की व्याख्या करता है। चित्र में बाएं ओर उतरना विकास प्रक्रिया के विभिन्न चरण हैं, और दाएं ओर उठने वाले हिस्से उनके संबंधित हैं, जो परीक्षण प्रक्रिया के विभिन्न चरण हैं।

कृपया ध्यान दें कि परीक्षण चरण के नाम अलग-अलग संगठनों में अलग-अलग हो सकते हैं। V मॉडल का मूल्य यह है कि यह परीक्षण प्रक्रिया में मौजूद अलग-अलग स्तरों को स्पष्ट रूप से दर्शाता है, और इन परीक्षण चरणों और विकास प्रक्रिया के विभिन्न चरणों के बीच संबंध को स्पष्ट रूप से वर्णित करता है:

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

आवर्धन मॉडल

आवर्धन मॉडल, प्रोटोटाइप कार्यान्वयन मॉडल और अन्य विकासवादी विधियों की तरह, मूल रूप से आवर्धन वाले हैं। लेकिन प्रोटोटाइप कार्यान्वयन के विपरीत, आवर्धन मॉडल यह बल देता है कि प्रत्येक आवर्धन एक कार्यात्मक उत्पाद जारी करता है। प्रारंभिक आवर्धन अंतिम उत्पाद की ‘अलग करने योग्य’ संस्करण हैं, लेकिन वे उपयोगकर्ता सेवा कार्यों को प्रदान करते हैं और उपयोगकर्ताओं के लिए मूल्यांकन के लिए एक प्लेटफॉर्म प्रदान करते हैं।

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

RAD मॉडल त्वरित एप्लिकेशन विकास (RAD) मॉडल एक आवर्धन वाला सॉफ्टवेयर विकास प्रक्रिया मॉडल है जो बहुत छोटे विकास चक्र पर बल देता है।

RAD मॉडल बार बार मॉडल का एक ‘त्वरित’ संस्करण है, जो दोहराए जा सकने वाले घटकों के व्यापक उपयोग और घटक-आधारित निर्माण विधि के माध्यम से त्वरित विकास प्राप्त करता है। यदि आवश्यकताओं को अच्छी तरह समझा गया है और प्रोजेक्ट के दायरे को सीमित रखा गया है, तो इस मॉडल का उपयोग एक पूर्ण रूप से कार्यात्मक ‘सूचना प्रणाली’ को त्वरित रूप से बनाने के लिए किया जा सकता है।

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

RAD मॉडल के प्रत्येक क्रियाकलाप अवधि में पूरा करने वाले कार्य निम्नलिखित हैं।

व्यापार मॉडलिंग: व्यापार प्रक्रिया के संचालन को क्या संचालित करता है? कौन सी जानकारी उत्पन्न की जानी चाहिए? इसे किसने उत्पन्न किया? जानकारी का प्रवाह कहाँ जाता है? इसका निपटारा कौन करेगा? डेटा प्रवाह आरेखों द्वारा पूरक किया जा सकता है।

डेटा मॉडलिंग: व्यापार प्रक्रिया के डेटा प्रवाह का समर्थन करने के लिए डेटा वस्तुओं के संग्रह को खोजें, डेटा वस्तुओं के गुणों को परिभाषित करें, और अन्य डेटा वस्तुओं के संबंध के साथ डेटा मॉडल बनाएं, जिसे ER आरेखों द्वारा पूरक किया जा सकता है।

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

एप्लिकेशन प्रोग्राम उत्पादन: चौथी पीढ़ी की भाषा (4GL) का उपयोग करके प्रसंस्करण कार्यक्रम लिखें, मौजूदा घटकों का पुनर्उपयोग करें या नए पुनर्उपयोगी घटक बनाएं, और वातावरण द्वारा प्रदान किए गए उपकरणों का उपयोग करके पूरे एप्लिकेशन प्रणाली को स्वचालित रूप से उत्पन्न और निर्मित करें।

परीक्षण और डिलीवरी, बड़ी मात्रा में पुनर्उपयोग के कारण, आमतौर पर केवल समग्र परीक्षण करते हैं, लेकिन नए बनाए गए घटकों को अभी भी परीक्षण करने की आवश्यकता होती है।

घटक-आधारित मॉडल

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

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

प्रोटोटाइप विधि

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

प्रोटोटाइप को वर्गीकृत करने के कई तरीके हैं। कार्यों के कार्यान्वयन के दृष्टिकोण से, सॉफ्टवेयर प्रोटोटाइप को दो प्रकार में बांटा जा सकता है: क्षैतिज प्रोटोटाइप और ऊर्ध्वाधर प्रोटोटाइप।

क्षैतिज प्रोटोटाइप को व्यवहार प्रोटोटाइप भी कहा जाता है, जिसका उपयोग अपेक्षित प्रणाली के कुछ विशिष्ट व्यवहारों का अन्वेषण करने और आवश्यकताओं को सुधारने के उद्देश्य से किया जाता है। क्षैतिज प्रोटोटाइप आमतौर पर केवल कार्यों के नेविगेशन के रूप में होते हैं, लेकिन वे वास्तव में कार्यों का कार्यान्वयन नहीं करते हैं। क्षैतिज प्रोटोटाइप का उपयोग मुख्य रूप से इंटरफेस पर किया जाता है।

ऊर्ध्वाधर प्रोटोटाइप को संरचित प्रोटोटाइप भी कहा जाता है, जो अपने कार्यों के कुछ हिस्सों को कार्यान्वित करते हैं। ऊर्ध्वाधर प्रोटोटाइप मुख्य रूप से जटिल एल्गोरिदम के कार्यान्वयन में उपयोग किए जाते हैं।

XP विधि

XP हल्के (एजाइल), कुशल, कम जोखिम वाली, लचीली, पूर्वानुमानित, वैज्ञानिक और मनोरंजक सॉफ्टवेयर विकास विधि है। अन्य विधियों की तुलना में, सबसे बड़ा अंतर इसमें है:

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

एकीकृत प्रक्रिया (UP) विधि

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

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

और जानें

यह पोस्ट Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 और 繁體中文 में भी उपलब्ध है।