1
SOFTWARE ENGINEERING AND THE SDLCसॉफ्टवेयर इंजीनियरिंग और एसडीएलसी
SOFTWARE ENGINEERING is a systematic approach to the development, operation, maintenance and retirement of software. Its goal is to take development closer to science and away from art.
- The SDLC, SYSTEM DEVELOPMENT LIFE CYCLE, covers every phase from conception to maintenance
- Its basic activities are REQUIREMENT ANALYSIS, DESIGN, CODING and TESTING
- A FEASIBILITY STUDY comes first. It puts forward a business proposal with a general plan and cost estimates
- The methodologies are WATERFALL, PROTOTYPING and the SPIRAL model, often combined into a hybrid
- एसडीएलसी, अर्थात् सिस्टम डेवलपमेंट लाइफ साइकिल, संकल्पना से रखरखाव तक हर चरण को समेटता है
- इसकी मूल गतिविधियाँ हैं: आवश्यकता विश्लेषण, डिजाइन, कोडिंग और परीक्षण
- पहले व्यवहार्यता अध्ययन होता है। यह सामान्य योजना और लागत अनुमानों के साथ व्यावसायिक प्रस्ताव रखता है
- पद्धतियाँ हैं: वॉटरफॉल, प्रोटोटाइपिंग और स्पाइरल मॉडल, जिन्हें प्रायः मिलाकर संकर बनाया जाता है
2
THE WATERFALL MODELवॉटरफॉल मॉडल
The WATERFALL is the classic SDLC method. It is LINEAR and SEQUENTIAL, with distinct goals for each phase.
- FEASIBILITY STUDY produces the feasibility report
- ANALYSIS produces the requirements document; DESIGN produces the system design document
- CODING produces the programs; TESTING produces the test plan and reports; then comes MAINTENANCE
- VERIFICATION AND VALIDATION follow each phase
- Once a phase is complete, development moves on with NO TURNING BACK
- व्यवहार्यता अध्ययन व्यवहार्यता रिपोर्ट देता है
- विश्लेषण आवश्यकता दस्तावेज देता है; डिजाइन सिस्टम डिजाइन दस्तावेज देता है
- कोडिंग प्रोग्राम देती है; परीक्षण परीक्षण योजना और रिपोर्ट देता है; फिर रखरखाव आता है
- हर चरण के बाद सत्यापन और वैधीकरण होता है
- एक चरण पूरा होने पर विकास बिना लौटे आगे बढ़ता है
3
REQUIREMENTS AND THE SRSआवश्यकताएँ और एसआरएस
REQUIREMENT ANALYSIS finds the problem the software must solve. The emphasis is on WHAT is needed, not HOW.
- The analyst elicits the needs by interacting with people in the client organisation
- Where software automates a manual procedure, you learn most needs by observing current practice
- The sources are documents and manuals, minutes of meetings, answers to queries, and filled-in questionnaires
- The analyst must organise this, check it for consistency and completeness, and resolve contradictions
- The output is the SRS, SOFTWARE REQUIREMENT SPECIFICATION
- विश्लेषक ग्राहक संगठन के लोगों से संवाद करके आवश्यकताएँ निकालता है
- जहाँ सॉफ्टवेयर किसी हस्तचालित प्रक्रिया को स्वचालित करता है, वहाँ आप वर्तमान व्यवहार देखकर अधिकतर आवश्यकताएँ जानते हैं
- स्रोत हैं: दस्तावेज और नियमावलियाँ, बैठकों के कार्यवृत्त, प्रश्नों के उत्तर, और भरी हुई प्रश्नावलियाँ
- विश्लेषक को इन्हें व्यवस्थित करना, संगति और पूर्णता के लिए जाँचना, और विरोधाभास सुलझाने होते हैं
- परिणाम एसआरएस, अर्थात् सॉफ्टवेयर रिक्वायरमेंट स्पेसिफिकेशन, है
4
PROTOTYPING AND THE SPIRAL MODELप्रोटोटाइपिंग और स्पाइरल मॉडल
- PROTOTYPING counters the waterfall's need to freeze requirements early
- A THROWAWAY PROTOTYPE is built from the known requirements, so the client gets the actual feel of the system
- BOEHM proposed the SPIRAL MODEL. It combines the classic life cycle with prototyping, and adds RISK ANALYSIS
- Its four quadrants are PLANNING, RISK ANALYSIS, ENGINEERING and CUSTOMER EVALUATION
- Each loop builds a more complete version from the centre outwards; the customer evaluates it
- Each loop's risk analysis gives a GO or NO-GO decision; if the risk is too great, the project ends
- प्रोटोटाइपिंग वॉटरफॉल की उस बाध्यता का उत्तर है कि आवश्यकताएँ जल्दी स्थिर करनी पड़ें
- ज्ञात आवश्यकताओं से थ्रोअवे प्रोटोटाइप बनाया जाता है, ताकि ग्राहक को प्रणाली का वास्तविक अनुभव मिले
- बोहेम ने स्पाइरल मॉडल प्रस्तावित किया। यह पारंपरिक जीवन चक्र और प्रोटोटाइपिंग को मिलाता है, और जोखिम विश्लेषण जोड़ता है
- इसके चार चतुर्थांश हैं: योजना, जोखिम विश्लेषण, इंजीनियरिंग और ग्राहक मूल्यांकन
- हर चक्कर केंद्र से बाहर की ओर अधिक पूर्ण संस्करण बनाता है; ग्राहक उसका मूल्यांकन करता है
- हर चक्कर का जोखिम विश्लेषण आगे बढ़ने या रुकने का निर्णय देता है; जोखिम बहुत बड़ा हो तो परियोजना समाप्त होती है