Prototype
एक प्रोटोटाइप एक उत्पाद का एक प्रारंभिक मॉडल या नमूना है जिसका प्रयोग एक नए डिजाइन या अवधारणा का परीक्षण और मूल्यांकन करने के लिए किया जाता है। परियोजना की विशिष्ट आवश्यकताओं के आधार पर विभिन्न प्रकार की सामग्रियों और विधियों का उपयोग करके प्रोटोटाइप बनाए जा सकते हैं।
प्रोटोटाइप मॉडल में निम्नलिखित फेज होते हैं-
1 Requirement Gathering
Prototype मॉडल का सबसे पहला स्टेप रिक्वायरमेंट को एकत्रित करना होता है वह ऐसे तो end user को रिक्वायरमेंट का बहुत खास पता नहीं होता लेकिन जो प्रमुख रिक्वायरमेंट्स है उनको विस्तार पूर्वक डिफाइन कर लिया जाता है।
2. Build the Initial Prototype
इस फेज में initial prototype का निर्माण किया जाता है इसमें कुछ बेसिक्स रिक्वायरमेंट्स को प्रदर्शित किया जाता है तथा यूजर इंटरफेस उपलब्ध किया जाता है।
3. Review the prototype
जब प्रोटोटाइप का निर्माण पूरा हो जाता है तो end user या कस्टमर को इसे प्रस्तुत किया जाता है और उनसे इस प्रोटोटाइप के बारे में फीडबैक लिया जाता है इस फीडबैक का का प्रयोग सिस्टम को और बेहतर बनाने में किया जाता है और प्रोटोटाइप में जो संभव परिवर्तन हो सके वह किया जाता है।
4. Revise and improve the prototype
जब एंड यूजर तथा कस्टमर से फीडबैक लिया जाता है तो फीडबैक के आधार पर प्रोटोटाइप को बेहतर किया जाता है अगर कस्टमर प्रोटोटाइप से संतुष्ट है नहीं है तो एक नए प्रोटोटाइप का निर्माण किया जाता है और यह प्रक्रिया तब तक चलती रहती है जब तक कि कस्टमर को अपनी इच्छा अनुसार प्रोटोटाइप नहीं मिलता।
एजाइल मॉडल क्या है?
एजाइल मॉडल तथा इंक्रीमेंटल मॉडल का एक कंबीनेशन है अर्थात यह इंटरएक्टिव तथा इंक्रीमेंटल सर्टिफिकेशन पर ध्यान दिया जाता है पहले के समय में इंटरएक्टिव वॉटरफॉल मॉडल का प्रयोग सॉफ्टवेयर को बनाने में किया जाता था, परंतु आज के समय में बहुत सी परेशानियों का सामना करना पड़ता है सबसे बड़ी परेशानी यह है कि सॉफ्टवेयर डेवलपमेंट के बीच में कस्टमर सबके घर में परिवर्तन करने को कहा जाता है, इन परिवर्तनों को करने में बहुत अधिक समय तथा पैसा लगता है, तो इन सब कमियों को पूरा करने के लिए 1990 के दशक में एजाइल मॉडल को प्रस्तावित किया गया एजाइल मॉडल को मुख्यतः सॉफ्टवेयर डेवलपमेंट के बीच में चेंज करने के लिए ही बनाया गया था जिससे कि सब रिवर प्रोजेक्ट को जल्दी से पूरा किया जा सके।
एजाइल मॉडल में निम्नलिखित चरण होते हैं-
1. Requirement gathering 2. Requirement analysis
3. Design
4. Coding
5. Unit testing
6. Acceptance testing
एजाइल मॉडल में सॉफ्टवेयर प्रोडक्ट को छोटे इंक्रीमेंटल भागों में बांट दिया जाता है इसमें सबसे पहले सबसे छोटे भागों को विकसित किया जाता है और उसके बाद उससे सबसे बड़े प्रत्येक इंक्रीमेंटल को इंटरेक्शन पर विकसित किया जाता है प्रत्येक इंटरेक्शन को छोटा रखा जाता है जिससे कि उसे आसानी से मैनेज किया जा सके तथा उसे 2, 3 हफ्तों में पूरा किया जा सके एक समय में केवल एक ही इंटरेक्शन को प्लान डिवेलप तथा deploy किया जाता है।
एजाइल के सिद्धांत निम्नलिखित हैं-
1. Software development के समय customer के साथ contact बनाए रखने के लिए तथा कस्टमर की रिक्वायरमेंट को समझने के लिए development team में एक customer representative होता है।
2. Customer की requirements को समझने के लिए working software का demo दिया जाता है अर्थात इसमें सिर्फ डॉक्यूमेंटेंशन पर निर्भर नहीं रहते हैं।
3. सॉफ्टवेयर के इंक्रीमेंटल वर्जन को कुछ हफ्तों बाद customer representative को deliver करना पड़ता है।
4. इस model में यह सलाह दी जाती है कि development team का size छोटा 5 से 9 लोग होना चाहिए जिससे कि टीम मेंबर आपस में फेस टू फेस कम्युनिकेट कर सके।
5. Agile model इस बात पर फोकस करता है कि सॉफ्टवेयर मैं जब भी कोई चेंज करना हो तो उसे जल्दी से पूरा कर लिया जाए।
6. Agile development में दो Programmers एक साथ काम करते हैं । एक programmer कोडिंग करता है तो दूसरा उस code को review करता है। दोनों प्रोग्रामस अपने कामों को बदलते रहते हैं अर्थात कभी कोई कोडिंग करता है, तो कभी कोई review करता है।
एजाइल मॉडल के लाभ (Advantage of Agile Model)-
इस मॉडल के लाभ निम्नलिखित है —
1. इसमें दो Programmers एक साथ काम करते हैं जिससे कोडिंग बहुत ही अच्छी होती है तथा उसमें बहुत ही कम गलतियां होती हैं।
2. इसमें सॉफ्टवेयर प्रोजेक्ट बहुत कम समय में पूरा कर लिया जाता है।
3. इसमें customer representative को प्रत्येक iteration का idea होता है जिससे वह रिक्वायरमेंट को आसानी से चेंज कर सकते हैं।
4. यह सॉफ्टवेयर डेवलपमेंट की बहुत ही वास्तविक Approach है।
5. इसमें टीमवर्क पर ध्यान दिया जाता है ।
6. इसमें नियम बहुत कम होतेे हैं और documentation भी ना के बराबर होता है।
7. इसमें प्लानिंग की जरूरत नहीं पड़ती है।
8. इसे आसानी से मैनेज किया जा सकता है।
9. यह developer को flexibility प्रदान करता है।
एजाइल मांडल से हानि (Disadvantage of Agile Model)
इस मॉडल की हानियां निम्नलिखित हैं-
1. यह complex depending को handle नहीं कर पाता है ।
2. इसमें formal documentation की कमी की वजह से development में confusion हो जाता है।