System Analysis and Design: Software Development life Cycle or System Development Life Cycle – SDLC phases-sdlc models
System Analysis and Design: Software Development life Cycle or System Development Life Cycle – SDLC phases-sdlc models
Contents [hide]
- 1 System Analysis and Design: Software Development Life Cycle (SDLC)
- 2 SDLC (Software Development Life Cycle) क्या है?
- 3 SDLC के 7 मुख्य चरण (Phases of SDLC)
- 4 Requirement Analysis (आवश्यकता विश्लेषण)
- 5 Feasibility Study (संभाव्यता अध्ययन)
- 6 System Design (सिस्टम डिज़ाइन)
- 7 Development (डेवलपमेंट / कोडिंग चरण)
- 8 Testing (परीक्षण चरण)
- 9 Deployment (परिनियोजन / डिलीवरी चरण)
- 10 Maintenance & Support (रखरखाव और सपोर्ट)
- 11 SDLC मॉडल्स (Types of SDLC Models)
- 12 Waterfall Model (वॉटरफॉल मॉडल)
- 13 Agile Model (एजाइल मॉडल)
- 14 Spiral Model (स्पाइरल मॉडल)
- 15 V-Model (Verification & Validation Model)
- 16 निष्कर्ष (Conclusion)
System Analysis and Design: Software Development Life Cycle (SDLC)
SDLC (Software Development Life Cycle) क्या है?
Software Development Life Cycle (SDLC) एक प्रक्रिया है, जिसका उपयोग सॉफ़्टवेयर को डिज़ाइन, डेवलप, टेस्ट और डिलीवर करने के लिए किया जाता है। यह सुनिश्चित करता है कि सॉफ़्टवेयर उच्च गुणवत्ता, कम लागत और समय पर तैयार हो।
SDLC के 7 मुख्य चरण (Phases of SDLC)
Requirement Analysis (आवश्यकता विश्लेषण)
ग्राहकों की जरूरतें और बिज़नेस आवश्यकताओं को समझा जाता है।
Stakeholders से मीटिंग, सर्वे, और डाक्यूमेंटेशन तैयार किया जाता है।
Example: बैंकिंग ऐप डेवलप करने से पहले, ग्राहकों की ज़रूरतें समझी जाएंगी, जैसे – बैलेंस चेक करना, पैसे ट्रांसफर करना, बिल पेमेंट आदि।
Feasibility Study (संभाव्यता अध्ययन)
यह जाँच की जाती है कि प्रोजेक्ट व्यावसायिक, तकनीकी और आर्थिक रूप से संभव है या नहीं।
पाँच प्रमुख प्रकार होते हैं:
- conomic Feasibility (लागत और लाभ का आकलन)
- Technical Feasibility (तकनीक का मूल्यांकन)
- Operational Feasibility (सिस्टम उपयोगकर्ता के अनुकूल है या नहीं)
- Legal Feasibility (कानूनी अनुपालन)
- Schedule Feasibility (समयसीमा का निर्धारण)
System Design (सिस्टम डिज़ाइन)
सॉफ़्टवेयर का आर्किटेक्चर, डेटा फ्लो, UI डिज़ाइन और डेटाबेस स्ट्रक्चर डिज़ाइन किया जाता है।
दो प्रकार होते हैं:
- High-Level Design (HLD) – सिस्टम का ओवरव्यू (Modules, Data Flow)
- Low-Level Design (LLD) – प्रत्येक मॉड्यूल की डिटेल्ड डिज़ाइन
Example: बैंकिंग ऐप में लॉगिन, फंड ट्रांसफर, स्टेटमेंट, और कस्टमर सपोर्ट मॉड्यूल डिजाइन किए जाएंगे।
Development (डेवलपमेंट / कोडिंग चरण)
प्रोग्रामिंग लैंग्वेज का उपयोग करके सिस्टम कोड किया जाता है।
यह सबसे लंबा चरण होता है, जहां Python, Java, C++, JavaScript जैसी लैंग्वेज का उपयोग किया जाता है।
Example: बैंकिंग ऐप का बैकएंड Java में और फ्रंटएंड React.js में डेवलप किया जा सकता है।
Testing (परीक्षण चरण)
डेवलप किए गए सॉफ़्टवेयर की गुणवत्ता और बग्स की जांच की जाती है।
विभिन्न प्रकार के टेस्टिंग:
- Unit Testing – हर मॉड्यूल की टेस्टिंग
- Integration Testing – सभी मॉड्यूल को मिलाकर टेस्ट करना
- System Testing – संपूर्ण सॉफ़्टवेयर का परीक्षण
- User Acceptance Testing (UAT) – ग्राहक के अनुसार कार्य कर रहा है या नहीं
Deployment (परिनियोजन / डिलीवरी चरण)
सॉफ़्टवेयर को लाइव सर्वर पर तैनात (Deploy) किया जाता है।
दो प्रकार होते हैं:
- Beta Deployment: सीमित उपयोगकर्ताओं के लिए
- Full Deployment: सभी उपयोगकर्ताओं के लिए
Example: Google Play Store और Apple App Store पर बैंकिंग ऐप को लॉन्च किया जाता है।
Maintenance & Support (रखरखाव और सपोर्ट)
बग फिक्स, सिक्योरिटी अपडेट, और नए फीचर्स ऐड किए जाते हैं।
तीन प्रकार होते हैं:
- Corrective Maintenance – बग्स को ठीक करना
- Adaptive Maintenance – नए हार्डवेयर / सॉफ़्टवेयर के अनुकूल बनाना
- Perfective Maintenance – नए फीचर्स जोड़ना
Example: बैंकिंग ऐप में बाद में UPI सपोर्ट ऐड किया जाता है।
SDLC मॉडल्स (Types of SDLC Models)
Waterfall Model (वॉटरफॉल मॉडल)
स्टेप-बाय-स्टेप सीक्वेंशियल मॉडल
हर चरण पूरा होने के बाद ही अगला चरण शुरू होता है
सरल लेकिन बदलाव करना कठिन
Best For: छोटे प्रोजेक्ट्स जहां आवश्यकताएँ स्थिर हों।
Agile Model (एजाइल मॉडल)
सॉफ्टवेयर को छोटे-छोटे Sprint में डेवलप किया जाता है।
ग्राहक की प्रतिक्रिया के अनुसार सुधार किया जाता है।
तेज़ और लचीला विकास प्रक्रिया।
Best For: बड़े और डायनामिक प्रोजेक्ट्स (जैसे मोबाइल ऐप्स, वेब एप्लिकेशन)।
Spiral Model (स्पाइरल मॉडल)
जोखिम (Risk) को कम करने के लिए हर चरण को कई बार दोहराया जाता है।
हर चक्र में प्लानिंग, डिज़ाइन, कोडिंग, और टेस्टिंग होती है।
Best For: बड़े, जटिल, और जोखिमपूर्ण प्रोजेक्ट्स।
V-Model (Verification & Validation Model)
यह वॉटरफॉल मॉडल का उन्नत संस्करण है।
हर डेवलपमेंट स्टेज के साथ Testing Stage भी होता है।
Best For: जब उच्च गुणवत्ता और सख्त टेस्टिंग की आवश्यकता हो।
निष्कर्ष (Conclusion)
SDLC सॉफ़्टवेयर विकास की प्रक्रिया को व्यवस्थित और कुशल बनाता है।
सही SDLC मॉडल चुनना महत्वपूर्ण है क्योंकि यह प्रोजेक्ट की सफलता को प्रभावित करता है।
Agile और Waterfall मॉडल सबसे अधिक उपयोग किए जाते हैं।
क्या आपको किसी विशेष मॉडल या SDLC स्टेप पर अधिक जानकारी चाहिए?