SDLC kya hai-दोस्तों, इस ब्लॉग में हमनें Software Development Life Cycle और उनके Phases के बारे में बताया है। दोस्तों, सॉफ्टवेयर इंजीनियरिंग में सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल या SDLC को जानना बहुत ही महत्वपूर्ण है। आज का यह ब्लॉग उन सभी लोगो के लिए है जो किसी कंपनी में कंप्यूटर साइंस के पद पर या सॉफ्टवेयर इंजीनियर के पद पर जॉब करना चाहते है या कर रहे है या फिर पढ़ाई कर रहे है उन सभी के लिए इसे अच्छे से जानना बहुत आवश्यक है।
किसी भी सॉफ्टवेयर को बनने के लिए बहुत सारे स्टेजों और प्रक्रियाओं से होकर गुजरना पड़ता है जिसे सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल कहते है, इसे दूसरी परिभाषा में कुछ इस तरीके से भी परिभाषित कर सकते है कि जब भी किसी सॉफ्टवेयर और एप्लीकेशन को create किया जाता है तब उसको बनाने के लिए कुछ स्टेप्स होते है जिन्हें फॉलो करना आवश्यक होता है। आखिर ये steps या प्रक्रिया क्या है जिनको पालन करने से एक सॉफ्टवेयर के अच्छे और विकसित होने की संभावना बढ़ जाती है इनके बारे में नीचे software development process steps में संछेप में दिया गया है।
SDLC Full Form: Software Development Life Cycle. हिंदी में यह सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल होता है।
SDLC kya hai–एसडीएलसी क्या है?
Software Development Life Cycle एक Structure है एक Standard है या एक तरीके का Process है जो एक सॉफ्टवेयर को डिज़ाइन करने के लिए, प्लान करने के लिए और टेस्ट करने के कि लिए सॉफ्टवेयर कंपनियां इस्तेमाल करती है जिसकी मदद से कम लागत में, कम समय में बहुत ही High Quality के सॉफ्टवेयर को Develop किया जाता है। सॉफ्टवेयर Development के Process में SDLC के 7 चरणों (7 Phases of SDLC ) का पालन किया जाता है इन 7 चरणों में सॉफ्टवेयर पर अलग-अलग तरीको से काम होता है।

आइये, इसे एक उदाहरण से समझते है जैसे, गाड़ी बनाने वाली कंपनी में डायरेक्ट कोई गाड़ी नहीं बनती बल्कि उसको बनाने से पहले उसकी प्लानिंग की जाती है उसकी डिजाइनिंग, टेस्टिंग और मेंटेंनेंस आदि चीजों पर ध्यान दिया जाता है कंपनी में इन कामों को करने के लिए स्टेज बने होते है कही पर गाड़ी की बॉडी होती है तो कहीं पर इंजन, लाइट और दरवाज़े आदि लगते है। ठीक इसी तरीके से सॉफ्टवेयर बनाने के लिए भी स्टेज होते है जहाँ पर सॉफ्टवेयर में अलग-अलग काम किया जाता है इस तरीके से सॉफ्टवेयर बनाने के लिए एक प्रोसेस बनती है जिसे SDLC नाम दिया गया है।
Software Development Life Cycle में सात महत्वपूर्ण स्टेज होते है जिन्हे अकसर 7 Phases of SDLC और 7 Stages of system development life cycle भी कहते है।
Stage-1: Planning and Requirements
प्लानिंग SDLC का सबसे पहला और महत्वपूर्ण चरण है इसमें प्लानिंग होती है प्रोजेक्ट में लगने वाले पैसों की, प्रोजेक्ट को बनाने में लगने वाले समय की, उसके क्वालिटी और मेंटेनेंस की, प्रोजेक्ट को बनाने के लिए टीम और उसके मैनेजर की इन सभी पहलुओं पर बहुत बारीकी से विचार और परामर्श किया जाता है।
इसके अलावा Planning Phase में एक अच्छा प्रोडक्ट और सॉफ्टवेयर को बनाने से सम्बंधित अलग-अलग डिपार्टमेंट से परामर्श लिया जाता है जानकारी एकत्रित की जाती है। प्रोजेक्ट को बनाने में रिस्क, हाई क्वालिटी प्रोडक्ट और टेक्नीकल प्रोब्लेम्स के पहलु को गौर से देखा जाता है। SDLC का यह Phase वहुत ही इम्पोर्टेन्ट होता है क्युकि इसी चरण में पुरे प्रोडक्ट को बनाने का स्ट्रक्चर तैयार किया जाता है।
Stage-2: Define Requirements
प्लानिंग स्टेज में requirements के बारे में विचार या विश्लेषण किया जाता है परन्तु SDLC के Phase 2 में उन सभी Requirements की Documents और फाइल बनायी जाती है जिसे मैनेजमेंट को सौपा जाता है मैनेजमेंट के सदस्यों द्वारा अनुमति मिलने के बाद इस पर काम किया जाता है। इस फाइल में उन सभी Requirements के बारे में लिखा होता है जो प्रोडक्ट को बनाने में इस्तेमाल होने वाले है।
उदाहरण के तौर पर, अगर प्रोडक्ट ऑनलाइन शॉपिंग वेबसाइट वेबसाइट बनाना है तब उस वेबसाइट को बनाने के लिए कितने सर्वर की जरुरत होगी, क्या-क्या paid सॉफ्टवेयर होंगे, ऑनलाइन शॉपिंग में इस्तेमाल होने वाले पेमेंट गेटवे के चार्जेज क्या होंगे इन सभी को डॉक्यूमेंट किया जाता है।
Stage-3: Design (SDLC kya hai)
Design Phase वह चरण है जिसमें एप्लीकेशन के आर्किटेक्चर को डिज़ाइन किया जाता है इस चरण में एप्लीकेशन का यूजर इंटरफ़ेस बनता है। यह चरण उपयोगकर्ता के हिसाब से काफी महत्वपूर्ण होता है क्युकी इसमें इंटरफ़ेस पर काम होता है। इंटरफ़ेस का मतलब होता है कि एप्लीकेशन उपयोगकर्ता को कैसी दिखेगी क्या उपयोगकर्ता को एप्लीकेशन का डिज़ाइन पसंद आएगा क्या इंटरफ़ेस यूजर-फ्रैंडली है इन सब मॉडल को इस चरण में डिज़ाइन किया जाता है। इसके अलावा डिज़ाइन फेज पर बहुत सारे काम होते है जिनमें से कुछ महत्वपूर्ण पॉइंट्स के बारे में नीचे दिया गया है।
- एप्लीकेशन के आर्किटेक्चर को यूजर-फ्रेंडली बनाना सबसे महत्वपूर्ण कार्य होता है अगर यूजर इंटरफ़ेस सरल और अच्छा होगा तो यूजर को एप्लीकेशन पर काम करने में आसानी होगी इसलिए एप्लीकेशन के आर्किटेक्चर पर खास ध्यान दिया जाता है।
- दूसरा सबसे महत्वपूर्ण पॉइंट्स होता है एप्लीकेशन के प्लेटफॉर्म को निर्धारित करना। एप्लीकेशन को कंप्यूटर के इस्तेमाल के लिए तैयार करना है या मोबाइल के लिए तैयार करना है इनके हिसाब से प्लेटफॉर्म बनाया जाता है जैसे Android Platform, Apple और Windows आदि।
- इस फेज पर एप्लीकेशन के सिक्योरिटी को लेकर भी काम किया जाता है। एप्लीकेशन के स्टोरेज को सिक्योर करना, पासवर्ड प्रोटेक्ट एप्लीकेशन तैयार करना और एप्लीकेशन पर प्रोफेशनल वेंडर से SSL सर्टिफिकेट को कॉन्फ़िगर करना और एंटीवायरस आदि ।
- एप्लीकेशन के लिए डेटाबेस बनाने के साथ-साथ इस फेज में टेक्नीकल प्रॉब्लम पर भी खास ध्यान दिया जाता है। नेटवर्किंग, सर्वर, नेटवर्किंग प्रोटोकॉल, वेबसर्वर जैसे Nginx और Apache को configure किया जाता है।
Stage-4:Coding or Implementation
डिज़ाइन Phase में एप्लीकेशन का पूरा डिज़ाइन तैयार होने के बाद कोडिंग फेज में एप्लीकेशन का पूरा कोड लिखा जाता है अगर एप्लीकेशन छोटी है तब कुछ ही Developers कोडिंग पर काम करते है लेकिन अगर एप्लीकेशन बड़ी है तब एप्लीकेशन को कोडिंग के हिसाब से अलग-अलग टीमों को बाँटा जाता है कोई टीम Database पर काम करती है तो कोई टीम डिज़ाइन पर और किसी टीम को प्रोगरामिंग या कोड लिखना होता है।
इसमें प्रोग्रामिंग लैंग्वेज जैसे Java, Python और स्क्रिप्टिंग लैंग्वेज जैसे PHP, Javascript और अन्य लैंग्वेज जैसे HTML और CSS से एप्लीकेशन पर पूरी कोडिंग और डिज़ाइन होती है। कोडिंग पर काम इसी चरण में होता है। Developers एप्लीकेशन के आर्किटेक्चर के हिसाब से कोड को लिखते है कोडिंग के अलावा Developers एप्लीकेशन को compile करने के लिए और भी कई Tools का इस्तेमाल करते है। इस फेज को Build Phase भी बोलते है।
Stage-5:Testing (SDLC kya hai)
जब Developers एप्लीकेशन को कोडिंग करके पूरी तरह तैयार कर लेता है तब इसे टेस्ट किया जाता है। Testing Phase में एप्लीकेशन को कई बार टेस्ट किया जाता है क्युकि इसके बाद एप्लीकेशन को सीधे उपयोगकर्ता इस्तेमाल करेंगे या जिनके लिए एप्लीकेशन बनायीं जाती है जैसे Customer या फिर कोई कंपनी जिसने एप्लीकेशन को खरीदा है आदि।
टेस्ट करने पर एप्लीकेशन में कोई bug मिलता है तो उसे सुधारा जाता है Stakeholder से एप्लीकेशन का feedback लिया जाता है अगर कुछ सुझाव है तो उस पर काम होता है। कंपनी में दो तरह के स्टेज होते है एक वह होता है जहाँ एप्लीकेशन को टेस्ट किया जाता है जिन्हे Staging servers कहते है और दूसरा स्टेज एप्लीकेशन के पूरी तरह से तैयार होने पर Production servers का होता है।
Stage-6:Deployment (SDLC kya hai)
पिछले सभी चरणों में एप्लीकेशन पर जो काम किया गया है उसे SDLC के Phase 6 में Deploy किया जाता है। Deployment Phase पर एप्लीकेशन या software को उपयोगकर्ता के लिए deploy किया जाता है जिसे यूजर एक्सेस करता है और एप्लीकेशन पर काम करता है। Deployment phase में एप्लीकेशन से सम्बंधित यूजर के लिए डॉक्यूमेंट बनाया जाता है जैसे एप्लीकेशन को चलाने के निर्देश और एप्लीकेशन के manuals आदि। SDLC के phase 6 के बाद यूजर एप्लीकेशन को इस्तेमाल करता है अब पूरा सॉफ्टवेयर बनकर तैयार हो चूका है।
Stage-7:Maintenance
इस Phase में यूजर को एप्लीकेशन या सॉफ्टवेयर को चलाने में जो प्रॉब्लम आती है उसे ठीक किया जाता है। एप्लीकेशन का maintenance का पूरा काम इस phase पर होता है इस फेज पर हमेशा काम होते रहता है क्युकि एप्लीकेशन को upgrade करना , version को चेंज करना, नए फीचर्स को add करना और नई टेक्नोलॉजी को एप्लीकेशन के साथ में मिलाना आदि काम इस phase पर होता है।
इसके अलावा SDLC के कुछ मॉडल्स और methodology है जिनमें से प्रमुख 5 मॉडल निम्नलिखित हैं।
- Waterfall Model
- Agile Model
- Lean Model
- Spiral Model
- DevOps
Q&A
यह भी पढ़े: मोबाइल का बैटरी बैकअप कैसे बढ़ाये? SSD क्या हैं? बिटकॉइन क्या है? क्रिप्टोकरेंसी क्या है? वाईफाई क्या है? इसके उपयोग क्या हैं? Web 3.0 क्या हैं?
“आशा करते हैं की आपको यह जानकारी अच्छी लगी होगी।आप हमें अपने सुझाव और शिकायत के लिये नीचे कमैंट्स बॉक्स मैं जानकारी दें सकते हैं।“
Hello Friends, My name is Pankaj I have almost 6 years of experience in the IT industry and 3+ years of experience in the software service industry. I thought to create a blog to provide information about the latest technology to everyone from my experience. I have made the MygoodLuck site for people to learn about technology in Hindi.