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]
- 0.0.1 System Analysis and Design: Software Development Life Cycle (SDLC)
- 0.0.2 SDLC (Software Development Life Cycle) क्या है?
- 0.0.3 SDLC के 7 मुख्य चरण (Phases of SDLC)
- 0.0.4 Requirement Analysis (आवश्यकता विश्लेषण)
- 0.0.5 Feasibility Study (संभाव्यता अध्ययन)
- 0.0.6 System Design (सिस्टम डिज़ाइन)
- 0.0.7 Development (डेवलपमेंट / कोडिंग चरण)
- 0.0.8 Testing (परीक्षण चरण)
- 0.0.9 Deployment (परिनियोजन / डिलीवरी चरण)
- 0.0.10 Maintenance & Support (रखरखाव और सपोर्ट)
- 0.0.11 SDLC मॉडल्स (Types of SDLC Models)
- 0.0.12 Waterfall Model (वॉटरफॉल मॉडल)
- 0.0.13 Agile Model (एजाइल मॉडल)
- 0.0.14 Spiral Model (स्पाइरल मॉडल)
- 0.0.15 V-Model (Verification & Validation Model)
- 0.0.16 निष्कर्ष (Conclusion)
- 1
System Analysis and Design (SAD)
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 स्टेप पर अधिक जानकारी चाहिए?
यहाँ है एक स्पष्ट और परीक्षा-उपयोगी नोट्स-शैली में गाइड — System Analysis and Design के अंतर्गत Software Development Life Cycle (SDLC) / System Development Life Cycle, उसके Phases और Models पर — हिंदी में समझाया गया, English terms के साथ।
System Analysis and Design (SAD)
SDLC – Software/System Development Life Cycle क्या है?
SDLC एक structured process है जिसके माध्यम से कोई भी Software या System को plan, design, develop, test, deploy और maintain किया जाता है।
SDLC के Phases (चरण):
चरण (Phase) | कार्य (Function) |
---|---|
ग्राहक की ज़रूरतें समझी जाती हैं | |
Project संभव है या नहीं, इसका विश्लेषण | |
Software का Blueprint तैयार किया जाता है | |
प्रोग्रामिंग की जाती है | |
Bugs, errors की जाँच की जाती है | |
System को client या user को दिया जाता है | |
समय-समय पर सुधार और अपडेट किए जाते हैं |
SDLC Models (Software Development Life Cycle Models)
अलग-अलग Projects के लिए अलग-अलग SDLC Models उपयोग किए जाते हैं। नीचे कुछ महत्वपूर्ण Models दिए गए हैं:
Waterfall Model (झरना मॉडल)
Sequential model – हर फेज़ के बाद अगला शुरू होता है
Use when requirements are fixed
Steps:
- Requirement → Design → Coding → Testing → Deployment → Maintenance
Simple but rigid (flexibility नहीं है)
V-Model (Verification & Validation)
Testing parallel चलती है development के साथ
Better error detection than Waterfall
Mapping:
- Requirements ↔ Acceptance Testing
- Design ↔ System Testing
- Coding ↔ Unit Testing
Incremental Model
Product छोटे-छोटे टुकड़ों (increments) में develop होता है
Use when product को जल्दी market में लाना हो
e.g. V1 → V2 → V3…
Iterative Model
Same system को बार-बार सुधार कर बनाया जाता है
Feedback-based improvement
Best for: Projects where final product is not clearly defined at start
Spiral Model
Risk analysis + iterative development
Complex, expensive but ideal for large, risky projects
Four Phases per Spiral:
- Planning → Risk Analysis → Engineering → Evaluation
Agile Model
सबसे आधुनिक तरीका — flexibility + fast delivery
Work in Sprints (1-4 weeks)
Constant customer collaboration
Best for: Changing requirements, fast delivery, customer involvement
SDLC Models Comparison Table
Model | Flexibility | Cost | Delivery Speed | Risk Handling |
---|---|---|---|---|
Waterfall | Low | Low | Slow | Poor |
V-Model | Low | Medium | Slow | Better |
Incremental | Medium | Medium | Fast | Moderate |
Iterative | High | Medium | Medium | Good |
Spiral | Very High | High | Slow | Excellent |
Agile | Very High | Medium | Very Fast | Good |
SDLC से जुड़े कुछ Interview/Exam Questions (GATE, UGC-NET, BCA, MCA)
- Waterfall model में drawback क्या है?
- Agile और Spiral में अंतर बताइए।
- SDLC का सबसे flexible model कौन सा है?
- Testing किस-किस phase में होती है?
- Real-world में Agile model का उदाहरण दीजिए।
Bonus (अगर आप चाहें):
मैं बना सकता हूँ:
SDLC Chart (Color-coded Visual Map)
Hindi/English Bilingual Summary Notes (PDF)
YouTube वीडियो स्क्रिप्ट (Lecture Style)
Short quiz (10 MCQs with answers)
बताइए किस Format में चाहिए – मैं तुरंत तैयार कर देता हूँ